ARM: OMAP1: ams-delta: Fix impossible .irq < 0
Subsystems (3)
Janusz Krzysztofik
maintainerPATCH 1/1 ARM: OMAP1: ams-delta: Fix impossible .irq < 0
In reply to a message not in the archiveSince the very beginning, unsigned int .irq member of struct plat_serial8250_port introduced by commit eff443df679e ("OMAP1:AMS_DELTA: add modem support") was statically initialized to a negative value -EINVAL. Moreover, commit 0812db943748 ("ARM: OMAP1: ams-delta:
assign MODEM IRQ from GPIO descriptor") has introduced some new code which checks for that member carrying a negative value which is impossible.
Use IRQ_NOTCONNECTED instead of -EINVAL. Also, drop the valueless check and let the modem device be registered regardless of .irq value, and the value handled by "serial8250" driver.
--- arch/arm/mach-omap1/board-ams-delta.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
arch/arm/mach-omap1/board-ams-delta.c +2 -6
@@ -773,7 +773,7 @@ static struct plat_serial8250_port ams_delta_modem_ports[] = { { .membase = IOMEM(MODEM_VIRT), .mapbase = MODEM_PHYS, - .irq = -EINVAL, /* changed later */ + .irq = IRQ_NOTCONNECTED, /* changed later */ .flags = UPF_BOOT_AUTOCONF, .irqflags = IRQF_TRIGGER_RISING, .iotype = UPIO_MEM,
@@ -864,8 +864,7 @@ static int __init modem_nreset_init(void)/* -* This function expects MODEM IRQ number already assigned to the port -* and fails if it's not. +* This function expects MODEM IRQ number already assigned to the port. * The MODEM device requires its RESET# pin kept high during probe. * That requirement can be fulfilled in several ways: * - with a descriptor of already functional modem_nreset regulator
@@ -888,9 +887,6 @@ static int __init ams_delta_modem_init(void)if (!machine_is_ams_delta ())return -ENODEV ; -if (ams_delta_modem_ports[0 ].irq <0 ) -return ams_delta_modem_ports[0 ].irq; -omap_cfg_reg (M14_1510_GPIO2 );/* Initialize the modem_nreset regulator consumer before use */
Signature · 1 line
2.16.4
Hi,
Quoted 8 lines · Janusz Krzysztofik
Since the very beginning, unsigned int .irq member of struct
plat_serial8250_portintroduced by commiteff443df679e("OMAP1:AMS_DELTA: add modem support") was statically initialized to a negative value-EINVAL. Moreover, commit0812db943748("ARM: OMAP1: ams-delta:
assign MODEM IRQ from GPIO descriptor") has introduced some new code which checks for that member carrying a negative value which is impossible.
Quoted 7 lines
Use
IRQ_NOTCONNECTEDinstead of-EINVAL. Also, drop the valueless check and let the modem device be registered regardless of .irq value, and the value handled by "serial8250" driver.Fixes 0812db943748 ("ARM: OMAP1: ams-delta: assign MODEM IRQ from GPIO descriptor")Reported-by Dan Carpenter <[email protected]>Signed-off-by Janusz Krzysztofik <[email protected]>
A.
Tony Lindgren
reviewerQuoted 15 lines · Aaro Koskinen
Hi,
Quoted 12 lines · Janusz Krzysztofik
Since the very beginning, unsigned int .irq member of struct
plat_serial8250_portintroduced by commiteff443df679e("OMAP1:AMS_DELTA: add modem support") was statically initialized to a negative value-EINVAL. Moreover, commit0812db943748("ARM: OMAP1: ams-delta:
assign MODEM IRQ from GPIO descriptor") has introduced some new code which checks for that member carrying a negative value which is impossible.Use
IRQ_NOTCONNECTEDinstead of-EINVAL. Also, drop the valueless check and let the modem device be registered regardless of .irq value, and the value handled by "serial8250" driver.
Quoted 5 lines
Quoted 3 lines
Fixes 0812db943748 ("ARM: OMAP1: ams-delta: assign MODEM IRQ from GPIO descriptor")Reported-by Dan Carpenter <[email protected]>Signed-off-by Janusz Krzysztofik <[email protected]>Acked-by Aaro Koskinen <[email protected]>
Applying into omap-for-v4.20/omap1 thanks.
Regards,
Tony