ar71xx: rb2011: simplify setup code

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39095 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2013-12-16 10:28:42 +00:00
parent e212e7382c
commit 6ea3cd876a
1 changed files with 19 additions and 16 deletions

View File

@ -49,6 +49,10 @@
#define RB_ART_SIZE 0x10000 #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[] = { static struct mtd_partition rb2011_spi_partitions[] = {
{ {
.name = "routerboot", .name = "routerboot",
@ -230,7 +234,7 @@ static void __init rb2011_sfp_init(void)
rb2011_ar8327_data.get_port_link = rb2011_get_port_link; 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; const struct rb_info *info;
@ -269,26 +273,29 @@ static int __init rb2011_setup(void)
ath79_register_eth(1); 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; return 0;
} }
static void __init rb2011l_setup(void) static void __init rb2011l_setup(void)
{ {
rb2011_setup(); rb2011_setup(0);
} }
MIPS_MACHINE(ATH79_MACH_RB_2011L, "2011L", "MikroTik RouterBOARD 2011L", MIPS_MACHINE(ATH79_MACH_RB_2011L, "2011L", "MikroTik RouterBOARD 2011L",
rb2011l_setup); rb2011l_setup);
static void __init rb2011us_setup(void) static void __init rb2011us_setup(void)
{ {
if (rb2011_setup()) rb2011_setup(RB2011_FLAG_SFP | RB2011_FLAG_USB);
return;
rb2011_sfp_init();
ath79_register_usb();
} }
MIPS_MACHINE(ATH79_MACH_RB_2011US, "2011US", "MikroTik RouterBOARD 2011UAS", 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) static void __init rb2011g_setup(void)
{ {
if (rb2011_setup()) rb2011_setup(RB2011_FLAG_SFP |
return; RB2011_FLAG_USB |
RB2011_FLAG_WLAN);
rb2011_sfp_init();
rb2011_wlan_init();
ath79_register_usb();
} }
MIPS_MACHINE(ATH79_MACH_RB_2011G, "2011G", "MikroTik RouterBOARD 2011UAS-2HnD", MIPS_MACHINE(ATH79_MACH_RB_2011G, "2011G", "MikroTik RouterBOARD 2011UAS-2HnD",