The Turris Mox shares the moxtet IRQ with various devices on the board,
so mark the IRQ as shared in the driver as well.
Without this loading the module will fail with:
genirq: Flags mismatch irq 40. 00002002 (moxtet) vs. 00002080 (mcp7940x)
Signed-off-by: Sjoerd Simons <[email protected]>
Cc: [email protected] # v6.2+
---
(no changes since v1)
drivers/bus/moxtet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bus/moxtet.c b/drivers/bus/moxtet.c
index 5eb0fe73ddc4..48c18f95660a 100644
--- a/drivers/bus/moxtet.c
+++ b/drivers/bus/moxtet.c
@@ -755,7 +755,7 @@ static int moxtet_irq_setup(struct moxtet *moxtet)
moxtet->irq.masked = ~0;
ret = request_threaded_irq(moxtet->dev_irq, NULL, moxtet_irq_thread_fn,
- IRQF_ONESHOT, "moxtet", moxtet);
+ IRQF_SHARED | IRQF_ONESHOT, "moxtet", moxtet);
if (ret < 0)
goto err_free;
--
2.43.0
On Tue, 28 Nov 2023 22:35:04 +0100
Sjoerd Simons <[email protected]> wrote:
> The Turris Mox shares the moxtet IRQ with various devices on the board,
> so mark the IRQ as shared in the driver as well.
>
> Without this loading the module will fail with:
> genirq: Flags mismatch irq 40. 00002002 (moxtet) vs. 00002080 (mcp7940x)
>
> Signed-off-by: Sjoerd Simons <[email protected]>
> Cc: [email protected] # v6.2+
> ---
>
> (no changes since v1)
>
> drivers/bus/moxtet.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bus/moxtet.c b/drivers/bus/moxtet.c
> index 5eb0fe73ddc4..48c18f95660a 100644
> --- a/drivers/bus/moxtet.c
> +++ b/drivers/bus/moxtet.c
> @@ -755,7 +755,7 @@ static int moxtet_irq_setup(struct moxtet *moxtet)
> moxtet->irq.masked = ~0;
>
> ret = request_threaded_irq(moxtet->dev_irq, NULL, moxtet_irq_thread_fn,
> - IRQF_ONESHOT, "moxtet", moxtet);
> + IRQF_SHARED | IRQF_ONESHOT, "moxtet", moxtet);
> if (ret < 0)
> goto err_free;
>
Reviewed-by: Marek Behún <[email protected]>