Re: [PATCH v2 1/2] gpio: 104-dio-48e: Implement struct dio48e_gpio

From: kernel test robot
Date: Sun Mar 19 2023 - 20:18:40 EST


Hi William,

I love your patch! Yet something to improve:

[auto build test ERROR on 03810031c91dfe448cd116ee987d5dc4139006f4]

url: https://github.com/intel-lab-lkp/linux/commits/William-Breathitt-Gray/gpio-104-dio-48e-Implement-struct-dio48e_gpio/20230320-050433
base: 03810031c91dfe448cd116ee987d5dc4139006f4
patch link: https://lore.kernel.org/r/296c8d808a4a9753ae3aa66d04b746c52df6b8ae.1679259085.git.william.gray%40linaro.org
patch subject: [PATCH v2 1/2] gpio: 104-dio-48e: Implement struct dio48e_gpio
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20230320/202303200807.f6XwZEfR-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/844453d513d06fbc8fbfe14ecff74b3bc3a92bbb
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review William-Breathitt-Gray/gpio-104-dio-48e-Implement-struct-dio48e_gpio/20230320-050433
git checkout 844453d513d06fbc8fbfe14ecff74b3bc3a92bbb
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 olddefconfig
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202303200807.f6XwZEfR-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/gpio/gpio-104-dio-48e.c: In function 'dio48e_handle_mask_sync':
>> drivers/gpio/gpio-104-dio-48e.c:120:30: error: 'map' redeclared as different kind of symbol
120 | struct regmap *const map = dio48egpio->map;
| ^~~
drivers/gpio/gpio-104-dio-48e.c:112:57: note: previous definition of 'map' with type 'struct regmap * const'
112 | static int dio48e_handle_mask_sync(struct regmap *const map, const int index,
| ~~~~~~~~~~~~~~~~~~~~~^~~


vim +/map +120 drivers/gpio/gpio-104-dio-48e.c

111
112 static int dio48e_handle_mask_sync(struct regmap *const map, const int index,
113 const unsigned int mask_buf_def,
114 const unsigned int mask_buf,
115 void *const irq_drv_data)
116 {
117 struct dio48e_gpio *const dio48egpio = irq_drv_data;
118 const unsigned int prev_mask = dio48egpio->irq_mask;
119 int err;
> 120 struct regmap *const map = dio48egpio->map;
121 unsigned int val;
122
123 /* exit early if no change since the previous mask */
124 if (mask_buf == prev_mask)
125 return 0;
126
127 /* remember the current mask for the next mask sync */
128 dio48egpio->irq_mask = mask_buf;
129
130 /* if all previously masked, enable interrupts when unmasking */
131 if (prev_mask == mask_buf_def) {
132 err = regmap_write(map, DIO48E_CLEAR_INTERRUPT, 0x00);
133 if (err)
134 return err;
135 return regmap_write(map, DIO48E_ENABLE_INTERRUPT, 0x00);
136 }
137
138 /* if all are currently masked, disable interrupts */
139 if (mask_buf == mask_buf_def)
140 return regmap_read(map, DIO48E_DISABLE_INTERRUPT, &val);
141
142 return 0;
143 }
144

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