Hi Geert,
On 01.06.2016 10:26, Geert Uytterhoeven wrote:
Hi Dirk,
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?
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;
?
Best regards
Dirk