From 6ea3cd876a2de6a1b6d5e7104f7d4b7b8e630912 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 16 Dec 2013 10:28:42 +0000 Subject: [PATCH] ar71xx: rb2011: simplify setup code Signed-off-by: Gabor Juhos git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39095 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../files/arch/mips/ath79/mach-rb2011.c | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c index 44a1aa79b2..c0c24a5d26 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c @@ -49,6 +49,10 @@ #define RB_ART_SIZE 0x10000 +#define RB2011_FLAG_SFP BIT(0) +#define RB2011_FLAG_USB BIT(1) +#define RB2011_FLAG_WLAN BIT(2) + static struct mtd_partition rb2011_spi_partitions[] = { { .name = "routerboot", @@ -230,7 +234,7 @@ static void __init rb2011_sfp_init(void) rb2011_ar8327_data.get_port_link = rb2011_get_port_link; } -static int __init rb2011_setup(void) +static int __init rb2011_setup(u32 flags) { const struct rb_info *info; @@ -269,26 +273,29 @@ static int __init rb2011_setup(void) ath79_register_eth(1); + if (flags & RB2011_FLAG_SFP) + rb2011_sfp_init(); + + if (flags & RB2011_FLAG_WLAN) + rb2011_wlan_init(); + + if (flags & RB2011_FLAG_USB) + ath79_register_usb(); + return 0; } static void __init rb2011l_setup(void) { - rb2011_setup(); + rb2011_setup(0); } - MIPS_MACHINE(ATH79_MACH_RB_2011L, "2011L", "MikroTik RouterBOARD 2011L", rb2011l_setup); static void __init rb2011us_setup(void) { - if (rb2011_setup()) - return; - - rb2011_sfp_init(); - - ath79_register_usb(); + rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB); } MIPS_MACHINE(ATH79_MACH_RB_2011US, "2011US", "MikroTik RouterBOARD 2011UAS", @@ -296,13 +303,9 @@ MIPS_MACHINE(ATH79_MACH_RB_2011US, "2011US", "MikroTik RouterBOARD 2011UAS", static void __init rb2011g_setup(void) { - if (rb2011_setup()) - return; - - rb2011_sfp_init(); - rb2011_wlan_init(); - - ath79_register_usb(); + rb2011_setup(RB2011_FLAG_SFP | + RB2011_FLAG_USB | + RB2011_FLAG_WLAN); } MIPS_MACHINE(ATH79_MACH_RB_2011G, "2011G", "MikroTik RouterBOARD 2011UAS-2HnD",