Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1373660 > unrolled thread

[PATCH V2 00/20] mfd: Add devm_ apis for mfd_add_devices and mfd_release_devices

Started byLaxman Dewangan <ldewangan@nvidia.com>
First post2016-04-07 21:00 +0200
Last post2016-04-07 21:10 +0200
Articles 19 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH V2 00/20] mfd: Add devm_ apis for mfd_add_devices and mfd_release_devices Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 17/20] mfd: tps6507x: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 01/20] mfd: Add resource managed apis for mfd_add_devices Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
      Re: [PATCH V2 01/20] mfd: Add resource managed apis for  mfd_add_devices Lee Jones <lee.jones@linaro.org> - 2016-04-11 11:20 +0200
    [PATCH V2 18/20] mfd: tps65217: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 13/20] mfd: rn5t618: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 20/20] mfd: wm8400: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 08/20] mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 10/20] mfd: mt6397: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 19/20] mfd: tps65910: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 05/20] mfd: atmel-hlcdc: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 14/20] mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 11/20] mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 15/20] mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 03/20] mfd: act8945a: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 16/20] mfd: stw481x: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 12/20] mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:00 +0200
    [PATCH V2 04/20] mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:10 +0200
    [PATCH V2 02/20] mfd: Add devm_mfd_add_devices() in list of managed interfaces Laxman Dewangan <ldewangan@nvidia.com> - 2016-04-07 21:10 +0200

#1373660 — [PATCH V2 00/20] mfd: Add devm_ apis for mfd_add_devices and mfd_release_devices

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 00/20] mfd: Add devm_ apis for mfd_add_devices and mfd_release_devices
Message-ID<rlnjQ-8fc-3@gated-at.bofh.it>
This series add devm_ version of the APIs mfd_add_devices() and 
mfd_release_devices() and get rid of call for mfd_release_devices()
some places and also remove the need of .remove callbacks as this
is not needed.

Changes from V1:
- Remove devm_mfd_remove_devices() as it is not required.
- Convert mfd to MFD on all commit message.
- Handles the comment received from V1 patch like better error handling,
  APIs description.
- Collected acks and reviewed by.
- Run checkpatch --strict on all patches and fix alignment error.

Laxman Dewangan (20):
  mfd: Add resource managed apis for mfd_add_devices
  mfd: Add devm_mfd_add_devices() in list of managed interfaces
  mfd: act8945a: Use devm_mfd_add_devices() for mfd_device registration
  mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration
  mfd: atmel-hlcdc: Use devm_mfd_add_devices() for mfd_device
    registration
  mfd: bcm590xx: Use devm_mfd_add_devices() for mfd_device registration
  mfd: hi6421-pmic: Use devm_mfd_add_devices() for mfd_device
    registration
  mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration
  mfd: menf21bmc: Use devm_mfd_add_devices() for mfd_device registration
  mfd: mt6397: Use devm_mfd_add_devices() for mfd_device registration
  mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration
  mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration
  mfd: rn5t618: Use devm_mfd_add_devices() for mfd_device registration
  mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration
  mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration
  mfd: stw481x: Use devm_mfd_add_devices() for mfd_device registration
  mfd: tps6507x: Use devm_mfd_add_devices() for mfd_device registration
  mfd: tps65217: Use devm_mfd_add_devices() for mfd_device registration
  mfd: tps65910: Use devm_mfd_add_devices() for mfd_device registration
  mfd: wm8400: Use devm_mfd_add_devices() for mfd_device registration

 Documentation/driver-model/devres.txt |  3 +++
 drivers/mfd/act8945a.c                | 13 +++---------
 drivers/mfd/as3711.c                  | 11 +---------
 drivers/mfd/atmel-hlcdc.c             | 10 +--------
 drivers/mfd/bcm590xx.c                |  9 +--------
 drivers/mfd/hi6421-pmic-core.c        | 10 +--------
 drivers/mfd/lp3943.c                  | 14 +++----------
 drivers/mfd/menf21bmc.c               |  9 +--------
 drivers/mfd/mfd-core.c                | 38 +++++++++++++++++++++++++++++++++++
 drivers/mfd/mt6397-core.c             | 12 ++---------
 drivers/mfd/rdc321x-southbridge.c     |  8 +-------
 drivers/mfd/rk808.c                   |  3 +--
 drivers/mfd/rn5t618.c                 |  3 +--
 drivers/mfd/rt5033.c                  | 10 +--------
 drivers/mfd/sky81452.c                | 10 ++-------
 drivers/mfd/stw481x.c                 |  9 +--------
 drivers/mfd/tps6507x.c                | 11 +---------
 drivers/mfd/tps65217.c                | 12 +----------
 drivers/mfd/tps65910.c                |  3 +--
 drivers/mfd/wm8400-core.c             | 25 +++--------------------
 include/linux/mfd/core.h              |  4 ++++
 21 files changed, 71 insertions(+), 156 deletions(-)

-- 
2.1.4

[toc] | [next] | [standalone]


#1373661 — [PATCH V2 17/20] mfd: tps6507x: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 17/20] mfd: tps6507x: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-23@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Todd Fischer <todd.fischer@ridgerun.com>

---
Changes from V1:
- Convert mfd to MFD.
- Fix checkpatch --strict error on patch.

 drivers/mfd/tps6507x.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/mfd/tps6507x.c b/drivers/mfd/tps6507x.c
index 1ab3dd6..40beb2f 100644
--- a/drivers/mfd/tps6507x.c
+++ b/drivers/mfd/tps6507x.c
@@ -100,16 +100,8 @@ static int tps6507x_i2c_probe(struct i2c_client *i2c,
 	tps6507x->read_dev = tps6507x_i2c_read_device;
 	tps6507x->write_dev = tps6507x_i2c_write_device;
 
-	return mfd_add_devices(tps6507x->dev, -1, tps6507x_devs,
-			       ARRAY_SIZE(tps6507x_devs), NULL, 0, NULL);
-}
-
-static int tps6507x_i2c_remove(struct i2c_client *i2c)
-{
-	struct tps6507x_dev *tps6507x = i2c_get_clientdata(i2c);
-
-	mfd_remove_devices(tps6507x->dev);
-	return 0;
+	return devm_mfd_add_devices(tps6507x->dev, -1, tps6507x_devs,
+				    ARRAY_SIZE(tps6507x_devs), NULL, 0, NULL);
 }
 
 static const struct i2c_device_id tps6507x_i2c_id[] = {
@@ -132,7 +124,6 @@ static struct i2c_driver tps6507x_i2c_driver = {
 		   .of_match_table = of_match_ptr(tps6507x_of_match),
 	},
 	.probe = tps6507x_i2c_probe,
-	.remove = tps6507x_i2c_remove,
 	.id_table = tps6507x_i2c_id,
 };
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373662 — [PATCH V2 01/20] mfd: Add resource managed apis for mfd_add_devices

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 01/20] mfd: Add resource managed apis for mfd_add_devices
Message-ID<rlnjQ-8fc-17@gated-at.bofh.it>
In reply to#1373660
Add resource managed API devm_mfd_add_devices() for the mfd_add_devices().

This helps in reducing code in error path as it is not required
to call mfd_remove_devices() explicitly to remove all child-devices.
In some cases, it also helps not to implement .remove() callback
which get called during driver unbind.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

---
Changes from V1:
- Reformat the commit message.
- Run checkpatch with --strict option and fix warning.
- Remove devm_ for mfd_remove_devices() as this is not used.
- Consider V1 review comment on error handling.

 drivers/mfd/mfd-core.c   | 38 ++++++++++++++++++++++++++++++++++++++
 include/linux/mfd/core.h |  4 ++++
 2 files changed, 42 insertions(+)

diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
index 409da01..4b4c1d4 100644
--- a/drivers/mfd/mfd-core.c
+++ b/drivers/mfd/mfd-core.c
@@ -334,6 +334,44 @@ void mfd_remove_devices(struct device *parent)
 }
 EXPORT_SYMBOL(mfd_remove_devices);
 
+static void devm_mfd_dev_release(struct device *dev, void *res)
+{
+	mfd_remove_devices(dev);
+}
+
+/**
+ * devm_mfd_add_devices - Resource managed version of mfd_add_devices()
+ *
+ * Returns 0 on success or an appropriate negative error number on failure.
+ * All child-devices of the MFD will automatically be removed when it gets
+ * unbinded.
+ */
+int devm_mfd_add_devices(struct device *dev, int id,
+			 const struct mfd_cell *cells, int n_devs,
+			 struct resource *mem_base,
+			 int irq_base, struct irq_domain *domain)
+{
+	struct device **ptr;
+	int ret;
+
+	ptr = devres_alloc(devm_mfd_dev_release, sizeof(*ptr), GFP_KERNEL);
+	if (!ptr)
+		return -ENOMEM;
+
+	ret = mfd_add_devices(dev, id, cells, n_devs, mem_base,
+			      irq_base, domain);
+	if (ret < 0) {
+		devres_free(ptr);
+		return ret;
+	}
+
+	*ptr = dev;
+	devres_add(dev, ptr);
+
+	return ret;
+}
+EXPORT_SYMBOL(devm_mfd_add_devices);
+
 int mfd_clone_cell(const char *cell, const char **clones, size_t n_clones)
 {
 	struct mfd_cell cell_entry;
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
index bc6f7e0..4a0268a 100644
--- a/include/linux/mfd/core.h
+++ b/include/linux/mfd/core.h
@@ -131,4 +131,8 @@ static inline int mfd_add_hotplug_devices(struct device *parent,
 
 extern void mfd_remove_devices(struct device *parent);
 
+extern int devm_mfd_add_devices(struct device *dev, int id,
+				const struct mfd_cell *cells, int n_devs,
+				struct resource *mem_base,
+				int irq_base, struct irq_domain *irq_domain);
 #endif
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1375649 — Re: [PATCH V2 01/20] mfd: Add resource managed apis for mfd_add_devices

FromLee Jones <lee.jones@linaro.org>
Date2016-04-11 11:20 +0200
SubjectRe: [PATCH V2 01/20] mfd: Add resource managed apis for mfd_add_devices
Message-ID<rmGaJ-3om-1@gated-at.bofh.it>
In reply to#1373662
Applied, thanks.

> Add resource managed API devm_mfd_add_devices() for the mfd_add_devices().
> 
> This helps in reducing code in error path as it is not required
> to call mfd_remove_devices() explicitly to remove all child-devices.
> In some cases, it also helps not to implement .remove() callback
> which get called during driver unbind.
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> 
> ---
> Changes from V1:
> - Reformat the commit message.
> - Run checkpatch with --strict option and fix warning.
> - Remove devm_ for mfd_remove_devices() as this is not used.
> - Consider V1 review comment on error handling.
> 
>  drivers/mfd/mfd-core.c   | 38 ++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/core.h |  4 ++++
>  2 files changed, 42 insertions(+)
> 
> diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
> index 409da01..4b4c1d4 100644
> --- a/drivers/mfd/mfd-core.c
> +++ b/drivers/mfd/mfd-core.c
> @@ -334,6 +334,44 @@ void mfd_remove_devices(struct device *parent)
>  }
>  EXPORT_SYMBOL(mfd_remove_devices);
>  
> +static void devm_mfd_dev_release(struct device *dev, void *res)
> +{
> +	mfd_remove_devices(dev);
> +}
> +
> +/**
> + * devm_mfd_add_devices - Resource managed version of mfd_add_devices()
> + *
> + * Returns 0 on success or an appropriate negative error number on failure.
> + * All child-devices of the MFD will automatically be removed when it gets
> + * unbinded.
> + */
> +int devm_mfd_add_devices(struct device *dev, int id,
> +			 const struct mfd_cell *cells, int n_devs,
> +			 struct resource *mem_base,
> +			 int irq_base, struct irq_domain *domain)
> +{
> +	struct device **ptr;
> +	int ret;
> +
> +	ptr = devres_alloc(devm_mfd_dev_release, sizeof(*ptr), GFP_KERNEL);
> +	if (!ptr)
> +		return -ENOMEM;
> +
> +	ret = mfd_add_devices(dev, id, cells, n_devs, mem_base,
> +			      irq_base, domain);
> +	if (ret < 0) {
> +		devres_free(ptr);
> +		return ret;
> +	}
> +
> +	*ptr = dev;
> +	devres_add(dev, ptr);
> +
> +	return ret;
> +}
> +EXPORT_SYMBOL(devm_mfd_add_devices);
> +
>  int mfd_clone_cell(const char *cell, const char **clones, size_t n_clones)
>  {
>  	struct mfd_cell cell_entry;
> diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
> index bc6f7e0..4a0268a 100644
> --- a/include/linux/mfd/core.h
> +++ b/include/linux/mfd/core.h
> @@ -131,4 +131,8 @@ static inline int mfd_add_hotplug_devices(struct device *parent,
>  
>  extern void mfd_remove_devices(struct device *parent);
>  
> +extern int devm_mfd_add_devices(struct device *dev, int id,
> +				const struct mfd_cell *cells, int n_devs,
> +				struct resource *mem_base,
> +				int irq_base, struct irq_domain *irq_domain);
>  #endif

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

[toc] | [prev] | [next] | [standalone]


#1373663 — [PATCH V2 18/20] mfd: tps65217: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 18/20] mfd: tps65217: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjQ-8fc-19@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Tony Lindgren <tony@atomide.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/tps65217.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/mfd/tps65217.c b/drivers/mfd/tps65217.c
index d32b5442..049a6fc 100644
--- a/drivers/mfd/tps65217.c
+++ b/drivers/mfd/tps65217.c
@@ -205,8 +205,8 @@ static int tps65217_probe(struct i2c_client *client,
 		return ret;
 	}
 
-	ret = mfd_add_devices(tps->dev, -1, tps65217s,
-			      ARRAY_SIZE(tps65217s), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(tps->dev, -1, tps65217s,
+				   ARRAY_SIZE(tps65217s), NULL, 0, NULL);
 	if (ret < 0) {
 		dev_err(tps->dev, "mfd_add_devices failed: %d\n", ret);
 		return ret;
@@ -235,15 +235,6 @@ static int tps65217_probe(struct i2c_client *client,
 	return 0;
 }
 
-static int tps65217_remove(struct i2c_client *client)
-{
-	struct tps65217 *tps = i2c_get_clientdata(client);
-
-	mfd_remove_devices(tps->dev);
-
-	return 0;
-}
-
 static const struct i2c_device_id tps65217_id_table[] = {
 	{"tps65217", TPS65217},
 	{ /* sentinel */ }
@@ -257,7 +248,6 @@ static struct i2c_driver tps65217_driver = {
 	},
 	.id_table	= tps65217_id_table,
 	.probe		= tps65217_probe,
-	.remove		= tps65217_remove,
 };
 
 static int __init tps65217_init(void)
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373664 — [PATCH V2 13/20] mfd: rn5t618: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 13/20] mfd: rn5t618: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-25@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and remove
the call of mfd_remove_devices() from .remove callback to remove
MFD child-devices. This is done by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Beniamino Galvani <b.galvani@gmail.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/rn5t618.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index 6668571..0ad51d7 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -78,8 +78,8 @@ static int rn5t618_i2c_probe(struct i2c_client *i2c,
 		return ret;
 	}
 
-	ret = mfd_add_devices(&i2c->dev, -1, rn5t618_cells,
-			      ARRAY_SIZE(rn5t618_cells), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(&i2c->dev, -1, rn5t618_cells,
+				   ARRAY_SIZE(rn5t618_cells), NULL, 0, NULL);
 	if (ret) {
 		dev_err(&i2c->dev, "failed to add sub-devices: %d\n", ret);
 		return ret;
@@ -102,7 +102,6 @@ static int rn5t618_i2c_remove(struct i2c_client *i2c)
 		pm_power_off = NULL;
 	}
 
-	mfd_remove_devices(&i2c->dev);
 	return 0;
 }
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373665 — [PATCH V2 20/20] mfd: wm8400: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 20/20] mfd: wm8400: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-29@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Mark Brown <broonie@kernel.org>
CC: patches@opensource.wolfsonmicro.com
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>

---
Changes from V1:
- Convert mfd to MFD.
- Collected acks.

 drivers/mfd/wm8400-core.c | 25 +++----------------------
 1 file changed, 3 insertions(+), 22 deletions(-)

diff --git a/drivers/mfd/wm8400-core.c b/drivers/mfd/wm8400-core.c
index 3bd44a4..9fd8230 100644
--- a/drivers/mfd/wm8400-core.c
+++ b/drivers/mfd/wm8400-core.c
@@ -70,7 +70,7 @@ static int wm8400_register_codec(struct wm8400 *wm8400)
 		.pdata_size = sizeof(*wm8400),
 	};
 
-	return mfd_add_devices(wm8400->dev, -1, &cell, 1, NULL, 0, NULL);
+	return devm_mfd_add_devices(wm8400->dev, -1, &cell, 1, NULL, 0, NULL);
 }
 
 /*
@@ -111,7 +111,7 @@ static int wm8400_init(struct wm8400 *wm8400,
 	ret = wm8400_register_codec(wm8400);
 	if (ret != 0) {
 		dev_err(wm8400->dev, "Failed to register codec\n");
-		goto err_children;
+		return ret;
 	}
 
 	if (pdata && pdata->platform_init) {
@@ -119,21 +119,12 @@ static int wm8400_init(struct wm8400 *wm8400,
 		if (ret != 0) {
 			dev_err(wm8400->dev, "Platform init failed: %d\n",
 				ret);
-			goto err_children;
+			return ret;
 		}
 	} else
 		dev_warn(wm8400->dev, "No platform initialisation supplied\n");
 
 	return 0;
-
-err_children:
-	mfd_remove_devices(wm8400->dev);
-	return ret;
-}
-
-static void wm8400_release(struct wm8400 *wm8400)
-{
-	mfd_remove_devices(wm8400->dev);
 }
 
 static const struct regmap_config wm8400_regmap_config = {
@@ -176,15 +167,6 @@ static int wm8400_i2c_probe(struct i2c_client *i2c,
 	return wm8400_init(wm8400, dev_get_platdata(&i2c->dev));
 }
 
-static int wm8400_i2c_remove(struct i2c_client *i2c)
-{
-	struct wm8400 *wm8400 = i2c_get_clientdata(i2c);
-
-	wm8400_release(wm8400);
-
-	return 0;
-}
-
 static const struct i2c_device_id wm8400_i2c_id[] = {
        { "wm8400", 0 },
        { }
@@ -196,7 +178,6 @@ static struct i2c_driver wm8400_i2c_driver = {
 		.name = "WM8400",
 	},
 	.probe    = wm8400_i2c_probe,
-	.remove   = wm8400_i2c_remove,
 	.id_table = wm8400_i2c_id,
 };
 #endif
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373667 — [PATCH V2 08/20] mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 08/20] mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-37@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Milo Kim <milo.kim@ti.com>
Acked-by: Milo Kim <milo.kim@ti.com>

---
Changes from V1:
- Convert mfd to MFD.
- Collected acks.

 drivers/mfd/lp3943.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/mfd/lp3943.c b/drivers/mfd/lp3943.c
index eecbb13..65a2a8f1 100644
--- a/drivers/mfd/lp3943.c
+++ b/drivers/mfd/lp3943.c
@@ -123,16 +123,9 @@ static int lp3943_probe(struct i2c_client *cl, const struct i2c_device_id *id)
 	lp3943->mux_cfg = lp3943_mux_cfg;
 	i2c_set_clientdata(cl, lp3943);
 
-	return mfd_add_devices(dev, -1, lp3943_devs, ARRAY_SIZE(lp3943_devs),
-			       NULL, 0, NULL);
-}
-
-static int lp3943_remove(struct i2c_client *cl)
-{
-	struct lp3943 *lp3943 = i2c_get_clientdata(cl);
-
-	mfd_remove_devices(lp3943->dev);
-	return 0;
+	return devm_mfd_add_devices(dev, -1, lp3943_devs,
+				    ARRAY_SIZE(lp3943_devs),
+				    NULL, 0, NULL);
 }
 
 static const struct i2c_device_id lp3943_ids[] = {
@@ -151,7 +144,6 @@ MODULE_DEVICE_TABLE(of, lp3943_of_match);
 
 static struct i2c_driver lp3943_driver = {
 	.probe = lp3943_probe,
-	.remove = lp3943_remove,
 	.driver = {
 		.name = "lp3943",
 		.of_match_table = of_match_ptr(lp3943_of_match),
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373668 — [PATCH V2 10/20] mfd: mt6397: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 10/20] mfd: mt6397: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-33@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: John Crispin <blogic@openwrt.org>
CC: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

---
Changes from V1:
- Convert mfd to MFD.
- Collected reviewed by.

 drivers/mfd/mt6397-core.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
index 8e8d932..5a3ffa3 100644
--- a/drivers/mfd/mt6397-core.c
+++ b/drivers/mfd/mt6397-core.c
@@ -276,8 +276,9 @@ static int mt6397_probe(struct platform_device *pdev)
 		pmic->int_con[1] = MT6323_INT_CON1;
 		pmic->int_status[0] = MT6323_INT_STATUS0;
 		pmic->int_status[1] = MT6323_INT_STATUS1;
-		ret = mfd_add_devices(&pdev->dev, -1, mt6323_devs,
-				ARRAY_SIZE(mt6323_devs), NULL, 0, NULL);
+		ret = devm_mfd_add_devices(&pdev->dev, -1, mt6323_devs,
+					   ARRAY_SIZE(mt6323_devs), NULL,
+					   0, NULL);
 		break;
 
 	case MT6397_CID_CODE:
@@ -286,8 +287,9 @@ static int mt6397_probe(struct platform_device *pdev)
 		pmic->int_con[1] = MT6397_INT_CON1;
 		pmic->int_status[0] = MT6397_INT_STATUS0;
 		pmic->int_status[1] = MT6397_INT_STATUS1;
-		ret = mfd_add_devices(&pdev->dev, -1, mt6397_devs,
-				ARRAY_SIZE(mt6397_devs), NULL, 0, NULL);
+		ret = devm_mfd_add_devices(&pdev->dev, -1, mt6397_devs,
+					   ARRAY_SIZE(mt6397_devs), NULL,
+					   0, NULL);
 		break;
 
 	default:
@@ -312,13 +314,6 @@ fail_irq:
 	return ret;
 }
 
-static int mt6397_remove(struct platform_device *pdev)
-{
-	mfd_remove_devices(&pdev->dev);
-
-	return 0;
-}
-
 static const struct of_device_id mt6397_of_match[] = {
 	{ .compatible = "mediatek,mt6397" },
 	{ .compatible = "mediatek,mt6323" },
@@ -334,7 +329,6 @@ MODULE_DEVICE_TABLE(platform, mt6397_id);
 
 static struct platform_driver mt6397_driver = {
 	.probe = mt6397_probe,
-	.remove = mt6397_remove,
 	.driver = {
 		.name = "mt6397",
 		.of_match_table = of_match_ptr(mt6397_of_match),
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373670 — [PATCH V2 19/20] mfd: tps65910: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 19/20] mfd: tps65910: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-41@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and remove
the call of mfd_remove_devices() from .remove callback to remove
MFD child-devices. This is done by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Tony Lindgren <tony@atomide.com>

---
Changes from V1:
- Convert mfd to MFD.

 drivers/mfd/tps65910.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c
index f7ab115..8086e5d 100644
--- a/drivers/mfd/tps65910.c
+++ b/drivers/mfd/tps65910.c
@@ -510,10 +510,10 @@ static int tps65910_i2c_probe(struct i2c_client *i2c,
 		pm_power_off = tps65910_power_off;
 	}
 
-	ret = mfd_add_devices(tps65910->dev, -1,
-			      tps65910s, ARRAY_SIZE(tps65910s),
-			      NULL, 0,
-			      regmap_irq_get_domain(tps65910->irq_data));
+	ret = devm_mfd_add_devices(tps65910->dev, -1,
+				   tps65910s, ARRAY_SIZE(tps65910s),
+				   NULL, 0,
+				   regmap_irq_get_domain(tps65910->irq_data));
 	if (ret < 0) {
 		dev_err(&i2c->dev, "mfd_add_devices failed: %d\n", ret);
 		tps65910_irq_exit(tps65910);
@@ -528,7 +528,6 @@ static int tps65910_i2c_remove(struct i2c_client *i2c)
 	struct tps65910 *tps65910 = i2c_get_clientdata(i2c);
 
 	tps65910_irq_exit(tps65910);
-	mfd_remove_devices(tps65910->dev);
 
 	return 0;
 }
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373671 — [PATCH V2 05/20] mfd: atmel-hlcdc: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 05/20] mfd: atmel-hlcdc: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjR-8fc-47@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.
- Collected acks.

 drivers/mfd/atmel-hlcdc.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/mfd/atmel-hlcdc.c b/drivers/mfd/atmel-hlcdc.c
index 06c2058..eca7ea6 100644
--- a/drivers/mfd/atmel-hlcdc.c
+++ b/drivers/mfd/atmel-hlcdc.c
@@ -128,16 +128,9 @@ static int atmel_hlcdc_probe(struct platform_device *pdev)
 
 	dev_set_drvdata(dev, hlcdc);
 
-	return mfd_add_devices(dev, -1, atmel_hlcdc_cells,
-			       ARRAY_SIZE(atmel_hlcdc_cells),
-			       NULL, 0, NULL);
-}
-
-static int atmel_hlcdc_remove(struct platform_device *pdev)
-{
-	mfd_remove_devices(&pdev->dev);
-
-	return 0;
+	return devm_mfd_add_devices(dev, -1, atmel_hlcdc_cells,
+				    ARRAY_SIZE(atmel_hlcdc_cells),
+				    NULL, 0, NULL);
 }
 
 static const struct of_device_id atmel_hlcdc_match[] = {
@@ -152,7 +145,6 @@ MODULE_DEVICE_TABLE(of, atmel_hlcdc_match);
 
 static struct platform_driver atmel_hlcdc_driver = {
 	.probe = atmel_hlcdc_probe,
-	.remove = atmel_hlcdc_remove,
 	.driver = {
 		.name = "atmel-hlcdc",
 		.of_match_table = atmel_hlcdc_match,
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373673 — [PATCH V2 14/20] mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 14/20] mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-53@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Ingi Kim <ingi2.kim@samsung.com>
CC: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.
- Collected reviewed by.

 drivers/mfd/rt5033.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/mfd/rt5033.c b/drivers/mfd/rt5033.c
index 2b95485..9bd089c 100644
--- a/drivers/mfd/rt5033.c
+++ b/drivers/mfd/rt5033.c
@@ -97,9 +97,9 @@ static int rt5033_i2c_probe(struct i2c_client *i2c,
 		return ret;
 	}
 
-	ret = mfd_add_devices(rt5033->dev, -1, rt5033_devs,
-			ARRAY_SIZE(rt5033_devs), NULL, 0,
-			regmap_irq_get_domain(rt5033->irq_data));
+	ret = devm_mfd_add_devices(rt5033->dev, -1, rt5033_devs,
+				   ARRAY_SIZE(rt5033_devs), NULL, 0,
+				   regmap_irq_get_domain(rt5033->irq_data));
 	if (ret < 0) {
 		dev_err(&i2c->dev, "Failed to add RT5033 child devices.\n");
 		return ret;
@@ -110,13 +110,6 @@ static int rt5033_i2c_probe(struct i2c_client *i2c,
 	return 0;
 }
 
-static int rt5033_i2c_remove(struct i2c_client *i2c)
-{
-	mfd_remove_devices(&i2c->dev);
-
-	return 0;
-}
-
 static const struct i2c_device_id rt5033_i2c_id[] = {
 	{ "rt5033", },
 	{ }
@@ -135,7 +128,6 @@ static struct i2c_driver rt5033_driver = {
 		.of_match_table = of_match_ptr(rt5033_dt_match),
 	},
 	.probe = rt5033_i2c_probe,
-	.remove = rt5033_i2c_remove,
 	.id_table = rt5033_i2c_id,
 };
 module_i2c_driver(rt5033_driver);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373674 — [PATCH V2 11/20] mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 11/20] mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-49@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Florian Fainelli <florian@openwrt.org>

---
Changes from V1:
- Convert mfd to MFD.
- Fix checkpatch --strict error on patch.

 drivers/mfd/rdc321x-southbridge.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/mfd/rdc321x-southbridge.c b/drivers/mfd/rdc321x-southbridge.c
index 6575585..2bd8c5b 100644
--- a/drivers/mfd/rdc321x-southbridge.c
+++ b/drivers/mfd/rdc321x-southbridge.c
@@ -85,14 +85,10 @@ static int rdc321x_sb_probe(struct pci_dev *pdev,
 	rdc321x_gpio_pdata.sb_pdev = pdev;
 	rdc321x_wdt_pdata.sb_pdev = pdev;
 
-	return mfd_add_devices(&pdev->dev, -1,
-			       rdc321x_sb_cells, ARRAY_SIZE(rdc321x_sb_cells),
-			       NULL, 0, NULL);
-}
-
-static void rdc321x_sb_remove(struct pci_dev *pdev)
-{
-	mfd_remove_devices(&pdev->dev);
+	return devm_mfd_add_devices(&pdev->dev, -1,
+				    rdc321x_sb_cells,
+				    ARRAY_SIZE(rdc321x_sb_cells),
+				    NULL, 0, NULL);
 }
 
 static const struct pci_device_id rdc321x_sb_table[] = {
@@ -105,7 +101,6 @@ static struct pci_driver rdc321x_sb_driver = {
 	.name		= "RDC321x Southbridge",
 	.id_table	= rdc321x_sb_table,
 	.probe		= rdc321x_sb_probe,
-	.remove		= rdc321x_sb_remove,
 };
 
 module_pci_driver(rdc321x_sb_driver);
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373675 — [PATCH V2 15/20] mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 15/20] mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-55@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Gyungoh Yoo <jack.yoo@skyworksinc.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/sky81452.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/mfd/sky81452.c b/drivers/mfd/sky81452.c
index b0c9b04..30a2a67 100644
--- a/drivers/mfd/sky81452.c
+++ b/drivers/mfd/sky81452.c
@@ -64,19 +64,14 @@ static int sky81452_probe(struct i2c_client *client,
 	cells[1].platform_data = pdata->regulator_init_data;
 	cells[1].pdata_size = sizeof(*pdata->regulator_init_data);
 
-	ret = mfd_add_devices(dev, -1, cells, ARRAY_SIZE(cells), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(dev, -1, cells, ARRAY_SIZE(cells),
+				   NULL, 0, NULL);
 	if (ret)
 		dev_err(dev, "failed to add child devices. err=%d\n", ret);
 
 	return ret;
 }
 
-static int sky81452_remove(struct i2c_client *client)
-{
-	mfd_remove_devices(&client->dev);
-	return 0;
-}
-
 static const struct i2c_device_id sky81452_ids[] = {
 	{ "sky81452" },
 	{ }
@@ -97,7 +92,6 @@ static struct i2c_driver sky81452_driver = {
 		.of_match_table = of_match_ptr(sky81452_of_match),
 	},
 	.probe = sky81452_probe,
-	.remove = sky81452_remove,
 	.id_table = sky81452_ids,
 };
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373676 — [PATCH V2 03/20] mfd: act8945a: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 03/20] mfd: act8945a: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-59@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Wenyou Yang <wenyou.yang@atmel.com>
CC: Krzysztof Kozlowski <k.kozlowski@samsung.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/act8945a.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/drivers/mfd/act8945a.c b/drivers/mfd/act8945a.c
index 525b546..10c6d2d 100644
--- a/drivers/mfd/act8945a.c
+++ b/drivers/mfd/act8945a.c
@@ -46,8 +46,9 @@ static int act8945a_i2c_probe(struct i2c_client *i2c,
 
 	i2c_set_clientdata(i2c, regmap);
 
-	ret = mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE, act8945a_devs,
-			      ARRAY_SIZE(act8945a_devs), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_NONE,
+				   act8945a_devs, ARRAY_SIZE(act8945a_devs),
+				   NULL, 0, NULL);
 	if (ret) {
 		dev_err(&i2c->dev, "Failed to add sub devices\n");
 		return ret;
@@ -56,13 +57,6 @@ static int act8945a_i2c_probe(struct i2c_client *i2c,
 	return 0;
 }
 
-static int act8945a_i2c_remove(struct i2c_client *i2c)
-{
-	mfd_remove_devices(&i2c->dev);
-
-	return 0;
-}
-
 static const struct i2c_device_id act8945a_i2c_id[] = {
 	{ "act8945a", 0 },
 	{}
@@ -81,7 +75,6 @@ static struct i2c_driver act8945a_i2c_driver = {
 		   .of_match_table = of_match_ptr(act8945a_of_match),
 	},
 	.probe = act8945a_i2c_probe,
-	.remove = act8945a_i2c_remove,
 	.id_table = act8945a_i2c_id,
 };
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373678 — [PATCH V2 16/20] mfd: stw481x: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 16/20] mfd: stw481x: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-61@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.
- Collected acks.

 drivers/mfd/stw481x.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/mfd/stw481x.c b/drivers/mfd/stw481x.c
index ca613df..ab949ea 100644
--- a/drivers/mfd/stw481x.c
+++ b/drivers/mfd/stw481x.c
@@ -206,8 +206,8 @@ static int stw481x_probe(struct i2c_client *client,
 		stw481x_cells[i].pdata_size = sizeof(*stw481x);
 	}
 
-	ret = mfd_add_devices(&client->dev, 0, stw481x_cells,
-			ARRAY_SIZE(stw481x_cells), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(&client->dev, 0, stw481x_cells,
+				   ARRAY_SIZE(stw481x_cells), NULL, 0, NULL);
 	if (ret)
 		return ret;
 
@@ -216,12 +216,6 @@ static int stw481x_probe(struct i2c_client *client,
 	return ret;
 }
 
-static int stw481x_remove(struct i2c_client *client)
-{
-	mfd_remove_devices(&client->dev);
-	return 0;
-}
-
 /*
  * This ID table is completely unused, as this is a pure
  * device-tree probed driver, but it has to be here due to
@@ -246,7 +240,6 @@ static struct i2c_driver stw481x_driver = {
 		.of_match_table = stw481x_match,
 	},
 	.probe		= stw481x_probe,
-	.remove		= stw481x_remove,
 	.id_table	= stw481x_id,
 };
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373679 — [PATCH V2 12/20] mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:00 +0200
Subject[PATCH V2 12/20] mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlnjS-8fc-51@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and remove
the call of mfd_remove_devices() from .remove callback to remove
MFD child-devices. This is done by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Chris Zhong <zyw@rock-chips.com>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/rk808.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c
index 4b1e439..49d7f62 100644
--- a/drivers/mfd/rk808.c
+++ b/drivers/mfd/rk808.c
@@ -213,9 +213,9 @@ static int rk808_probe(struct i2c_client *client,
 	rk808->i2c = client;
 	i2c_set_clientdata(client, rk808);
 
-	ret = mfd_add_devices(&client->dev, -1,
-			      rk808s, ARRAY_SIZE(rk808s),
-			      NULL, 0, regmap_irq_get_domain(rk808->irq_data));
+	ret = devm_mfd_add_devices(&client->dev, -1,
+				   rk808s, ARRAY_SIZE(rk808s), NULL, 0,
+				   regmap_irq_get_domain(rk808->irq_data));
 	if (ret) {
 		dev_err(&client->dev, "failed to add MFD devices %d\n", ret);
 		goto err_irq;
@@ -240,7 +240,6 @@ static int rk808_remove(struct i2c_client *client)
 	struct rk808 *rk808 = i2c_get_clientdata(client);
 
 	regmap_del_irq_chip(client->irq, rk808->irq_data);
-	mfd_remove_devices(&client->dev);
 	pm_power_off = NULL;
 
 	return 0;
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373681 — [PATCH V2 04/20] mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:10 +0200
Subject[PATCH V2 04/20] mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration
Message-ID<rlntw-7U-9@gated-at.bofh.it>
In reply to#1373660
Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
CC: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

---
Changes from V1:
- Convert mfd to MFD.
- Run checkpatch with --strict option and fix warning.

 drivers/mfd/as3711.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/mfd/as3711.c b/drivers/mfd/as3711.c
index 09e1483..67b1241 100644
--- a/drivers/mfd/as3711.c
+++ b/drivers/mfd/as3711.c
@@ -189,22 +189,14 @@ static int as3711_i2c_probe(struct i2c_client *client,
 		as3711_subdevs[AS3711_BACKLIGHT].pdata_size = 0;
 	}
 
-	ret = mfd_add_devices(as3711->dev, -1, as3711_subdevs,
-			      ARRAY_SIZE(as3711_subdevs), NULL, 0, NULL);
+	ret = devm_mfd_add_devices(as3711->dev, -1, as3711_subdevs,
+				   ARRAY_SIZE(as3711_subdevs), NULL, 0, NULL);
 	if (ret < 0)
 		dev_err(&client->dev, "add mfd devices failed: %d\n", ret);
 
 	return ret;
 }
 
-static int as3711_i2c_remove(struct i2c_client *client)
-{
-	struct as3711 *as3711 = i2c_get_clientdata(client);
-
-	mfd_remove_devices(as3711->dev);
-	return 0;
-}
-
 static const struct i2c_device_id as3711_i2c_id[] = {
 	{.name = "as3711", .driver_data = 0},
 	{}
@@ -218,7 +210,6 @@ static struct i2c_driver as3711_i2c_driver = {
 		   .of_match_table = of_match_ptr(as3711_of_match),
 	},
 	.probe = as3711_i2c_probe,
-	.remove = as3711_i2c_remove,
 	.id_table = as3711_i2c_id,
 };
 
-- 
2.1.4

[toc] | [prev] | [next] | [standalone]


#1373683 — [PATCH V2 02/20] mfd: Add devm_mfd_add_devices() in list of managed interfaces

FromLaxman Dewangan <ldewangan@nvidia.com>
Date2016-04-07 21:10 +0200
Subject[PATCH V2 02/20] mfd: Add devm_mfd_add_devices() in list of managed interfaces
Message-ID<rlntw-7U-19@gated-at.bofh.it>
In reply to#1373660
Add devm wrappers for the mfd_add_devices() in the list of managed
interfaces.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

---
Changes from V1:
- Reformat the commit message.
- Remove devm_ for mfd_remove_devices() as this is not used.

 Documentation/driver-model/devres.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index 73b98df..7f8c416 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -317,6 +317,9 @@ MEM
   devm_kvasprintf()
   devm_kzalloc()
 
+MFD
+ devm_mfd_add_devices()
+
 PCI
   pcim_enable_device()	: after success, all PCI ops become managed
   pcim_pin_device()	: keep PCI device enabled after release
-- 
2.1.4

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web