1. 25 Jun, 2011 2 commits
    • Anand Gadiyar's avatar
      mmc: omap_hsmmc: fix ocr mask usage · 4a3dc6ef
      Anand Gadiyar authored
      The OMAP HSMMC driver uses an ocr_mask to determine the list of voltages
      supported by the card. It populates this mask based on the list of
      voltages supported by the regulator that supplies the voltage.
      
      Commit 64be9782 (omap4 hsmmc: Update ocr mask for MMC2 for regulator
      to use) passed a fixed ocr_mask from the OMAP4 SDP board file to limit
      the voltage to 2.9-3.0 Volts, and updated the driver to use this mask
      if provided, instead of using the regulator's supported voltages.
      
      However the commit is buggy - the ocr_mask is overridden by the
      regulator's capabilities anyway. Fix this.
      
      (The bug shows up when a system-wide suspend is attempted on the OMAP4
      SDP/Blaze platforms. The eMMC card comes up at 3V, but drops to 1.65V
      after the system resumes).
      Signed-off-by: default avatarAnand Gadiyar <gadiyar@ti.com>
      Acked-by: default avatarBalaji T K <balajitk@ti.com>
      Acked-by: default avatarVenkatraman S <svenkatr@ti.com>
      Tested-by: default avatarKishore Kadiyala <kishore.kadiyala@ti.com>
      Signed-off-by: default avatarSourav Poddar <sourav.poddar@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      4a3dc6ef
    • Ohad Ben-Cohen's avatar
      mmc: sdio: fix runtime PM path during driver removal · 297c7f2f
      Ohad Ben-Cohen authored
      After commit e1866b33 "PM / Runtime: Rework runtime PM handling
      during driver removal" was introduced, the driver core stopped
      incrementing the runtime PM usage counter of the device during
      the invocation of the ->remove() callback.
      
      This indirectly broke SDIO's runtime PM path during driver removal,
      because no one calls _put_sync() anymore after ->remove() completes.
      
      This means that the power of runtime-PM-managed SDIO cards is kept
      high after their driver is removed (even if it was powered down
      beforehand).
      
      Fix that by directly calling _put_sync() when the last usage
      counter is downref'ed by the SDIO bus.
      Reported-and-tested-by: default avatarDaniel Drake <dsd@laptop.org>
      Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      297c7f2f
  2. 19 Jun, 2011 4 commits
  3. 18 Jun, 2011 7 commits
  4. 17 Jun, 2011 11 commits
  5. 16 Jun, 2011 16 commits