From a3373ca948c4564d017793a9d324d300c7fb37a1 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 8 Dec 2010 10:14:58 +0000
Subject: 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
---
 target/linux/ramips/files/drivers/net/ramips_esw.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

(limited to 'target/linux/ramips')

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;
 }
-- 
cgit v1.2.3