diff options
author | Rudolf Marek <r.marek@assembler.cz> | 2011-02-19 14:51:31 +0000 |
---|---|---|
committer | Rudolf Marek <r.marek@assembler.cz> | 2011-02-19 14:51:31 +0000 |
commit | 0c8e664713d4dc726bedb5ba0b2e356eed9ae14c (patch) | |
tree | a81752632b470dfcb252e15865c3f2aa7de9bfe0 /src/superio/smsc | |
parent | b8cdd9b4506309ced1529862d7598131a5cb4ea7 (diff) | |
download | coreboot-0c8e664713d4dc726bedb5ba0b2e356eed9ae14c.tar.gz coreboot-0c8e664713d4dc726bedb5ba0b2e356eed9ae14c.tar.bz2 coreboot-0c8e664713d4dc726bedb5ba0b2e356eed9ae14c.zip |
It turns out that the code which enables specific LDN is somewhat buggy.
Instead of enable the device the device gets disabled. However after some time the serial line gets back, most likely some "enable resources" might fix it.
I'm attaching patch which somewhat fixes the problem and changes the function to look same in all superio code. Some boards even did not convert the dev->enabled to 0,1 values.
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6373 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/superio/smsc')
-rw-r--r-- | src/superio/smsc/lpc47b272/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/lpc47b397/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/lpc47m10x/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/lpc47m15x/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/lpc47n217/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/lpc47n227/superio.c | 2 | ||||
-rw-r--r-- | src/superio/smsc/smscsuperio/superio.c | 2 |
7 files changed, 7 insertions, 7 deletions
diff --git a/src/superio/smsc/lpc47b272/superio.c b/src/superio/smsc/lpc47b272/superio.c index 5bf385c7fb49..0f5ea9272b82 100644 --- a/src/superio/smsc/lpc47b272/superio.c +++ b/src/superio/smsc/lpc47b272/superio.c @@ -105,7 +105,7 @@ static void lpc47b272_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev); - pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/lpc47b397/superio.c b/src/superio/smsc/lpc47b397/superio.c index 9c4d8d9f10f2..a0a6c1db19ec 100644 --- a/src/superio/smsc/lpc47b397/superio.c +++ b/src/superio/smsc/lpc47b397/superio.c @@ -116,7 +116,7 @@ static void lpc47b397_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev); - pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/lpc47m10x/superio.c b/src/superio/smsc/lpc47m10x/superio.c index c935d628cfb0..04140b13f84b 100644 --- a/src/superio/smsc/lpc47m10x/superio.c +++ b/src/superio/smsc/lpc47m10x/superio.c @@ -103,7 +103,7 @@ static void lpc47m10x_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev); - pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/lpc47m15x/superio.c b/src/superio/smsc/lpc47m15x/superio.c index acd4b39c2b82..54762de1c164 100644 --- a/src/superio/smsc/lpc47m15x/superio.c +++ b/src/superio/smsc/lpc47m15x/superio.c @@ -87,7 +87,7 @@ static void lpc47m15x_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev); - pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/lpc47n217/superio.c b/src/superio/smsc/lpc47n217/superio.c index 4cc580643fed..b1455330d021 100644 --- a/src/superio/smsc/lpc47n217/superio.c +++ b/src/superio/smsc/lpc47n217/superio.c @@ -119,7 +119,7 @@ static void lpc47n217_pnp_enable_resources(device_t dev) static void lpc47n217_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); - lpc47n217_pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + lpc47n217_pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/lpc47n227/superio.c b/src/superio/smsc/lpc47n227/superio.c index 2a4ead988476..20345b823009 100644 --- a/src/superio/smsc/lpc47n227/superio.c +++ b/src/superio/smsc/lpc47n227/superio.c @@ -116,7 +116,7 @@ void lpc47n227_pnp_enable_resources(device_t dev) void lpc47n227_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); - lpc47n227_pnp_set_enable(dev, (dev->enabled) ? 1 : 0); + lpc47n227_pnp_set_enable(dev, !!dev->enabled); pnp_exit_conf_state(dev); } diff --git a/src/superio/smsc/smscsuperio/superio.c b/src/superio/smsc/smscsuperio/superio.c index ff8b1b926c06..e618823fa404 100644 --- a/src/superio/smsc/smscsuperio/superio.c +++ b/src/superio/smsc/smscsuperio/superio.c @@ -193,7 +193,7 @@ static void smsc_pnp_enable(device_t dev) { smsc_pnp_enter_conf_state(dev); pnp_set_logical_device(dev); - (dev->enabled) ? pnp_set_enable(dev, 1) : pnp_set_enable(dev, 0); + pnp_set_enable(dev, !!dev->enabled); smsc_pnp_exit_conf_state(dev); } |