Patchwork drop init_uart8250() calls from superio drivers

login
register
about
Submitter Stefan Reinauer
Date 2011-04-14 22:19:22
Message ID <20110414221921.GA9015@coreboot.org>
Download mbox | patch
Permalink /patch/2875/
State Accepted
Headers show

Comments

Stefan Reinauer - 2011-04-14 22:19:22
See patch.

With this in place I keep wondering if we couldn't get rid of all
(non-early) code of most superio drivers
Patrick Georgi - 2011-04-19 19:46:31
Am 15.04.2011 00:19, schrieb Stefan Reinauer:
> See patch.
Acked-by: Patrick Georgi <patrick@georgi-clan.de>

Patch

Drop baud rate init to an arbitrary baud rate from Super I/O code.

See discussion at
http://www.mail-archive.com/coreboot@coreboot.org/msg29394.html

config->com1, devicetree.cb cleanup and init_uart8250() removal
will follow once this patch is comitted

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>

Index: src/superio/fintek/f71805f/superio.c
===================================================================
--- src/superio/fintek/f71805f/superio.c	(revision 6491)
+++ src/superio/fintek/f71805f/superio.c	(working copy)
@@ -40,23 +40,10 @@ 
 
 static void f71805f_init(device_t dev)
 {
-	struct superio_fintek_f71805f_config *conf = dev->chip_info;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
 
-	switch(dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F71805F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case F71805F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-	}
 }
 
 static void f71805f_pnp_set_resources(device_t dev)
Index: src/superio/fintek/f71859/superio.c
===================================================================
--- src/superio/fintek/f71859/superio.c	(revision 6491)
+++ src/superio/fintek/f71859/superio.c	(working copy)
@@ -41,19 +41,10 @@ 
 
 static void f71859_init(device_t dev)
 {
-	struct superio_fintek_f71859_config *conf = dev->chip_info;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
 
-	switch(dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F71859_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	}
 }
 
 static void f71859_pnp_set_resources(device_t dev)
Index: src/superio/fintek/f71889/superio.c
===================================================================
--- src/superio/fintek/f71889/superio.c	(revision 6491)
+++ src/superio/fintek/f71889/superio.c	(working copy)
@@ -41,21 +41,12 @@ 
 static void f71889_init(device_t dev)
 {
 	struct superio_fintek_f71889_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch (dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F71889_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case F71889_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case F71889_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/fintek/f81865f/superio.c
===================================================================
--- src/superio/fintek/f81865f/superio.c	(revision 6491)
+++ src/superio/fintek/f81865f/superio.c	(working copy)
@@ -40,21 +40,12 @@ 
 static void f81865f_init(device_t dev)
 {
 	struct superio_fintek_f81865f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch (dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F81865F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case F81865F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case F81865F_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/fintek/f71863fg/superio.c
===================================================================
--- src/superio/fintek/f71863fg/superio.c	(revision 6491)
+++ src/superio/fintek/f71863fg/superio.c	(working copy)
@@ -48,14 +48,6 @@ 
 
 	switch(dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F71863FG_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case F71863FG_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case F71863FG_KBC:
 		res0 = find_resource(dev, PNP_IDX_IO0);
 		pc_keyboard_init(&conf->keyboard);
Index: src/superio/fintek/f71872/superio.c
===================================================================
--- src/superio/fintek/f71872/superio.c	(revision 6491)
+++ src/superio/fintek/f71872/superio.c	(working copy)
@@ -40,21 +40,12 @@ 
 static void f71872_init(device_t dev)
 {
 	struct superio_fintek_f71872_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
 	/* TODO: Might potentially need code for HWM or FDC etc. */
-	case F71872_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case F71872_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case F71872_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83977tf/superio.c
===================================================================
--- src/superio/winbond/w83977tf/superio.c	(revision 6491)
+++ src/superio/winbond/w83977tf/superio.c	(working copy)
@@ -46,20 +46,11 @@ 
 static void w83977tf_init(device_t dev)
 {
 	struct superio_winbond_w83977tf_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83977TF_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83977TF_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83977TF_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83627dhg/superio.c
===================================================================
--- src/superio/winbond/w83627dhg/superio.c	(revision 6491)
+++ src/superio/winbond/w83627dhg/superio.c	(working copy)
@@ -40,20 +40,11 @@ 
 static void w83627dhg_init(device_t dev)
 {
 	struct superio_winbond_w83627dhg_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83627DHG_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83627DHG_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83627DHG_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83627thg/superio.c
===================================================================
--- src/superio/winbond/w83627thg/superio.c	(revision 6491)
+++ src/superio/winbond/w83627thg/superio.c	(working copy)
@@ -45,20 +45,11 @@ 
 static void w83627thg_init(device_t dev)
 {
 	struct superio_winbond_w83627thg_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83627THG_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83627THG_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83627THG_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83627ehg/superio.c
===================================================================
--- src/superio/winbond/w83627ehg/superio.c	(revision 6491)
+++ src/superio/winbond/w83627ehg/superio.c	(working copy)
@@ -114,14 +114,6 @@ 
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83627EHG_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83627EHG_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83627EHG_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83627uhg/superio.c
===================================================================
--- src/superio/winbond/w83627uhg/superio.c	(revision 6491)
+++ src/superio/winbond/w83627uhg/superio.c	(working copy)
@@ -73,41 +73,28 @@ 
 static void w83627uhg_init(device_t dev)
 {
 	struct superio_winbond_w83627uhg_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
 	case W83627UHG_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com1);
 		break;
 	case W83627UHG_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com2);
 		break;
 	case W83627UHG_SP3:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com3);
 		break;
 	case W83627UHG_SP4:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com4);
 		break;
 	case W83627UHG_SP5:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com5);
 		break;
 	case W83627UHG_SP6:
-		res0 = find_resource(dev, PNP_IDX_IO0);
 		/* set_uart_clock_source(dev, 0); */
-		init_uart8250(res0->base, &conf->com6);
 		break;
 	case W83627UHG_KBC:
 		pc_keyboard_init(&conf->keyboard);
Index: src/superio/winbond/w83697hf/superio.c
===================================================================
--- src/superio/winbond/w83697hf/superio.c	(revision 6491)
+++ src/superio/winbond/w83697hf/superio.c	(working copy)
@@ -43,22 +43,8 @@ 
 
 static void w83697hf_init(device_t dev)
 {
-	struct superio_winbond_w83697hf_config *conf = dev->chip_info;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
-
-	switch(dev->path.pnp.device) {
-	case W83697HF_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83697HF_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-	}
 }
 
 static void w83697hf_pnp_set_resources(device_t dev)
Index: src/superio/winbond/w83627hf/superio.c
===================================================================
--- src/superio/winbond/w83627hf/superio.c	(revision 6491)
+++ src/superio/winbond/w83627hf/superio.c	(working copy)
@@ -135,14 +135,6 @@ 
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83627HF_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83627HF_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83627HF_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/winbond/w83977f/superio.c
===================================================================
--- src/superio/winbond/w83977f/superio.c	(revision 6491)
+++ src/superio/winbond/w83977f/superio.c	(working copy)
@@ -44,20 +44,11 @@ 
 static void w83977f_init(device_t dev)
 {
 	struct superio_winbond_w83977f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case W83977F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case W83977F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case W83977F_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/ite/it8712f/superio.c
===================================================================
--- src/superio/ite/it8712f/superio.c	(revision 6491)
+++ src/superio/ite/it8712f/superio.c	(working copy)
@@ -46,7 +46,6 @@ 
 static void it8712f_init(device_t dev)
 {
 	struct superio_ite_it8712f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -54,14 +53,6 @@ 
 	switch (dev->path.pnp.device) {
 	case IT8712F_FDC: /* TODO. */
 		break;
-	case IT8712F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8712F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8712F_PP: /* TODO. */
 		break;
 	case IT8712F_EC: /* TODO. */
Index: src/superio/ite/it8705f/superio.c
===================================================================
--- src/superio/ite/it8705f/superio.c	(revision 6491)
+++ src/superio/ite/it8705f/superio.c	(working copy)
@@ -28,7 +28,6 @@ 
 static void init(device_t dev)
 {
 	struct superio_ite_it8705f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -36,14 +35,6 @@ 
 	switch (dev->path.pnp.device) {
 	case IT8705F_FDC: /* TODO. */
 		break;
-	case IT8705F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8705F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8705F_PP: /* TODO. */
 		break;
 	case IT8705F_EC: /* TODO. */
Index: src/superio/ite/it8661f/superio.c
===================================================================
--- src/superio/ite/it8661f/superio.c	(revision 6491)
+++ src/superio/ite/it8661f/superio.c	(working copy)
@@ -29,23 +29,12 @@ 
 
 static void init(device_t dev)
 {
-	struct superio_ite_it8661f_config *conf = dev->chip_info;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
 
 	switch (dev->path.pnp.device) {
 	case IT8661F_FDC: /* TODO. */
 		break;
-	case IT8661F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8661F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8661F_PP: /* TODO. */
 		break;
 	case IT8661F_IR: /* TODO. */
Index: src/superio/ite/it8671f/superio.c
===================================================================
--- src/superio/ite/it8671f/superio.c	(revision 6491)
+++ src/superio/ite/it8671f/superio.c	(working copy)
@@ -29,7 +29,6 @@ 
 static void init(device_t dev)
 {
 	struct superio_ite_it8671f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -37,14 +36,6 @@ 
 	switch (dev->path.pnp.device) {
 	case IT8671F_FDC: /* TODO. */
 		break;
-	case IT8671F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8671F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8671F_PP: /* TODO. */
 		break;
 	case IT8671F_KBCK:
Index: src/superio/ite/it8716f/superio.c
===================================================================
--- src/superio/ite/it8716f/superio.c	(revision 6491)
+++ src/superio/ite/it8716f/superio.c	(working copy)
@@ -85,14 +85,6 @@ 
 
 	/* TODO: FDC, PP, KBCM, MIDI, GAME, IR. */
 	switch (dev->path.pnp.device) {
-	case IT8716F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8716F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8716F_EC:
 		res0 = find_resource(dev, PNP_IDX_IO0);
 #define EC_INDEX_PORT 5
Index: src/superio/ite/it8673f/superio.c
===================================================================
--- src/superio/ite/it8673f/superio.c	(revision 6491)
+++ src/superio/ite/it8673f/superio.c	(working copy)
@@ -29,7 +29,6 @@ 
 static void init(device_t dev)
 {
 	struct superio_ite_it8673f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -37,14 +36,6 @@ 
 	switch (dev->path.pnp.device) {
 	case IT8673F_FDC: /* TODO. */
 		break;
-	case IT8673F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8673F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8673F_PP: /* TODO. */
 		break;
 	case IT8673F_FAN: /* TODO. */
Index: src/superio/ite/it8718f/superio.c
===================================================================
--- src/superio/ite/it8718f/superio.c	(revision 6491)
+++ src/superio/ite/it8718f/superio.c	(working copy)
@@ -29,7 +29,6 @@ 
 static void init(device_t dev)
 {
 	struct superio_ite_it8718f_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -37,14 +36,6 @@ 
 	switch (dev->path.pnp.device) {
 	case IT8718F_FDC: /* TODO. */
 		break;
-	case IT8718F_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case IT8718F_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case IT8718F_PP: /* TODO. */
 		break;
 	case IT8718F_EC: /* TODO. */
Index: src/superio/nsc/pc87392/superio.c
===================================================================
--- src/superio/nsc/pc87392/superio.c	(revision 6491)
+++ src/superio/nsc/pc87392/superio.c	(working copy)
@@ -31,23 +31,8 @@ 
 
 static void init(device_t dev)
 {
-	struct superio_nsc_pc87392_config *conf = dev->chip_info;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
-
-	switch(dev->path.pnp.device) {
-	case PC87392_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-
-	case PC87392_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-	}
 }
 
 static struct device_operations ops = {
Index: src/superio/nsc/pc87366/superio.c
===================================================================
--- src/superio/nsc/pc87366/superio.c	(revision 6491)
+++ src/superio/nsc/pc87366/superio.c	(working copy)
@@ -34,20 +34,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87366_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87366_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87366_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87366_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc87384/superio.c
===================================================================
--- src/superio/nsc/pc87384/superio.c	(revision 6491)
+++ src/superio/nsc/pc87384/superio.c	(working copy)
@@ -33,21 +33,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87384_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87384_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87384_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-
 	case PC87384_GPIO:
 		break;
 	}
Index: src/superio/nsc/pc8374/superio.c
===================================================================
--- src/superio/nsc/pc8374/superio.c	(revision 6491)
+++ src/superio/nsc/pc8374/superio.c	(working copy)
@@ -34,20 +34,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc8374_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC8374_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC8374_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC8374_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc87351/superio.c
===================================================================
--- src/superio/nsc/pc87351/superio.c	(revision 6491)
+++ src/superio/nsc/pc87351/superio.c	(working copy)
@@ -34,20 +34,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87351_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87351_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87351_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87351_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc87360/superio.c
===================================================================
--- src/superio/nsc/pc87360/superio.c	(revision 6491)
+++ src/superio/nsc/pc87360/superio.c	(working copy)
@@ -34,20 +34,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87360_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87360_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87360_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87360_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc97307/superio.c
===================================================================
--- src/superio/nsc/pc97307/superio.c	(revision 6491)
+++ src/superio/nsc/pc97307/superio.c	(working copy)
@@ -29,21 +29,12 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc97307_config *conf = dev->chip_info;
-	struct resource *res0;
 	u8 reg8;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC97307_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC97307_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC97307_KBCK:
 		pnp_set_logical_device(dev);
 		pnp_set_enable(dev, 0);		   /* Disable keyboard */
Index: src/superio/nsc/pc87309/superio.c
===================================================================
--- src/superio/nsc/pc87309/superio.c	(revision 6491)
+++ src/superio/nsc/pc87309/superio.c	(working copy)
@@ -30,20 +30,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87309_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch (dev->path.pnp.device) {
-	case PC87309_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87309_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87309_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc87417/superio.c
===================================================================
--- src/superio/nsc/pc87417/superio.c	(revision 6491)
+++ src/superio/nsc/pc87417/superio.c	(working copy)
@@ -35,20 +35,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87417_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87417_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87417_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87417_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc97317/superio.c
===================================================================
--- src/superio/nsc/pc97317/superio.c	(revision 6491)
+++ src/superio/nsc/pc97317/superio.c	(working copy)
@@ -29,20 +29,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc97317_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC97317_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC97317_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC97317_KBCK:
 		pnp_set_logical_device(dev);
 		pnp_set_enable(dev, 0);		   /* Disable keyboard */
Index: src/superio/nsc/pc87427/superio.c
===================================================================
--- src/superio/nsc/pc87427/superio.c	(revision 6491)
+++ src/superio/nsc/pc87427/superio.c	(working copy)
@@ -32,20 +32,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87427_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87427_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87427_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case PC87427_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nsc/pc87382/superio.c
===================================================================
--- src/superio/nsc/pc87382/superio.c	(revision 6491)
+++ src/superio/nsc/pc87382/superio.c	(working copy)
@@ -33,21 +33,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nsc_pc87382_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case PC87382_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case PC87382_IR:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-
 	case PC87382_DOCK:
 		break;
 
Index: src/superio/smsc/lpc47m10x/superio.c
===================================================================
--- src/superio/smsc/lpc47m10x/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47m10x/superio.c	(working copy)
@@ -118,20 +118,11 @@ 
 static void lpc47m10x_init(device_t dev)
 {
 	struct superio_smsc_lpc47m10x_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case LPC47M10X2_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47M10X2_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case LPC47M10X2_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/smsc/fdc37m60x/superio.c
===================================================================
--- src/superio/smsc/fdc37m60x/superio.c	(revision 6491)
+++ src/superio/smsc/fdc37m60x/superio.c	(working copy)
@@ -29,7 +29,6 @@ 
 static void init(device_t dev)
 {
 	struct superio_smsc_fdc37m60x_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
@@ -39,14 +38,6 @@ 
 		break;
 	case FDC37M60X_PP: /* TODO. */
 		break;
-	case FDC37M60X_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case FDC37M60X_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case FDC37M60X_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/smsc/lpc47n217/superio.c
===================================================================
--- src/superio/smsc/lpc47n217/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47n217/superio.c	(working copy)
@@ -134,21 +134,9 @@ 
 static void lpc47n217_init(device_t dev)
 {
 	struct superio_smsc_lpc47n217_config* conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
-
-	switch(dev->path.pnp.device) {
-	case LPC47N217_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47N217_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-	}
 }
 
 static void lpc47n217_pnp_set_resource(device_t dev, struct resource *resource)
Index: src/superio/smsc/lpc47n227/superio.c
===================================================================
--- src/superio/smsc/lpc47n227/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47n227/superio.c	(working copy)
@@ -131,20 +131,11 @@ 
 static void lpc47n227_init(device_t dev)
 {
 	struct superio_smsc_lpc47n227_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch (dev->path.pnp.device) {
-	case LPC47N227_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47N227_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case LPC47N227_KBDC:
 		printk(BIOS_DEBUG, "LPC47N227: Initializing keyboard.\n");
 		pc_keyboard_init(&conf->keyboard);
Index: src/superio/smsc/lpc47m15x/superio.c
===================================================================
--- src/superio/smsc/lpc47m15x/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47m15x/superio.c	(working copy)
@@ -94,20 +94,11 @@ 
 static void lpc47m15x_init(device_t dev)
 {
 	struct superio_smsc_lpc47m15x_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case LPC47M15X_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47M15X_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case LPC47M15X_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/smsc/lpc47b272/superio.c
===================================================================
--- src/superio/smsc/lpc47b272/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47b272/superio.c	(working copy)
@@ -120,20 +120,11 @@ 
 static void lpc47b272_init(device_t dev)
 {
 	struct superio_smsc_lpc47b272_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case LPC47B272_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47B272_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case LPC47B272_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/smsc/smscsuperio/superio.c
===================================================================
--- src/superio/smsc/smscsuperio/superio.c	(revision 6491)
+++ src/superio/smsc/smscsuperio/superio.c	(working copy)
@@ -205,7 +205,6 @@ 
 static void smsc_init(device_t dev)
 {
 	struct superio_smsc_smscsuperio_config *conf = dev->chip_info;
-	struct resource *res0;
 	int i, ld;
 
 	/* Do not initialize disabled devices. */
@@ -223,13 +222,7 @@ 
 
 	/* A Super I/O was found, so initialize the respective device. */
 	ld = dev->path.pnp.device;
-	if (ld == logical_device_table[i].devs[LD_SP1]) {
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-	} else if (ld == logical_device_table[i].devs[LD_SP2]) {
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-	} else if (ld == logical_device_table[i].devs[LD_KBC]) {
+	if (ld == logical_device_table[i].devs[LD_KBC]) {
 		pc_keyboard_init(&conf->keyboard);
 	}
 }
Index: src/superio/smsc/lpc47b397/superio.c
===================================================================
--- src/superio/smsc/lpc47b397/superio.c	(revision 6491)
+++ src/superio/smsc/lpc47b397/superio.c	(working copy)
@@ -68,20 +68,11 @@ 
 static void lpc47b397_init(device_t dev)
 {
 	struct superio_smsc_lpc47b397_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case LPC47B397_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case LPC47B397_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case LPC47B397_KBC:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/nuvoton/wpcm450/superio.c
===================================================================
--- src/superio/nuvoton/wpcm450/superio.c	(revision 6491)
+++ src/superio/nuvoton/wpcm450/superio.c	(working copy)
@@ -33,20 +33,11 @@ 
 static void init(device_t dev)
 {
 	struct superio_nuvoton_wpcm450_config *conf = dev->chip_info;
-	struct resource *res0;
 
 	if (!dev->enabled)
 		return;
 
 	switch(dev->path.pnp.device) {
-	case WPCM450_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case WPCM450_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
 	case WPCM450_KBCK:
 		pc_keyboard_init(&conf->keyboard);
 		break;
Index: src/superio/intel/i3100/superio.c
===================================================================
--- src/superio/intel/i3100/superio.c	(revision 6491)
+++ src/superio/intel/i3100/superio.c	(working copy)
@@ -40,24 +40,8 @@ 
 
 static void i3100_init(device_t dev)
 {
-	struct superio_intel_i3100_config *conf;
-	struct resource *res0;
-
 	if (!dev->enabled)
 		return;
-
-	conf = dev->chip_info;
-
-	switch (dev->path.pnp.device) {
-	case I3100_SP1:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com1);
-		break;
-	case I3100_SP2:
-		res0 = find_resource(dev, PNP_IDX_IO0);
-		init_uart8250(res0->base, &conf->com2);
-		break;
-	}
 }
 
 static void i3100_pnp_set_resources(device_t dev)