Messages in this thread | | | Subject | Re: [PATCH v1 09/43] clocksource: ep93xx: Add driver for Cirrus Logic EP93xx | From | Nikita Shubin <> | Date | Thu, 29 Jun 2023 20:16:13 +0300 |
| |
On Thu, 2023-06-29 at 16:39 +0300, Andy Shevchenko wrote: > On Thu, Jun 29, 2023 at 4:10 PM Nikita Shubin > <nikita.shubin@maquefel.me> wrote: > > On Wed, 2023-06-21 at 11:28 +0300, Andy Shevchenko wrote: > > > On Wed, Jun 21, 2023 at 11:22 AM Nikita Shubin > > > <nikita.shubin@maquefel.me> wrote: > > ... > > > > > > > + irq = irq_of_parse_and_map(np, 0); > > > > > > + if (irq <= 0) { > > > > > > + pr_err("ERROR: invalid interrupt > > > > > > number\n"); > > > > > > + ret = -EINVAL; > > > > > > > > > > Shadowed error in case of negative returned code. Why? > > > > > > > > Majority of clocksource drivers shadow it. Same like above. > > > > > > It doesn't mean they are correct or using brand new APIs. > > > > Or may be this because irq_of_parse_and_map can return zero as > > error, > > and returning zero from timer_init means success ? > > > > Please correct me if i am wrong here. > > 0 means no mapped IRQ. > > > > Can you use fwnode_irq_get() instead? > > > > Will it help ? > > Yes, definitely, in two aspects: > 1/ it makes code less OF-dependent (helps also OF people to clean up > the spread of OF headers and APIs where they are not needed); > 2/ it takes care about proper error codes. >
Well... every use of fwnode_irq_get in 6.4 looks like:
err = fwnode_irq_get(fwnode, 0); if (err < 0) return err; if (!err) return -EINVAL;
So i don't see any special care as it still calls of_irq_get just like irq_of_parse_and_map.
But i am convinced to use the same approach, thank you!
| |