[PATCH 2/2] state: provide dummy implementations for some functions when STATE is disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This allows to simplify some callers as can be seen from the
phytec-som-am335x/board.c change. (The check for state != NULL could be
dropped already before.)

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
---
 arch/arm/boards/phytec-som-am335x/board.c | 14 ++++-----
 include/state.h                           | 36 +++++++++++++++++++++++
 2 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boards/phytec-som-am335x/board.c b/arch/arm/boards/phytec-som-am335x/board.c
index 441d56348cc7..c25f33ae20d5 100644
--- a/arch/arm/boards/phytec-som-am335x/board.c
+++ b/arch/arm/boards/phytec-som-am335x/board.c
@@ -124,15 +124,11 @@ static int physom_devices_init(void)
 				ARRAY_SIZE(nandslots));
 	am33xx_bbu_emmc_mlo_register_handler("MLO.emmc", "/dev/mmc1");
 
-	if (IS_ENABLED(CONFIG_STATE)) {
-		state = state_by_name("am335x_phytec_mac_state");
-		if (state)
-			for (state_i = 0; state_i < 2; state_i++) {
-				state_ret = state_read_mac(state,
-						      eth_names[state_i], &mac[0]);
-				if (!state_ret && is_valid_ether_addr(&mac[0]))
-					eth_register_ethaddr(state_i, mac);
-			}
+	state = state_by_name("am335x_phytec_mac_state");
+	for (state_i = 0; state_i < 2; state_i++) {
+		state_ret = state_read_mac(state, eth_names[state_i], &mac[0]);
+		if (!state_ret && is_valid_ether_addr(&mac[0]))
+			eth_register_ethaddr(state_i, mac);
 	}
 
 	if (IS_ENABLED(CONFIG_PHYTEC_SOM_AM335X_OF_AUTOENABLE)) {
diff --git a/include/state.h b/include/state.h
index a49155ef2779..d98b781c2089 100644
--- a/include/state.h
+++ b/include/state.h
@@ -5,6 +5,7 @@
 
 struct state;
 
+#if IS_ENABLED(CONFIG_STATE)
 
 struct state *state_new_from_node(struct device_node *node, bool readonly);
 void state_release(struct state *state);
@@ -19,4 +20,39 @@ void state_info(void);
 
 int state_read_mac(struct state *state, const char *name, u8 *buf);
 
+#else /* #if IS_ENABLED(CONFIG_STATE) */
+
+static inline struct state *state_new_from_node(struct device_node *node,
+						bool readonly)
+{
+	return ERR_PTR(-ENOSYS);
+}
+
+static inline struct state *state_by_name(const char *name)
+{
+	return NULL;
+}
+
+static inline struct state *state_by_node(const struct device_node *node)
+{
+	return NULL;
+};
+
+static inline int state_load(struct state *state)
+{
+	return -ENOSYS;
+}
+
+static inline int state_save(struct state *state)
+{
+	return -ENOSYS;
+}
+
+static inline int state_read_mac(struct state *state, const char *name, u8 *buf)
+{
+	return -ENOSYS;
+}
+
+#endif /* #if IS_ENABLED(CONFIG_STATE) / #else */
+
 #endif /* __STATE_H */
-- 
2.23.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux