diff options
author | John Crispin <john@openwrt.org> | 2015-02-09 12:12:52 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-02-09 12:12:52 +0000 |
commit | 64f9626963cf3abf7550df706e42973f4c0221f4 (patch) | |
tree | 16639bc24915050fc771a93be3284b10f0796cae | |
parent | 682cf3b8545bf9221530a43930bf9a181796bf0a (diff) | |
download | upstream-64f9626963cf3abf7550df706e42973f4c0221f4.tar.gz upstream-64f9626963cf3abf7550df706e42973f4c0221f4.tar.bz2 upstream-64f9626963cf3abf7550df706e42973f4c0221f4.zip |
lantiq: fix dsl drivers for 3.18
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 44346
3 files changed, 18 insertions, 5 deletions
diff --git a/package/kernel/lantiq/ltq-adsl-mei/src/ifxmips_mei_interface.h b/package/kernel/lantiq/ltq-adsl-mei/src/ifxmips_mei_interface.h index 4ddc4c6aed..c58732498a 100644 --- a/package/kernel/lantiq/ltq-adsl-mei/src/ifxmips_mei_interface.h +++ b/package/kernel/lantiq/ltq-adsl-mei/src/ifxmips_mei_interface.h @@ -109,7 +109,7 @@ typedef enum { /* wait for an event, timeout is measured in ms */ #define MEI_WAIT_EVENT_TIMEOUT(ev,timeout)\ - interruptible_sleep_on_timeout(&ev,timeout * HZ / 1000) + wait_event_interruptible_timeout(ev,0 == 1, timeout * HZ / 1000) #define MEI_WAKEUP_EVENT(ev)\ wake_up_interruptible(&ev) #endif /* IFX_MEI_BSP */ diff --git a/package/kernel/lantiq/ltq-adsl/patches/140-linux_3.18.patch b/package/kernel/lantiq/ltq-adsl/patches/140-linux_3.18.patch new file mode 100644 index 0000000000..a0a9acdb73 --- /dev/null +++ b/package/kernel/lantiq/ltq-adsl/patches/140-linux_3.18.patch @@ -0,0 +1,13 @@ +Index: drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_linux.h +=================================================================== +--- drv_dsl_cpe_api-3.24.4.4.orig/src/include/drv_dsl_cpe_os_linux.h 2015-02-08 09:59:02.424259834 +0100 ++++ drv_dsl_cpe_api-3.24.4.4/src/include/drv_dsl_cpe_os_linux.h 2015-02-08 10:02:19.580740173 +0100 +@@ -218,7 +218,7 @@ + #define DSL_DRV_WAKEUP_WAKELIST(queue) wake_up_interruptible(&(queue)) + #define DSL_DRV_INIT_EVENT(name,ev) init_waitqueue_head(&(ev)) + /* wait for an event, timeout is measured in ms */ +-#define DSL_DRV_WAIT_EVENT_TIMEOUT(ev,t) interruptible_sleep_on_timeout(&(ev), (t) * HZ / 1000) ++#define DSL_DRV_WAIT_EVENT_TIMEOUT(ev,t) wait_event_interruptible_timeout((ev), 0 == 1, (t) * HZ / 1000) + #define DSL_DRV_WAIT_EVENT(ev) interruptible_sleep_on(&(ev)) + #define DSL_DRV_WAKEUP_EVENT(ev) wake_up_interruptible(&(ev)) + #define DSL_DRV_TimeMSecGet() DSL_DRV_ElapsedTimeMSecGet(0) diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c index 1b9b710bfb..9c25c154b5 100644 --- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c +++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c @@ -66,7 +66,7 @@ unsigned long cgu_get_pp32_clock(void) return rate; } -static void ptm_setup(struct net_device *, int); +static void ptm_setup(struct net_device *); static struct net_device_stats *ptm_get_stats(struct net_device *); static int ptm_open(struct net_device *); static int ptm_stop(struct net_device *); @@ -134,8 +134,9 @@ unsigned int ifx_ptm_dbg_enable = DBG_ENABLE_MASK_ERR; * #################################### */ -static void ptm_setup(struct net_device *dev, int ndev) +static void ptm_setup(struct net_device *dev) { + int ndev = 0; dev->netdev_ops = &g_ptm_netdev_ops; netif_napi_add(dev, &g_ptm_priv_data.itf[ndev].napi, ptm_napi_poll, 16); dev->watchdog_timeo = ETH_WATCHDOG_TIMEOUT; @@ -951,10 +952,9 @@ static int ifx_ptm_init(void) } for ( i = 0; i < ARRAY_SIZE(g_net_dev); i++ ) { - g_net_dev[i] = alloc_netdev(0, g_net_dev_name[i], ether_setup); + g_net_dev[i] = alloc_netdev(0, g_net_dev_name[i], ether_setup, ptm_setup); if ( g_net_dev[i] == NULL ) goto ALLOC_NETDEV_FAIL; - ptm_setup(g_net_dev[i], i); } for ( i = 0; i < ARRAY_SIZE(g_net_dev); i++ ) { |