RE: [PATCH v1 1/1] platform/mellanox: Add bootctl driver for Mellanox BlueField Soc

From: Liming Sun
Date: Fri Feb 01 2019 - 15:49:01 EST


Thanks for the information!

Patch v4 1/1 has been posted to solve these issues.

Best regards,
Liming

> -----Original Message-----
> From: kbuild test robot <lkp@xxxxxxxxx>
> Sent: Friday, February 1, 2019 12:17 AM
> To: Liming Sun <lsun@xxxxxxxxxxxx>
> Cc: kbuild-all@xxxxxx; Andy Shevchenko <andy@xxxxxxxxxxxxx>; Darren Hart <dvhart@xxxxxxxxxxxxx>; Vadim Pasternak
> <vadimp@xxxxxxxxxxxx>; David Woods <dwoods@xxxxxxxxxxxx>; Liming Sun <lsun@xxxxxxxxxxxx>; platform-driver-
> x86@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [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