diff options
author | Edward O'Callaghan <eocallaghan@alterapraxis.com> | 2014-11-01 12:11:58 +1100 |
---|---|---|
committer | Edward O'Callaghan <eocallaghan@alterapraxis.com> | 2014-11-04 11:36:32 +0100 |
commit | 0f7ec3123952ec9f4a547a6264d7b07786b9cc2a (patch) | |
tree | 66a69ae13652c4b7ebf228227cdbec446ae53b19 | |
parent | 88883163c49c62d3c5156eb5fc95ef718065f561 (diff) | |
download | coreboot-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.c | 24 | ||||
-rw-r--r-- | src/superio/ite/it8716f/superio.c | 24 | ||||
-rw-r--r-- | src/superio/ite/it8772f/superio.c | 24 |
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[] = { |