Skip to content

Commit

Permalink
x86: constify PCI raw ops structures
Browse files Browse the repository at this point in the history
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: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
  • Loading branch information
Jan Beulich authored and Jesse Barnes committed Oct 14, 2011
1 parent a94d072 commit 72da0b0
Show file tree
Hide file tree
Showing 9 changed files with 15 additions and 15 deletions.
6 changes: 3 additions & 3 deletions arch/x86/include/asm/pci_x86.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ struct pci_raw_ops {
int reg, int len, u32 val);
};

extern struct pci_raw_ops *raw_pci_ops;
extern struct pci_raw_ops *raw_pci_ext_ops;
extern const struct pci_raw_ops *raw_pci_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;

/* arch_initcall level */
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/pci/ce4100.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

struct pci_raw_ops ce4100_pci_conf = {
static const struct pci_raw_ops ce4100_pci_conf = {
.read = ce4100_conf_read,
.write = ce4100_conf_write,
};
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/pci/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ int noioapicreroute = 1;
int pcibios_last_bus = -1;
unsigned long pirq_table_addr;
struct pci_bus *pci_root_bus;
struct pci_raw_ops *raw_pci_ops;
struct pci_raw_ops *raw_pci_ext_ops;
const struct pci_raw_ops *__read_mostly raw_pci_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 reg, int len, u32 *val)
Expand Down
6 changes: 3 additions & 3 deletions arch/x86/pci/direct.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int seg, unsigned int bus,

#undef PCI_CONF1_ADDRESS

struct pci_raw_ops pci_direct_conf1 = {
const struct pci_raw_ops pci_direct_conf1 = {
.read = pci_conf1_read,
.write = pci_conf1_write,
};
Expand Down Expand Up @@ -175,7 +175,7 @@ static int pci_conf2_write(unsigned int seg, unsigned int bus,

#undef PCI_CONF2_ADDRESS

struct pci_raw_ops pci_direct_conf2 = {
static const struct pci_raw_ops pci_direct_conf2 = {
.read = pci_conf2_read,
.write = pci_conf2_write,
};
Expand All @@ -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
* 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;
int year, devfn;
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/pci/mmconfig_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
return 0;
}

static struct pci_raw_ops pci_mmcfg = {
static const struct pci_raw_ops pci_mmcfg = {
.read = pci_mmcfg_read,
.write = pci_mmcfg_write,
};
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/pci/mmconfig_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
return 0;
}

static struct pci_raw_ops pci_mmcfg = {
static const struct pci_raw_ops pci_mmcfg = {
.read = pci_mmcfg_read,
.write = pci_mmcfg_write,
};
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/pci/numaq_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ static int pci_conf1_mq_write(unsigned int seg, unsigned int bus,

#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,
.write = pci_conf1_mq_write
};
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/pci/olpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ static int pci_olpc_write(unsigned int seg, unsigned int bus,
return 0;
}

static struct pci_raw_ops pci_olpc_conf = {
static const struct pci_raw_ops pci_olpc_conf = {
.read = pci_olpc_read,
.write = pci_olpc_write,
};
Expand Down
4 changes: 2 additions & 2 deletions arch/x86/pci/pcbios.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus,
* 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,
.write = pci_bios_write
};
Expand All @@ -312,7 +312,7 @@ static struct pci_raw_ops pci_bios_access = {
* 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;
unsigned char sum;
Expand Down

0 comments on commit 72da0b0

Please sign in to comment.