diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2012-08-28 07:49:49 +0300 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2012-10-29 23:48:11 +0100 |
commit | 9ead80f8700b37779ca6536b423fa5ee9544efd2 (patch) | |
tree | fc1708c3c875639a68bc12d61b6aae086c0817f4 | |
parent | 23c046b6f16805ff0131460189967bf261d704de (diff) | |
download | coreboot-9ead80f8700b37779ca6536b423fa5ee9544efd2.tar.xz |
Drop get_smbios_data from chip_operations
We only want to add data once per device. Using the one in
chip_operations is not very usable anyway, as different
devices under the same chip directory would need to output
entirely different sets of data.
Change-Id: I96690c4c699667343ebef44a7f3de1f974cf6d6d
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/1492
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Tested-by: build bot (Jenkins)
-rw-r--r-- | src/arch/x86/boot/smbios.c | 3 | ||||
-rw-r--r-- | src/include/device/device.h | 3 | ||||
-rw-r--r-- | src/mainboard/samsung/lumpy/mainboard.c | 28 |
3 files changed, 14 insertions, 20 deletions
diff --git a/src/arch/x86/boot/smbios.c b/src/arch/x86/boot/smbios.c index ac0e132a24..72e70bacea 100644 --- a/src/arch/x86/boot/smbios.c +++ b/src/arch/x86/boot/smbios.c @@ -282,9 +282,6 @@ static int smbios_walk_device_tree(device_t tree, int *handle, unsigned long *cu if (dev->ops && dev->ops->get_smbios_data) len += dev->ops->get_smbios_data(dev, handle, current); - - if (dev->chip_ops && dev->chip_ops->get_smbios_data) - len += dev->chip_ops->get_smbios_data(dev, handle, current); } return len; } diff --git a/src/include/device/device.h b/src/include/device/device.h index 7e07dc15d1..ab5ab14ad4 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -17,9 +17,6 @@ struct smbus_bus_operations; struct chip_operations { void (*enable_dev)(struct device *dev); const char *name; -#if CONFIG_GENERATE_SMBIOS_TABLES - int (*get_smbios_data)(device_t dev, int *handle, unsigned long *current); -#endif }; #define CHIP_NAME(X) .name = X, diff --git a/src/mainboard/samsung/lumpy/mainboard.c b/src/mainboard/samsung/lumpy/mainboard.c index 9d44c9aead..bd60a98b16 100644 --- a/src/mainboard/samsung/lumpy/mainboard.c +++ b/src/mainboard/samsung/lumpy/mainboard.c @@ -251,19 +251,6 @@ static void mainboard_init(device_t dev) lumpy_ec_init(); } -// mainboard_enable is executed as first thing after -// enumerate_buses(). - -static void mainboard_enable(device_t dev) -{ - dev->ops->init = mainboard_init; -#if CONFIG_PCI_OPTION_ROM_RUN_YABEL || CONFIG_PCI_OPTION_ROM_RUN_REALMODE - /* Install custom int15 handler for VGA OPROM */ - mainboard_interrupt_handlers(0x15, &int15_handler); -#endif - verb_setup(); -} - static int lumpy_smbios_type41_irq(int *handle, unsigned long *current, const char *name, u8 irq, u8 addr) { @@ -308,9 +295,22 @@ static int lumpy_onboard_smbios_data(device_t dev, int *handle, return len; } +// mainboard_enable is executed as first thing after +// enumerate_buses(). + +static void mainboard_enable(device_t dev) +{ + dev->ops->init = mainboard_init; + dev->ops->get_smbios_data = lumpy_onboard_smbios_data; +#if CONFIG_PCI_OPTION_ROM_RUN_YABEL || CONFIG_PCI_OPTION_ROM_RUN_REALMODE + /* Install custom int15 handler for VGA OPROM */ + mainboard_interrupt_handlers(0x15, &int15_handler); +#endif + verb_setup(); +} + struct chip_operations mainboard_ops = { CHIP_NAME("Samsung Lumpy ChromeBook") .enable_dev = mainboard_enable, - .get_smbios_data = lumpy_onboard_smbios_data, }; |