diff options
author | David Heidelberg <david@ixit.cz> | 2025-03-19 21:59:46 +0100 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2025-04-22 19:09:53 +0100 |
commit | 2eaf77b4645ef43f8ad04bfefb9275c45eabada4 (patch) | |
tree | 0385634472237725efb17250f0ab75c237d5b0cb | |
parent | 26763a34812b38cdffbd8567f90c8b8c673fadda (diff) |
iio: light: al3010: Split set_pwr function into set_pwr_on and _off
Simplifies later conversion to the regmap framework.
Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://patch.msgid.link/20250319-al3010-iio-regmap-v2-7-1310729d0543@ixit.cz
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r-- | drivers/iio/light/al3010.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/iio/light/al3010.c b/drivers/iio/light/al3010.c index c8f528f3636a..8c004a9239ae 100644 --- a/drivers/iio/light/al3010.c +++ b/drivers/iio/light/al3010.c @@ -67,24 +67,25 @@ static const struct attribute_group al3010_attribute_group = { .attrs = al3010_attributes, }; -static int al3010_set_pwr(struct i2c_client *client, bool pwr) +static int al3010_set_pwr_on(struct i2c_client *client) { - u8 val = pwr ? AL3010_CONFIG_ENABLE : AL3010_CONFIG_DISABLE; - return i2c_smbus_write_byte_data(client, AL3010_REG_SYSTEM, val); + return i2c_smbus_write_byte_data(client, AL3010_REG_SYSTEM, + AL3010_CONFIG_ENABLE); } static void al3010_set_pwr_off(void *_data) { struct al3010_data *data = _data; - al3010_set_pwr(data->client, false); + i2c_smbus_write_byte_data(data->client, AL3010_REG_SYSTEM, + AL3010_CONFIG_DISABLE); } static int al3010_init(struct al3010_data *data) { int ret; - ret = al3010_set_pwr(data->client, true); + ret = al3010_set_pwr_on(data->client); if (ret < 0) return ret; @@ -199,12 +200,15 @@ static int al3010_probe(struct i2c_client *client) static int al3010_suspend(struct device *dev) { - return al3010_set_pwr(to_i2c_client(dev), false); + struct al3010_data *data = iio_priv(dev_get_drvdata(dev)); + + al3010_set_pwr_off(data); + return 0; } static int al3010_resume(struct device *dev) { - return al3010_set_pwr(to_i2c_client(dev), true); + return al3010_set_pwr_on(to_i2c_client(dev)); } static DEFINE_SIMPLE_DEV_PM_OPS(al3010_pm_ops, al3010_suspend, al3010_resume); |