[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1609750546-17118-1-git-send-email-chensong_2000@189.cn>
Date: Mon, 4 Jan 2021 16:55:46 +0800
From: Song Chen <chensong_2000@....cn>
To: greg@...ah.com, linux-kernel@...r.kernel.org, geert@...ux-m68k.org,
sfr@...b.auug.org.au
Cc: abbotti@....co.uk, hsweeten@...ionengravers.com,
Song Chen <chensong_2000@....cn>
Subject: [PATCH v2] staging: board: Remove macro board_staging
Macro is not supposed to have flow control in it's
statement, remove.
Signed-off-by: Song Chen <chensong_2000@....cn>
---
Changes in v2:
1, kzm9d_init and armadillo800eva_init are not compatible
with the definition of device_initcall, fixed.
---
drivers/staging/board/armadillo800eva.c | 15 ++++++++++-----
drivers/staging/board/board.h | 11 -----------
drivers/staging/board/kzm9d.c | 23 ++++++++++++++---------
3 files changed, 24 insertions(+), 25 deletions(-)
diff --git a/drivers/staging/board/armadillo800eva.c b/drivers/staging/board/armadillo800eva.c
index 0225234..9896c7ba 100644
--- a/drivers/staging/board/armadillo800eva.c
+++ b/drivers/staging/board/armadillo800eva.c
@@ -78,11 +78,16 @@ static const struct board_staging_dev armadillo800eva_devices[] __initconst = {
},
};
-static void __init armadillo800eva_init(void)
+static int __init armadillo800eva_init(void)
{
- board_staging_gic_setup_xlate("arm,pl390", 32);
- board_staging_register_devices(armadillo800eva_devices,
- ARRAY_SIZE(armadillo800eva_devices));
+ if (of_machine_is_compatible("renesas,armadillo800eva")) {
+ board_staging_gic_setup_xlate("arm,pl390", 32);
+ board_staging_register_devices(armadillo800eva_devices,
+ ARRAY_SIZE(armadillo800eva_devices));
+ return 0;
+ }
+
+ return -ENODEV;
}
-board_staging("renesas,armadillo800eva", armadillo800eva_init);
+device_initcall(armadillo800eva_init);
diff --git a/drivers/staging/board/board.h b/drivers/staging/board/board.h
index 5609daf..f1c233e 100644
--- a/drivers/staging/board/board.h
+++ b/drivers/staging/board/board.h
@@ -32,15 +32,4 @@ int board_staging_register_device(const struct board_staging_dev *dev);
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) \
-{ \
- if (of_machine_is_compatible(str)) \
- fn(); \
- \
- return 0; \
-} \
- \
-device_initcall(runtime_board_check)
-
#endif /* __BOARD_H__ */
diff --git a/drivers/staging/board/kzm9d.c b/drivers/staging/board/kzm9d.c
index d449a83..d48c3ef 100644
--- a/drivers/staging/board/kzm9d.c
+++ b/drivers/staging/board/kzm9d.c
@@ -10,17 +10,22 @@ static struct resource usbs1_res[] __initdata = {
DEFINE_RES_IRQ(159),
};
-static void __init kzm9d_init(void)
+static int __init kzm9d_init(void)
{
- board_staging_gic_setup_xlate("arm,pl390", 32);
+ if (of_machine_is_compatible("renesas,kzm9d")) {
+ board_staging_gic_setup_xlate("arm,pl390", 32);
- if (!board_staging_dt_node_available(usbs1_res,
- ARRAY_SIZE(usbs1_res))) {
- board_staging_gic_fixup_resources(usbs1_res,
- ARRAY_SIZE(usbs1_res));
- platform_device_register_simple("emxx_udc", -1, usbs1_res,
- ARRAY_SIZE(usbs1_res));
+ if (!board_staging_dt_node_available(usbs1_res,
+ ARRAY_SIZE(usbs1_res))) {
+ board_staging_gic_fixup_resources(usbs1_res,
+ ARRAY_SIZE(usbs1_res));
+ platform_device_register_simple("emxx_udc", -1, usbs1_res,
+ ARRAY_SIZE(usbs1_res));
+ return 0;
+ }
}
+
+ return -ENODEV;
}
-board_staging("renesas,kzm9d", kzm9d_init);
+device_initcall(kzm9d_init);
--
2.7.4
Powered by blists - more mailing lists