On Tue, May 22, 2018 at 12:18 PM, Jae Hyun Yoo
<[email protected]> 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 <[email protected]>
>>> Reviewed-by: Haiyue Wang <[email protected]>
>>> Reviewed-by: James Feist <[email protected]>
>>> Reviewed-by: Vernon Mauery <[email protected]>
>>> Cc: Andrew Jeffery <[email protected]>
>>> Cc: Arnd Bergmann <[email protected]>
>>> Cc: Jason M Biils <[email protected]>
>>> Cc: Joel Stanley <[email protected]>
>>> ---
>>>   .../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

Reply via email to