Commit 2b3d0c19 authored by Yi Li's avatar Yi Li Committed by Guenter Roeck
Browse files

hwmon: (adm1275) Enable adm1278 VOUT sampling



The adm1278 can optionally monitor the VOUT pin. This functionality is
not enabled at reset, so PMON_CONFIG needs to be modified in order to
enable it.

Signed-off-by: default avatarYi Li <adamliyi@msn.com>
Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent aaf6fabf
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -499,15 +499,27 @@ static int adm1275_probe(struct i2c_client *client,
		pindex = 2;
		tindex = 3;

		info->func[0] |= PMBUS_HAVE_PIN | PMBUS_HAVE_STATUS_INPUT;
		info->func[0] |= PMBUS_HAVE_PIN | PMBUS_HAVE_STATUS_INPUT |
			PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT;

		/* Enable VOUT if not enabled (it is disabled by default) */
		if (!(config & ADM1278_VOUT_EN)) {
			config |= ADM1278_VOUT_EN;
			ret = i2c_smbus_write_byte_data(client,
							ADM1275_PMON_CONFIG,
							config);
			if (ret < 0) {
				dev_err(&client->dev,
					"Failed to enable VOUT monitoring\n");
				return -ENODEV;
			}
		}

		if (config & ADM1278_TEMP1_EN)
			info->func[0] |=
				PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP;
		if (config & ADM1278_VIN_EN)
			info->func[0] |= PMBUS_HAVE_VIN;
		if (config & ADM1278_VOUT_EN)
			info->func[0] |=
				PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT;
		break;
	case adm1293:
	case adm1294: