Commit 807e315b authored by Guenter Roeck's avatar Guenter Roeck
Browse files

hwmon: (ina238) Support active-high alert polarity



All chips supported by this driver support configurable active-high
alert priority. This is already documented in the devicetree description.
Add support for it to the driver.

Reviewed-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz> # INA780
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent cc67b875
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@
#define INA238_ADC_CONFIG_DEFAULT	0xfb6a
/* Configure alerts to be based on averaged value (SLOWALERT) */
#define INA238_DIAG_ALERT_DEFAULT	0x2000
#define INA238_DIAG_ALERT_APOL		BIT(12)
/*
 * This driver uses a fixed calibration value in order to scale current/power
 * based on a fixed shunt resistor value. This allows for conversion within the
@@ -793,8 +794,11 @@ static int ina238_probe(struct i2c_client *client)
	}

	/* Setup alert/alarm configuration */
	ret = regmap_write(data->regmap, INA238_DIAG_ALERT,
			   INA238_DIAG_ALERT_DEFAULT);
	config = INA238_DIAG_ALERT_DEFAULT;
	if (device_property_read_bool(dev, "ti,alert-polarity-active-high"))
		config |= INA238_DIAG_ALERT_APOL;

	ret = regmap_write(data->regmap, INA238_DIAG_ALERT, config);
	if (ret < 0) {
		dev_err(dev, "error configuring the device: %d\n", ret);
		return -ENODEV;