Shawn,

I was mainly surprised because a conversation I had with Guenter, if I remember correctly, suggested that /dev/i2c calls from user space work with hwmon, because hwmon does not lock the i2c except when using it.

So I assumed that in this case, it was the polling of hwmon that was just keeping it locked enough to conflict with phosphor-regulators and then it gives up.

I could just not use hwmon at all use phosphor-regulators for all telemetry, but this seemed like more work.

Also, I will need to figure out how to connect phosphor-regulators telemetry to Redfish and the WebUI. Are there examples of how to do that?

Mike

On Feb 11, 2022, at 8:32 AM, Shawn McCarney <shawnmm@linux.ibm.com> wrote:

On 2/9/2022 4:30 PM, Mike Jones wrote:
The journal shows an I2C error: Device or resource busy.

Does hwmon lock out phosphor-regulators if it uses the same address?

phosphor-regulators currently communicates directly with voltage regulators using i2c-dev; it does not use device drivers.

The reason is that most regulator drivers provide either no or very limited ability to configure regulators.  For the systems I work on, we need to do extensive regulator configuration to fine tune things (output voltage, pgood min/max, timing, etc.)  Redundant phase fault detection is also pretty device-specific and on involves communicating with multiple devices.

I have not tested using phosphor-regulators when a driver is bound to the regulator, but I suspect you may be right.  I assume hwmon is using read sensor data from a driver, and the driver being bound is stopping the phosphor-regulators read from succeeding.

Thanks,

Shawn