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 6f4aebc9c92374af1b466a6b7fe59078d68c2e60..e31331aec1ecaacb8e69d0eba3fce2312dcdb832 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 eaa14df39e8c9bcaba9605bfcc76a2f2966cf678..7865ae2b70130340f2ab7056ff07a080ac77781c 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 1450da56dd38dc63a82c358554d76411d9853cae..271c462eac677fe388e7c6cc7cf5dc2d524cf3ec 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__ */