summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2012-08-28 07:49:49 +0300
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-10-29 23:48:11 +0100
commit9ead80f8700b37779ca6536b423fa5ee9544efd2 (patch)
treefc1708c3c875639a68bc12d61b6aae086c0817f4
parent23c046b6f16805ff0131460189967bf261d704de (diff)
downloadcoreboot-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.c3
-rw-r--r--src/include/device/device.h3
-rw-r--r--src/mainboard/samsung/lumpy/mainboard.c28
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,
};