From: Greg Kroah-Hartman Date: Thu, 22 May 2014 14:27:17 +0000 (+0900) Subject: Merge 3.15-rc6 into staging-next. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=69c1f05379a34786da96d0fdedc111cdcdecdf6f;p=openwrt%2Fstaging%2Fblogic.git Merge 3.15-rc6 into staging-next. This resolves the conflicts in the files: drivers/iio/adc/Kconfig drivers/staging/rtl8723au/os_dep/usb_ops_linux.c Signed-off-by: Greg Kroah-Hartman --- 69c1f05379a34786da96d0fdedc111cdcdecdf6f diff --cc drivers/iio/adc/Kconfig index 6cbf34a90c04,24c28e3f93a3..90f596db940d --- a/drivers/iio/adc/Kconfig +++ b/drivers/iio/adc/Kconfig @@@ -117,8 -106,8 +117,8 @@@ config AT91_AD Say yes here to build support for Atmel AT91 ADC. config EXYNOS_ADC - bool "Exynos ADC driver support" + tristate "Exynos ADC driver support" - depends on OF + depends on ARCH_EXYNOS || (OF && COMPILE_TEST) help Core support for the ADC block found in the Samsung EXYNOS series of SoCs for drivers such as the touchscreen and hwmon to use to share diff --cc drivers/iio/adc/exynos_adc.c index d325aeafe5cb,affa93f51789..010578f1d762 --- a/drivers/iio/adc/exynos_adc.c +++ b/drivers/iio/adc/exynos_adc.c @@@ -349,9 -336,15 +349,9 @@@ static int exynos_adc_probe(struct plat if (ret) goto err_irq; - ret = regulator_enable(info->vdd); - if (ret) - goto err_iio_dev; - - clk_prepare_enable(info->clk); - exynos_adc_hw_init(info); - ret = of_platform_populate(np, exynos_adc_match, NULL, &pdev->dev); + ret = of_platform_populate(np, exynos_adc_match, NULL, &indio_dev->dev); if (ret < 0) { dev_err(&pdev->dev, "failed adding child nodes\n"); goto err_of_populate; @@@ -360,8 -353,11 +360,8 @@@ return 0; err_of_populate: - device_for_each_child(&pdev->dev, NULL, + device_for_each_child(&indio_dev->dev, NULL, exynos_adc_remove_devices); - regulator_disable(info->vdd); - clk_disable_unprepare(info->clk); -err_iio_dev: iio_device_unregister(indio_dev); err_irq: free_irq(info->irq, info); @@@ -378,13 -369,13 +378,13 @@@ static int exynos_adc_remove(struct pla struct iio_dev *indio_dev = platform_get_drvdata(pdev); struct exynos_adc *info = iio_priv(indio_dev); - device_for_each_child(&pdev->dev, NULL, + device_for_each_child(&indio_dev->dev, NULL, exynos_adc_remove_devices); - regulator_disable(info->vdd); - clk_disable_unprepare(info->clk); - writel(0, info->enable_reg); iio_device_unregister(indio_dev); free_irq(info->irq, info); + writel(0, info->enable_reg); + clk_disable_unprepare(info->clk); + regulator_disable(info->vdd); return 0; }