Skip to contentSkip to conversation

mfd: sun4i-gpadc: adaptation interrupt number

PATCH Applied Fuyao Kashizuku 3 participants 3 messages Dec 27, 2023 – Jan 11, 2024

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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

---
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(-)
include/linux/mfd/sun4i-gpadc.h +2 -2
index ea0ccf33a459..021f820f9d52 100644
@@ -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
Signature · 1 line
2.39.2
maintainer Acked-by on v1 1/1
#1 lore raw

Dne sreda, 27. december 2023 ob 03:01:17 CET je Fuyao Kashizuku napisal(a):

Quoted 35 lines

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
Quoted 6 lines

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

Best regards,
Jernej

Quoted 28 lines

---
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(-)
include/linux/mfd/sun4i-gpadc.h +2 -2
index ea0ccf33a459..021f820f9d52 100644
@@ -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
maintainer Applied
#2 lore raw

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

In reply to Fuyao Kashizuku
Quoted 35 lines · Fuyao Kashizuku

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
Quoted 1 line

[...]

Applied, thanks!

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

      commit: 112461517fa0cf4135bf242270c2923b61426b60

--
Lee Jones [李琼斯]