ixp4xx: refresh patches

SVN-Revision: 22649
This commit is contained in:
Gabor Juhos 2010-08-14 21:07:42 +00:00
parent 78478d7973
commit a1bee93fa0
36 changed files with 104 additions and 105 deletions

View File

@ -1,6 +1,6 @@
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -417,7 +417,6 @@ config ARCH_IXP4XX @@ -418,7 +418,6 @@ config ARCH_IXP4XX
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS

View File

@ -50,7 +50,7 @@
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -417,6 +417,7 @@ config ARCH_IXP4XX @@ -418,6 +418,7 @@ config ARCH_IXP4XX
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/common.c --- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c
@@ -427,6 +427,17 @@ static void __init ixp4xx_clocksource_in @@ -466,6 +466,17 @@ static void __init ixp4xx_clocksource_in
} }
/* /*

View File

@ -374,9 +374,9 @@
+MODULE_AUTHOR("Chris Lang"); +MODULE_AUTHOR("Chris Lang");
--- a/drivers/gpio/Kconfig --- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig
@@ -196,6 +196,14 @@ config GPIO_LANGWELL @@ -275,6 +275,14 @@ config GPIO_TIMBERDALE
help ---help---
Say Y here to support Intel Moorestown platform GPIO. Add support for the GPIO IP in the timberdale FPGA.
+config GPIO_GW_I2C_PLD +config GPIO_GW_I2C_PLD
+ tristate "Gateworks I2C PLD GPIO Expander" + tristate "Gateworks I2C PLD GPIO Expander"

View File

@ -1,6 +1,6 @@
--- a/arch/arm/Kconfig 2010-05-17 19:51:29.000000000 +0200 --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig 2010-05-18 17:44:39.000000000 +0200 +++ b/arch/arm/Kconfig
@@ -433,7 +433,6 @@ config ARCH_IXP4XX @@ -434,7 +434,6 @@ config ARCH_IXP4XX
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
@ -8,8 +8,8 @@
help help
Support for Intel's IXP4XX (XScale) family of processors. Support for Intel's IXP4XX (XScale) family of processors.
--- a/arch/arm/mach-ixp4xx/Kconfig 2010-02-25 14:45:00.000000000 +0100 --- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig 2010-05-18 17:44:39.000000000 +0200 +++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -199,6 +199,43 @@ config IXP4XX_INDIRECT_PCI @@ -199,6 +199,43 @@ config IXP4XX_INDIRECT_PCI
need to use the indirect method instead. If you don't know need to use the indirect method instead. If you don't know
what you need, leave this option unselected. what you need, leave this option unselected.
@ -54,8 +54,8 @@
config IXP4XX_QMGR config IXP4XX_QMGR
tristate "IXP4xx Queue Manager support" tristate "IXP4xx Queue Manager support"
help help
--- a/arch/arm/mach-ixp4xx/common-pci.c 2010-05-17 19:51:29.000000000 +0200 --- a/arch/arm/mach-ixp4xx/common-pci.c
+++ b/arch/arm/mach-ixp4xx/common-pci.c 2010-05-18 17:44:39.000000000 +0200 +++ b/arch/arm/mach-ixp4xx/common-pci.c
@@ -321,27 +321,33 @@ static int abort_handler(unsigned long a @@ -321,27 +321,33 @@ static int abort_handler(unsigned long a
*/ */
static int ixp4xx_pci_platform_notify(struct device *dev) static int ixp4xx_pci_platform_notify(struct device *dev)
@ -103,8 +103,8 @@
void __init ixp4xx_pci_preinit(void) void __init ixp4xx_pci_preinit(void)
{ {
--- a/arch/arm/mach-ixp4xx/include/mach/memory.h 2009-03-24 18:00:31.000000000 +0100 --- a/arch/arm/mach-ixp4xx/include/mach/memory.h
+++ b/arch/arm/mach-ixp4xx/include/mach/memory.h 2010-05-18 17:44:39.000000000 +0200 +++ b/arch/arm/mach-ixp4xx/include/mach/memory.h
@@ -16,10 +16,12 @@ @@ -16,10 +16,12 @@
#if !defined(__ASSEMBLY__) && defined(CONFIG_PCI) #if !defined(__ASSEMBLY__) && defined(CONFIG_PCI)

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/gateway7001-setup.c --- a/arch/arm/mach-ixp4xx/gateway7001-setup.c
+++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c
@@ -76,9 +76,35 @@ static struct platform_device gateway700 @@ -75,9 +75,35 @@ static struct platform_device gateway700
.resource = &gateway7001_uart_resource, .resource = &gateway7001_uart_resource,
}; };
@ -39,7 +39,7 @@
static void __init gateway7001_init(void) static void __init gateway7001_init(void)
--- a/arch/arm/mach-ixp4xx/wg302v2-setup.c --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c
+++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c
@@ -77,9 +77,26 @@ static struct platform_device wg302v2_ua @@ -76,9 +76,26 @@ static struct platform_device wg302v2_ua
.resource = &wg302v2_uart_resource, .resource = &wg302v2_uart_resource,
}; };

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/coyote-setup.c --- a/arch/arm/mach-ixp4xx/coyote-setup.c
+++ b/arch/arm/mach-ixp4xx/coyote-setup.c +++ b/arch/arm/mach-ixp4xx/coyote-setup.c
@@ -82,9 +82,37 @@ static struct platform_device coyote_uar @@ -81,9 +81,37 @@ static struct platform_device coyote_uar
.resource = &coyote_uart_resource, .resource = &coyote_uart_resource,
}; };

View File

@ -124,7 +124,7 @@
unsigned int custom_divisor; unsigned int custom_divisor;
--- a/drivers/serial/8250.c --- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c +++ b/drivers/serial/8250.c
@@ -409,6 +409,20 @@ static void mem_serial_out(struct uart_p @@ -410,6 +410,20 @@ static void mem_serial_out(struct uart_p
writeb(value, p->membase + offset); writeb(value, p->membase + offset);
} }
@ -145,7 +145,7 @@
static void mem32_serial_out(struct uart_port *p, int offset, int value) static void mem32_serial_out(struct uart_port *p, int offset, int value)
{ {
offset = map_8250_out_reg(p, offset) << p->regshift; offset = map_8250_out_reg(p, offset) << p->regshift;
@@ -502,6 +516,11 @@ static void set_io_from_upio(struct uart @@ -503,6 +517,11 @@ static void set_io_from_upio(struct uart
p->serial_out = mem32_serial_out; p->serial_out = mem32_serial_out;
break; break;
@ -157,7 +157,7 @@
#ifdef CONFIG_SERIAL_8250_AU1X00 #ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU: case UPIO_AU:
p->serial_in = au_serial_in; p->serial_in = au_serial_in;
@@ -534,6 +553,7 @@ serial_out_sync(struct uart_8250_port *u @@ -535,6 +554,7 @@ serial_out_sync(struct uart_8250_port *u
switch (p->iotype) { switch (p->iotype) {
case UPIO_MEM: case UPIO_MEM:
case UPIO_MEM32: case UPIO_MEM32:
@ -165,7 +165,7 @@
#ifdef CONFIG_SERIAL_8250_AU1X00 #ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU: case UPIO_AU:
#endif #endif
@@ -2450,6 +2470,7 @@ static int serial8250_request_std_resour @@ -2460,6 +2480,7 @@ static int serial8250_request_std_resour
case UPIO_MEM32: case UPIO_MEM32:
case UPIO_MEM: case UPIO_MEM:
case UPIO_DWAPB: case UPIO_DWAPB:
@ -173,7 +173,7 @@
if (!up->port.mapbase) if (!up->port.mapbase)
break; break;
@@ -2487,6 +2508,7 @@ static void serial8250_release_std_resou @@ -2497,6 +2518,7 @@ static void serial8250_release_std_resou
case UPIO_MEM32: case UPIO_MEM32:
case UPIO_MEM: case UPIO_MEM:
case UPIO_DWAPB: case UPIO_DWAPB:
@ -181,7 +181,7 @@
if (!up->port.mapbase) if (!up->port.mapbase)
break; break;
@@ -2964,6 +2986,7 @@ static int __devinit serial8250_probe(st @@ -2995,6 +3017,7 @@ static int __devinit serial8250_probe(st
port.serial_in = p->serial_in; port.serial_in = p->serial_in;
port.serial_out = p->serial_out; port.serial_out = p->serial_out;
port.dev = &dev->dev; port.dev = &dev->dev;
@ -189,7 +189,7 @@
port.irqflags |= irqflag; port.irqflags |= irqflag;
ret = serial8250_register_port(&port); ret = serial8250_register_port(&port);
if (ret < 0) { if (ret < 0) {
@@ -3113,6 +3136,7 @@ int serial8250_register_port(struct uart @@ -3144,6 +3167,7 @@ int serial8250_register_port(struct uart
uart->port.iotype = port->iotype; uart->port.iotype = port->iotype;
uart->port.flags = port->flags | UPF_BOOT_AUTOCONF; uart->port.flags = port->flags | UPF_BOOT_AUTOCONF;
uart->port.mapbase = port->mapbase; uart->port.mapbase = port->mapbase;

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c --- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
+++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
@@ -583,6 +583,8 @@ int npe_load_firmware(struct npe *npe, c @@ -582,6 +582,8 @@ int npe_load_firmware(struct npe *npe, c
npe_reset(npe); npe_reset(npe);
#endif #endif

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -1217,6 +1217,10 @@ static int __devinit eth_init_one(struct @@ -1221,6 +1221,10 @@ static int __devinit eth_init_one(struct
if ((err = IS_ERR(port->phydev))) if ((err = IS_ERR(port->phydev)))
goto err_free_mem; goto err_free_mem;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -396,6 +396,50 @@ static void ixp4xx_adjust_link(struct ne @@ -397,6 +397,50 @@ static void ixp4xx_adjust_link(struct ne
dev->name, port->speed, port->duplex ? "full" : "half"); dev->name, port->speed, port->duplex ? "full" : "half");
} }
@ -51,7 +51,7 @@
static inline void debug_pkt(struct net_device *dev, const char *func, static inline void debug_pkt(struct net_device *dev, const char *func,
u8 *data, int len) u8 *data, int len)
@@ -1005,8 +1049,7 @@ static int eth_open(struct net_device *d @@ -1009,8 +1053,7 @@ static int eth_open(struct net_device *d
return err; return err;
} }
@ -61,7 +61,7 @@
for (i = 0; i < ETH_ALEN; i++) for (i = 0; i < ETH_ALEN; i++)
__raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]); __raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
@@ -1127,7 +1170,7 @@ static int eth_close(struct net_device * @@ -1131,7 +1174,7 @@ static int eth_close(struct net_device *
printk(KERN_CRIT "%s: unable to disable loopback\n", printk(KERN_CRIT "%s: unable to disable loopback\n",
dev->name); dev->name);
@ -70,7 +70,7 @@
if (!ports_open) if (!ports_open)
qmgr_disable_irq(TXDONE_QUEUE); qmgr_disable_irq(TXDONE_QUEUE);
@@ -1153,7 +1196,6 @@ static int __devinit eth_init_one(struct @@ -1157,7 +1200,6 @@ static int __devinit eth_init_one(struct
struct net_device *dev; struct net_device *dev;
struct eth_plat_info *plat = pdev->dev.platform_data; struct eth_plat_info *plat = pdev->dev.platform_data;
u32 regs_phys; u32 regs_phys;
@ -78,7 +78,7 @@
int err; int err;
if (!(dev = alloc_etherdev(sizeof(struct port)))) if (!(dev = alloc_etherdev(sizeof(struct port))))
@@ -1211,18 +1253,10 @@ static int __devinit eth_init_one(struct @@ -1215,18 +1257,10 @@ static int __devinit eth_init_one(struct
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control); __raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50); udelay(50);
@ -99,7 +99,7 @@
if ((err = register_netdev(dev))) if ((err = register_netdev(dev)))
goto err_phy_dis; goto err_phy_dis;
@@ -1232,7 +1266,7 @@ static int __devinit eth_init_one(struct @@ -1236,7 +1270,7 @@ static int __devinit eth_init_one(struct
return 0; return 0;
err_phy_dis: err_phy_dis:
@ -108,7 +108,7 @@
err_free_mem: err_free_mem:
npe_port_tab[NPE_ID(port->id)] = NULL; npe_port_tab[NPE_ID(port->id)] = NULL;
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
@@ -1250,7 +1284,7 @@ static int __devexit eth_remove_one(stru @@ -1254,7 +1288,7 @@ static int __devexit eth_remove_one(stru
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
unregister_netdev(dev); unregister_netdev(dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -168,7 +168,7 @@ struct port { @@ -169,7 +169,7 @@ struct port {
struct desc *desc_tab; /* coherent */ struct desc *desc_tab; /* coherent */
u32 desc_tab_phys; u32 desc_tab_phys;
int id; /* logical port ID */ int id; /* logical port ID */
@ -9,7 +9,7 @@
u8 firmware[4]; u8 firmware[4];
}; };
@@ -365,37 +365,52 @@ static void ixp4xx_mdio_remove(void) @@ -366,37 +366,52 @@ static void ixp4xx_mdio_remove(void)
mdiobus_free(mdio_bus); mdiobus_free(mdio_bus);
} }
@ -77,7 +77,7 @@
static int ixp4xx_phy_connect(struct net_device *dev) static int ixp4xx_phy_connect(struct net_device *dev)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@@ -430,7 +445,6 @@ static void ixp4xx_phy_start(struct net_ @@ -431,7 +446,6 @@ static void ixp4xx_phy_start(struct net_
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@ -85,7 +85,7 @@
phy_start(port->phydev); phy_start(port->phydev);
} }
@@ -1260,6 +1274,10 @@ static int __devinit eth_init_one(struct @@ -1264,6 +1278,10 @@ static int __devinit eth_init_one(struct
if ((err = register_netdev(dev))) if ((err = register_netdev(dev)))
goto err_phy_dis; goto err_phy_dis;

View File

@ -37,7 +37,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
/* Information about built-in HSS (synchronous serial) interfaces */ /* Information about built-in HSS (synchronous serial) interfaces */
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -417,6 +417,37 @@ static int ixp4xx_phy_connect(struct net @@ -418,6 +418,37 @@ static int ixp4xx_phy_connect(struct net
struct eth_plat_info *plat = port->plat; struct eth_plat_info *plat = port->plat;
char phy_id[MII_BUS_ID_SIZE + 3]; char phy_id[MII_BUS_ID_SIZE + 3];
@ -75,7 +75,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, "0", plat->phy); snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, "0", plat->phy);
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0, port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
PHY_INTERFACE_MODE_MII); PHY_INTERFACE_MODE_MII);
@@ -438,21 +469,32 @@ static void ixp4xx_phy_disconnect(struct @@ -439,21 +470,32 @@ static void ixp4xx_phy_disconnect(struct
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@ -111,7 +111,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
} }
static inline void debug_pkt(struct net_device *dev, const char *func, static inline void debug_pkt(struct net_device *dev, const char *func,
@@ -826,6 +868,10 @@ static int eth_ioctl(struct net_device * @@ -830,6 +872,10 @@ static int eth_ioctl(struct net_device *
if (!netif_running(dev)) if (!netif_running(dev))
return -EINVAL; return -EINVAL;
@ -122,7 +122,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
return phy_mii_ioctl(port->phydev, if_mii(req), cmd); return phy_mii_ioctl(port->phydev, if_mii(req), cmd);
} }
@@ -845,18 +891,30 @@ static void ixp4xx_get_drvinfo(struct ne @@ -849,18 +895,30 @@ static void ixp4xx_get_drvinfo(struct ne
static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -157,6 +157,13 @@ config LEDS_LP3944 @@ -166,6 +166,13 @@ config LEDS_LP3944
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called leds-lp3944. module will be called leds-lp3944.
@ -13,7 +13,7 @@
+ +
config LEDS_CLEVO_MAIL config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook" tristate "Mail LED on Clevo notebook"
depends on LEDS_CLASS && X86 && SERIO_I8042 && DMI depends on X86 && SERIO_I8042 && DMI
--- /dev/null --- /dev/null
+++ b/drivers/leds/leds-latch.c +++ b/drivers/leds/leds-latch.c
@@ -0,0 +1,150 @@ @@ -0,0 +1,150 @@
@ -169,7 +169,7 @@
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-c @@ -21,6 +21,7 @@ obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-c
obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o
obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/avila-setup.c --- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c +++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -38,6 +38,13 @@ @@ -36,6 +36,13 @@
#define AVILA_SDA_PIN 7 #define AVILA_SDA_PIN 7
#define AVILA_SCL_PIN 6 #define AVILA_SCL_PIN 6

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -52,7 +52,7 @@ @@ -53,7 +53,7 @@
#define POOL_ALLOC_SIZE (sizeof(struct desc) * (RX_DESCS + TX_DESCS)) #define POOL_ALLOC_SIZE (sizeof(struct desc) * (RX_DESCS + TX_DESCS))
#define REGS_SIZE 0x1000 #define REGS_SIZE 0x1000
@ -9,7 +9,7 @@
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4) #define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
#define NAPI_WEIGHT 16 #define NAPI_WEIGHT 16
@@ -1061,6 +1061,32 @@ static void destroy_queues(struct port * @@ -1065,6 +1065,32 @@ static void destroy_queues(struct port *
} }
} }
@ -42,7 +42,7 @@
static int eth_open(struct net_device *dev) static int eth_open(struct net_device *dev)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@@ -1112,6 +1138,8 @@ static int eth_open(struct net_device *d @@ -1116,6 +1142,8 @@ static int eth_open(struct net_device *d
if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE")) if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
return -EIO; return -EIO;
@ -51,7 +51,7 @@
if ((err = request_queues(port)) != 0) if ((err = request_queues(port)) != 0)
return err; return err;
@@ -1251,7 +1279,26 @@ static int eth_close(struct net_device * @@ -1255,7 +1283,26 @@ static int eth_close(struct net_device *
return 0; return 0;
} }

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c --- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c
@@ -179,10 +179,37 @@ static struct platform_device gtwx5715_s @@ -178,10 +178,37 @@ static struct platform_device gtwx5715_s
}, },
}; };

View File

@ -50,7 +50,7 @@
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -417,6 +417,7 @@ config ARCH_IXP4XX @@ -434,6 +434,7 @@ config ARCH_IXP4XX
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mm/dma-mapping.c --- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c
@@ -384,7 +384,8 @@ EXPORT_SYMBOL(dma_mmap_writecombine); @@ -381,7 +381,8 @@ EXPORT_SYMBOL(dma_mmap_writecombine);
*/ */
void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t handle) void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t handle)
{ {

View File

@ -1,6 +1,6 @@
--- a/arch/arm/kernel/setup.c --- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c
@@ -322,12 +322,13 @@ static void __init setup_processor(void) @@ -323,12 +323,13 @@ static void __init setup_processor(void)
void cpu_init(void) void cpu_init(void)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
@ -15,7 +15,7 @@
/* /*
* Define the placement constraint for the inline asm directive below. * Define the placement constraint for the inline asm directive below.
@@ -386,13 +387,14 @@ static struct machine_desc * __init setu @@ -387,13 +388,14 @@ static struct machine_desc * __init setu
static int __init arm_add_memory(unsigned long start, unsigned long size) static int __init arm_add_memory(unsigned long start, unsigned long size)
{ {

View File

@ -374,9 +374,9 @@
+MODULE_AUTHOR("Chris Lang"); +MODULE_AUTHOR("Chris Lang");
--- a/drivers/gpio/Kconfig --- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig
@@ -221,6 +221,14 @@ config GPIO_TIMBERDALE @@ -298,6 +298,14 @@ config GPIO_RDC321X
---help--- Support for the RDC R321x SoC GPIOs over southbridge
Add support for the GPIO IP in the timberdale FPGA. PCI configuration space.
+config GPIO_GW_I2C_PLD +config GPIO_GW_I2C_PLD
+ tristate "Gateworks I2C PLD GPIO Expander" + tristate "Gateworks I2C PLD GPIO Expander"
@ -391,7 +391,7 @@
config GPIO_MAX7301 config GPIO_MAX7301
--- a/drivers/gpio/Makefile --- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile
@@ -31,3 +31,4 @@ obj-$(CONFIG_GPIO_WM8994) += wm8994-gpio @@ -35,3 +35,4 @@ obj-$(CONFIG_GPIO_WM8994) += wm8994-gpio
obj-$(CONFIG_GPIO_SCH) += sch_gpio.o obj-$(CONFIG_GPIO_SCH) += sch_gpio.o
obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o
obj-$(CONFIG_GPIO_JANZ_TTL) += janz-ttl.o obj-$(CONFIG_GPIO_JANZ_TTL) += janz-ttl.o

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/gateway7001-setup.c --- a/arch/arm/mach-ixp4xx/gateway7001-setup.c
+++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c
@@ -76,9 +76,35 @@ static struct platform_device gateway700 @@ -75,9 +75,35 @@ static struct platform_device gateway700
.resource = &gateway7001_uart_resource, .resource = &gateway7001_uart_resource,
}; };
@ -39,7 +39,7 @@
static void __init gateway7001_init(void) static void __init gateway7001_init(void)
--- a/arch/arm/mach-ixp4xx/wg302v2-setup.c --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c
+++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c
@@ -77,9 +77,26 @@ static struct platform_device wg302v2_ua @@ -76,9 +76,26 @@ static struct platform_device wg302v2_ua
.resource = &wg302v2_uart_resource, .resource = &wg302v2_uart_resource,
}; };

View File

@ -1,6 +1,6 @@
--- a/arch/arm/configs/ixp4xx_defconfig --- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig +++ b/arch/arm/configs/ixp4xx_defconfig
@@ -155,6 +155,7 @@ CONFIG_MACH_AVILA=y @@ -13,6 +13,7 @@ CONFIG_MACH_AVILA=y
CONFIG_MACH_LOFT=y CONFIG_MACH_LOFT=y
CONFIG_ARCH_ADI_COYOTE=y CONFIG_ARCH_ADI_COYOTE=y
CONFIG_MACH_GATEWAY7001=y CONFIG_MACH_GATEWAY7001=y

View File

@ -1,6 +1,6 @@
--- a/arch/arm/configs/ixp4xx_defconfig --- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig +++ b/arch/arm/configs/ixp4xx_defconfig
@@ -157,6 +157,8 @@ CONFIG_ARCH_ADI_COYOTE=y @@ -15,6 +15,8 @@ CONFIG_ARCH_ADI_COYOTE=y
CONFIG_MACH_GATEWAY7001=y CONFIG_MACH_GATEWAY7001=y
CONFIG_MACH_WG302V1=y CONFIG_MACH_WG302V1=y
CONFIG_MACH_WG302V2=y CONFIG_MACH_WG302V2=y

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/coyote-setup.c --- a/arch/arm/mach-ixp4xx/coyote-setup.c
+++ b/arch/arm/mach-ixp4xx/coyote-setup.c +++ b/arch/arm/mach-ixp4xx/coyote-setup.c
@@ -82,9 +82,37 @@ static struct platform_device coyote_uar @@ -81,9 +81,37 @@ static struct platform_device coyote_uar
.resource = &coyote_uart_resource, .resource = &coyote_uart_resource,
}; };

View File

@ -106,7 +106,7 @@
unsigned int type; /* If UPF_FIXED_TYPE */ unsigned int type; /* If UPF_FIXED_TYPE */
--- a/include/linux/serial_core.h --- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h +++ b/include/linux/serial_core.h
@@ -288,6 +288,7 @@ struct uart_port { @@ -293,6 +293,7 @@ struct uart_port {
#define UPIO_TSI (5) /* Tsi108/109 type IO */ #define UPIO_TSI (5) /* Tsi108/109 type IO */
#define UPIO_DWAPB (6) /* DesignWare APB UART */ #define UPIO_DWAPB (6) /* DesignWare APB UART */
#define UPIO_RM9000 (7) /* RM9000 type IO */ #define UPIO_RM9000 (7) /* RM9000 type IO */
@ -114,7 +114,7 @@
unsigned int read_status_mask; /* driver specific */ unsigned int read_status_mask; /* driver specific */
unsigned int ignore_status_mask; /* driver specific */ unsigned int ignore_status_mask; /* driver specific */
@@ -330,6 +331,7 @@ struct uart_port { @@ -335,6 +336,7 @@ struct uart_port {
unsigned int mctrl; /* current modem ctrl settings */ unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */ unsigned int timeout; /* character-based timeout */
@ -124,7 +124,7 @@
unsigned int custom_divisor; unsigned int custom_divisor;
--- a/drivers/serial/8250.c --- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c +++ b/drivers/serial/8250.c
@@ -409,6 +409,20 @@ static void mem_serial_out(struct uart_p @@ -410,6 +410,20 @@ static void mem_serial_out(struct uart_p
writeb(value, p->membase + offset); writeb(value, p->membase + offset);
} }
@ -145,7 +145,7 @@
static void mem32_serial_out(struct uart_port *p, int offset, int value) static void mem32_serial_out(struct uart_port *p, int offset, int value)
{ {
offset = map_8250_out_reg(p, offset) << p->regshift; offset = map_8250_out_reg(p, offset) << p->regshift;
@@ -502,6 +516,11 @@ static void set_io_from_upio(struct uart @@ -503,6 +517,11 @@ static void set_io_from_upio(struct uart
p->serial_out = mem32_serial_out; p->serial_out = mem32_serial_out;
break; break;
@ -157,7 +157,7 @@
#ifdef CONFIG_SERIAL_8250_AU1X00 #ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU: case UPIO_AU:
p->serial_in = au_serial_in; p->serial_in = au_serial_in;
@@ -534,6 +553,7 @@ serial_out_sync(struct uart_8250_port *u @@ -535,6 +554,7 @@ serial_out_sync(struct uart_8250_port *u
switch (p->iotype) { switch (p->iotype) {
case UPIO_MEM: case UPIO_MEM:
case UPIO_MEM32: case UPIO_MEM32:
@ -165,7 +165,7 @@
#ifdef CONFIG_SERIAL_8250_AU1X00 #ifdef CONFIG_SERIAL_8250_AU1X00
case UPIO_AU: case UPIO_AU:
#endif #endif
@@ -2450,6 +2470,7 @@ static int serial8250_request_std_resour @@ -2460,6 +2480,7 @@ static int serial8250_request_std_resour
case UPIO_MEM32: case UPIO_MEM32:
case UPIO_MEM: case UPIO_MEM:
case UPIO_DWAPB: case UPIO_DWAPB:
@ -173,7 +173,7 @@
if (!up->port.mapbase) if (!up->port.mapbase)
break; break;
@@ -2487,6 +2508,7 @@ static void serial8250_release_std_resou @@ -2497,6 +2518,7 @@ static void serial8250_release_std_resou
case UPIO_MEM32: case UPIO_MEM32:
case UPIO_MEM: case UPIO_MEM:
case UPIO_DWAPB: case UPIO_DWAPB:
@ -181,7 +181,7 @@
if (!up->port.mapbase) if (!up->port.mapbase)
break; break;
@@ -2964,6 +2986,7 @@ static int __devinit serial8250_probe(st @@ -2995,6 +3017,7 @@ static int __devinit serial8250_probe(st
port.serial_in = p->serial_in; port.serial_in = p->serial_in;
port.serial_out = p->serial_out; port.serial_out = p->serial_out;
port.dev = &dev->dev; port.dev = &dev->dev;
@ -189,7 +189,7 @@
port.irqflags |= irqflag; port.irqflags |= irqflag;
ret = serial8250_register_port(&port); ret = serial8250_register_port(&port);
if (ret < 0) { if (ret < 0) {
@@ -3113,6 +3136,7 @@ int serial8250_register_port(struct uart @@ -3144,6 +3167,7 @@ int serial8250_register_port(struct uart
uart->port.iotype = port->iotype; uart->port.iotype = port->iotype;
uart->port.flags = port->flags | UPF_BOOT_AUTOCONF; uart->port.flags = port->flags | UPF_BOOT_AUTOCONF;
uart->port.mapbase = port->mapbase; uart->port.mapbase = port->mapbase;

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c --- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
+++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
@@ -583,6 +583,8 @@ int npe_load_firmware(struct npe *npe, c @@ -582,6 +582,8 @@ int npe_load_firmware(struct npe *npe, c
npe_reset(npe); npe_reset(npe);
#endif #endif

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -1217,6 +1217,10 @@ static int __devinit eth_init_one(struct @@ -1220,6 +1220,10 @@ static int __devinit eth_init_one(struct
if ((err = IS_ERR(port->phydev))) if ((err = IS_ERR(port->phydev)))
goto err_free_mem; goto err_free_mem;

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -396,6 +396,50 @@ static void ixp4xx_adjust_link(struct ne @@ -397,6 +397,50 @@ static void ixp4xx_adjust_link(struct ne
dev->name, port->speed, port->duplex ? "full" : "half"); dev->name, port->speed, port->duplex ? "full" : "half");
} }
@ -51,7 +51,7 @@
static inline void debug_pkt(struct net_device *dev, const char *func, static inline void debug_pkt(struct net_device *dev, const char *func,
u8 *data, int len) u8 *data, int len)
@@ -1005,8 +1049,7 @@ static int eth_open(struct net_device *d @@ -1008,8 +1052,7 @@ static int eth_open(struct net_device *d
return err; return err;
} }
@ -61,7 +61,7 @@
for (i = 0; i < ETH_ALEN; i++) for (i = 0; i < ETH_ALEN; i++)
__raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]); __raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
@@ -1127,7 +1170,7 @@ static int eth_close(struct net_device * @@ -1130,7 +1173,7 @@ static int eth_close(struct net_device *
printk(KERN_CRIT "%s: unable to disable loopback\n", printk(KERN_CRIT "%s: unable to disable loopback\n",
dev->name); dev->name);
@ -70,7 +70,7 @@
if (!ports_open) if (!ports_open)
qmgr_disable_irq(TXDONE_QUEUE); qmgr_disable_irq(TXDONE_QUEUE);
@@ -1153,7 +1196,6 @@ static int __devinit eth_init_one(struct @@ -1156,7 +1199,6 @@ static int __devinit eth_init_one(struct
struct net_device *dev; struct net_device *dev;
struct eth_plat_info *plat = pdev->dev.platform_data; struct eth_plat_info *plat = pdev->dev.platform_data;
u32 regs_phys; u32 regs_phys;
@ -78,7 +78,7 @@
int err; int err;
if (!(dev = alloc_etherdev(sizeof(struct port)))) if (!(dev = alloc_etherdev(sizeof(struct port))))
@@ -1211,18 +1253,10 @@ static int __devinit eth_init_one(struct @@ -1214,18 +1256,10 @@ static int __devinit eth_init_one(struct
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control); __raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50); udelay(50);
@ -99,7 +99,7 @@
if ((err = register_netdev(dev))) if ((err = register_netdev(dev)))
goto err_phy_dis; goto err_phy_dis;
@@ -1232,7 +1266,7 @@ static int __devinit eth_init_one(struct @@ -1235,7 +1269,7 @@ static int __devinit eth_init_one(struct
return 0; return 0;
err_phy_dis: err_phy_dis:
@ -108,7 +108,7 @@
err_free_mem: err_free_mem:
npe_port_tab[NPE_ID(port->id)] = NULL; npe_port_tab[NPE_ID(port->id)] = NULL;
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
@@ -1250,7 +1284,7 @@ static int __devexit eth_remove_one(stru @@ -1253,7 +1287,7 @@ static int __devexit eth_remove_one(stru
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
unregister_netdev(dev); unregister_netdev(dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -168,7 +168,7 @@ struct port { @@ -169,7 +169,7 @@ struct port {
struct desc *desc_tab; /* coherent */ struct desc *desc_tab; /* coherent */
u32 desc_tab_phys; u32 desc_tab_phys;
int id; /* logical port ID */ int id; /* logical port ID */
@ -9,7 +9,7 @@
u8 firmware[4]; u8 firmware[4];
}; };
@@ -365,37 +365,52 @@ static void ixp4xx_mdio_remove(void) @@ -366,37 +366,52 @@ static void ixp4xx_mdio_remove(void)
mdiobus_free(mdio_bus); mdiobus_free(mdio_bus);
} }
@ -77,7 +77,7 @@
static int ixp4xx_phy_connect(struct net_device *dev) static int ixp4xx_phy_connect(struct net_device *dev)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@@ -430,7 +445,6 @@ static void ixp4xx_phy_start(struct net_ @@ -431,7 +446,6 @@ static void ixp4xx_phy_start(struct net_
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@ -85,7 +85,7 @@
phy_start(port->phydev); phy_start(port->phydev);
} }
@@ -1260,6 +1274,10 @@ static int __devinit eth_init_one(struct @@ -1263,6 +1277,10 @@ static int __devinit eth_init_one(struct
if ((err = register_netdev(dev))) if ((err = register_netdev(dev)))
goto err_phy_dis; goto err_phy_dis;

View File

@ -37,7 +37,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
/* Information about built-in HSS (synchronous serial) interfaces */ /* Information about built-in HSS (synchronous serial) interfaces */
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -417,6 +417,37 @@ static int ixp4xx_phy_connect(struct net @@ -418,6 +418,37 @@ static int ixp4xx_phy_connect(struct net
struct eth_plat_info *plat = port->plat; struct eth_plat_info *plat = port->plat;
char phy_id[MII_BUS_ID_SIZE + 3]; char phy_id[MII_BUS_ID_SIZE + 3];
@ -75,7 +75,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, "0", plat->phy); snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, "0", plat->phy);
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0, port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
PHY_INTERFACE_MODE_MII); PHY_INTERFACE_MODE_MII);
@@ -438,21 +469,32 @@ static void ixp4xx_phy_disconnect(struct @@ -439,21 +470,32 @@ static void ixp4xx_phy_disconnect(struct
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@ -111,7 +111,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
} }
static inline void debug_pkt(struct net_device *dev, const char *func, static inline void debug_pkt(struct net_device *dev, const char *func,
@@ -826,6 +868,10 @@ static int eth_ioctl(struct net_device * @@ -829,6 +871,10 @@ static int eth_ioctl(struct net_device *
if (!netif_running(dev)) if (!netif_running(dev))
return -EINVAL; return -EINVAL;
@ -122,7 +122,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
return phy_mii_ioctl(port->phydev, if_mii(req), cmd); return phy_mii_ioctl(port->phydev, if_mii(req), cmd);
} }
@@ -845,18 +891,30 @@ static void ixp4xx_get_drvinfo(struct ne @@ -848,18 +894,30 @@ static void ixp4xx_get_drvinfo(struct ne
static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -157,6 +157,13 @@ config LEDS_LP3944 @@ -176,6 +176,13 @@ config LEDS_LP3944
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called leds-lp3944. module will be called leds-lp3944.
@ -13,7 +13,7 @@
+ +
config LEDS_CLEVO_MAIL config LEDS_CLEVO_MAIL
tristate "Mail LED on Clevo notebook" tristate "Mail LED on Clevo notebook"
depends on LEDS_CLASS && X86 && SERIO_I8042 && DMI depends on X86 && SERIO_I8042 && DMI
--- /dev/null --- /dev/null
+++ b/drivers/leds/leds-latch.c +++ b/drivers/leds/leds-latch.c
@@ -0,0 +1,150 @@ @@ -0,0 +1,150 @@
@ -167,10 +167,9 @@
+ +
+MODULE_AUTHOR("Chris Lang <clang@gateworks.com>"); +MODULE_AUTHOR("Chris Lang <clang@gateworks.com>");
+MODULE_DESCRIPTION("Latch LED driver"); +MODULE_DESCRIPTION("Latch LED driver");
+MODULE_LICENSE("GPL");
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-c @@ -22,6 +22,7 @@ obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-c
obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o
obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
@ -180,7 +179,7 @@
obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o
--- a/include/linux/leds.h --- a/include/linux/leds.h
+++ b/include/linux/leds.h +++ b/include/linux/leds.h
@@ -161,5 +161,19 @@ struct gpio_led_platform_data { @@ -165,5 +165,19 @@ struct gpio_led_platform_data {
unsigned long *delay_off); unsigned long *delay_off);
}; };

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/avila-setup.c --- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c +++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -38,6 +38,13 @@ @@ -36,6 +36,13 @@
#define AVILA_SDA_PIN 7 #define AVILA_SDA_PIN 7
#define AVILA_SCL_PIN 6 #define AVILA_SCL_PIN 6

View File

@ -1,6 +1,6 @@
--- a/drivers/net/arm/ixp4xx_eth.c --- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c
@@ -52,7 +52,7 @@ @@ -53,7 +53,7 @@
#define POOL_ALLOC_SIZE (sizeof(struct desc) * (RX_DESCS + TX_DESCS)) #define POOL_ALLOC_SIZE (sizeof(struct desc) * (RX_DESCS + TX_DESCS))
#define REGS_SIZE 0x1000 #define REGS_SIZE 0x1000
@ -9,7 +9,7 @@
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4) #define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
#define NAPI_WEIGHT 16 #define NAPI_WEIGHT 16
@@ -1061,6 +1061,32 @@ static void destroy_queues(struct port * @@ -1064,6 +1064,32 @@ static void destroy_queues(struct port *
} }
} }
@ -42,7 +42,7 @@
static int eth_open(struct net_device *dev) static int eth_open(struct net_device *dev)
{ {
struct port *port = netdev_priv(dev); struct port *port = netdev_priv(dev);
@@ -1112,6 +1138,8 @@ static int eth_open(struct net_device *d @@ -1115,6 +1141,8 @@ static int eth_open(struct net_device *d
if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE")) if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
return -EIO; return -EIO;
@ -51,7 +51,7 @@
if ((err = request_queues(port)) != 0) if ((err = request_queues(port)) != 0)
return err; return err;
@@ -1251,7 +1279,26 @@ static int eth_close(struct net_device * @@ -1254,7 +1282,26 @@ static int eth_close(struct net_device *
return 0; return 0;
} }

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c --- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c
@@ -179,10 +179,37 @@ static struct platform_device gtwx5715_s @@ -178,10 +178,37 @@ static struct platform_device gtwx5715_s
}, },
}; };

View File

@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/common.c --- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c
@@ -36,6 +36,7 @@ @@ -35,6 +35,7 @@
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/irq.h> #include <asm/irq.h>
@ -8,7 +8,7 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
@@ -375,12 +376,39 @@ static struct platform_device *ixp46x_de @@ -374,12 +375,39 @@ static struct platform_device *ixp46x_de
unsigned long ixp4xx_exp_bus_size; unsigned long ixp4xx_exp_bus_size;
EXPORT_SYMBOL(ixp4xx_exp_bus_size); EXPORT_SYMBOL(ixp4xx_exp_bus_size);
@ -50,9 +50,9 @@
--- a/arch/arm/Kconfig --- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -417,6 +417,7 @@ config ARCH_IXP4XX @@ -435,6 +435,7 @@ config ARCH_IXP4XX
select CPU_XSCALE
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
+ select ARCH_REQUIRE_GPIOLIB + select ARCH_REQUIRE_GPIOLIB
help help