summaryrefslogtreecommitdiff
path: root/src/superio/winbond/w83697hf
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2010-11-10 14:53:36 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2010-11-10 14:53:36 +0000
commit340fa9396b4b73fd894a15fe48882c98d74292ce (patch)
treefd38d38490431ddb2c210ffbc39b4771ce08eda2 /src/superio/winbond/w83697hf
parent02d66fd1bf3e5548dc5edaed074d2946fe5a37df (diff)
downloadcoreboot-340fa9396b4b73fd894a15fe48882c98d74292ce.tar.xz
Random Winbond Super I/O cosmetic and coding-style fixes.
- Whitespace, coding style, and typo fixes. - Drop unused/obsolete "#config chip.h". - Use u8/u16/etc. everywhere. - Use pnp_read_config()/pnp_write_config() instead of open-coding them. - Use pnp_set_logical_device() instead of open-coding it. - W83627EHG: Fix incorrect enable_hwm_smbus() code comment. - Use ARRAY_SIZE. - w83627hf/superio.c: w83627hf_16_bit_addr_qual(): Bugfix, the code was using 'dev->path.pnp.port >> 8' as config port, which is incorrect in superio.c (which has a "real" device_t struct, in contrast to *_early_serial.c which uses "unsigned" as device_t where 'dev >> 8' is required). Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6057 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/superio/winbond/w83697hf')
-rw-r--r--src/superio/winbond/w83697hf/Makefile.inc2
-rw-r--r--src/superio/winbond/w83697hf/superio.c16
-rw-r--r--src/superio/winbond/w83697hf/w83697hf.h4
-rw-r--r--src/superio/winbond/w83697hf/w83697hf_early_serial.c11
4 files changed, 17 insertions, 16 deletions
diff --git a/src/superio/winbond/w83697hf/Makefile.inc b/src/superio/winbond/w83697hf/Makefile.inc
index e1e27b054c..c6647d6757 100644
--- a/src/superio/winbond/w83697hf/Makefile.inc
+++ b/src/superio/winbond/w83697hf/Makefile.inc
@@ -18,5 +18,5 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-#config chip.h
ramstage-$(CONFIG_SUPERIO_WINBOND_W83697HF) += superio.c
+
diff --git a/src/superio/winbond/w83697hf/superio.c b/src/superio/winbond/w83697hf/superio.c
index 53e2a2bddb..ab594b4753 100644
--- a/src/superio/winbond/w83697hf/superio.c
+++ b/src/superio/winbond/w83697hf/superio.c
@@ -43,13 +43,12 @@ static void pnp_exit_ext_func_mode(device_t dev)
static void w83697hf_init(device_t dev)
{
- struct superio_winbond_w83697hf_config *conf;
+ struct superio_winbond_w83697hf_config *conf = dev->chip_info;
struct resource *res0;
if (!dev->enabled)
return;
- conf = dev->chip_info;
switch(dev->path.pnp.device) {
case W83697HF_SP1:
res0 = find_resource(dev, PNP_IDX_IO0);
@@ -71,12 +70,13 @@ static void w83697hf_pnp_set_resources(device_t dev)
static void w83697hf_pnp_enable(device_t dev)
{
- if (!dev->enabled) {
- pnp_enter_ext_func_mode(dev);
- pnp_set_logical_device(dev);
- pnp_set_enable(dev, 0);
- pnp_exit_ext_func_mode(dev);
- }
+ if (dev->enabled)
+ return;
+
+ pnp_enter_ext_func_mode(dev);
+ pnp_set_logical_device(dev);
+ pnp_set_enable(dev, 0);
+ pnp_exit_ext_func_mode(dev);
}
static void w83697hf_pnp_enable_resources(device_t dev)
diff --git a/src/superio/winbond/w83697hf/w83697hf.h b/src/superio/winbond/w83697hf/w83697hf.h
index 3e979c911d..0eeb37c9c9 100644
--- a/src/superio/winbond/w83697hf/w83697hf.h
+++ b/src/superio/winbond/w83697hf/w83697hf.h
@@ -22,7 +22,7 @@
#define SUPERIO_WINBOND_W83697HF_W83697HF_H
#define W83697HF_FDC 0 /* Floppy */
-#define W83697HF_PP 1 /* Parallel Port */
+#define W83697HF_PP 1 /* Parallel port */
#define W83697HF_SP1 2 /* Com1 */
#define W83697HF_SP2 3 /* Com2 */
#define W83697HF_CIR 6 /* Consumer IR */
@@ -30,6 +30,6 @@
#define W83697HF_MIDI_GPIO5 8 /* MIDI, GPIO 5 */
#define W83697HF_GPIO234 9 /* GPIO 2, 3, 4 */
#define W83697HF_ACPI 10 /* ACPI */
-#define W83697HF_HWM 11 /* Hardware Monitor */
+#define W83697HF_HWM 11 /* Hardware monitor */
#endif
diff --git a/src/superio/winbond/w83697hf/w83697hf_early_serial.c b/src/superio/winbond/w83697hf/w83697hf_early_serial.c
index 1e05e38f40..7731804699 100644
--- a/src/superio/winbond/w83697hf/w83697hf_early_serial.c
+++ b/src/superio/winbond/w83697hf/w83697hf_early_serial.c
@@ -22,7 +22,7 @@
#include <arch/romcc_io.h>
#include "w83697hf.h"
-static inline void pnp_enter_ext_func_mode(device_t dev)
+static void pnp_enter_ext_func_mode(device_t dev)
{
u16 port = dev >> 8;
outb(0x87, port);
@@ -37,11 +37,12 @@ static void pnp_exit_ext_func_mode(device_t dev)
static void w83697hf_set_clksel_48(device_t dev)
{
- u16 port = dev >> 8;
+ u8 reg8;
+
pnp_enter_ext_func_mode(dev);
- outb(0x24, port);
- /* Set the clock input to 48Mhz */
- outb(inb(port+1)|0x40, port+1);
+ reg8 = pnp_read_config(dev, 0x24);
+ reg8 |= (1 << 6); /* Set the clock input to 48MHz. */
+ pnp_write_config(dev, 0x24, reg8);
pnp_exit_ext_func_mode(dev);
}