[PATCH] mfd: sun4i-gpadc: adaptation interrupt number

Fuyao Kashizuku posted 1 patch 1 year, 12 months ago
include/linux/mfd/sun4i-gpadc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] mfd: sun4i-gpadc: adaptation interrupt number
Posted by Fuyao Kashizuku 1 year, 12 months ago
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 <fuyao@sjterm.com>
---
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
Re: (subset) [PATCH] mfd: sun4i-gpadc: adaptation interrupt number
Posted by Lee Jones 1 year, 11 months ago
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 [李琼斯]

Re: [PATCH] mfd: sun4i-gpadc: adaptation interrupt number
Posted by Jernej Škrabec 1 year, 11 months ago
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 <fuyao@sjterm.com>

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>

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
>