Hi,
On Thu, 8 Apr 2021, Michał Mirosław wrote:
On Wed, Apr 07, 2021 at 02:34:19PM +0800, Tian Tao wrote:
disable_irq() after request_irq() still has a time gap in which
interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will
disable IRQ auto-enable because of requesting.
this patch is made base on "add IRQF_NO_AUTOEN for request_irq" which
is being merged: https://lore.kernel.org/patchwork/patch/1388765/
thanks for you patch, Tao, which look good to me.
This assumes that the interrupt is not shared. This could be fixed
by requesting the IRQ after init (and releasing before deinit).
Michał, I understand your objections, and for the general case you are
right. However, I think it would be good to keep the structure as close
as possible to i2c-tegra [1], which does the same as Tao suggested. I'm
also pretty sure that the interrupt is not shared on this (single) machine
which this driver is made for.
So unless there are some strong arguments aginst it, I personally perfer
his version.
Best wishes,
Marc Dietrich
[1]
https://github.com/torvalds/linux/blob/17e7124aad766b3f158943acb51467f86220afe9/drivers/i2c/busses/i2c-tegra.c#L1740