ixp4xx: refresh patches
SVN-Revision: 22649
This commit is contained in:
parent
78478d7973
commit
a1bee93fa0
36 changed files with 104 additions and 105 deletions
|
@ -1,6 +1,6 @@
|
|||
--- a/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_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
--- a/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_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -374,9 +374,9 @@
|
|||
+MODULE_AUTHOR("Chris Lang");
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -196,6 +196,14 @@ config GPIO_LANGWELL
|
||||
help
|
||||
Say Y here to support Intel Moorestown platform GPIO.
|
||||
@@ -275,6 +275,14 @@ config GPIO_TIMBERDALE
|
||||
---help---
|
||||
Add support for the GPIO IP in the timberdale FPGA.
|
||||
|
||||
+config GPIO_GW_I2C_PLD
|
||||
+ tristate "Gateworks I2C PLD GPIO Expander"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/arm/Kconfig 2010-05-17 19:51:29.000000000 +0200
|
||||
+++ b/arch/arm/Kconfig 2010-05-18 17:44:39.000000000 +0200
|
||||
@@ -433,7 +433,6 @@ config ARCH_IXP4XX
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -434,7 +434,6 @@ config ARCH_IXP4XX
|
||||
select GENERIC_GPIO
|
||||
select GENERIC_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
|
@ -8,8 +8,8 @@
|
|||
help
|
||||
Support for Intel's IXP4XX (XScale) family of processors.
|
||||
|
||||
--- a/arch/arm/mach-ixp4xx/Kconfig 2010-02-25 14:45:00.000000000 +0100
|
||||
+++ b/arch/arm/mach-ixp4xx/Kconfig 2010-05-18 17:44:39.000000000 +0200
|
||||
--- a/arch/arm/mach-ixp4xx/Kconfig
|
||||
+++ b/arch/arm/mach-ixp4xx/Kconfig
|
||||
@@ -199,6 +199,43 @@ config IXP4XX_INDIRECT_PCI
|
||||
need to use the indirect method instead. If you don't know
|
||||
what you need, leave this option unselected.
|
||||
|
@ -54,8 +54,8 @@
|
|||
config IXP4XX_QMGR
|
||||
tristate "IXP4xx Queue Manager support"
|
||||
help
|
||||
--- a/arch/arm/mach-ixp4xx/common-pci.c 2010-05-17 19:51:29.000000000 +0200
|
||||
+++ b/arch/arm/mach-ixp4xx/common-pci.c 2010-05-18 17:44:39.000000000 +0200
|
||||
--- a/arch/arm/mach-ixp4xx/common-pci.c
|
||||
+++ b/arch/arm/mach-ixp4xx/common-pci.c
|
||||
@@ -321,27 +321,33 @@ static int abort_handler(unsigned long a
|
||||
*/
|
||||
static int ixp4xx_pci_platform_notify(struct device *dev)
|
||||
|
@ -103,8 +103,8 @@
|
|||
|
||||
void __init ixp4xx_pci_preinit(void)
|
||||
{
|
||||
--- a/arch/arm/mach-ixp4xx/include/mach/memory.h 2009-03-24 18:00:31.000000000 +0100
|
||||
+++ b/arch/arm/mach-ixp4xx/include/mach/memory.h 2010-05-18 17:44:39.000000000 +0200
|
||||
--- a/arch/arm/mach-ixp4xx/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-ixp4xx/include/mach/memory.h
|
||||
@@ -16,10 +16,12 @@
|
||||
|
||||
#if !defined(__ASSEMBLY__) && defined(CONFIG_PCI)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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,
|
||||
};
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
static void __init gateway7001_init(void)
|
||||
--- a/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,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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,
|
||||
};
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
unsigned int custom_divisor;
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
@ -145,7 +145,7 @@
|
|||
static void mem32_serial_out(struct uart_port *p, int offset, int value)
|
||||
{
|
||||
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;
|
||||
break;
|
||||
|
||||
|
@ -157,7 +157,7 @@
|
|||
#ifdef CONFIG_SERIAL_8250_AU1X00
|
||||
case UPIO_AU:
|
||||
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) {
|
||||
case UPIO_MEM:
|
||||
case UPIO_MEM32:
|
||||
|
@ -165,7 +165,7 @@
|
|||
#ifdef CONFIG_SERIAL_8250_AU1X00
|
||||
case UPIO_AU:
|
||||
#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_MEM:
|
||||
case UPIO_DWAPB:
|
||||
|
@ -173,7 +173,7 @@
|
|||
if (!up->port.mapbase)
|
||||
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_MEM:
|
||||
case UPIO_DWAPB:
|
||||
|
@ -181,7 +181,7 @@
|
|||
if (!up->port.mapbase)
|
||||
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_out = p->serial_out;
|
||||
port.dev = &dev->dev;
|
||||
|
@ -189,7 +189,7 @@
|
|||
port.irqflags |= irqflag;
|
||||
ret = serial8250_register_port(&port);
|
||||
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.flags = port->flags | UPF_BOOT_AUTOCONF;
|
||||
uart->port.mapbase = port->mapbase;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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)))
|
||||
goto err_free_mem;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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");
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
for (i = 0; i < ETH_ALEN; 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",
|
||||
dev->name);
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
if (!ports_open)
|
||||
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 eth_plat_info *plat = pdev->dev.platform_data;
|
||||
u32 regs_phys;
|
||||
|
@ -78,7 +78,7 @@
|
|||
int err;
|
||||
|
||||
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);
|
||||
udelay(50);
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
if ((err = register_netdev(dev)))
|
||||
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;
|
||||
|
||||
err_phy_dis:
|
||||
|
@ -108,7 +108,7 @@
|
|||
err_free_mem:
|
||||
npe_port_tab[NPE_ID(port->id)] = 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);
|
||||
|
||||
unregister_netdev(dev);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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 */
|
||||
u32 desc_tab_phys;
|
||||
int id; /* logical port ID */
|
||||
|
@ -9,7 +9,7 @@
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
|||
static int ixp4xx_phy_connect(struct net_device *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);
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
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)))
|
||||
goto err_phy_dis;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
/* Information about built-in HSS (synchronous serial) interfaces */
|
||||
--- a/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;
|
||||
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);
|
||||
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
|
||||
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);
|
||||
|
||||
|
@ -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,
|
||||
@@ -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))
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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
|
||||
module will be called leds-lp3944.
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
|||
+
|
||||
config LEDS_CLEVO_MAIL
|
||||
tristate "Mail LED on Clevo notebook"
|
||||
depends on LEDS_CLASS && X86 && SERIO_I8042 && DMI
|
||||
depends on X86 && SERIO_I8042 && DMI
|
||||
--- /dev/null
|
||||
+++ b/drivers/leds/leds-latch.c
|
||||
@@ -0,0 +1,150 @@
|
||||
|
@ -169,7 +169,7 @@
|
|||
+MODULE_LICENSE("GPL");
|
||||
--- a/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_PCA9532) += leds-pca9532.o
|
||||
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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_SCL_PIN 6
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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 REGS_SIZE 0x1000
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
|
||||
|
||||
#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)
|
||||
{
|
||||
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"))
|
||||
return -EIO;
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
if ((err = request_queues(port)) != 0)
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
--- a/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_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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)
|
||||
{
|
||||
unsigned int cpu = smp_processor_id();
|
||||
|
@ -15,7 +15,7 @@
|
|||
|
||||
/*
|
||||
* 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)
|
||||
{
|
||||
|
|
|
@ -374,9 +374,9 @@
|
|||
+MODULE_AUTHOR("Chris Lang");
|
||||
--- a/drivers/gpio/Kconfig
|
||||
+++ b/drivers/gpio/Kconfig
|
||||
@@ -221,6 +221,14 @@ config GPIO_TIMBERDALE
|
||||
---help---
|
||||
Add support for the GPIO IP in the timberdale FPGA.
|
||||
@@ -298,6 +298,14 @@ config GPIO_RDC321X
|
||||
Support for the RDC R321x SoC GPIOs over southbridge
|
||||
PCI configuration space.
|
||||
|
||||
+config GPIO_GW_I2C_PLD
|
||||
+ tristate "Gateworks I2C PLD GPIO Expander"
|
||||
|
@ -391,7 +391,7 @@
|
|||
config GPIO_MAX7301
|
||||
--- a/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_RDC321X) += rdc321x-gpio.o
|
||||
obj-$(CONFIG_GPIO_JANZ_TTL) += janz-ttl.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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,
|
||||
};
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
static void __init gateway7001_init(void)
|
||||
--- a/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,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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_ARCH_ADI_COYOTE=y
|
||||
CONFIG_MACH_GATEWAY7001=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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_WG302V1=y
|
||||
CONFIG_MACH_WG302V2=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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,
|
||||
};
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
unsigned int type; /* If UPF_FIXED_TYPE */
|
||||
--- a/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_DWAPB (6) /* DesignWare APB UART */
|
||||
#define UPIO_RM9000 (7) /* RM9000 type IO */
|
||||
|
@ -114,7 +114,7 @@
|
|||
|
||||
unsigned int read_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 timeout; /* character-based timeout */
|
||||
|
@ -124,7 +124,7 @@
|
|||
unsigned int custom_divisor;
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
@ -145,7 +145,7 @@
|
|||
static void mem32_serial_out(struct uart_port *p, int offset, int value)
|
||||
{
|
||||
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;
|
||||
break;
|
||||
|
||||
|
@ -157,7 +157,7 @@
|
|||
#ifdef CONFIG_SERIAL_8250_AU1X00
|
||||
case UPIO_AU:
|
||||
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) {
|
||||
case UPIO_MEM:
|
||||
case UPIO_MEM32:
|
||||
|
@ -165,7 +165,7 @@
|
|||
#ifdef CONFIG_SERIAL_8250_AU1X00
|
||||
case UPIO_AU:
|
||||
#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_MEM:
|
||||
case UPIO_DWAPB:
|
||||
|
@ -173,7 +173,7 @@
|
|||
if (!up->port.mapbase)
|
||||
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_MEM:
|
||||
case UPIO_DWAPB:
|
||||
|
@ -181,7 +181,7 @@
|
|||
if (!up->port.mapbase)
|
||||
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_out = p->serial_out;
|
||||
port.dev = &dev->dev;
|
||||
|
@ -189,7 +189,7 @@
|
|||
port.irqflags |= irqflag;
|
||||
ret = serial8250_register_port(&port);
|
||||
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.flags = port->flags | UPF_BOOT_AUTOCONF;
|
||||
uart->port.mapbase = port->mapbase;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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)))
|
||||
goto err_free_mem;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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");
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
static inline void debug_pkt(struct net_device *dev, const char *func,
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
for (i = 0; i < ETH_ALEN; 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",
|
||||
dev->name);
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
if (!ports_open)
|
||||
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 eth_plat_info *plat = pdev->dev.platform_data;
|
||||
u32 regs_phys;
|
||||
|
@ -78,7 +78,7 @@
|
|||
int err;
|
||||
|
||||
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);
|
||||
udelay(50);
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
if ((err = register_netdev(dev)))
|
||||
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;
|
||||
|
||||
err_phy_dis:
|
||||
|
@ -108,7 +108,7 @@
|
|||
err_free_mem:
|
||||
npe_port_tab[NPE_ID(port->id)] = 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);
|
||||
|
||||
unregister_netdev(dev);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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 */
|
||||
u32 desc_tab_phys;
|
||||
int id; /* logical port ID */
|
||||
|
@ -9,7 +9,7 @@
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
|||
static int ixp4xx_phy_connect(struct net_device *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);
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
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)))
|
||||
goto err_phy_dis;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
|
|||
/* Information about built-in HSS (synchronous serial) interfaces */
|
||||
--- a/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;
|
||||
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);
|
||||
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link, 0,
|
||||
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);
|
||||
|
||||
|
@ -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,
|
||||
@@ -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))
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
struct port *port = netdev_priv(dev);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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
|
||||
module will be called leds-lp3944.
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
|||
+
|
||||
config LEDS_CLEVO_MAIL
|
||||
tristate "Mail LED on Clevo notebook"
|
||||
depends on LEDS_CLASS && X86 && SERIO_I8042 && DMI
|
||||
depends on X86 && SERIO_I8042 && DMI
|
||||
--- /dev/null
|
||||
+++ b/drivers/leds/leds-latch.c
|
||||
@@ -0,0 +1,150 @@
|
||||
|
@ -167,10 +167,9 @@
|
|||
+
|
||||
+MODULE_AUTHOR("Chris Lang <clang@gateworks.com>");
|
||||
+MODULE_DESCRIPTION("Latch LED driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
--- a/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_PCA9532) += leds-pca9532.o
|
||||
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
|
||||
|
@ -180,7 +179,7 @@
|
|||
obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o
|
||||
--- a/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);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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_SCL_PIN 6
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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 REGS_SIZE 0x1000
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
|
||||
|
||||
#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)
|
||||
{
|
||||
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"))
|
||||
return -EIO;
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
|||
if ((err = request_queues(port)) != 0)
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/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/page.h>
|
||||
#include <asm/irq.h>
|
||||
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include <asm/mach/map.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;
|
||||
EXPORT_SYMBOL(ixp4xx_exp_bus_size);
|
||||
|
||||
|
@ -50,9 +50,9 @@
|
|||
|
||||
--- a/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_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
+ select ARCH_REQUIRE_GPIOLIB
|
||||
help
|
||||
|
|
Loading…
Reference in a new issue