[PATCH v3 2/6] PCI: brcmstb: Add control of EP voltage regulators

Mark Brown broonie at kernel.org
Mon Mar 29 18:16:13 BST 2021


On Mon, Mar 29, 2021 at 12:39:50PM -0400, Jim Quinlan wrote:
> On Mon, Mar 29, 2021 at 12:25 PM Mark Brown <broonie at kernel.org>

> > Here you are figuring out a device local supply name...

> > > +     /*
> > > +      * Get the regulators that the EP devianswerces require.  We cannot use
> > > +      * pcie->dev as the device argument in regulator_bulk_get() since
> > > +      * it will not find the regulators.  Instead, use NULL and the
> > > +      * regulators are looked up by their name.
> > > +      */
> > > +     return regulator_bulk_get(NULL, pcie->num_supplies, pcie->supplies);

> > ...and here you are trying to look up that device local name in the
> > global namespace.  That's not going to work well, the global names that
> > supplies are labelled with may be completely different to what the chip
> > designer called them and there could easily be naming collisions between
> > different chips.

> "devm_regulator_bulk_get(pcie->dev, ...)"; is your concern about the
> NULL for the device and if so does this fix it?  If not, what do you
> suggest that I do?

If you use the struct device for the PCIe controller then that's going
to first try the PCIe controller then the global namespace so you still
have all the same problems.  You really need to use the struct device
for the device that is being supplied not some random other struct
device you happened to find in the system.

As I said in my earlier reply I think either the driver core or PCI
needs something like Soundwire has which lets it create struct devices
for things that have been enumerated via software but not enumerated by
hardware and a callback or something which lets those devices take
whatever steps are needed to trigger probe.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210329/b77495b8/attachment.sig>


More information about the linux-arm-kernel mailing list