diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-03 15:15:40 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-09 20:22:20 -0400 |
commit | 1855256c497ecfefc730df6032243f26855ce52c (patch) | |
tree | b73947f1a5e1b798e1dec068ac1cda25ae910bf6 /drivers/char/ipmi | |
parent | bbf25010f1a6b761914430f5fca081ec8c7accd1 (diff) |
drivers/firmware: const-ify DMI API and internals
Three main sets of changes:
1) dmi_get_system_info() return value should have been marked const,
since callers should not be changing that data.
2) const-ify DMI internals, since DMI firmware tables should,
whenever possible, be marked const to ensure we never ever write to
that data area.
3) const-ify DMI API, to enable marking tables const where possible
in low-level drivers.
And if we're really lucky, this might enable some additional
optimizations on the part of the compiler.
The bulk of the changes are #2 and #3, which are interrelated. #1 could
have been a separate patch, but it was so small compared to the others,
it was easier to roll it into this changeset.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index dd441ff4af56..7901d5f218ec 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -1965,10 +1965,10 @@ struct dmi_ipmi_data | |||
1965 | u8 slave_addr; | 1965 | u8 slave_addr; |
1966 | }; | 1966 | }; |
1967 | 1967 | ||
1968 | static int __devinit decode_dmi(struct dmi_header *dm, | 1968 | static int __devinit decode_dmi(const struct dmi_header *dm, |
1969 | struct dmi_ipmi_data *dmi) | 1969 | struct dmi_ipmi_data *dmi) |
1970 | { | 1970 | { |
1971 | u8 *data = (u8 *)dm; | 1971 | const u8 *data = (const u8 *)dm; |
1972 | unsigned long base_addr; | 1972 | unsigned long base_addr; |
1973 | u8 reg_spacing; | 1973 | u8 reg_spacing; |
1974 | u8 len = dm->length; | 1974 | u8 len = dm->length; |
@@ -2091,13 +2091,14 @@ static __devinit void try_init_dmi(struct dmi_ipmi_data *ipmi_data) | |||
2091 | 2091 | ||
2092 | static void __devinit dmi_find_bmc(void) | 2092 | static void __devinit dmi_find_bmc(void) |
2093 | { | 2093 | { |
2094 | struct dmi_device *dev = NULL; | 2094 | const struct dmi_device *dev = NULL; |
2095 | struct dmi_ipmi_data data; | 2095 | struct dmi_ipmi_data data; |
2096 | int rv; | 2096 | int rv; |
2097 | 2097 | ||
2098 | while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) { | 2098 | while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) { |
2099 | memset(&data, 0, sizeof(data)); | 2099 | memset(&data, 0, sizeof(data)); |
2100 | rv = decode_dmi((struct dmi_header *) dev->device_data, &data); | 2100 | rv = decode_dmi((const struct dmi_header *) dev->device_data, |
2101 | &data); | ||
2101 | if (!rv) | 2102 | if (!rv) |
2102 | try_init_dmi(&data); | 2103 | try_init_dmi(&data); |
2103 | } | 2104 | } |