1. 29 2月, 2016 1 次提交
  2. 15 2月, 2016 1 次提交
    • T
      mmc: omap_hsmmc: Fix PM regression with deferred probe for pm_runtime_reinit · 814a3c0c
      Tony Lindgren 提交于
      Commit 5de85b9d ("PM / runtime: Re-init runtime PM states at probe
      error and driver unbind") introduced pm_runtime_reinit() that is used
      to reinitialize PM runtime after -EPROBE_DEFER. This allows shutting
      down the device after a failed probe.
      
      However, for drivers using pm_runtime_use_autosuspend() this can cause
      a state where suspend callback is never called after -EPROBE_DEFER.
      On the following device driver probe, hardware state is different from
      the PM runtime state causing omap_device to produce the following
      error:
      
      omap_device_enable() called from invalid state 1
      
      And with omap_device and omap hardware being picky for PM, this will
      block any deeper idle states in hardware.
      
      The solution is to fix the drivers to follow the PM runtime documentation:
      
      1. For sections of code that needs the device disabled, use
         pm_runtime_put_sync_suspend() if pm_runtime_set_autosuspend() has
         been set.
      
      2. For driver exit code, use pm_runtime_dont_use_autosuspend() before
         pm_runtime_put_sync() if pm_runtime_use_autosuspend() has been
         set.
      
      Fixes: 5de85b9d ("PM / runtime: Re-init runtime PM states at probe
      error and driver unbind")
      Cc: linux-mmc@vger.kernel.org
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Rafael J. Wysocki <rafael@kernel.org>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      814a3c0c
  3. 22 12月, 2015 1 次提交
  4. 08 10月, 2015 2 次提交
  5. 27 8月, 2015 15 次提交
  6. 17 8月, 2015 2 次提交
  7. 24 7月, 2015 2 次提交
  8. 22 5月, 2015 1 次提交
  9. 31 3月, 2015 2 次提交
  10. 27 3月, 2015 2 次提交
    • A
      ARM: OMAP2: HSMMC: explicit fields to declare cover/card detect pin · b7a5646f
      Andreas Fenkart 提交于
      board-rx51 has no card detect pin in the mmc slot, but can detect that
      the (cell-phone) cover has been removed and the card is accessible.
      The semantics between cover/card detect differ, the gpio on the slot
      informs you after the card has been removed, cover removal does not
      necessarily mean that the card has been removed.
      This means different code paths are necessary. To complete this we
      also want different fields in the platform data for cover and card
      detect. This separation is not pushed all the way down into struct
      omap2_hsmmc_info which is used to initialize the platform data.
      If we did that we had to go over all board files and set the new
      gpio_cod pin to -EINVAL. If we forget one board or some out-of-tree
      archicture forgets that the default '0' is used which is a valid pin
      number.
      Signed-off-by: NAndreas Fenkart <afenkart@gmail.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      b7a5646f
    • N
      mmc: omap_hsmmc: stop using ->enable|disable() callbacks · f57ba4ca
      NeilBrown 提交于
      The ->enable|disable() callbacks are only used to get and put runtime
      PM references. Currently omap_hsmmc's ->set_ios() already does this
      itself.
      
      Other host drivers deals with runtime PM without using the
      ->enable|disable() callbacks and thus do the runtime PM reference
      counting themselves. Apply that approach for omap_hsmmc as well and
      then discard the ->enable|disable() callbacks.
      Signed-off-by: NNeilBrown <neil@brown.name>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      f57ba4ca
  11. 23 3月, 2015 4 次提交
  12. 19 1月, 2015 3 次提交
  13. 26 11月, 2014 4 次提交