lkml.org 
[lkml]   [2019]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v1 1/1] platform/mellanox: Add bootctl driver for Mellanox BlueField Soc
Hi Liming,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0-rc4 next-20190131]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Liming-Sun/platform-mellanox-Add-bootctl-driver-for-Mellanox-BlueField-Soc/20190201-104657
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=8.2.0 make.cross ARCH=arm64

All errors (new ones prefixed by >>):

drivers/platform/mellanox/mlxbf-bootctl.c:260:36: error: array type has incomplete element type 'struct acpi_device_id'
static const struct acpi_device_id mlxbf_bootctl_acpi_ids[] = {
^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/module.h:18,
from drivers/platform/mellanox/mlxbf-bootctl.c:12:
>> drivers/platform/mellanox/mlxbf-bootctl.c:314:20: error: expected ',' or ';' before 'DRIVER_DESCRIPTION'
MODULE_DESCRIPTION(DRIVER_DESCRIPTION);
^~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:24:26: note: in definition of macro '__MODULE_INFO'
= __stringify(tag) "=" info
^~~~
include/linux/module.h:208:42: note: in expansion of macro 'MODULE_INFO'
#define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description)
^~~~~~~~~~~
drivers/platform/mellanox/mlxbf-bootctl.c:314:1: note: in expansion of macro 'MODULE_DESCRIPTION'
MODULE_DESCRIPTION(DRIVER_DESCRIPTION);
^~~~~~~~~~~~~~~~~~

vim +314 drivers/platform/mellanox/mlxbf-bootctl.c

259
> 260 static const struct acpi_device_id mlxbf_bootctl_acpi_ids[] = {
261 {"MLNXBF04", 0},
262 {},
263 };
264
265 MODULE_DEVICE_TABLE(acpi, mlxbf_bootctl_acpi_ids);
266
267 static int mlxbf_bootctl_probe(struct platform_device *pdev)
268 {
269 struct arm_smccc_res res;
270
271 /*
272 * Ensure we have the UUID we expect for this service.
273 * Note that the functionality we want is present in the first
274 * released version of this service, so we don't check the version.
275 */
276 arm_smccc_smc(MLXBF_BOOTCTL_SIP_SVC_UID, 0, 0, 0, 0, 0, 0, 0, &res);
277 if (res.a0 != 0x89c036b4 || res.a1 != 0x11e6e7d7 ||
278 res.a2 != 0x1a009787 || res.a3 != 0xc4bf00ca)
279 return -ENODEV;
280
281 /*
282 * When watchdog is used, it sets boot mode to MLXBF_BOOTCTL_SWAP_EMMC
283 * in case of boot failures. However it doesn't clear the state if there
284 * is no failure. Restore the default boot mode here to avoid any
285 * unnecessary boot partition swapping.
286 */
287 if (mlxbf_bootctl_smc_call1(MLXBF_BOOTCTL_SET_RESET_ACTION,
288 MLXBF_BOOTCTL_EMMC) < 0)
289 pr_err("Unable to reset the EMMC boot mode\n");
290
291 pr_info("%s (version %s)\n", MLXBF_BOOTCTL_DRIVER_DESCRIPTION,
292 MLXBF_BOOTCTL_DRIVER_VERSION);
293
294 return 0;
295 }
296
297 static int mlxbf_bootctl_remove(struct platform_device *pdev)
298 {
299 return 0;
300 }
301
302 static struct platform_driver mlxbf_bootctl_driver = {
303 .probe = mlxbf_bootctl_probe,
304 .remove = mlxbf_bootctl_remove,
305 .driver = {
306 .name = MLXBF_BOOTCTL_DRIVER_NAME,
307 .groups = mlxbf_bootctl_attr_groups,
308 .acpi_match_table = ACPI_PTR(mlxbf_bootctl_acpi_ids),
309 }
310 };
311
312 module_platform_driver(mlxbf_bootctl_driver);
313
> 314 MODULE_DESCRIPTION(DRIVER_DESCRIPTION);

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2019-02-01 12:43    [W:0.509 / U:1.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site