Re: [PATCH v3 2/3] iio: light: Add support for AL3000a illuminance sensor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Feb 16, 2025 at 06:27:20PM +0200, Svyatoslav Ryhel wrote:
> AL3000a is a simple I2C-based ambient light sensor, which is
> closely related to AL3010 and AL3320a, but has significantly
> different way of processing data generated by the sensor.

...

> +static int al3000a_set_pwr_on(struct al3000a_data *data)
> +{
> +	struct device *dev = regmap_get_device(data->regmap);
> +	int ret;
> +
> +	ret = regulator_enable(data->vdd_supply);
> +	if (ret) {
> +		dev_err(dev, "failed to enable vdd power supply\n");
> +		return ret;
> +	}
> +
> +	ret = regmap_write(data->regmap, AL3000A_REG_SYSTEM, AL3000A_CONFIG_ENABLE);
> +	if (ret) {
> +		dev_err(dev, "failed to write system register\n");

> +		return ret;
> +	}
> +
> +	return 0;

	return ret;

> +}

...

> +static void al3000a_set_pwr_off(void *_data)
> +{
> +	struct al3000a_data *data = _data;
> +	struct device *dev = regmap_get_device(data->regmap);
> +	int ret;
> +
> +	ret = regmap_write(data->regmap, AL3000A_REG_SYSTEM, AL3000A_CONFIG_DISABLE);
> +	if (ret) {
> +		dev_err(dev, "failed to write system register\n");
> +		return;
> +	}
> +
> +	ret = regulator_disable(data->vdd_supply);
> +	if (ret) {
> +		dev_err(dev, "failed to disable vdd power supply\n");

> +		return;

This is not needed, but I understand the intention. To me, nevertheless, seems
better to return an error to upper layer.

> +	}
> +}
> +
> +static int al3000a_init(struct al3000a_data *data)
> +{
> +	int ret;
> +
> +	ret = al3000a_set_pwr_on(data);
> +	if (ret)
> +		return ret;
> +
> +	ret = regmap_write(data->regmap, AL3000A_REG_SYSTEM, AL3000A_CONFIG_RESET);
> +	if (ret)
> +		return ret;
> +
> +	ret = regmap_write(data->regmap, AL3000A_REG_SYSTEM, AL3000A_CONFIG_ENABLE);
> +	if (ret)
> +		return ret;
> +
> +	return 0;

	return regmap_write(...);

> +}

...

> +static const struct i2c_device_id al3000a_id[] = {
> +	{"al3000a", },

Remove redundant inner comma. And make style consistent with OF, i.e. surround
string with spaces.

> +	{}
> +};
> +MODULE_DEVICE_TABLE(i2c, al3010_id);

Copy'n'paste error, obviously. Please, test every version before sending.

> +
> +static const struct of_device_id al3000a_of_match[] = {
> +	{ .compatible = "dynaimage,al3000a" },
> +	{ /* sentinel */ }
> +};


-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux