From a3373ca948c4564d017793a9d324d300c7fb37a1 Mon Sep 17 00:00:00 2001 From: juhosg Date: Wed, 8 Dec 2010 10:14:58 +0000 Subject: [PATCH] ramips: ramips_esw: move hardware initialization into a separate function git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24330 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/files/drivers/net/ramips_esw.c | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/target/linux/ramips/files/drivers/net/ramips_esw.c b/target/linux/ramips/files/drivers/net/ramips_esw.c index e4c8ea3db..e8041b48d 100644 --- a/target/linux/ramips/files/drivers/net/ramips_esw.c +++ b/target/linux/ramips/files/drivers/net/ramips_esw.c @@ -75,17 +75,11 @@ out: return ret; } -static int -rt305x_esw_init(void) +static void +rt305x_esw_hw_init(struct rt305x_esw *esw) { - struct rt305x_esw *esw; int i; - esw = &rt305x_esw; - esw->base = ioremap_nocache(RT305X_SWITCH_BASE, PAGE_SIZE); - if(!esw->base) - return -ENOMEM; - /* vodoo from original driver */ ramips_esw_wr(esw, 0xC8A07850, 0x08); ramips_esw_wr(esw, 0x00000000, 0xe4); @@ -124,6 +118,18 @@ rt305x_esw_init(void) /* set default vlan */ ramips_esw_wr(esw, 0x2001, 0x50); ramips_esw_wr(esw, 0x504f, 0x70); +} +static int +rt305x_esw_init(void) +{ + struct rt305x_esw *esw; + + esw = &rt305x_esw; + esw->base = ioremap_nocache(RT305X_SWITCH_BASE, PAGE_SIZE); + if(!esw->base) + return -ENOMEM; + + rt305x_esw_hw_init(esw); return 0; }