All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Vasileios Amoiridis <vassilisamir@gmail.com>
Cc: lars@metafoo.de, andy.shevchenko@gmail.com,
	u.kleine-koenig@pengutronix.de, linux-iio@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC v1 1/2] iio: light: rpr0521: Use generic iio_pollfunc_store_time()
Date: Sat, 12 Oct 2024 17:12:17 +0100	[thread overview]
Message-ID: <20241012171217.0e79404f@jic23-huawei> (raw)
In-Reply-To: <20240928161017.29fd249c@jic23-huawei>

On Sat, 28 Sep 2024 16:10:17 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Sun, 22 Sep 2024 18:20:40 +0200
> Vasileios Amoiridis <vassilisamir@gmail.com> wrote:
> 
> > The custom rpr0521_trigger_consumer_store_time() is registered as trigger
> > handler in the devm_iio_triggered_buffer_setup() function. This function
> > is called from the calling of the iio_trigger_poll() used in the
> > sysfs/hrt triggers and it is not used anywhere else in this driver.  
> It might be any number of other triggers (hardware triggers from other
> drivers for example).
> 
> Other than that I think your reasoning is correct but would ideally
> like some input from someone more familiar with this driver.
> 
> If that isn't forthcoming I'll pick this up in a week or two.
Two weeks gone. No one surfaced and I think this is fine.

Applied.

Jonathan

> 
> Jonathan
> 
> > 
> > The irq handler of the driver is the rpr0521_drdy_irq_handler() which
> > saves the timestamp and then wakes the irq thread. The irq thread is
> > the rpr0521_drdy_irq_thread() function which checks if the irq came
> > from the sensor and wakes up the trigger threaded handler through
> > iio_trigger_poll_nested() or returns IRQ_NONE in case the irq didn't
> > come from this sensor.
> > 
> > This means that in the current driver, you can't reach the
> > rpr0521_trigger_consumer_store_time() when the device's irq is
> > triggered. This means that the extra check of iio_trigger_using_own()
> > is redundant since it will always be false so the general
> > iio_pollfunc_store_time() can be used.
> > 
> > Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
> > ---
> >  drivers/iio/light/rpr0521.c | 14 +-------------
> >  1 file changed, 1 insertion(+), 13 deletions(-)
> > 
> > diff --git a/drivers/iio/light/rpr0521.c b/drivers/iio/light/rpr0521.c
> > index 78c08e0bd077..56f5fbbf79ac 100644
> > --- a/drivers/iio/light/rpr0521.c
> > +++ b/drivers/iio/light/rpr0521.c
> > @@ -438,18 +438,6 @@ static irqreturn_t rpr0521_drdy_irq_thread(int irq, void *private)
> >  	return IRQ_NONE;
> >  }
> >  
> > -static irqreturn_t rpr0521_trigger_consumer_store_time(int irq, void *p)
> > -{
> > -	struct iio_poll_func *pf = p;
> > -	struct iio_dev *indio_dev = pf->indio_dev;
> > -
> > -	/* Other trigger polls store time here. */
> > -	if (!iio_trigger_using_own(indio_dev))
> > -		pf->timestamp = iio_get_time_ns(indio_dev);
> > -
> > -	return IRQ_WAKE_THREAD;
> > -}
> > -
> >  static irqreturn_t rpr0521_trigger_consumer_handler(int irq, void *p)
> >  {
> >  	struct iio_poll_func *pf = p;
> > @@ -1016,7 +1004,7 @@ static int rpr0521_probe(struct i2c_client *client)
> >  		/* Trigger consumer setup */
> >  		ret = devm_iio_triggered_buffer_setup(indio_dev->dev.parent,
> >  			indio_dev,
> > -			rpr0521_trigger_consumer_store_time,
> > +			iio_pollfunc_store_time,
> >  			rpr0521_trigger_consumer_handler,
> >  			&rpr0521_buffer_setup_ops);
> >  		if (ret < 0) {  
> 
> 


  reply	other threads:[~2024-10-12 16:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-22 16:20 [PATCH RFC v1 0/2] iio: Simplify IRQ and trigger management in RPR0521 Vasileios Amoiridis
2024-09-22 16:20 ` [PATCH RFC v1 1/2] iio: light: rpr0521: Use generic iio_pollfunc_store_time() Vasileios Amoiridis
2024-09-28 15:10   ` Jonathan Cameron
2024-10-12 16:12     ` Jonathan Cameron [this message]
2024-09-22 16:20 ` [PATCH RFC v1 2/2] iio: light: rpr0521: Drop unnecessary checks for timestamp value Vasileios Amoiridis
2024-09-28 15:15   ` Jonathan Cameron
2024-09-29 10:33     ` Vasileios Amoiridis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241012171217.0e79404f@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=vassilisamir@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.