All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Ivan Mikhaylov <i.mikhaylov@yadro.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>,
	<linux-kernel@vger.kernel.org>, <linux-iio@vger.kernel.org>,
	<linux-hwmon@vger.kernel.org>
Subject: Re: [PATCH 1/4] iio: proximity: vcnl3020: add periodic mode
Date: Wed, 5 May 2021 09:22:25 +0100	[thread overview]
Message-ID: <20210505092225.00007ec4@Huawei.com> (raw)
In-Reply-To: <136a077085488866235636be5884681341fb3644.camel@yadro.com>

On Tue, 4 May 2021 22:07:53 +0300
Ivan Mikhaylov <i.mikhaylov@yadro.com> wrote:

> On Sun, 2021-05-02 at 19:00 +0100, Jonathan Cameron wrote:
> > On Fri, 30 Apr 2021 18:24:16 +0300
> > Ivan Mikhaylov <i.mikhaylov@yadro.com> wrote:
> >   
> > > Add the possibility to run proximity sensor in periodic measurement
> > > mode.  
> > 
> > Without an interrupt?  Unusual and perhaps best left to userspace.  
> 
> Do you mean without interrupt handler in driver for this particular interrupt?
> If it's need to be added here, I can add it. In this patch I just added trigger
> to enable/disable periodic measurement mode without interrupt handler.

The model for events in IIO is that they are 'pushed' to userspace.
So it is possible to do this with a polling thread, but on a device
with an interrupt line tied to the event, it makes much more sense
to do it that way.

We don't have read on demand event as there has been little real
demand for them (and they can be implemented in userspase).

Jonathan


> 
> >   
> > > +		if (rc)
> > > +			return rc;
> > > +
> > > +		/* Enable periodic measurement of proximity data. */
> > > +		cmd = VCNL_PS_EN | VCNL_PS_SELFTIMED_EN;
> > > +
> > > +		/*
> > > +		 * Enable interrupts on threshold, for proximity data by
> > > +		 * default.
> > > +		 */
> > > +		icr = VCNL_ICR_THRES_EN;
> > > +	} else {
> > > +		if (!vcnl3020_is_thr_enabled(data))
> > > +			return 0;
> > > +
> > > +		cmd = 0;
> > > +		icr = 0;
> > > +		isr = 0;
> > > +	}
> > > +
> > > +	rc = regmap_write(data->regmap, VCNL_COMMAND, cmd);
> > > +	if (rc)
> > > +		goto end;
> > > +
> > > +	rc = regmap_write(data->regmap, VCNL_PS_ICR, icr);
> > > +	if (rc)
> > > +		goto end;
> > > +
> > > +	if (!state)
> > > +		/* Clear interrupts */  
> > 
> > Given you don't seem to have an interrupt. I guess this is clearing
> > a status flag?  
> 
> Yes, it is clearing flag in interrupt status register.
> 
> >   
> > > +		rc = regmap_write(data->regmap, VCNL_ISR, isr);
> > > +
> > > +end:
> > > +	if (state)
> > > +		iio_device_release_direct_mode(indio_dev);  
> >   
> 
> 


  reply	other threads:[~2021-05-05  8:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-30 15:24 [PATCH 0/4] add periodic mode, threshold options and hwmon Ivan Mikhaylov
2021-04-30 15:24 ` [PATCH 1/4] iio: proximity: vcnl3020: add periodic mode Ivan Mikhaylov
2021-05-01 18:48   ` Andy Shevchenko
2021-05-02 18:00   ` Jonathan Cameron
2021-05-04 19:07     ` Ivan Mikhaylov
2021-05-05  8:22       ` Jonathan Cameron [this message]
2021-04-30 15:24 ` [PATCH 2/4] iio: proximity: vcnl3020: add threshold options Ivan Mikhaylov
2021-05-01 18:51   ` Andy Shevchenko
2021-04-30 15:24 ` [PATCH 3/4] iio: proximity: vncl3020: remove mutex from vcnl3020_data Ivan Mikhaylov
2021-05-01 18:53   ` Andy Shevchenko
2021-05-02 17:53   ` Jonathan Cameron
2021-04-30 15:24 ` [PATCH 4/4] hwmon: vcnl3020: add hwmon driver for intrusion sensor Ivan Mikhaylov
2021-04-30 16:38   ` Guenter Roeck
2021-05-04 19:46     ` Ivan Mikhaylov
2021-05-05  8:26       ` Jonathan Cameron
2021-05-05 14:02       ` Guenter Roeck
2021-05-17 17:08         ` Ivan Mikhaylov
2021-05-01  7:07   ` kernel test robot
2021-05-01  7:07     ` kernel test robot

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=20210505092225.00007ec4@Huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=i.mikhaylov@yadro.com \
    --cc=jdelvare@suse.com \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=pmeerw@pmeerw.net \
    /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.