On 22/04/14 01:03, Doug Anderson wrote:
The whole IIO subsystem can be moved to a module. If you make it a module then stuff marked as "Y" in the adc directory simply won't be linked in properly. The two configs that were wrong were EXYNOS_ADC and LP8788_ADC. I know for a fact that EXYNOS_ADC will work as a module (though it appears to crash when you unload it--that needs to be addressed separately).
I'd really like to see this pinned down before taking this patch. I can see you argument that the current approach is clearly wrong, but swapping one issue for another is not an approach I'd particularly like to take... I can't immediately spot the cause of the crash, but there are certainly some interesting order issues in this driver. Not enabling the vdd regulator until after the userspace interfaces are exposed (by the iio_device_register call) is interesting for a start. The remove doesn't run in the reverse of the probe order (see clocks vs regulators for example.) Gah, my reviewing for one clearly missed some things in this driver.
I assume LP8788_ADC will also be fine.. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> --- drivers/iio/adc/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig index d86196c..24c28e3 100644 --- a/drivers/iio/adc/Kconfig +++ b/drivers/iio/adc/Kconfig @@ -106,7 +106,7 @@ config AT91_ADC 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 help Core support for the ADC block found in the Samsung EXYNOS series @@ -114,7 +114,7 @@ config EXYNOS_ADC this resource. config LP8788_ADC - bool "LP8788 ADC driver" + tristate "LP8788 ADC driver" depends on MFD_LP8788 help Say yes here to build support for TI LP8788 ADC.
-- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html