lantiq: fix use of IRQF_DISABLED in lantiq kmods
The IRQF_DISABLED flag was removed in kernel 4.1 with commit "genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely" [1]. Therefore the compilation of ltq-hcd and ltq-vmmc kmods fails. [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d8bf368d0631d4bc2612d8bf2e4e8e74e620d0cc Signed-off-by: Mathias Kresin <openwrt@kresin.me> SVN-Revision: 47180
This commit is contained in:
parent
c9ef7a49c7
commit
f457ae99f2
6 changed files with 66 additions and 50 deletions
|
@ -701,10 +701,7 @@ int ifxhcd_init(ifxhcd_hcd_t *_ifxhcd)
|
|||
* allocates the DMA buffer pool, registers the USB bus, requests the
|
||||
* IRQ line, and calls ifxusb_hcd_start method.
|
||||
*/
|
||||
retval = usb_add_hcd(syshcd, _ifxhcd->core_if.irq, 0
|
||||
|IRQF_DISABLED
|
||||
|IRQF_SHARED
|
||||
);
|
||||
retval = usb_add_hcd(syshcd, _ifxhcd->core_if.irq, 0 | IRQF_SHARED);
|
||||
if (retval < 0)
|
||||
goto error2;
|
||||
|
||||
|
|
|
@ -778,7 +778,6 @@ void ifxusb_vbus_free(ifxusb_core_if_t *_core_if)
|
|||
// | IRQF_TRIGGER_HIGH
|
||||
// | IRQF_TRIGGER_LOW
|
||||
// | IRQF_TRIGGER_PROBE
|
||||
| IRQF_DISABLED
|
||||
// | IRQF_SAMPLE_RANDOM
|
||||
// | IRQF_SHARED
|
||||
| IRQF_PROBE_SHARED
|
||||
|
@ -806,7 +805,6 @@ void ifxusb_vbus_free(ifxusb_core_if_t *_core_if)
|
|||
// | IRQF_TRIGGER_HIGH
|
||||
// | IRQF_TRIGGER_LOW
|
||||
// | IRQF_TRIGGER_PROBE
|
||||
| IRQF_DISABLED
|
||||
// | IRQF_SAMPLE_RANDOM
|
||||
// | IRQF_SHARED
|
||||
| IRQF_PROBE_SHARED
|
||||
|
@ -1009,7 +1007,6 @@ void ifxusb_vbus_free(ifxusb_core_if_t *_core_if)
|
|||
// | IRQF_TRIGGER_HIGH
|
||||
// | IRQF_TRIGGER_LOW
|
||||
// | IRQF_TRIGGER_PROBE
|
||||
| IRQF_DISABLED
|
||||
// | IRQF_SAMPLE_RANDOM
|
||||
// | IRQF_SHARED
|
||||
| IRQF_PROBE_SHARED
|
||||
|
@ -1174,7 +1171,6 @@ void ifxusb_vbus_free(ifxusb_core_if_t *_core_if)
|
|||
// | IRQF_TRIGGER_HIGH
|
||||
// | IRQF_TRIGGER_LOW
|
||||
// | IRQF_TRIGGER_PROBE
|
||||
| IRQF_DISABLED
|
||||
// | IRQF_SAMPLE_RANDOM
|
||||
// | IRQF_SHARED
|
||||
// | IRQF_PROBE_SHARED
|
||||
|
|
56
package/kernel/lantiq/ltq-vmmc/patches/200-compat.patch
Normal file
56
package/kernel/lantiq/ltq-vmmc/patches/200-compat.patch
Normal file
|
@ -0,0 +1,56 @@
|
|||
--- a/src/drv_vmmc_linux.c
|
||||
+++ b/src/drv_vmmc_linux.c
|
||||
@@ -54,6 +54,8 @@
|
||||
#include "drv_vmmc_res.h"
|
||||
#endif /* (VMMC_CFG_FEATURES & VMMC_FEAT_HDLC) */
|
||||
|
||||
+#undef VMMC_USE_PROC
|
||||
+
|
||||
/* ============================= */
|
||||
/* Local Macros & Definitions */
|
||||
/* ============================= */
|
||||
--- a/src/mps/drv_mps_vmmc_linux.c
|
||||
+++ b/src/mps/drv_mps_vmmc_linux.c
|
||||
@@ -80,11 +80,15 @@
|
||||
/* ============================= */
|
||||
#define IFX_MPS_DEV_NAME "ifx_mps"
|
||||
|
||||
+#undef CONFIG_MPS_HISTORY_SIZE
|
||||
+#define CONFIG_MPS_HISTORY_SIZE 0
|
||||
#ifndef CONFIG_MPS_HISTORY_SIZE
|
||||
#define CONFIG_MPS_HISTORY_SIZE 128
|
||||
#warning CONFIG_MPS_HISTORY_SIZE should have been set via cofigure - setting to default 128
|
||||
#endif
|
||||
|
||||
+#undef CONFIG_PROC_FS
|
||||
+
|
||||
/* ============================= */
|
||||
/* Global variable definition */
|
||||
/* ============================= */
|
||||
@@ -2257,7 +2261,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
ifx_mps_reset ();
|
||||
result = request_irq (INT_NUM_IM4_IRL18,
|
||||
#ifdef LINUX_2_6
|
||||
- ifx_mps_ad0_irq, IRQF_DISABLED
|
||||
+ ifx_mps_ad0_irq, 0x0
|
||||
#else /* */
|
||||
(irqreturn_t (*)(int, IFX_void_t *, struct pt_regs *))
|
||||
ifx_mps_ad0_irq, SA_INTERRUPT
|
||||
@@ -2267,7 +2271,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
return result;
|
||||
result = request_irq (INT_NUM_IM4_IRL19,
|
||||
#ifdef LINUX_2_6
|
||||
- ifx_mps_ad1_irq, IRQF_DISABLED
|
||||
+ ifx_mps_ad1_irq, 0x0
|
||||
#else /* */
|
||||
(irqreturn_t (*)(int, IFX_void_t *, struct pt_regs *))
|
||||
ifx_mps_ad1_irq, SA_INTERRUPT
|
||||
@@ -2282,7 +2286,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
sprintf (&voice_channel_int_name[i][0], "mps_mbx vc%d", i);
|
||||
result = request_irq (INT_NUM_IM4_IRL14 + i,
|
||||
#ifdef LINUX_2_6
|
||||
- ifx_mps_vc_irq, IRQF_DISABLED
|
||||
+ ifx_mps_vc_irq, 0x0
|
||||
#else /* */
|
||||
(irqreturn_t (*)
|
||||
(int, IFX_void_t *,
|
|
@ -1,33 +0,0 @@
|
|||
Index: drv_vmmc-1.9.0/src/drv_vmmc_linux.c
|
||||
===================================================================
|
||||
--- drv_vmmc-1.9.0.orig/src/drv_vmmc_linux.c 2013-09-05 22:34:31.920428685 +0200
|
||||
+++ drv_vmmc-1.9.0/src/drv_vmmc_linux.c 2013-09-05 22:35:54.940430772 +0200
|
||||
@@ -54,6 +54,8 @@
|
||||
#include "drv_vmmc_res.h"
|
||||
#endif /* (VMMC_CFG_FEATURES & VMMC_FEAT_HDLC) */
|
||||
|
||||
+#undef VMMC_USE_PROC
|
||||
+
|
||||
/* ============================= */
|
||||
/* Local Macros & Definitions */
|
||||
/* ============================= */
|
||||
Index: drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_linux.c
|
||||
===================================================================
|
||||
--- drv_vmmc-1.9.0.orig/src/mps/drv_mps_vmmc_linux.c 2013-09-05 22:34:31.988428687 +0200
|
||||
+++ drv_vmmc-1.9.0/src/mps/drv_mps_vmmc_linux.c 2013-09-05 22:54:01.544458009 +0200
|
||||
@@ -80,11 +80,15 @@
|
||||
/* ============================= */
|
||||
#define IFX_MPS_DEV_NAME "ifx_mps"
|
||||
|
||||
+#undef CONFIG_MPS_HISTORY_SIZE
|
||||
+#define CONFIG_MPS_HISTORY_SIZE 0
|
||||
#ifndef CONFIG_MPS_HISTORY_SIZE
|
||||
#define CONFIG_MPS_HISTORY_SIZE 128
|
||||
#warning CONFIG_MPS_HISTORY_SIZE should have been set via cofigure - setting to default 128
|
||||
#endif
|
||||
|
||||
+#undef CONFIG_PROC_FS
|
||||
+
|
||||
/* ============================= */
|
||||
/* Global variable definition */
|
||||
/* ============================= */
|
|
@ -154,7 +154,7 @@
|
|||
#define IFX_MPS_PLATFORM_NAME "MIPS24KEc"
|
||||
--- a/src/mps/drv_mps_vmmc_linux.c
|
||||
+++ b/src/mps/drv_mps_vmmc_linux.c
|
||||
@@ -2225,7 +2225,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
@@ -2229,7 +2229,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
#if defined(CONFIG_MIPS) && !defined(CONFIG_MIPS_UNCACHED)
|
||||
#if defined(SYSTEM_DANUBE)
|
||||
bDoCacheOps = IFX_TRUE; /* on Danube always perform cache ops */
|
||||
|
@ -163,7 +163,7 @@
|
|||
/* on AR9/VR9 cache is configured by BSP;
|
||||
here we check whether the D-cache is shared or partitioned;
|
||||
1) in case of shared D-cache all cache operations are omitted;
|
||||
@@ -2255,7 +2255,8 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
@@ -2259,7 +2259,8 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
|
||||
/* reset the device before initializing the device driver */
|
||||
ifx_mps_reset ();
|
||||
|
@ -171,9 +171,9 @@
|
|||
+
|
||||
+ result = request_irq (INT_NUM_IM4_IRL18,
|
||||
#ifdef LINUX_2_6
|
||||
ifx_mps_ad0_irq, IRQF_DISABLED
|
||||
ifx_mps_ad0_irq, 0x0
|
||||
#else /* */
|
||||
@@ -2396,7 +2397,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
@@ -2400,7 +2401,7 @@ IFX_int32_t __init ifx_mps_init_module (
|
||||
if (result = ifx_mps_init_gpt_danube ())
|
||||
return result;
|
||||
#endif /*DANUBE*/
|
||||
|
@ -718,7 +718,7 @@
|
|||
pMPSDev->event.MPS_Ad1Reg.val = MPS_Ad1StatusReg.val;
|
||||
|
||||
/* use callback function or queue wake up to notify about data reception */
|
||||
@@ -2977,11 +2990,13 @@ irqreturn_t ifx_mps_vc_irq (IFX_int32_t
|
||||
@@ -2977,11 +2990,13 @@ irqreturn_t ifx_mps_vc_irq (IFX_int32_t
|
||||
IFX_MPS_CVC0SR[chan] = MPS_VCStatusReg.val;
|
||||
/* handle only enabled interrupts */
|
||||
MPS_VCStatusReg.val &= IFX_MPS_VC0ENR[chan];
|
||||
|
|
|
@ -668,7 +668,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ priv->irq_lb = irqres[0].start;
|
||||
+
|
||||
+ ret = devm_request_irq(&pdev->dev, irqres[0].start, ltq_i2c_isr_burst,
|
||||
+ IRQF_DISABLED, "i2c lb", priv);
|
||||
+ 0x0, "i2c lb", priv);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't get last burst IRQ %d\n",
|
||||
+ irqres[0].start);
|
||||
|
@ -676,7 +676,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ }
|
||||
+
|
||||
+ ret = devm_request_irq(&pdev->dev, irqres[1].start, ltq_i2c_isr_burst,
|
||||
+ IRQF_DISABLED, "i2c b", priv);
|
||||
+ 0x0, "i2c b", priv);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't get burst IRQ %d\n",
|
||||
+ irqres[1].start);
|
||||
|
@ -684,7 +684,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ }
|
||||
+
|
||||
+ ret = devm_request_irq(&pdev->dev, irqres[2].start, ltq_i2c_isr,
|
||||
+ IRQF_DISABLED, "i2c err", priv);
|
||||
+ 0x0, "i2c err", priv);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't get error IRQ %d\n",
|
||||
+ irqres[2].start);
|
||||
|
@ -692,7 +692,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
+ }
|
||||
+
|
||||
+ ret = devm_request_irq(&pdev->dev, irqres[3].start, ltq_i2c_isr,
|
||||
+ IRQF_DISABLED, "i2c p", priv);
|
||||
+ 0x0, "i2c p", priv);
|
||||
+ if (ret) {
|
||||
+ dev_err(&pdev->dev, "can't get protocol IRQ %d\n",
|
||||
+ irqres[3].start);
|
||||
|
|
Loading…
Reference in a new issue