summaryrefslogtreecommitdiffstats
path: root/target/linux/amazon/files
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-31 15:13:14 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-31 15:13:14 +0000
commit84e11fcd5aa6892de8ae5cbbee629d428c1afcab (patch)
tree27731687737b50409ca90775e87b89375fd0a118 /target/linux/amazon/files
parent4364291305eaada45645001b19a2a8fe548e364c (diff)
[amazon] Add kernel 2.6.32 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19458 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/amazon/files')
-rw-r--r--target/linux/amazon/files/arch/mips/amazon/interrupt.c4
-rw-r--r--target/linux/amazon/files/drivers/net/amazon_sw.c21
-rw-r--r--target/linux/amazon/files/drivers/serial/amazon_asc.c12
3 files changed, 22 insertions, 15 deletions
diff --git a/target/linux/amazon/files/arch/mips/amazon/interrupt.c b/target/linux/amazon/files/arch/mips/amazon/interrupt.c
index 4746f1247..e264ca759 100644
--- a/target/linux/amazon/files/arch/mips/amazon/interrupt.c
+++ b/target/linux/amazon/files/arch/mips/amazon/interrupt.c
@@ -109,8 +109,8 @@ static void amazon_end_irq(unsigned int irq)
}
}
-static struct hw_interrupt_type amazon_irq_type = {
- "AMAZON",
+static struct irq_chip amazon_irq_type = {
+ .name = "AMAZON",
.startup = amazon_startup_irq,
.enable = amazon_enable_irq,
.disable = amazon_disable_irq,
diff --git a/target/linux/amazon/files/drivers/net/amazon_sw.c b/target/linux/amazon/files/drivers/net/amazon_sw.c
index 1101d840d..54a70622e 100644
--- a/target/linux/amazon/files/drivers/net/amazon_sw.c
+++ b/target/linux/amazon/files/drivers/net/amazon_sw.c
@@ -778,6 +778,17 @@ int switch_set_mac_address(struct net_device *dev, void *p)
return OK;
}
+static const struct net_device_ops amazon_mii_ops = {
+ .ndo_init = switch_init,
+ .ndo_open = switch_open,
+ .ndo_stop = switch_release,
+ .ndo_start_xmit = switch_tx,
+ .ndo_do_ioctl = switch_ioctl,
+ .ndo_get_stats = switch_stats,
+ .ndo_change_mtu = switch_change_mtu,
+ .ndo_set_mac_address = switch_set_mac_address,
+ .ndo_tx_timeout = switch_tx_timeout,
+};
int switch_init(struct net_device *dev)
{
@@ -787,14 +798,6 @@ int switch_init(struct net_device *dev)
struct switch_priv *priv;
ether_setup(dev); /* assign some of the fields */
printk(KERN_INFO "amazon_mii0: %s up using ", dev->name);
- dev->open = switch_open;
- dev->stop = switch_release;
- dev->hard_start_xmit = switch_tx;
- dev->do_ioctl = switch_ioctl;
- dev->get_stats = switch_stats;
- dev->change_mtu = switch_change_mtu;
- dev->set_mac_address = switch_set_mac_address;
- dev->tx_timeout = switch_tx_timeout;
dev->watchdog_timeo = timeout;
priv = netdev_priv(dev);
@@ -836,7 +839,7 @@ static int amazon_mii_probe(struct platform_device *dev)
for (i = 0; i < AMAZON_SW_INT_NO; i++) {
switch_devs[i] = alloc_etherdev(sizeof(struct switch_priv));
- switch_devs[i]->init = switch_init;
+ switch_devs[i]->netdev_ops = &amazon_mii_ops;
strcpy(switch_devs[i]->name, "eth%d");
priv = (struct switch_priv *) netdev_priv(switch_devs[i]);
priv->num = i;
diff --git a/target/linux/amazon/files/drivers/serial/amazon_asc.c b/target/linux/amazon/files/drivers/serial/amazon_asc.c
index f7fa907b0..fe7050c79 100644
--- a/target/linux/amazon/files/drivers/serial/amazon_asc.c
+++ b/target/linux/amazon/files/drivers/serial/amazon_asc.c
@@ -108,10 +108,10 @@ static void amazonasc_enable_ms(struct uart_port *port)
static void
amazonasc_rx_chars(struct uart_port *port)
{
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 26))
- struct tty_struct *tty = port->info->port.tty;
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 31))
+ struct tty_struct *tty = port->state->port.tty;
#else
- struct tty_struct *tty = port->info->tty;
+ struct tty_struct *tty = port->info->port.tty;
#endif
unsigned int ch = 0, rsr = 0, fifocnt;
@@ -169,7 +169,11 @@ amazonasc_rx_chars(struct uart_port *port)
static void amazonasc_tx_chars(struct uart_port *port)
{
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 31))
+ struct circ_buf *xmit = &port->state->xmit;
+#else
struct circ_buf *xmit = &port->info->xmit;
+#endif
if (uart_tx_stopped(port)) {
amazonasc_stop_tx(port);
@@ -679,7 +683,7 @@ static int __init amazon_asc_probe(struct platform_device *dev)
return res;
}
-static int __exit amazon_asc_remove(struct platform_device *dev)
+static int amazon_asc_remove(struct platform_device *dev)
{
uart_unregister_driver(&amazonasc_reg);
return 0;