From: Brian Masney <masneyb@onstation.org>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-iio@vger.kernel.org, gregkh@linuxfoundation.org,
devel@driverdev.osuosl.org, knaack.h@gmx.de, lars@metafoo.de,
pmeerw@pmeerw.net, linux-kernel@vger.kernel.org,
ldewangan@nvidia.com
Subject: Re: [PATCH 02/19] staging: iio: isl29028: remove enable flag from isl29028_enable_proximity()
Date: Sat, 14 Jan 2017 15:00:51 -0500 [thread overview]
Message-ID: <20170114200050.spnbtiazo6metsi3@basecamp.onstation.org> (raw)
In-Reply-To: <c578b88b-9b8a-b3a3-ae05-bfd6f7522871@kernel.org>
On Sun, Dec 04, 2016 at 11:16:04AM +0000, Jonathan Cameron wrote:
> On 04/12/16 02:19, Brian Masney wrote:
> > isl29028_enable_proximity() has a boolean argument named enable. This
> > function is only called once and the enable flag is set to true in that
> > call. This patch removes the enable parameter from that function.
> >
> > Signed-off-by: Brian Masney <masneyb@onstation.org>
>
> The first thing that strikes me about this, is why do we have an enable
> only function?
>
> I think the intention was probably that we also disable the proximity
> sensing after the
> reading was done... Ideally we'd do this a little more cleverly,
> perhaps using runtime
> pm so that if someone is requesting a stream of proximity measurements,
> we won't end up
> powering up and down each time.
>
> It's a little 'interesting' as we would want to power this element down
> even if we do
> have a continuous stream of reads on the ALS. As such we may need to
> roll our own
> equivalent of runtime pm.
>
> In the first instance, I'd just put a disable after the reading is
> taken. This will
> make a bit of a mockery of the faster sampling frequencies but there we
> are!
>
> ---------------------
>
> On second thoughts (stupid email is hiding somewhere to be sent when I
> have wifi so can't reply to it) perhaps this is a coarse way of only
> turning proximity on if the LED is present? Not sure...
Hi Jonathan,
I chained your two replies together above. I am probably stating the
obvious here, but I've verified with an oscilloscope that the IRDR pin
that drives the external LED is off when the chip is first initialized
and ALS readings are taken. The IRDR pin fluctuates between high and low
every 100us (if memory serves me right) once the first proximity reading
is taken until the chip is suspended.
What do you think about enabling runtime auto suspend after say 2
seconds for the whole device? There is the situation that you describe
where if someone is continuously polling the ALS but asks for a single
proximity reading. The external LED will stay on in that case. Once the
chip is suspended, and later resumes, the IRDR pin that drives the
external LED will be off until the user asks for another proximity
reading. That would allow for the faster sampling frequency.
If you still prefer, I'll go the route of shutting down the IRDR pin
after a proximity reading is taken.
Brian
next prev parent reply other threads:[~2017-01-14 20:00 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-04 2:19 [PATCH 00/19] staging: iio: isl29028: staging cleanups Brian Masney
2016-12-04 2:19 ` [PATCH 01/19] staging: iio: isl29028: remove nested if statements Brian Masney
2016-12-04 11:01 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 02/19] staging: iio: isl29028: remove enable flag from isl29028_enable_proximity() Brian Masney
2016-12-04 11:13 ` Jonathan Cameron
2016-12-04 11:16 ` Jonathan Cameron
2017-01-14 20:00 ` Brian Masney [this message]
2017-01-15 14:33 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 03/19] staging: iio: isl29028: remove chip test and defaults from isl29028_chip_init() Brian Masney
2016-12-04 11:23 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 04/19] staging: iio: isl29028: add power management support Brian Masney
2016-12-04 11:37 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 05/19] staging: iio: isl29028: made alignment of #defines consistent Brian Masney
2016-12-04 11:39 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 06/19] staging: iio: isl29028: made alignment of variables in struct isl29028_chip consistent Brian Masney
2016-12-04 2:19 ` [PATCH 07/19] staging: iio: isl29028: fix alignment of function arguments Brian Masney
2016-12-04 2:19 ` [PATCH 08/19] staging: iio: isl29028: combine isl29028_proxim_get() and isl29028_read_proxim() Brian Masney
2016-12-04 2:19 ` [PATCH 09/19] staging: iio: isl29028: change newlines to improve readability Brian Masney
2016-12-04 2:19 ` [PATCH 10/19] staging: iio: isl29028: remove unused define ISL29028_DEV_ATTR Brian Masney
2016-12-04 2:19 ` [PATCH 11/19] staging: iio: isl29028: made column alignment in isl29028_channels consistent Brian Masney
2016-12-04 11:48 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 12/19] staging: iio: isl29028: fix comparison between signed and unsigned integers Brian Masney
2016-12-05 20:53 ` Dan Carpenter
2016-12-06 0:10 ` Brian Masney
2016-12-06 10:19 ` Dan Carpenter
2016-12-04 2:19 ` [PATCH 13/19] staging: iio: isl29028: move failure logging into isl29028_set_proxim_sampling() Brian Masney
2016-12-04 11:50 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 14/19] staging: iio: isl29028: move failure logging into isl29028_set_als_scale() Brian Masney
2016-12-04 11:51 ` Jonathan Cameron
2016-12-04 2:19 ` [PATCH 15/19] staging: iio: isl29028: made error messages consistent Brian Masney
2016-12-04 2:19 ` [PATCH 16/19] staging: iio: isl29028: remove unnecessary error logging in isl29028_chip_init_and_power_on() Brian Masney
2016-12-04 2:19 ` [PATCH 17/19] staging: iio: isl29028: remove out of memory log message Brian Masney
2016-12-04 2:19 ` [PATCH 18/19] staging: iio: isl29028: remove unnecessary parenthesis Brian Masney
2016-12-04 2:19 ` [PATCH 19/19] staging: iio: isl29028: remove legacy device tree binding Brian Masney
2016-12-04 11:55 ` Jonathan Cameron
2017-01-08 9:50 ` Jonathan Cameron
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=20170114200050.spnbtiazo6metsi3@basecamp.onstation.org \
--to=masneyb@onstation.org \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=jic23@kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=ldewangan@nvidia.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®