linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Linus Walleij <linus.walleij@linaro.org>, linux-iio@vger.kernel.org
Subject: Re: [PATCH 03/15 v2] iio: accel: kxsd9: split out a common remove() function
Date: Sat, 3 Sep 2016 18:38:51 +0100	[thread overview]
Message-ID: <e4f8fd50-8674-10f7-80f6-df2a972e07b0@kernel.org> (raw)
In-Reply-To: <1472723089-25113-3-git-send-email-linus.walleij@linaro.org>

On 01/09/16 10:44, Linus Walleij wrote:
> This makes it possible to later split the transport mechanism
> using a generic probe() and a generic remove().
> 
> Use dev_set_drvdata() and dev_get_drvdata() as a paired
> accessor to operate on the abstract struct device * regardless
> of the transport mechanism in use.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Applied to the togreg branch of iio.git.

Thanks,

Jonathan
> ---
> ChangeLog v1->v2:
> - New patch replacing "iio: accel: kxsd: use devm_iio_device_register"
>   which didn't work out in practice: also later patches anyways
>   reintroduced the common remove() function so we may just as well
>   keep it around.
> ---
>  drivers/iio/accel/kxsd9.c | 24 ++++++++++++++----------
>  1 file changed, 14 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
> index df8a31e84c7d..1f9e9a867f34 100644
> --- a/drivers/iio/accel/kxsd9.c
> +++ b/drivers/iio/accel/kxsd9.c
> @@ -220,8 +220,7 @@ static const struct iio_info kxsd9_info = {
>  
>  static int kxsd9_common_probe(struct device *parent,
>  			      struct kxsd9_transport *transport,
> -			      const char *name,
> -			      struct iio_dev **retdev)
> +			      const char *name)
>  {
>  	struct iio_dev *indio_dev;
>  	struct kxsd9_state *st;
> @@ -248,7 +247,17 @@ static int kxsd9_common_probe(struct device *parent,
>  	if (ret)
>  		return ret;
>  
> -	*retdev = indio_dev;
> +	dev_set_drvdata(parent, indio_dev);
> +
> +	return 0;
> +}
> +
> +static int kxsd9_common_remove(struct device *parent)
> +{
> +	struct iio_dev *indio_dev = dev_get_drvdata(parent);
> +
> +	iio_device_unregister(indio_dev);
> +
>  	return 0;
>  }
>  
> @@ -295,7 +304,6 @@ static int kxsd9_spi_readval(struct kxsd9_transport *tr, u8 address)
>  static int kxsd9_spi_probe(struct spi_device *spi)
>  {
>  	struct kxsd9_transport *transport;
> -	struct iio_dev *indio_dev;
>  	int ret;
>  
>  	transport = devm_kzalloc(&spi->dev, sizeof(*transport), GFP_KERNEL);
> @@ -311,20 +319,16 @@ static int kxsd9_spi_probe(struct spi_device *spi)
>  
>  	ret = kxsd9_common_probe(&spi->dev,
>  				 transport,
> -				 spi_get_device_id(spi)->name,
> -				 &indio_dev);
> +				 spi_get_device_id(spi)->name);
>  	if (ret)
>  		return ret;
>  
> -	spi_set_drvdata(spi, indio_dev);
>  	return 0;
>  }
>  
>  static int kxsd9_spi_remove(struct spi_device *spi)
>  {
> -	iio_device_unregister(spi_get_drvdata(spi));
> -
> -	return 0;
> +	return kxsd9_common_remove(&spi->dev);
>  }
>  
>  static const struct spi_device_id kxsd9_spi_id[] = {
> 


  reply	other threads:[~2016-09-03 17:39 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-01  9:44 [PATCH 01/15 v2] iio: accel: kxsd9: Fix scaling bug Linus Walleij
2016-09-01  9:44 ` [PATCH 02/15 v2] iio: accel: kxsd9: Split out transport mechanism Linus Walleij
2016-09-03 17:37   ` Jonathan Cameron
2016-09-03 19:29     ` Jonathan Cameron
2016-09-04 20:46       ` Linus Walleij
2016-09-18 10:06   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 03/15 v2] iio: accel: kxsd9: split out a common remove() function Linus Walleij
2016-09-03 17:38   ` Jonathan Cameron [this message]
2016-09-03 19:29     ` Jonathan Cameron
2016-09-18 10:08       ` Jonathan Cameron
2016-09-04 16:33   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 04/15 v2] iio: accel: kxsd9: Split out SPI transport Linus Walleij
2016-09-03 19:24   ` Jonathan Cameron
2016-09-03 19:29     ` Jonathan Cameron
2016-09-18 10:09       ` Jonathan Cameron
2016-09-04 16:33   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 05/15 v2] iio: accel: kxsd9: Do away with the write2 helper Linus Walleij
2016-09-03 19:25   ` Jonathan Cameron
2016-09-03 19:30     ` Jonathan Cameron
2016-09-18 10:27       ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 06/15 v2] iio: accel: kxsd9: Convert to use regmap for transport Linus Walleij
2016-09-18 10:28   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 07/15 v2] iio: accel: kxsd9: Add I2C transport Linus Walleij
2016-09-18 10:29   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 08/15 v2] iio: accel: kxsd9: Drop the buffer lock Linus Walleij
2016-09-01  9:44 ` [PATCH 09/15 v2] iio: accel: kxsd9: Fix up offset and scaling Linus Walleij
2016-09-18 10:31   ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 10/15 v2] iio: accel: kxsd9: Add triggered buffer handling Linus Walleij
2016-09-04 16:40   ` Jonathan Cameron
2016-09-18 10:32     ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 11/15 v2] iio: accel: kxsd9: Deploy proper register bit defines Linus Walleij
2016-09-04 16:42   ` Jonathan Cameron
2016-09-18 10:33     ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 12/15 v2] iio: accel: kxsd9: Fetch and handle regulators Linus Walleij
2016-09-04 16:43   ` Jonathan Cameron
2016-09-18 10:35     ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 13/15 v2] iio: accel: kxsd9: Replace "parent" with "dev" Linus Walleij
2016-09-04 16:46   ` Jonathan Cameron
2016-09-18 10:35     ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 14/15 v2] iio: accel: kxsd9: Deploy system and runtime PM Linus Walleij
2016-09-04 16:48   ` Jonathan Cameron
2016-09-18 10:36     ` Jonathan Cameron
2016-09-01  9:44 ` [PATCH 15/15 v2] iio: accel: kxsd9: Support reading a mounting matrix Linus Walleij
2016-09-04 16:51   ` Jonathan Cameron
2016-09-18 10:36     ` Jonathan Cameron
2016-09-03 17:31 ` [PATCH 01/15 v2] iio: accel: kxsd9: Fix scaling bug 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=e4f8fd50-8674-10f7-80f6-df2a972e07b0@kernel.org \
    --to=jic23@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-iio@vger.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).