Re: [PATCH 1/2] dt-bindings: mfd: Add ROHM BD71879

From: Matti Vaittinen
Date: Fri Apr 05 2024 - 02:01:36 EST


On 4/4/24 15:04, Krzysztof Kozlowski wrote:
On 04/04/2024 12:30, Andreas Kemnade wrote:
On Thu, 4 Apr 2024 08:59:54 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:

On 02/04/2024 21:35, Andreas Kemnade wrote:
As this chip was seen in several devices in the wild, add it.

Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
Suggested-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
---
Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
index 0b62f854bf6b..e4df09e8961c 100644
--- a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
@@ -17,7 +17,9 @@ description: |
properties:
compatible:
- const: rohm,bd71828
+ enum:
+ - rohm,bd71828
+ - rohm,bd71879

In your second commit you claim they are compatible, so why they are not
marked as such?

so you mean allowing

compatible = "rohm,bd71828"
and
compatible = "rohm,bd71879", "rohm,bd71828"


This makes me slightly nervous. It wouldn't be the first time when I've been told "they are similar", and later the reality has turned out to be "they are similar, except...". Furthermore, even if these devices seem similar to software (which is what the comment in the MFD driver is referring to), it does not mean these devices are 100% electrically compatible so that they could be used as a "drop-in" replacement to each others. I wouldn't guarantee that.

Furthermore, my current understanding is that the BD71828 was a model that was used for a limited purposes. So, maybe creating an dt-entry like:
compatible = "rohm,bd71879", "rohm,bd71828"

might not prove to be too useful. (But I'm not 100% certain on this).

Yes. If there are reasons against, please briefly mention them in commit
msg.

I would like to understand the rationale for allowing:
compatible = "rohm,bd71879", "rohm,bd71828".

Is the intention to:
1) allow boards which tell the software that "the hardware may be bd71828 or bd71879", or
2) to tell a binding reader that these ICs are likely to be usable as replacements to each others?
(Or, is there some other rationale beyond these?)

If it's 1), then I see limited sense in doing so, while I expect that not so many bd71828 variants will be seen out there - and at least not in that many different products. If it's the 2), then I wouldn't say we have the facts to do this.
And, as always, if there is 3), 4), ... - I am keen to learn :)

Yours,
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~