From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Anders Darander <anders@chargestorm.se>
Cc: rpurdie@rpsys.net, robh+dt@kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-leds@vger.kernel.org, pawel.moll@arm.com,
mark.rutland@arm.com, ijc+devicetree@hellion.org.uk,
galak@codeaurora.org, Olliver Schinagl <oliver@schinagl.nl>,
Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Subject: Re: [PATCH] leds-pca963x: add bindings to invert polarity
Date: Wed, 04 May 2016 09:28:43 +0200 [thread overview]
Message-ID: <5729A4AB.5080901@samsung.com> (raw)
In-Reply-To: <1462182104-21450-1-git-send-email-anders@chargestorm.se>
Hi Anders,
Thanks for the patch.
Please note that there has already been an attempt to add
the support for inverted output polarity to this driver and related
discussion [1]. This thread remains quiet for around two weeks.
Cc Olliver and Ricardo.
[1] https://lkml.org/lkml/2016/4/19/95
Best regards,
Jacek Anaszewski
On 05/02/2016 11:41 AM, Anders Darander wrote:
> Add a new DT property, nxp,inverted, to invert the polarity of the output.
>
> Tested on PCA9634.
>
> Signed-off-by: Anders Darander <anders@chargestorm.se>
> ---
> Documentation/devicetree/bindings/leds/pca963x.txt | 1 +
> drivers/leds/leds-pca963x.c | 17 +++++++++++++++--
> include/linux/platform_data/leds-pca963x.h | 6 ++++++
> 3 files changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/leds/pca963x.txt b/Documentation/devicetree/bindings/leds/pca963x.txt
> index dafbe99..68579c5 100644
> --- a/Documentation/devicetree/bindings/leds/pca963x.txt
> +++ b/Documentation/devicetree/bindings/leds/pca963x.txt
> @@ -7,6 +7,7 @@ Optional properties:
> - nxp,totem-pole : use totem pole (push-pull) instead of open-drain (pca9632 defaults
> to open-drain, newer chips to totem pole)
> - nxp,hw-blink : use hardware blinking instead of software blinking
> +- nxp,inverted: invert the polarity of the generated PWM
>
> Each led is represented as a sub-node of the nxp,pca963x device.
>
> diff --git a/drivers/leds/leds-pca963x.c b/drivers/leds/leds-pca963x.c
> index 407eba1..41b7648 100644
> --- a/drivers/leds/leds-pca963x.c
> +++ b/drivers/leds/leds-pca963x.c
> @@ -294,6 +294,12 @@ pca963x_dt_init(struct i2c_client *client, struct pca963x_chipdef *chip)
> else
> pdata->blink_type = PCA963X_SW_BLINK;
>
> + /* default to non-inverted output, unless inverted is specified */
> + if (of_property_read_bool(np, "nxp,inverted"))
> + pdata->dir = PCA963X_INVERTED;
> + else
> + pdata->dir = PCA963X_NORMAL;
> +
> return pdata;
> }
>
> @@ -395,11 +401,18 @@ static int pca963x_probe(struct i2c_client *client,
> i2c_smbus_write_byte_data(client, PCA963X_MODE1, 0x00);
>
> if (pdata) {
> + u8 mode2 = i2c_smbus_read_byte_data(pca963x->chip->client,
> + PCA963X_MODE2);
> /* Configure output: open-drain or totem pole (push-pull) */
> if (pdata->outdrv == PCA963X_OPEN_DRAIN)
> - i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x01);
> + mode2 |= 0x01;
> else
> - i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x05);
> + mode2 |= 0x05;
> + /* Configure direction: normal or inverted */
> + if (pdata->dir == PCA963X_INVERTED)
> + mode2 |= 0x10;
> + i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
> + mode2);
> }
>
> return 0;
> diff --git a/include/linux/platform_data/leds-pca963x.h b/include/linux/platform_data/leds-pca963x.h
> index e731f00..54e845f 100644
> --- a/include/linux/platform_data/leds-pca963x.h
> +++ b/include/linux/platform_data/leds-pca963x.h
> @@ -33,10 +33,16 @@ enum pca963x_blink_type {
> PCA963X_HW_BLINK,
> };
>
> +enum pca963x_direction {
> + PCA963X_NORMAL,
> + PCA963X_INVERTED,
> +};
> +
> struct pca963x_platform_data {
> struct led_platform_data leds;
> enum pca963x_outdrv outdrv;
> enum pca963x_blink_type blink_type;
> + enum pca963x_direction dir;
> };
>
> #endif /* __LINUX_PCA963X_H*/
>
next prev parent reply other threads:[~2016-05-04 7:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-02 9:41 [PATCH] leds-pca963x: add bindings to invert polarity Anders Darander
2016-05-04 7:28 ` Jacek Anaszewski [this message]
2016-05-04 7:55 ` Anders Darander
2016-05-04 8:10 ` Olliver Schinagl
[not found] ` <5729AE59.6000009-dxLnbx3+1qmEVqv0pETR8A@public.gmane.org>
2016-09-05 11:02 ` Anders Darander
2016-09-05 11:02 ` Anders Darander
2016-09-06 9:29 ` Olliver Schinagl
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=5729A4AB.5080901@samsung.com \
--to=j.anaszewski@samsung.com \
--cc=anders@chargestorm.se \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=oliver@schinagl.nl \
--cc=pawel.moll@arm.com \
--cc=ricardo.ribalda@gmail.com \
--cc=robh+dt@kernel.org \
--cc=rpurdie@rpsys.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.