Re: [PATCH v5 1/2] dt-bindings: regulator: add support for MT6392

From: Fabien Parent
Date: Mon Oct 26 2020 - 14:38:32 EST


Hi Mark,

On Mon, Oct 26, 2020 at 6:24 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> On Mon, Oct 26, 2020 at 06:18:35PM +0100, Fabien Parent wrote:
> > On Mon, Oct 26, 2020 at 1:13 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> > > On Sat, Oct 24, 2020 at 10:03:03PM +0200, Fabien Parent wrote:
>
> > > > +Required properties:
> > > > +- compatible: "mediatek,mt6392-regulator"
>
> > > This is no longer used by the driver, should be unneeded and therefore
> > > should be removed.
>
> > It is not used by the driver but it will be used by the MFD driver [0]
> > like this:
> > static const struct mfd_cell mt6392_devs[] = {
> > {
> > [snip]
> > }, {
> > [snip]
> > }, {
> > .name = "mt6392-regulator",
> > .of_compatible = "mediatek,mt6392-regulator"
>
> This is still unneeded, it's just a reflection of Linux implementation
> details and should be removed. The MFD can just register the child
> without supplying a compatible and things will continue to work just as
> well.

I'm not exactly sure how it is supposed to work. mfd_add_devices seems
to register devices based on of_compatible or acpi_match from the
mfd_cell. This platform does not have ACPI so I don't understand how
the regulator driver would probe without this line. Anyway I tried to
remove the lines below in the MFD driver and the device tree and the
boot of the board failed because the regulator driver didn't probe.
Any help to get me understand how it should work without this line
would be helpful, thanks.


regulators {
- compatible = "mediatek,mt6392-regulator";
-
mt6392_vproc_reg: buck-vproc {


@@ -135,7 +135,6 @@ static const struct mfd_cell mt6392_devs[] = {
.of_compatible = "mediatek,mt6392-keys"
}, {
.name = "mt6392-regulator",
- .of_compatible = "mediatek,mt6392-regulator"
}, {