From: Mark Rutland <mark.rutland@arm.com>
To: Alexander Shiyan <shc_work@mail.ru>
Cc: Arnd Bergmann <arnd@arndb.de>,
"linux-pwm@vger.kernel.org" <linux-pwm@vger.kernel.org>,
Thierry Reding <thierry.reding@gmail.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <Pawel.Moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
"grant.likely@linaro.org" <grant.likely@linaro.org>
Subject: Re: [PATCH v2 RESEND] pwm: Add CLPS711X PWM support
Date: Thu, 27 Feb 2014 10:27:09 +0000 [thread overview]
Message-ID: <20140227102709.GD6945@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <1393433446.816907298@f337.i.mail.ru>
On Wed, Feb 26, 2014 at 04:50:46PM +0000, Alexander Shiyan wrote:
> Hello.
>
> Среда, 26 февраля 2014, 16:00 UTC от Mark Rutland <mark.rutland@arm.com>:
> > On Tue, Feb 25, 2014 at 03:50:32PM +0000, Arnd Bergmann wrote:
> > > On Tuesday 25 February 2014 19:47:57 Alexander Shiyan wrote:
> > > > Вторник, 25 февраля 2014, 16:33 +01:00 от Arnd Bergmann <arnd@arndb.de>:
> > > > > On Tuesday 25 February 2014 19:27:47 Alexander Shiyan wrote:
> > > => >
> > > > > We really want to avoid wildcards in compatible strings. Can you call this
> > > > > "cirrus,cs89712-pwm" to match the first SoC that came with this hardware?
> > > > > Obviously if there was some chip before that (I'm not familiar with the
> > > > > model numbers), use that instead.
> > > > >
> > > > > You can either list all chips you know that have this in the driver,
> > > > > or you use "cirrus,cs89712-pwm" as the fallback, and use the name of
> > > > > the SoC you have as the more specific string.
> > > >
> > > > It seems that in this case we will need to modify the compatibility string
> > > > for other drivers that are already available in the kernel...
> > >
> > > Ah, right. I missed the binding for gpio and serial going in.
> > >
> > > DT maintainers, any suggestion on how we should proceed here?
> > >
> > > AFAICT, clps711x platform support is still work-in-progress, so we don't
> > > have any upstream users to worry about yet, but changing them is still
> > > going to be slightly messy.
> >
> > When allocating any new compatible strings, as Arnd says, we should
> > avoid wildcards as they're usually far too encompassing and end up
> > causing more trouble than they're worth.
> >
> > In this case how problematic are the wildcard strings?
> >
> > I assume we still have specific strings earlier in any compatible list
> > in any case? If not, and there are possible differences, that should be
> > fixed right away.
> >
> > We have a few options:
> >
> > a) Update the docs only.
> >
> > Note in the docs that "cirrus,clps711x-$UNIT" means anything
> > compatible with the $UNIT in the cs89712. This may be
> > counter-intuitive, and if a new clps711x platform comes out with an
> > incompatible $UNIT it should omit "cirrus,clps711x-$UNIT" from its
> > compatible list, but otherwise no harm done.
> >
> > b) Deprecate the existing string.
> >
> > Add "cirrus,cs89712-$UNIT" to the binding docs and driver. Mark
> > "cirrus,clps711x-$UNIT" as deprecated in the binding document.
> > Replace "cirrus,clps711x-$UNIT" with "cirrus,cs89712-$UNIT" in all
> > DTs.
> >
> > This will mean new DTBs won't work with an older kernel, but as
> > support is a work in progress that might not matter. Old DTBs will
> > continue to function.
> >
> > Iff you can guarantee that the old string is not possibly being used
> > by anyone, it can be dropped from the driver. If not it has to remain
> > (though can be commented to be deprecated), so that old DTBs
> > function. It's probably best to leave it there.
> >
> > c) Deprecate, maintaining (forwards) compatibility.
> >
> > As above, but rather than replacing "cirrus,clps711x-$UNIT" with
> > "cirrus,cs89712-$UNIT" in DTs, place "cirrus,cs89712-$UNIT" before
> > "cirrus,clps711x-$UNIT" in DTs. This allows new DTBs to work with
> > older kernels too. Depending on what level of support you have in
> > mainline currently this may or may not be an important consideration.
>
> If I understood correctly, in the variant "a", we change nothing.
> Ie compatibility string is a global to entire platform, and in case of any
> CPU differences, we simply add the additional compatibility string fully
> meets the CPU name, for example for Cirrus Logic EP7312 this will be
> like: "cirrus,ep7312-hw", "cirrus,clps711x-hw".
> Correct?
That depends. Option a still requires that we give a definite meaning to
"cirrus,clps711x-$UNIT" to mean compatible with the unit on the cs89712.
If a new unit is compatible with this, then it can have
"cirrus,clps711x-$UNIT" as a fallback in its compatible list.
If a new unit is not compatible and must be handled differently, then it
should not have "cirrus,clps711x-$UNIT" in its compatible list.
The naming you suggest for "cirrus,ep7312-$UNIT" seems sensible in
either case.
Cheers,
Mark.
next prev parent reply other threads:[~2014-02-27 10:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-25 15:27 [PATCH v2 RESEND] pwm: Add CLPS711X PWM support Alexander Shiyan
[not found] ` <1393342067-9086-1-git-send-email-shc_work-JGs/UdohzUI@public.gmane.org>
2014-02-25 15:33 ` Arnd Bergmann
2014-02-25 15:47 ` Alexander Shiyan
2014-02-25 15:50 ` Arnd Bergmann
2014-02-26 16:00 ` Mark Rutland
2014-02-26 16:50 ` Alexander Shiyan
2014-02-27 10:27 ` Mark Rutland [this message]
2014-03-01 6:06 ` Alexander Shiyan
2014-03-01 11:40 ` Arnd Bergmann
2014-03-01 13:56 ` Alexander Shiyan
-- strict thread matches above, loose matches on Subject: below --
2014-02-05 15:22 Alexander Shiyan
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=20140227102709.GD6945@e106331-lin.cambridge.arm.com \
--to=mark.rutland@arm.com \
--cc=Pawel.Moll@arm.com \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-pwm@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=shc_work@mail.ru \
--cc=thierry.reding@gmail.com \
/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).