Message ID | 20161205014753.2092-1-vz@mleia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote: > Semantics of NR_IRQS is different on machines with SPARSE_IRQ option > disabled or enabled, in the latter case IRQs are allocated starting > at least from the value specified by NR_IRQS and going upwards, so > the check of (irq >= NR_IRQ) to decide about an error code returned by > platform_get_irq() is completely invalid, don't attempt to overrule > irq subsystem in the driver. > > The change fixes lpc32xx_keys driver initialization on boot: > > lpc32xx_keys 40050000.key: failed to get platform irq > lpc32xx_keys: probe of 40050000.key failed with error -22 > > Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> > --- > drivers/input/keyboard/lpc32xx-keys.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Cosmetic - please update the subject line when doing the commit: replace " -" by ":" after lpc32xx-keys Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
On December 7, 2016 10:13:07 AM PST, Sylvain Lemieux <slemieux.tyco@gmail.com> wrote: >On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote: >> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option >> disabled or enabled, in the latter case IRQs are allocated starting >> at least from the value specified by NR_IRQS and going upwards, so >> the check of (irq >= NR_IRQ) to decide about an error code returned >by >> platform_get_irq() is completely invalid, don't attempt to overrule >> irq subsystem in the driver. >> >> The change fixes lpc32xx_keys driver initialization on boot: >> >> lpc32xx_keys 40050000.key: failed to get platform irq >> lpc32xx_keys: probe of 40050000.key failed with error -22 >> >> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> >> --- >> drivers/input/keyboard/lpc32xx-keys.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >Cosmetic - please update the subject line when doing the commit: >replace " -" by ":" after lpc32xx-keys Why? The format on all input patches is "Input: <driver> - <subject>" and had been this for 10+ years. Thanks.
On Wed, 2016-12-07 at 10:46 -0800, Dmitry Torokhov wrote: > On December 7, 2016 10:13:07 AM PST, Sylvain Lemieux <slemieux.tyco@gmail.com> wrote: > >On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote: > >> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option > >> disabled or enabled, in the latter case IRQs are allocated starting > >> at least from the value specified by NR_IRQS and going upwards, so > >> the check of (irq >= NR_IRQ) to decide about an error code returned > >by > >> platform_get_irq() is completely invalid, don't attempt to overrule > >> irq subsystem in the driver. > >> > >> The change fixes lpc32xx_keys driver initialization on boot: > >> > >> lpc32xx_keys 40050000.key: failed to get platform irq > >> lpc32xx_keys: probe of 40050000.key failed with error -22 > >> > >> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> > >> --- > >> drivers/input/keyboard/lpc32xx-keys.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >Cosmetic - please update the subject line when doing the commit: > >replace " -" by ":" after lpc32xx-keys > > Why? The format on all input patches is "Input: <driver> - <subject>" and had been this for 10+ years. > My mistake; did not look at the tree "subject line" commit log You can dropped my comment. Regards, Sylvain > > Thanks. >
On Wed, Dec 07, 2016 at 01:13:07PM -0500, Sylvain Lemieux wrote: > On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote: > > Semantics of NR_IRQS is different on machines with SPARSE_IRQ option > > disabled or enabled, in the latter case IRQs are allocated starting > > at least from the value specified by NR_IRQS and going upwards, so > > the check of (irq >= NR_IRQ) to decide about an error code returned by > > platform_get_irq() is completely invalid, don't attempt to overrule > > irq subsystem in the driver. > > > > The change fixes lpc32xx_keys driver initialization on boot: > > > > lpc32xx_keys 40050000.key: failed to get platform irq > > lpc32xx_keys: probe of 40050000.key failed with error -22 > > > > Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> > > --- > > drivers/input/keyboard/lpc32xx-keys.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > Cosmetic - please update the subject line when doing the commit: > replace " -" by ":" after lpc32xx-keys > > Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com> Applied, thank you.
diff --git a/drivers/input/keyboard/lpc32xx-keys.c b/drivers/input/keyboard/lpc32xx-keys.c index 265d641..632523d 100644 --- a/drivers/input/keyboard/lpc32xx-keys.c +++ b/drivers/input/keyboard/lpc32xx-keys.c @@ -182,7 +182,7 @@ static int lpc32xx_kscan_probe(struct platform_device *pdev) } irq = platform_get_irq(pdev, 0); - if (irq < 0 || irq >= NR_IRQS) { + if (irq < 0) { dev_err(&pdev->dev, "failed to get platform irq\n"); return -EINVAL; }
Semantics of NR_IRQS is different on machines with SPARSE_IRQ option disabled or enabled, in the latter case IRQs are allocated starting at least from the value specified by NR_IRQS and going upwards, so the check of (irq >= NR_IRQ) to decide about an error code returned by platform_get_irq() is completely invalid, don't attempt to overrule irq subsystem in the driver. The change fixes lpc32xx_keys driver initialization on boot: lpc32xx_keys 40050000.key: failed to get platform irq lpc32xx_keys: probe of 40050000.key failed with error -22 Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> --- drivers/input/keyboard/lpc32xx-keys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)