[xilinx-xlnx:xlnx_rebase_v5.15_LTS 79/1029] drivers/of/configfs.c:134:9: warning: no previous prototype for function 'cfs_overlay_item_dtbo_read'

kernel test robot
2022-03-27T00:19:44Z

Hi Pantelis,

FYI, the error/warning still remains.

tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head: 1870e0fa79a9d58c6748c34550f3ccea0b515933
commit: 92450eff19894419e326623c7b720e83aeb57b96 [79/1029] OF: DT-Overlay configfs interface (v8)
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20220327/202203270826.aWqJcdaC-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/Xilinx/linux-xlnx/commit/92450eff19894419e326623c7b720e83aeb57b96
git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
git checkout 92450eff19894419e326623c7b720e83aeb57b96
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/of/configfs.c:134:9: warning: no previous prototype for function 'cfs_overlay_item_dtbo_read' [-Wmissing-prototypes]
ssize_t cfs_overlay_item_dtbo_read(struct config_item *item,
^
drivers/of/configfs.c:134:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
ssize_t cfs_overlay_item_dtbo_read(struct config_item *item,
^
static
>> drivers/of/configfs.c:156:9: warning: no previous prototype for function 'cfs_overlay_item_dtbo_write' [-Wmissing-prototypes]
ssize_t cfs_overlay_item_dtbo_write(struct config_item *item,
^
drivers/of/configfs.c:156:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
ssize_t cfs_overlay_item_dtbo_write(struct config_item *item,
^
static
2 warnings generated.

vim +/cfs_overlay_item_dtbo_read +134 drivers/of/configfs.c

133
> 134 ssize_t cfs_overlay_item_dtbo_read(struct config_item *item,
135 void *buf, size_t max_count)
136 {
137 struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
138
139 pr_debug("%s: buf=%p max_count=%zu\n", __func__, buf, max_count);
140
141 if (!overlay->dtbo)
142 return 0;
143
144 /* copy if buffer provided */
145 if (buf) {
146 /* the buffer must be large enough */
147 if (overlay->dtbo_size > max_count)
148 return -ENOSPC;
149
150 memcpy(buf, overlay->dtbo, overlay->dtbo_size);
151 }
152
153 return overlay->dtbo_size;
154 }
155
> 156 ssize_t cfs_overlay_item_dtbo_write(struct config_item *item,
157 const void *buf, size_t count)
158 {
159 struct cfs_overlay_item *overlay = to_cfs_overlay_item(item);
160 int err;
161
162 /* if it's set do not allow changes */
163 if (overlay->path[0] != '\0' || overlay->dtbo_size > 0)
164 return -EPERM;
165
166 /* copy the contents */
167 overlay->dtbo = kmemdup(buf, count, GFP_KERNEL);
168 if (!overlay->dtbo)
169 return -ENOMEM;
170
171 overlay->dtbo_size = count;
172
173 err = create_overlay(overlay, overlay->dtbo);
174 if (err < 0)
175 goto out_err;
176
177 return count;
178
179 out_err:
180 kfree(overlay->dtbo);
181 overlay->dtbo = NULL;
182 overlay->dtbo_size = 0;
183
184 return err;
185 }
186

--
0-DAY CI Kernel Test Service