Re: [PATCH] staging: board: Remove control flow from macro

From: Geert Uytterhoeven
Date: Mon Dec 05 2022 - 03:54:17 EST


Hi Joe,

On Sat, Dec 3, 2022 at 4:08 AM Joe Peterson <jwp.linux@xxxxxxxxx> wrote:
> Adhere to Linux coding style
>
> Reported by checkpatch:
>
> WARNING: Macros with flow control statements should be avoided
>
> There is only one return value possible. Remove the checkpatch warning
> without effecting functionality.
>
> Signed-off-by: Joe Peterson <jwp.linux@xxxxxxxxx>

Thanks for your patch!
But please try to compile it before submission.

> --- a/drivers/staging/board/board.h
> +++ b/drivers/staging/board/board.h
> @@ -33,12 +33,10 @@ void board_staging_register_devices(const struct board_staging_dev *devs,
> unsigned int ndevs);
>
> #define board_staging(str, fn) \
> -static int __init runtime_board_check(void) \
> +static void __init runtime_board_check(void) \

device_initcalls must adhere to the initcall_t signature, regardless
what checkpatch says, cfr. include/linux/init.h:

typedef int (*initcall_t)(void);

> { \
> if (of_machine_is_compatible(str)) \
> fn(); \
> - \
> - return 0; \
> } \
> \
> device_initcall(runtime_board_check)


Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds