From: Thierry Reding <thierry.reding@gmail.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-pwm@vger.kernel.org
Subject: Re: [PATCH] pwm-pca9685: Allow any of the 16 PWMs to be used as a GPIO
Date: Thu, 20 Oct 2016 23:50:11 +0200 [thread overview]
Message-ID: <20161020215009.GA2185@mithrandir.ba.sec> (raw)
In-Reply-To: <20161020130117.GK24289@lahna.fi.intel.com>
[-- Attachment #1: Type: text/plain, Size: 2852 bytes --]
On Thu, Oct 20, 2016 at 04:01:17PM +0300, Mika Westerberg wrote:
> On Thu, Oct 20, 2016 at 02:51:44PM +0200, Thierry Reding wrote:
> > On Thu, Oct 20, 2016 at 02:18:44PM +0300, Mika Westerberg wrote:
> > > On Thu, Oct 20, 2016 at 12:45:41PM +0200, Thierry Reding wrote:
> > > > On Wed, Oct 19, 2016 at 09:56:38PM +0300, Mika Westerberg wrote:
> > > > > On Tue, Sep 20, 2016 at 05:40:56PM +0300, Mika Westerberg wrote:
> > > > > > The PCA9685 controller has full on/off bit for each PWM channel. Setting
> > > > > > this bit bypasses the PWM control and the line works just as it would be a
> > > > > > GPIO. Furthermore in Intel Galileo it is actually used as GPIO output for
> > > > > > discreet muxes on the board.
> > > > > >
> > > > > > This patch adds GPIO output only support for the driver so that we can
> > > > > > control the muxes on Galileo using standard GPIO interfaces available in
> > > > > > the kernel. GPIO and PWM functionality is exclusive so only one can be
> > > > > > active at a time on a single PWM channel.
> > > > > >
> > > > > > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> > > > >
> > > > > Thierry,
> > > > >
> > > > > Any comments on this?
> > > >
> > > > It seems to me like maybe pinmux would be a better framework to handle
> > > > this kind of use case. The full on/off bit sounds like it's a mux that
> > > > selects between GPIO and PWM functionality.
> > > >
> > > > Have you thought about supporting pinmux for this?
> > >
> > > Adding a full pinmux just for this sounds a bit overkill if you ask me.
> > >
> > > How about adding that ->gpio_set() callback in pwm_ops and let the PWM
> > > core to export a GPIO chip in that case? That would support also other
> > > PWMs having similar full on/off capability without the need to add a new
> > > pinmux driver for each.
> >
> > I'm reluctant to add this to the PWM core because it's effectively
> > duplicating something for which a proper subsystem already exists.
>
> OK, I see.
>
> > If adding pinmux is considered overkill, maybe doing so needs to be
> > simplified. Surely if this is applicable to more than one PWM controller
> > some helpers could be extracted to make it easier to add.
> >
> > But if it isn't generally useful I don't think it makes sense to add it
> > to the PWM core either. So I think our choices here are to register via
> > pinmux and in the process add helpers to make that easier (remove the
> > overkill) or to keep this to the driver until we start seeing a pattern
> > emerge.
>
> I would then go for keeping the code in this single driver for now and
> re-think this later if other drivers start to develop similar.
That's fine with me. I'll take a closer look at this patch and apply if
I don't find anything out of place.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
next prev parent reply other threads:[~2016-10-20 21:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-20 14:40 [PATCH] pwm-pca9685: Allow any of the 16 PWMs to be used as a GPIO Mika Westerberg
2016-09-20 21:46 ` Linus Walleij
2016-10-19 18:56 ` Mika Westerberg
2016-10-19 20:05 ` Clemens Gruber
2016-10-19 20:28 ` Mika Westerberg
2016-10-19 22:59 ` Clemens Gruber
2016-10-20 8:07 ` Mika Westerberg
2016-10-20 10:45 ` Thierry Reding
2016-10-20 11:18 ` Mika Westerberg
2016-10-20 12:51 ` Thierry Reding
2016-10-20 12:56 ` Andy Shevchenko
2016-10-20 13:01 ` Mika Westerberg
2016-10-20 21:50 ` Thierry Reding [this message]
2016-10-21 12:23 ` Mika Westerberg
2016-10-31 11:42 ` Mika Westerberg
2016-12-01 7:28 ` Mika Westerberg
2016-10-20 13:08 ` Clemens Gruber
2016-10-20 21:52 ` Thierry Reding
2016-10-23 10:23 ` Linus Walleij
2017-01-18 10:41 ` Thierry Reding
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=20161020215009.GA2185@mithrandir.ba.sec \
--to=thierry.reding@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linus.walleij@linaro.org \
--cc=linux-pwm@vger.kernel.org \
--cc=mika.westerberg@linux.intel.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.