Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20fcfe17 authored by Guenter Roeck's avatar Guenter Roeck
Browse files

hwmon: (pmbus) Add comments explaining internal driver API return values



Return values for functions reading/writing manufacturer specific registers are
poorly explained. Add comments to improve documentation.

Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
parent 363a12a4
Loading
Loading
Loading
Loading
+16 −2
Original line number Original line Diff line number Diff line
@@ -134,8 +134,16 @@
 * Semantics:
 * Semantics:
 * Virtual registers are all word size.
 * Virtual registers are all word size.
 * READ registers are read-only; writes are either ignored or return an error.
 * READ registers are read-only; writes are either ignored or return an error.
 * RESET registers are read/write. Reading returns zero (used for detection),
 * RESET registers are read/write. Reading reset registers returns zero
 * writing any value causes the associated history to be reset.
 * (used for detection), writing any value causes the associated history to be
 * reset.
 * Virtual registers have to be handled in device specific driver code. Chip
 * driver code returns non-negative register values if a virtual register is
 * supported, or a negative error code if not. The chip driver may return
 * -ENODATA or any other error code in this case, though an error code other
 * than -ENODATA is handled more efficiently and thus preferred. Either case,
 * the calling PMBus core code will abort if the chip driver returns an error
 * code when reading or writing virtual registers.
 */
 */
#define PMBUS_VIRT_BASE			0x100
#define PMBUS_VIRT_BASE			0x100
#define PMBUS_VIRT_READ_TEMP_MIN	(PMBUS_VIRT_BASE + 0)
#define PMBUS_VIRT_READ_TEMP_MIN	(PMBUS_VIRT_BASE + 0)
@@ -320,6 +328,12 @@ struct pmbus_driver_info {
	 * The following functions map manufacturing specific register values
	 * The following functions map manufacturing specific register values
	 * to PMBus standard register values. Specify only if mapping is
	 * to PMBus standard register values. Specify only if mapping is
	 * necessary.
	 * necessary.
	 * Functions return the register value (read) or zero (write) if
	 * successful. A return value of -ENODATA indicates that there is no
	 * manufacturer specific register, but that a standard PMBus register
	 * may exist. Any other negative return value indicates that the
	 * register does not exist, and that no attempt should be made to read
	 * the standard register.
	 */
	 */
	int (*read_byte_data)(struct i2c_client *client, int page, int reg);
	int (*read_byte_data)(struct i2c_client *client, int page, int reg);
	int (*read_word_data)(struct i2c_client *client, int page, int reg);
	int (*read_word_data)(struct i2c_client *client, int page, int reg);