On Fri, Apr 2, 2021 at 9:48 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > This series is dependant on > cbe16f35bee68 ("genirq: Add IRQF_NO_AUTOEN for request_irq/nmi()") > which is available in an immutable tag in the tip tree. > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/tag/?h=irq-no-autoen-2021-03-25 > which I'll merge in to the IIO tree if we need it before it's available > upstream. > > That patch introduces a new IRQF_NO_AUTOEN flag for irq requests to avoid > the current dance where we either mark an irq as not to be autoenabled before > we know if we can actually request it succesfully, or (as IIO drivers seem to successfully > have gone with) we disable the interrupt just after requesting it. > In short the flag stops the interrupt being autoenabled in the first place. > > So this series applies this magic to IIO :) > > Note these are all just compile tested and some of them aren't entirely > trivial because of other aspects of the irq flag handling. I have looked at them and indeed in all cases it's clearer now what is going on. FWIW, Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Jonathan Cameron (7): > iio:adc:ad7766: Use new IRQF_NO_AUTOEN to reduce boilerplate > iio:adc:exynos-adc: Use new IRQF_NO_AUTOEN flag rather than separate > irq_disable() > iio:adc:nau7802: Use IRQF_NO_AUTOEN instead of request then disable > iio:adc:sun4i-gpadc: Use new IRQF_NO_AUTOEN flag instead of request > then disable > iio:chemical:scd30: Use IRQF_NO_AUTOEN to avoid irq request then > disable > iio:imu:adis: Use IRQF_NO_AUTOEN instead of irq request then disable > iio:adc:ad_sigma_delta: Use IRQF_NO_AUTOEN rather than request and > disable > > drivers/iio/adc/ad7766.c | 15 +++++++-------- > drivers/iio/adc/ad_sigma_delta.c | 7 ++----- > drivers/iio/adc/exynos_adc.c | 4 ++-- > drivers/iio/adc/nau7802.c | 6 +++--- > drivers/iio/adc/sun4i-gpadc-iio.c | 4 ++-- > drivers/iio/chemical/scd30_core.c | 16 ++++++++-------- > drivers/iio/imu/adis16460.c | 4 ++-- > drivers/iio/imu/adis16475.c | 5 +++-- > drivers/iio/imu/adis_trigger.c | 11 ++++++----- > 9 files changed, 35 insertions(+), 37 deletions(-) > > -- > 2.31.1 > -- With Best Regards, Andy Shevchenko