2021-09-23 19:48:39

by Mark Brown

[permalink] [raw]
Subject: [PATCH v1 0/4] mfd: Ensure DT compatibles have SPI device IDs

Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so this series
adds SPI IDs where they aren't provided for a given modalias.

Mark Brown (4):
mfd: altr_a10sr: Add SPI device ID table
mfd: arizona: Add missing entries SPI to device ID table
mfd: cpcap: Add SPI device ID table
mfd: sprd: Add SPI device ID table

drivers/mfd/altera-a10sr.c | 8 ++++++++
drivers/mfd/arizona-spi.c | 3 +++
drivers/mfd/motorola-cpcap.c | 8 ++++++++
drivers/mfd/sprd-sc27xx-spi.c | 7 +++++++
4 files changed, 26 insertions(+)


base-commit: e73f0f0ee7541171d89f2e2491130c7771ba58d3
--
2.20.1


2021-09-23 19:49:06

by Mark Brown

[permalink] [raw]
Subject: [PATCH v1 3/4] mfd: cpcap: Add SPI device ID table

Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <[email protected]>
---
drivers/mfd/motorola-cpcap.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c
index 6fb206da2729..265464b5d7cc 100644
--- a/drivers/mfd/motorola-cpcap.c
+++ b/drivers/mfd/motorola-cpcap.c
@@ -202,6 +202,13 @@ static const struct of_device_id cpcap_of_match[] = {
};
MODULE_DEVICE_TABLE(of, cpcap_of_match);

+static const struct spi_device_id cpcap_spi_ids[] = {
+ { .name = "cpcap", },
+ { .name = "6556002", },
+ {},
+};
+MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
+
static const struct regmap_config cpcap_regmap_config = {
.reg_bits = 16,
.reg_stride = 4,
@@ -342,6 +349,7 @@ static struct spi_driver cpcap_driver = {
.pm = &cpcap_pm,
},
.probe = cpcap_probe,
+ .id_table = cpcap_spi_ids,
};
module_spi_driver(cpcap_driver);

--
2.20.1

2021-09-23 19:49:34

by Mark Brown

[permalink] [raw]
Subject: [PATCH v1 1/4] mfd: altr_a10sr: Add SPI device ID table

Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <[email protected]>
Cc: Thor Thayer <[email protected]>
---
drivers/mfd/altera-a10sr.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/mfd/altera-a10sr.c b/drivers/mfd/altera-a10sr.c
index a3bf64f9afd1..6d04fdd09ca2 100644
--- a/drivers/mfd/altera-a10sr.c
+++ b/drivers/mfd/altera-a10sr.c
@@ -150,6 +150,13 @@ static const struct of_device_id altr_a10sr_spi_of_match[] = {
{ .compatible = "altr,a10sr" },
{ },
};
+MODULE_DEVICE_TABLE(of, altr_a10sr_spi_of_match);
+
+static const struct spi_device_id altr_a10sr_spi_ids[] = {
+ { .name = "a10sr" },
+ { },
+};
+MODULE_DEVICE_TABLE(spi, altr_a10sr_spi_ids);

static struct spi_driver altr_a10sr_spi_driver = {
.probe = altr_a10sr_spi_probe,
@@ -157,5 +164,6 @@ static struct spi_driver altr_a10sr_spi_driver = {
.name = "altr_a10sr",
.of_match_table = of_match_ptr(altr_a10sr_spi_of_match),
},
+ .id_table = altr_a10sr_spi_ids,
};
builtin_driver(altr_a10sr_spi_driver, spi_register_driver)
--
2.20.1

2021-09-23 19:49:58

by Mark Brown

[permalink] [raw]
Subject: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding SPI IDs for parts that
only have a compatible listed.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
---
drivers/mfd/arizona-spi.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mfd/arizona-spi.c b/drivers/mfd/arizona-spi.c
index aa1d6f94ae53..8b44af297b7c 100644
--- a/drivers/mfd/arizona-spi.c
+++ b/drivers/mfd/arizona-spi.c
@@ -216,9 +216,12 @@ static int arizona_spi_remove(struct spi_device *spi)
}

static const struct spi_device_id arizona_spi_ids[] = {
+ { "wm1814", WM1814 },
{ "wm5102", WM5102 },
{ "wm5110", WM5110 },
{ "wm8280", WM8280 },
+ { "wm8997", WM8997 },
+ { "wm8998", WM8998 },
{ "wm1831", WM1831 },
{ "cs47l24", CS47L24 },
{ },
--
2.20.1

2021-09-23 19:50:19

by Mark Brown

[permalink] [raw]
Subject: [PATCH v1 4/4] mfd: sprd: Add SPI device ID table

Currently autoloading for SPI devices does not use the DT ID table, it uses
SPI modalises. Supporting OF modalises is going to be difficult if not
impractical, an attempt was made but has been reverted, so ensure that
module autoloading works for this driver by adding a SPI device ID table.

Fixes: 96c8395e2166 ("spi: Revert modalias changes")
Signed-off-by: Mark Brown <[email protected]>
Cc: Orson Zhai <[email protected]>
Cc: Baolin Wang <[email protected]>
Cc: Chunyan Zhang <[email protected]>
---
drivers/mfd/sprd-sc27xx-spi.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c
index 6b7956604a0f..d2d4c4b2087f 100644
--- a/drivers/mfd/sprd-sc27xx-spi.c
+++ b/drivers/mfd/sprd-sc27xx-spi.c
@@ -230,6 +230,12 @@ static int sprd_pmic_resume(struct device *dev)

static SIMPLE_DEV_PM_OPS(sprd_pmic_pm_ops, sprd_pmic_suspend, sprd_pmic_resume);

+static const struct spi_device_id sprd_pmic_spi_ids[] = {
+ { .name = "sc2731", .driver_data = (unsigned long)&sc2731_data },
+ {},
+};
+MODULE_DEVICE_TABLE(spi, sprd_pmic_spi_ids);
+
static const struct of_device_id sprd_pmic_match[] = {
{ .compatible = "sprd,sc2731", .data = &sc2731_data },
{},
@@ -243,6 +249,7 @@ static struct spi_driver sprd_pmic_driver = {
.pm = &sprd_pmic_pm_ops,
},
.probe = sprd_pmic_probe,
+ .id_table = sprd_pmic_spi_ids,
};

static int __init sprd_pmic_init(void)
--
2.20.1

2021-09-24 11:12:24

by Richard Fitzgerald

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On 23/09/2021 20:46, Mark Brown wrote:
> Currently autoloading for SPI devices does not use the DT ID table, it uses
> SPI modalises. Supporting OF modalises is going to be difficult if not
> impractical, an attempt was made but has been reverted, so ensure that
> module autoloading works for this driver by adding SPI IDs for parts that
> only have a compatible listed.
>
> Fixes: 96c8395e2166 ("spi: Revert modalias changes")
> Signed-off-by: Mark Brown <[email protected]>
> Cc: [email protected]
> ---
> drivers/mfd/arizona-spi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/mfd/arizona-spi.c b/drivers/mfd/arizona-spi.c
> index aa1d6f94ae53..8b44af297b7c 100644
> --- a/drivers/mfd/arizona-spi.c
> +++ b/drivers/mfd/arizona-spi.c
> @@ -216,9 +216,12 @@ static int arizona_spi_remove(struct spi_device *spi)
> }
>
> static const struct spi_device_id arizona_spi_ids[] = {
> + { "wm1814", WM1814 },
> { "wm5102", WM5102 },
> { "wm5110", WM5110 },
> { "wm8280", WM8280 },
> + { "wm8997", WM8997 },
> + { "wm8998", WM8998 },

WM1814, WM8997 and WM8998 do not have a SPI interface, which is why they
aren't in the table of SPI IDs.

2021-09-24 16:25:23

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On Fri, Sep 24, 2021 at 10:24:17AM +0100, Richard Fitzgerald wrote:
> On 23/09/2021 20:46, Mark Brown wrote:

> > Currently autoloading for SPI devices does not use the DT ID table, it uses
> > SPI modalises. Supporting OF modalises is going to be difficult if not
> > impractical, an attempt was made but has been reverted, so ensure that
> > module autoloading works for this driver by adding SPI IDs for parts that
> > only have a compatible listed.

> > static const struct spi_device_id arizona_spi_ids[] = {
> > + { "wm1814", WM1814 },
> > { "wm5102", WM5102 },
> > { "wm5110", WM5110 },
> > { "wm8280", WM8280 },
> > + { "wm8997", WM8997 },
> > + { "wm8998", WM8998 },

> WM1814, WM8997 and WM8998 do not have a SPI interface, which is why they
> aren't in the table of SPI IDs.

They're listed as valid DT compatibles for SPI so will now generate
warnings on boot, the driver should not list those compatibles if
they're not valid.


Attachments:
(No filename) (974.00 B)
signature.asc (499.00 B)
Download all attachments

2021-09-27 10:28:59

by Charles Keepax

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On Fri, Sep 24, 2021 at 12:20:01PM +0100, Mark Brown wrote:
> On Fri, Sep 24, 2021 at 10:24:17AM +0100, Richard Fitzgerald wrote:
> > On 23/09/2021 20:46, Mark Brown wrote:
>
> > > Currently autoloading for SPI devices does not use the DT ID table, it uses
> > > SPI modalises. Supporting OF modalises is going to be difficult if not
> > > impractical, an attempt was made but has been reverted, so ensure that
> > > module autoloading works for this driver by adding SPI IDs for parts that
> > > only have a compatible listed.
>
> > > static const struct spi_device_id arizona_spi_ids[] = {
> > > + { "wm1814", WM1814 },
> > > { "wm5102", WM5102 },
> > > { "wm5110", WM5110 },
> > > { "wm8280", WM8280 },
> > > + { "wm8997", WM8997 },
> > > + { "wm8998", WM8998 },
>
> > WM1814, WM8997 and WM8998 do not have a SPI interface, which is why they
> > aren't in the table of SPI IDs.
>
> They're listed as valid DT compatibles for SPI so will now generate
> warnings on boot, the driver should not list those compatibles if
> they're not valid.

Yeah we should really be having different lists for SPI and I2C
here I guess. I am happy to have a quick look at doing a patch
for that, unless you particularly want to fix it up?

Thanks,
Charles

2021-09-27 10:57:14

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On Mon, Sep 27, 2021 at 10:27:54AM +0000, Charles Keepax wrote:

> Yeah we should really be having different lists for SPI and I2C
> here I guess. I am happy to have a quick look at doing a patch
> for that, unless you particularly want to fix it up?

I dropped the patch so please feel free to go ahead.


Attachments:
(No filename) (312.00 B)
signature.asc (499.00 B)
Download all attachments

2021-09-28 08:06:42

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On Mon, 27 Sep 2021, Mark Brown wrote:

> On Mon, Sep 27, 2021 at 10:27:54AM +0000, Charles Keepax wrote:
>
> > Yeah we should really be having different lists for SPI and I2C
> > here I guess. I am happy to have a quick look at doing a patch
> > for that, unless you particularly want to fix it up?
>
> I dropped the patch so please feel free to go ahead.

Just this one, or should I drop the set?

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

2021-09-28 10:04:03

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v1 2/4] mfd: arizona: Add missing entries SPI to device ID table

On Tue, 28 Sep 2021, Lee Jones wrote:

> On Mon, 27 Sep 2021, Mark Brown wrote:
>
> > On Mon, Sep 27, 2021 at 10:27:54AM +0000, Charles Keepax wrote:
> >
> > > Yeah we should really be having different lists for SPI and I2C
> > > here I guess. I am happy to have a quick look at doing a patch
> > > for that, unless you particularly want to fix it up?
> >
> > I dropped the patch so please feel free to go ahead.
>
> Just this one, or should I drop the set?

Never mind. I see the new set.

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog