ixp4xx: refresh patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22649 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2010-08-14 21:07:42 +00:00
parent d980fa48ac
commit 10f0eb32c9
36 changed files with 104 additions and 105 deletions

View File

@ -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

View File

@ -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

View File

@ -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
}
/*

View File

@ -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"

View File

@ -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)

View File

@ -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,
};

View File

@ -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,
};

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;

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 */
--- 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);

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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
},
};

View File

@ -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

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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

View File

@ -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,
};

View File

@ -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

View File

@ -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

View File

@ -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,
};

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;

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 */
--- 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);

View File

@ -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);
};

View File

@ -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

View File

@ -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;
}

View File

@ -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
},
};

View File

@ -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