2023-12-27 02:01:32

by Fuyao Kashizuku

[permalink] [raw]
Subject: [PATCH] mfd: sun4i-gpadc: adaptation interrupt number

The identifiers are used as IRQ resource numbers, where 0 is treated
specially.

This fixes sun4i-gpadc-iio probe failed when request irq.

The backstack:
WARNING: CPU: 3 PID: 1 at drivers/base/platform.c:451
__platform_get_irq_byname+0xb8/0xc4
0 is an invalid IRQ number
Modules linked in:
CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc6 #9
Hardware name: Allwinner sun8i Family
unwind_backtrace
show_stack
dump_stack_lvl
__warn
warn_slowpath_fmt
__platform_get_irq_byname
platform_get_irq_byname
sun4i_irq_init
sun4i_gpadc_probe
platform_probe
really_probe
__driver_probe_device
driver_probe_device
__driver_attach
bus_for_each_dev
bus_add_driver
driver_register
do_one_initcall
do_initcall_level
do_initcalls
kernel_init_freeable
kernel_init

Log reports:
sun4i-gpadc-iio sun6i-a31-gpadc-iio.0: error -EINVAL: IRQ FIFO_DATA_PENDING
not found
sun4i-gpadc-iio: probe of sun6i-a31-gpadc-iio.0 failed with error -22

Signed-off-by: Fuyao Kashizuku <[email protected]>
---
Changes in v2:
- Fix the commit message.
- Add the backstack.
- Add the log reports.
- Use the correct full name and email address.
- Correct the subsystem to mfd.
- Link to v1: https://lore.kernel.org/lkml/YwdhTlk+9h+9Mrwm@scg/

include/linux/mfd/sun4i-gpadc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/mfd/sun4i-gpadc.h b/include/linux/mfd/sun4i-gpadc.h
index ea0ccf33a459..021f820f9d52 100644
--- a/include/linux/mfd/sun4i-gpadc.h
+++ b/include/linux/mfd/sun4i-gpadc.h
@@ -81,8 +81,8 @@
#define SUN4I_GPADC_TEMP_DATA 0x20
#define SUN4I_GPADC_DATA 0x24

-#define SUN4I_GPADC_IRQ_FIFO_DATA 0
-#define SUN4I_GPADC_IRQ_TEMP_DATA 1
+#define SUN4I_GPADC_IRQ_FIFO_DATA 1
+#define SUN4I_GPADC_IRQ_TEMP_DATA 2

/* 10s delay before suspending the IP */
#define SUN4I_GPADC_AUTOSUSPEND_DELAY 10000
--
2.39.2



2024-01-09 20:20:35

by Jernej Škrabec

[permalink] [raw]
Subject: Re: [PATCH] mfd: sun4i-gpadc: adaptation interrupt number

Dne sreda, 27. december 2023 ob 03:01:17 CET je Fuyao Kashizuku napisal(a):
> The identifiers are used as IRQ resource numbers, where 0 is treated
> specially.
>
> This fixes sun4i-gpadc-iio probe failed when request irq.
>
> The backstack:
> WARNING: CPU: 3 PID: 1 at drivers/base/platform.c:451
> __platform_get_irq_byname+0xb8/0xc4
> 0 is an invalid IRQ number
> Modules linked in:
> CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc6 #9
> Hardware name: Allwinner sun8i Family
> unwind_backtrace
> show_stack
> dump_stack_lvl
> __warn
> warn_slowpath_fmt
> __platform_get_irq_byname
> platform_get_irq_byname
> sun4i_irq_init
> sun4i_gpadc_probe
> platform_probe
> really_probe
> __driver_probe_device
> driver_probe_device
> __driver_attach
> bus_for_each_dev
> bus_add_driver
> driver_register
> do_one_initcall
> do_initcall_level
> do_initcalls
> kernel_init_freeable
> kernel_init
>
> Log reports:
> sun4i-gpadc-iio sun6i-a31-gpadc-iio.0: error -EINVAL: IRQ FIFO_DATA_PENDING
> not found
> sun4i-gpadc-iio: probe of sun6i-a31-gpadc-iio.0 failed with error -22
>
> Signed-off-by: Fuyao Kashizuku <[email protected]>

Acked-by: Jernej Skrabec <[email protected]>

Best regards,
Jernej

> ---
> Changes in v2:
> - Fix the commit message.
> - Add the backstack.
> - Add the log reports.
> - Use the correct full name and email address.
> - Correct the subsystem to mfd.
> - Link to v1: https://lore.kernel.org/lkml/YwdhTlk+9h+9Mrwm@scg/
>
> include/linux/mfd/sun4i-gpadc.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/mfd/sun4i-gpadc.h b/include/linux/mfd/sun4i-gpadc.h
> index ea0ccf33a459..021f820f9d52 100644
> --- a/include/linux/mfd/sun4i-gpadc.h
> +++ b/include/linux/mfd/sun4i-gpadc.h
> @@ -81,8 +81,8 @@
> #define SUN4I_GPADC_TEMP_DATA 0x20
> #define SUN4I_GPADC_DATA 0x24
>
> -#define SUN4I_GPADC_IRQ_FIFO_DATA 0
> -#define SUN4I_GPADC_IRQ_TEMP_DATA 1
> +#define SUN4I_GPADC_IRQ_FIFO_DATA 1
> +#define SUN4I_GPADC_IRQ_TEMP_DATA 2
>
> /* 10s delay before suspending the IP */
> #define SUN4I_GPADC_AUTOSUSPEND_DELAY 10000
>





2024-01-11 11:11:54

by Lee Jones

[permalink] [raw]
Subject: Re: (subset) [PATCH] mfd: sun4i-gpadc: adaptation interrupt number

On Wed, 27 Dec 2023 10:01:17 +0800, Fuyao Kashizuku wrote:
> The identifiers are used as IRQ resource numbers, where 0 is treated
> specially.
>
> This fixes sun4i-gpadc-iio probe failed when request irq.
>
> The backstack:
> WARNING: CPU: 3 PID: 1 at drivers/base/platform.c:451
> __platform_get_irq_byname+0xb8/0xc4
> 0 is an invalid IRQ number
> Modules linked in:
> CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc6 #9
> Hardware name: Allwinner sun8i Family
> unwind_backtrace
> show_stack
> dump_stack_lvl
> __warn
> warn_slowpath_fmt
> __platform_get_irq_byname
> platform_get_irq_byname
> sun4i_irq_init
> sun4i_gpadc_probe
> platform_probe
> really_probe
> __driver_probe_device
> driver_probe_device
> __driver_attach
> bus_for_each_dev
> bus_add_driver
> driver_register
> do_one_initcall
> do_initcall_level
> do_initcalls
> kernel_init_freeable
> kernel_init
>
> [...]

Applied, thanks!

[1/1] mfd: sun4i-gpadc: adaptation interrupt number
commit: 112461517fa0cf4135bf242270c2923b61426b60

--
Lee Jones [李琼斯]