* [skn:v5.9/ffa 7/8] drivers/firmware/arm_ffa/driver.c:176:12: error: storage size of 'ver' isn't known
@ 2020-08-26 3:33 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-08-26 3:33 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 13619 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git v5.9/ffa
head: a1dd26f309d173a71b9b7b18cf6221b4e29d397e
commit: de254ee743800be7154e0b19239f97fa748d1e6d [7/8] firmware: Add support for PSA FF-A transport for VM partitions
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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
git checkout de254ee743800be7154e0b19239f97fa748d1e6d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/firmware/arm_ffa/driver.c: In function 'ffa_version_check':
>> drivers/firmware/arm_ffa/driver.c:176:12: error: storage size of 'ver' isn't known
176 | ffa_res_t ver;
| ^~~
>> drivers/firmware/arm_ffa/driver.c:178:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
178 | ver = invoke_ffa_fn(FFA_VERSION, FFA_DRIVER_VERSION, 0, 0, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:176:12: warning: unused variable 'ver' [-Wunused-variable]
176 | ffa_res_t ver;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_features':
>> drivers/firmware/arm_ffa/driver.c:199:12: error: storage size of 'ret' isn't known
199 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:201:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
201 | ret = invoke_ffa_fn(FFA_FEATURES, func_id, 0, 0, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:199:12: warning: unused variable 'ret' [-Wunused-variable]
199 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_rx_release':
drivers/firmware/arm_ffa/driver.c:211:12: error: storage size of 'ret' isn't known
211 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:213:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
213 | ret = invoke_ffa_fn(FFA_RX_RELEASE, 0, 0, 0, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:211:12: warning: unused variable 'ret' [-Wunused-variable]
211 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_rxtx_map':
drivers/firmware/arm_ffa/driver.c:225:12: error: storage size of 'ret' isn't known
225 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:227:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
227 | ret = invoke_ffa_fn(FFA_RXTX_MAP, tx_buf, rx_buf, pg_cnt, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:225:12: warning: unused variable 'ret' [-Wunused-variable]
225 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_rxtx_unmap':
drivers/firmware/arm_ffa/driver.c:237:12: error: storage size of 'ret' isn't known
237 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:239:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
239 | ret = invoke_ffa_fn(FFA_RXTX_UNMAP, vm_id, 0, 0, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:237:12: warning: unused variable 'ret' [-Wunused-variable]
237 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_partition_info_get':
>> drivers/firmware/arm_ffa/driver.c:251:12: error: storage size of 'partition_info' isn't known
251 | ffa_res_t partition_info;
| ^~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:254:19: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
254 | partition_info = invoke_ffa_fn(FFA_PARTITION_INFO_GET, uuid0, uuid1,
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:251:12: warning: unused variable 'partition_info' [-Wunused-variable]
251 | ffa_res_t partition_info;
| ^~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_id_get':
>> drivers/firmware/arm_ffa/driver.c:294:12: error: storage size of 'id' isn't known
294 | ffa_res_t id;
| ^~
drivers/firmware/arm_ffa/driver.c:296:7: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
296 | id = invoke_ffa_fn(FFA_ID_GET, 0, 0, 0, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:294:12: warning: unused variable 'id' [-Wunused-variable]
294 | ffa_res_t id;
| ^~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_msg_send':
drivers/firmware/arm_ffa/driver.c:308:12: error: storage size of 'ret' isn't known
308 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:315:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
315 | ret = invoke_ffa_fn(FFA_MSG_SEND, src_dst_ids, 0, len, 0, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:308:12: warning: unused variable 'ret' [-Wunused-variable]
308 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_msg_send_direct_req':
drivers/firmware/arm_ffa/driver.c:329:12: error: storage size of 'ret' isn't known
329 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:331:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
331 | ret = invoke_ffa_fn(FFA_FN_NATIVE(MSG_SEND_DIRECT_REQ), src_dst_ids, 0,
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:329:12: warning: unused variable 'ret' [-Wunused-variable]
329 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_mem_first_frag':
drivers/firmware/arm_ffa/driver.c:491:12: error: storage size of 'ret' isn't known
491 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:493:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
493 | ret = invoke_ffa_fn(func_id, len, frag_len, buf, buf_sz, 0, 0, 0);
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:491:12: warning: unused variable 'ret' [-Wunused-variable]
491 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_mem_next_frag':
drivers/firmware/arm_ffa/driver.c:512:12: error: storage size of 'ret' isn't known
512 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:514:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
514 | ret = invoke_ffa_fn(FFA_MEM_FRAG_TX, HANDLE_LOW(handle),
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:512:12: warning: unused variable 'ret' [-Wunused-variable]
512 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c: In function 'ffa_memory_reclaim':
drivers/firmware/arm_ffa/driver.c:654:12: error: storage size of 'ret' isn't known
654 | ffa_res_t ret;
| ^~~
drivers/firmware/arm_ffa/driver.c:656:8: error: invalid use of incomplete typedef 'ffa_res_t' {aka 'struct arm_smccc_v1_2_res'}
656 | ret = invoke_ffa_fn(FFA_MEM_RECLAIM, HANDLE_LOW(g_handle),
| ^~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:654:12: warning: unused variable 'ret' [-Wunused-variable]
654 | ffa_res_t ret;
| ^~~
At top level:
drivers/firmware/arm_ffa/driver.c:918:34: warning: 'ffa_part_of_match' defined but not used [-Wunused-const-variable=]
918 | static const struct of_device_id ffa_part_of_match[] = {
| ^~~~~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:652:12: warning: 'ffa_memory_reclaim' defined but not used [-Wunused-function]
652 | static int ffa_memory_reclaim(u64 g_handle, u32 flags)
| ^~~~~~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:624:12: warning: 'ffa_memory_ops' defined but not used [-Wunused-function]
624 | static int ffa_memory_ops(u32 func_id, bool use_txbuf, u64 tag, u32 flags,
| ^~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:235:12: warning: 'ffa_rxtx_unmap' defined but not used [-Wunused-function]
235 | static int ffa_rxtx_unmap(u16 vm_id)
| ^~~~~~~~~~~~~~
drivers/firmware/arm_ffa/driver.c:197:12: warning: 'ffa_features' defined but not used [-Wunused-function]
197 | static int ffa_features(u32 func_id)
| ^~~~~~~~~~~~
# https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git/commit/?id=de254ee743800be7154e0b19239f97fa748d1e6d
git remote add skn https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git
git fetch --no-tags skn v5.9/ffa
git checkout de254ee743800be7154e0b19239f97fa748d1e6d
vim +176 drivers/firmware/arm_ffa/driver.c
173
174 static int ffa_version_check(u32 *version)
175 {
> 176 ffa_res_t ver;
177
> 178 ver = invoke_ffa_fn(FFA_VERSION, FFA_DRIVER_VERSION, 0, 0, 0, 0, 0, 0);
179
180 if (ver.a0 == FFA_RET_NOT_SUPPORTED) {
181 pr_info("FFA_VERSION returned not supported\n");
182 return -EOPNOTSUPP;
183 }
184
185 if (ver.a0 < FFA_MIN_VERSION || ver.a0 > FFA_DRIVER_VERSION) {
186 pr_err("Incompatible version %d.%d found\n",
187 MAJOR_VERSION(ver.a0), MINOR_VERSION(ver.a0));
188 return -EINVAL;
189 }
190
191 *version = ver.a0;
192 pr_info("Version %d.%d found\n", MAJOR_VERSION(ver.a0),
193 MINOR_VERSION(ver.a0));
194 return 0;
195 }
196
197 static int ffa_features(u32 func_id)
198 {
> 199 ffa_res_t ret;
200
201 ret = invoke_ffa_fn(FFA_FEATURES, func_id, 0, 0, 0, 0, 0, 0);
202
203 if (ret.a0 == FFA_ERROR)
204 return ffa_to_linux_errno((int)ret.a2);
205
206 return ret.a2;
207 }
208
209 static int ffa_rx_release(void)
210 {
211 ffa_res_t ret;
212
213 ret = invoke_ffa_fn(FFA_RX_RELEASE, 0, 0, 0, 0, 0, 0, 0);
214
215 if (ret.a0 == FFA_ERROR)
216 return ffa_to_linux_errno((int)ret.a2);
217
218 /* check for ret.a0 == FFA_RX_RELEASE ? */
219
220 return 0;
221 }
222
223 static int ffa_rxtx_map(phys_addr_t tx_buf, phys_addr_t rx_buf, u32 pg_cnt)
224 {
225 ffa_res_t ret;
226
227 ret = invoke_ffa_fn(FFA_RXTX_MAP, tx_buf, rx_buf, pg_cnt, 0, 0, 0, 0);
228
229 if (ret.a0 == FFA_ERROR)
230 return ffa_to_linux_errno((int)ret.a2);
231
232 return 0;
233 }
234
235 static int ffa_rxtx_unmap(u16 vm_id)
236 {
237 ffa_res_t ret;
238
239 ret = invoke_ffa_fn(FFA_RXTX_UNMAP, vm_id, 0, 0, 0, 0, 0, 0);
240
241 if (ret.a0 == FFA_ERROR)
242 return ffa_to_linux_errno((int)ret.a2);
243
244 return 0;
245 }
246
247 static int ffa_partition_info_get(u32 uuid0, u32 uuid1, u32 uuid2, u32 uuid3,
248 struct ffa_partition_info **buffer)
249 {
250 int count;
> 251 ffa_res_t partition_info;
252
253 mutex_lock(&drv_info->rx_lock);
254 partition_info = invoke_ffa_fn(FFA_PARTITION_INFO_GET, uuid0, uuid1,
255 uuid2, uuid3, 0, 0, 0);
256
257 if (partition_info.a0 == FFA_ERROR)
258 return ffa_to_linux_errno((int)partition_info.a2);
259
260 count = partition_info.a2;
261
262 if (buffer)
263 memcpy(*buffer, drv_info->rx_buffer, sizeof(*buffer) * count);
264
265 ffa_rx_release();
266
267 mutex_unlock(&drv_info->rx_lock);
268
269 return count;
270 }
271
272 static int ffa_partition_probe(const char *uuid_str,
273 struct ffa_partition_info *buffer)
274 {
275 int count;
276 uuid_t uuid;
277 u32 uuid0_4[4] = { 0 };
278
279 if (uuid_parse(uuid_str, &uuid)) {
280 pr_err("invalid uuid (%s)\n", uuid_str);
281 return -ENODEV;
282 }
283
284 export_uuid((u8 *)uuid0_4, &uuid);
285 count = ffa_partition_info_get(uuid0_4[0], uuid0_4[1], uuid0_4[2],
286 uuid0_4[3], &buffer);
287
288 return count;
289 }
290
291 #define VM_ID_MASK GENMASK(15, 0)
292 static int ffa_id_get(u16 *vm_id)
293 {
> 294 ffa_res_t id;
295
296 id = invoke_ffa_fn(FFA_ID_GET, 0, 0, 0, 0, 0, 0, 0);
297
298 if (id.a0 == FFA_ERROR)
299 return ffa_to_linux_errno((int)id.a2);
300
301 *vm_id = FIELD_GET(VM_ID_MASK, (id.a2));
302
303 return 0;
304 }
305
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 76238 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-08-26 3:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-26 3:33 [skn:v5.9/ffa 7/8] drivers/firmware/arm_ffa/driver.c:176:12: error: storage size of 'ver' isn't known kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.