1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 15:06:47 +02:00

[at91] refresh kernel patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11195 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2008-05-19 06:35:41 +00:00
parent bba1f99712
commit efe0e0af7d
24 changed files with 1340 additions and 1104 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
+++ linux-2.6.21.1/arch/arm/boot/compressed/head-at91rm9200.S 2007-05-28 12:52:16.000000000 +0200
Index: linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S
===================================================================
--- 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 @@
cmp r7, r3
beq 99f
@ -13,8 +15,10 @@
@ Ajeco 1ARM : 1075
mov r3, #(MACH_TYPE_ONEARM & 0xff)
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
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 13:09:54.000000000 +0200
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- /dev/null
+++ linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
@@ -0,0 +1,160 @@
+/*
+ * linux/arch/arm/mach-at91/board-vlink.c
@ -176,9 +180,11 @@
+ .init_irq = vlink_init_irq,
+ .init_machine = vlink_board_init,
+MACHINE_END
--- linux-2.6.21.1.orig/arch/arm/mach-at91/Kconfig 2007-05-28 12:22:29.000000000 +0200
+++ linux-2.6.21.1/arch/arm/mach-at91/Kconfig 2007-05-28 13:11:45.000000000 +0200
@@ -96,6 +96,12 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/Kconfig
===================================================================
--- 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
Select this if you are using Promwad's Chub board.
@ -191,9 +197,11 @@
endif
# ----------------------------------------------------------
--- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile 2007-05-28 12:22:29.000000000 +0200
+++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200
@@ -29,6 +29,7 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile
===================================================================
--- 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_KAFA) += board-kafa.o
obj-$(CONFIG_MACH_CHUB) += board-chub.o
@ -201,7 +209,7 @@
# AT91SAM9260 board-specific support
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_KB9200) += 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
--- 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
@@ -61,7 +61,7 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- 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
@@ -61,7 +61,7 @@ static void __init vlink_map_io(void)
at91rm9200_initialize(18432000, AT91RM9200_PQFP);
/* 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 */
at91_init_serial(&vlink_uart_config);
@@ -81,10 +81,12 @@
@@ -81,10 +81,12 @@ static struct at91_usbh_data __initdata
.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 = {
// .det_pin = AT91_PIN_PB27,
@@ -108,18 +110,19 @@
@@ -108,18 +110,19 @@ static struct spi_board_info vlink_spi_d
#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)
{
@@ -130,8 +133,8 @@
@@ -130,8 +133,8 @@ static void __init vlink_board_init(void
/* USB Host */
at91_add_device_usbh(&vlink_usbh_data);
/* 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 */
at91_add_device_i2c();
/* SPI */
@@ -145,7 +148,7 @@
@@ -145,7 +148,7 @@ static void __init vlink_board_init(void
at91_add_device_mmc(0, &vlink_mmc_data);
#endif
/* 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")
diff -urN linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile linux-2.6.21.1/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
@@ -52,7 +52,7 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile
===================================================================
--- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile
+++ 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_KB9200) += 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)
# 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
--- 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
Index: linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c
===================================================================
--- /dev/null
+++ linux-2.6.21.7/arch/arm/mach-at91/vlink_leds.c
@@ -0,0 +1,105 @@
+/*
+ * 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
+++ linux-2.6.21.1/arch/arm/mach-at91/gpio.c 2007-05-28 15:30:48.000000000 +0200
Index: linux-2.6.21.7/arch/arm/mach-at91/gpio.c
===================================================================
--- 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 @@
static struct at91_gpio_bank *gpio;
@ -8,7 +10,7 @@
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);
unsigned mask = pin_to_mask(pin);
@ -22,7 +24,7 @@
__raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__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);
unsigned mask = pin_to_mask(pin);
@ -36,7 +38,7 @@
__raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR));
__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);
unsigned mask = pin_to_mask(pin);
@ -50,7 +52,7 @@
__raw_writel(mask, pio + PIO_IDR);
__raw_writel(mask, pio + PIO_PUDR);
__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);
@ -69,9 +71,11 @@
/*--------------------------------------------------------------------------*/
#ifdef CONFIG_PM
--- linux-2.6.21.1.orig/drivers/char/Kconfig 2007-05-28 12:22:29.000000000 +0200
+++ linux-2.6.21.1/drivers/char/Kconfig 2007-05-28 15:37:43.000000000 +0200
@@ -1087,5 +1087,12 @@
Index: linux-2.6.21.7/drivers/char/Kconfig
===================================================================
--- 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
bus on the AT91RM9200 processor.
@ -84,9 +88,11 @@
+
endmenu
--- linux-2.6.21.1.orig/drivers/char/Makefile 2007-05-28 12:22:29.000000000 +0200
+++ linux-2.6.21.1/drivers/char/Makefile 2007-05-28 15:38:11.000000000 +0200
@@ -95,6 +95,7 @@
Index: linux-2.6.21.7/drivers/char/Makefile
===================================================================
--- 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_AT91_SPI) += at91_spi.o
obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o
@ -94,8 +100,10 @@
obj-$(CONFIG_WATCHDOG) += watchdog/
obj-$(CONFIG_MWAVE) += mwave/
--- linux-2.6.21.1.orig/drivers/char/vlink_giu.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.21.1/drivers/char/vlink_giu.c 2007-05-28 15:39:47.000000000 +0200
Index: linux-2.6.21.7/drivers/char/vlink_giu.c
===================================================================
--- /dev/null
+++ linux-2.6.21.7/drivers/char/vlink_giu.c
@@ -0,0 +1,256 @@
+/*
+ * 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
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-05-28 15:58:46.000000000 +0200
@@ -149,6 +149,33 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- 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
/* 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
+++ linux-2.6.21.1/drivers/mtd/devices/at91_dataflash.c 2007-05-28 16:10:21.000000000 +0200
@@ -173,7 +173,7 @@
Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
===================================================================
--- 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
@ -9,9 +11,11 @@
#endif
--- linux-2.6.21.1.orig/drivers/mtd/Kconfig 2007-05-28 12:22:09.000000000 +0200
+++ linux-2.6.21.1/drivers/mtd/Kconfig 2007-05-28 16:09:16.000000000 +0200
@@ -157,6 +157,12 @@
Index: linux-2.6.21.7/drivers/mtd/Kconfig
===================================================================
--- 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
'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example.
@ -24,9 +28,11 @@
comment "User Modules And Translation Layers"
depends on MTD
--- linux-2.6.21.1.orig/drivers/mtd/Makefile 2007-04-27 23:49:26.000000000 +0200
+++ linux-2.6.21.1/drivers/mtd/Makefile 2007-05-28 16:09:55.000000000 +0200
@@ -12,6 +12,7 @@
Index: linux-2.6.21.7/drivers/mtd/Makefile
===================================================================
--- 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_CMDLINE_PARTS) += cmdlinepart.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
+++ linux-2.6.21.1/drivers/serial/atmel_serial.c 2007-05-28 16:39:09.000000000 +0200
@@ -174,7 +174,35 @@
Index: linux-2.6.21.7/drivers/serial/atmel_serial.c
===================================================================
--- 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);
else
at91_set_gpio_value(AT91_PIN_PA21, 1);
@ -36,7 +38,7 @@
}
#endif
@@ -211,8 +239,10 @@
@@ -211,8 +239,10 @@ static u_int atmel_get_mctrl(struct uart
/*
* The control signals are active low.
*/
@ -49,7 +51,7 @@
if (!(status & ATMEL_US_CTS))
ret |= TIOCM_CTS;
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))
ret |= TIOCM_RI;
@ -66,7 +68,7 @@
return ret;
}
@@ -511,6 +551,34 @@
@@ -511,6 +551,34 @@ static void atmel_tx_chars(struct uart_p
}
/*
@ -101,7 +103,7 @@
* Interrupt handler
*/
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;
}
@ -125,7 +127,7 @@
/*
* 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);
}
free_irq(port->irq, port);
@ -136,7 +138,7 @@
return -ENOMEM;
}
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);
if (retval) {
free_irq(port->irq, port);
@ -147,7 +149,7 @@
return retval;
}
}
@@ -701,6 +794,10 @@
@@ -701,6 +794,10 @@ static void atmel_shutdown(struct uart_p
* Free the interrupt
*/
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
+++ linux-2.6.21.1/arch/arm/mach-at91/at91rm9200_devices.c 2007-05-28 16:44:36.000000000 +0200
@@ -618,7 +618,6 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
===================================================================
--- 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)
@ -8,7 +10,7 @@
static struct platform_device at91_leds = {
.name = "at91_leds",
.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).
*/
at91_set_gpio_output(AT91_PIN_PA21, 1);
@ -19,7 +21,7 @@
}
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_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
+++ linux-2.6.21.1/drivers/net/arm/at91_ether.c 2007-06-04 18:10:36.000000000 +0200
@@ -146,6 +146,7 @@
Index: linux-2.6.21.7/drivers/net/arm/at91_ether.c
===================================================================
--- 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);
unsigned int bmsr, bmcr, lpa, mac_cfg;
unsigned int speed, duplex;
@ -8,7 +10,7 @@
if (!mii_link_ok(&lp->mii)) { /* no link */
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_BMCR, &bmcr);
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
+++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c 2007-06-05 05:27:19.000000000 +0200
@@ -175,6 +175,7 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- 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 */
at91_set_gpio_input(AT91_PIN_PB27, 1); // UDB_CNX
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
+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 10:59:11.000000000 +0200
Index: linux-2.6.21.7/drivers/mmc/at91_mci.c
===================================================================
--- 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 @@
#define DRIVER_NAME "at91_mci"
@ -10,7 +12,7 @@
#define FL_SENT_COMMAND (1 << 0)
#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
*/
@ -19,7 +21,7 @@
{
unsigned int len, i, size;
unsigned *dmabuf = host->buffer;
@@ -181,7 +182,7 @@
@@ -181,7 +182,7 @@ static inline void at91mci_sg_to_dma(str
/*
* Prepare a dma read
*/
@ -28,7 +30,7 @@
{
int i;
struct scatterlist *sg;
@@ -249,23 +250,24 @@
@@ -249,23 +250,24 @@ static void at91mci_pre_dma_read(struct
/*
* Handle after a dma read
*/
@ -56,7 +58,7 @@
}
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? */
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)
{
@ -118,7 +120,7 @@
/* use Slot A or B (only one at same time) */
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
@ -129,7 +131,7 @@
{
unsigned int cmdr, mr;
unsigned int block_length;
@@ -372,8 +355,7 @@
@@ -372,8 +355,7 @@ static unsigned int at91_mci_send_comman
host->cmd = cmd;
@ -139,7 +141,7 @@
if ((at91_mci_read(host, AT91_MCI_SR) & AT91_MCI_RTOE) && (cmd->opcode == 1)) {
pr_debug("Clearing timeout\n");
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));
}
}
@ -148,7 +150,7 @@
cmdr = cmd->opcode;
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_TNPR, 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_TRDIR)
at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN);
@ -283,7 +285,7 @@
}
else
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
*/
@ -292,7 +294,7 @@
{
struct mmc_command *cmd = host->cmd;
unsigned int status;
@@ -583,7 +548,7 @@
@@ -583,7 +548,7 @@ static void at91mci_completed_command(st
else
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->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);
}
@ -405,7 +407,7 @@
if (int_status & AT91_MCI_TXRDY)
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) {
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
+++ linux-2.6.21.1/drivers/mmc/at91_mci.c 2007-06-05 11:28:40.000000000 +0200
Index: linux-2.6.21.7/drivers/mmc/at91_mci.c
===================================================================
--- 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 @@
#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
+++ linux-2.6.21.5/drivers/mtd/devices/at91_dataflash.c 2007-06-19 12:49:48.000000000 +0200
@@ -161,12 +161,12 @@
Index: linux-2.6.21.7/drivers/mtd/devices/at91_dataflash.c
===================================================================
--- 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 */
},
{

View File

@ -1,58 +1,69 @@
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
--- 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
@@ -151,31 +151,37 @@
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
/* Other LED's */
- 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_PB14, 1); // LED BACK AP1
- 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_PB17, 1); // LED BACK BP2
+ 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_PB14, 1); // LED BACK AP1
+ 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_PB17, 1); // LED BACK BP2
+
+/* Test jig presence detection */
+ at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT
/* 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)) {
+ at91_set_gpio_output(AT91_PIN_PB11, 0);
+ at91_set_gpio_output(AT91_PIN_PB9, 1);
+ } else {
+ at91_set_gpio_output(AT91_PIN_PB11, 1);
+ at91_set_gpio_output(AT91_PIN_PB9, 0);
+ }
+
+ at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
/* 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
/* Power indicator */
- at91_set_gpio_input(AT91_PIN_PB22, 1); // PWR_IND
+ 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
+ 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
}
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- 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
@@ -150,32 +150,38 @@ static void __init vlink_board_init(void
/* LEDs */
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
-/* Other LED's */
- 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_PB14, 1); // LED BACK AP1
- 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_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_PC8, 1); // LED FRONT BP1
+ 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_PB16, 1); // LED BACK AP2
+ at91_set_gpio_output(AT91_PIN_PB17, 1); // LED BACK BP2
+
+ /* Test jig presence detection */
+ at91_set_gpio_input(AT91_PIN_PB8, 1); // JIGPRESENT
+
+ /* SIM Cards */
+ if (at91_get_gpio_value(AT91_PIN_PB8)) {
+ at91_set_gpio_output(AT91_PIN_PB11, 0);
+ at91_set_gpio_output(AT91_PIN_PB9, 1);
+ } else {
+ at91_set_gpio_output(AT91_PIN_PB11, 1);
+ at91_set_gpio_output(AT91_PIN_PB9, 0);
+ }
+
+ at91_set_gpio_output(AT91_PIN_PB10, 1); // ENBSC2
+
+ /* GSM Module Control */
+ at91_set_gpio_output(AT91_PIN_PB12, 1); // GSMONOFF
+
+ /* 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
}

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
--- 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
@@ -840,9 +840,9 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c
===================================================================
--- 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
@@ -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_PB0, 0); /* RTS3 */
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);
}
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
--- 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
@@ -126,6 +126,7 @@
Index: linux-2.6.21.7/arch/arm/mach-at91/board-vlink.c
===================================================================
--- 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
@@ -126,6 +126,7 @@ static struct spi_board_info vlink_spi_d
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 */
at91_add_device_serial();
/* 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_add_device_mmc(0, &vlink_mmc_data);
#endif
@ -36,8 +38,8 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
/* LEDs */
// at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
@@ -164,10 +169,16 @@
/* SIM Cards */
@@ -164,10 +169,16 @@ static void __init vlink_board_init(void
/* SIM Cards */
if (at91_get_gpio_value(AT91_PIN_PB8)) {
at91_set_gpio_output(AT91_PIN_PB11, 0);
- at91_set_gpio_output(AT91_PIN_PB9, 1);
@ -53,9 +55,9 @@ diff -urN linux-2.6.21.5.old/arch/arm/mach-at91/board-vlink.c linux-2.6.21.5/arc
+ else
+ at91_set_gpio_output(AT91_PIN_PC13, 0);
}
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_output(AT91_PIN_PB28, 1); // UDB_PUP
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")
diff -urN linux-2.6.21.5.old/drivers/char/vlink_giu.c linux-2.6.21.5/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
@@ -41,8 +41,7 @@
Index: linux-2.6.21.7/drivers/char/vlink_giu.c
===================================================================
--- linux-2.6.21.7.orig/drivers/char/vlink_giu.c
+++ 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_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 cdev cdev;
};
@@ -50,6 +49,53 @@
@@ -50,6 +49,53 @@ struct vio_dev {
struct vio_dev *vio_devices;
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,
loff_t *ppos)
{
@@ -160,6 +206,8 @@
@@ -160,6 +206,8 @@ static int vio_probe(struct platform_dev
{
int retval, i, j;
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) {
vdev = MKDEV(major, 0);
@@ -185,6 +233,7 @@
@@ -185,6 +233,7 @@ static int vio_probe(struct platform_dev
vio_remove(dev);
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);
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);
if (iodev) {
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;
}

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
--- 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
Index: linux-2.6.22.19/arch/arm/boot/compressed/head-at91rm9200.S
===================================================================
--- 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 @@
cmp r7, r3
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
mov r3, #(MACH_TYPE_ONEARM & 0xff)
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
--- 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
Index: linux-2.6.22.19/arch/arm/mach-at91/board-vlink.c
===================================================================
--- /dev/null
+++ linux-2.6.22.19/arch/arm/mach-at91/board-vlink.c
@@ -0,0 +1,191 @@
+/*
+ * 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_machine = vlink_board_init,
+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
--- 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
@@ -103,6 +103,12 @@
Index: linux-2.6.22.19/arch/arm/mach-at91/Kconfig
===================================================================
--- linux-2.6.22.19.orig/arch/arm/mach-at91/Kconfig
+++ linux-2.6.22.19/arch/arm/mach-at91/Kconfig
@@ -103,6 +103,12 @@ config MACH_CHUB
help
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
# ----------------------------------------------------------
diff -urN linux-2.6.22.1.old/arch/arm/mach-at91/Makefile linux-2.6.22.1/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
@@ -29,6 +29,7 @@
Index: linux-2.6.22.19/arch/arm/mach-at91/Makefile
===================================================================
--- linux-2.6.22.19.orig/arch/arm/mach-at91/Makefile
+++ 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_KAFA) += board-kafa.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
# 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_KB9200) += 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
--- 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
@@ -53,7 +53,7 @@
Index: linux-2.6.22.19/arch/arm/mach-at91/Makefile
===================================================================
--- linux-2.6.22.19.orig/arch/arm/mach-at91/Makefile
+++ 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_KB9200) += 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)
# 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
--- 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
Index: linux-2.6.22.19/arch/arm/mach-at91/vlink_leds.c
===================================================================
--- /dev/null
+++ linux-2.6.22.19/arch/arm/mach-at91/vlink_leds.c
@@ -0,0 +1,105 @@
+/*
+ * 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
--- 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
Index: linux-2.6.22.19/arch/arm/mach-at91/gpio.c
===================================================================
--- 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 @@
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)
@@ -71,9 +72,13 @@
@@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip
{
void __iomem *pio = pin_to_controller(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 + (use_pullup ? PIO_PUER : PIO_PUDR));
__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);
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 + (use_pullup ? PIO_PUER : PIO_PUDR));
__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);
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_PUDR);
__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);
@ -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
diff -urN linux-2.6.22.1.old/drivers/char/Kconfig linux-2.6.22.1/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
@@ -1099,5 +1099,12 @@
Index: linux-2.6.22.19/drivers/char/Kconfig
===================================================================
--- linux-2.6.22.19.orig/drivers/char/Kconfig
+++ 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
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
diff -urN linux-2.6.22.1.old/drivers/char/Makefile linux-2.6.22.1/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
@@ -95,6 +95,7 @@
Index: linux-2.6.22.19/drivers/char/Makefile
===================================================================
--- linux-2.6.22.19.orig/drivers/char/Makefile
+++ 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_AT91_SPI) += at91_spi.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_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
--- 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
Index: linux-2.6.22.19/drivers/char/vlink_giu.c
===================================================================
--- /dev/null
+++ linux-2.6.22.19/drivers/char/vlink_giu.c
@@ -0,0 +1,256 @@
+/*
+ * 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
--- 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
@@ -173,7 +173,7 @@
Index: linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
===================================================================
--- linux-2.6.22.19.orig/drivers/mtd/devices/at91_dataflash.c
+++ linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
@@ -173,7 +173,7 @@ static struct mtd_partition static_parti
};
#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
diff -urN linux-2.6.22.1.old/drivers/mtd/Kconfig linux-2.6.22.1/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
@@ -160,6 +160,12 @@
Index: linux-2.6.22.19/drivers/mtd/Kconfig
===================================================================
--- linux-2.6.22.19.orig/drivers/mtd/Kconfig
+++ 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
'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"
config MTD_CHAR
diff -urN linux-2.6.22.1.old/drivers/mtd/Makefile linux-2.6.22.1/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
@@ -11,6 +11,7 @@
Index: linux-2.6.22.19/drivers/mtd/Makefile
===================================================================
--- linux-2.6.22.19.orig/drivers/mtd/Makefile
+++ 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_CMDLINE_PARTS) += cmdlinepart.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
+++ linux-2.6.21.1/drivers/serial/atmel_serial.c 2007-05-28 16:39:09.000000000 +0200
@@ -174,7 +174,35 @@
Index: linux-2.6.22.19/drivers/serial/atmel_serial.c
===================================================================
--- 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);
else
at91_set_gpio_value(AT91_PIN_PA21, 1);
@ -36,7 +38,7 @@
}
#endif
@@ -211,8 +239,10 @@
@@ -211,8 +239,10 @@ static u_int atmel_get_mctrl(struct uart
/*
* The control signals are active low.
*/
@ -49,7 +51,7 @@
if (!(status & ATMEL_US_CTS))
ret |= TIOCM_CTS;
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))
ret |= TIOCM_RI;
@ -66,7 +68,7 @@
return ret;
}
@@ -511,6 +551,34 @@
@@ -511,6 +551,34 @@ static void atmel_tx_chars(struct uart_p
}
/*
@ -101,7 +103,7 @@
* Interrupt handler
*/
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;
}
@ -125,7 +127,7 @@
/*
* 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);
}
free_irq(port->irq, port);
@ -136,7 +138,7 @@
return -ENOMEM;
}
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);
if (retval) {
free_irq(port->irq, port);
@ -147,7 +149,7 @@
return retval;
}
}
@@ -701,6 +794,10 @@
@@ -701,6 +794,10 @@ static void atmel_shutdown(struct uart_p
* Free the interrupt
*/
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
--- 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
@@ -721,6 +721,10 @@
Index: linux-2.6.22.19/arch/arm/mach-at91/at91rm9200_devices.c
===================================================================
--- linux-2.6.22.19.orig/arch/arm/mach-at91/at91rm9200_devices.c
+++ 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).
*/
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[] = {
@@ -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_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
+++ linux-2.6.21.1/drivers/net/arm/at91_ether.c 2007-06-04 18:10:36.000000000 +0200
@@ -146,6 +146,7 @@
Index: linux-2.6.22.19/drivers/net/arm/at91_ether.c
===================================================================
--- 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);
unsigned int bmsr, bmcr, lpa, mac_cfg;
unsigned int speed, duplex;
@ -8,7 +10,7 @@
if (!mii_link_ok(&lp->mii)) { /* no link */
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_BMCR, &bmcr);
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
--- 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
@@ -161,12 +161,12 @@
Index: linux-2.6.22.19/drivers/mtd/devices/at91_dataflash.c
===================================================================
--- linux-2.6.22.19.orig/drivers/mtd/devices/at91_dataflash.c
+++ 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 */
},
{