On Tue Aug 25 2020, Andrew Lunn wrote:
I agree with the check here. The question is about the compatible
string. Should there be a more specific compatible string as well as
the generic one?
There have been a few discussions about how the Marvell DSA driver
does its compatible string. The compatible string tells you where to
find the ID register, not what value to expect in the ID register. The
ID register can currently be in one of three different locations. Do
all current and future Hellcreak devices have the same value for
HR_MODID_C? If not, now is a good time to add a more specific
compatible string to tell you where to find the ID register.
quoted
My plan was to extend this when I have access to other
revisions. There will be a SPI variant as well. But, I didn't want to
implement it without the ability to test it.
Does the SPI variant use the same value for HR_MODID_C? Maybe you
need a different compatible, maybe not, depending on how the driver is
structured.
The compatible string is part of the ABI. So thinking about it a bit
now can make things easier later. I just want to make sure you have
thought about this.
I totally agree. The Marvell solution seems to work. For all current
devices the module ID is located at 0x00. Depending on the chip ID the
different properties can be configured later. The SPI variant will have
a different module ID. Anyhow, I'll ask how this will be handled for
future devices and in general.
Thanks,
Kurt