devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Lorenzo Bianconi
	<lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	lorenzo.bianconi-qxv4g6HH51o@public.gmane.org
Subject: Re: [PATCH v2 08/10] iio: humidity: hts221: support open drain mode
Date: Sat, 22 Jul 2017 21:25:24 +0100	[thread overview]
Message-ID: <20170722212524.6fc06db7@kernel.org> (raw)
In-Reply-To: <20170717173905.8209-9-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>

On Mon, 17 Jul 2017 19:39:03 +0200
Lorenzo Bianconi <lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

> Add open drain support in order to share requested IRQ line between
> hts221 device and other peripherals
> 
> Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
I'm going to hold off on the rest of this series to give Rob
time to take another look at the bindings documentation and
confirm he is happy with the changes.

Give me a poke if I seem to have forgotten them!

Jonathan
> ---
>  drivers/iio/humidity/hts221_buffer.c | 22 +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/humidity/hts221_buffer.c b/drivers/iio/humidity/hts221_buffer.c
> index ad5222295b2c..f29f01a22375 100644
> --- a/drivers/iio/humidity/hts221_buffer.c
> +++ b/drivers/iio/humidity/hts221_buffer.c
> @@ -20,10 +20,14 @@
>  #include <linux/iio/triggered_buffer.h>
>  #include <linux/iio/buffer.h>
>  
> +#include <linux/platform_data/st_sensors_pdata.h>
> +
>  #include "hts221.h"
>  
>  #define HTS221_REG_DRDY_HL_ADDR		0x22
>  #define HTS221_REG_DRDY_HL_MASK		BIT(7)
> +#define HTS221_REG_DRDY_PP_OD_ADDR	0x22
> +#define HTS221_REG_DRDY_PP_OD_MASK	BIT(6)
>  #define HTS221_REG_STATUS_ADDR		0x27
>  #define HTS221_RH_DRDY_MASK		BIT(1)
>  #define HTS221_TEMP_DRDY_MASK		BIT(0)
> @@ -69,7 +73,9 @@ static irqreturn_t hts221_trigger_handler_thread(int irq, void *private)
>  int hts221_allocate_trigger(struct hts221_hw *hw)
>  {
>  	struct iio_dev *iio_dev = iio_priv_to_dev(hw);
> -	bool irq_active_low = false;
> +	bool irq_active_low = false, open_drain = false;
> +	struct device_node *np = hw->dev->of_node;
> +	struct st_sensors_platform_data *pdata;
>  	unsigned long irq_type;
>  	int err;
>  
> @@ -95,6 +101,20 @@ int hts221_allocate_trigger(struct hts221_hw *hw)
>  				     HTS221_REG_DRDY_HL_MASK, irq_active_low);
>  	if (err < 0)
>  		return err;
> +
> +	pdata = (struct st_sensors_platform_data *)hw->dev->platform_data;
> +	if ((np && of_property_read_bool(np, "drive-open-drain")) ||
> +	    (pdata && pdata->open_drain)) {
> +		irq_type |= IRQF_SHARED;
> +		open_drain = true;
> +	}
> +
> +	err = hts221_write_with_mask(hw, HTS221_REG_DRDY_PP_OD_ADDR,
> +				     HTS221_REG_DRDY_PP_OD_MASK,
> +				     open_drain);
> +	if (err < 0)
> +		return err;
> +
>  	err = devm_request_threaded_irq(hw->dev, hw->irq, NULL,
>  					hts221_trigger_handler_thread,
>  					irq_type | IRQF_ONESHOT,

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-07-22 20:25 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-17 17:38 [PATCH v2 00/10] hts221: add new features and fix power-off procedure Lorenzo Bianconi
     [not found] ` <20170717173905.8209-1-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-17 17:38   ` [PATCH v2 01/10] iio: humidity: hts221: refactor write_with_mask code Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-2-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 17:57       ` Jonathan Cameron
2017-07-17 17:38   ` [PATCH v2 02/10] iio: humidity: hts221: move BDU configuration in probe routine Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-3-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 17:58       ` Jonathan Cameron
2017-07-17 17:38   ` [PATCH v2 03/10] iio: humidity: hts221: do not overwrite reserved data during power-down Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-4-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 18:02       ` Jonathan Cameron
2017-07-17 17:38   ` [PATCH v2 04/10] iio: humidity: hts221: avoid useless ODR reconfiguration Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-5-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 20:19       ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 05/10] iio: humidity: hts221: squash hts221_power_on/off in hts221_set_enable Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-6-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 20:21       ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 06/10] iio: humidity: hts221: support active-low interrupts Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-7-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 20:22       ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 07/10] dt-bindings: " Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-8-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 20:23       ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 08/10] iio: humidity: hts221: support open drain mode Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-9-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-22 20:25       ` Jonathan Cameron [this message]
     [not found]         ` <20170722212524.6fc06db7-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-07-25 19:01           ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 09/10] dt-bindings: " Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-10-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-24 17:48       ` Rob Herring
2017-07-25 19:02         ` Jonathan Cameron
2017-07-17 17:39   ` [PATCH v2 10/10] iio: humidity: hts221: move drdy enable logic in hts221_trig_set_state() Lorenzo Bianconi
     [not found]     ` <20170717173905.8209-11-lorenzo.bianconi-qxv4g6HH51o@public.gmane.org>
2017-07-25 19:03       ` 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=20170722212524.6fc06db7@kernel.org \
    --to=jic23-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lorenzo.bianconi-qxv4g6HH51o@public.gmane.org \
    --cc=lorenzo.bianconi83-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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).