Ahoy hwmon maintainers,

In studying up for some OpenBmc work, I have encountered a family of
parts for which the generic pmbus drivers will work, except that their
initial configuration silently ignores CLEAR_FAULTS.

So I'm sending this email for comments on top-level design for most useful fix.

There are two classes of fix, and in general, both could be valuable:
a) Set PMBUS_SKIP_STATUS_CHECK flag
 - caveat: parts must generate I/O errors for unused functions in that case.
b) Preconfigure device to enable CLEAR_FAULTS
 - caveats: must happen before register checks, affects state of device

Either can be accomplished in a special driver, but everything else
matches generic pmbus. Moreover, each could be supported with minor
adjustments to the generic driver and/or core.

Conceptually simplest version of (a):
. In pmbus.c, add a new generic compatibility string such as
"pmbus-skipstatuscheck"
. Set the platform flag when that name is used (perhaps as 3rd parameter)

Generic driver logic for (b) would be analogous, but would touch
device, not just platform flags.

As a variation on (a), I have tested a patch to pmbus_core.c register
check logic that rechecks CML after the following CLEAR_FAULTS, and
sets PMBUS_SKIP_STATUS_CHECK only when it determines CML can't be
cleared.

Most platforms can accomplish (b) by scripting reconfiguration and
probe in startup. But this is a device quirk, so it seems simplest to
solve it by device.

Let loose the hounds!
 -- peterh
--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to