Hi, On 5/6/21 11:23 AM, Andy Shevchenko wrote: > On Thu, May 6, 2021 at 11:48 AM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: >> I'm replying here since this series has no cover-letter, for >> the next version for a series touching so many different >> sub-systems it would be good to start with a cover-letter >> providing some background info on the series. >> >> I see this is binding to an ACPI device, yet it is also using >> devicetree bindings and properties. >> >> So I take it this means that your ACPI tables are using the >> optional capability of embedded device-tree blobs inside the >> ACPI tables ? >> >> That is an unusual combination on a x86 device, note it is >> not wrong > > It's actually not okay. We have agreed at some point with DT people, > that ACPI should not use non-native variants of natively supported > things. For example, it shouldn't use "interrupt" property for IOxAPIC > (or xIC) provided interrupts, rather Interrupt() has to be used and so > on. Right, but that is not the case here, they are using 2 device-tree properties (1), from patch 3/7: +properties: + compatible: + const: advantech,ahc1ec0 + + advantech,hwmon-profile: + description: + The number of sub-devices specified in the platform. Defines for the + hwmon profiles can found in dt-bindings/mfd/ahc1ec0-dt. + $ref: /schemas/types.yaml#/definitions/uint32 + maxItems: 1 + + advantech,has-watchdog: + description: + Some implementations of the EC include a watchdog used to monitor the + system. This boolean flag is used to specify whether this watchdog is + present or not. Default is true, otherwise set to false. + type: boolean >> but AFAIK you are the first to do this on x86. > > No, not the first. Once Intel tried to invent the pin control > configuration and muxing properties in ACPI, it was luckily rejected > (ACPI 6.x OTOH provides a set of special resources for that). > > So, NAK from me, *if* it's really the case. ACPI tables must be revisited. AFAIK Advantech are not defining things for which an ACPI standard exists, although these 2 properties might just as well may be 2 simple ACPI integer methods, which would actually make things a bit simpler (.e.g it would allow dropping patch 2/7 and 3/7 from the set). Campion, any reason why you went this route; and can the ACPI tables still be changed? Regards, Hans