From: Jonathan Cameron <jic23@kernel.org>
To: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
linux-iio <linux-iio@vger.kernel.org>,
Alexandru Ardelean <aardelean@deviqon.com>,
Shawn Guo <shawnguo@kernel.org>
Subject: Re: [PATCH 3/5] iio: accel: mma9551: Add support to get irqs directly from fwnode
Date: Thu, 3 Jun 2021 19:40:02 +0100 [thread overview]
Message-ID: <20210603194002.768f558e@jic23-huawei> (raw)
In-Reply-To: <20210524102736.00007567@Huawei.com>
On Mon, 24 May 2021 10:27:36 +0100
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:
> On Mon, 24 May 2021 09:13:30 +0300
> Andy Shevchenko <andy.shevchenko@gmail.com> wrote:
>
> > On Sun, May 23, 2021 at 7:24 PM Jonathan Cameron <jic23@kernel.org> wrote:
> > >
> > > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > >
> > > The driver previous supported using GPIO requests to retrieve
> >
> > previously
> >
> > > multiple interrupt lines. As existing firmware may be using
> > > this method, we need to continue to support it. However, that doesn't
> > > stop us also supporting just getting irqs directly.
> > >
> > > The handling of irqflags has to take into account the fact that using
> > > a GPIO method to identify the interrupt does not convey direction of
> > > the trigger that fwnode_irq_get() will. So we need to set the
> > > IRQF_TRIGGER_RISING in that path but not otherwise, where it will
> > > cause an issue if we reprobe the driver after removal.
> >
> > ...
> >
> > > + /* fwnode_irq_get() returns 0 for not present on OF, and -EINVAL for ACPI */
> > > + if (ret == 0 || ret == -EINVAL) {
> > > + gpio = devm_gpiod_get_index(dev, NULL, i, GPIOD_IN);
> > > + if (IS_ERR(gpio)) {
> >
> > > + dev_err(dev, "gpio get index failed\n");
> > > + return PTR_ERR(gpio);
> >
> > This should be dev_err_probe().
> > (I guess you need to prepend this patch with one that switches to
> > dev_err_probe() API)
> >
> > > + }
> > > +
> > > + ret = gpiod_to_irq(gpio);
> > > + if (ret < 0)
> > > + return ret;
> >
> > > + /* GPIO interrupt does npt have a specified direction */
>
> Gah. What is it with me and spelling in comments...
>
> > > + irqflags |= IRQF_TRIGGER_RISING;
> >
> > I'm not sure I understand this part. If we are talking about the ACPI
> > GpioInt() resource, then it should have this flag. If GpioIo() is in
> > use (which is already a sign of either using the line in dual
> > direction mode, but this needs to be described in the data sheet and
> > thus used in the driver, or misdesigned ACPI tables). DT, I suppose,
> > should have all necessary information.
>
> Honestly I have no idea. I didn't want to change the exiting flags without
> any visibility of what the ACPI tables look like (assuming they exist).
> Given I'm proposing killing of the ID, chances are ACPI is broken anyway
> now :) So, more risky is DT out there that just specifies this as a
> GPIO.
>
> Plan B would be to just drop the GPIO support entirely.
>
> Would GpioInt() get picked up by the the fwnode_irq_get() path?
>
> I'm guessing these were on a dev board 6+ years ago, but whilst I can
> find references to the mma9553 on some freescale platforms, not finding
> much on the mma9551.
>
> Looking a bit deeper they are both listed as obsolete parts now (according to
> digikey as I can't find status on nxp.com)
> ... So plan C is just remove the drivers on the basis they are significantly
> odd and we don't know of a platform anyone cares about with them on.
>
> Mind you, aside from having a lack of documented bindings (which was what was
> annoying me, they aren't doing any harm or causing any real maintenance burden.)
> More than possible someone out there is using them. The mm9953 appears on the
> warpboard.org reference platform, but seems the sensor was never enabled upstream.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/arch/arm/boot/dts/imx6sl-warp.dts
> https://revotics.com/warp?v=a284e24d5f46
>
> Also, only some passing references in there, so I'd guess it got dropped in
> later revisions? Shaun, any ideas?
I'm going to gamble a bit here and just drop the gpio support entirely.
We don't have any known boards out there running this driver so I 'might'
break someones hobby board, but hopefully they'll fix up their DT.
Without a confirmed user I'm not keen to maintain the complexity.
Jonathan
>
> Jonathan
>
>
> >
> > > + }
> >
> >
> >
>
next prev parent reply other threads:[~2021-06-03 18:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-23 16:23 [PATCH 0/5] iio: accel: mma9551/mma9553 Cleanup and update Jonathan Cameron
2021-05-23 16:23 ` [PATCH 1/5] iio: accel: mma9551/mma9553: Drop explicit ACPI match support Jonathan Cameron
2021-05-23 19:17 ` Andy Shevchenko
2021-05-24 7:28 ` Alexandru Ardelean
2021-05-23 16:23 ` [PATCH 2/5] iio: accel: mma9551/mma9553: Simplify pm logic Jonathan Cameron
2021-05-24 7:33 ` Alexandru Ardelean
2021-05-23 16:23 ` [PATCH 3/5] iio: accel: mma9551: Add support to get irqs directly from fwnode Jonathan Cameron
2021-05-24 6:13 ` Andy Shevchenko
2021-05-24 9:27 ` Jonathan Cameron
2021-06-03 18:40 ` Jonathan Cameron [this message]
2021-05-24 8:16 ` Alexandru Ardelean
2021-05-23 16:23 ` [PATCH 4/5] iio: accel: mma9551: Use devm managed functions to tidy up probe() Jonathan Cameron
2021-05-24 8:13 ` Alexandru Ardelean
2021-05-23 16:23 ` [PATCH 5/5] iio: accel: mma9553: " Jonathan Cameron
2021-05-24 8:15 ` Alexandru Ardelean
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=20210603194002.768f558e@jic23-huawei \
--to=jic23@kernel.org \
--cc=Jonathan.Cameron@Huawei.com \
--cc=aardelean@deviqon.com \
--cc=andy.shevchenko@gmail.com \
--cc=linux-iio@vger.kernel.org \
--cc=shawnguo@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).