From patchwork Mon May 29 15:45:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [01/15] iio: adc: stm32: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100677 Message-Id: <1496072763-31209-2-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Alexandre Torgue , Fabrice Gasnier , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:49 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() instead of of_platform_populate and of_platform_depopulate to simplify driver code Signed-off-by: Benjamin Gaignard CC: Jonathan Cameron CC: Hartmut Knaack CC: Lars-Peter Clausen CC: Alexandre Torgue CC: Fabrice Gasnier CC: linux-iio@vger.kernel.org CC: linux-arm-kernel@lists.infradead.org CC: linux-kernel@vger.kernel.org --- drivers/iio/adc/stm32-adc-core.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 1.9.1 diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c index 22b7c93..46e41dc5 100644 --- a/drivers/iio/adc/stm32-adc-core.c +++ b/drivers/iio/adc/stm32-adc-core.c @@ -186,7 +186,6 @@ static void stm32_adc_irq_remove(struct platform_device *pdev, static int stm32_adc_probe(struct platform_device *pdev) { struct stm32_adc_priv *priv; - struct device_node *np = pdev->dev.of_node; struct resource *res; int ret; @@ -249,7 +248,7 @@ static int stm32_adc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, &priv->common); - ret = of_platform_populate(np, NULL, NULL, &pdev->dev); + ret = devm_of_platform_populate(&pdev->dev); if (ret < 0) { dev_err(&pdev->dev, "failed to populate DT children\n"); goto err_irq_remove; @@ -274,7 +273,6 @@ static int stm32_adc_remove(struct platform_device *pdev) struct stm32_adc_common *common = platform_get_drvdata(pdev); struct stm32_adc_priv *priv = to_stm32_adc_priv(common); - of_platform_depopulate(&pdev->dev); stm32_adc_irq_remove(pdev, priv); clk_disable_unprepare(priv->aclk); regulator_disable(priv->vref); From patchwork Mon May 29 15:45:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [02/15] iio: dac: stm32: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100664 Message-Id: <1496072763-31209-3-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Jonathan Cameron , Hartmut Knaack , Lars-Peter Clausen , Alexandre Torgue , Fabrice Gasnier , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:50 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() instead of of_platform_populate and of_platform_depopulate to simplify driver code Signed-off-by: Benjamin Gaignard CC: Jonathan Cameron CC: Hartmut Knaack CC: Lars-Peter Clausen CC: Alexandre Torgue CC: Fabrice Gasnier 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(-) -- 1.9.1 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); From patchwork Mon May 29 15:45:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [04/15] drm: msm: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100665 Message-Id: <1496072763-31209-5-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Rob Clark , David Airlie , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:52 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to simplify driver code. Signed-off-by: Benjamin Gaignard CC: Rob Clark CC: David Airlie 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(-) -- 1.9.1 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; } From patchwork Mon May 29 15:45:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [05/15] mfd: stm32-timers: use devm_of_platform_populate X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100676 Message-Id: <1496072763-31209-6-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , Alexandre Torgue , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:53 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() instead of of_platform_populate() and suppress stm32_timers_remove() which become useless. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: Alexandre Torgue CC: linux-arm-kernel@lists.infradead.org CC: linux-kernel@vger.kernel.org --- drivers/mfd/stm32-timers.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) -- 1.9.1 diff --git a/drivers/mfd/stm32-timers.c b/drivers/mfd/stm32-timers.c index 2182f00..a6675a4 100644 --- a/drivers/mfd/stm32-timers.c +++ b/drivers/mfd/stm32-timers.c @@ -58,14 +58,7 @@ static int stm32_timers_probe(struct platform_device *pdev) platform_set_drvdata(pdev, ddata); - return of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); -} - -static int stm32_timers_remove(struct platform_device *pdev) -{ - of_platform_depopulate(&pdev->dev); - - return 0; + return devm_of_platform_populate(&pdev->dev); } static const struct of_device_id stm32_timers_of_match[] = { @@ -76,7 +69,6 @@ static int stm32_timers_remove(struct platform_device *pdev) static struct platform_driver stm32_timers_driver = { .probe = stm32_timers_probe, - .remove = stm32_timers_remove, .driver = { .name = "stm32-timers", .of_match_table = stm32_timers_of_match, From patchwork Mon May 29 15:45:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [06/15] mfd: atmel: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100675 Message-Id: <1496072763-31209-7-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:54 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/atmel-flexcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.9.1 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[] = { From patchwork Mon May 29 15:45:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [07/15] mfd: cros_ec: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100674 Message-Id: <1496072763-31209-8-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:55 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/cros_ec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.9.1 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"); From patchwork Mon May 29 15:45:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [08/15] mfd: exynos: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100672 Message-Id: <1496072763-31209-9-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , Kukjin Kim , Krzysztof Kozlowski , Javier Martinez Canillas , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:56 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: Kukjin Kim CC: Krzysztof Kozlowski CC: Javier Martinez Canillas 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(-) -- 1.9.1 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) From patchwork Mon May 29 15:45:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [09/15] mfd: fsl-imx25: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100669 Message-Id: <1496072763-31209-10-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:57 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/fsl-imx25-tsadc.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) -- 1.9.1 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[] = { From patchwork Mon May 29 15:45:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [10/15] mfd: motorola-cpcap: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100666 Message-Id: <1496072763-31209-11-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:58 +0200 From: Benjamin Gaignard List-Id: Usage of devm_of_platform_populate() simplify driver code by allowing to delete cpcap_remove(). Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/motorola-cpcap.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) -- 1.9.1 diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c index 3cab58a..d2cc1ea 100644 --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -260,17 +260,7 @@ static int cpcap_probe(struct spi_device *spi) if (ret) return ret; - return of_platform_populate(spi->dev.of_node, NULL, NULL, - &cpcap->spi->dev); -} - -static int cpcap_remove(struct spi_device *pdev) -{ - struct cpcap_ddata *cpcap = spi_get_drvdata(pdev); - - of_platform_depopulate(&cpcap->spi->dev); - - return 0; + return devm_of_platform_populate(&cpcap->spi->dev); } static struct spi_driver cpcap_driver = { @@ -279,7 +269,6 @@ static int cpcap_remove(struct spi_device *pdev) .of_match_table = cpcap_of_match, }, .probe = cpcap_probe, - .remove = cpcap_remove, }; module_spi_driver(cpcap_driver); From patchwork Mon May 29 15:45:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [11/15] mfd: palmas: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100671 Message-Id: <1496072763-31209-12-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Tony Lindgren , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:45:59 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Tony Lindgren CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/palmas.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.9.1 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) { From patchwork Mon May 29 15:46:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [12/15] mfd: qcom-spmi-pmic: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100667 Message-Id: <1496072763-31209-13-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:46:00 +0200 From: Benjamin Gaignard List-Id: Usage of devm_of_platform_populate() simplify driver code by allowing to delete pmic_spmi_remove(). Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/qcom-spmi-pmic.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) -- 1.9.1 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, From patchwork Mon May 29 15:46:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [13/15] mfd: smsc-ece: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100673 Message-Id: <1496072763-31209-14-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Lee Jones , linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:46:01 +0200 From: Benjamin Gaignard List-Id: Use devm_of_platform_populate() to be sure that of_platform_depopulate is called when removing the driver. Signed-off-by: Benjamin Gaignard CC: Lee Jones CC: linux-kernel@vger.kernel.org --- drivers/mfd/smsc-ece1099.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 1.9.1 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; From patchwork Mon May 29 15:46:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [14/15] sound: stm32: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100668 Message-Id: <1496072763-31209-15-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Alexandre Torgue , Olivier Moysan , alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:46:02 +0200 From: Benjamin Gaignard List-Id: Usage of devm_of_platform_populate() simplify driver code by allowing to delete stm32_sai_remove(). Signed-off-by: Benjamin Gaignard CC: Liam Girdwood CC: Mark Brown CC: Jaroslav Kysela CC: Takashi Iwai CC: Alexandre Torgue CC: Olivier Moysan 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(-) -- 1.9.1 Acked-by: Olivier Moysan 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); From patchwork Mon May 29 15:46:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [15/15] media: exynos4-is: use devm_of_platform_populate() X-Patchwork-Submitter: Benjamin Gaignard X-Patchwork-Id: 100670 Message-Id: <1496072763-31209-16-git-send-email-benjamin.gaignard@linaro.org> To: unlisted-recipients:; (no To-header on input) Cc: Benjamin Gaignard , Kyungmin Park , Sylwester Nawrocki , Mauro Carvalho Chehab , Kukjin Kim , Krzysztof Kozlowski , Javier Martinez Canillas , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Date: Mon, 29 May 2017 17:46:03 +0200 From: Benjamin Gaignard List-Id: Usage of devm_of_platform_populate() simplify driver code and save somes lines Signed-off-by: Benjamin Gaignard CC: Kyungmin Park CC: Sylwester Nawrocki CC: Mauro Carvalho Chehab CC: Kukjin Kim CC: Krzysztof Kozlowski CC: Javier Martinez Canillas 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(-) -- 1.9.1 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);