Message ID | 20230123075833.50925-1-wsa+renesas@sang-engineering.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spi: sh-msiof: drop support for R-Car H3 ES1.[01] | expand |
Hi Wolfram, On Mon, Jan 23, 2023 at 8:58 AM Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > These revisions have HW issues and are only early engineering samples > used internally. We simply drop the MSIOF support for them. > > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > --- > > We got confirmation from Renesas for dropping ES1.* support. Thanks for your patch! > --- a/drivers/spi/spi-sh-msiof.c > +++ b/drivers/spi/spi-sh-msiof.c > @@ -24,6 +24,7 @@ > #include <linux/platform_device.h> > #include <linux/pm_runtime.h> > #include <linux/sh_dma.h> > +#include <linux/sys_soc.h> > > #include <linux/spi/sh_msiof.h> > #include <linux/spi/spi.h> > @@ -1257,8 +1258,15 @@ static void sh_msiof_release_dma(struct sh_msiof_spi_priv *p) > dma_release_channel(ctlr->dma_tx); > } > > +static const struct soc_device_attribute sh_msiof_blacklist[] = { > + /* Those have HW issues */ > + { .soc_id = "r8a7795", .revision = "ES1.[01]" }, > + { /* Sentinel */ } > +}; > + > static int sh_msiof_spi_probe(struct platform_device *pdev) > { > + const struct soc_device_attribute *attr; > struct spi_controller *ctlr; > const struct sh_msiof_chipdata *chipdata; > struct sh_msiof_spi_info *info; > @@ -1267,6 +1275,10 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) > int i; > int ret; > > + attr = soc_device_match(sh_msiof_blacklist); > + if (attr) > + return -ENOTSUPP; I don't think adding more soc_device_match() calls is the proper way to handle this... What about adding a single check to drivers/soc/renesas/renesas-soc.c, removing r8a77950*dts*, and removing all R-Car H3 ES1.x matches from all drivers? > + > chipdata = of_device_get_match_data(&pdev->dev); > if (chipdata) { > info = sh_msiof_spi_parse_dt(&pdev->dev); Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
> I don't think adding more soc_device_match() calls is the proper way to > handle this... > What about adding a single check to drivers/soc/renesas/renesas-soc.c, > removing r8a77950*dts*, and removing all R-Car H3 ES1.x matches from > all drivers? Can be argued. My take was like keep the existing ES1 support which is not in the way and disable the rest. But if you want to get rid of it entirely, that is cleaner, of course. A tad more work removing the existing quirks, but well...
> But if you want to get rid of it entirely, that is cleaner, of course.
I'll start with that work later today, removing ES1 of H3.
diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c index 9bca3d076f05..e3b249c71175 100644 --- a/drivers/spi/spi-sh-msiof.c +++ b/drivers/spi/spi-sh-msiof.c @@ -24,6 +24,7 @@ #include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/sh_dma.h> +#include <linux/sys_soc.h> #include <linux/spi/sh_msiof.h> #include <linux/spi/spi.h> @@ -1257,8 +1258,15 @@ static void sh_msiof_release_dma(struct sh_msiof_spi_priv *p) dma_release_channel(ctlr->dma_tx); } +static const struct soc_device_attribute sh_msiof_blacklist[] = { + /* Those have HW issues */ + { .soc_id = "r8a7795", .revision = "ES1.[01]" }, + { /* Sentinel */ } +}; + static int sh_msiof_spi_probe(struct platform_device *pdev) { + const struct soc_device_attribute *attr; struct spi_controller *ctlr; const struct sh_msiof_chipdata *chipdata; struct sh_msiof_spi_info *info; @@ -1267,6 +1275,10 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) int i; int ret; + attr = soc_device_match(sh_msiof_blacklist); + if (attr) + return -ENOTSUPP; + chipdata = of_device_get_match_data(&pdev->dev); if (chipdata) { info = sh_msiof_spi_parse_dt(&pdev->dev);
These revisions have HW issues and are only early engineering samples used internally. We simply drop the MSIOF support for them. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> --- We got confirmation from Renesas for dropping ES1.* support. drivers/spi/spi-sh-msiof.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)