Commit 0f6662a4 authored by Bjorn Helgaas's avatar Bjorn Helgaas

Merge branch 'topic/bjorn-trivial' into next

* topic/bjorn-trivial:
  PCI: remove useless pcix_set_mmrbc() dev->bus check
  PCI: acpiphp: check whether _ADR evaluation succeeded
  PCI: shpchp: remove dead code
  PCI: fix P2P bridge I/O port window sign extension
  PCI: fix upstream P2P bridge checks when enabling OBFF and LTR
  PCI: use __weak consistently
  PCI: cleanup assign_requested_resources_sorted() kernel-doc warning
  sparc/PCI: remove unused pcibios_assign_resource() definition
parents 1693c427 809a3bf9
...@@ -884,11 +884,6 @@ void __init sun4m_pci_init_IRQ(void) ...@@ -884,11 +884,6 @@ void __init sun4m_pci_init_IRQ(void)
sparc_config.load_profile_irq = pcic_load_profile_irq; sparc_config.load_profile_irq = pcic_load_profile_irq;
} }
int pcibios_assign_resource(struct pci_dev *pdev, int resource)
{
return -ENXIO;
}
/* /*
* This probably belongs here rather than ioport.c because * This probably belongs here rather than ioport.c because
* we do not want this crud linked into SBus kernels. * we do not want this crud linked into SBus kernels.
......
...@@ -132,6 +132,15 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv) ...@@ -132,6 +132,15 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle)) if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle))
return AE_OK; return AE_OK;
status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
if (ACPI_FAILURE(status)) {
warn("can't evaluate _ADR (%#x)\n", status);
return AE_OK;
}
device = (adr >> 16) & 0xffff;
function = adr & 0xffff;
pdev = pbus->self; pdev = pbus->self;
if (pdev && pci_is_pcie(pdev)) { if (pdev && pci_is_pcie(pdev)) {
tmp = acpi_find_root_bridge_handle(pdev); tmp = acpi_find_root_bridge_handle(pdev);
...@@ -144,10 +153,6 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv) ...@@ -144,10 +153,6 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
} }
} }
acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
device = (adr >> 16) & 0xffff;
function = adr & 0xffff;
newfunc = kzalloc(sizeof(struct acpiphp_func), GFP_KERNEL); newfunc = kzalloc(sizeof(struct acpiphp_func), GFP_KERNEL);
if (!newfunc) if (!newfunc)
return AE_NO_MEMORY; return AE_NO_MEMORY;
......
...@@ -262,9 +262,6 @@ static int board_added(struct slot *p_slot) ...@@ -262,9 +262,6 @@ static int board_added(struct slot *p_slot)
} }
if ((ctrl->pci_dev->vendor == 0x8086) && (ctrl->pci_dev->device == 0x0332)) { if ((ctrl->pci_dev->vendor == 0x8086) && (ctrl->pci_dev->device == 0x0332)) {
if (slots_not_empty)
return WRONG_BUS_FREQUENCY;
if ((rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, PCI_SPEED_33MHz))) { if ((rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, PCI_SPEED_33MHz))) {
ctrl_err(ctrl, "%s: Issue of set bus speed mode command" ctrl_err(ctrl, "%s: Issue of set bus speed mode command"
" failed\n", __func__); " failed\n", __func__);
......
...@@ -1112,7 +1112,7 @@ static struct bin_attribute pcie_config_attr = { ...@@ -1112,7 +1112,7 @@ static struct bin_attribute pcie_config_attr = {
.write = pci_write_config, .write = pci_write_config,
}; };
int __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev) int __weak pcibios_add_platform_entries(struct pci_dev *dev)
{ {
return 0; return 0;
} }
......
...@@ -1311,7 +1311,7 @@ void pcim_pin_device(struct pci_dev *pdev) ...@@ -1311,7 +1311,7 @@ void pcim_pin_device(struct pci_dev *pdev)
* is the default implementation. Architecture implementations can * is the default implementation. Architecture implementations can
* override this. * override this.
*/ */
void __attribute__ ((weak)) pcibios_disable_device (struct pci_dev *dev) {} void __weak pcibios_disable_device (struct pci_dev *dev) {}
static void do_pci_disable_device(struct pci_dev *dev) static void do_pci_disable_device(struct pci_dev *dev)
{ {
...@@ -1375,8 +1375,8 @@ pci_disable_device(struct pci_dev *dev) ...@@ -1375,8 +1375,8 @@ pci_disable_device(struct pci_dev *dev)
* Sets the PCIe reset state for the device. This is the default * Sets the PCIe reset state for the device. This is the default
* implementation. Architecture implementations can override this. * implementation. Architecture implementations can override this.
*/ */
int __attribute__ ((weak)) pcibios_set_pcie_reset_state(struct pci_dev *dev, int __weak pcibios_set_pcie_reset_state(struct pci_dev *dev,
enum pcie_reset_state state) enum pcie_reset_state state)
{ {
return -EINVAL; return -EINVAL;
} }
...@@ -2063,7 +2063,7 @@ int pci_enable_obff(struct pci_dev *dev, enum pci_obff_signal_type type) ...@@ -2063,7 +2063,7 @@ int pci_enable_obff(struct pci_dev *dev, enum pci_obff_signal_type type)
return -ENOTSUPP; /* no OBFF support at all */ return -ENOTSUPP; /* no OBFF support at all */
/* Make sure the topology supports OBFF as well */ /* Make sure the topology supports OBFF as well */
if (dev->bus) { if (dev->bus->self) {
ret = pci_enable_obff(dev->bus->self, type); ret = pci_enable_obff(dev->bus->self, type);
if (ret) if (ret)
return ret; return ret;
...@@ -2166,7 +2166,7 @@ int pci_enable_ltr(struct pci_dev *dev) ...@@ -2166,7 +2166,7 @@ int pci_enable_ltr(struct pci_dev *dev)
return -EINVAL; return -EINVAL;
/* Enable upstream ports first */ /* Enable upstream ports first */
if (dev->bus) { if (dev->bus->self) {
ret = pci_enable_ltr(dev->bus->self); ret = pci_enable_ltr(dev->bus->self);
if (ret) if (ret)
return ret; return ret;
...@@ -3419,8 +3419,7 @@ int pcix_set_mmrbc(struct pci_dev *dev, int mmrbc) ...@@ -3419,8 +3419,7 @@ int pcix_set_mmrbc(struct pci_dev *dev, int mmrbc)
o = (cmd & PCI_X_CMD_MAX_READ) >> 2; o = (cmd & PCI_X_CMD_MAX_READ) >> 2;
if (o != v) { if (o != v) {
if (v > o && dev->bus && if (v > o && (dev->bus->bus_flags & PCI_BUS_FLAGS_NO_MMRBC))
(dev->bus->bus_flags & PCI_BUS_FLAGS_NO_MMRBC))
return -EIO; return -EIO;
cmd &= ~PCI_X_CMD_MAX_READ; cmd &= ~PCI_X_CMD_MAX_READ;
...@@ -3875,7 +3874,7 @@ static void __devinit pci_no_domains(void) ...@@ -3875,7 +3874,7 @@ static void __devinit pci_no_domains(void)
* greater than 0xff). This is the default implementation. Architecture * greater than 0xff). This is the default implementation. Architecture
* implementations can override this. * implementations can override this.
*/ */
int __attribute__ ((weak)) pci_ext_cfg_avail(struct pci_dev *dev) int __weak pci_ext_cfg_avail(struct pci_dev *dev)
{ {
return 1; return 1;
} }
......
...@@ -318,10 +318,11 @@ static void __devinit pci_read_bridge_io(struct pci_bus *child) ...@@ -318,10 +318,11 @@ static void __devinit pci_read_bridge_io(struct pci_bus *child)
if ((io_base_lo & PCI_IO_RANGE_TYPE_MASK) == PCI_IO_RANGE_TYPE_32) { if ((io_base_lo & PCI_IO_RANGE_TYPE_MASK) == PCI_IO_RANGE_TYPE_32) {
u16 io_base_hi, io_limit_hi; u16 io_base_hi, io_limit_hi;
pci_read_config_word(dev, PCI_IO_BASE_UPPER16, &io_base_hi); pci_read_config_word(dev, PCI_IO_BASE_UPPER16, &io_base_hi);
pci_read_config_word(dev, PCI_IO_LIMIT_UPPER16, &io_limit_hi); pci_read_config_word(dev, PCI_IO_LIMIT_UPPER16, &io_limit_hi);
base |= (io_base_hi << 16); base |= ((unsigned long) io_base_hi << 16);
limit |= (io_limit_hi << 16); limit |= ((unsigned long) io_limit_hi << 16);
} }
if (base && base <= limit) { if (base && base <= limit) {
...@@ -349,8 +350,8 @@ static void __devinit pci_read_bridge_mmio(struct pci_bus *child) ...@@ -349,8 +350,8 @@ static void __devinit pci_read_bridge_mmio(struct pci_bus *child)
res = child->resource[1]; res = child->resource[1];
pci_read_config_word(dev, PCI_MEMORY_BASE, &mem_base_lo); pci_read_config_word(dev, PCI_MEMORY_BASE, &mem_base_lo);
pci_read_config_word(dev, PCI_MEMORY_LIMIT, &mem_limit_lo); pci_read_config_word(dev, PCI_MEMORY_LIMIT, &mem_limit_lo);
base = (mem_base_lo & PCI_MEMORY_RANGE_MASK) << 16; base = ((unsigned long) mem_base_lo & PCI_MEMORY_RANGE_MASK) << 16;
limit = (mem_limit_lo & PCI_MEMORY_RANGE_MASK) << 16; limit = ((unsigned long) mem_limit_lo & PCI_MEMORY_RANGE_MASK) << 16;
if (base && base <= limit) { if (base && base <= limit) {
res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM; res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM;
region.start = base; region.start = base;
...@@ -371,11 +372,12 @@ static void __devinit pci_read_bridge_mmio_pref(struct pci_bus *child) ...@@ -371,11 +372,12 @@ static void __devinit pci_read_bridge_mmio_pref(struct pci_bus *child)
res = child->resource[2]; res = child->resource[2];
pci_read_config_word(dev, PCI_PREF_MEMORY_BASE, &mem_base_lo); pci_read_config_word(dev, PCI_PREF_MEMORY_BASE, &mem_base_lo);
pci_read_config_word(dev, PCI_PREF_MEMORY_LIMIT, &mem_limit_lo); pci_read_config_word(dev, PCI_PREF_MEMORY_LIMIT, &mem_limit_lo);
base = (mem_base_lo & PCI_PREF_RANGE_MASK) << 16; base = ((unsigned long) mem_base_lo & PCI_PREF_RANGE_MASK) << 16;
limit = (mem_limit_lo & PCI_PREF_RANGE_MASK) << 16; limit = ((unsigned long) mem_limit_lo & PCI_PREF_RANGE_MASK) << 16;
if ((mem_base_lo & PCI_PREF_RANGE_TYPE_MASK) == PCI_PREF_RANGE_TYPE_64) { if ((mem_base_lo & PCI_PREF_RANGE_TYPE_MASK) == PCI_PREF_RANGE_TYPE_64) {
u32 mem_base_hi, mem_limit_hi; u32 mem_base_hi, mem_limit_hi;
pci_read_config_dword(dev, PCI_PREF_BASE_UPPER32, &mem_base_hi); pci_read_config_dword(dev, PCI_PREF_BASE_UPPER32, &mem_base_hi);
pci_read_config_dword(dev, PCI_PREF_LIMIT_UPPER32, &mem_limit_hi); pci_read_config_dword(dev, PCI_PREF_LIMIT_UPPER32, &mem_limit_hi);
...@@ -386,8 +388,8 @@ static void __devinit pci_read_bridge_mmio_pref(struct pci_bus *child) ...@@ -386,8 +388,8 @@ static void __devinit pci_read_bridge_mmio_pref(struct pci_bus *child)
*/ */
if (mem_base_hi <= mem_limit_hi) { if (mem_base_hi <= mem_limit_hi) {
#if BITS_PER_LONG == 64 #if BITS_PER_LONG == 64
base |= ((long) mem_base_hi) << 32; base |= ((unsigned long) mem_base_hi) << 32;
limit |= ((long) mem_limit_hi) << 32; limit |= ((unsigned long) mem_limit_hi) << 32;
#else #else
if (mem_base_hi || mem_limit_hi) { if (mem_base_hi || mem_limit_hi) {
dev_err(&dev->dev, "can't handle 64-bit " dev_err(&dev->dev, "can't handle 64-bit "
......
...@@ -265,7 +265,7 @@ static void reassign_resources_sorted(struct list_head *realloc_head, ...@@ -265,7 +265,7 @@ static void reassign_resources_sorted(struct list_head *realloc_head,
* assign_requested_resources_sorted() - satisfy resource requests * assign_requested_resources_sorted() - satisfy resource requests
* *
* @head : head of the list tracking requests for resources * @head : head of the list tracking requests for resources
* @failed_list : head of the list tracking requests that could * @fail_head : head of the list tracking requests that could
* not be allocated * not be allocated
* *
* Satisfy resource requests of each element in the list. Add * Satisfy resource requests of each element in the list. Add
......
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