From: David Heidelberg Date: Wed, 19 Mar 2025 20:59:46 +0000 (+0100) Subject: iio: light: al3010: Split set_pwr function into set_pwr_on and _off X-Git-Tag: v6.16-rc1~30^2~4^2~218 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=2eaf77b4645ef43f8ad04bfefb9275c45eabada4;p=linux-block.git 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 Link: https://patch.msgid.link/20250319-al3010-iio-regmap-v2-7-1310729d0543@ixit.cz Signed-off-by: Jonathan Cameron --- 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);