Re: [PATCH] hwmon: (pmbus/tda38640) Add driver for Infineon TDA38640 Voltage Regulator

From: Krzysztof Kozlowski
Date: Tue Jan 24 2023 - 07:05:35 EST


On 24/01/2023 12:45, Naresh Solanki wrote:
> Hi
>
> On 24-01-2023 04:40 pm, Krzysztof Kozlowski wrote:
>> On 24/01/2023 12:01, Naresh Solanki wrote:
>>> From: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
>>>
>>> Add the pmbus driver for the Infineon TDA38640 voltage regulator.
>>>
>>> Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>
>>> Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx>
>>> ---
>>> .../devicetree/bindings/trivial-devices.yaml | 2 +
>>
>> Split bindings from driver code.
> Sure
>>
>>> drivers/hwmon/pmbus/Kconfig | 16 ++++
>>> drivers/hwmon/pmbus/Makefile | 1 +
>>> drivers/hwmon/pmbus/tda38640.c | 78 +++++++++++++++++++
>>> 4 files changed, 97 insertions(+)
>>> create mode 100644 drivers/hwmon/pmbus/tda38640.c
>>>
>>> diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
>>> index f5c0a6283e61..a28b02036489 100644
>>> --- a/Documentation/devicetree/bindings/trivial-devices.yaml
>>> +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
>>> @@ -141,6 +141,8 @@ properties:
>>> - infineon,slb9645tt
>>> # Infineon SLB9673 I2C TPM 2.0
>>> - infineon,slb9673
>>> + # Infineon TDA38640 Voltage Regulator
>>> + - infineon,tda38640
>>> # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor
>>> - infineon,tlv493d-a1b6
>>> # Infineon Multi-phase Digital VR Controller xdpe11280
>>> diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig
>>> index 30448e049486..9f4bbb9c487a 100644
>>> --- a/drivers/hwmon/pmbus/Kconfig
>>> +++ b/drivers/hwmon/pmbus/Kconfig
>>> @@ -395,6 +395,22 @@ config SENSORS_STPDDC60
>>> This driver can also be built as a module. If so, the module will
>>> be called stpddc60.
>>>
>>> +config SENSORS_TDA38640
>>> + tristate "Infineon TDA38640"
>>> + help
>>> + If you say yes here you get hardware monitoring support for Infineon
>>> + TDA38640.
>>> +
>>> + This driver can also be built as a module. If so, the module will
>>> + be called tda38640.
>>> +
>>> +config SENSORS_TDA38640_REGULATOR
>>> + bool "Regulator support for TDA38640 and compatibles"
>>> + depends on SENSORS_TDA38640 && REGULATOR
>>> + help
>>> + If you say yes here you get regulator support for Infineon
>>> + TDA38640 as regulator.
>>
>> Drop entire option, why is it needed?
> You mean regulator option ?
> This is how other pmbus regulator devices have provided option.

Hmmm... I wonder why this is of any use.

>>
>>> +
>>> config SENSORS_TPS40422
>>> tristate "TI TPS40422"
>>> help

(...)

>>
>>> +static const struct of_device_id tda38640_of_match[] = {
>>> + { .compatible = "infineon,tda38640"},
>>> + { },
>>> +};
>>> +MODULE_DEVICE_TABLE(of, tda38640_of_match);
>>
>> Where is it used? You miss the user.
> I'm not sure if I get your question right.
> This chip is used in sbp1 board to power CPU rails.

No, where is the data structure used (except module autoloading)?

Best regards,
Krzysztof