1. 24 8月, 2020 1 次提交
  2. 26 12月, 2019 1 次提交
  3. 26 10月, 2019 1 次提交
    • M
      ata: libahci_platform: Fix regulator_get_optional() misuse · 962399bb
      Mark Brown 提交于
      This driver is using regulator_get_optional() to handle all the supplies
      that it handles, and only ever enables and disables all supplies en masse
      without ever doing any other configuration of the device to handle missing
      power. These are clear signs that the API is being misused - it should only
      be used for supplies that may be physically absent from the system and in
      these cases the hardware usually needs different configuration if the
      supply is missing. Instead use normal regualtor_get(), if the supply is
      not described in DT then the framework will substitute a dummy regulator in
      so no special handling is needed by the consumer driver.
      
      In the case of the PHY regulator the handling in the driver is a hack to
      deal with integrated PHYs; the supplies are only optional in the sense
      that that there's some confusion in the code about where they're bound to.
      From a code point of view they function exactly as normal supplies so can
      be treated as such. It'd probably be better to model this by instantiating
      a PHY object for integrated PHYs.
      Reviewed-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      962399bb
  4. 20 9月, 2019 1 次提交
  5. 31 7月, 2019 1 次提交
  6. 16 7月, 2019 1 次提交
  7. 24 5月, 2019 1 次提交
  8. 12 1月, 2019 1 次提交
  9. 03 9月, 2018 2 次提交
  10. 28 8月, 2018 1 次提交
  11. 22 8月, 2018 2 次提交
  12. 07 8月, 2018 1 次提交
  13. 25 7月, 2018 1 次提交
  14. 13 7月, 2018 3 次提交
  15. 19 6月, 2018 1 次提交
  16. 10 4月, 2018 1 次提交
  17. 26 3月, 2018 1 次提交
  18. 13 2月, 2018 1 次提交
  19. 23 10月, 2017 1 次提交
  20. 05 8月, 2017 1 次提交
  21. 16 5月, 2017 1 次提交
  22. 03 6月, 2015 1 次提交
    • R
      ahci: Store irq number in struct ahci_host_priv · 21bfd1aa
      Robert Richter 提交于
      Currently, ahci supports only msi and intx. To also support msix the
      handling of the irq number need to be changed. The irq number for msix
      devices is taken from msi_list instead of pci_dev. Thus, the irq
      number of a device needs to be stored in struct ahci_host_priv now.
      This allows the host controller to be activated in a generic way.
      
      This change is only intended for ahci drivers. For that reason the irq
      number is stored in struct ahci_host_priv used only by ahci drivers.
      Thus, the ABI changes only for ahci_host_activate(), but existing ata
      drivers (about 50) are unaffected and keep unchanged. All users of
      ahci_host_activate() have been updated.
      
      While touching drivers/ata/libahci.c, doing a small code cleanup in
      ahci_port_start().
      Signed-off-by: NRobert Richter <rrichter@cavium.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      21bfd1aa
  23. 03 2月, 2015 1 次提交
  24. 29 1月, 2015 1 次提交
    • A
      ata: ahci_platform: fix owner module reference mismatch for scsi host · 018d5ef2
      Akinobu Mita 提交于
      The owner module reference of the ahci platform's scsi_host is
      initialized to libahci_platform's one, because these drivers use a
      scsi_host_template defined in libahci_platform.  So these drivers can
      be unloaded even if the scsi device is being accessed.
      
      This fixes it by pushing the scsi_host_template from libahci_platform
      to all leaf drivers.  The scsi_host_template is passed through a new
      argument of ahci_platform_init_host().
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
      Cc: linux-ide@vger.kernel.org
      Cc: linux-scsi@vger.kernel.org
      018d5ef2
  25. 22 1月, 2015 1 次提交
    • T
      ata: libahci: Fix devres cleanup on failure · 55294150
      Thierry Reding 提交于
      Commit c7d7ddee ("ata: libahci: Allow using multiple regulators")
      releases regulators during ahci_platform_put_resources(). That doesn't
      work because the function is run as part of the devres machinery. Such
      resources are torn down in reverse order. Since the array that holds
      pointers to the regulators is allocated using devres after the device
      context to which ahci_platform_put_resources() is attached, the memory
      will be freed before calling ahci_platform_put_resources() and thereby
      causing a use-after-free error.
      
      This commit fixes this by using regular allocations for the array. The
      memory can then be freed after the regulators have been released. This
      conserves the advantages of using the managed API.
      Reported-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      55294150
  26. 19 1月, 2015 2 次提交
  27. 06 10月, 2014 1 次提交
  28. 31 8月, 2014 1 次提交
    • F
      libahci_platform: Staticize ahci_platform_<en/dis>able_phys() · 6bb86fef
      Fabio Estevam 提交于
      ahci_platform_enable_phys() and ahci_platform_disable_phys() are currently
      exported, but they are not used anywhere else other than libahci_platform.c.
      
      So make them static and do not export them to fix the following sparse
      warnings:
      
      drivers/ata/libahci_platform.c:52:5: warning: symbol 'ahci_platform_enable_phys' was not declared. Should it be static?
      drivers/ata/libahci_platform.c:88:6: warning: symbol 'ahci_platform_disable_phys' was not declared. Should it be static?
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      6bb86fef
  29. 16 8月, 2014 1 次提交
  30. 01 8月, 2014 1 次提交
  31. 31 7月, 2014 2 次提交
  32. 18 6月, 2014 2 次提交
  33. 15 5月, 2014 1 次提交