On Tue, 19 Sep 2023, Basavaraj Natikar wrote: > In most cases, ambient color sensors also support the x and y light > colors, which represent the coordinates on the CIE 1931 chromaticity > diagram. Thus, add light chromaticity x and y. > > Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> > --- > .../amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c | 5 ++++- > .../amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h | 2 ++ > .../hid_descriptor/amd_sfh_hid_report_desc.h | 14 ++++++++++++++ > 3 files changed, 20 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c > index b7e732ec4806..ef1f9be8b893 100644 > --- a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c > +++ b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c > @@ -258,8 +258,11 @@ static u8 get_input_report(u8 current_index, int sensor_idx, int report_id, > als_input.illuminance_value = > (int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER; > > - if (sensor_idx == ACS_IDX) > + if (sensor_idx == ACS_IDX) { > als_input.light_color_temp = sensor_virt_addr[1]; > + als_input.chromaticity_x_value = sensor_virt_addr[2]; > + als_input.chromaticity_y_value = sensor_virt_addr[3]; > + } > > report_size = sizeof(als_input); > memcpy(input_report, &als_input, sizeof(als_input)); > diff --git a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h > index a7fc50deca4d..882434b1501f 100644 > --- a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h > +++ b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h > @@ -100,6 +100,8 @@ struct als_input_report { > /* values specific to this sensor */ > int illuminance_value; > int light_color_temp; > + int chromaticity_x_value; > + int chromaticity_y_value; > } __packed; > > struct hpd_feature_report { > diff --git a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h > index 26e994e54ded..67ec2d6a417d 100644 > --- a/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h > +++ b/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h > @@ -648,6 +648,20 @@ static const u8 als_report_descriptor[] = { > 0x75, 32, /* HID report size(32) */ > 0x95, 1, /* HID report count (1) */ > 0X81, 0x02, /* HID Input (Data_Arr_Abs) */ > +0x0A, 0xD4, 0x04, /* HID usage sensor data light chromaticity_x */ > +0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ > +0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ > +0x55, 0x0, /* HID unit exponent(0x0) */ > +0x75, 32, /* HID report size(32) */ > +0x95, 1, /* HID report count(1) */ > +0X81, 0x02, /* HID Input (Data_Var_Abs) */ > +0x0A, 0xD5, 0x04, /* HID usage sensor data light chromaticity_y */ > +0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ > +0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ > +0x55, 0x0, /* HID unit exponent(0x0) */ > +0x75, 32, /* HID report size(32) */ > +0x95, 1, /* HID report count (1) */ > +0X81, 0x02, /* HID Input (Data_Var_Abs) */ > 0xC0 /* HID end collection */ > }; > > -- > 2.25.1 > -- Jiri Kosina SUSE Labs