1. 08 1月, 2009 3 次提交
  2. 07 1月, 2009 1 次提交
    • R
      PM: Simplify the new suspend/hibernation framework for devices · adf09493
      Rafael J. Wysocki 提交于
      PM: Simplify the new suspend/hibernation framework for devices
      
      Following the discussion at the Kernel Summit, simplify the new
      device PM framework by merging 'struct pm_ops' and
      'struct pm_ext_ops' and removing pointers to 'struct pm_ext_ops'
      from 'struct platform_driver' and 'struct pci_driver'.
      
      After this change, the suspend/hibernation callbacks will only
      reside in 'struct device_driver' as well as at the bus type/
      device class/device type level.  Accordingly, PCI and platform
      device drivers are now expected to put their suspend/hibernation
      callbacks into the 'struct device_driver' embedded in
      'struct pci_driver' or 'struct platform_driver', respectively.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@suse.cz>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      adf09493
  3. 04 11月, 2008 1 次提交
  4. 24 10月, 2008 1 次提交
  5. 23 10月, 2008 6 次提交
  6. 21 10月, 2008 7 次提交
  7. 16 10月, 2008 1 次提交
  8. 27 9月, 2008 1 次提交
  9. 17 9月, 2008 1 次提交
  10. 08 8月, 2008 1 次提交
  11. 07 8月, 2008 1 次提交
    • A
      PCI: make pci_register_driver() a macro · bba81165
      Andrew Morton 提交于
      alpha:
      
      CC [M]  drivers/usb/gadget/u_ether.o
      In file included from include/asm/dma-mapping.h:7,
                       from include/linux/dma-mapping.h:52,
                       from include/linux/dmaengine.h:29,
                       from include/linux/skbuff.h:29,
                       from include/linux/if_ether.h:114,
                       from include/linux/etherdevice.h:27,
                       from drivers/usb/gadget/u_ether.c:29:
      include/linux/pci.h: In function 'pci_register_driver':
      include/linux/pci.h:673: error: 'KBUILD_MODNAME' undeclared (first use in this function)
      include/linux/pci.h:673: error: (Each undeclared identifier is reported only once
      include/linux/pci.h:673: error: for each function it appears in.)
      
      Sam says:
      
      The problem is that u_ether.o is used by two modules so when we build it
      KBUILD_MODNAME is not defined because kbuild does not know what value to
      use.
      
      And in pci.h we have the following inline:
      
      static inline int __must_check pci_register_driver(struct pci_driver *driver)
      {
              return __pci_register_driver(driver, THIS_MODULE, KBUILD_MODNAME);
      }
      
      And alpha uses dma-mapping.h to nullify a number of functions that seem to
      require something from pci.h.
      
      Making it a macro fixes this particular problem.  However, the underlying issue
      of a file using KBUILD_MODNAME and being shared between multiple modules is
      *not* addressed.  I guess the answer there is "don't do that".
      
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      bba81165
  12. 29 7月, 2008 1 次提交
  13. 23 7月, 2008 1 次提交
  14. 08 7月, 2008 4 次提交
  15. 01 7月, 2008 1 次提交
  16. 28 6月, 2008 1 次提交
  17. 12 6月, 2008 1 次提交
  18. 11 6月, 2008 4 次提交
    • A
      PCI: introduce pci_slot · f46753c5
      Alex Chiang 提交于
      Currently, /sys/bus/pci/slots/ only exposes hotplug attributes when a
      hotplug driver is loaded, but PCI slots have attributes such as address,
      speed, width, etc.  that are not related to hotplug at all.
      
      Introduce pci_slot as the primary data structure and kobject model.
      Hotplug attributes described in hotplug_slot become a secondary
      structure associated with the pci_slot.
      
      This patch only creates the infrastructure that allows the separation of
      PCI slot attributes and hotplug attributes.  In this patch, the PCI
      hotplug core remains the only user of this infrastructure, and thus,
      /sys/bus/pci/slots/ will still only become populated when a hotplug
      driver is loaded.
      
      A later patch in this series will add a second user of this new
      infrastructure and demonstrate splitting the task of exposing pci_slot
      attributes from hotplug_slot attributes.
      
        - Make pci_slot the primary sysfs entity. hotplug_slot becomes a
          subsidiary structure.
          o pci_create_slot() creates and registers a slot with the PCI core
          o pci_slot_add_hotplug() gives it hotplug capability
      
        - Change the prototype of pci_hp_register() to take the bus and
          slot number (on parent bus) as parameters.
      
        - Remove all the ->get_address methods since this functionality is
          now handled by pci_slot directly.
      
      [achiang@hp.com: rpaphp-correctly-pci_hp_register-for-empty-pci-slots]
      Tested-by: NBadari Pulavarty <pbadari@us.ibm.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: make headers_check happy]
      [akpm@linux-foundation.org: nuther build fix]
      [akpm@linux-foundation.org: fix typo in #include]
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
      Cc: Greg KH <greg@kroah.com>
      Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Acked-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      f46753c5
    • R
      PCI: implement new suspend/resume callbacks · bbb44d9f
      Rafael J. Wysocki 提交于
      Implement new suspend and hibernation callbacks for the PCI bus type.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      bbb44d9f
    • R
      Suspend/Resume bug in PCI layer wrt quirks · e1a2a51e
      Rafael J. Wysocki 提交于
      Some quirks should be called with interrupt disabled, we can't directly
      call them in .resume_early. Also the patch introduces
      pci_fixup_resume_early and pci_fixup_suspend, which matches current
      device core callbacks (.suspend/.resume_early).
      
      TBD: Somebody knows why we need quirk resume should double check if a
      quirk should be called in resume or resume_early. I changed some per my
      understanding, but can't make sure I fixed all.
      Signed-off-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      e1a2a51e
    • A
      PCI: drivers/pci/pci.c: add prototypes · 19792a08
      Adrian Bunk 提交于
      This patch adds prototypes for pcibios_disable_device() and
      pcibios_set_pcie_reset_state() in include/linux/pci.h
      
      While I was at it, I also removed the unneeded "extern" from the
      prototype of pcibios_add_platform_entries().
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      19792a08
  19. 13 5月, 2008 1 次提交
  20. 30 4月, 2008 2 次提交