From 84e11fcd5aa6892de8ae5cbbee629d428c1afcab Mon Sep 17 00:00:00 2001 From: hauke Date: Sun, 31 Jan 2010 15:13:14 +0000 Subject: [amazon] Add kernel 2.6.32 support git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19458 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/amazon/files/arch/mips/amazon/interrupt.c | 4 ++-- target/linux/amazon/files/drivers/net/amazon_sw.c | 21 ++++++++++++--------- .../linux/amazon/files/drivers/serial/amazon_asc.c | 12 ++++++++---- 3 files changed, 22 insertions(+), 15 deletions(-) (limited to 'target/linux/amazon/files') 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; -- cgit v1.2.3