hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/iio/dac/mcp4725.c
....@@ -47,12 +47,18 @@
4747 struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
4848 to_i2c_client(dev)));
4949 u8 outbuf[2];
50
+ int ret;
5051
5152 outbuf[0] = (data->powerdown_mode + 1) << 4;
5253 outbuf[1] = 0;
5354 data->powerdown = true;
5455
55
- return i2c_master_send(data->client, outbuf, 2);
56
+ ret = i2c_master_send(data->client, outbuf, 2);
57
+ if (ret < 0)
58
+ return ret;
59
+ else if (ret != 2)
60
+ return -EIO;
61
+ return 0;
5662 }
5763
5864 static int __maybe_unused mcp4725_resume(struct device *dev)
....@@ -60,13 +66,19 @@
6066 struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
6167 to_i2c_client(dev)));
6268 u8 outbuf[2];
69
+ int ret;
6370
6471 /* restore previous DAC value */
6572 outbuf[0] = (data->dac_value >> 8) & 0xf;
6673 outbuf[1] = data->dac_value & 0xff;
6774 data->powerdown = false;
6875
69
- return i2c_master_send(data->client, outbuf, 2);
76
+ ret = i2c_master_send(data->client, outbuf, 2);
77
+ if (ret < 0)
78
+ return ret;
79
+ else if (ret != 2)
80
+ return -EIO;
81
+ return 0;
7082 }
7183 static SIMPLE_DEV_PM_OPS(mcp4725_pm_ops, mcp4725_suspend, mcp4725_resume);
7284