Enabling pmbus power control

Zev Weiss zev at bewilderbeest.net
Wed Mar 31 04:56:56 AEDT 2021


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



More information about the openbmc mailing list