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

Commit 179144a0 authored by Guenter Roeck's avatar Guenter Roeck
Browse files

hwmon: (pmbus) Replace EINVAL return codes with more appropriate errors



EINVAL was over-used in the code. Replace it with more appropriate errors.

Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
Reviewed-by: default avatarRobert Coulson <robert.coulson@ericsson.com>
parent ced29d42
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ static int lm25066_read_word_data(struct i2c_client *client, int page, int reg)
	int ret;

	if (page > 1)
		return -EINVAL;
		return -ENXIO;

	/* Map READ_VAUX into READ_VOUT register on page 1 */
	if (page == 1) {
@@ -85,7 +85,7 @@ static int lm25066_read_word_data(struct i2c_client *client, int page, int reg)
			break;
		default:
			/* No other valid registers on page 1 */
			ret = -EINVAL;
			ret = -ENXIO;
			break;
		}
		goto done;
@@ -138,7 +138,7 @@ static int lm25066_write_word_data(struct i2c_client *client, int page, int reg,
	int ret;

	if (page > 1)
		return -EINVAL;
		return -ENXIO;

	switch (reg) {
	case PMBUS_IIN_OC_WARN_LIMIT:
@@ -164,7 +164,7 @@ static int lm25066_write_word_data(struct i2c_client *client, int page, int reg,
static int lm25066_write_byte(struct i2c_client *client, int page, u8 value)
{
	if (page > 1)
		return -EINVAL;
		return -ENXIO;

	if (page == 0)
		return pmbus_write_byte(client, 0, value);
+2 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ static int max8688_read_word_data(struct i2c_client *client, int page, int reg)
	int ret;

	if (page)
		return -EINVAL;
		return -ENXIO;

	switch (reg) {
	case PMBUS_VIRT_READ_VOUT_MAX:
@@ -102,7 +102,7 @@ static int max8688_read_byte_data(struct i2c_client *client, int page, int reg)
	int mfg_status;

	if (page)
		return -EINVAL;
		return -ENXIO;

	switch (reg) {
	case PMBUS_STATUS_VOUT:
+5 −5
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ int pmbus_set_page(struct i2c_client *client, u8 page)
		rv = i2c_smbus_write_byte_data(client, PMBUS_PAGE, page);
		newpage = i2c_smbus_read_byte_data(client, PMBUS_PAGE);
		if (newpage != page)
			rv = -EINVAL;
			rv = -EIO;
		else
			data->currpage = page;
	}
@@ -229,7 +229,7 @@ static int _pmbus_write_word_data(struct i2c_client *client, int page, int reg,
			return status;
	}
	if (reg >= PMBUS_VIRT_BASE)
		return -EINVAL;
		return -ENXIO;
	return pmbus_write_word_data(client, page, reg, word);
}

@@ -261,7 +261,7 @@ static int _pmbus_read_word_data(struct i2c_client *client, int page, int reg)
			return status;
	}
	if (reg >= PMBUS_VIRT_BASE)
		return -EINVAL;
		return -ENXIO;
	return pmbus_read_word_data(client, page, reg);
}

@@ -320,7 +320,7 @@ static int pmbus_check_status_cml(struct i2c_client *client)
	if (status < 0 || (status & PB_STATUS_CML)) {
		status2 = pmbus_read_byte_data(client, -1, PMBUS_STATUS_CML);
		if (status2 < 0 || (status2 & PB_CML_FAULT_INVALID_COMMAND))
			return -EINVAL;
			return -EIO;
	}
	return 0;
}
@@ -1682,7 +1682,7 @@ int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id,
	if (info->pages <= 0 || info->pages > PMBUS_PAGES) {
		dev_err(&client->dev, "Bad number of PMBus pages: %d\n",
			info->pages);
		ret = -EINVAL;
		ret = -ENODEV;
		goto out_data;
	}

+2 −2
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ static int ucd9000_read_byte_data(struct i2c_client *client, int page, int reg)
	switch (reg) {
	case PMBUS_FAN_CONFIG_12:
		if (page)
			return -EINVAL;
			return -ENXIO;

		ret = ucd9000_get_fan_config(client, 0);
		if (ret < 0)
@@ -89,7 +89,7 @@ static int ucd9000_read_byte_data(struct i2c_client *client, int page, int reg)
		break;
	case PMBUS_FAN_CONFIG_34:
		if (page)
			return -EINVAL;
			return -ENXIO;

		ret = ucd9000_get_fan_config(client, 2);
		if (ret < 0)