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@xxxxxx> CC: David Airlie <airlied@xxxxxxxx> CC: Fabrice Gasnier <fabrice.gasnier@xxxxxx> CC: Hartmut Knaack <knaack.h@xxxxxx> CC: Jaroslav Kysela <perex@xxxxxxxx> CC: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> CC: Jonathan Cameron <jic23@xxxxxxxxxx> CC: Krzysztof Kozlowski <krzk@xxxxxxxxxx> CC: Kukjin Kim <kgene@xxxxxxxxxx> CC: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> CC: Lars-Peter Clausen <lars@xxxxxxxxxx> CC: Lee Jones <lee.jones@xxxxxxxxxx> CC: Liam Girdwood <lgirdwood@xxxxxxxxx> CC: Mark Brown <broonie@xxxxxxxxxx> CC: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> CC: Olivier Moysan <olivier.moysan@xxxxxx> CC: Rob Clark <robdclark@xxxxxxxxx> CC: Shawn Guo <shawnguo@xxxxxxxxxx> CC: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> CC: Takashi Iwai <tiwai@xxxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: linux-iio@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx CC: dri-devel@xxxxxxxxxxxxxxxxxxxxx CC: linux-arm-msm@xxxxxxxxxxxxxxx CC: freedreno@xxxxxxxxxxxxxxxxxxxxx CC: linux-samsung-soc@xxxxxxxxxxxxxxx CC: alsa-devel@xxxxxxxxxxxxxxxx CC: linux-media@xxxxxxxxxxxxxxx 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