[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <739706a9-4925-a7a0-686e-8d352ece4bac@gmail.com>
Date: Mon, 14 May 2018 15:01:49 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Thierry Reding <thierry.reding@...il.com>
Cc: Lee Jones <lee.jones@...aro.org>,
Jonathan Hunter <jonathanh@...dia.com>,
linux-tegra@...r.kernel.org, linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] mfd: tps6586x: Move interrupt handling into workqueue
On 14.05.2018 14:51, Thierry Reding wrote:
> On Mon, May 14, 2018 at 12:18:42AM +0300, Dmitry Osipenko wrote:
>> Reading of status register within the interrupt handler fails with -EAGAIN
>> if I2C is busy with handling some other request at the same time. Move the
>> actual interrupt handling into a workqueue to avoid the unfortunate I2C
>> failure and to avoid hanging CPU in interrupt up to 1 second (transfer
>> timeout in the Tegra I2C driver).
>>
>> Signed-off-by: Dmitry Osipenko <digetx@...il.com>
>> ---
>> drivers/mfd/tps6586x.c | 40 +++++++++++++++++++++++++++++-----------
>> 1 file changed, 29 insertions(+), 11 deletions(-)
>
> Could this not be achieved with a threaded interrupt handler?
>
> Thierry
>
Seems yes. I completely forgot about the threaded interrupt handlers existence.
Thank you very much for the suggestion, I'll try with the threaded IRQ and send
v2 if it will be fine.
Powered by blists - more mailing lists