On Wednesday 05 November 2014 20:32:45 al.stone@linaro.org wrote:
From: Tom Lendacky thomas.lendacky@amd.com
This patch provides ACPI support for the AMD 10GbE device driver and AMD 10GbE phy driver.
Signed-off-by: Tom Lendacky thomas.lendacky@amd.com
I'm worried about the definition of the binding for the ACPI properties for this one, we really need to discuss how this is supposed to look like, in a larger forum than this mailing list.
What the driver does at the moment is:
- Use the _DSD definition with the DT properties extension to pass data for ACPI based systems. - identify the device as "AMDI8000" on ACPI, and using a compatible string when booting with DT - have some shared properties (phy-mode, mac-address, possibly others) - use the phy and clk binding on DT, but use undocumented properties on ACPI - use the low-level DT and ACPI property accessors, not the generalized device accessors, keeping the two code paths separate in all cases.
Lack of interface documentation is definitely a problem, and that's easy enough to solve. The part that I personally think we should avoid is having partially compatible bindings. Instead we should do one of two things:
a) keep the bindings completely separate, using a binary representation for the ACPI interface that uses normal ACPI tables, whatever they would be, instead of the _DSD named properties.
b) extend the DT binding to describe the superset, use the _PRP0001 ACPI type and use a common implementation with the new device properties API, without the driver having to know where the data comes from. This approach first needs consensus on whether we want to use the DT named properties on ACPI based ARM64 servers or not.
Arnd