On Tue, May 22, 2018 at 12:18 PM, Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx> wrote: > On 5/22/2018 9:42 AM, Rob Herring wrote: >> >> On Mon, May 21, 2018 at 12:59:05PM -0700, Jae Hyun Yoo wrote: >>> >>> This commit adds dt-bindings documents for PECI hwmon client drivers. >>> >>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@xxxxxxxxxxxxxxx> >>> Reviewed-by: Haiyue Wang <haiyue.wang@xxxxxxxxxxxxxxx> >>> Reviewed-by: James Feist <james.feist@xxxxxxxxxxxxxxx> >>> Reviewed-by: Vernon Mauery <vernon.mauery@xxxxxxxxxxxxxxx> >>> Cc: Andrew Jeffery <andrew@xxxxxxxx> >>> Cc: Arnd Bergmann <arnd@xxxxxxxx> >>> Cc: Jason M Biils <jason.m.bills@xxxxxxxxxxxxxxx> >>> Cc: Joel Stanley <joel@xxxxxxxxx> >>> --- >>> .../bindings/hwmon/peci-cputemp.txt | 23 ++++++++++++++++++ >>> .../bindings/hwmon/peci-dimmtemp.txt | 24 +++++++++++++++++++ >>> 2 files changed, 47 insertions(+) >>> create mode 100644 >>> Documentation/devicetree/bindings/hwmon/peci-cputemp.txt >>> create mode 100644 >>> Documentation/devicetree/bindings/hwmon/peci-dimmtemp.txt >>> >>> diff --git a/Documentation/devicetree/bindings/hwmon/peci-cputemp.txt >>> b/Documentation/devicetree/bindings/hwmon/peci-cputemp.txt >>> new file mode 100644 >>> index 000000000000..2f59aee12d9e >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/hwmon/peci-cputemp.txt >>> @@ -0,0 +1,23 @@ >>> +Bindings for Intel PECI (Platform Environment Control Interface) cputemp >>> driver. >>> + >>> +Required properties: >>> +- compatible : Should be "intel,peci-cputemp". >>> +- reg : Should contain address of a client CPU. Address range of >>> CPU >>> + clients is starting from 0x30 based on PECI specification. >>> + >>> +Example: >>> + peci-bus@0 { >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + < more properties > >>> + >>> + peci-cputemp@30 { >>> + compatible = "intel,peci-cputemp"; >>> + reg = <0x30>; >>> + }; >> >> >> [...] >> >>> + peci-dimmtemp@30 { >>> + compatible = "intel,peci-dimmtemp"; >>> + reg = <0x30>; >>> + }; >> >> >> As I said in the prior version, 2 nodes at the same address is wrong. >> >> Rob >> > > In PECI bus, there is one and only bus host (adapter) and multiple > clients on a PECI bus, and PECI spec doesn't allow multiple originators > so only the host device can originate message. Yes, I get that. A single host still has to address slave devices. > In this implementation, > all message transactions on a bus from client driver modules and user > space will be serialized well in the PECI core bus driver so bus > occupation and traffic arbitration will be managed well in the PECI core > bus driver even in case of a bus has 2 client drivers at the same > address. I'm sure that this implementation doesn't make that kind of > problem to OS. Multiple clients to a single device is common, but that is a software problem and doesn't belong in DT. I don't think there is a single other case in the kernel where multiple drivers can bind to the same device at a given bus address. That is why we have things like MFD. Though in this case, why can't one hwmon driver register multiple hwmon devices (cpu and dimm temps)? Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html