Hi Yilun, On Thu, 2024-12-12 at 04:38 +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 91e71d606356e50f238d7a87aacdee4abc427f07 > commit: 685126c76d55b469737b65d465620a2edcf81a99 [2633/3192] fpga: dfl: pass feature platform data instead of device as argument > config: arc-randconfig-002-20241211 (https://download.01.org/0day-ci/archive/20241212/202412120419.feBcUVKu-lkp@xxxxxxxxx/config) > compiler: arc-elf-gcc (GCC) 13.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241212/202412120419.feBcUVKu-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/202412120419.feBcUVKu-lkp@xxxxxxxxx/ > > All warnings (new ones prefixed by >>): > > drivers/fpga/dfl.c:165: warning: Function parameter or struct member 'pdata' not described in 'dfl_fpga_port_ops_get' > > > drivers/fpga/dfl.c:165: warning: Excess function parameter 'pdev' description in 'dfl_fpga_port_ops_get' > drivers/fpga/dfl.c:231: warning: Function parameter or struct member 'pdata' not described in 'dfl_fpga_check_port_id' > > > drivers/fpga/dfl.c:231: warning: Excess function parameter 'pdev' description in 'dfl_fpga_check_port_id' These warnings may be resolved by amending commit 685126c76d55 ("fpga: dfl: pass feature platform data instead of device as argument"). --- a/drivers/fpga/dfl.c +++ b/drivers/fpga/dfl.c @@ -145,7 +145,7 @@ static LIST_HEAD(dfl_port_ops_list); /** * dfl_fpga_port_ops_get - get matched port ops from the global list - * @pdev: platform device to match with associated port ops. + * @pdata: platform data to match with associated port ops. * Return: matched port ops on success, NULL otherwise. * * Please note that must dfl_fpga_port_ops_put after use the port_ops. @@ -211,7 +211,7 @@ EXPORT_SYMBOL_GPL(dfl_fpga_port_ops_del); /** * dfl_fpga_check_port_id - check the port id - * @pdev: port platform device. + * @pdata: port platform data. * @pport_id: port id to compare. * * Return: 1 if port device matches with given port id, otherwise 0. Thanks, Peter > > > vim +165 drivers/fpga/dfl.c > > 6e8fd6e493bfca8 Wu Hao 2018-06-30 156 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 157 /** > 6e8fd6e493bfca8 Wu Hao 2018-06-30 158 * dfl_fpga_port_ops_get - get matched port ops from the global list > 6e8fd6e493bfca8 Wu Hao 2018-06-30 159 * @pdev: platform device to match with associated port ops. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 160 * Return: matched port ops on success, NULL otherwise. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 161 * > 6e8fd6e493bfca8 Wu Hao 2018-06-30 162 * Please note that must dfl_fpga_port_ops_put after use the port_ops. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 163 */ > 685126c76d55b46 Peter Colberg 2024-11-19 164 struct dfl_fpga_port_ops *dfl_fpga_port_ops_get(struct dfl_feature_platform_data *pdata) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 @165 { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 166 struct dfl_fpga_port_ops *ops = NULL; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 167 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 168 mutex_lock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 169 if (list_empty(&dfl_port_ops_list)) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 170 goto done; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 171 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 172 list_for_each_entry(ops, &dfl_port_ops_list, node) { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 173 /* match port_ops using the name of platform device */ > 685126c76d55b46 Peter Colberg 2024-11-19 174 if (!strcmp(pdata->dev->name, ops->name)) { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 175 if (!try_module_get(ops->owner)) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 176 ops = NULL; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 177 goto done; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 178 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 179 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 180 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 181 ops = NULL; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 182 done: > 6e8fd6e493bfca8 Wu Hao 2018-06-30 183 mutex_unlock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 184 return ops; > 6e8fd6e493bfca8 Wu Hao 2018-06-30 185 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 186 EXPORT_SYMBOL_GPL(dfl_fpga_port_ops_get); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 187 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 188 /** > 6e8fd6e493bfca8 Wu Hao 2018-06-30 189 * dfl_fpga_port_ops_put - put port ops > 6e8fd6e493bfca8 Wu Hao 2018-06-30 190 * @ops: port ops. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 191 */ > 6e8fd6e493bfca8 Wu Hao 2018-06-30 192 void dfl_fpga_port_ops_put(struct dfl_fpga_port_ops *ops) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 193 { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 194 if (ops && ops->owner) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 195 module_put(ops->owner); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 196 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 197 EXPORT_SYMBOL_GPL(dfl_fpga_port_ops_put); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 198 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 199 /** > 6e8fd6e493bfca8 Wu Hao 2018-06-30 200 * dfl_fpga_port_ops_add - add port_ops to global list > 6e8fd6e493bfca8 Wu Hao 2018-06-30 201 * @ops: port ops to add. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 202 */ > 6e8fd6e493bfca8 Wu Hao 2018-06-30 203 void dfl_fpga_port_ops_add(struct dfl_fpga_port_ops *ops) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 204 { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 205 mutex_lock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 206 list_add_tail(&ops->node, &dfl_port_ops_list); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 207 mutex_unlock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 208 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 209 EXPORT_SYMBOL_GPL(dfl_fpga_port_ops_add); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 210 > 6e8fd6e493bfca8 Wu Hao 2018-06-30 211 /** > 6e8fd6e493bfca8 Wu Hao 2018-06-30 212 * dfl_fpga_port_ops_del - remove port_ops from global list > 6e8fd6e493bfca8 Wu Hao 2018-06-30 213 * @ops: port ops to del. > 6e8fd6e493bfca8 Wu Hao 2018-06-30 214 */ > 6e8fd6e493bfca8 Wu Hao 2018-06-30 215 void dfl_fpga_port_ops_del(struct dfl_fpga_port_ops *ops) > 6e8fd6e493bfca8 Wu Hao 2018-06-30 216 { > 6e8fd6e493bfca8 Wu Hao 2018-06-30 217 mutex_lock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 218 list_del(&ops->node); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 219 mutex_unlock(&dfl_port_ops_mutex); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 220 } > 6e8fd6e493bfca8 Wu Hao 2018-06-30 221 EXPORT_SYMBOL_GPL(dfl_fpga_port_ops_del); > 6e8fd6e493bfca8 Wu Hao 2018-06-30 222 > d06b004b99c9608 Wu Hao 2018-06-30 223 /** > d06b004b99c9608 Wu Hao 2018-06-30 224 * dfl_fpga_check_port_id - check the port id > d06b004b99c9608 Wu Hao 2018-06-30 225 * @pdev: port platform device. > d06b004b99c9608 Wu Hao 2018-06-30 226 * @pport_id: port id to compare. > d06b004b99c9608 Wu Hao 2018-06-30 227 * > d06b004b99c9608 Wu Hao 2018-06-30 228 * Return: 1 if port device matches with given port id, otherwise 0. > d06b004b99c9608 Wu Hao 2018-06-30 229 */ > 685126c76d55b46 Peter Colberg 2024-11-19 230 int dfl_fpga_check_port_id(struct dfl_feature_platform_data *pdata, void *pport_id) > d06b004b99c9608 Wu Hao 2018-06-30 @231 { > 69bb18ddfc4331b Wu Hao 2019-08-04 232 struct dfl_fpga_port_ops *port_ops; > 69bb18ddfc4331b Wu Hao 2019-08-04 233 > 69bb18ddfc4331b Wu Hao 2019-08-04 234 if (pdata->id != FEATURE_DEV_ID_UNUSED) > 69bb18ddfc4331b Wu Hao 2019-08-04 235 return pdata->id == *(int *)pport_id; > d06b004b99c9608 Wu Hao 2018-06-30 236 > 685126c76d55b46 Peter Colberg 2024-11-19 237 port_ops = dfl_fpga_port_ops_get(pdata); > d06b004b99c9608 Wu Hao 2018-06-30 238 if (!port_ops || !port_ops->get_id) > d06b004b99c9608 Wu Hao 2018-06-30 239 return 0; > d06b004b99c9608 Wu Hao 2018-06-30 240 > 685126c76d55b46 Peter Colberg 2024-11-19 241 pdata->id = port_ops->get_id(pdata); > d06b004b99c9608 Wu Hao 2018-06-30 242 dfl_fpga_port_ops_put(port_ops); > d06b004b99c9608 Wu Hao 2018-06-30 243 > 69bb18ddfc4331b Wu Hao 2019-08-04 244 return pdata->id == *(int *)pport_id; > d06b004b99c9608 Wu Hao 2018-06-30 245 } > d06b004b99c9608 Wu Hao 2018-06-30 246 EXPORT_SYMBOL_GPL(dfl_fpga_check_port_id); > d06b004b99c9608 Wu Hao 2018-06-30 247 > > :::::: The code at line 165 was first introduced by commit > :::::: 6e8fd6e493bfca83021cc6a8fd86d7f69bd14fc6 fpga: dfl: add dfl_fpga_port_ops support. > > :::::: TO: Wu Hao <hao.wu@xxxxxxxxx> > :::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >