summaryrefslogtreecommitdiff
path: root/src/superio/smsc/smscsuperio/superio.c
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2018-07-06 23:39:00 +0200
committerMartin Roth <martinroth@google.com>2018-07-18 18:51:52 +0000
commitb0d868e8fe3f9a13f9be109fc3b73dfa949bec15 (patch)
tree79a9f71eb93778d8989707b3379fa56e5c9bc417 /src/superio/smsc/smscsuperio/superio.c
parentc40275bce0efb8b79792c7a6f846204b4c317124 (diff)
downloadcoreboot-b0d868e8fe3f9a13f9be109fc3b73dfa949bec15.tar.xz
superio/smsc: pass the chip-specific ops struct to pnp_enable_devices
Pass the address of the chip-specific ops struct instead of the one of the generic pnp_ops struct to the PNP device enable function. This allows the removal of the LDN-specific ops overrides which is also done in this patch. Change-Id: I16e485494e448ae02e0a7b9e21b90ddbb1a53a4b Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/23007 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/superio/smsc/smscsuperio/superio.c')
-rw-r--r--src/superio/smsc/smscsuperio/superio.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/superio/smsc/smscsuperio/superio.c b/src/superio/smsc/smscsuperio/superio.c
index 414ae8d8be..6380f88472 100644
--- a/src/superio/smsc/smscsuperio/superio.c
+++ b/src/superio/smsc/smscsuperio/superio.c
@@ -194,21 +194,22 @@ static struct device_operations ops = {
* TODO: FDC, PP, SP1, SP2, and KBC should work, the rest probably not (yet).
*/
static struct pnp_info pnp_dev_info[] = {
- { &ops, LD_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
- { &ops, LD_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
- { &ops, LD_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
- { &ops, LD_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
- { &ops, LD_RTC, },
- { &ops, LD_KBC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_IRQ1, 0x07ff, 0x07ff, },
- { &ops, LD_AUX, },
- { &ops, LD_XBUS, },
- { &ops, LD_HWM, PNP_IO0, 0x07f0, },
- { &ops, LD_GAME, },
- { &ops, LD_PME, },
- { &ops, LD_MPU401, },
- { &ops, LD_RT, PNP_IO0, 0x0780, },
- { &ops, LD_ACPI, },
- { &ops, LD_SMB, },
+ { NULL, LD_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
+ { NULL, LD_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
+ { NULL, LD_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
+ { NULL, LD_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
+ { NULL, LD_RTC, },
+ { NULL, LD_KBC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_IRQ1,
+ 0x07ff, 0x07ff, },
+ { NULL, LD_AUX, },
+ { NULL, LD_XBUS, },
+ { NULL, LD_HWM, PNP_IO0, 0x07f0, },
+ { NULL, LD_GAME, },
+ { NULL, LD_PME, },
+ { NULL, LD_MPU401, },
+ { NULL, LD_RT, PNP_IO0, 0x0780, },
+ { NULL, LD_ACPI, },
+ { NULL, LD_SMB, },
};
/**
@@ -281,8 +282,7 @@ static void enable_dev(struct device *dev)
}
/* Enable the specified devices (if present on the chip). */
- pnp_enable_devices(dev, &pnp_ops, ARRAY_SIZE(pnp_dev_info),
- &pnp_dev_info[0]);
+ pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
/* Restore LD_FOO values. */
for (j = 0; j < ARRAY_SIZE(pnp_dev_info); j++)