]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'acpica'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 10 Feb 2015 14:58:57 +0000 (15:58 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 10 Feb 2015 14:58:57 +0000 (15:58 +0100)
* acpica:
  ACPICA: Events: Enable APIs to allow interrupt/polling adaptive request based GPE handling model
  ACPICA: Events: Introduce acpi_set_gpe()/acpi_finish_gpe() to reduce divergences
  ACPICA: Events: Introduce ACPI_GPE_DISPATCH_RAW_HANDLER to fix 2 issues for the current GPE APIs
  ACPICA: Update version to 20150204
  ACPICA: Update Copyright headers to 2015
  ACPICA: Hardware: Cast GPE enable_mask before storing
  ACPICA: Events: Cleanup GPE dispatcher type obtaining code
  ACPICA: Events: Cleanup to move acpi_gbl_global_event_handler invocation out of acpi_ev_gpe_dispatch()
  ACPICA: Events: Cleanup of resetting the GPE handler to NULL before removing
  ACPICA: Events: Fix uninitialized variable
  ACPICA: Events: Remove acpi_ev_valid_gpe_event() due to current restriction
  ACPICA: Events: Remove duplicated sanity check in acpi_ev_enable_gpe()
  ACPICA: Events: Back port "ACPICA: Save current masks of enabled GPEs after enable register writes"
  ACPICA: Resources: Provide common part for struct acpi_resource_address structures.
  ACPI: Introduce acpi_unload_parent_table() usages in Linux kernel
  ACPICA: take ACPI_MTX_INTERPRETER in acpi_unload_table_id()

1  2 
arch/ia64/pci/pci.c

diff --combined arch/ia64/pci/pci.c
index 900cc93e540961903816fd8d69769a3311fdbbf3,46920aaa7e9e8b18060713e4e4c78a56c9d69cc7..48cc65705db467a5d38d1353a452de0ef8f74761
@@@ -188,12 -188,12 +188,12 @@@ static u64 add_io_space(struct pci_root
  
        name = (char *)(iospace + 1);
  
-       min = addr->minimum;
-       max = min + addr->address_length - 1;
+       min = addr->address.minimum;
+       max = min + addr->address.address_length - 1;
        if (addr->info.io.translation_type == ACPI_SPARSE_TRANSLATION)
                sparse = 1;
  
-       space_nr = new_space(addr->translation_offset, sparse);
+       space_nr = new_space(addr->address.translation_offset, sparse);
        if (space_nr == ~0)
                goto free_resource;
  
@@@ -247,7 -247,7 +247,7 @@@ static acpi_status resource_to_window(s
        if (ACPI_SUCCESS(status) &&
            (addr->resource_type == ACPI_MEMORY_RANGE ||
             addr->resource_type == ACPI_IO_RANGE) &&
-           addr->address_length &&
+           addr->address.address_length &&
            addr->producer_consumer == ACPI_PRODUCER)
                return AE_OK;
  
@@@ -284,7 -284,7 +284,7 @@@ static acpi_status add_window(struct ac
        if (addr.resource_type == ACPI_MEMORY_RANGE) {
                flags = IORESOURCE_MEM;
                root = &iomem_resource;
-               offset = addr.translation_offset;
+               offset = addr.address.translation_offset;
        } else if (addr.resource_type == ACPI_IO_RANGE) {
                flags = IORESOURCE_IO;
                root = &ioport_resource;
        resource = &info->res[info->res_num];
        resource->name = info->name;
        resource->flags = flags;
-       resource->start = addr.minimum + offset;
-       resource->end = resource->start + addr.address_length - 1;
+       resource->start = addr.address.minimum + offset;
+       resource->end = resource->start + addr.address.address_length - 1;
        info->res_offset[info->res_num] = offset;
  
        if (insert_resource(root, resource)) {
@@@ -487,39 -487,45 +487,39 @@@ int pcibios_root_bridge_prepare(struct 
        return 0;
  }
  
 -static int is_valid_resource(struct pci_dev *dev, int idx)
 +void pcibios_fixup_device_resources(struct pci_dev *dev)
  {
 -      unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM;
 -      struct resource *devr = &dev->resource[idx], *busr;
 +      int idx;
  
        if (!dev->bus)
 -              return 0;
 -
 -      pci_bus_for_each_resource(dev->bus, busr, i) {
 -              if (!busr || ((busr->flags ^ devr->flags) & type_mask))
 -                      continue;
 -              if ((devr->start) && (devr->start >= busr->start) &&
 -                              (devr->end <= busr->end))
 -                      return 1;
 -      }
 -      return 0;
 -}
 +              return;
  
 -static void pcibios_fixup_resources(struct pci_dev *dev, int start, int limit)
 -{
 -      int i;
 +      for (idx = 0; idx < PCI_BRIDGE_RESOURCES; idx++) {
 +              struct resource *r = &dev->resource[idx];
  
 -      for (i = start; i < limit; i++) {
 -              if (!dev->resource[i].flags)
 +              if (!r->flags || r->parent || !r->start)
                        continue;
 -              if ((is_valid_resource(dev, i)))
 -                      pci_claim_resource(dev, i);
 -      }
 -}
  
 -void pcibios_fixup_device_resources(struct pci_dev *dev)
 -{
 -      pcibios_fixup_resources(dev, 0, PCI_BRIDGE_RESOURCES);
 +              pci_claim_resource(dev, idx);
 +      }
  }
  EXPORT_SYMBOL_GPL(pcibios_fixup_device_resources);
  
  static void pcibios_fixup_bridge_resources(struct pci_dev *dev)
  {
 -      pcibios_fixup_resources(dev, PCI_BRIDGE_RESOURCES, PCI_NUM_RESOURCES);
 +      int idx;
 +
 +      if (!dev->bus)
 +              return;
 +
 +      for (idx = PCI_BRIDGE_RESOURCES; idx < PCI_NUM_RESOURCES; idx++) {
 +              struct resource *r = &dev->resource[idx];
 +
 +              if (!r->flags || r->parent || !r->start)
 +                      continue;
 +
 +              pci_claim_bridge_resource(dev, idx);
 +      }
  }
  
  /*