Re: Enabling pmbus power control

From: Zev Weiss
Date: Tue Mar 30 2021 - 13:58:03 EST


On Tue, Mar 30, 2021 at 12:42:21PM CDT, Mark Brown wrote:
On Tue, Mar 30, 2021 at 12:19:29PM -0500, Zev Weiss wrote:
On Tue, Mar 30, 2021 at 06:22:54AM CDT, Mark Brown wrote:
> On Tue, Mar 30, 2021 at 03:34:16AM -0700, Guenter Roeck wrote:

> > (and I don't know if the userspace consumer code is appropriate - you
> > might want to check with the regulator maintainer on that).

> It's not, you should never see this in a production system.

Sorry, can you clarify what exactly "this" refers to here?

The userspace consumer.

> I can't really tell what the issue is here without more context, the
> global name list should not be relevant for much in a system that's well
> configured so it sounds like it's user error.

My initial attempt I guess followed the existing ltc2978 code a little too
closely and I ended up with all my lm25066 regulators registered under the
same (static) name, so when I went to attach the reg-userspace-consumer
instances to them by way of that name I got this:

I don't know what you're trying to do or why, nor how you're going about
achieving it so I can't really comment. Like I say anything that's
instantiating a userspace consumer in upstream code is broken, it's
there for test during development of regulator drivers. Whatever device
is supplied by the regulator should have a driver which should control
the regulator at runtime if that is needed.

Okay, to expand a bit on the description in my initial message -- we've
got a single chassis with multiple server boards and a single manager board that handles, among other things, power control for the servers.
The manager board has one LM25066 for each attached server, which acts as the "power switch" for that server. There thus really isn't any driver to speak of for the downstream device.

We need to be able to toggle that power switch from userspace on the manager board, which we could achieve via i2cset, but we don't want to give up the sensors provided by the hwmon driver.

The hardware seems perfectly capable of providing the functionality we need -- is there any way of implementing the requisite kernel support in a way that the relevant subsystem maintainers would find palatable, or is carrying an out-of-tree patch my only option for this?


Thanks,
Zev