Re: [PATCH v2 2/2] iio: light: Add APDS9160 ALS & Proximity sensor driver

From: kernel test robot
Date: Fri Dec 06 2024 - 17:25:40 EST


Hi Mikael,

kernel test robot noticed the following build errors:

[auto build test ERROR on 5de07b8a24cf44cdb78adeab790704bf577c2c1d]

url: https://github.com/intel-lab-lkp/linux/commits/Mikael-Gonella-Bolduc-via-B4-Relay/dt-bindings-iio-light-Add-APDS9160-binding/20241207-001144
base: 5de07b8a24cf44cdb78adeab790704bf577c2c1d
patch link: https://lore.kernel.org/r/20241206-apds9160-driver-v2-2-be2cb72ef8f4%40dimonoff.com
patch subject: [PATCH v2 2/2] iio: light: Add APDS9160 ALS & Proximity sensor driver
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20241207/202412070600.aufBle2b-lkp@xxxxxxxxx/config)
compiler: sh4-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241207/202412070600.aufBle2b-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412070600.aufBle2b-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

drivers/iio/light/apds9160.c: In function 'apds9160_read_raw':
>> drivers/iio/light/apds9160.c:911:32: error: implicit declaration of function 'FIELD_GET' [-Wimplicit-function-declaration]
911 | *val = FIELD_GET(APDS9160_PS_DATA_MASK, *val);
| ^~~~~~~~~
drivers/iio/light/apds9160.c: At top level:
>> drivers/iio/light/apds9160.c:256:18: warning: 'apds9160_als_gain_avail' defined but not used [-Wunused-const-variable=]
256 | static const int apds9160_als_gain_avail[] = {
| ^~~~~~~~~~~~~~~~~~~~~~~


vim +/FIELD_GET +911 drivers/iio/light/apds9160.c

889
890 static int apds9160_read_raw(struct iio_dev *indio_dev,
891 struct iio_chan_spec const *chan, int *val,
892 int *val2, long mask)
893 {
894 struct apds9160_chip *data = iio_priv(indio_dev);
895 int ret = -EINVAL;
896
897 switch (mask) {
898 case IIO_CHAN_INFO_RAW:
899 switch (chan->type) {
900 case IIO_PROXIMITY: {
901 __le16 buf;
902
903 ret = regmap_bulk_read(data->regmap, chan->address,
904 &buf, 2);
905 if (ret)
906 return ret;
907
908 ret = IIO_VAL_INT;
909 *val = le16_to_cpu(buf);
910 /* Remove overflow bits from result */
> 911 *val = FIELD_GET(APDS9160_PS_DATA_MASK, *val);
912 } break;
913 case IIO_LIGHT:
914 case IIO_INTENSITY: {
915 u8 buf[3];
916
917 ret = regmap_bulk_read(data->regmap, chan->address,
918 &buf, 3);
919 if (ret)
920 return ret;
921
922 ret = IIO_VAL_INT;
923 *val = get_unaligned_le24(buf);
924 } break;
925 case IIO_CURRENT:
926 ret = IIO_VAL_INT;
927 *val = data->ps_current;
928 break;
929 default:
930 break;
931 }
932 break;
933 case IIO_CHAN_INFO_HARDWAREGAIN:
934 switch (chan->type) {
935 case IIO_LIGHT:
936 ret = IIO_VAL_INT;
937 *val = data->als_hwgain;
938 break;
939 case IIO_PROXIMITY:
940 ret = IIO_VAL_INT;
941 *val = data->ps_gain;
942 break;
943 default:
944 break;
945 }
946 break;
947 case IIO_CHAN_INFO_INT_TIME:
948 switch (chan->type) {
949 case IIO_LIGHT:
950 ret = IIO_VAL_INT;
951 *val = data->als_itime;
952 break;
953 default:
954 break;
955 }
956 break;
957 case IIO_CHAN_INFO_SAMP_FREQ:
958 switch (chan->type) {
959 case IIO_PROXIMITY:
960 ret = IIO_VAL_INT;
961 *val = data->ps_rate;
962 break;
963 default:
964 break;
965 }
966 break;
967 case IIO_CHAN_INFO_CALIBSCALE:
968 switch (chan->type) {
969 case IIO_PROXIMITY:
970 ret = IIO_VAL_INT;
971 *val = data->ps_cancellation_level;
972 break;
973 default:
974 break;
975 }
976 break;
977 case IIO_CHAN_INFO_CALIBBIAS:
978 switch (chan->type) {
979 case IIO_PROXIMITY:
980 ret = IIO_VAL_INT;
981 *val = data->ps_cancellation_analog;
982 break;
983 case IIO_CURRENT:
984 ret = IIO_VAL_INT;
985 *val = data->ps_cancellation_current;
986 default:
987 break;
988 }
989 break;
990 case IIO_CHAN_INFO_SCALE:
991 switch (chan->type) {
992 case IIO_LIGHT:
993 ret = IIO_VAL_INT_PLUS_MICRO;
994 *val = data->als_scale1;
995 *val2 = data->als_scale2;
996 break;
997 default:
998 break;
999 }
1000 break;
1001 default:
1002 break;
1003 }
1004
1005 return ret;
1006 };
1007

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki