Add missing <of_device_id> table for SPI driver relying on SPI
device match since compatible is in a DT binding or in a DTS.
Before this patch:
modinfo drivers/iio/dac/ad5758.ko | grep alias
alias: spi:ad5758
After this patch:
modinfo drivers/iio/dac/ad5758.ko | grep alias
alias: spi:ad5758
alias: of:N*T*Cadi,ad5758C*
alias: of:N*T*Cadi,ad5758
Reported-by: Javier Martinez Canillas <[email protected]>
Signed-off-by: Daniel Gomez <[email protected]>
---
drivers/iio/dac/ad5758.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/iio/dac/ad5758.c b/drivers/iio/dac/ad5758.c
index 2bdf1b0..e8eaa48 100644
--- a/drivers/iio/dac/ad5758.c
+++ b/drivers/iio/dac/ad5758.c
@@ -11,6 +11,8 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/property.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/spi/spi.h>
#include <linux/gpio/consumer.h>
@@ -904,9 +906,16 @@ static const struct spi_device_id ad5758_id[] = {
};
MODULE_DEVICE_TABLE(spi, ad5758_id);
+static const struct of_device_id ad5758_of_match[] = {
+ { .compatible = "adi,ad5758" },
+ { },
+};
+MODULE_DEVICE_TABLE(of, ad5758_of_match);
+
static struct spi_driver ad5758_driver = {
.driver = {
.name = KBUILD_MODNAME,
+ .of_match_table = ad5758_of_match,
},
.probe = ad5758_probe,
.id_table = ad5758_id,
--
2.7.4
On Tue, 23 Apr 2019 23:41:58 +0200
Daniel Gomez <[email protected]> wrote:
> Add missing <of_device_id> table for SPI driver relying on SPI
> device match since compatible is in a DT binding or in a DTS.
>
> Before this patch:
> modinfo drivers/iio/dac/ad5758.ko | grep alias
> alias: spi:ad5758
>
> After this patch:
> modinfo drivers/iio/dac/ad5758.ko | grep alias
> alias: spi:ad5758
> alias: of:N*T*Cadi,ad5758C*
> alias: of:N*T*Cadi,ad5758
>
> Reported-by: Javier Martinez Canillas <[email protected]>
> Signed-off-by: Daniel Gomez <[email protected]>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.
Thanks,
Jonathan
> ---
> drivers/iio/dac/ad5758.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/iio/dac/ad5758.c b/drivers/iio/dac/ad5758.c
> index 2bdf1b0..e8eaa48 100644
> --- a/drivers/iio/dac/ad5758.c
> +++ b/drivers/iio/dac/ad5758.c
> @@ -11,6 +11,8 @@
> #include <linux/kernel.h>
> #include <linux/module.h>
> #include <linux/property.h>
> +#include <linux/of.h>
> +#include <linux/of_device.h>
> #include <linux/spi/spi.h>
> #include <linux/gpio/consumer.h>
>
> @@ -904,9 +906,16 @@ static const struct spi_device_id ad5758_id[] = {
> };
> MODULE_DEVICE_TABLE(spi, ad5758_id);
>
> +static const struct of_device_id ad5758_of_match[] = {
> + { .compatible = "adi,ad5758" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, ad5758_of_match);
> +
> static struct spi_driver ad5758_driver = {
> .driver = {
> .name = KBUILD_MODNAME,
> + .of_match_table = ad5758_of_match,
> },
> .probe = ad5758_probe,
> .id_table = ad5758_id,