Hi Wolfram, On Mon, Jan 23, 2023 at 8:58 AM Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx> > --- > > 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@xxxxxxxxxxxxxx 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