Commit 72da0b07 authored by Jan Beulich's avatar Jan Beulich Committed by Jesse Barnes

x86: constify PCI raw ops structures

As with any other such change, the goal is to prevent inadvertent
writes to these structures (assuming DEBUG_RODATA is enabled), and to
separate data (possibly frequently) written to from such never getting
modified.
Reviewed-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent a94d072b
...@@ -99,10 +99,10 @@ struct pci_raw_ops { ...@@ -99,10 +99,10 @@ struct pci_raw_ops {
int reg, int len, u32 val); int reg, int len, u32 val);
}; };
extern struct pci_raw_ops *raw_pci_ops; extern const struct pci_raw_ops *raw_pci_ops;
extern struct pci_raw_ops *raw_pci_ext_ops; extern const struct pci_raw_ops *raw_pci_ext_ops;
extern struct pci_raw_ops pci_direct_conf1; extern const struct pci_raw_ops pci_direct_conf1;
extern bool port_cf9_safe; extern bool port_cf9_safe;
/* arch_initcall level */ /* arch_initcall level */
......
...@@ -304,7 +304,7 @@ static int ce4100_conf_write(unsigned int seg, unsigned int bus, ...@@ -304,7 +304,7 @@ static int ce4100_conf_write(unsigned int seg, unsigned int bus,
return pci_direct_conf1.write(seg, bus, devfn, reg, len, value); return pci_direct_conf1.write(seg, bus, devfn, reg, len, value);
} }
struct pci_raw_ops ce4100_pci_conf = { static const struct pci_raw_ops ce4100_pci_conf = {
.read = ce4100_conf_read, .read = ce4100_conf_read,
.write = ce4100_conf_write, .write = ce4100_conf_write,
}; };
......
...@@ -33,8 +33,8 @@ int noioapicreroute = 1; ...@@ -33,8 +33,8 @@ int noioapicreroute = 1;
int pcibios_last_bus = -1; int pcibios_last_bus = -1;
unsigned long pirq_table_addr; unsigned long pirq_table_addr;
struct pci_bus *pci_root_bus; struct pci_bus *pci_root_bus;
struct pci_raw_ops *raw_pci_ops; const struct pci_raw_ops *__read_mostly raw_pci_ops;
struct pci_raw_ops *raw_pci_ext_ops; const struct pci_raw_ops *__read_mostly raw_pci_ext_ops;
int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn, int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn,
int reg, int len, u32 *val) int reg, int len, u32 *val)
......
...@@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus, ...@@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus,
#undef PCI_CONF1_ADDRESS #undef PCI_CONF1_ADDRESS
struct pci_raw_ops pci_direct_conf1 = { const struct pci_raw_ops pci_direct_conf1 = {
.read = pci_conf1_read, .read = pci_conf1_read,
.write = pci_conf1_write, .write = pci_conf1_write,
}; };
...@@ -175,7 +175,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus, ...@@ -175,7 +175,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus,
#undef PCI_CONF2_ADDRESS #undef PCI_CONF2_ADDRESS
struct pci_raw_ops pci_direct_conf2 = { static const struct pci_raw_ops pci_direct_conf2 = {
.read = pci_conf2_read, .read = pci_conf2_read,
.write = pci_conf2_write, .write = pci_conf2_write,
}; };
...@@ -191,7 +191,7 @@ struct pci_raw_ops pci_direct_conf2 = { ...@@ -191,7 +191,7 @@ struct pci_raw_ops pci_direct_conf2 = {
* This should be close to trivial, but it isn't, because there are buggy * This should be close to trivial, but it isn't, because there are buggy
* chipsets (yes, you guessed it, by Intel and Compaq) that have no class ID. * chipsets (yes, you guessed it, by Intel and Compaq) that have no class ID.
*/ */
static int __init pci_sanity_check(struct pci_raw_ops *o) static int __init pci_sanity_check(const struct pci_raw_ops *o)
{ {
u32 x = 0; u32 x = 0;
int year, devfn; int year, devfn;
......
...@@ -117,7 +117,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, ...@@ -117,7 +117,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
return 0; return 0;
} }
static struct pci_raw_ops pci_mmcfg = { static const struct pci_raw_ops pci_mmcfg = {
.read = pci_mmcfg_read, .read = pci_mmcfg_read,
.write = pci_mmcfg_write, .write = pci_mmcfg_write,
}; };
......
...@@ -81,7 +81,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, ...@@ -81,7 +81,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
return 0; return 0;
} }
static struct pci_raw_ops pci_mmcfg = { static const struct pci_raw_ops pci_mmcfg = {
.read = pci_mmcfg_read, .read = pci_mmcfg_read,
.write = pci_mmcfg_write, .write = pci_mmcfg_write,
}; };
......
...@@ -110,7 +110,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus, ...@@ -110,7 +110,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus,
#undef PCI_CONF1_MQ_ADDRESS #undef PCI_CONF1_MQ_ADDRESS
static struct pci_raw_ops pci_direct_conf1_mq = { static const struct pci_raw_ops pci_direct_conf1_mq = {
.read = pci_conf1_mq_read, .read = pci_conf1_mq_read,
.write = pci_conf1_mq_write .write = pci_conf1_mq_write
}; };
......
...@@ -301,7 +301,7 @@ static int pci_olpc_write(unsigned int seg, unsigned int bus, ...@@ -301,7 +301,7 @@ static int pci_olpc_write(unsigned int seg, unsigned int bus,
return 0; return 0;
} }
static struct pci_raw_ops pci_olpc_conf = { static const struct pci_raw_ops pci_olpc_conf = {
.read = pci_olpc_read, .read = pci_olpc_read,
.write = pci_olpc_write, .write = pci_olpc_write,
}; };
......
...@@ -303,7 +303,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, ...@@ -303,7 +303,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus,
* Function table for BIOS32 access * Function table for BIOS32 access
*/ */
static struct pci_raw_ops pci_bios_access = { static const struct pci_raw_ops pci_bios_access = {
.read = pci_bios_read, .read = pci_bios_read,
.write = pci_bios_write .write = pci_bios_write
}; };
...@@ -312,7 +312,7 @@ static struct pci_raw_ops pci_bios_access = { ...@@ -312,7 +312,7 @@ static struct pci_raw_ops pci_bios_access = {
* Try to find PCI BIOS. * Try to find PCI BIOS.
*/ */
static struct pci_raw_ops * __devinit pci_find_bios(void) static const struct pci_raw_ops * __devinit pci_find_bios(void)
{ {
union bios32 *check; union bios32 *check;
unsigned char sum; unsigned char sum;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment