On Mon, 25 Oct 2021 23:30:23 +0200 Maslov Dmitry <maslovdmitry@xxxxxxxx> wrote: > Previously ltr501 driver supported a number of light and, > proximity sensors including ltr501, ltr559 and ltr301. > This adds support for another light sensor ltr303 > used in Seeed Studio reTerminal, a carrier board > for Raspberry Pi 4 CM. > > It is a fix of previous commit, that simplified ltr303 support > and removed a lot of unnecessary code. Filename has also been removed > from the file. > > Signed-off-by: Maslov Dmitry <maslovdmitry@xxxxxxxx> I missed that email should have had the subject [PATCH v2] iio: light: ltr501: Add ltr303 support > --- > drivers/iio/light/ltr501.c | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c > index 7e51aaac0bf..d92d324d5e3 100644 > --- a/drivers/iio/light/ltr501.c > +++ b/drivers/iio/light/ltr501.c > @@ -1,6 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0-only > /* > - * ltr501.c - Support for Lite-On LTR501 ambient light and proximity sensor > + * Support for Lite-On LTR501, LTR509, LTR301, LTR303 ambient light > + * and proximity sensors (only LTR5xx) > * > * Copyright 2014 Peter Meerwald <pmeerw@xxxxxxxxxx> > * > @@ -98,6 +99,9 @@ enum { > ltr501 = 0, > ltr559, > ltr301, > + ltr303, > + > + ltr_max > }; > > struct ltr501_gain { > @@ -1231,6 +1235,18 @@ static const struct ltr501_chip_info ltr501_chip_info_tbl[] = { > .channels = ltr301_channels, > .no_channels = ARRAY_SIZE(ltr301_channels), > }, > + [ltr303] = { > + .partid = 0x0A, > + .als_gain = ltr559_als_gain_tbl, > + .als_gain_tbl_size = ARRAY_SIZE(ltr559_als_gain_tbl), > + .als_mode_active = BIT(0), > + .als_gain_mask = BIT(2) | BIT(3) | BIT(4), > + .als_gain_shift = 2, > + .info = <r301_info, > + .info_no_irq = <r301_info_no_irq, > + .channels = ltr301_channels, > + .no_channels = ARRAY_SIZE(ltr301_channels), > + }, > }; > > static int ltr501_write_contr(struct ltr501_data *data, u8 als_val, u8 ps_val) > @@ -1597,6 +1613,7 @@ static const struct acpi_device_id ltr_acpi_match[] = { > {"LTER0501", ltr501}, > {"LTER0559", ltr559}, > {"LTER0301", ltr301}, > + {"LTER0303", ltr303}, > { }, > }; > MODULE_DEVICE_TABLE(acpi, ltr_acpi_match); > @@ -1605,6 +1622,7 @@ static const struct i2c_device_id ltr501_id[] = { > { "ltr501", ltr501}, > { "ltr559", ltr559}, > { "ltr301", ltr301}, > + { "ltr303", ltr303}, > { } > }; > MODULE_DEVICE_TABLE(i2c, ltr501_id); > @@ -1613,6 +1631,7 @@ static const struct of_device_id ltr501_of_match[] = { > { .compatible = "liteon,ltr501", }, > { .compatible = "liteon,ltr559", }, > { .compatible = "liteon,ltr301", }, > + { .compatible = "liteon,ltr303", }, > {} > }; > MODULE_DEVICE_TABLE(of, ltr501_of_match);