Hi Dirk, On Wed, Jun 1, 2016 at 10:36 AM, Dirk Behme <dirk.behme@xxxxxxxxxxxx> wrote: > On 01.06.2016 10:26, Geert Uytterhoeven wrote: >> On Wed, Jun 1, 2016 at 9:38 AM, Dirk Behme <dirk.behme@xxxxxxxxxxxx> >> wrote: >>> Sorry, if that was unclear. I took the example and transferred it to >>> R-Car3 >>> where we have ES1 - ES3. >>> >>> So, taking this example, on R-Car3 we might end up with >>> >>> { >>> .compatible = "renesas,sata-r8a7795", >>> .data = (void *)RCAR_GEN2_SATA >>> }, >>> { >>> .compatible = "renesas,sata-r8a7795-es1", >>> .data = (void *)RCAR_R8A7795_ES1_SATA >>> }, >>> { >>> .compatible = "renesas,sata-r8a7795-es2", >>> .data = (void *)RCAR_R8A7795_ES2_SATA >>> }, >>> { >>> .compatible = "renesas,sata-r8a7795-es3", >>> .data = (void *)RCAR_R8A7795_ES3_SATA >>> }, >> >> Are there known differences in the SATA implementations on R-Car H3 ES1, >> ES2, >> and ES3? > > It's just an *example* what *might* happen. > >> BTW having different compatible values in the driver makes it much easier >> to >> audit kernel sources for support for ESx deviations. > > Why? > > Having these compatible values in the driver doesn't tell you if the drivers > uses them at all. No? The clue is that we do not add "renesas,*-es%u" compatible values to drivers, unless ES%u needs to be handled specially. > So you have to look into the driver code (not the compatible values) if and > how the ESx are handled. And there, I don't think it makes any difference if > you look for > > if (priv->type == RCAR_R8A7790_ES1_SATA) > ap->flags |= ATA_FLAG_NO_DIPM; > > or > > if (revision_is_rcar2_es1) > ap->flags |= ATA_FLAG_NO_DIPM; > > ? ... so 'git grep "renesas,.*-es[0-9]"' is all you need. 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