• Bjorn Helgaas's avatar
    Merge branch 'pci/devres' · 06bbe25c
    Bjorn Helgaas authored
    - Add pcim_add_mapping_to_legacy_table() and
      pcim_remove_mapping_from_legacy_table() helper functions to simplify
      devres iomap table (Philipp Stanner)
    
    - Reimplement devres that take a bit mask of BARs in a way that can be used
      to map partial BARs as well as entire BARs (Philipp Stanner)
    
    - Deprecate pcim_iomap_table() and pcim_iomap_regions_request_all() in
      favor of pcim_* request plus pcim_* mapping (Philipp Stanner)
    
    - Add pcim_request_region(), a managed interface to request a single BAR
      (Philipp Stanner)
    
    - Use the existing pci_is_enabled() interface to replace the struct
      devres.enabled bit (Philipp Stanner)
    
    - Move the struct pci_devres.pinned bit to struct pci_dev (Philipp Stanner)
    
    - Reimplement pcim_set_mwi() so it uses its own devres cleanup callback
      instead of a special-purpose bit in struct pci_devres (Philipp Stanner)
    
    - Add pcim_intx(), which is unambiguously managed, unlike pci_intx(), which
      is managed if pcim_enable_device() has been called but unmanaged
      otherwise (Philipp Stanner)
    
    - Remove pcim_release(), which is no longer needed after previous cleanups
      of pcim_set_mwi() and pci_intx() (Philipp Stanner)
    
    - Add pcim_iomap_range(), a managed interface to map part of a BAR (Philipp
      Stanner)
    
    - Fix vboxvideo leak by using the new pcim_iomap_range() instead of the
      unmanaged pci_iomap_range() (Philipp Stanner)
    
    * pci/devres:
      drm/vboxvideo: fix mapping leaks
      PCI: Add managed pcim_iomap_range()
      PCI: Remove legacy pcim_release()
      PCI: Add managed pcim_intx()
      PCI: Give pcim_set_mwi() its own devres cleanup callback
      PCI: Move struct pci_devres.pinned bit to struct pci_dev
      PCI: Remove struct pci_devres.enabled status bit
      PCI: Document hybrid devres hazards
      PCI: Add managed pcim_request_region()
      PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_request_all()
      PCI: Add managed partial-BAR request and map infrastructure
      PCI: Add devres helpers for iomap table
      PCI: Add and use devres helper for bit masks
    06bbe25c
pci.c 182 KB