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

From: Baolin Wang
Date: Tue Apr 28 2020 - 04:41:57 EST


On Tue, Apr 28, 2020 at 4:19 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote:
>
> 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.

OK, thanks for sharing your opinion. Let's see what Arnd's opinion
before I send out new version.

--
Baolin Wang