Re: [PATCH v3] mfd: syscon: Add Spreadtrum physical regmap bus support

From: Lee Jones
Date: Tue Apr 28 2020 - 04:19:14 EST


On Tue, 28 Apr 2020, Baolin Wang wrote:

> On Tue, Apr 28, 2020 at 3:14 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote:
> >
> > On Tue, 28 Apr 2020, Baolin Wang wrote:
> >
> > > On Mon, Apr 27, 2020 at 5:05 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote:
> > > >
> > > > On Mon, 27 Apr 2020, Baolin Wang wrote:
> > > >
> > > > > Hi Arnd and Lee,
> > > > >
> > > > > On Tue, Apr 21, 2020 at 10:13 PM Baolin Wang <baolin.wang7@xxxxxxxxx> wrote:
> > > > > >
> > > > > > Some platforms such as Spreadtrum platform, define a special method to
> > > > > > update bits of the registers instead of read-modify-write, which means
> > > > > > we should use a physical regmap bus to define the reg_update_bits()
> > > > > > operation instead of the MMIO regmap bus. Thus we can register a new
> > > > > > physical regmap bus into syscon core to support this.
> > > > > >
> > > > > > Signed-off-by: Baolin Wang <baolin.wang7@xxxxxxxxx>
> > > > >
> > > > > Do you have any comments for this patch? Thanks.
> > > >
> > > > Yes. I'm not accepting it, sorry.
> > > >
> > > > I'd rather you duplicate the things you need from of_syscon_register()
> > > > in your own driver than taint this one.
> > >
> > > Thanks for your comments and I can understand your concern. But we
> > > still want to use the standard syscon APIs in syscon.c, which means we
> > > still need insert an callback or registration or other similar methods
> > > to support vendor specific regmap bus. Otherwise we should invent some
> > > similar syscon APIs in our vendor syscon driver, like
> > > sprd_syscon_regmap_lookup_by_phandle/sprd_syscon_regmap_lookup_by_compatible.
> >
> > So long as the generic driver stays generic. Providing a registration
> > function sounds cleaner than tainting the code with vendor specifics.
>
> So seems my V1 patch set [1] was on the direction as you suggested,
> but Arnd did not like that.
>
> [1]
> https://lore.kernel.org/patchwork/patch/1226161/
> https://lore.kernel.org/patchwork/patch/1226162/

I don't often disagree with Arnd, but in this instance I think a
registration function which allows vendor spin-offs to use the generic
API is better than tainting the generic driver by adding vendor
specific #ifery/code to it.

Your original idea seems more palatable to me.

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog