malta: Use I/O accessors for SuperI/O controller
authorPaul Burton <paul.burton@imgtec.com>
Fri, 29 Jan 2016 13:54:54 +0000 (13:54 +0000)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Mon, 1 Feb 2016 21:13:25 +0000 (22:13 +0100)
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@imgtec.com>
board/imgtec/malta/malta.c
board/imgtec/malta/superio.c
board/imgtec/malta/superio.h

index 6f4aebc..e31331a 100644 (file)
@@ -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;
 }
index eaa14df..7865ae2 100644 (file)
@@ -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);
 }
index 1450da5..271c462 100644 (file)
@@ -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__ */