refresh kernel patches

SVN-Revision: 11195
lede-17.01
Gabor Juhos 2008-05-19 06:35:41 +00:00
parent 06b0688a47
commit d132c5f42c
24 changed files with 1308 additions and 1072 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,7 @@
--- linux-2.6.21.1.orig/arch/arm/boot/compressed/head-at91rm9200.S 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S
+++ linux-2.6.21.1/arch/arm/boot/compressed/head-at91rm9200.S 2007-05-28 12:52:16.000000000 +0200 ===================================================================
--- linux-2.6.21.7.orig/arch/arm/boot/compressed/head-at91rm9200.S
+++ linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S
@@ -61,6 +61,12 @@ @@ -61,6 +61,12 @@
cmp r7, r3 cmp r7, r3
beq 99f beq 99f
@ -13,8 +15,10 @@
@ Ajeco 1ARM : 1075 @ Ajeco 1ARM : 1075
mov r3, #(MACH_TYPE_ONEARM & 0xff) mov r3, #(MACH_TYPE_ONEARM & 0xff)
orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00) orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00)
--- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 1970-01-01 01:00:00.000000000 +0100 Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 13:09:54.000000000 +0200 ===================================================================
--- /dev/null
+++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -0,0 +1,160 @@ @@ -0,0 +1,160 @@
+/* +/*
+ * linux/arch/arm/mach-at91/board-vlink.c + * linux/arch/arm/mach-at91/board-vlink.c
@ -176,9 +180,11 @@
+ .init_irq = vlink_init_irq, + .init_irq = vlink_init_irq,
+ .init_machine = vlink_board_init, + .init_machine = vlink_board_init,
+MACHINE_END +MACHINE_END
--- linux-2.6.21.1.orig/arch/arm/mach-at91/Kconfig 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/Kconfig
+++ linux-2.6.21.1/arch/arm/mach-at91/Kconfig 2007-05-28 13:11:45.000000000 +0200 ===================================================================
@@ -96,6 +96,12 @@ --- linux-2.6.21.7.orig/arch/arm/mach-at91/Kconfig
+++ linux-2.6.21.7/arch/arm/mach-at91/Kconfig
@@ -96,6 +96,12 @@ config MACH_CHUB
help help
Select this if you are using Promwad's Chub board. Select this if you are using Promwad's Chub board.
@ -191,9 +197,11 @@
endif endif
# ---------------------------------------------------------- # ----------------------------------------------------------
--- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile
+++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200 ===================================================================
@@ -29,6 +29,7 @@ --- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile
+++ linux-2.6.21.7/arch/arm/mach-at91/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200) += board-kb920
obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o
obj-$(CONFIG_MACH_KAFA) += board-kafa.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o
obj-$(CONFIG_MACH_CHUB) += board-chub.o obj-$(CONFIG_MACH_CHUB) += board-chub.o
@ -201,7 +209,7 @@
# AT91SAM9260 board-specific support # AT91SAM9260 board-specific support
obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
@@ -51,6 +52,7 @@ @@ -51,6 +52,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o
led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o
led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o
led-$(CONFIG_MACH_KAFA) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
--- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 2007-05-28 13:33:41.000000000 +0200 ===================================================================
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 14:43:28.000000000 +0200 --- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c
@@ -61,7 +61,7 @@ +++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -61,7 +61,7 @@ static void __init vlink_map_io(void)
at91rm9200_initialize(18432000, AT91RM9200_PQFP); at91rm9200_initialize(18432000, AT91RM9200_PQFP);
/* Setup the LEDs */ /* Setup the LEDs */
@ -10,7 +11,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar
/* Setup the serial ports and console */ /* Setup the serial ports and console */
at91_init_serial(&vlink_uart_config); at91_init_serial(&vlink_uart_config);
@@ -81,10 +81,12 @@ @@ -81,10 +81,12 @@ static struct at91_usbh_data __initdata
.ports = 1, .ports = 1,
}; };
@ -23,7 +24,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar
static struct at91_mmc_data __initdata vlink_mmc_data = { static struct at91_mmc_data __initdata vlink_mmc_data = {
// .det_pin = AT91_PIN_PB27, // .det_pin = AT91_PIN_PB27,
@@ -108,18 +110,19 @@ @@ -108,18 +110,19 @@ static struct spi_board_info vlink_spi_d
#endif #endif
}; };
@ -46,7 +47,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar
static void __init vlink_board_init(void) static void __init vlink_board_init(void)
{ {
@@ -130,8 +133,8 @@ @@ -130,8 +133,8 @@ static void __init vlink_board_init(void
/* USB Host */ /* USB Host */
at91_add_device_usbh(&vlink_usbh_data); at91_add_device_usbh(&vlink_usbh_data);
/* USB Device */ /* USB Device */
@ -57,7 +58,7 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar
/* I2C */ /* I2C */
at91_add_device_i2c(); at91_add_device_i2c();
/* SPI */ /* SPI */
@@ -145,7 +148,7 @@ @@ -145,7 +148,7 @@ static void __init vlink_board_init(void
at91_add_device_mmc(0, &vlink_mmc_data); at91_add_device_mmc(0, &vlink_mmc_data);
#endif #endif
/* LEDs */ /* LEDs */
@ -66,10 +67,11 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c linux-2.6.21.1/ar
} }
MACHINE_START(VLINK, "FDL VersaLink") MACHINE_START(VLINK, "FDL VersaLink")
diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile linux-2.6.21.1/arch/arm/mach-at91/Makefile Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile
--- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200 ===================================================================
+++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 14:19:06.000000000 +0200 --- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile
@@ -52,7 +52,7 @@ +++ linux-2.6.21.7/arch/arm/mach-at91/Makefile
@@ -52,7 +52,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o
led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o
led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o
led-$(CONFIG_MACH_KAFA) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o
@ -78,9 +80,10 @@ diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile linux-2.6.21.1/arch/ar
obj-$(CONFIG_LEDS) += $(led-y) obj-$(CONFIG_LEDS) += $(led-y)
# VGA support # VGA support
diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/vlink_leds.c linux-2.6.21.1/arch/arm/mach-at91/vlink_leds.c Index: linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c
--- linux-2.6.21.1.orig/arch/arm/mach-at91/vlink_leds.c 1970-01-01 01:00:00.000000000 +0100 ===================================================================
+++ linux-2.6.21.1/arch/arm/mach-at91/vlink_leds.c 2007-05-28 14:41:03.000000000 +0200 --- /dev/null
+++ linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c
@@ -0,0 +1,105 @@ @@ -0,0 +1,105 @@
+/* +/*
+ * LED driver for Atmel AT91-based boards. + * LED driver for Atmel AT91-based boards.

View File

@ -1,5 +1,7 @@
--- linux-2.6.21.1.orig/arch/arm/mach-at91/gpio.c 2007-04-27 23:49:26.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/gpio.c
+++ linux-2.6.21.1/arch/arm/mach-at91/gpio.c 2007-05-28 15:30:48.000000000 +0200 ===================================================================
--- linux-2.6.21.7.orig/arch/arm/mach-at91/gpio.c
+++ linux-2.6.21.7/arch/arm/mach-at91/gpio.c
@@ -27,6 +27,7 @@ @@ -27,6 +27,7 @@
static struct at91_gpio_bank *gpio; static struct at91_gpio_bank *gpio;
@ -8,7 +10,7 @@
static inline void __iomem *pin_to_controller(unsigned pin) static inline void __iomem *pin_to_controller(unsigned pin)
@@ -71,9 +72,13 @@ @@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -22,7 +24,7 @@
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__raw_writel(mask, pio + PIO_PER); __raw_writel(mask, pio + PIO_PER);
@@ -130,10 +135,13 @@ @@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -36,7 +38,7 @@
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__raw_writel(mask, pio + PIO_ODR); __raw_writel(mask, pio + PIO_ODR);
@@ -151,10 +159,13 @@ @@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -50,7 +52,7 @@
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + PIO_PUDR); __raw_writel(mask, pio + PIO_PUDR);
__raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR));
@@ -262,6 +273,18 @@ @@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin)
} }
EXPORT_SYMBOL(at91_get_gpio_value); EXPORT_SYMBOL(at91_get_gpio_value);
@ -69,9 +71,11 @@
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
#ifdef CONFIG_PM #ifdef CONFIG_PM
--- linux-2.6.21.1.orig/drivers/char/Kconfig 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/drivers/char/Kconfig
+++ linux-2.6.21.1/drivers/char/Kconfig 2007-05-28 15:37:43.000000000 +0200 ===================================================================
@@ -1087,5 +1087,12 @@ --- linux-2.6.21.7.orig/drivers/char/Kconfig
+++ linux-2.6.21.7/drivers/char/Kconfig
@@ -1087,5 +1087,12 @@ config AT91_SPIDEV
The SPI driver gives user mode access to this serial The SPI driver gives user mode access to this serial
bus on the AT91RM9200 processor. bus on the AT91RM9200 processor.
@ -84,9 +88,11 @@
+ +
endmenu endmenu
--- linux-2.6.21.1.orig/drivers/char/Makefile 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/drivers/char/Makefile
+++ linux-2.6.21.1/drivers/char/Makefile 2007-05-28 15:38:11.000000000 +0200 ===================================================================
@@ -95,6 +95,7 @@ --- linux-2.6.21.7.orig/drivers/char/Makefile
+++ linux-2.6.21.7/drivers/char/Makefile
@@ -95,6 +95,7 @@ obj-$(CONFIG_TANBAC_TB0219) += tb0219.o
obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_TELCLOCK) += tlclk.o
obj-$(CONFIG_AT91_SPI) += at91_spi.o obj-$(CONFIG_AT91_SPI) += at91_spi.o
obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o
@ -94,8 +100,10 @@
obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_WATCHDOG) += watchdog/
obj-$(CONFIG_MWAVE) += mwave/ obj-$(CONFIG_MWAVE) += mwave/
--- linux-2.6.21.1.orig/drivers/char/vlink_giu.c 1970-01-01 01:00:00.000000000 +0100 Index: linux-2.6.21.7/drivers/char/vlink_giu.c
+++ linux-2.6.21.1/drivers/char/vlink_giu.c 2007-05-28 15:39:47.000000000 +0200 ===================================================================
--- /dev/null
+++ linux-2.6.21.7/drivers/char/vlink_giu.c
@@ -0,0 +1,256 @@ @@ -0,0 +1,256 @@
+/* +/*
+ * Driver for FDL Versalink GPIO + * Driver for FDL Versalink GPIO

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c 2007-05-28 15:53:31.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 15:58:46.000000000 +0200 ===================================================================
@@ -149,6 +149,33 @@ --- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c
+++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -149,6 +149,33 @@ static void __init vlink_board_init(void
#endif #endif
/* LEDs */ /* LEDs */
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.orig/drivers/mtd/devices/at91_dataflash.c 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.21.1/drivers/mtd/devices/at91_dataflash.c 2007-05-28 16:10:21.000000000 +0200 ===================================================================
@@ -173,7 +173,7 @@ --- linux-2.6.21.7.orig/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
@@ -173,7 +173,7 @@ static struct mtd_partition static_parti
}; };
#endif #endif
@ -9,9 +11,11 @@
#endif #endif
--- linux-2.6.21.1.orig/drivers/mtd/Kconfig 2007-05-28 12:22:09.000000000 +0200 Index: linux-2.6.21.7/drivers/mtd/Kconfig
+++ linux-2.6.21.1/drivers/mtd/Kconfig 2007-05-28 16:09:16.000000000 +0200 ===================================================================
@@ -157,6 +157,12 @@ --- linux-2.6.21.7.orig/drivers/mtd/Kconfig
+++ linux-2.6.21.7/drivers/mtd/Kconfig
@@ -162,6 +162,12 @@ config MTD_AFS_PARTS
for your particular device. It won't happen automatically. The for your particular device. It won't happen automatically. The
'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
@ -24,9 +28,11 @@
comment "User Modules And Translation Layers" comment "User Modules And Translation Layers"
depends on MTD depends on MTD
--- linux-2.6.21.1.orig/drivers/mtd/Makefile 2007-04-27 23:49:26.000000000 +0200 Index: linux-2.6.21.7/drivers/mtd/Makefile
+++ linux-2.6.21.1/drivers/mtd/Makefile 2007-05-28 16:09:55.000000000 +0200 ===================================================================
@@ -12,6 +12,7 @@ --- linux-2.6.21.7.orig/drivers/mtd/Makefile
+++ linux-2.6.21.7/drivers/mtd/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.orig/drivers/serial/atmel_serial.c 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/drivers/serial/atmel_serial.c
+++ linux-2.6.21.1/drivers/serial/atmel_serial.c 2007-05-28 16:39:09.000000000 +0200 ===================================================================
@@ -174,7 +174,35 @@ --- linux-2.6.21.7.orig/drivers/serial/atmel_serial.c
+++ linux-2.6.21.7/drivers/serial/atmel_serial.c
@@ -174,7 +174,35 @@ static void atmel_set_mctrl(struct uart_
at91_set_gpio_value(AT91_PIN_PA21, 0); at91_set_gpio_value(AT91_PIN_PA21, 0);
else else
at91_set_gpio_value(AT91_PIN_PA21, 1); at91_set_gpio_value(AT91_PIN_PA21, 1);
@ -36,7 +38,7 @@
} }
#endif #endif
@@ -211,8 +239,10 @@ @@ -211,8 +239,10 @@ static u_int atmel_get_mctrl(struct uart
/* /*
* The control signals are active low. * The control signals are active low.
*/ */
@ -49,7 +51,7 @@
if (!(status & ATMEL_US_CTS)) if (!(status & ATMEL_US_CTS))
ret |= TIOCM_CTS; ret |= TIOCM_CTS;
if (!(status & ATMEL_US_DSR)) if (!(status & ATMEL_US_DSR))
@@ -220,6 +250,16 @@ @@ -220,6 +250,16 @@ static u_int atmel_get_mctrl(struct uart
if (!(status & ATMEL_US_RI)) if (!(status & ATMEL_US_RI))
ret |= TIOCM_RI; ret |= TIOCM_RI;
@ -66,7 +68,7 @@
return ret; return ret;
} }
@@ -511,6 +551,34 @@ @@ -511,6 +551,34 @@ static void atmel_tx_chars(struct uart_p
} }
/* /*
@ -101,7 +103,7 @@
* Interrupt handler * Interrupt handler
*/ */
static irqreturn_t atmel_interrupt(int irq, void *dev_id) static irqreturn_t atmel_interrupt(int irq, void *dev_id)
@@ -587,6 +655,23 @@ @@ -587,6 +655,23 @@ static int atmel_startup(struct uart_por
return retval; return retval;
} }
@ -125,7 +127,7 @@
/* /*
* Initialize DMA (if necessary) * Initialize DMA (if necessary)
*/ */
@@ -603,6 +688,10 @@ @@ -603,6 +688,10 @@ static int atmel_startup(struct uart_por
kfree(atmel_port->pdc_rx[0].buf); kfree(atmel_port->pdc_rx[0].buf);
} }
free_irq(port->irq, port); free_irq(port->irq, port);
@ -136,7 +138,7 @@
return -ENOMEM; return -ENOMEM;
} }
pdc->dma_addr = dma_map_single(port->dev, pdc->buf, PDC_BUFFER_SIZE, DMA_FROM_DEVICE); pdc->dma_addr = dma_map_single(port->dev, pdc->buf, PDC_BUFFER_SIZE, DMA_FROM_DEVICE);
@@ -636,6 +725,10 @@ @@ -636,6 +725,10 @@ static int atmel_startup(struct uart_por
retval = atmel_open_hook(port); retval = atmel_open_hook(port);
if (retval) { if (retval) {
free_irq(port->irq, port); free_irq(port->irq, port);
@ -147,7 +149,7 @@
return retval; return retval;
} }
} }
@@ -701,6 +794,10 @@ @@ -701,6 +794,10 @@ static void atmel_shutdown(struct uart_p
* Free the interrupt * Free the interrupt
*/ */
free_irq(port->irq, port); free_irq(port->irq, port);

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.orig/arch/arm/mach-at91/at91rm9200_devices.c 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
+++ linux-2.6.21.1/arch/arm/mach-at91/at91rm9200_devices.c 2007-05-28 16:44:36.000000000 +0200 ===================================================================
@@ -618,7 +618,6 @@ --- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c
+++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
@@ -618,7 +618,6 @@ void __init at91_init_leds(u8 cpu_led, u
#if defined(CONFIG_NEW_LEDS) #if defined(CONFIG_NEW_LEDS)
@ -8,7 +10,7 @@
static struct platform_device at91_leds = { static struct platform_device at91_leds = {
.name = "at91_leds", .name = "at91_leds",
.id = -1, .id = -1,
@@ -724,6 +723,10 @@ @@ -724,6 +723,10 @@ static inline void configure_usart0_pins
* We need to drive the pin manually. Default is off (RTS is active low). * We need to drive the pin manually. Default is off (RTS is active low).
*/ */
at91_set_gpio_output(AT91_PIN_PA21, 1); at91_set_gpio_output(AT91_PIN_PA21, 1);
@ -19,7 +21,7 @@
} }
static struct resource uart1_resources[] = { static struct resource uart1_resources[] = {
@@ -835,6 +838,12 @@ @@ -835,6 +838,12 @@ static inline void configure_usart3_pins
{ {
at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */ at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */
at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */ at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1/drivers/net/arm/at91_ether.c.old 2007-06-04 18:15:49.000000000 +0200 Index: linux-2.6.21.7/drivers/net/arm/at91_ether.c
+++ linux-2.6.21.1/drivers/net/arm/at91_ether.c 2007-06-04 18:10:36.000000000 +0200 ===================================================================
@@ -146,6 +146,7 @@ --- linux-2.6.21.7.orig/drivers/net/arm/at91_ether.c
+++ linux-2.6.21.7/drivers/net/arm/at91_ether.c
@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_
struct at91_private *lp = netdev_priv(dev); struct at91_private *lp = netdev_priv(dev);
unsigned int bmsr, bmcr, lpa, mac_cfg; unsigned int bmsr, bmcr, lpa, mac_cfg;
unsigned int speed, duplex; unsigned int speed, duplex;
@ -8,7 +10,7 @@
if (!mii_link_ok(&lp->mii)) { /* no link */ if (!mii_link_ok(&lp->mii)) { /* no link */
netif_carrier_off(dev); netif_carrier_off(dev);
@@ -158,8 +159,15 @@ @@ -158,8 +159,15 @@ static void update_linkspeed(struct net_
read_phy(lp->phy_address, MII_BMSR, &bmsr); read_phy(lp->phy_address, MII_BMSR, &bmsr);
read_phy(lp->phy_address, MII_BMCR, &bmcr); read_phy(lp->phy_address, MII_BMCR, &bmcr);
if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */ if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.old/arch/arm/mach-at91/board-vlink.c 2007-06-04 15:45:19.000000000 +0200 Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-06-05 05:27:19.000000000 +0200 ===================================================================
@@ -175,6 +175,7 @@ --- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c
+++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -175,6 +175,7 @@ static void __init vlink_board_init(void
/* USB Device control */ /* USB Device control */
at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP

View File

@ -1,5 +1,7 @@
--- linux-2.6.21.1.old/drivers/mmc/at91_mci.c 2007-06-05 09:08:57.000000000 +0200 Index: linux-2.6.21.7/drivers/mmc/at91_mci.c
+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 10:59:11.000000000 +0200 ===================================================================
--- linux-2.6.21.7.orig/drivers/mmc/at91_mci.c
+++ linux-2.6.21.7/drivers/mmc/at91_mci.c
@@ -79,7 +79,8 @@ @@ -79,7 +79,8 @@
#define DRIVER_NAME "at91_mci" #define DRIVER_NAME "at91_mci"
@ -10,7 +12,7 @@
#define FL_SENT_COMMAND (1 << 0) #define FL_SENT_COMMAND (1 << 0)
#define FL_SENT_STOP (1 << 1) #define FL_SENT_STOP (1 << 1)
@@ -132,7 +133,7 @@ @@ -132,7 +133,7 @@ struct at91mci_host
/* /*
* Copy from sg to a dma block - used for transfers * Copy from sg to a dma block - used for transfers
*/ */
@ -19,7 +21,7 @@
{ {
unsigned int len, i, size; unsigned int len, i, size;
unsigned *dmabuf = host->buffer; unsigned *dmabuf = host->buffer;
@@ -181,7 +182,7 @@ @@ -181,7 +182,7 @@ static inline void at91mci_sg_to_dma(str
/* /*
* Prepare a dma read * Prepare a dma read
*/ */
@ -28,7 +30,7 @@
{ {
int i; int i;
struct scatterlist *sg; struct scatterlist *sg;
@@ -249,23 +250,24 @@ @@ -249,23 +250,24 @@ static void at91mci_pre_dma_read(struct
/* /*
* Handle after a dma read * Handle after a dma read
*/ */
@ -56,7 +58,7 @@
} }
while (host->in_use_index < host->transfer_index) { while (host->in_use_index < host->transfer_index) {
@@ -300,39 +302,14 @@ @@ -300,39 +302,14 @@ static void at91mci_post_dma_read(struct
/* Is there another transfer to trigger? */ /* Is there another transfer to trigger? */
if (host->transfer_index < data->sg_len) if (host->transfer_index < data->sg_len)
@ -99,7 +101,7 @@
} }
/* /*
@@ -340,10 +317,17 @@ @@ -340,10 +317,17 @@ static void at91_mci_handle_transmitted(
*/ */
static void at91_mci_enable(struct at91mci_host *host) static void at91_mci_enable(struct at91mci_host *host)
{ {
@ -118,7 +120,7 @@
/* use Slot A or B (only one at same time) */ /* use Slot A or B (only one at same time) */
at91_mci_write(host, AT91_MCI_SDCR, host->board->slot_b); at91_mci_write(host, AT91_MCI_SDCR, host->board->slot_b);
@@ -359,9 +343,8 @@ @@ -359,9 +343,8 @@ static void at91_mci_disable(struct at91
/* /*
* Send a command * Send a command
@ -129,7 +131,7 @@
{ {
unsigned int cmdr, mr; unsigned int cmdr, mr;
unsigned int block_length; unsigned int block_length;
@@ -372,8 +355,7 @@ @@ -372,8 +355,7 @@ static unsigned int at91_mci_send_comman
host->cmd = cmd; host->cmd = cmd;
@ -139,7 +141,7 @@
if ((at91_mci_read(host, AT91_MCI_SR) & AT91_MCI_RTOE) && (cmd->opcode == 1)) { if ((at91_mci_read(host, AT91_MCI_SR) & AT91_MCI_RTOE) && (cmd->opcode == 1)) {
pr_debug("Clearing timeout\n"); pr_debug("Clearing timeout\n");
at91_mci_write(host, AT91_MCI_ARGR, 0); at91_mci_write(host, AT91_MCI_ARGR, 0);
@@ -383,7 +365,7 @@ @@ -383,7 +365,7 @@ static unsigned int at91_mci_send_comman
pr_debug("Clearing: SR = %08X\n", at91_mci_read(host, AT91_MCI_SR)); pr_debug("Clearing: SR = %08X\n", at91_mci_read(host, AT91_MCI_SR));
} }
} }
@ -148,7 +150,7 @@
cmdr = cmd->opcode; cmdr = cmd->opcode;
if (mmc_resp_type(cmd) == MMC_RSP_NONE) if (mmc_resp_type(cmd) == MMC_RSP_NONE)
@@ -440,50 +422,48 @@ @@ -440,50 +422,48 @@ static unsigned int at91_mci_send_comman
at91_mci_write(host, ATMEL_PDC_TCR, 0); at91_mci_write(host, ATMEL_PDC_TCR, 0);
at91_mci_write(host, ATMEL_PDC_TNPR, 0); at91_mci_write(host, ATMEL_PDC_TNPR, 0);
at91_mci_write(host, ATMEL_PDC_TNCR, 0); at91_mci_write(host, ATMEL_PDC_TNCR, 0);
@ -239,7 +241,7 @@
} }
} }
@@ -498,39 +478,24 @@ @@ -498,39 +478,24 @@ static unsigned int at91_mci_send_comman
if (cmdr & AT91_MCI_TRCMD_START) { if (cmdr & AT91_MCI_TRCMD_START) {
if (cmdr & AT91_MCI_TRDIR) if (cmdr & AT91_MCI_TRDIR)
at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN); at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN);
@ -283,7 +285,7 @@
} }
else else
mmc_request_done(host->mmc, host->request); mmc_request_done(host->mmc, host->request);
@@ -539,7 +504,7 @@ @@ -539,7 +504,7 @@ static void at91mci_process_next(struct
/* /*
* Handle a command that has been completed * Handle a command that has been completed
*/ */
@ -292,7 +294,7 @@
{ {
struct mmc_command *cmd = host->cmd; struct mmc_command *cmd = host->cmd;
unsigned int status; unsigned int status;
@@ -583,7 +548,7 @@ @@ -583,7 +548,7 @@ static void at91mci_completed_command(st
else else
cmd->error = MMC_ERR_NONE; cmd->error = MMC_ERR_NONE;
@ -301,7 +303,7 @@
} }
/* /*
@@ -595,7 +560,60 @@ @@ -595,7 +560,60 @@ static void at91_mci_request(struct mmc_
host->request = mrq; host->request = mrq;
host->flags = 0; host->flags = 0;
@ -363,7 +365,7 @@
} }
/* /*
@@ -698,29 +716,33 @@ @@ -698,29 +716,33 @@ static irqreturn_t at91_mci_irq(int irq,
at91_mci_handle_transmitted(host); at91_mci_handle_transmitted(host);
} }
@ -405,7 +407,7 @@
if (int_status & AT91_MCI_TXRDY) if (int_status & AT91_MCI_TXRDY)
pr_debug("Ready to transmit\n"); pr_debug("Ready to transmit\n");
@@ -730,14 +752,14 @@ @@ -730,14 +752,14 @@ static irqreturn_t at91_mci_irq(int irq,
if (int_status & AT91_MCI_CMDRDY) { if (int_status & AT91_MCI_CMDRDY) {
pr_debug("Command ready\n"); pr_debug("Command ready\n");

View File

@ -1,5 +1,7 @@
--- linux-2.6.21.1.old/drivers/mmc/at91_mci.c 2007-06-05 11:08:39.000000000 +0200 Index: linux-2.6.21.7/drivers/mmc/at91_mci.c
+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 11:28:40.000000000 +0200 ===================================================================
--- linux-2.6.21.7.orig/drivers/mmc/at91_mci.c
+++ linux-2.6.21.7/drivers/mmc/at91_mci.c
@@ -79,8 +79,7 @@ @@ -79,8 +79,7 @@
#define DRIVER_NAME "at91_mci" #define DRIVER_NAME "at91_mci"

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.5.old/drivers/mtd/devices/at91_dataflash.c 2007-06-13 13:31:24.000000000 +0200 Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.21.5/drivers/mtd/devices/at91_dataflash.c 2007-06-19 12:49:48.000000000 +0200 ===================================================================
@@ -161,12 +161,12 @@ --- linux-2.6.21.7.orig/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
@@ -161,12 +161,12 @@ static struct mtd_partition static_parti
.mask_flags = MTD_WRITEABLE, /* read-only */ .mask_flags = MTD_WRITEABLE, /* read-only */
}, },
{ {

View File

@ -1,16 +1,38 @@
diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
--- linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c 2007-07-26 12:43:11.000000000 +0200 ===================================================================
+++ linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c 2007-08-20 16:56:56.000000000 +0200 --- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c
@@ -151,31 +151,37 @@ +++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -150,32 +150,38 @@ static void __init vlink_board_init(void
/* LEDs */
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
/* Other LED's */ -/* Other LED's */
- at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1 - at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1
- at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1 - at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1
- at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1 - at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1
- at91_set_gpio_output(AT91_PIN_PB15, 1); // LED BACK BP1 - at91_set_gpio_output(AT91_PIN_PB15, 1); // LED BACK BP1
- at91_set_gpio_output(AT91_PIN_PB16, 1); // LED BACK AP2 - at91_set_gpio_output(AT91_PIN_PB16, 1); // LED BACK AP2
- at91_set_gpio_output(AT91_PIN_PB17, 1); // LED BACK BP2 - at91_set_gpio_output(AT91_PIN_PB17, 1); // LED BACK BP2
-
-/* SIM Cards */
- at91_set_gpio_output(AT91_PIN_PB9, 1); // ENBSC3
- at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
- at91_set_gpio_output(AT91_PIN_PB11, 1); // ENBSC1
-
-/* GSM Module Control */
- at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF
-
-/* Test jig presence detection */
- at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT
-
-/* Power indicator */
- at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND
-
-/* USB Device control */
- at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
- at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP
- at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive
+ /* Other LED's */
+ at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1 + at91_set_gpio_output(AT91_PIN_PC7, 1); // LED FRONT AP1
+ at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1 + at91_set_gpio_output(AT91_PIN_PC8, 1); // LED FRONT BP1
+ at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1 + at91_set_gpio_output(AT91_PIN_PB14, 1); // LED BACK AP1
@ -20,11 +42,8 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
+ +
+ /* Test jig presence detection */ + /* Test jig presence detection */
+ at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT + at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT
+
/* SIM Cards */ + /* SIM Cards */
- at91_set_gpio_output(AT91_PIN_PB9, 1); // ENBSC3
- at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
- at91_set_gpio_output(AT91_PIN_PB11, 1); // ENBSC1
+ if (at91_get_gpio_value(AT91_PIN_PB8)) { + if (at91_get_gpio_value(AT91_PIN_PB8)) {
+ at91_set_gpio_output(AT91_PIN_PB11, 0); + at91_set_gpio_output(AT91_PIN_PB11, 0);
+ at91_set_gpio_output(AT91_PIN_PB9, 1); + at91_set_gpio_output(AT91_PIN_PB9, 1);
@ -34,22 +53,14 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
+ } + }
+ +
+ at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 + at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
+
/* GSM Module Control */ + /* GSM Module Control */
- at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF
-
-/* Test jig presence detection */
- at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT
+ at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF + at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF
+
/* Power indicator */ + /* Power indicator */
- at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND
+ at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND + at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND
+
/* USB Device control */ + /* USB Device control */
- at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
- at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP
- at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive
+ at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX + at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
+ at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP + at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP
+ at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive + at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.21.5/arch/arm/mach-at91/at91rm9200_devices.c Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
--- linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-13 16:24:18.000000000 +0100 ===================================================================
+++ linux-2.6.21.5/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-13 16:34:43.000000000 +0100 --- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c
@@ -840,9 +840,9 @@ +++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
@@ -840,9 +840,9 @@ static inline void configure_usart3_pins
at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */ at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */
at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */
at91_set_B_periph(AT91_PIN_PB1, 0); /* CTS3 */ at91_set_B_periph(AT91_PIN_PB1, 0); /* CTS3 */
@ -14,10 +15,11 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.2
at91_set_deglitch(AT91_PIN_PA24, 1); at91_set_deglitch(AT91_PIN_PA24, 1);
} }
diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
--- linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c 2008-03-13 16:24:18.000000000 +0100 ===================================================================
+++ linux-2.6.21.5/arch/arm/mach-at91/board-vlink.c 2008-03-13 16:35:05.000000000 +0100 --- linux-2.6.21.7.orig/arch/arm/mach-at91/board-vlink.c
@@ -126,6 +126,7 @@ +++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -126,6 +126,7 @@ static struct spi_board_info vlink_spi_d
static void __init vlink_board_init(void) static void __init vlink_board_init(void)
{ {
@ -25,7 +27,7 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
/* Serial */ /* Serial */
at91_add_device_serial(); at91_add_device_serial();
/* Ethernet */ /* Ethernet */
@@ -147,6 +148,10 @@ @@ -147,6 +148,10 @@ static void __init vlink_board_init(void
// at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ // at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */
at91_add_device_mmc(0, &vlink_mmc_data); at91_add_device_mmc(0, &vlink_mmc_data);
#endif #endif
@ -36,7 +38,7 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
/* LEDs */ /* LEDs */
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds)); // at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
@@ -164,10 +169,16 @@ @@ -164,10 +169,16 @@ static void __init vlink_board_init(void
/* SIM Cards */ /* SIM Cards */
if (at91_get_gpio_value(AT91_PIN_PB8)) { if (at91_get_gpio_value(AT91_PIN_PB8)) {
at91_set_gpio_output(AT91_PIN_PB11, 0); at91_set_gpio_output(AT91_PIN_PB11, 0);
@ -55,7 +57,7 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
} }
at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2 at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
@@ -182,7 +193,18 @@ @@ -182,7 +193,18 @@ static void __init vlink_board_init(void
at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP at91_set_gpio_output(AT91_PIN_PB28, 1); // UDB_PUP
at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive at91_set_multi_drive(AT91_PIN_PB28, 1); // Set to multi-drive
@ -75,10 +77,11 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
} }
MACHINE_START(VLINK, "FDL VersaLink") MACHINE_START(VLINK, "FDL VersaLink")
diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/char/vlink_giu.c Index: linux-2.6.21.7/drivers/char/vlink_giu.c
--- linux-2.6.21.5.old/drivers/char/vlink_giu.c 2008-03-13 16:24:18.000000000 +0100 ===================================================================
+++ linux-2.6.21.5/drivers/char/vlink_giu.c 2008-03-13 16:37:06.000000000 +0100 --- linux-2.6.21.7.orig/drivers/char/vlink_giu.c
@@ -41,8 +41,7 @@ +++ linux-2.6.21.7/drivers/char/vlink_giu.c
@@ -41,8 +41,7 @@ static int major; /* default is dynamic
module_param(major, int, 0); module_param(major, int, 0);
MODULE_PARM_DESC(major, "Major device number"); MODULE_PARM_DESC(major, "Major device number");
@ -88,7 +91,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha
struct vio_dev { struct vio_dev {
struct cdev cdev; struct cdev cdev;
}; };
@@ -50,6 +49,53 @@ @@ -50,6 +49,53 @@ struct vio_dev {
struct vio_dev *vio_devices; struct vio_dev *vio_devices;
static struct class *vio_class; static struct class *vio_class;
@ -142,7 +145,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha
static ssize_t gpio_read(struct file *file, char __user *buf, size_t len, static ssize_t gpio_read(struct file *file, char __user *buf, size_t len,
loff_t *ppos) loff_t *ppos)
{ {
@@ -160,6 +206,8 @@ @@ -160,6 +206,8 @@ static int vio_probe(struct platform_dev
{ {
int retval, i, j; int retval, i, j;
dev_t vdev = 0; dev_t vdev = 0;
@ -151,7 +154,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha
if (major) { if (major) {
vdev = MKDEV(major, 0); vdev = MKDEV(major, 0);
@@ -185,6 +233,7 @@ @@ -185,6 +233,7 @@ static int vio_probe(struct platform_dev
vio_remove(dev); vio_remove(dev);
return PTR_ERR(vio_class); return PTR_ERR(vio_class);
} }
@ -159,7 +162,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha
vio_devices = kmalloc(VIO_NR_DEVS * sizeof(struct vio_dev), GFP_KERNEL); vio_devices = kmalloc(VIO_NR_DEVS * sizeof(struct vio_dev), GFP_KERNEL);
if (!vio_devices) { if (!vio_devices) {
@@ -198,8 +247,10 @@ @@ -198,8 +247,10 @@ static int vio_probe(struct platform_dev
int iodev = at91_is_pin_gpio(PIN_BASE + i*32 + j); int iodev = at91_is_pin_gpio(PIN_BASE + i*32 + j);
if (iodev) { if (iodev) {
vio_setup_cdev(&vio_devices[i*32 + j], i*32 + j); vio_setup_cdev(&vio_devices[i*32 + j], i*32 + j);
@ -172,7 +175,7 @@ diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/drivers/cha
} }
} }
@@ -212,6 +263,29 @@ @@ -212,6 +263,29 @@ fail:
return retval; return retval;
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
diff -urN linux-2.6.22.1.old/arch/arm/boot/compressed/head-at91rm9200.S linux-2.6.22.1/arch/arm/boot/compressed/head-at91rm9200.S Index: linux-2.6.22.19/arch/arm/boot/compressed/head-at91rm9200.S
--- linux-2.6.22.1.old/arch/arm/boot/compressed/head-at91rm9200.S 2007-07-29 06:33:09.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/boot/compressed/head-at91rm9200.S 2007-07-29 06:39:45.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/boot/compressed/head-at91rm9200.S
+++ linux-2.6.22.19/arch/arm/boot/compressed/head-at91rm9200.S
@@ -67,6 +67,12 @@ @@ -67,6 +67,12 @@
cmp r7, r3 cmp r7, r3
beq 99f beq 99f
@ -14,9 +15,10 @@ diff -urN linux-2.6.22.1.old/arch/arm/boot/compressed/head-at91rm9200.S linux-2.
@ Ajeco 1ARM : 1075 @ Ajeco 1ARM : 1075
mov r3, #(MACH_TYPE_ONEARM & 0xff) mov r3, #(MACH_TYPE_ONEARM & 0xff)
orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00) orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00)
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/board-vlink.c linux-2.6.22.1/arch/arm/mach-at91/board-vlink.c Index: linux-2.6.22.19/arch/arm/mach-at91/board-vlink.c
--- linux-2.6.22.1.old/arch/arm/mach-at91/board-vlink.c 1970-01-01 01:00:00.000000000 +0100 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/board-vlink.c 2007-07-29 06:40:47.000000000 +0200 --- /dev/null
+++ linux-2.6.22.19/arch/arm/mach-at91/board-vlink.c
@@ -0,0 +1,191 @@ @@ -0,0 +1,191 @@
+/* +/*
+ * linux/arch/arm/mach-at91/board-vlink.c + * linux/arch/arm/mach-at91/board-vlink.c
@ -209,10 +211,11 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/board-vlink.c linux-2.6.22.1/arc
+ .init_irq = vlink_init_irq, + .init_irq = vlink_init_irq,
+ .init_machine = vlink_board_init, + .init_machine = vlink_board_init,
+MACHINE_END +MACHINE_END
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Kconfig linux-2.6.22.1/arch/arm/mach-at91/Kconfig Index: linux-2.6.22.19/arch/arm/mach-at91/Kconfig
--- linux-2.6.22.1.old/arch/arm/mach-at91/Kconfig 2007-07-29 06:33:09.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/Kconfig 2007-07-29 06:42:19.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/mach-at91/Kconfig
@@ -103,6 +103,12 @@ +++ linux-2.6.22.19/arch/arm/mach-at91/Kconfig
@@ -103,6 +103,12 @@ config MACH_CHUB
help help
Select this if you are using Promwad's Chub board. Select this if you are using Promwad's Chub board.
@ -225,10 +228,11 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Kconfig linux-2.6.22.1/arch/arm/
endif endif
# ---------------------------------------------------------- # ----------------------------------------------------------
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Makefile linux-2.6.22.1/arch/arm/mach-at91/Makefile Index: linux-2.6.22.19/arch/arm/mach-at91/Makefile
--- linux-2.6.22.1.old/arch/arm/mach-at91/Makefile 2007-07-29 06:33:09.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/Makefile 2007-07-29 06:43:36.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/mach-at91/Makefile
@@ -29,6 +29,7 @@ +++ linux-2.6.22.19/arch/arm/mach-at91/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200) += board-kb920
obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o
obj-$(CONFIG_MACH_KAFA) += board-kafa.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o
obj-$(CONFIG_MACH_CHUB) += board-chub.o obj-$(CONFIG_MACH_CHUB) += board-chub.o
@ -236,7 +240,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Makefile linux-2.6.22.1/arch/arm
obj-$(CONFIG_MACH_PICOTUX2XX) += board-picotux200.o obj-$(CONFIG_MACH_PICOTUX2XX) += board-picotux200.o
# AT91SAM9260 board-specific support # AT91SAM9260 board-specific support
@@ -52,6 +53,7 @@ @@ -52,6 +53,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o
led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o
led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o
led-$(CONFIG_MACH_KAFA) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Makefile linux-2.6.22.1/arch/arm/mach-at91/Makefile Index: linux-2.6.22.19/arch/arm/mach-at91/Makefile
--- linux-2.6.22.1.old/arch/arm/mach-at91/Makefile 2007-07-29 06:46:13.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/Makefile 2007-07-29 06:54:19.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/mach-at91/Makefile
@@ -53,7 +53,7 @@ +++ linux-2.6.22.19/arch/arm/mach-at91/Makefile
@@ -53,7 +53,7 @@ led-$(CONFIG_MACH_CSB337) += leds.o
led-$(CONFIG_MACH_CSB637) += leds.o led-$(CONFIG_MACH_CSB637) += leds.o
led-$(CONFIG_MACH_KB9200) += leds.o led-$(CONFIG_MACH_KB9200) += leds.o
led-$(CONFIG_MACH_KAFA) += leds.o led-$(CONFIG_MACH_KAFA) += leds.o
@ -10,9 +11,10 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Makefile linux-2.6.22.1/arch/arm
obj-$(CONFIG_LEDS) += $(led-y) obj-$(CONFIG_LEDS) += $(led-y)
# VGA support # VGA support
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/vlink_leds.c linux-2.6.22.1/arch/arm/mach-at91/vlink_leds.c Index: linux-2.6.22.19/arch/arm/mach-at91/vlink_leds.c
--- linux-2.6.22.1.old/arch/arm/mach-at91/vlink_leds.c 1970-01-01 01:00:00.000000000 +0100 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/vlink_leds.c 2007-07-29 06:54:58.000000000 +0200 --- /dev/null
+++ linux-2.6.22.19/arch/arm/mach-at91/vlink_leds.c
@@ -0,0 +1,105 @@ @@ -0,0 +1,105 @@
+/* +/*
+ * LED driver for Atmel AT91-based boards. + * LED driver for Atmel AT91-based boards.

View File

@ -1,6 +1,7 @@
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/mach-at91/gpio.c Index: linux-2.6.22.19/arch/arm/mach-at91/gpio.c
--- linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c 2007-07-10 20:56:30.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/gpio.c 2007-07-29 07:03:30.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/mach-at91/gpio.c
+++ linux-2.6.22.19/arch/arm/mach-at91/gpio.c
@@ -27,6 +27,7 @@ @@ -27,6 +27,7 @@
static struct at91_gpio_bank *gpio; static struct at91_gpio_bank *gpio;
@ -9,7 +10,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/m
static inline void __iomem *pin_to_controller(unsigned pin) static inline void __iomem *pin_to_controller(unsigned pin)
@@ -71,9 +72,13 @@ @@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -23,7 +24,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/m
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__raw_writel(mask, pio + PIO_PER); __raw_writel(mask, pio + PIO_PER);
@@ -130,10 +135,13 @@ @@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -37,7 +38,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/m
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__raw_writel(mask, pio + PIO_ODR); __raw_writel(mask, pio + PIO_ODR);
@@ -151,10 +159,13 @@ @@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu
{ {
void __iomem *pio = pin_to_controller(pin); void __iomem *pio = pin_to_controller(pin);
unsigned mask = pin_to_mask(pin); unsigned mask = pin_to_mask(pin);
@ -51,7 +52,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/m
__raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + PIO_PUDR); __raw_writel(mask, pio + PIO_PUDR);
__raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR));
@@ -262,6 +273,18 @@ @@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin)
} }
EXPORT_SYMBOL(at91_get_gpio_value); EXPORT_SYMBOL(at91_get_gpio_value);
@ -70,10 +71,11 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/gpio.c linux-2.6.22.1/arch/arm/m
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
#ifdef CONFIG_PM #ifdef CONFIG_PM
diff -urN linux-2.6.22.1.old/drivers/char/Kconfig linux-2.6.22.1/drivers/char/Kconfig Index: linux-2.6.22.19/drivers/char/Kconfig
--- linux-2.6.22.1.old/drivers/char/Kconfig 2007-07-29 06:46:13.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/char/Kconfig 2007-07-29 07:05:30.000000000 +0200 --- linux-2.6.22.19.orig/drivers/char/Kconfig
@@ -1099,5 +1099,12 @@ +++ linux-2.6.22.19/drivers/char/Kconfig
@@ -1099,5 +1099,12 @@ config AT91_SPIDEV
The SPI driver gives user mode access to this serial The SPI driver gives user mode access to this serial
bus on the AT91RM9200 processor. bus on the AT91RM9200 processor.
@ -86,10 +88,11 @@ diff -urN linux-2.6.22.1.old/drivers/char/Kconfig linux-2.6.22.1/drivers/char/Kc
+ +
endmenu endmenu
diff -urN linux-2.6.22.1.old/drivers/char/Makefile linux-2.6.22.1/drivers/char/Makefile Index: linux-2.6.22.19/drivers/char/Makefile
--- linux-2.6.22.1.old/drivers/char/Makefile 2007-07-29 06:46:13.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/char/Makefile 2007-07-29 07:06:06.000000000 +0200 --- linux-2.6.22.19.orig/drivers/char/Makefile
@@ -95,6 +95,7 @@ +++ linux-2.6.22.19/drivers/char/Makefile
@@ -95,6 +95,7 @@ obj-$(CONFIG_GPIO_TB0219) += tb0219.o
obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_TELCLOCK) += tlclk.o
obj-$(CONFIG_AT91_SPI) += at91_spi.o obj-$(CONFIG_AT91_SPI) += at91_spi.o
obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o
@ -97,9 +100,10 @@ diff -urN linux-2.6.22.1.old/drivers/char/Makefile linux-2.6.22.1/drivers/char/M
obj-$(CONFIG_WATCHDOG) += watchdog/ obj-$(CONFIG_WATCHDOG) += watchdog/
obj-$(CONFIG_MWAVE) += mwave/ obj-$(CONFIG_MWAVE) += mwave/
diff -urN linux-2.6.22.1.old/drivers/char/vlink_giu.c linux-2.6.22.1/drivers/char/vlink_giu.c Index: linux-2.6.22.19/drivers/char/vlink_giu.c
--- linux-2.6.22.1.old/drivers/char/vlink_giu.c 1970-01-01 01:00:00.000000000 +0100 ===================================================================
+++ linux-2.6.22.1/drivers/char/vlink_giu.c 2007-07-29 07:06:33.000000000 +0200 --- /dev/null
+++ linux-2.6.22.19/drivers/char/vlink_giu.c
@@ -0,0 +1,256 @@ @@ -0,0 +1,256 @@
+/* +/*
+ * Driver for FDL Versalink GPIO + * Driver for FDL Versalink GPIO

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.22.1.old/drivers/mtd/devices/at91_dataflash.c linux-2.6.22.1/drivers/mtd/devices/at91_dataflash.c Index: linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
--- linux-2.6.22.1.old/drivers/mtd/devices/at91_dataflash.c 2007-07-29 07:50:05.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/mtd/devices/at91_dataflash.c 2007-07-29 07:56:11.000000000 +0200 --- linux-2.6.22.19.orig/drivers/mtd/devices/at91_dataflash.c
@@ -173,7 +173,7 @@ +++ linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
@@ -173,7 +173,7 @@ static struct mtd_partition static_parti
}; };
#endif #endif
@ -10,10 +11,11 @@ diff -urN linux-2.6.22.1.old/drivers/mtd/devices/at91_dataflash.c linux-2.6.22.1
#endif #endif
diff -urN linux-2.6.22.1.old/drivers/mtd/Kconfig linux-2.6.22.1/drivers/mtd/Kconfig Index: linux-2.6.22.19/drivers/mtd/Kconfig
--- linux-2.6.22.1.old/drivers/mtd/Kconfig 2007-07-29 07:54:27.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/mtd/Kconfig 2007-07-29 07:55:21.000000000 +0200 --- linux-2.6.22.19.orig/drivers/mtd/Kconfig
@@ -160,6 +160,12 @@ +++ linux-2.6.22.19/drivers/mtd/Kconfig
@@ -160,6 +160,12 @@ config MTD_AFS_PARTS
for your particular device. It won't happen automatically. The for your particular device. It won't happen automatically. The
'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
@ -26,10 +28,11 @@ diff -urN linux-2.6.22.1.old/drivers/mtd/Kconfig linux-2.6.22.1/drivers/mtd/Kcon
comment "User Modules And Translation Layers" comment "User Modules And Translation Layers"
config MTD_CHAR config MTD_CHAR
diff -urN linux-2.6.22.1.old/drivers/mtd/Makefile linux-2.6.22.1/drivers/mtd/Makefile Index: linux-2.6.22.19/drivers/mtd/Makefile
--- linux-2.6.22.1.old/drivers/mtd/Makefile 2007-07-10 20:56:30.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/mtd/Makefile 2007-07-29 07:55:39.000000000 +0200 --- linux-2.6.22.19.orig/drivers/mtd/Makefile
@@ -11,6 +11,7 @@ +++ linux-2.6.22.19/drivers/mtd/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1.orig/drivers/serial/atmel_serial.c 2007-05-28 12:22:29.000000000 +0200 Index: linux-2.6.22.19/drivers/serial/atmel_serial.c
+++ linux-2.6.21.1/drivers/serial/atmel_serial.c 2007-05-28 16:39:09.000000000 +0200 ===================================================================
@@ -174,7 +174,35 @@ --- linux-2.6.22.19.orig/drivers/serial/atmel_serial.c
+++ linux-2.6.22.19/drivers/serial/atmel_serial.c
@@ -174,7 +174,35 @@ static void atmel_set_mctrl(struct uart_
at91_set_gpio_value(AT91_PIN_PA21, 0); at91_set_gpio_value(AT91_PIN_PA21, 0);
else else
at91_set_gpio_value(AT91_PIN_PA21, 1); at91_set_gpio_value(AT91_PIN_PA21, 1);
@ -36,7 +38,7 @@
} }
#endif #endif
@@ -211,8 +239,10 @@ @@ -211,8 +239,10 @@ static u_int atmel_get_mctrl(struct uart
/* /*
* The control signals are active low. * The control signals are active low.
*/ */
@ -49,7 +51,7 @@
if (!(status & ATMEL_US_CTS)) if (!(status & ATMEL_US_CTS))
ret |= TIOCM_CTS; ret |= TIOCM_CTS;
if (!(status & ATMEL_US_DSR)) if (!(status & ATMEL_US_DSR))
@@ -220,6 +250,16 @@ @@ -220,6 +250,16 @@ static u_int atmel_get_mctrl(struct uart
if (!(status & ATMEL_US_RI)) if (!(status & ATMEL_US_RI))
ret |= TIOCM_RI; ret |= TIOCM_RI;
@ -66,7 +68,7 @@
return ret; return ret;
} }
@@ -511,6 +551,34 @@ @@ -511,6 +551,34 @@ static void atmel_tx_chars(struct uart_p
} }
/* /*
@ -101,7 +103,7 @@
* Interrupt handler * Interrupt handler
*/ */
static irqreturn_t atmel_interrupt(int irq, void *dev_id) static irqreturn_t atmel_interrupt(int irq, void *dev_id)
@@ -587,6 +655,23 @@ @@ -587,6 +655,23 @@ static int atmel_startup(struct uart_por
return retval; return retval;
} }
@ -125,7 +127,7 @@
/* /*
* Initialize DMA (if necessary) * Initialize DMA (if necessary)
*/ */
@@ -603,6 +688,10 @@ @@ -603,6 +688,10 @@ static int atmel_startup(struct uart_por
kfree(atmel_port->pdc_rx[0].buf); kfree(atmel_port->pdc_rx[0].buf);
} }
free_irq(port->irq, port); free_irq(port->irq, port);
@ -136,7 +138,7 @@
return -ENOMEM; return -ENOMEM;
} }
pdc->dma_addr = dma_map_single(port->dev, pdc->buf, PDC_BUFFER_SIZE, DMA_FROM_DEVICE); pdc->dma_addr = dma_map_single(port->dev, pdc->buf, PDC_BUFFER_SIZE, DMA_FROM_DEVICE);
@@ -636,6 +725,10 @@ @@ -636,6 +725,10 @@ static int atmel_startup(struct uart_por
retval = atmel_open_hook(port); retval = atmel_open_hook(port);
if (retval) { if (retval) {
free_irq(port->irq, port); free_irq(port->irq, port);
@ -147,7 +149,7 @@
return retval; return retval;
} }
} }
@@ -701,6 +794,10 @@ @@ -701,6 +794,10 @@ static void atmel_shutdown(struct uart_p
* Free the interrupt * Free the interrupt
*/ */
free_irq(port->irq, port); free_irq(port->irq, port);

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.22.1/arch/arm/mach-at91/at91rm9200_devices.c Index: linux-2.6.22.19/arch/arm/mach-at91/at91rm9200_devices.c
--- linux-2.6.22.1.old/arch/arm/mach-at91/at91rm9200_devices.c 2007-07-29 06:46:13.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/arch/arm/mach-at91/at91rm9200_devices.c 2007-07-29 07:23:35.000000000 +0200 --- linux-2.6.22.19.orig/arch/arm/mach-at91/at91rm9200_devices.c
@@ -721,6 +721,10 @@ +++ linux-2.6.22.19/arch/arm/mach-at91/at91rm9200_devices.c
@@ -721,6 +721,10 @@ static inline void configure_usart0_pins
* We need to drive the pin manually. Default is off (RTS is active low). * We need to drive the pin manually. Default is off (RTS is active low).
*/ */
at91_set_gpio_output(AT91_PIN_PA21, 1); at91_set_gpio_output(AT91_PIN_PA21, 1);
@ -12,7 +13,7 @@ diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6.2
} }
static struct resource uart1_resources[] = { static struct resource uart1_resources[] = {
@@ -832,6 +836,12 @@ @@ -832,6 +836,12 @@ static inline void configure_usart3_pins
{ {
at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */ at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */
at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */ at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */

View File

@ -1,6 +1,8 @@
--- linux-2.6.21.1/drivers/net/arm/at91_ether.c.old 2007-06-04 18:15:49.000000000 +0200 Index: linux-2.6.22.19/drivers/net/arm/at91_ether.c
+++ linux-2.6.21.1/drivers/net/arm/at91_ether.c 2007-06-04 18:10:36.000000000 +0200 ===================================================================
@@ -146,6 +146,7 @@ --- linux-2.6.22.19.orig/drivers/net/arm/at91_ether.c
+++ linux-2.6.22.19/drivers/net/arm/at91_ether.c
@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_
struct at91_private *lp = netdev_priv(dev); struct at91_private *lp = netdev_priv(dev);
unsigned int bmsr, bmcr, lpa, mac_cfg; unsigned int bmsr, bmcr, lpa, mac_cfg;
unsigned int speed, duplex; unsigned int speed, duplex;
@ -8,7 +10,7 @@
if (!mii_link_ok(&lp->mii)) { /* no link */ if (!mii_link_ok(&lp->mii)) { /* no link */
netif_carrier_off(dev); netif_carrier_off(dev);
@@ -158,8 +159,15 @@ @@ -158,8 +159,15 @@ static void update_linkspeed(struct net_
read_phy(lp->phy_address, MII_BMSR, &bmsr); read_phy(lp->phy_address, MII_BMSR, &bmsr);
read_phy(lp->phy_address, MII_BMCR, &bmcr); read_phy(lp->phy_address, MII_BMCR, &bmcr);
if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */ if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */

View File

@ -1,7 +1,8 @@
diff -urN linux-2.6.22.1.old/drivers/mtd/devices/at91_dataflash.c linux-2.6.22.1/drivers/mtd/devices/at91_dataflash.c Index: linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
--- linux-2.6.22.1.old/drivers/mtd/devices/at91_dataflash.c 2007-07-29 07:18:10.000000000 +0200 ===================================================================
+++ linux-2.6.22.1/drivers/mtd/devices/at91_dataflash.c 2007-07-29 07:32:52.000000000 +0200 --- linux-2.6.22.19.orig/drivers/mtd/devices/at91_dataflash.c
@@ -161,12 +161,12 @@ +++ linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
@@ -161,12 +161,12 @@ static struct mtd_partition static_parti
.mask_flags = MTD_WRITEABLE, /* read-only */ .mask_flags = MTD_WRITEABLE, /* read-only */
}, },
{ {