patch "Revert "iio: hid-sensor-als: Add light chromaticity support"" added to char-misc-linus
Subsystems (4)
This is a note to let you know that I've just added the patch titled
Revert "iio: hid-sensor-als: Add light chromaticity support"
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From b9670ee2e975e1cb6751019d5dc5c193aecd8ba2 Mon Sep 17 00:00:00 2001
From: Srinivas Pandruvada <[email protected]>
Date: Sun, 17 Dec 2023 12:07:02 -0800
Subject: Revert "iio: hid-sensor-als: Add light chromaticity support"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit ee3710f39f9d0ae5137a866138d005fe1ad18132.
This commit assumes that every HID descriptor for ALS sensor has presence of usage id ID HID_USAGE_SENSOR_LIGHT_CHROMATICITY_X and HID_USAGE_SENSOR_LIGHT_CHROMATICITY_Y. When the above usage ids are absent, driver probe fails. This breaks ALS sensor functionality on many platforms.
Till we have a good solution, revert this commit.
--- drivers/iio/light/hid-sensor-als.c | 63 ------------------------------ include/linux/hid-sensor-ids.h | 3 -- 2 files changed, 66 deletions(-)
drivers/iio/light/hid-sensor-als.c +0 -63
@@ -17,8 +17,6 @@ enum {CHANNEL_SCAN_INDEX_INTENSITY ,CHANNEL_SCAN_INDEX_ILLUM ,CHANNEL_SCAN_INDEX_COLOR_TEMP , -CHANNEL_SCAN_INDEX_CHROMATICITY_X , -CHANNEL_SCAN_INDEX_CHROMATICITY_Y , CHANNEL_SCAN_INDEX_MAX };
@@ -78,30 +76,6 @@ static const struct iio_chan_spec als_channels[] = {BIT (IIO_CHAN_INFO_HYSTERESIS_RELATIVE ), .scan_index = CHANNEL_SCAN_INDEX_COLOR_TEMP, }, - { - .type = IIO_CHROMATICITY, - .modified = 1, - .channel2 = IIO_MOD_X, - .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_CHROMATICITY_X, - }, - { - .type = IIO_CHROMATICITY, - .modified = 1, - .channel2 = IIO_MOD_Y, - .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_CHROMATICITY_Y, - },IIO_CHAN_SOFT_TIMESTAMP (CHANNEL_SCAN_INDEX_TIMESTAMP ) };
@@ -145,16 +119,6 @@ static int als_read_raw(struct iio_dev *indio_dev, min = als_state->als[chan->scan_index].logical_minimum; address =HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE ;break ; -case CHANNEL_SCAN_INDEX_CHROMATICITY_X : - report_id = als_state->als[chan->scan_index].report_id; - min = als_state->als[chan->scan_index].logical_minimum; - address =HID_USAGE_SENSOR_LIGHT_CHROMATICITY_X ; -break ; -case CHANNEL_SCAN_INDEX_CHROMATICITY_Y : - report_id = als_state->als[chan->scan_index].report_id; - min = als_state->als[chan->scan_index].logical_minimum; - address =HID_USAGE_SENSOR_LIGHT_CHROMATICITY_Y ; -break ;default : report_id =-1 ;break ;
@@ -279,14 +243,6 @@ static int als_capture_sample(struct hid_sensor_hub_device *hsdev, als_state->scan.illum[CHANNEL_SCAN_INDEX_COLOR_TEMP ] = sample_data; ret =0 ;break ; -case HID_USAGE_SENSOR_LIGHT_CHROMATICITY_X : - als_state->scan.illum[CHANNEL_SCAN_INDEX_CHROMATICITY_X ] = sample_data; - ret =0 ; -break ; -case HID_USAGE_SENSOR_LIGHT_CHROMATICITY_Y : - als_state->scan.illum[CHANNEL_SCAN_INDEX_CHROMATICITY_Y ] = 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);
@@ -335,25 +291,6 @@ static int als_parse_report(struct platform_device *pdev, st->als[CHANNEL_SCAN_INDEX_COLOR_TEMP ].index, st->als[CHANNEL_SCAN_INDEX_COLOR_TEMP].report_id); -for (i =0 ; i <2 ; i++) { -int next_scan_index =CHANNEL_SCAN_INDEX_CHROMATICITY_X + i; - - ret =sensor_hub_input_get_attribute_info (hsdev, -HID_INPUT_REPORT , usage_id, -HID_USAGE_SENSOR_LIGHT_CHROMATICITY_X + i, - &st->als[next_scan_index]); -if (ret <0 ) -return ret; - -als_adjust_channel_bit_mask (channels, -CHANNEL_SCAN_INDEX_CHROMATICITY_X + i, - st->als[next_scan_index].size); - -dev_dbg (&pdev->dev,"als %x:%x\n" , - st->als[next_scan_index].index, - st->als[next_scan_index].report_id); - } - st->scale_precision =hid_sensor_format_scale (usage_id, &st->als[CHANNEL_SCAN_INDEX_INTENSITY ], &st->scale_pre_decml, &st->scale_post_decml);
include/linux/hid-sensor-ids.h +0 -3
@@ -22,9 +22,6 @@#define HID_USAGE_SENSOR_DATA_LIGHT 0x2004d0#define HID_USAGE_SENSOR_LIGHT_ILLUM 0x2004d1#define HID_USAGE_SENSOR_LIGHT_COLOR_TEMPERATURE 0x2004d2 -#define HID_USAGE_SENSOR_LIGHT_CHROMATICITY 0x2004d3 -#define HID_USAGE_SENSOR_LIGHT_CHROMATICITY_X 0x2004d4 -#define HID_USAGE_SENSOR_LIGHT_CHROMATICITY_Y 0x2004d5/* PROX (200011) */ #define HID_USAGE_SENSOR_PROX 0x200011
Signature · 1 line
2.43.0