[U-Boot] [PATCH 8/9] malta: Use I/O accessors for SuperI/O controller

Paul Burton paul.burton at imgtec.com
Fri Jan 29 14:54:54 CET 2016


Rather than passing the I/O port base address to the Super I/O code,
switch it to using outb such that it makes use of the I/O port base
address automatically.

Drop the extern keyword to satisfy checkpatch whilst here.

Signed-off-by: Paul Burton <paul.burton at imgtec.com>
---

 board/imgtec/malta/malta.c   | 10 +++++-----
 board/imgtec/malta/superio.c | 10 +++++-----
 board/imgtec/malta/superio.h |  2 +-
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/board/imgtec/malta/malta.c b/board/imgtec/malta/malta.c
index 6f4aebc..e31331a 100644
--- a/board/imgtec/malta/malta.c
+++ b/board/imgtec/malta/malta.c
@@ -130,26 +130,26 @@ void _machine_restart(void)
 
 int board_early_init_f(void)
 {
-	void *io_base;
+	ulong io_base;
 
 	/* choose correct PCI I/O base */
 	switch (malta_sys_con()) {
 	case SYSCON_GT64120:
-		io_base = (void *)CKSEG1ADDR(MALTA_GT_PCIIO_BASE);
+		io_base = CKSEG1ADDR(MALTA_GT_PCIIO_BASE);
 		break;
 
 	case SYSCON_MSC01:
-		io_base = (void *)CKSEG1ADDR(MALTA_MSC01_PCIIO_BASE);
+		io_base = CKSEG1ADDR(MALTA_MSC01_PCIIO_BASE);
 		break;
 
 	default:
 		return -1;
 	}
 
-	set_io_port_base((ulong)io_base);
+	set_io_port_base(io_base);
 
 	/* setup FDC37M817 super I/O controller */
-	malta_superio_init(io_base);
+	malta_superio_init();
 
 	return 0;
 }
diff --git a/board/imgtec/malta/superio.c b/board/imgtec/malta/superio.c
index eaa14df..7865ae2 100644
--- a/board/imgtec/malta/superio.c
+++ b/board/imgtec/malta/superio.c
@@ -45,19 +45,19 @@ static struct {
 	{ SIOCONF_ACTIVATE,	0x01 },
 };
 
-void malta_superio_init(void *io_base)
+void malta_superio_init(void)
 {
 	unsigned i;
 
 	/* enter config state */
-	writeb(SIOCONF_ENTER_SETUP, io_base + SIO_CONF_PORT);
+	outb(SIOCONF_ENTER_SETUP, SIO_CONF_PORT);
 
 	/* configure peripherals */
 	for (i = 0; i < ARRAY_SIZE(sio_config); i++) {
-		writeb(sio_config[i].key, io_base + SIO_CONF_PORT);
-		writeb(sio_config[i].data, io_base + SIO_DATA_PORT);
+		outb(sio_config[i].key, SIO_CONF_PORT);
+		outb(sio_config[i].data, SIO_DATA_PORT);
 	}
 
 	/* exit config state */
-	writeb(SIOCONF_EXIT_SETUP, io_base + SIO_CONF_PORT);
+	outb(SIOCONF_EXIT_SETUP, SIO_CONF_PORT);
 }
diff --git a/board/imgtec/malta/superio.h b/board/imgtec/malta/superio.h
index 1450da5..271c462 100644
--- a/board/imgtec/malta/superio.h
+++ b/board/imgtec/malta/superio.h
@@ -10,6 +10,6 @@
 #ifndef __BOARD_MALTA_SUPERIO_H__
 #define __BOARD_MALTA_SUPERIO_H__
 
-extern void malta_superio_init(void *io_base);
+void malta_superio_init(void);
 
 #endif /* __BOARD_MALTA_SUPERIO_H__ */
-- 
2.7.0



More information about the U-Boot mailing list