From fdfc3c76a503dd3f228c00f04c8cbe69a1350b29 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 15 Jan 2006 16:18:50 +0000 Subject: sync kmod-switch with whiterussian git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2989 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../target/linux/package/switch/src/switch-adm.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'openwrt/target/linux/package') diff --git a/openwrt/target/linux/package/switch/src/switch-adm.c b/openwrt/target/linux/package/switch/src/switch-adm.c index 2ce87e777..919d685cb 100644 --- a/openwrt/target/linux/package/switch/src/switch-adm.c +++ b/openwrt/target/linux/package/switch/src/switch-adm.c @@ -413,6 +413,7 @@ static int handle_vlan_enable_write(void *driver, char *buf, int nr) static int handle_reset(void *driver, char *buf, int nr) { int i; + u32 cfg; /* * Reset sequence: RC high->low(100ms)->high(30ms) @@ -438,14 +439,15 @@ static int handle_reset(void *driver, char *buf, int nr) udelay(1000); /* Leave RC high and disable GPIO outputs */ adm_disout((__u8)(eecs | eesk | eedi)); + } - /* set up initial configuration for ports */ - for (i = 0; i <= 5; i++) { - int cfg = 0x8000 | /* Auto MDIX */ - (((i == 5) ? 1 : 0) << 4) | /* Tagging */ - 0xf; /* full duplex, 100Mbps, auto neg, flow ctrl */ - adm_wreg(port_conf[i], cfg); - } + + /* set up initial configuration for cpu port */ + cfg = (0x8000 | /* Auto MDIX */ + (0xf << 10) | /* PVID */ + (1 << 4) | /* Tagging */ + 0xf); /* full duplex, 100Mbps, auto neg, flow ctrl */ + adm_wreg(port_conf[5], cfg); /* vlan mode select register (0x11): vlan on, mac clone */ adm_wreg(0x11, 0xff30); @@ -490,13 +492,12 @@ static int detect_adm() eedi = getgpiopin("adm_eedi", 4); eerc = getgpiopin("adm_rc", 0); - } else if ((strcmp(nvram_get("boardtype"), "bcm94710dev") == 0) && - (strncmp(nvram_get("boardnum"), "42", 2) == 0)) { + } else if ((strcmp(nvram_get("boardtype") ?: "", "bcm94710dev") == 0) && + (strncmp(nvram_get("boardnum") ?: "", "42", 2) == 0)) { /* WRT54G v1.1 hack */ eecs = 2; eesk = 3; eedi = 5; - eerc = 6; ret = 1; } else -- cgit v1.2.3