Merge branch 'next' into for-linus
[linux-2.6-microblaze.git] / drivers / pci / pci-bridge-emul.c
index 5fd9010..fffa770 100644 (file)
@@ -270,10 +270,10 @@ static const struct pci_bridge_reg_behavior pcie_cap_regs_behavior[] = {
 int pci_bridge_emul_init(struct pci_bridge_emul *bridge,
                         unsigned int flags)
 {
-       bridge->conf.class_revision |= PCI_CLASS_BRIDGE_PCI << 16;
+       bridge->conf.class_revision |= cpu_to_le32(PCI_CLASS_BRIDGE_PCI << 16);
        bridge->conf.header_type = PCI_HEADER_TYPE_BRIDGE;
        bridge->conf.cache_line_size = 0x10;
-       bridge->conf.status = PCI_STATUS_CAP_LIST;
+       bridge->conf.status = cpu_to_le16(PCI_STATUS_CAP_LIST);
        bridge->pci_regs_behavior = kmemdup(pci_regs_behavior,
                                            sizeof(pci_regs_behavior),
                                            GFP_KERNEL);
@@ -284,8 +284,9 @@ int pci_bridge_emul_init(struct pci_bridge_emul *bridge,
                bridge->conf.capabilities_pointer = PCI_CAP_PCIE_START;
                bridge->pcie_conf.cap_id = PCI_CAP_ID_EXP;
                /* Set PCIe v2, root port, slot support */
-               bridge->pcie_conf.cap = PCI_EXP_TYPE_ROOT_PORT << 4 | 2 |
-                       PCI_EXP_FLAGS_SLOT;
+               bridge->pcie_conf.cap =
+                       cpu_to_le16(PCI_EXP_TYPE_ROOT_PORT << 4 | 2 |
+                                   PCI_EXP_FLAGS_SLOT);
                bridge->pcie_cap_regs_behavior =
                        kmemdup(pcie_cap_regs_behavior,
                                sizeof(pcie_cap_regs_behavior),
@@ -327,7 +328,7 @@ int pci_bridge_emul_conf_read(struct pci_bridge_emul *bridge, int where,
        int reg = where & ~3;
        pci_bridge_emul_read_status_t (*read_op)(struct pci_bridge_emul *bridge,
                                                 int reg, u32 *value);
-       u32 *cfgspace;
+       __le32 *cfgspace;
        const struct pci_bridge_reg_behavior *behavior;
 
        if (bridge->has_pcie && reg >= PCI_CAP_PCIE_END) {
@@ -343,11 +344,11 @@ int pci_bridge_emul_conf_read(struct pci_bridge_emul *bridge, int where,
        if (bridge->has_pcie && reg >= PCI_CAP_PCIE_START) {
                reg -= PCI_CAP_PCIE_START;
                read_op = bridge->ops->read_pcie;
-               cfgspace = (u32 *) &bridge->pcie_conf;
+               cfgspace = (__le32 *) &bridge->pcie_conf;
                behavior = bridge->pcie_cap_regs_behavior;
        } else {
                read_op = bridge->ops->read_base;
-               cfgspace = (u32 *) &bridge->conf;
+               cfgspace = (__le32 *) &bridge->conf;
                behavior = bridge->pci_regs_behavior;
        }
 
@@ -357,7 +358,7 @@ int pci_bridge_emul_conf_read(struct pci_bridge_emul *bridge, int where,
                ret = PCI_BRIDGE_EMUL_NOT_HANDLED;
 
        if (ret == PCI_BRIDGE_EMUL_NOT_HANDLED)
-               *value = cfgspace[reg / 4];
+               *value = le32_to_cpu(cfgspace[reg / 4]);
 
        /*
         * Make sure we never return any reserved bit with a value
@@ -387,7 +388,7 @@ int pci_bridge_emul_conf_write(struct pci_bridge_emul *bridge, int where,
        int mask, ret, old, new, shift;
        void (*write_op)(struct pci_bridge_emul *bridge, int reg,
                         u32 old, u32 new, u32 mask);
-       u32 *cfgspace;
+       __le32 *cfgspace;
        const struct pci_bridge_reg_behavior *behavior;
 
        if (bridge->has_pcie && reg >= PCI_CAP_PCIE_END)
@@ -414,11 +415,11 @@ int pci_bridge_emul_conf_write(struct pci_bridge_emul *bridge, int where,
        if (bridge->has_pcie && reg >= PCI_CAP_PCIE_START) {
                reg -= PCI_CAP_PCIE_START;
                write_op = bridge->ops->write_pcie;
-               cfgspace = (u32 *) &bridge->pcie_conf;
+               cfgspace = (__le32 *) &bridge->pcie_conf;
                behavior = bridge->pcie_cap_regs_behavior;
        } else {
                write_op = bridge->ops->write_base;
-               cfgspace = (u32 *) &bridge->conf;
+               cfgspace = (__le32 *) &bridge->conf;
                behavior = bridge->pci_regs_behavior;
        }
 
@@ -431,7 +432,7 @@ int pci_bridge_emul_conf_write(struct pci_bridge_emul *bridge, int where,
        /* Clear the W1C bits */
        new &= ~((value << shift) & (behavior[reg / 4].w1c & mask));
 
-       cfgspace[reg / 4] = new;
+       cfgspace[reg / 4] = cpu_to_le32(new);
 
        if (write_op)
                write_op(bridge, reg, old, new, mask);