Message ID | 20230915051703.1689578-3-Basavaraj.Natikar@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Multiple light sensor support | expand |
On Fri, 15 Sep 2023 10:46:57 +0530 Basavaraj Natikar <Basavaraj.Natikar@amd.com> wrote: > In most cases, ambient color sensors also support light color temperature. > As a result, add support of light color temperature. > > Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> > --- > drivers/iio/light/hid-sensor-als.c | 33 ++++++++++++++++++++++++++++++ > include/linux/hid-sensor-ids.h | 1 + > 2 files changed, 34 insertions(+) > > diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c > index 48879e233aec..220fb93fea6d 100644 > --- a/drivers/iio/light/hid-sensor-als.c > +++ b/drivers/iio/light/hid-sensor-als.c > @@ -16,6 +16,7 @@ > enum { > CHANNEL_SCAN_INDEX_INTENSITY = 0, > CHANNEL_SCAN_INDEX_ILLUM = 1, Either drop, the = 1 or keep consistency for TEMP. I don't think the = 1 is useful so I'd drop it. > + CHANNEL_SCAN_INDEX_COLOR_TEMP, > CHANNEL_SCAN_INDEX_MAX > }; > > @@ -65,6 +66,18 @@ static const struct iio_chan_spec als_channels[] = { > BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), > .scan_index = CHANNEL_SCAN_INDEX_ILLUM, > }, > + { > + .type = IIO_TEMP, Using a temperature channel for color temp is a bit of a stretch, Particularly as it's likely we will see light sensors with actual air temperature sensors in them at somepoint even if we don't have any already. So this needs a new channel type IIO_COLORTEMP or similar. Units for this probably want to be kelvin unlike the mili decrees centigrade used for IIO_TEMP. > + .modified = 1, > + .channel2 = IIO_MOD_TEMP_AMBIENT, I don't really see the modifier as useful here. That exists for thermocouple type systems where it is necessary to know ambient vs sample temperatures. > + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), > + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | > + BIT(IIO_CHAN_INFO_SCALE) | > + BIT(IIO_CHAN_INFO_SAMP_FREQ) | > + BIT(IIO_CHAN_INFO_HYSTERESIS) | > + BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), > + .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, > + }, > IIO_CHAN_SOFT_TIMESTAMP(CHANNEL_SCAN_INDEX_TIMESTAMP) > }; > > @@ -103,6 +116,11 @@ static int als_read_raw(struct iio_dev *indio_dev, > min = als_state->als_illum[chan->scan_index].logical_minimum; > address = HID_USAGE_SENSOR_LIGHT_ILLUM; > break; > + case CHANNEL_SCAN_INDEX_COLOR_TEMP: > + report_id = als_state->als_illum[chan->scan_index].report_id; > + min = als_state->als_illum[chan->scan_index].logical_minimum; > + address = HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE; > + break; > default: > report_id = -1; > break; > @@ -223,6 +241,10 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev, > als_state->scan.illum[CHANNEL_SCAN_INDEX_ILLUM] = sample_data; > ret = 0; > break; > + case HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE: > + als_state->scan.illum[CHANNEL_SCAN_INDEX_COLOR_TEMP] = sample_data; > + ret = 0; > + break; > case HID_USAGE_SENSOR_TIME_TIMESTAMP: > als_state->timestamp = hid_sensor_convert_timestamp(&als_state->common_attributes, > *(s64 *)raw_data); > @@ -256,6 +278,17 @@ static int als_parse_report(struct platform_device *pdev, > st->als_illum[i].report_id); > } > > + ret = sensor_hub_input_get_attribute_info(hsdev, HID_INPUT_REPORT, usage_id, > + HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE, > + &st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP]); > + if (ret < 0) > + return ret; > + als_adjust_channel_bit_mask(channels, CHANNEL_SCAN_INDEX_COLOR_TEMP, > + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].size); > + > + dev_dbg(&pdev->dev, "als %x:%x\n", st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].index, > + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].report_id); > + > st->scale_precision = hid_sensor_format_scale(usage_id, > &st->als_illum[CHANNEL_SCAN_INDEX_INTENSITY], > &st->scale_pre_decml, &st->scale_post_decml); > diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h > index 13b1e65fbdcc..8af4fb3e0254 100644 > --- a/include/linux/hid-sensor-ids.h > +++ b/include/linux/hid-sensor-ids.h > @@ -21,6 +21,7 @@ > #define HID_USAGE_SENSOR_ALS 0x200041 > #define HID_USAGE_SENSOR_DATA_LIGHT 0x2004d0 > #define HID_USAGE_SENSOR_LIGHT_ILLUM 0x2004d1 > +#define HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE 0x2004d2 > > /* PROX (200011) */ > #define HID_USAGE_SENSOR_PROX 0x200011
On 9/17/2023 4:30 PM, Jonathan Cameron wrote: > On Fri, 15 Sep 2023 10:46:57 +0530 > Basavaraj Natikar <Basavaraj.Natikar@amd.com> wrote: > >> In most cases, ambient color sensors also support light color temperature. >> As a result, add support of light color temperature. >> >> Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> >> --- >> drivers/iio/light/hid-sensor-als.c | 33 ++++++++++++++++++++++++++++++ >> include/linux/hid-sensor-ids.h | 1 + >> 2 files changed, 34 insertions(+) >> >> diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c >> index 48879e233aec..220fb93fea6d 100644 >> --- a/drivers/iio/light/hid-sensor-als.c >> +++ b/drivers/iio/light/hid-sensor-als.c >> @@ -16,6 +16,7 @@ >> enum { >> CHANNEL_SCAN_INDEX_INTENSITY = 0, >> CHANNEL_SCAN_INDEX_ILLUM = 1, > Either drop, the = 1 or keep consistency for TEMP. > I don't think the = 1 is useful so I'd drop it. > >> + CHANNEL_SCAN_INDEX_COLOR_TEMP, >> CHANNEL_SCAN_INDEX_MAX >> }; >> >> @@ -65,6 +66,18 @@ static const struct iio_chan_spec als_channels[] = { >> BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), >> .scan_index = CHANNEL_SCAN_INDEX_ILLUM, >> }, >> + { >> + .type = IIO_TEMP, > Using a temperature channel for color temp is a bit of a stretch, > Particularly as it's likely we will see light sensors with actual > air temperature sensors in them at somepoint even if we don't have > any already. > > So this needs a new channel type > IIO_COLORTEMP or similar. > > Units for this probably want to be kelvin unlike the mili decrees centigrade > used for IIO_TEMP. > >> + .modified = 1, >> + .channel2 = IIO_MOD_TEMP_AMBIENT, > I don't really see the modifier as useful here. That exists for thermocouple > type systems where it is necessary to know ambient vs sample temperatures. Sure Jonathan, I will address all comments in this series in v2. Also, can i add new channel type IIO_COLORTEMP with following channel index for light color temperature ? { .type = IIO_COLORTEMP, .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ) | BIT(IIO_CHAN_INFO_HYSTERESIS) | BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, } Thanks, -- Basavaraj > > >> + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), >> + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | >> + BIT(IIO_CHAN_INFO_SCALE) | >> + BIT(IIO_CHAN_INFO_SAMP_FREQ) | >> + BIT(IIO_CHAN_INFO_HYSTERESIS) | >> + BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), >> + .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, >> + }, >> IIO_CHAN_SOFT_TIMESTAMP(CHANNEL_SCAN_INDEX_TIMESTAMP) >> }; >> >> @@ -103,6 +116,11 @@ static int als_read_raw(struct iio_dev *indio_dev, >> min = als_state->als_illum[chan->scan_index].logical_minimum; >> address = HID_USAGE_SENSOR_LIGHT_ILLUM; >> break; >> + case CHANNEL_SCAN_INDEX_COLOR_TEMP: >> + report_id = als_state->als_illum[chan->scan_index].report_id; >> + min = als_state->als_illum[chan->scan_index].logical_minimum; >> + address = HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE; >> + break; >> default: >> report_id = -1; >> break; >> @@ -223,6 +241,10 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev, >> als_state->scan.illum[CHANNEL_SCAN_INDEX_ILLUM] = sample_data; >> ret = 0; >> break; >> + case HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE: >> + als_state->scan.illum[CHANNEL_SCAN_INDEX_COLOR_TEMP] = sample_data; >> + ret = 0; >> + break; >> case HID_USAGE_SENSOR_TIME_TIMESTAMP: >> als_state->timestamp = hid_sensor_convert_timestamp(&als_state->common_attributes, >> *(s64 *)raw_data); >> @@ -256,6 +278,17 @@ static int als_parse_report(struct platform_device *pdev, >> st->als_illum[i].report_id); >> } >> >> + ret = sensor_hub_input_get_attribute_info(hsdev, HID_INPUT_REPORT, usage_id, >> + HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE, >> + &st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP]); >> + if (ret < 0) >> + return ret; >> + als_adjust_channel_bit_mask(channels, CHANNEL_SCAN_INDEX_COLOR_TEMP, >> + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].size); >> + >> + dev_dbg(&pdev->dev, "als %x:%x\n", st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].index, >> + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].report_id); >> + >> st->scale_precision = hid_sensor_format_scale(usage_id, >> &st->als_illum[CHANNEL_SCAN_INDEX_INTENSITY], >> &st->scale_pre_decml, &st->scale_post_decml); >> diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h >> index 13b1e65fbdcc..8af4fb3e0254 100644 >> --- a/include/linux/hid-sensor-ids.h >> +++ b/include/linux/hid-sensor-ids.h >> @@ -21,6 +21,7 @@ >> #define HID_USAGE_SENSOR_ALS 0x200041 >> #define HID_USAGE_SENSOR_DATA_LIGHT 0x2004d0 >> #define HID_USAGE_SENSOR_LIGHT_ILLUM 0x2004d1 >> +#define HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE 0x2004d2 >> >> /* PROX (200011) */ >> #define HID_USAGE_SENSOR_PROX 0x200011
On Sun, 17 Sep 2023 20:13:46 +0530 Basavaraj Natikar <bnatikar@amd.com> wrote: > On 9/17/2023 4:30 PM, Jonathan Cameron wrote: > > On Fri, 15 Sep 2023 10:46:57 +0530 > > Basavaraj Natikar <Basavaraj.Natikar@amd.com> wrote: > > > >> In most cases, ambient color sensors also support light color temperature. > >> As a result, add support of light color temperature. > >> > >> Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> > >> --- > >> drivers/iio/light/hid-sensor-als.c | 33 ++++++++++++++++++++++++++++++ > >> include/linux/hid-sensor-ids.h | 1 + > >> 2 files changed, 34 insertions(+) > >> > >> diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c > >> index 48879e233aec..220fb93fea6d 100644 > >> --- a/drivers/iio/light/hid-sensor-als.c > >> +++ b/drivers/iio/light/hid-sensor-als.c > >> @@ -16,6 +16,7 @@ > >> enum { > >> CHANNEL_SCAN_INDEX_INTENSITY = 0, > >> CHANNEL_SCAN_INDEX_ILLUM = 1, > > Either drop, the = 1 or keep consistency for TEMP. > > I don't think the = 1 is useful so I'd drop it. > > > >> + CHANNEL_SCAN_INDEX_COLOR_TEMP, > >> CHANNEL_SCAN_INDEX_MAX > >> }; > >> > >> @@ -65,6 +66,18 @@ static const struct iio_chan_spec als_channels[] = { > >> BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), > >> .scan_index = CHANNEL_SCAN_INDEX_ILLUM, > >> }, > >> + { > >> + .type = IIO_TEMP, > > Using a temperature channel for color temp is a bit of a stretch, > > Particularly as it's likely we will see light sensors with actual > > air temperature sensors in them at somepoint even if we don't have > > any already. > > > > So this needs a new channel type > > IIO_COLORTEMP or similar. > > > > Units for this probably want to be kelvin unlike the mili decrees centigrade > > used for IIO_TEMP. > > > >> + .modified = 1, > >> + .channel2 = IIO_MOD_TEMP_AMBIENT, > > I don't really see the modifier as useful here. That exists for thermocouple > > type systems where it is necessary to know ambient vs sample temperatures. > > Sure Jonathan, I will address all comments in this series in v2. > Also, can i add new channel type IIO_COLORTEMP with following channel index > for light color temperature ? Looks good. Jonathan > { > .type = IIO_COLORTEMP, > .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), > .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | > BIT(IIO_CHAN_INFO_SCALE) | > BIT(IIO_CHAN_INFO_SAMP_FREQ) | > BIT(IIO_CHAN_INFO_HYSTERESIS) | > BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), > .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, > } > > Thanks, > -- > Basavaraj > > > > > > >> + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), > >> + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | > >> + BIT(IIO_CHAN_INFO_SCALE) | > >> + BIT(IIO_CHAN_INFO_SAMP_FREQ) | > >> + BIT(IIO_CHAN_INFO_HYSTERESIS) | > >> + BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), > >> + .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, > >> + }, > >> IIO_CHAN_SOFT_TIMESTAMP(CHANNEL_SCAN_INDEX_TIMESTAMP) > >> }; > >> > >> @@ -103,6 +116,11 @@ static int als_read_raw(struct iio_dev *indio_dev, > >> min = als_state->als_illum[chan->scan_index].logical_minimum; > >> address = HID_USAGE_SENSOR_LIGHT_ILLUM; > >> break; > >> + case CHANNEL_SCAN_INDEX_COLOR_TEMP: > >> + report_id = als_state->als_illum[chan->scan_index].report_id; > >> + min = als_state->als_illum[chan->scan_index].logical_minimum; > >> + address = HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE; > >> + break; > >> default: > >> report_id = -1; > >> break; > >> @@ -223,6 +241,10 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev, > >> als_state->scan.illum[CHANNEL_SCAN_INDEX_ILLUM] = sample_data; > >> ret = 0; > >> break; > >> + case HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE: > >> + als_state->scan.illum[CHANNEL_SCAN_INDEX_COLOR_TEMP] = sample_data; > >> + ret = 0; > >> + break; > >> case HID_USAGE_SENSOR_TIME_TIMESTAMP: > >> als_state->timestamp = hid_sensor_convert_timestamp(&als_state->common_attributes, > >> *(s64 *)raw_data); > >> @@ -256,6 +278,17 @@ static int als_parse_report(struct platform_device *pdev, > >> st->als_illum[i].report_id); > >> } > >> > >> + ret = sensor_hub_input_get_attribute_info(hsdev, HID_INPUT_REPORT, usage_id, > >> + HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE, > >> + &st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP]); > >> + if (ret < 0) > >> + return ret; > >> + als_adjust_channel_bit_mask(channels, CHANNEL_SCAN_INDEX_COLOR_TEMP, > >> + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].size); > >> + > >> + dev_dbg(&pdev->dev, "als %x:%x\n", st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].index, > >> + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].report_id); > >> + > >> st->scale_precision = hid_sensor_format_scale(usage_id, > >> &st->als_illum[CHANNEL_SCAN_INDEX_INTENSITY], > >> &st->scale_pre_decml, &st->scale_post_decml); > >> diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h > >> index 13b1e65fbdcc..8af4fb3e0254 100644 > >> --- a/include/linux/hid-sensor-ids.h > >> +++ b/include/linux/hid-sensor-ids.h > >> @@ -21,6 +21,7 @@ > >> #define HID_USAGE_SENSOR_ALS 0x200041 > >> #define HID_USAGE_SENSOR_DATA_LIGHT 0x2004d0 > >> #define HID_USAGE_SENSOR_LIGHT_ILLUM 0x2004d1 > >> +#define HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE 0x2004d2 > >> > >> /* PROX (200011) */ > >> #define HID_USAGE_SENSOR_PROX 0x200011 >
diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c index 48879e233aec..220fb93fea6d 100644 --- a/drivers/iio/light/hid-sensor-als.c +++ b/drivers/iio/light/hid-sensor-als.c @@ -16,6 +16,7 @@ enum { CHANNEL_SCAN_INDEX_INTENSITY = 0, CHANNEL_SCAN_INDEX_ILLUM = 1, + CHANNEL_SCAN_INDEX_COLOR_TEMP, CHANNEL_SCAN_INDEX_MAX }; @@ -65,6 +66,18 @@ static const struct iio_chan_spec als_channels[] = { BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), .scan_index = CHANNEL_SCAN_INDEX_ILLUM, }, + { + .type = IIO_TEMP, + .modified = 1, + .channel2 = IIO_MOD_TEMP_AMBIENT, + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) | + BIT(IIO_CHAN_INFO_SCALE) | + BIT(IIO_CHAN_INFO_SAMP_FREQ) | + BIT(IIO_CHAN_INFO_HYSTERESIS) | + BIT(IIO_CHAN_INFO_HYSTERESIS_RELATIVE), + .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, + }, IIO_CHAN_SOFT_TIMESTAMP(CHANNEL_SCAN_INDEX_TIMESTAMP) }; @@ -103,6 +116,11 @@ static int als_read_raw(struct iio_dev *indio_dev, min = als_state->als_illum[chan->scan_index].logical_minimum; address = HID_USAGE_SENSOR_LIGHT_ILLUM; break; + case CHANNEL_SCAN_INDEX_COLOR_TEMP: + report_id = als_state->als_illum[chan->scan_index].report_id; + min = als_state->als_illum[chan->scan_index].logical_minimum; + address = HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE; + break; default: report_id = -1; break; @@ -223,6 +241,10 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev, als_state->scan.illum[CHANNEL_SCAN_INDEX_ILLUM] = sample_data; ret = 0; break; + case HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE: + als_state->scan.illum[CHANNEL_SCAN_INDEX_COLOR_TEMP] = sample_data; + ret = 0; + break; case HID_USAGE_SENSOR_TIME_TIMESTAMP: als_state->timestamp = hid_sensor_convert_timestamp(&als_state->common_attributes, *(s64 *)raw_data); @@ -256,6 +278,17 @@ static int als_parse_report(struct platform_device *pdev, st->als_illum[i].report_id); } + ret = sensor_hub_input_get_attribute_info(hsdev, HID_INPUT_REPORT, usage_id, + HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE, + &st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP]); + if (ret < 0) + return ret; + als_adjust_channel_bit_mask(channels, CHANNEL_SCAN_INDEX_COLOR_TEMP, + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].size); + + dev_dbg(&pdev->dev, "als %x:%x\n", st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].index, + st->als_illum[CHANNEL_SCAN_INDEX_COLOR_TEMP].report_id); + st->scale_precision = hid_sensor_format_scale(usage_id, &st->als_illum[CHANNEL_SCAN_INDEX_INTENSITY], &st->scale_pre_decml, &st->scale_post_decml); diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h index 13b1e65fbdcc..8af4fb3e0254 100644 --- a/include/linux/hid-sensor-ids.h +++ b/include/linux/hid-sensor-ids.h @@ -21,6 +21,7 @@ #define HID_USAGE_SENSOR_ALS 0x200041 #define HID_USAGE_SENSOR_DATA_LIGHT 0x2004d0 #define HID_USAGE_SENSOR_LIGHT_ILLUM 0x2004d1 +#define HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE 0x2004d2 /* PROX (200011) */ #define HID_USAGE_SENSOR_PROX 0x200011
In most cases, ambient color sensors also support light color temperature. As a result, add support of light color temperature. Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> --- drivers/iio/light/hid-sensor-als.c | 33 ++++++++++++++++++++++++++++++ include/linux/hid-sensor-ids.h | 1 + 2 files changed, 34 insertions(+)