Commit 0046a46a authored by Michal Marek's avatar Michal Marek

staging/ad7606: Actually build the interface modules

The ad7606_par and ad7606_spi drivers are not built if CONFIG_AD7606=m,
because kbuild does not currently support <objname>-m syntax. Even if we
add kbuild support, ad7606 fails to link, because of duplicate
module_init definitions. Make the two drivers separate modules, as the
Kconfig help text already suggests.

Also, CONFIG_IIO_BUFFER is a dependency of CONFIG_AD7606, so there is no
need to test for it in the Makefile.
Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
parent 8005c49d
...@@ -23,7 +23,7 @@ config AD7606_IFACE_PARALLEL ...@@ -23,7 +23,7 @@ config AD7606_IFACE_PARALLEL
ADC driver. ADC driver.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called ad7606_iface_parallel. module will be called ad7606_parallel.
config AD7606_IFACE_SPI config AD7606_IFACE_SPI
tristate "spi interface support" tristate "spi interface support"
...@@ -34,7 +34,7 @@ config AD7606_IFACE_SPI ...@@ -34,7 +34,7 @@ config AD7606_IFACE_SPI
ADC driver. ADC driver.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called ad7606_iface_spi. module will be called ad7606_spi.
config AD7780 config AD7780
tristate "Analog Devices AD7780 and similar ADCs driver" tristate "Analog Devices AD7780 and similar ADCs driver"
......
...@@ -2,10 +2,9 @@ ...@@ -2,10 +2,9 @@
# Makefile for industrial I/O ADC drivers # Makefile for industrial I/O ADC drivers
# #
ad7606-y := ad7606_core.o ad7606-y := ad7606_core.o ad7606_ring.o
ad7606-$(CONFIG_IIO_BUFFER) += ad7606_ring.o obj-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o
ad7606-$(CONFIG_AD7606_IFACE_PARALLEL) += ad7606_par.o obj-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o
ad7606-$(CONFIG_AD7606_IFACE_SPI) += ad7606_spi.o
obj-$(CONFIG_AD7606) += ad7606.o obj-$(CONFIG_AD7606) += ad7606.o
obj-$(CONFIG_AD7780) += ad7780.o obj-$(CONFIG_AD7780) += ad7780.o
......
...@@ -559,6 +559,7 @@ struct iio_dev *ad7606_probe(struct device *dev, int irq, ...@@ -559,6 +559,7 @@ struct iio_dev *ad7606_probe(struct device *dev, int irq,
regulator_disable(st->reg); regulator_disable(st->reg);
return ERR_PTR(ret); return ERR_PTR(ret);
} }
EXPORT_SYMBOL_GPL(ad7606_probe);
int ad7606_remove(struct iio_dev *indio_dev, int irq) int ad7606_remove(struct iio_dev *indio_dev, int irq)
{ {
...@@ -575,6 +576,7 @@ int ad7606_remove(struct iio_dev *indio_dev, int irq) ...@@ -575,6 +576,7 @@ int ad7606_remove(struct iio_dev *indio_dev, int irq)
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(ad7606_remove);
void ad7606_suspend(struct iio_dev *indio_dev) void ad7606_suspend(struct iio_dev *indio_dev)
{ {
...@@ -586,6 +588,7 @@ void ad7606_suspend(struct iio_dev *indio_dev) ...@@ -586,6 +588,7 @@ void ad7606_suspend(struct iio_dev *indio_dev)
gpio_set_value(st->pdata->gpio_stby, 0); gpio_set_value(st->pdata->gpio_stby, 0);
} }
} }
EXPORT_SYMBOL_GPL(ad7606_suspend);
void ad7606_resume(struct iio_dev *indio_dev) void ad7606_resume(struct iio_dev *indio_dev)
{ {
...@@ -600,6 +603,7 @@ void ad7606_resume(struct iio_dev *indio_dev) ...@@ -600,6 +603,7 @@ void ad7606_resume(struct iio_dev *indio_dev)
ad7606_reset(st); ad7606_reset(st);
} }
} }
EXPORT_SYMBOL_GPL(ad7606_resume);
MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>"); MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");
MODULE_DESCRIPTION("Analog Devices AD7606 ADC"); MODULE_DESCRIPTION("Analog Devices AD7606 ADC");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment