ソースを参照

ramips: ramips_esw: move hardware initialization into a separate function

SVN-Revision: 24330
Gabor Juhos 15 年 前
コミット
889729df01
1 ファイル変更14 行追加8 行削除
  1. 14 8
      target/linux/ramips/files/drivers/net/ramips_esw.c

+ 14 - 8
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;
 }