[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <66063382-78c6-4d93-be25-46e972e390f4@baylibre.com>
Date: Sat, 16 Aug 2025 13:55:31 -0500
From: David Lechner <dlechner@...libre.com>
To: Jonathan Cameron <jic23@...nel.org>, Ben Collins <bcollins@...ter.com>
Cc: Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Andrew Hepp <andrew.hepp@...pp.dev>,
linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/5] dt-bindings: iio: mcp9600: Add compatible for
microchip,mcp9601
On 8/16/25 4:58 AM, Jonathan Cameron wrote:
> On Fri, 15 Aug 2025 16:46:03 +0000
> Ben Collins <bcollins@...ter.com> wrote:
>
>> The mcp9600 driver supports the mcp9601 chip, but complains about not
>> recognizing the device id on probe. A separate patch...
>>
>> iio: mcp9600: Recognize chip id for mcp9601
>>
>> ...addresses this. This patch updates the dt-bindings for this chip to
>> reflect the change to allow explicitly setting microchip,mcp9601 as
>> the expected chip type.
>>
>> The mcp9601 also supports features not found on the mcp9600, so this
>> will also allow the driver to differentiate the support of these
>> features.
>
> If it's additional features only then you can still use a fallback
> compatible. Intent being that a new DT vs old kernel still 'works'.
>
> Then for the driver on new kernels we match on the new compatible and
> support those new features. Old kernel users get to keep the ID
> mismatch warning - they can upgrade if they want that to go away ;)
>
> Krzysztof raised the same point on v2 but I'm not seeing it addressed
> in that discussion.
One could make the argument that these are not entirely fallback
compatible since bit 4 of the STATUS register has a different
meaning depending on if the chip is MCP9601/L01/RL01 or not.
Interestingly, the existing bindings include interrupts for
open circuit and short circuit alert pins. But these pins
also only exist on MCP9601/L01/RL01. If we decide these aren't
fallback compatible, then those properties should have the
proper constraints added as well.
>
> Jonathan
>
>>
>> Signed-off-by: Ben Collins <bcollins@...ter.com>
>> ---
>> .../bindings/iio/temperature/microchip,mcp9600.yaml | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>> index d2cafa38a5442..d8af0912ce886 100644
>> --- a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>> +++ b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>> @@ -4,7 +4,7 @@
>> $id: http://devicetree.org/schemas/iio/temperature/microchip,mcp9600.yaml#
>> $schema: http://devicetree.org/meta-schemas/core.yaml#
>>
>> -title: Microchip MCP9600 thermocouple EMF converter
>> +title: Microchip MCP9600 and similar thermocouple EMF converters
>>
>> maintainers:
>> - Andrew Hepp <andrew.hepp@...pp.dev>
>> @@ -14,7 +14,9 @@ description:
>>
>> properties:
>> compatible:
>> - const: microchip,mcp9600
>> + enum:
>> + - microchip,mcp9600
>> + - microchip,mcp9601
>>
>> reg:
>> maxItems: 1
>
Powered by blists - more mailing lists