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


Groups > linux.kernel > #1652605 > unrolled thread

[PATCH 00/15] make more driver use devm_of_platform_populate()

Started byBenjamin Gaignard <benjamin.gaignard@linaro.org>
First post2017-05-29 17:50 +0200
Last post2017-05-29 18:10 +0200
Articles 20 on this page of 30 — 7 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/15] make more driver use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 11/15] mfd: palmas: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 11/15] mfd: palmas: use devm_of_platform_populate() Lee Jones <lee.jones@linaro.org> - 2017-05-30 11:40 +0200
    [PATCH 12/15] mfd: qcom-spmi-pmic: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate() Lee Jones <lee.jones@linaro.org> - 2017-05-30 11:40 +0200
    [PATCH 08/15] mfd: exynos: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 08/15] mfd: exynos: use devm_of_platform_populate() Lee Jones <lee.jones@linaro.org> - 2017-05-30 11:40 +0200
    [PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate() Fabrice Gasnier <fabrice.gasnier@st.com> - 2017-05-29 18:20 +0200
    [PATCH 06/15] mfd: atmel: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate() Lee Jones <lee.jones@linaro.org> - 2017-05-30 11:40 +0200
    [PATCH 04/15] drm: msm: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 15/15] media: exynos4-is: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 14/15] sound: stm32: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 14/15] sound: stm32: use devm_of_platform_populate() Olivier MOYSAN <olivier.moysan@st.com> - 2017-05-30 11:10 +0200
    [PATCH 03/15] drm: zte: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 03/15] drm: zte: use devm_of_platform_populate() Shawn Guo <shawnguo@kernel.org> - 2017-06-05 04:00 +0200
    [PATCH 07/15] mfd: cros_ec: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
    [PATCH 05/15] mfd: stm32-timers: use devm_of_platform_populate Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 05/15] mfd: stm32-timers: use devm_of_platform_populate Lee Jones <lee.jones@linaro.org> - 2017-05-30 11:40 +0200
    [PATCH 10/15] mfd: motorola-cpcap: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 10/15] mfd: motorola-cpcap: use devm_of_platform_populate() Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-30 00:10 +0200
        Re: [PATCH 10/15] mfd: motorola-cpcap: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-30 09:30 +0200
        Re: [PATCH 10/15] mfd: motorola-cpcap: use  devm_of_platform_populate() Lee Jones <lee.jones@linaro.org> - 2017-05-30 12:10 +0200
          Re: [PATCH 10/15] mfd: motorola-cpcap: use devm_of_platform_populate() Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-30 12:50 +0200
    [PATCH 01/15] iio: adc: stm32: use devm_of_platform_populate() Benjamin Gaignard <benjamin.gaignard@linaro.org> - 2017-05-29 17:50 +0200
      Re: [PATCH 01/15] iio: adc: stm32: use devm_of_platform_populate() Fabrice Gasnier <fabrice.gasnier@st.com> - 2017-05-29 18:10 +0200
      Re: [PATCH 01/15] iio: adc: stm32: use devm_of_platform_populate() Jonathan Cameron <jic23@kernel.org> - 2017-05-29 18:10 +0200

Page 1 of 2  [1] 2  Next page →


#1652605 — [PATCH 00/15] make more driver use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 00/15] make more driver use devm_of_platform_populate()
Message-ID<tMv5E-1UR-1@gated-at.bofh.it>
Number of calls to of_platform_populate() aren't unbalanced by a call to
of_platform_depopulate() that could generate issue will loading/unloading
the drivers. Make those drivers use devm_of_platform_populate() fix the problem
without need to add remove function.

In some case replacing of_platform_populate() by devm_of_platform_populate()
allow to delete driver remove function and save some lines of code.

This series of patches based on v4.12-rc3 tag.

CC: Alexandre Torgue <alexandre.torgue@st.com>
CC: David Airlie <airlied@linux.ie>
CC: Fabrice Gasnier <fabrice.gasnier@st.com>
CC: Hartmut Knaack <knaack.h@gmx.de>
CC: Jaroslav Kysela <perex@perex.cz>
CC: Javier Martinez Canillas <javier@osg.samsung.com>
CC: Jonathan Cameron <jic23@kernel.org>
CC: Krzysztof Kozlowski <krzk@kernel.org>
CC: Kukjin Kim <kgene@kernel.org>
CC: Kyungmin Park <kyungmin.park@samsung.com>
CC: Lars-Peter Clausen <lars@metafoo.de>
CC: Lee Jones <lee.jones@linaro.org>
CC: Liam Girdwood <lgirdwood@gmail.com>
CC: Mark Brown <broonie@kernel.org>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: Olivier Moysan <olivier.moysan@st.com>
CC: Rob Clark <robdclark@gmail.com>
CC: Shawn Guo <shawnguo@kernel.org>
CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
CC: Takashi Iwai <tiwai@suse.com>
CC: Tony Lindgren <tony@atomide.com>

CC: linux-iio@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-kernel@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
CC: linux-arm-msm@vger.kernel.org
CC: freedreno@lists.freedesktop.org
CC: linux-samsung-soc@vger.kernel.org
CC: alsa-devel@alsa-project.org
CC: linux-media@vger.kernel.org

Benjamin Gaignard (15):
  iio: adc: stm32: use devm_of_platform_populate()
  iio: dac: stm32: use devm_of_platform_populate()
  drm: zte: use devm_of_platform_populate()
  drm: msm: use devm_of_platform_populate()
  mfd: stm32-timers: use devm_of_platform_populate
  mfd: atmel: use devm_of_platform_populate()
  mfd: cros_ec: use devm_of_platform_populate()
  mfd: exynos: use devm_of_platform_populate()
  mfd: fsl-imx25: use devm_of_platform_populate()
  mfd: motorola-cpcap: use devm_of_platform_populate()
  mfd: palmas: use devm_of_platform_populate()
  mfd: qcom-spmi-pmic: use devm_of_platform_populate()
  mfd: smsc-ece: use devm_of_platform_populate()
  sound: stm32: use devm_of_platform_populate()
  media: exynos4-is: use devm_of_platform_populate()

 drivers/gpu/drm/msm/msm_drv.c               | 10 ++--------
 drivers/gpu/drm/zte/zx_drm_drv.c            |  2 +-
 drivers/iio/adc/stm32-adc-core.c            |  4 +---
 drivers/iio/dac/stm32-dac-core.c            |  3 +--
 drivers/media/platform/exynos4-is/fimc-is.c |  7 ++-----
 drivers/mfd/atmel-flexcom.c                 |  2 +-
 drivers/mfd/cros_ec.c                       |  2 +-
 drivers/mfd/exynos-lpass.c                  |  2 +-
 drivers/mfd/fsl-imx25-tsadc.c               |  5 +----
 drivers/mfd/motorola-cpcap.c                | 13 +------------
 drivers/mfd/palmas.c                        |  2 +-
 drivers/mfd/qcom-spmi-pmic.c                |  9 +--------
 drivers/mfd/smsc-ece1099.c                  |  3 +--
 drivers/mfd/stm32-timers.c                  | 10 +---------
 sound/soc/stm/stm32_sai.c                   | 11 +----------
 15 files changed, 17 insertions(+), 68 deletions(-)

-- 
1.9.1

[toc] | [next] | [standalone]


#1652606 — [PATCH 11/15] mfd: palmas: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 11/15] mfd: palmas: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-5@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Tony Lindgren <tony@atomide.com>
CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/palmas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
index 9103aff..3922a93 100644
--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -676,7 +676,7 @@ static int palmas_i2c_probe(struct i2c_client *i2c,
 	 * otherwise continue and add devices using mfd helpers.
 	 */
 	if (node) {
-		ret = of_platform_populate(node, NULL, NULL, &i2c->dev);
+		ret = devm_of_platform_populate(&i2c->dev);
 		if (ret < 0) {
 			goto err_irq;
 		} else if (pdata->pm_off && !pm_power_off) {
-- 
1.9.1

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


#1653036 — Re: [PATCH 11/15] mfd: palmas: use devm_of_platform_populate()

FromLee Jones <lee.jones@linaro.org>
Date2017-05-30 11:40 +0200
SubjectRe: [PATCH 11/15] mfd: palmas: use devm_of_platform_populate()
Message-ID<tMLN8-5ya-13@gated-at.bofh.it>
In reply to#1652606
On Mon, 29 May 2017, Benjamin Gaignard wrote:

> Use devm_of_platform_populate() to be sure that of_platform_depopulate
> is called when removing the driver.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> 
> CC: Tony Lindgren <tony@atomide.com>
> CC: Lee Jones <lee.jones@linaro.org>
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/mfd/palmas.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

> diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
> index 9103aff..3922a93 100644
> --- a/drivers/mfd/palmas.c
> +++ b/drivers/mfd/palmas.c
> @@ -676,7 +676,7 @@ static int palmas_i2c_probe(struct i2c_client *i2c,
>  	 * otherwise continue and add devices using mfd helpers.
>  	 */
>  	if (node) {
> -		ret = of_platform_populate(node, NULL, NULL, &i2c->dev);
> +		ret = devm_of_platform_populate(&i2c->dev);
>  		if (ret < 0) {
>  			goto err_irq;
>  		} else if (pdata->pm_off && !pm_power_off) {

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

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


#1652607 — [PATCH 12/15] mfd: qcom-spmi-pmic: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 12/15] mfd: qcom-spmi-pmic: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-3@gated-at.bofh.it>
In reply to#1652605
Usage of  devm_of_platform_populate() simplify driver code
by allowing to delete pmic_spmi_remove().

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/qcom-spmi-pmic.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/mfd/qcom-spmi-pmic.c b/drivers/mfd/qcom-spmi-pmic.c
index 8653e8b..2022bdf 100644
--- a/drivers/mfd/qcom-spmi-pmic.c
+++ b/drivers/mfd/qcom-spmi-pmic.c
@@ -120,7 +120,6 @@ static void pmic_spmi_show_revid(struct regmap *map, struct device *dev)
 
 static int pmic_spmi_probe(struct spmi_device *sdev)
 {
-	struct device_node *root = sdev->dev.of_node;
 	struct regmap *regmap;
 
 	regmap = devm_regmap_init_spmi_ext(sdev, &spmi_regmap_config);
@@ -131,19 +130,13 @@ static int pmic_spmi_probe(struct spmi_device *sdev)
 	if (sdev->usid % 2 == 0)
 		pmic_spmi_show_revid(regmap, &sdev->dev);
 
-	return of_platform_populate(root, NULL, NULL, &sdev->dev);
-}
-
-static void pmic_spmi_remove(struct spmi_device *sdev)
-{
-	of_platform_depopulate(&sdev->dev);
+	return devm_of_platform_populate(&sdev->dev);
 }
 
 MODULE_DEVICE_TABLE(of, pmic_spmi_id_table);
 
 static struct spmi_driver pmic_spmi_driver = {
 	.probe = pmic_spmi_probe,
-	.remove = pmic_spmi_remove,
 	.driver = {
 		.name = "pmic-spmi",
 		.of_match_table = pmic_spmi_id_table,
-- 
1.9.1

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


#1652608 — [PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-7@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/smsc-ece1099.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mfd/smsc-ece1099.c b/drivers/mfd/smsc-ece1099.c
index 1f40baf..93a8297 100644
--- a/drivers/mfd/smsc-ece1099.c
+++ b/drivers/mfd/smsc-ece1099.c
@@ -69,8 +69,7 @@ static int smsc_i2c_probe(struct i2c_client *i2c,
 
 #ifdef CONFIG_OF
 	if (i2c->dev.of_node)
-		ret = of_platform_populate(i2c->dev.of_node,
-					   NULL, NULL, &i2c->dev);
+		ret = devm_of_platform_populate(&i2c->dev);
 #endif
 
 	return ret;
-- 
1.9.1

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


#1653039 — Re: [PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate()

FromLee Jones <lee.jones@linaro.org>
Date2017-05-30 11:40 +0200
SubjectRe: [PATCH 13/15] mfd: smsc-ece: use devm_of_platform_populate()
Message-ID<tMLN8-5ya-17@gated-at.bofh.it>
In reply to#1652608
On Mon, 29 May 2017, Benjamin Gaignard wrote:

> Use devm_of_platform_populate() to be sure that of_platform_depopulate
> is called when removing the driver.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> 
> CC: Lee Jones <lee.jones@linaro.org>
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/mfd/smsc-ece1099.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/smsc-ece1099.c b/drivers/mfd/smsc-ece1099.c
> index 1f40baf..93a8297 100644
> --- a/drivers/mfd/smsc-ece1099.c
> +++ b/drivers/mfd/smsc-ece1099.c
> @@ -69,8 +69,7 @@ static int smsc_i2c_probe(struct i2c_client *i2c,
>  
>  #ifdef CONFIG_OF
>  	if (i2c->dev.of_node)
> -		ret = of_platform_populate(i2c->dev.of_node,
> -					   NULL, NULL, &i2c->dev);
> +		ret = devm_of_platform_populate(&i2c->dev);
>  #endif
>  
>  	return ret;

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

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


#1652609 — [PATCH 08/15] mfd: exynos: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 08/15] mfd: exynos: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-9@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: Kukjin Kim <kgene@kernel.org>
CC: Krzysztof Kozlowski <krzk@kernel.org>
CC: Javier Martinez Canillas <javier@osg.samsung.com>
CC: linux-arm-kernel@lists.infradead.org
CC: linux-samsung-soc@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/exynos-lpass.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/exynos-lpass.c b/drivers/mfd/exynos-lpass.c
index 0bf3aeb..ca829f8 100644
--- a/drivers/mfd/exynos-lpass.c
+++ b/drivers/mfd/exynos-lpass.c
@@ -138,7 +138,7 @@ static int exynos_lpass_probe(struct platform_device *pdev)
 	pm_runtime_enable(dev);
 	exynos_lpass_enable(lpass);
 
-	return of_platform_populate(dev->of_node, NULL, NULL, dev);
+	return devm_of_platform_populate(dev);
 }
 
 static int exynos_lpass_remove(struct platform_device *pdev)
-- 
1.9.1

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


#1653040 — Re: [PATCH 08/15] mfd: exynos: use devm_of_platform_populate()

FromLee Jones <lee.jones@linaro.org>
Date2017-05-30 11:40 +0200
SubjectRe: [PATCH 08/15] mfd: exynos: use devm_of_platform_populate()
Message-ID<tMLN9-5ya-25@gated-at.bofh.it>
In reply to#1652609
On Mon, 29 May 2017, Benjamin Gaignard wrote:

> Use devm_of_platform_populate() to be sure that of_platform_depopulate
> is called when removing the driver.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> 
> CC: Lee Jones <lee.jones@linaro.org>
> CC: Kukjin Kim <kgene@kernel.org>
> CC: Krzysztof Kozlowski <krzk@kernel.org>
> CC: Javier Martinez Canillas <javier@osg.samsung.com>
> CC: linux-arm-kernel@lists.infradead.org
> CC: linux-samsung-soc@vger.kernel.org
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/mfd/exynos-lpass.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

> diff --git a/drivers/mfd/exynos-lpass.c b/drivers/mfd/exynos-lpass.c
> index 0bf3aeb..ca829f8 100644
> --- a/drivers/mfd/exynos-lpass.c
> +++ b/drivers/mfd/exynos-lpass.c
> @@ -138,7 +138,7 @@ static int exynos_lpass_probe(struct platform_device *pdev)
>  	pm_runtime_enable(dev);
>  	exynos_lpass_enable(lpass);
>  
> -	return of_platform_populate(dev->of_node, NULL, NULL, dev);
> +	return devm_of_platform_populate(dev);
>  }
>  
>  static int exynos_lpass_remove(struct platform_device *pdev)

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

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


#1652610 — [PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-13@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() instead of of_platform_populate and
of_platform_depopulate to simplify driver code

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Jonathan Cameron <jic23@kernel.org>
CC: Hartmut Knaack <knaack.h@gmx.de>
CC: Lars-Peter Clausen <lars@metafoo.de>
CC: Alexandre Torgue <alexandre.torgue@st.com>
CC: Fabrice Gasnier <fabrice.gasnier@st.com>
CC: linux-iio@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-kernel@vger.kernel.org
---
 drivers/iio/dac/stm32-dac-core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/iio/dac/stm32-dac-core.c b/drivers/iio/dac/stm32-dac-core.c
index 75e4878..9c42537 100644
--- a/drivers/iio/dac/stm32-dac-core.c
+++ b/drivers/iio/dac/stm32-dac-core.c
@@ -130,7 +130,7 @@ static int stm32_dac_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, &priv->common);
 
-	ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, dev);
+	ret = devm_of_platform_populate(&pdev->dev);
 	if (ret < 0) {
 		dev_err(dev, "failed to populate DT children\n");
 		goto err_pclk;
@@ -151,7 +151,6 @@ static int stm32_dac_remove(struct platform_device *pdev)
 	struct stm32_dac_common *common = platform_get_drvdata(pdev);
 	struct stm32_dac_priv *priv = to_stm32_dac_priv(common);
 
-	of_platform_depopulate(&pdev->dev);
 	clk_disable_unprepare(priv->pclk);
 	regulator_disable(priv->vref);
 
-- 
1.9.1

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


#1652636 — Re: [PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate()

FromFabrice Gasnier <fabrice.gasnier@st.com>
Date2017-05-29 18:20 +0200
SubjectRe: [PATCH 02/15] iio: dac: stm32: use devm_of_platform_populate()
Message-ID<tMvyG-2mE-11@gated-at.bofh.it>
In reply to#1652610
On 05/29/2017 05:45 PM, Benjamin Gaignard wrote:
> Use devm_of_platform_populate() instead of of_platform_populate and
> of_platform_depopulate to simplify driver code
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> 
> CC: Jonathan Cameron <jic23@kernel.org>
> CC: Hartmut Knaack <knaack.h@gmx.de>
> CC: Lars-Peter Clausen <lars@metafoo.de>
> CC: Alexandre Torgue <alexandre.torgue@st.com>
> CC: Fabrice Gasnier <fabrice.gasnier@st.com>
> CC: linux-iio@vger.kernel.org
> CC: linux-arm-kernel@lists.infradead.org
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/iio/dac/stm32-dac-core.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/dac/stm32-dac-core.c b/drivers/iio/dac/stm32-dac-core.c
> index 75e4878..9c42537 100644
> --- a/drivers/iio/dac/stm32-dac-core.c
> +++ b/drivers/iio/dac/stm32-dac-core.c
> @@ -130,7 +130,7 @@ static int stm32_dac_probe(struct platform_device *pdev)
>  
>  	platform_set_drvdata(pdev, &priv->common);
>  
> -	ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, dev);
> +	ret = devm_of_platform_populate(&pdev->dev);
>  	if (ret < 0) {
>  		dev_err(dev, "failed to populate DT children\n");
>  		goto err_pclk;
> @@ -151,7 +151,6 @@ static int stm32_dac_remove(struct platform_device *pdev)
>  	struct stm32_dac_common *common = platform_get_drvdata(pdev);
>  	struct stm32_dac_priv *priv = to_stm32_dac_priv(common);
>  
> -	of_platform_depopulate(&pdev->dev);
Hi Benjamin,

Same as patch 1, This is going to change order of sub devices removal.
It may end-up with bellow resources being removed while sub-device still
needs them.
Not sure this is a good candidate for such a change.

Best Regards,
Fabrice
>  	clk_disable_unprepare(priv->pclk);
>  	regulator_disable(priv->vref);
>  
> 

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


#1652611 — [PATCH 06/15] mfd: atmel: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 06/15] mfd: atmel: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-17@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/atmel-flexcom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/atmel-flexcom.c b/drivers/mfd/atmel-flexcom.c
index e8e67be..064bde9 100644
--- a/drivers/mfd/atmel-flexcom.c
+++ b/drivers/mfd/atmel-flexcom.c
@@ -80,7 +80,7 @@ static int atmel_flexcom_probe(struct platform_device *pdev)
 
 	clk_disable_unprepare(clk);
 
-	return of_platform_populate(np, NULL, NULL, &pdev->dev);
+	return devm_of_platform_populate(&pdev->dev);
 }
 
 static const struct of_device_id atmel_flexcom_of_match[] = {
-- 
1.9.1

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


#1652612 — [PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-11@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/fsl-imx25-tsadc.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/mfd/fsl-imx25-tsadc.c b/drivers/mfd/fsl-imx25-tsadc.c
index ac430a3..4258a42 100644
--- a/drivers/mfd/fsl-imx25-tsadc.c
+++ b/drivers/mfd/fsl-imx25-tsadc.c
@@ -129,7 +129,6 @@ static void mx25_tsadc_setup_clk(struct platform_device *pdev,
 static int mx25_tsadc_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
-	struct device_node *np = dev->of_node;
 	struct mx25_tsadc *tsadc;
 	struct resource *res;
 	int ret;
@@ -178,9 +177,7 @@ static int mx25_tsadc_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, tsadc);
 
-	of_platform_populate(np, NULL, NULL, dev);
-
-	return 0;
+	return devm_of_platform_populate(dev);
 }
 
 static const struct of_device_id mx25_tsadc_ids[] = {
-- 
1.9.1

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


#1653034 — Re: [PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate()

FromLee Jones <lee.jones@linaro.org>
Date2017-05-30 11:40 +0200
SubjectRe: [PATCH 09/15] mfd: fsl-imx25: use devm_of_platform_populate()
Message-ID<tMLN8-5ya-5@gated-at.bofh.it>
In reply to#1652612
On Mon, 29 May 2017, Benjamin Gaignard wrote:

> Use devm_of_platform_populate() to be sure that of_platform_depopulate
> is called when removing the driver.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> 
> CC: Lee Jones <lee.jones@linaro.org>
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/mfd/fsl-imx25-tsadc.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/fsl-imx25-tsadc.c b/drivers/mfd/fsl-imx25-tsadc.c
> index ac430a3..4258a42 100644
> --- a/drivers/mfd/fsl-imx25-tsadc.c
> +++ b/drivers/mfd/fsl-imx25-tsadc.c
> @@ -129,7 +129,6 @@ static void mx25_tsadc_setup_clk(struct platform_device *pdev,
>  static int mx25_tsadc_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
> -	struct device_node *np = dev->of_node;
>  	struct mx25_tsadc *tsadc;
>  	struct resource *res;
>  	int ret;
> @@ -178,9 +177,7 @@ static int mx25_tsadc_probe(struct platform_device *pdev)
>  
>  	platform_set_drvdata(pdev, tsadc);
>  
> -	of_platform_populate(np, NULL, NULL, dev);
> -
> -	return 0;
> +	return devm_of_platform_populate(dev);
>  }
>  
>  static const struct of_device_id mx25_tsadc_ids[] = {

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

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


#1652613 — [PATCH 04/15] drm: msm: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 04/15] drm: msm: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-19@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to simplify driver code.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
CC: Rob Clark <robdclark@gmail.com>
CC: David Airlie <airlied@linux.ie>
CC: linux-arm-msm@vger.kernel.org
CC: dri-devel@lists.freedesktop.org
CC: freedreno@lists.freedesktop.org
CC: linux-kernel@vger.kernel.org
---
 drivers/gpu/drm/msm/msm_drv.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 87b5695..545fb6f 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -969,7 +969,7 @@ static int add_display_components(struct device *dev,
 	 * to our components list.
 	 */
 	if (of_device_is_compatible(dev->of_node, "qcom,mdss")) {
-		ret = of_platform_populate(dev->of_node, NULL, NULL, dev);
+		ret = devm_of_platform_populate(dev);
 		if (ret) {
 			dev_err(dev, "failed to populate children devices\n");
 			return ret;
@@ -978,7 +978,6 @@ static int add_display_components(struct device *dev,
 		mdp_dev = device_find_child(dev, NULL, compare_name_mdp);
 		if (!mdp_dev) {
 			dev_err(dev, "failed to find MDSS MDP node\n");
-			of_platform_depopulate(dev);
 			return -ENODEV;
 		}
 
@@ -992,11 +991,7 @@ static int add_display_components(struct device *dev,
 		mdp_dev = dev;
 	}
 
-	ret = add_components_mdp(mdp_dev, matchptr);
-	if (ret)
-		of_platform_depopulate(dev);
-
-	return ret;
+	return add_components_mdp(mdp_dev, matchptr);
 }
 
 /*
@@ -1072,7 +1067,6 @@ static int msm_pdev_probe(struct platform_device *pdev)
 static int msm_pdev_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &msm_drm_ops);
-	of_platform_depopulate(&pdev->dev);
 
 	return 0;
 }
-- 
1.9.1

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


#1652615 — [PATCH 15/15] media: exynos4-is: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 15/15] media: exynos4-is: use devm_of_platform_populate()
Message-ID<tMv5E-1UR-21@gated-at.bofh.it>
In reply to#1652605
Usage of devm_of_platform_populate() simplify driver code
and save somes lines

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Kyungmin Park <kyungmin.park@samsung.com>
CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: Kukjin Kim <kgene@kernel.org>
CC: Krzysztof Kozlowski <krzk@kernel.org>
CC: Javier Martinez Canillas <javier@osg.samsung.com>
CC: linux-media@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-samsung-soc@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 drivers/media/platform/exynos4-is/fimc-is.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c
index 7f92144..340d906 100644
--- a/drivers/media/platform/exynos4-is/fimc-is.c
+++ b/drivers/media/platform/exynos4-is/fimc-is.c
@@ -854,7 +854,7 @@ static int fimc_is_probe(struct platform_device *pdev)
 
 	vb2_dma_contig_set_max_seg_size(dev, DMA_BIT_MASK(32));
 
-	ret = of_platform_populate(dev->of_node, NULL, NULL, dev);
+	ret = devm_of_platform_populate(dev);
 	if (ret < 0)
 		goto err_pm;
 
@@ -864,7 +864,7 @@ static int fimc_is_probe(struct platform_device *pdev)
 	 */
 	ret = fimc_is_register_subdevs(is);
 	if (ret < 0)
-		goto err_of_dep;
+		goto err_pm;
 
 	ret = fimc_is_debugfs_create(is);
 	if (ret < 0)
@@ -883,8 +883,6 @@ static int fimc_is_probe(struct platform_device *pdev)
 	fimc_is_debugfs_remove(is);
 err_sd:
 	fimc_is_unregister_subdevs(is);
-err_of_dep:
-	of_platform_depopulate(dev);
 err_pm:
 	if (!pm_runtime_enabled(dev))
 		fimc_is_runtime_suspend(dev);
@@ -946,7 +944,6 @@ static int fimc_is_remove(struct platform_device *pdev)
 	if (!pm_runtime_status_suspended(dev))
 		fimc_is_runtime_suspend(dev);
 	free_irq(is->irq, is);
-	of_platform_depopulate(dev);
 	fimc_is_unregister_subdevs(is);
 	vb2_dma_contig_clear_max_seg_size(dev);
 	fimc_is_put_clocks(is);
-- 
1.9.1

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


#1652616 — [PATCH 14/15] sound: stm32: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 14/15] sound: stm32: use devm_of_platform_populate()
Message-ID<tMv5F-1UR-23@gated-at.bofh.it>
In reply to#1652605
Usage of devm_of_platform_populate() simplify driver code
by allowing to delete stm32_sai_remove().

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Liam Girdwood <lgirdwood@gmail.com>
CC: Mark Brown <broonie@kernel.org>
CC: Jaroslav Kysela <perex@perex.cz>
CC: Takashi Iwai <tiwai@suse.com>
CC: Alexandre Torgue <alexandre.torgue@st.com>
CC: Olivier Moysan <olivier.moysan@st.com>
CC: alsa-devel@alsa-project.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-kernel@vger.kernel.org
---
 sound/soc/stm/stm32_sai.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/sound/soc/stm/stm32_sai.c b/sound/soc/stm/stm32_sai.c
index 2a27a26..25304f8 100644
--- a/sound/soc/stm/stm32_sai.c
+++ b/sound/soc/stm/stm32_sai.c
@@ -34,7 +34,6 @@
 
 static int stm32_sai_probe(struct platform_device *pdev)
 {
-	struct device_node *np = pdev->dev.of_node;
 	struct stm32_sai_data *sai;
 	struct reset_control *rst;
 	struct resource *res;
@@ -86,14 +85,7 @@ static int stm32_sai_probe(struct platform_device *pdev)
 	sai->pdev = pdev;
 	platform_set_drvdata(pdev, sai);
 
-	return of_platform_populate(np, NULL, NULL, &pdev->dev);
-}
-
-static int stm32_sai_remove(struct platform_device *pdev)
-{
-	of_platform_depopulate(&pdev->dev);
-
-	return 0;
+	return devm_of_platform_populate(&pdev->dev);
 }
 
 MODULE_DEVICE_TABLE(of, stm32_sai_ids);
@@ -104,7 +96,6 @@ static int stm32_sai_remove(struct platform_device *pdev)
 		.of_match_table = stm32_sai_ids,
 	},
 	.probe = stm32_sai_probe,
-	.remove = stm32_sai_remove,
 };
 
 module_platform_driver(stm32_sai_driver);
-- 
1.9.1

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


#1652985 — Re: [PATCH 14/15] sound: stm32: use devm_of_platform_populate()

FromOlivier MOYSAN <olivier.moysan@st.com>
Date2017-05-30 11:10 +0200
SubjectRe: [PATCH 14/15] sound: stm32: use devm_of_platform_populate()
Message-ID<tMLk6-5mP-23@gated-at.bofh.it>
In reply to#1652616
Acked-by: Olivier Moysan <olivier.moysan@st.com>

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


#1652617 — [PATCH 03/15] drm: zte: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 03/15] drm: zte: use devm_of_platform_populate()
Message-ID<tMv5F-1UR-29@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Shawn Guo <shawnguo@kernel.org>
CC: David Airlie <airlied@linux.ie>
CC: dri-devel@lists.freedesktop.org
CC: linux-kernel@vger.kernel.org
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 614e854..f2b1e5f 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -196,7 +196,7 @@ static int zx_drm_probe(struct platform_device *pdev)
 	struct component_match *match = NULL;
 	int ret;
 
-	ret = of_platform_populate(parent, NULL, NULL, dev);
+	ret = devm_of_platform_populate(dev);
 	if (ret)
 		return ret;
 
-- 
1.9.1

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


#1657212 — Re: [PATCH 03/15] drm: zte: use devm_of_platform_populate()

FromShawn Guo <shawnguo@kernel.org>
Date2017-06-05 04:00 +0200
SubjectRe: [PATCH 03/15] drm: zte: use devm_of_platform_populate()
Message-ID<tOPtf-4zu-1@gated-at.bofh.it>
In reply to#1652617
On Mon, May 29, 2017 at 05:45:51PM +0200, Benjamin Gaignard wrote:
> Use devm_of_platform_populate() to be sure that of_platform_depopulate
> is called when removing the driver.
> 
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

Applied to drm-misc, thanks.

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


#1652618 — [PATCH 07/15] mfd: cros_ec: use devm_of_platform_populate()

FromBenjamin Gaignard <benjamin.gaignard@linaro.org>
Date2017-05-29 17:50 +0200
Subject[PATCH 07/15] mfd: cros_ec: use devm_of_platform_populate()
Message-ID<tMv5F-1UR-27@gated-at.bofh.it>
In reply to#1652605
Use devm_of_platform_populate() to be sure that of_platform_depopulate
is called when removing the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

CC: Lee Jones <lee.jones@linaro.org>
CC: linux-kernel@vger.kernel.org
---
 drivers/mfd/cros_ec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c
index d4a407e..e31ac60 100644
--- a/drivers/mfd/cros_ec.c
+++ b/drivers/mfd/cros_ec.c
@@ -147,7 +147,7 @@ int cros_ec_register(struct cros_ec_device *ec_dev)
 	}
 
 	if (IS_ENABLED(CONFIG_OF) && dev->of_node) {
-		err = of_platform_populate(dev->of_node, NULL, NULL, dev);
+		err = devm_of_platform_populate(dev);
 		if (err) {
 			mfd_remove_devices(dev);
 			dev_err(dev, "Failed to register sub-devices\n");
-- 
1.9.1

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


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web