diff options
author | Felix Held <felix-coreboot@felixheld.de> | 2018-07-06 23:39:00 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-07-18 18:51:52 +0000 |
commit | b0d868e8fe3f9a13f9be109fc3b73dfa949bec15 (patch) | |
tree | 79a9f71eb93778d8989707b3379fa56e5c9bc417 /src/superio/smsc/smscsuperio | |
parent | c40275bce0efb8b79792c7a6f846204b4c317124 (diff) | |
download | coreboot-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')
-rw-r--r-- | src/superio/smsc/smscsuperio/superio.c | 34 |
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++) |