printk_foo -> printk(BIOS_FOO, ...)
[coreboot.git] / src / superio / ite / it8716f / superio.c
index 0d3fc3a09cd875d3fc9a50cd522a99980d876b00..e4ba7b4a55b52d4140681dd09109170a5b48dd29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the LinuxBIOS project.
+ * This file is part of the coreboot project.
  *
  * Copyright (C) 2006 Uwe Hermann <uwe@hermann-uwe.de>
  * Copyright (C) 2007 AMD
@@ -27,6 +27,7 @@
 #include <uart8250.h>
 #include <pc80/keyboard.h>
 #include <arch/io.h>
+#include <stdlib.h>
 #include "chip.h"
 #include "it8716f.h"
 
 /* Base address 0x4e: 0x87 0x01 0x55 0xaa. */
 static void pnp_enter_ext_func_mode(device_t dev)
 {
-       outb(0x87, dev->path.u.pnp.port);
-       outb(0x01, dev->path.u.pnp.port);
-       outb(0x55, dev->path.u.pnp.port);
+       outb(0x87, dev->path.pnp.port);
+       outb(0x01, dev->path.pnp.port);
+       outb(0x55, dev->path.pnp.port);
 
-       if (dev->path.u.pnp.port == 0x4e) {
-               outb(0xaa, dev->path.u.pnp.port);
+       if (dev->path.pnp.port == 0x4e) {
+               outb(0xaa, dev->path.pnp.port);
        } else {
-               outb(0x55, dev->path.u.pnp.port);
+               outb(0x55, dev->path.pnp.port);
        }
 }
 
@@ -50,6 +51,9 @@ static void pnp_exit_ext_func_mode(device_t dev)
        pnp_write_config(dev, 0x02, 0x02);
 }
 
+#if CONFIG_SUPERIO_ITE_IT8716F_OVERRIDE_FANCTL
+extern void init_ec(uint16_t base);
+#else
 static void pnp_write_index(uint16_t port_base, uint8_t reg, uint8_t value)
 {
        outb(reg, port_base);
@@ -68,15 +72,16 @@ static void init_ec(uint16_t base)
 
        /* Read out current value of FAN_CTL control register (0x14). */
        value = pnp_read_index(base, 0x14);
-       printk_debug("FAN_CTL: reg = 0x%04x, read value = 0x%02x\r\n",
+       printk(BIOS_DEBUG, "FAN_CTL: reg = 0x%04x, read value = 0x%02x\r\n",
                     base + 0x14, value);
 
        /* Set FAN_CTL control register (0x14) polarity to high, and
           activate fans 1, 2 and 3. */
        pnp_write_index(base, 0x14, value | 0x87);
-       printk_debug("FAN_CTL: reg = 0x%04x, writing value = 0x%02x\r\n",
+       printk(BIOS_DEBUG, "FAN_CTL: reg = 0x%04x, writing value = 0x%02x\r\n",
                     base + 0x14, value | 0x87);
 }
+#endif
 
 static void it8716f_init(device_t dev)
 {
@@ -90,7 +95,7 @@ static void it8716f_init(device_t dev)
        conf = dev->chip_info;
 
        /* TODO: FDC, PP, KBCM, MIDI, GAME, IR. */
-       switch (dev->path.u.pnp.device) {
+       switch (dev->path.pnp.device) {
        case IT8716F_SP1:
                res0 = find_resource(dev, PNP_IDX_IO0);
                init_uart8250(res0->base, &conf->com1);
@@ -107,7 +112,7 @@ static void it8716f_init(device_t dev)
        case IT8716F_KBCK:
                res0 = find_resource(dev, PNP_IDX_IO0);
                res1 = find_resource(dev, PNP_IDX_IO1);
-               init_pc_keyboard(res0->base, res1->base, &conf->keyboard);
+               pc_keyboard_init(&conf->keyboard);
                break;
        }
 }
@@ -152,7 +157,7 @@ static struct pnp_info pnp_dev_info[] = {
        {&ops, IT8716F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, {0x7ff, 0},
         {0x7ff, 0x4},},
        {&ops, IT8716F_KBCM, PNP_IRQ0,},
-       // No 7 { 0,},
+       {&ops, IT8716F_GPIO, PNP_IO1 | PNP_IO2, {0, 0}, {0x7f8, 0}, {0x7f8, 0},},
        {&ops, IT8716F_MIDI, PNP_IO0 | PNP_IRQ0, {0x7fe, 0x4},},
        {&ops, IT8716F_GAME, PNP_IO0, {0x7ff, 0},},
        {&ops, IT8716F_IR,},
@@ -161,7 +166,7 @@ static struct pnp_info pnp_dev_info[] = {
 static void enable_dev(struct device *dev)
 {
        pnp_enable_devices(dev, &ops,
-               sizeof(pnp_dev_info) / sizeof(pnp_dev_info[0]), pnp_dev_info);
+               ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
 }
 
 struct chip_operations superio_ite_it8716f_ops = {