summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward O'Callaghan <eocallaghan@alterapraxis.com>2014-11-01 12:11:58 +1100
committerEdward O'Callaghan <eocallaghan@alterapraxis.com>2014-11-04 11:36:32 +0100
commit0f7ec3123952ec9f4a547a6264d7b07786b9cc2a (patch)
tree66a69ae13652c4b7ebf228227cdbec446ae53b19
parent88883163c49c62d3c5156eb5fc95ef718065f561 (diff)
downloadcoreboot-0f7ec3123952ec9f4a547a6264d7b07786b9cc2a.tar.xz
superio/ite: Use common dispatch for pnp entry/exit functions
We already have these implemented under superio/common, use those instead of this copy-paste syndrom. Change-Id: I7c7737e0b3c284d8b14b36c70681ab2269bb1d4b Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-on: http://review.coreboot.org/7310 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
-rw-r--r--src/superio/ite/it8712f/superio.c24
-rw-r--r--src/superio/ite/it8716f/superio.c24
-rw-r--r--src/superio/ite/it8772f/superio.c24
3 files changed, 9 insertions, 63 deletions
diff --git a/src/superio/ite/it8712f/superio.c b/src/superio/ite/it8712f/superio.c
index 9dd9f85911..02a51fb636 100644
--- a/src/superio/ite/it8712f/superio.c
+++ b/src/superio/ite/it8712f/superio.c
@@ -24,22 +24,9 @@
#include <pc80/keyboard.h>
#include <arch/io.h>
#include <stdlib.h>
-#include "it8712f.h"
-
-static void pnp_enter_ext_func_mode(struct device *dev)
-{
- u16 port = dev->path.pnp.port;
-
- outb(0x87, port);
- outb(0x01, port);
- outb(0x55, port);
- outb((port == 0x4e) ? 0xaa : 0x55, port);
-}
+#include <superio/conf_mode.h>
-static void pnp_exit_ext_func_mode(struct device *dev)
-{
- pnp_write_config(dev, 0x02, 0x02);
-}
+#include "it8712f.h"
static void it8712f_init(struct device *dev)
{
@@ -69,18 +56,13 @@ static void it8712f_init(struct device *dev)
}
}
-static const struct pnp_mode_ops pnp_conf_mode_ops = {
- .enter_conf_mode = pnp_enter_ext_func_mode,
- .exit_conf_mode = pnp_exit_ext_func_mode,
-};
-
static struct device_operations ops = {
.read_resources = pnp_read_resources,
.set_resources = pnp_set_resources,
.enable_resources = pnp_enable_resources,
.enable = pnp_alt_enable,
.init = it8712f_init,
- .ops_pnp_mode = &pnp_conf_mode_ops,
+ .ops_pnp_mode = &pnp_conf_mode_870155_aa,
};
static struct pnp_info pnp_dev_info[] = {
diff --git a/src/superio/ite/it8716f/superio.c b/src/superio/ite/it8716f/superio.c
index 874061f385..56747ba762 100644
--- a/src/superio/ite/it8716f/superio.c
+++ b/src/superio/ite/it8716f/superio.c
@@ -27,22 +27,9 @@
#include <pc80/keyboard.h>
#include <arch/io.h>
#include <stdlib.h>
-#include "it8716f.h"
-
-static void pnp_enter_ext_func_mode(struct device *dev)
-{
- u16 port = dev->path.pnp.port;
-
- outb(0x87, port);
- outb(0x01, port);
- outb(0x55, port);
- outb((port == 0x4e) ? 0xaa : 0x55, port);
-}
+#include <superio/conf_mode.h>
-static void pnp_exit_ext_func_mode(struct device *dev)
-{
- pnp_write_config(dev, 0x02, 0x02);
-}
+#include "it8716f.h"
#if !CONFIG_SUPERIO_ITE_IT8716F_OVERRIDE_FANCTL
static void pnp_write_index(u16 port_base, u8 reg, u8 value)
@@ -93,18 +80,13 @@ static void it8716f_init(struct device *dev)
}
}
-static const struct pnp_mode_ops pnp_conf_mode_ops = {
- .enter_conf_mode = pnp_enter_ext_func_mode,
- .exit_conf_mode = pnp_exit_ext_func_mode,
-};
-
static struct device_operations ops = {
.read_resources = pnp_read_resources,
.set_resources = pnp_set_resources,
.enable_resources = pnp_enable_resources,
.enable = pnp_alt_enable,
.init = it8716f_init,
- .ops_pnp_mode = &pnp_conf_mode_ops,
+ .ops_pnp_mode = &pnp_conf_mode_870155_aa,
};
static struct pnp_info pnp_dev_info[] = {
diff --git a/src/superio/ite/it8772f/superio.c b/src/superio/ite/it8772f/superio.c
index 143cc30905..ca103518a4 100644
--- a/src/superio/ite/it8772f/superio.c
+++ b/src/superio/ite/it8772f/superio.c
@@ -23,24 +23,11 @@
#include <pc80/keyboard.h>
#include <arch/io.h>
#include <stdlib.h>
+#include <superio/conf_mode.h>
+
#include "chip.h" /* FIXME */
#include "it8772f.h"
-static void pnp_enter_ext_func_mode(struct device *dev)
-{
- u16 port = dev->path.pnp.port;
-
- outb(0x87, port);
- outb(0x01, port);
- outb(0x55, port);
- outb((port == 0x4e) ? 0xaa : 0x55, port);
-}
-
-static void pnp_exit_ext_func_mode(struct device *dev)
-{
- pnp_write_config(dev, 0x02, 0x02);
-}
-
static inline u8 it8772f_envc_read(struct resource *res, u8 addr)
{
outb(addr, res->base + 5);
@@ -187,18 +174,13 @@ static void it8772f_init(struct device *dev)
}
}
-static const struct pnp_mode_ops pnp_conf_mode_ops = {
- .enter_conf_mode = pnp_enter_ext_func_mode,
- .exit_conf_mode = pnp_exit_ext_func_mode,
-};
-
static struct device_operations ops = {
.read_resources = pnp_read_resources,
.set_resources = pnp_set_resources,
.enable_resources = pnp_enable_resources,
.enable = pnp_alt_enable,
.init = it8772f_init,
- .ops_pnp_mode = &pnp_conf_mode_ops,
+ .ops_pnp_mode = &pnp_conf_mode_870155_aa,
};
static struct pnp_info pnp_dev_info[] = {