aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/adm5120
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2010-01-02 15:07:31 +0000
committerGabor Juhos <juhosg@openwrt.org>2010-01-02 15:07:31 +0000
commit9240fe972de66eaf3a5cf404618e39e7d1a4c0f3 (patch)
tree7cec7083b1160d573421df7a484f57122f115a47 /target/linux/adm5120
parent5acf538f1380f40f80d650a7d0ac655b9e362446 (diff)
downloadupstream-9240fe972de66eaf3a5cf404618e39e7d1a4c0f3.tar.gz
upstream-9240fe972de66eaf3a5cf404618e39e7d1a4c0f3.tar.bz2
upstream-9240fe972de66eaf3a5cf404618e39e7d1a4c0f3.zip
adm5120: merge 2.6.30+ specific patches
SVN-Revision: 18999
Diffstat (limited to 'target/linux/adm5120')
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/common/clock.c5
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/common/platform.c4
-rw-r--r--target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c2
-rw-r--r--target/linux/adm5120/files/drivers/net/adm5120sw.c31
-rw-r--r--target/linux/adm5120/patches-2.6.30/800-adm5120-remove-amba-bus-id.patch20
-rw-r--r--target/linux/adm5120/patches-2.6.30/801-adm5120-flash-remove-bus-id.patch11
-rw-r--r--target/linux/adm5120/patches-2.6.30/802-adm5120-switch-remove-redundant-napi-functions.patch20
-rw-r--r--target/linux/adm5120/patches-2.6.30/803-adm5120-fix-clock-for-amba-uart.patch21
-rw-r--r--target/linux/adm5120/patches-2.6.30/810-adm5120sw-netdev_ops.patch52
-rw-r--r--target/linux/adm5120/patches-2.6.31/800-adm5120-remove-amba-bus-id.patch20
-rw-r--r--target/linux/adm5120/patches-2.6.31/801-adm5120-flash-remove-bus-id.patch11
-rw-r--r--target/linux/adm5120/patches-2.6.31/802-adm5120-switch-remove-redundant-napi-functions.patch20
-rw-r--r--target/linux/adm5120/patches-2.6.31/803-adm5120-fix-clock-for-amba-uart.patch21
-rw-r--r--target/linux/adm5120/patches-2.6.31/810-adm5120sw-netdev_ops.patch52
14 files changed, 27 insertions, 263 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/common/clock.c b/target/linux/adm5120/files/arch/mips/adm5120/common/clock.c
index d004309959..1ada60fedd 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/common/clock.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/common/clock.c
@@ -19,6 +19,7 @@
#include <linux/module.h>
#include <linux/err.h>
#include <linux/clk.h>
+#include <linux/device.h>
#include <asm/mach-adm5120/adm5120_defs.h>
@@ -32,7 +33,9 @@ static struct clk uart_clk = {
struct clk *clk_get(struct device *dev, const char *id)
{
- if (!strcmp(id, "UARTCLK"))
+ char *name = dev_name(dev);
+
+ if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))
return &uart_clk;
return ERR_PTR(-ENOENT);
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/common/platform.c b/target/linux/adm5120/files/arch/mips/adm5120/common/platform.c
index 9526fe977f..7fe86a13e8 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/common/platform.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/common/platform.c
@@ -190,7 +190,7 @@ struct amba_pl010_data adm5120_uart0_data = {
struct amba_device adm5120_uart0_device = {
.dev = {
- .bus_id = "APB:UART0",
+ .init_name = "apb:uart0",
.platform_data = &adm5120_uart0_data,
},
.res = {
@@ -208,7 +208,7 @@ struct amba_pl010_data adm5120_uart1_data = {
struct amba_device adm5120_uart1_device = {
.dev = {
- .bus_id = "APB:UART1",
+ .init_name = "apb:uart1",
.platform_data = &adm5120_uart1_data,
},
.res = {
diff --git a/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c b/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c
index 8bd7ae1c0b..ed407ebdec 100644
--- a/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c
+++ b/target/linux/adm5120/files/drivers/mtd/maps/adm5120-flash.c
@@ -233,7 +233,7 @@ static int adm5120_flash_initinfo(struct adm5120_flash_info *info,
struct flash_desc *fdesc;
u32 t = 0;
- map->name = dev->dev.bus_id;
+ map->name = dev_name(&dev->dev);
if (dev->id > 1) {
MAP_ERR(map, "invalid flash id\n");
diff --git a/target/linux/adm5120/files/drivers/net/adm5120sw.c b/target/linux/adm5120/files/drivers/net/adm5120sw.c
index 7acc84d248..06a69fd50e 100644
--- a/target/linux/adm5120/files/drivers/net/adm5120sw.c
+++ b/target/linux/adm5120/files/drivers/net/adm5120sw.c
@@ -517,7 +517,7 @@ static int adm5120_if_poll(struct napi_struct *napi, int limit)
status = sw_int_status() & SWITCH_INTS_POLL;
if ((done < limit) && (!status)) {
SW_DBG("disable polling mode for %s\n", dev->name);
- netif_rx_complete(dev, napi);
+ napi_complete(napi);
sw_int_unmask(SWITCH_INTS_POLL);
return 0;
}
@@ -548,7 +548,7 @@ static irqreturn_t adm5120_switch_irq(int irq, void *dev_id)
sw_dump_intr_mask("poll ints", status);
SW_DBG("enable polling mode for %s\n", dev->name);
sw_int_mask(SWITCH_INTS_POLL);
- netif_rx_schedule(dev, &priv->napi);
+ napi_schedule(&priv->napi);
}
#else
sw_int_ack(status);
@@ -973,9 +973,12 @@ static void adm5120_if_set_multicast_list(struct net_device *dev)
static int adm5120_if_set_mac_address(struct net_device *dev, void *p)
{
- struct sockaddr *addr = p;
+ int ret;
+
+ ret = eth_mac_addr(dev, p);
+ if (ret)
+ return ret;
- memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
adm5120_write_mac(dev);
return 0;
}
@@ -1017,6 +1020,18 @@ static int adm5120_if_do_ioctl(struct net_device *dev, struct ifreq *rq,
return 0;
}
+static const struct net_device_ops adm5120sw_netdev_ops = {
+ .ndo_open = adm5120_if_open,
+ .ndo_stop = adm5120_if_stop,
+ .ndo_start_xmit = adm5120_if_hard_start_xmit,
+ .ndo_set_multicast_list = adm5120_if_set_multicast_list,
+ .ndo_do_ioctl = adm5120_if_do_ioctl,
+ .ndo_tx_timeout = adm5120_if_tx_timeout,
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_change_mtu = eth_change_mtu,
+ .ndo_set_mac_address = adm5120_if_set_mac_address,
+};
+
static struct net_device *adm5120_if_alloc(void)
{
struct net_device *dev;
@@ -1030,14 +1045,8 @@ static struct net_device *adm5120_if_alloc(void)
priv->dev = dev;
dev->irq = ADM5120_IRQ_SWITCH;
- dev->open = adm5120_if_open;
- dev->hard_start_xmit = adm5120_if_hard_start_xmit;
- dev->stop = adm5120_if_stop;
- dev->set_multicast_list = adm5120_if_set_multicast_list;
- dev->do_ioctl = adm5120_if_do_ioctl;
- dev->tx_timeout = adm5120_if_tx_timeout;
+ dev->netdev_ops = &adm5120sw_netdev_ops;
dev->watchdog_timeo = TX_TIMEOUT;
- dev->set_mac_address = adm5120_if_set_mac_address;
#ifdef CONFIG_ADM5120_SWITCH_NAPI
netif_napi_add(dev, &priv->napi, adm5120_if_poll, 64);
diff --git a/target/linux/adm5120/patches-2.6.30/800-adm5120-remove-amba-bus-id.patch b/target/linux/adm5120/patches-2.6.30/800-adm5120-remove-amba-bus-id.patch
deleted file mode 100644
index 6be70ca09a..0000000000
--- a/target/linux/adm5120/patches-2.6.30/800-adm5120-remove-amba-bus-id.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/adm5120/common/platform.c
-+++ b/arch/mips/adm5120/common/platform.c
-@@ -190,7 +190,7 @@ struct amba_pl010_data adm5120_uart0_dat
-
- struct amba_device adm5120_uart0_device = {
- .dev = {
-- .bus_id = "APB:UART0",
-+ .init_name = "apb:uart0",
- .platform_data = &adm5120_uart0_data,
- },
- .res = {
-@@ -208,7 +208,7 @@ struct amba_pl010_data adm5120_uart1_dat
-
- struct amba_device adm5120_uart1_device = {
- .dev = {
-- .bus_id = "APB:UART1",
-+ .init_name = "apb:uart1",
- .platform_data = &adm5120_uart1_data,
- },
- .res = {
diff --git a/target/linux/adm5120/patches-2.6.30/801-adm5120-flash-remove-bus-id.patch b/target/linux/adm5120/patches-2.6.30/801-adm5120-flash-remove-bus-id.patch
deleted file mode 100644
index d9e72e064b..0000000000
--- a/target/linux/adm5120/patches-2.6.30/801-adm5120-flash-remove-bus-id.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/mtd/maps/adm5120-flash.c
-+++ b/drivers/mtd/maps/adm5120-flash.c
-@@ -233,7 +233,7 @@ static int adm5120_flash_initinfo(struct
- struct flash_desc *fdesc;
- u32 t = 0;
-
-- map->name = dev->dev.bus_id;
-+ map->name = dev_name(&dev->dev);
-
- if (dev->id > 1) {
- MAP_ERR(map, "invalid flash id\n");
diff --git a/target/linux/adm5120/patches-2.6.30/802-adm5120-switch-remove-redundant-napi-functions.patch b/target/linux/adm5120/patches-2.6.30/802-adm5120-switch-remove-redundant-napi-functions.patch
deleted file mode 100644
index 5c5873b731..0000000000
--- a/target/linux/adm5120/patches-2.6.30/802-adm5120-switch-remove-redundant-napi-functions.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/drivers/net/adm5120sw.c
-+++ b/drivers/net/adm5120sw.c
-@@ -517,7 +517,7 @@ static int adm5120_if_poll(struct napi_s
- status = sw_int_status() & SWITCH_INTS_POLL;
- if ((done < limit) && (!status)) {
- SW_DBG("disable polling mode for %s\n", dev->name);
-- netif_rx_complete(dev, napi);
-+ napi_complete(napi);
- sw_int_unmask(SWITCH_INTS_POLL);
- return 0;
- }
-@@ -548,7 +548,7 @@ static irqreturn_t adm5120_switch_irq(in
- sw_dump_intr_mask("poll ints", status);
- SW_DBG("enable polling mode for %s\n", dev->name);
- sw_int_mask(SWITCH_INTS_POLL);
-- netif_rx_schedule(dev, &priv->napi);
-+ napi_schedule(&priv->napi);
- }
- #else
- sw_int_ack(status);
diff --git a/target/linux/adm5120/patches-2.6.30/803-adm5120-fix-clock-for-amba-uart.patch b/target/linux/adm5120/patches-2.6.30/803-adm5120-fix-clock-for-amba-uart.patch
deleted file mode 100644
index 795c28578e..0000000000
--- a/target/linux/adm5120/patches-2.6.30/803-adm5120-fix-clock-for-amba-uart.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/arch/mips/adm5120/common/clock.c
-+++ b/arch/mips/adm5120/common/clock.c
-@@ -19,6 +19,7 @@
- #include <linux/module.h>
- #include <linux/err.h>
- #include <linux/clk.h>
-+#include <linux/device.h>
-
- #include <asm/mach-adm5120/adm5120_defs.h>
-
-@@ -32,7 +33,9 @@ static struct clk uart_clk = {
-
- struct clk *clk_get(struct device *dev, const char *id)
- {
-- if (!strcmp(id, "UARTCLK"))
-+ char *name = dev_name(dev);
-+
-+ if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))
- return &uart_clk;
-
- return ERR_PTR(-ENOENT);
diff --git a/target/linux/adm5120/patches-2.6.30/810-adm5120sw-netdev_ops.patch b/target/linux/adm5120/patches-2.6.30/810-adm5120sw-netdev_ops.patch
deleted file mode 100644
index ae116509cb..0000000000
--- a/target/linux/adm5120/patches-2.6.30/810-adm5120sw-netdev_ops.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/drivers/net/adm5120sw.c
-+++ b/drivers/net/adm5120sw.c
-@@ -973,9 +973,12 @@ static void adm5120_if_set_multicast_lis
-
- static int adm5120_if_set_mac_address(struct net_device *dev, void *p)
- {
-- struct sockaddr *addr = p;
-+ int ret;
-+
-+ ret = eth_mac_addr(dev, p);
-+ if (ret)
-+ return ret;
-
-- memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
- adm5120_write_mac(dev);
- return 0;
- }
-@@ -1017,6 +1020,18 @@ static int adm5120_if_do_ioctl(struct ne
- return 0;
- }
-
-+static const struct net_device_ops adm5120sw_netdev_ops = {
-+ .ndo_open = adm5120_if_open,
-+ .ndo_stop = adm5120_if_stop,
-+ .ndo_start_xmit = adm5120_if_hard_start_xmit,
-+ .ndo_set_multicast_list = adm5120_if_set_multicast_list,
-+ .ndo_do_ioctl = adm5120_if_do_ioctl,
-+ .ndo_tx_timeout = adm5120_if_tx_timeout,
-+ .ndo_validate_addr = eth_validate_addr,
-+ .ndo_change_mtu = eth_change_mtu,
-+ .ndo_set_mac_address = adm5120_if_set_mac_address,
-+};
-+
- static struct net_device *adm5120_if_alloc(void)
- {
- struct net_device *dev;
-@@ -1030,14 +1045,8 @@ static struct net_device *adm5120_if_all
- priv->dev = dev;
-
- dev->irq = ADM5120_IRQ_SWITCH;
-- dev->open = adm5120_if_open;
-- dev->hard_start_xmit = adm5120_if_hard_start_xmit;
-- dev->stop = adm5120_if_stop;
-- dev->set_multicast_list = adm5120_if_set_multicast_list;
-- dev->do_ioctl = adm5120_if_do_ioctl;
-- dev->tx_timeout = adm5120_if_tx_timeout;
-+ dev->netdev_ops = &adm5120sw_netdev_ops;
- dev->watchdog_timeo = TX_TIMEOUT;
-- dev->set_mac_address = adm5120_if_set_mac_address;
-
- #ifdef CONFIG_ADM5120_SWITCH_NAPI
- netif_napi_add(dev, &priv->napi, adm5120_if_poll, 64);
diff --git a/target/linux/adm5120/patches-2.6.31/800-adm5120-remove-amba-bus-id.patch b/target/linux/adm5120/patches-2.6.31/800-adm5120-remove-amba-bus-id.patch
deleted file mode 100644
index 6be70ca09a..0000000000
--- a/target/linux/adm5120/patches-2.6.31/800-adm5120-remove-amba-bus-id.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/arch/mips/adm5120/common/platform.c
-+++ b/arch/mips/adm5120/common/platform.c
-@@ -190,7 +190,7 @@ struct amba_pl010_data adm5120_uart0_dat
-
- struct amba_device adm5120_uart0_device = {
- .dev = {
-- .bus_id = "APB:UART0",
-+ .init_name = "apb:uart0",
- .platform_data = &adm5120_uart0_data,
- },
- .res = {
-@@ -208,7 +208,7 @@ struct amba_pl010_data adm5120_uart1_dat
-
- struct amba_device adm5120_uart1_device = {
- .dev = {
-- .bus_id = "APB:UART1",
-+ .init_name = "apb:uart1",
- .platform_data = &adm5120_uart1_data,
- },
- .res = {
diff --git a/target/linux/adm5120/patches-2.6.31/801-adm5120-flash-remove-bus-id.patch b/target/linux/adm5120/patches-2.6.31/801-adm5120-flash-remove-bus-id.patch
deleted file mode 100644
index d9e72e064b..0000000000
--- a/target/linux/adm5120/patches-2.6.31/801-adm5120-flash-remove-bus-id.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/mtd/maps/adm5120-flash.c
-+++ b/drivers/mtd/maps/adm5120-flash.c
-@@ -233,7 +233,7 @@ static int adm5120_flash_initinfo(struct
- struct flash_desc *fdesc;
- u32 t = 0;
-
-- map->name = dev->dev.bus_id;
-+ map->name = dev_name(&dev->dev);
-
- if (dev->id > 1) {
- MAP_ERR(map, "invalid flash id\n");
diff --git a/target/linux/adm5120/patches-2.6.31/802-adm5120-switch-remove-redundant-napi-functions.patch b/target/linux/adm5120/patches-2.6.31/802-adm5120-switch-remove-redundant-napi-functions.patch
deleted file mode 100644
index 5c5873b731..0000000000
--- a/target/linux/adm5120/patches-2.6.31/802-adm5120-switch-remove-redundant-napi-functions.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/drivers/net/adm5120sw.c
-+++ b/drivers/net/adm5120sw.c
-@@ -517,7 +517,7 @@ static int adm5120_if_poll(struct napi_s
- status = sw_int_status() & SWITCH_INTS_POLL;
- if ((done < limit) && (!status)) {
- SW_DBG("disable polling mode for %s\n", dev->name);
-- netif_rx_complete(dev, napi);
-+ napi_complete(napi);
- sw_int_unmask(SWITCH_INTS_POLL);
- return 0;
- }
-@@ -548,7 +548,7 @@ static irqreturn_t adm5120_switch_irq(in
- sw_dump_intr_mask("poll ints", status);
- SW_DBG("enable polling mode for %s\n", dev->name);
- sw_int_mask(SWITCH_INTS_POLL);
-- netif_rx_schedule(dev, &priv->napi);
-+ napi_schedule(&priv->napi);
- }
- #else
- sw_int_ack(status);
diff --git a/target/linux/adm5120/patches-2.6.31/803-adm5120-fix-clock-for-amba-uart.patch b/target/linux/adm5120/patches-2.6.31/803-adm5120-fix-clock-for-amba-uart.patch
deleted file mode 100644
index 795c28578e..0000000000
--- a/target/linux/adm5120/patches-2.6.31/803-adm5120-fix-clock-for-amba-uart.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/arch/mips/adm5120/common/clock.c
-+++ b/arch/mips/adm5120/common/clock.c
-@@ -19,6 +19,7 @@
- #include <linux/module.h>
- #include <linux/err.h>
- #include <linux/clk.h>
-+#include <linux/device.h>
-
- #include <asm/mach-adm5120/adm5120_defs.h>
-
-@@ -32,7 +33,9 @@ static struct clk uart_clk = {
-
- struct clk *clk_get(struct device *dev, const char *id)
- {
-- if (!strcmp(id, "UARTCLK"))
-+ char *name = dev_name(dev);
-+
-+ if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))
- return &uart_clk;
-
- return ERR_PTR(-ENOENT);
diff --git a/target/linux/adm5120/patches-2.6.31/810-adm5120sw-netdev_ops.patch b/target/linux/adm5120/patches-2.6.31/810-adm5120sw-netdev_ops.patch
deleted file mode 100644
index ae116509cb..0000000000
--- a/target/linux/adm5120/patches-2.6.31/810-adm5120sw-netdev_ops.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/drivers/net/adm5120sw.c
-+++ b/drivers/net/adm5120sw.c
-@@ -973,9 +973,12 @@ static void adm5120_if_set_multicast_lis
-
- static int adm5120_if_set_mac_address(struct net_device *dev, void *p)
- {
-- struct sockaddr *addr = p;
-+ int ret;
-+
-+ ret = eth_mac_addr(dev, p);
-+ if (ret)
-+ return ret;
-
-- memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
- adm5120_write_mac(dev);
- return 0;
- }
-@@ -1017,6 +1020,18 @@ static int adm5120_if_do_ioctl(struct ne
- return 0;
- }
-
-+static const struct net_device_ops adm5120sw_netdev_ops = {
-+ .ndo_open = adm5120_if_open,
-+ .ndo_stop = adm5120_if_stop,
-+ .ndo_start_xmit = adm5120_if_hard_start_xmit,
-+ .ndo_set_multicast_list = adm5120_if_set_multicast_list,
-+ .ndo_do_ioctl = adm5120_if_do_ioctl,
-+ .ndo_tx_timeout = adm5120_if_tx_timeout,
-+ .ndo_validate_addr = eth_validate_addr,
-+ .ndo_change_mtu = eth_change_mtu,
-+ .ndo_set_mac_address = adm5120_if_set_mac_address,
-+};
-+
- static struct net_device *adm5120_if_alloc(void)
- {
- struct net_device *dev;
-@@ -1030,14 +1045,8 @@ static struct net_device *adm5120_if_all
- priv->dev = dev;
-
- dev->irq = ADM5120_IRQ_SWITCH;
-- dev->open = adm5120_if_open;
-- dev->hard_start_xmit = adm5120_if_hard_start_xmit;
-- dev->stop = adm5120_if_stop;
-- dev->set_multicast_list = adm5120_if_set_multicast_list;
-- dev->do_ioctl = adm5120_if_do_ioctl;
-- dev->tx_timeout = adm5120_if_tx_timeout;
-+ dev->netdev_ops = &adm5120sw_netdev_ops;
- dev->watchdog_timeo = TX_TIMEOUT;
-- dev->set_mac_address = adm5120_if_set_mac_address;
-
- #ifdef CONFIG_ADM5120_SWITCH_NAPI
- netif_napi_add(dev, &priv->napi, adm5120_if_poll, 64);