Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1652605 > unrolled thread
| Started by | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| First post | 2017-05-29 17:50 +0200 |
| Last post | 2017-05-29 18:10 +0200 |
| Articles | 20 on this page of 30 — 7 participants |
Back to article view | Back to linux.kernel
[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 →
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Lee Jones <lee.jones@linaro.org> |
|---|---|
| Date | 2017-05-30 11:40 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Lee Jones <lee.jones@linaro.org> |
|---|---|
| Date | 2017-05-30 11:40 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Lee Jones <lee.jones@linaro.org> |
|---|---|
| Date | 2017-05-30 11:40 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Fabrice Gasnier <fabrice.gasnier@st.com> |
|---|---|
| Date | 2017-05-29 18:20 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Lee Jones <lee.jones@linaro.org> |
|---|---|
| Date | 2017-05-30 11:40 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Olivier MOYSAN <olivier.moysan@st.com> |
|---|---|
| Date | 2017-05-30 11:10 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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]
| From | Shawn Guo <shawnguo@kernel.org> |
|---|---|
| Date | 2017-06-05 04:00 +0200 |
| Subject | Re: [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]
| From | Benjamin Gaignard <benjamin.gaignard@linaro.org> |
|---|---|
| Date | 2017-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