devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Marco Felsch <m.felsch@pengutronix.de>,
	puranjay12@gmail.com, lars@metafoo.de, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, linux-iio@vger.kernel.org,
	devicetree@vger.kernel.org, kernel@pengutronix.de
Subject: Re: [PATCH v2 2/4] dt-bindings: iio: ti,tmp117: add binding for the TMP116
Date: Fri, 30 Dec 2022 17:59:21 +0000	[thread overview]
Message-ID: <20221230175921.06e0d4c0@jic23-huawei> (raw)
In-Reply-To: <144609b6-8da2-1a2b-941c-4163d38adab1@linaro.org>

On Tue, 27 Dec 2022 09:40:13 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:

> On 23/12/2022 18:13, Marco Felsch wrote:
> > Hi Jonathan,
> > 
> > On 22-12-23, Jonathan Cameron wrote:  
> >> On Fri, 23 Dec 2022 17:10:51 +0100
> >> Marco Felsch <m.felsch@pengutronix.de> wrote:
> >>  
> >>> On 22-12-23, Jonathan Cameron wrote:  
> >>>> On Fri, 23 Dec 2022 16:03:38 +0100
> >>>> Marco Felsch <m.felsch@pengutronix.de> wrote:
> >>>>     
> >>>>> On 22-12-23, Jonathan Cameron wrote:    
> >>>>>> On Wed, 21 Dec 2022 10:27:59 +0100
> >>>>>> Marco Felsch <m.felsch@pengutronix.de> wrote:
> >>>>>>       
> >>>>>>> The TMP116 is the predecessor of the TMP117.
> >>>>>>>
> >>>>>>> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>      
> >>>>>> I'm not sure this is introducing a valid fallback. The driver changes
> >>>>>> imply some things the tmp117 driver supports, that this device
> >>>>>> does not. A fallback compatible would mean that a new DT
> >>>>>> with an old kernel would load the tmp117 against a tmp116 and
> >>>>>> expect it to fully work.      
> >>>>>
> >>>>> Since driver does all the detection an update of the bindings isn't
> >>>>> really necessary. It is just to have a compatible already in place in
> >>>>> case there a things we can't detected during runtime. This flow is
> >>>>> common for a lot of SoC drivers. The fallback will be used as long as
> >>>>> possible and once a specific feature can't be detected only via the
> >>>>> binding, the driver adds the new binding to it of_compatible.    
> >>>>
> >>>> That's true going forwards and for drivers that introduce a shared
> >>>> generic compatible alongside the initial binding. It can't be easily
> >>>> retrofit.
> >>>>
> >>>> Fallback compatible is also to allow this to work with old kernels    
> 
> Yes, if the devices are compatible, e.g. there is no need to change in
> the driver to support new device.
> 
> If the devices need auto-detection and are compatible in an auto-detect
> way, then I don't think we have such goal.
> 
> >>>
> >>> What this small series does is adding the support for the chip. So the
> >>> support starts with the kernel version which includes these patches. Why
> >>> do you assume that one expect to have a proper support with an older
> >>> kernel? I fully get the point that driver needs to deal with older
> >>> device-tree's but having using a newer device-tree's (fw) on older
> >>> kernels and expecting that older kernels does support the chip is a bit
> >>> odd to me.  
> >>
> >> Probably need the DT maintainers to offer the opinion on this as we
> >> disagree on how fallback compatibles are supposed to work.
> >> I'll accept whatever they say on this point (I've been persuaded
> >> into a more relaxed stance in the past on this).  
> 
> DTS can be used outside of kernel - other projects or new DTS with old
> kernel - and the way of working is bound by bindings. Therefore it is
> really good if you use new DTS with older kernel and it works.
> 
> As I said above, for devices that are fully compatible, this should be
> the goal. Many SoC components are like this and we describe them that
> way. However they do not have mostly auto-detection.
> 
> Now for devices which are both:
>  - compatible according to the binding (so the interface is the same,
> stable and handled by Linux),
>  - AND actually significantly different, where the difference is
> recognized by auto-detection,
> the Linux should be reasonable and it might freely choose not to support
> unknown devices.

Ok. In this case my gut feeling would be that a new ID and no fallback
is the best balance.  Ironically if we'd had a binding for the tmp116 first
and fell back to that from the tmp117 we'd probably be fine (just
have fewer features).  I guess nothing stops us documenting that binding
even though the tmp117 is already used to match in Linux.

> 
> You can compare it to the world without DT where everything is
> auto-detectable. The Linux kernel performs auto-detection and based on
> this either works or does not work with the device. But the kernel has
> full discretion to decide about it.
> 
> Users would be happy if kernel would work with unknown, new devices. But
> also users would be unhappy if this damages their system because of e.g.
> wrong voltage.

Agreed - using old code is a nice to have, but not always the best choice.

Jonathan

> 
> Best regards,
> Krzysztof
> 


  reply	other threads:[~2022-12-30 17:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-21  9:27 [PATCH v2 0/4] Add TI TMP116 Support Marco Felsch
2022-12-21  9:27 ` [PATCH v2 1/4] dt-bindings: iio: ti,tmp117: fix documentation link Marco Felsch
2022-12-21  9:27 ` [PATCH v2 2/4] dt-bindings: iio: ti,tmp117: add binding for the TMP116 Marco Felsch
2022-12-21  9:46   ` Krzysztof Kozlowski
2022-12-23 15:08   ` Jonathan Cameron
2022-12-23 15:03     ` Marco Felsch
2022-12-23 15:37       ` Jonathan Cameron
2022-12-23 16:10         ` Marco Felsch
2022-12-23 17:14           ` Jonathan Cameron
2022-12-23 17:13             ` Marco Felsch
2022-12-27  8:40               ` Krzysztof Kozlowski
2022-12-30 17:59                 ` Jonathan Cameron [this message]
2023-01-16  9:23                   ` Marco Felsch
2022-12-21  9:28 ` [PATCH v2 3/4] iio: temperature: tmp117: add TI TMP116 support Marco Felsch
2022-12-23 15:10   ` Jonathan Cameron
2022-12-23 15:07     ` Marco Felsch
2022-12-23 15:39       ` Jonathan Cameron
2022-12-23 16:13         ` Marco Felsch
2022-12-23 17:16           ` Jonathan Cameron
2022-12-27  8:30             ` Krzysztof Kozlowski
2022-12-30 17:55               ` Jonathan Cameron
2022-12-21  9:28 ` [PATCH v2 4/4] iio: temperature: tmp117: cosmetic alignment cleanup Marco Felsch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221230175921.06e0d4c0@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=m.felsch@pengutronix.de \
    --cc=puranjay12@gmail.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).