<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/mmc/host, branch v3.14.9</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>mmc: sdhci-bcm-kona: fix build errors when built-in</title>
<updated>2014-05-13T11:32:56+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2014-03-04T21:25:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=871262107293e31c4d9ef5265c93eb9072d51e7a'/>
<id>871262107293e31c4d9ef5265c93eb9072d51e7a</id>
<content type='text'>
commit 4025ce24f326830135341814307c072f6c2a7738 upstream.

`sdhci_bcm_kona_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o

Fixes: 058feb53666f ("mmc: sdhci-bcm-kona: make linker-section warning go away")
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Tested-by: Markus Mayer &lt;markus.mayer@linaro.org&gt;
Acked-by: Matt Porter &lt;mporter@linaro.org&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4025ce24f326830135341814307c072f6c2a7738 upstream.

`sdhci_bcm_kona_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o

Fixes: 058feb53666f ("mmc: sdhci-bcm-kona: make linker-section warning go away")
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Tested-by: Markus Mayer &lt;markus.mayer@linaro.org&gt;
Acked-by: Matt Porter &lt;mporter@linaro.org&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'mmc-updates-for-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc</title>
<updated>2014-01-26T19:00:41+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-26T19:00:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ccc039d65f24172eebab5e0160462d3417799af5'/>
<id>ccc039d65f24172eebab5e0160462d3417799af5</id>
<content type='text'>
Pull MMC updates from Chris Ball:
 "MMC highlights for 3.14:

  Core:
   - Avoid get_cd() on cards marked nonremovable

  Drivers:
   - arasan: New driver for controllers found in e.g. Xilinx Zynq SoC
   - dwmmc: Support Hisilicon K3 SoC controllers
   - esdhc-imx: Support for HS200 mode, DDR modes on MX6, runtime PM
   - sdhci-pci: Support O2Micro/BayHubTech controllers used in laptops
     like Lenovo ThinkPad W540, Dell Latitude E5440, Dell Latitude E6540
   - tegra: Support Tegra124 SoCs"

* tag 'mmc-updates-for-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (55 commits)
  mmc: sdhci-pci: Fix possibility of chip-&gt;fixes being null
  mmc: sdhci-pci: Fix BYT sd card getting stuck in runtime suspend
  mmc: sdhci: Allow for long command timeouts
  mmc: sdio: add a quirk for broken SDIO_CCCR_INTx polling
  mmc: sdhci: fix lockdep error in tuning routine
  mmc: dw_mmc: k3: remove clk_table
  mmc: dw_mmc: fix dw_mci_get_cd
  mmc: dw_mmc: fix sparse non static symbol warning
  mmc: sdhci-esdhc-imx: fix warning during module remove function
  mmc: sdhci-esdhc-imx: fix access hardirq-unsafe lock in atomic context
  mmc: core: sd: implement proper support for sd3.0 au sizes
  mmc: atmel-mci: add vmmc-supply support
  mmc: sdhci-pci: add broken HS200 quirk for Intel Merrifield
  mmc: sdhci: add quirk for broken HS200 support
  mmc: arasan: Add driver for Arasan SDHCI
  mmc: dw_mmc: add dw_mmc-k3 for k3 platform
  mmc: dw_mmc: use slot-gpio to handle cd pin
  mmc: sdhci-pci: add support of O2Micro/BayHubTech SD hosts
  mmc: sdhci-pci: break out definitions to header file
  mmc: tmio: fixup compile error
  ...

Conflicts:
	MAINTAINERS
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull MMC updates from Chris Ball:
 "MMC highlights for 3.14:

  Core:
   - Avoid get_cd() on cards marked nonremovable

  Drivers:
   - arasan: New driver for controllers found in e.g. Xilinx Zynq SoC
   - dwmmc: Support Hisilicon K3 SoC controllers
   - esdhc-imx: Support for HS200 mode, DDR modes on MX6, runtime PM
   - sdhci-pci: Support O2Micro/BayHubTech controllers used in laptops
     like Lenovo ThinkPad W540, Dell Latitude E5440, Dell Latitude E6540
   - tegra: Support Tegra124 SoCs"

* tag 'mmc-updates-for-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (55 commits)
  mmc: sdhci-pci: Fix possibility of chip-&gt;fixes being null
  mmc: sdhci-pci: Fix BYT sd card getting stuck in runtime suspend
  mmc: sdhci: Allow for long command timeouts
  mmc: sdio: add a quirk for broken SDIO_CCCR_INTx polling
  mmc: sdhci: fix lockdep error in tuning routine
  mmc: dw_mmc: k3: remove clk_table
  mmc: dw_mmc: fix dw_mci_get_cd
  mmc: dw_mmc: fix sparse non static symbol warning
  mmc: sdhci-esdhc-imx: fix warning during module remove function
  mmc: sdhci-esdhc-imx: fix access hardirq-unsafe lock in atomic context
  mmc: core: sd: implement proper support for sd3.0 au sizes
  mmc: atmel-mci: add vmmc-supply support
  mmc: sdhci-pci: add broken HS200 quirk for Intel Merrifield
  mmc: sdhci: add quirk for broken HS200 support
  mmc: arasan: Add driver for Arasan SDHCI
  mmc: dw_mmc: add dw_mmc-k3 for k3 platform
  mmc: dw_mmc: use slot-gpio to handle cd pin
  mmc: sdhci-pci: add support of O2Micro/BayHubTech SD hosts
  mmc: sdhci-pci: break out definitions to header file
  mmc: tmio: fixup compile error
  ...

Conflicts:
	MAINTAINERS
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2014-01-24T02:49:36+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-24T02:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0ba3307a8ec35252f7b1e222e32889a6f3d9ceb3'/>
<id>0ba3307a8ec35252f7b1e222e32889a6f3d9ceb3</id>
<content type='text'>
Pull ARM driver updates from Olof Johansson:
 "Updates of SoC-near drivers and other driver updates that makes more
  sense to take through our tree.

  The largest part of this is a conversion of device registration for
  some renesas shmobile/sh devices over to use resources.  This has
  required coordination with the corresponding arch/sh changes, and
  we've agreed to merge the arch/sh changes through our tree.

  Added in this branch is support for Trusted Foundations secure
  firmware, which is what is used on many of the commercial Nvidia Tegra
  products that are in the market, including the Nvidia Shield.  The
  code is local to arch/arm at this time since it's uncertain whether it
  will be shared with arm64 longer-term, if needed we will refactor
  later.

  A couple of new RTC drivers used on ARM boards, merged through our
  tree on request by the RTC maintainer.

  ... plus a bunch of smaller updates across the board, gpio conversions
  for davinci, etc"

* tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
  watchdog: davinci: rename platform driver to davinci-wdt
  tty: serial: Limit msm_serial_hs driver to platforms that use it
  mmc: msm_sdcc: Limit driver to platforms that use it
  usb: phy: msm: Move mach dependent code to platform data
  clk: versatile: fixup IM-PD1 clock implementation
  clk: versatile: pass a name to ICST clock provider
  ARM: integrator: pass parent IRQ to the SIC
  irqchip: versatile FPGA: support cascaded interrupts from DT
  gpio: davinci: don't create irq_domain in case of unbanked irqs
  gpio: davinci: use chained_irq_enter/chained_irq_exit API
  gpio: davinci: add OF support
  gpio: davinci: remove unused variable intc_irq_num
  gpio: davinci: convert to use irqdomain support.
  gpio: introduce GPIO_DAVINCI kconfig option
  gpio: davinci: get rid of DAVINCI_N_GPIO
  gpio: davinci: use {readl|writel}_relaxed() instead of __raw_*
  serial: sh-sci: Add OF support
  serial: sh-sci: Add device tree bindings documentation
  serial: sh-sci: Remove platform data mapbase and irqs fields
  serial: sh-sci: Remove platform data scbrr_algo_id field
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM driver updates from Olof Johansson:
 "Updates of SoC-near drivers and other driver updates that makes more
  sense to take through our tree.

  The largest part of this is a conversion of device registration for
  some renesas shmobile/sh devices over to use resources.  This has
  required coordination with the corresponding arch/sh changes, and
  we've agreed to merge the arch/sh changes through our tree.

  Added in this branch is support for Trusted Foundations secure
  firmware, which is what is used on many of the commercial Nvidia Tegra
  products that are in the market, including the Nvidia Shield.  The
  code is local to arch/arm at this time since it's uncertain whether it
  will be shared with arm64 longer-term, if needed we will refactor
  later.

  A couple of new RTC drivers used on ARM boards, merged through our
  tree on request by the RTC maintainer.

  ... plus a bunch of smaller updates across the board, gpio conversions
  for davinci, etc"

* tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
  watchdog: davinci: rename platform driver to davinci-wdt
  tty: serial: Limit msm_serial_hs driver to platforms that use it
  mmc: msm_sdcc: Limit driver to platforms that use it
  usb: phy: msm: Move mach dependent code to platform data
  clk: versatile: fixup IM-PD1 clock implementation
  clk: versatile: pass a name to ICST clock provider
  ARM: integrator: pass parent IRQ to the SIC
  irqchip: versatile FPGA: support cascaded interrupts from DT
  gpio: davinci: don't create irq_domain in case of unbanked irqs
  gpio: davinci: use chained_irq_enter/chained_irq_exit API
  gpio: davinci: add OF support
  gpio: davinci: remove unused variable intc_irq_num
  gpio: davinci: convert to use irqdomain support.
  gpio: introduce GPIO_DAVINCI kconfig option
  gpio: davinci: get rid of DAVINCI_N_GPIO
  gpio: davinci: use {readl|writel}_relaxed() instead of __raw_*
  serial: sh-sci: Add OF support
  serial: sh-sci: Add device tree bindings documentation
  serial: sh-sci: Remove platform data mapbase and irqs fields
  serial: sh-sci: Remove platform data scbrr_algo_id field
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm</title>
<updated>2014-01-24T02:34:03+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-01-24T02:34:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f341535193c338b4ce4af8e32be51e6aae7f22a6'/>
<id>f341535193c338b4ce4af8e32be51e6aae7f22a6</id>
<content type='text'>
Pull ARM updates from Russell King:
 "In this set, we have:
   - Refactoring of some of the old StrongARM-1100 GPIO code to make
     things simpler by Dmitry Eremin-Solenikov
   - Read-only and non-executable support for modules on ARM from Laura
     Abbot
   - Removal of unnecessary set_drvdata() calls in AMBA code
   - Some non-executable support for kernel lowmem mappings at the 1MB
     section granularity, and dumping of kernel page tables via debugfs
   - Some improvements for the timer/clock code on Footbridge platforms,
     and cleanup some of the LED code there
   - Fix fls/ffs() signatures to match x86 to prevent build warnings,
     particularly where these are used with min/max() macros
   - Avoid using the bootmem allocator on ARM (patches from Santosh
     Shilimkar)
   - Various asid/unaligned access updates from Will Deacon"

* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (51 commits)
  ARM: SMP implementations are not supposed to return from smp_ops.cpu_die()
  ARM: ignore memory below PHYS_OFFSET
  Fix select-induced Kconfig warning for ZBOOT_ROM
  ARM: fix ffs/fls implementations to match x86
  ARM: 7935/1: sa1100: collie: add gpio-keys configuration
  ARM: 7932/1: bcm: Add DEBUG_LL console support
  ARM: 7929/1: Remove duplicate SCHED_HRTICK config option
  ARM: 7928/1: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ &amp;&amp; MMU
  ARM: 7927/1: dcache: select DCACHE_WORD_ACCESS for big-endian CPUs
  ARM: 7926/1: mm: flesh out and fix the comments in the ASID allocator
  ARM: 7925/1: mm: keep track of last ASID allocation to improve bitmap searching
  ARM: 7924/1: mm: don't bother with reserved ttbr0 when running with LPAE
  ARM: PCI: add legacy IDE IRQ implementation
  ARM: footbridge: cleanup LEDs code
  ARM: pgd allocation: retry on failure
  ARM: footbridge: add one-shot mode for DC21285 timer
  ARM: footbridge: add sched_clock implementation
  ARM: 7922/1: l2x0: add Marvell Tauros3 support
  ARM: 7877/1: use built-in byte swap function
  ARM: 7921/1: mcpm: remove redundant dsb instructions prior to sev
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM updates from Russell King:
 "In this set, we have:
   - Refactoring of some of the old StrongARM-1100 GPIO code to make
     things simpler by Dmitry Eremin-Solenikov
   - Read-only and non-executable support for modules on ARM from Laura
     Abbot
   - Removal of unnecessary set_drvdata() calls in AMBA code
   - Some non-executable support for kernel lowmem mappings at the 1MB
     section granularity, and dumping of kernel page tables via debugfs
   - Some improvements for the timer/clock code on Footbridge platforms,
     and cleanup some of the LED code there
   - Fix fls/ffs() signatures to match x86 to prevent build warnings,
     particularly where these are used with min/max() macros
   - Avoid using the bootmem allocator on ARM (patches from Santosh
     Shilimkar)
   - Various asid/unaligned access updates from Will Deacon"

* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (51 commits)
  ARM: SMP implementations are not supposed to return from smp_ops.cpu_die()
  ARM: ignore memory below PHYS_OFFSET
  Fix select-induced Kconfig warning for ZBOOT_ROM
  ARM: fix ffs/fls implementations to match x86
  ARM: 7935/1: sa1100: collie: add gpio-keys configuration
  ARM: 7932/1: bcm: Add DEBUG_LL console support
  ARM: 7929/1: Remove duplicate SCHED_HRTICK config option
  ARM: 7928/1: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ &amp;&amp; MMU
  ARM: 7927/1: dcache: select DCACHE_WORD_ACCESS for big-endian CPUs
  ARM: 7926/1: mm: flesh out and fix the comments in the ASID allocator
  ARM: 7925/1: mm: keep track of last ASID allocation to improve bitmap searching
  ARM: 7924/1: mm: don't bother with reserved ttbr0 when running with LPAE
  ARM: PCI: add legacy IDE IRQ implementation
  ARM: footbridge: cleanup LEDs code
  ARM: pgd allocation: retry on failure
  ARM: footbridge: add one-shot mode for DC21285 timer
  ARM: footbridge: add sched_clock implementation
  ARM: 7922/1: l2x0: add Marvell Tauros3 support
  ARM: 7877/1: use built-in byte swap function
  ARM: 7921/1: mcpm: remove redundant dsb instructions prior to sev
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: sdhci-pci: Fix possibility of chip-&gt;fixes being null</title>
<updated>2014-01-23T15:52:53+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2014-01-21T07:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=945be38caa287b177b8c17ffaae7754cab6a658f'/>
<id>945be38caa287b177b8c17ffaae7754cab6a658f</id>
<content type='text'>
It is possible for chip-&gt;fixes to be null.  Check before dereferencing it.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.11+
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is possible for chip-&gt;fixes to be null.  Check before dereferencing it.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.11+
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: sdhci-pci: Fix BYT sd card getting stuck in runtime suspend</title>
<updated>2014-01-20T15:31:08+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2014-01-13T07:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=77a0122e0838663795651aa0beb2325156f98c09'/>
<id>77a0122e0838663795651aa0beb2325156f98c09</id>
<content type='text'>
A host controller for a SD card may need a GPIO for card detect in order
to wake up from runtime suspend when a card is inserted.  If that GPIO is
not configured, then the host controller will not wake up.  Fix that for
the affected devices by not enabling runtime PM unless the GPIO is
successfully set up.

This affects BYT sd card host controller which had runtime PM enabled from
v3.11.  For completeness, the MFD sd card host controller is flagged also.

The original patch before rebasing (see link below) was tested on v3.11.10
and v3.12.4 although the patch applied with some offsets and fuzz.  The
original patch is here:

    http://marc.info/?l=linux-mmc&amp;m=138676702327057

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.11+
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A host controller for a SD card may need a GPIO for card detect in order
to wake up from runtime suspend when a card is inserted.  If that GPIO is
not configured, then the host controller will not wake up.  Fix that for
the affected devices by not enabling runtime PM unless the GPIO is
successfully set up.

This affects BYT sd card host controller which had runtime PM enabled from
v3.11.  For completeness, the MFD sd card host controller is flagged also.

The original patch before rebasing (see link below) was tested on v3.11.10
and v3.12.4 although the patch applied with some offsets and fuzz.  The
original patch is here:

    http://marc.info/?l=linux-mmc&amp;m=138676702327057

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.11+
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: sdhci: Allow for long command timeouts</title>
<updated>2014-01-20T14:54:40+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2013-11-14T08:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3e1a6892481034193b2502725f787465ebf39818'/>
<id>3e1a6892481034193b2502725f787465ebf39818</id>
<content type='text'>
The driver has a timer with a 10 second timeout to catch devices that stop
responding.  However it is possible for commands to take even longer than
that.  Change the timer timeout to reflect the command timeout.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver has a timer with a 10 second timeout to catch devices that stop
responding.  However it is possible for commands to take even longer than
that.  Change the timer timeout to reflect the command timeout.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: sdhci: fix lockdep error in tuning routine</title>
<updated>2014-01-18T03:39:18+00:00</updated>
<author>
<name>Aisheng Dong</name>
<email>b29396@freescale.com</email>
</author>
<published>2013-12-23T11:13:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b35bd83467df6f8284b9148d6f768148c3a5e5f'/>
<id>2b35bd83467df6f8284b9148d6f768148c3a5e5f</id>
<content type='text'>
The sdhci_execute_tuning routine gets lock separately by
disable_irq(host-&gt;irq);
spin_lock(&amp;host-&gt;lock);
It will cause the following lockdep error message since the &amp;host-&gt;lock
could also be got in irq context.
Use spin_lock_irqsave/spin_unlock_restore instead to get rid of
this error message.

[ INFO: inconsistent lock state ]
3.13.0-rc1+ #287 Not tainted
---------------------------------
inconsistent {IN-HARDIRQ-W} -&gt; {HARDIRQ-ON-W} usage.
kworker/u2:1/33 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&amp;(&amp;host-&gt;lock)-&gt;rlock){?.-...}, at: [&lt;8045f7f4&gt;] sdhci_execute_tuning+0x4c/0x710
{IN-HARDIRQ-W} state was registered at:
  [&lt;8005f030&gt;] mark_lock+0x140/0x6ac
  [&lt;80060760&gt;] __lock_acquire+0xb30/0x1cbc
  [&lt;800620d0&gt;] lock_acquire+0x70/0x84
  [&lt;8061d1c8&gt;] _raw_spin_lock+0x30/0x40
  [&lt;804605cc&gt;] sdhci_irq+0x24/0xa68
  [&lt;8006b1d4&gt;] handle_irq_event_percpu+0x54/0x18c
  [&lt;8006b350&gt;] handle_irq_event+0x44/0x64
  [&lt;8006e50c&gt;] handle_fasteoi_irq+0xa0/0x170
  [&lt;8006a8f0&gt;] generic_handle_irq+0x30/0x44
  [&lt;8000f238&gt;] handle_IRQ+0x54/0xbc
  [&lt;8000864c&gt;] gic_handle_irq+0x30/0x64
  [&lt;80013024&gt;] __irq_svc+0x44/0x5c
  [&lt;80329bf4&gt;] dev_vprintk_emit+0x50/0x58
  [&lt;80329c24&gt;] dev_printk_emit+0x28/0x30
  [&lt;80329fec&gt;] __dev_printk+0x4c/0x90
  [&lt;8032a180&gt;] dev_err+0x3c/0x48
  [&lt;802dd4f0&gt;] _regulator_get+0x158/0x1cc
  [&lt;802dd5b4&gt;] regulator_get_optional+0x18/0x1c
  [&lt;80461df4&gt;] sdhci_add_host+0x42c/0xbd8
  [&lt;80464820&gt;] sdhci_esdhc_imx_probe+0x378/0x67c
  [&lt;8032ee88&gt;] platform_drv_probe+0x20/0x50
  [&lt;8032d48c&gt;] driver_probe_device+0x118/0x234
  [&lt;8032d690&gt;] __driver_attach+0x9c/0xa0
  [&lt;8032b89c&gt;] bus_for_each_dev+0x68/0x9c
  [&lt;8032cf44&gt;] driver_attach+0x20/0x28
  [&lt;8032cbc8&gt;] bus_add_driver+0x148/0x1f4
  [&lt;8032dce0&gt;] driver_register+0x80/0x100
  [&lt;8032ee54&gt;] __platform_driver_register+0x50/0x64
  [&lt;8084b094&gt;] sdhci_esdhc_imx_driver_init+0x18/0x20
  [&lt;80008980&gt;] do_one_initcall+0x108/0x16c
  [&lt;8081cca4&gt;] kernel_init_freeable+0x10c/0x1d0
  [&lt;80611b28&gt;] kernel_init+0x10/0x120
  [&lt;8000e9c8&gt;] ret_from_fork+0x14/0x2c
irq event stamp: 805
hardirqs last  enabled at (805): [&lt;8061d43c&gt;] _raw_spin_unlock_irqrestore+0x38/0x4c
hardirqs last disabled at (804): [&lt;8061d2c8&gt;] _raw_spin_lock_irqsave+0x24/0x54
softirqs last  enabled at (570): [&lt;8002b824&gt;] __do_softirq+0x1c4/0x290
softirqs last disabled at (561): [&lt;8002bcf4&gt;] irq_exit+0xb4/0x10c

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&amp;(&amp;host-&gt;lock)-&gt;rlock);
  &lt;Interrupt&gt;
    lock(&amp;(&amp;host-&gt;lock)-&gt;rlock);

 *** DEADLOCK ***

2 locks held by kworker/u2:1/33:
 #0:  (kmmcd){.+.+..}, at: [&lt;8003db18&gt;] process_one_work+0x128/0x468
 #1:  ((&amp;(&amp;host-&gt;detect)-&gt;work)){+.+...}, at: [&lt;8003db18&gt;] process_one_work+0x128/0x468

stack backtrace:
CPU: 0 PID: 33 Comm: kworker/u2:1 Not tainted 3.13.0-rc1+ #287
Workqueue: kmmcd mmc_rescan
Backtrace:
[&lt;80012160&gt;] (dump_backtrace+0x0/0x10c) from [&lt;80012438&gt;] (show_stack+0x18/0x1c)
 r6:bfad0900 r5:00000000 r4:8088ecc8 r3:bfad0900
[&lt;80012420&gt;] (show_stack+0x0/0x1c) from [&lt;806169ec&gt;] (dump_stack+0x84/0x9c)
[&lt;80616968&gt;] (dump_stack+0x0/0x9c) from [&lt;806147b4&gt;] (print_usage_bug+0x260/0x2d0)
 r5:8076ba88 r4:80977410
[&lt;80614554&gt;] (print_usage_bug+0x0/0x2d0) from [&lt;8005f0d0&gt;] (mark_lock+0x1e0/0x6ac)
 r9:8005e678 r8:00000000 r7:bfad0900 r6:00001015 r5:bfad0cd0
r4:00000002
[&lt;8005eef0&gt;] (mark_lock+0x0/0x6ac) from [&lt;80060234&gt;] (__lock_acquire+0x604/0x1cbc)
[&lt;8005fc30&gt;] (__lock_acquire+0x0/0x1cbc) from [&lt;800620d0&gt;] (lock_acquire+0x70/0x84)
[&lt;80062060&gt;] (lock_acquire+0x0/0x84) from [&lt;8061d1c8&gt;] (_raw_spin_lock+0x30/0x40)
 r7:00000000 r6:bfb63000 r5:00000000 r4:bfb60568
[&lt;8061d198&gt;] (_raw_spin_lock+0x0/0x40) from [&lt;8045f7f4&gt;] (sdhci_execute_tuning+0x4c/0x710)
 r4:bfb60000
[&lt;8045f7a8&gt;] (sdhci_execute_tuning+0x0/0x710) from [&lt;80453454&gt;] (mmc_sd_init_card+0x5f8/0x660)
[&lt;80452e5c&gt;] (mmc_sd_init_card+0x0/0x660) from [&lt;80453748&gt;] (mmc_attach_sd+0xb4/0x180)
 r9:bf92d400 r8:8065f364 r7:00061a80 r6:bfb60000 r5:8065f358
r4:bfb60000
[&lt;80453694&gt;] (mmc_attach_sd+0x0/0x180) from [&lt;8044d9f8&gt;] (mmc_rescan+0x284/0x2f0)
 r5:8065f358 r4:bfb602f8
[&lt;8044d774&gt;] (mmc_rescan+0x0/0x2f0) from [&lt;8003db94&gt;] (process_one_work+0x1a4/0x468)
 r8:00000000 r7:bfb55eb0 r6:bf80dc00 r5:bfb602f8 r4:bfb35980
r3:8044d774
[&lt;8003d9f0&gt;] (process_one_work+0x0/0x468) from [&lt;8003e850&gt;] (worker_thread+0x118/0x3e0)
[&lt;8003e738&gt;] (worker_thread+0x0/0x3e0) from [&lt;80044de0&gt;] (kthread+0xd4/0xf0)
[&lt;80044d0c&gt;] (kthread+0x0/0xf0) from [&lt;8000e9c8&gt;] (ret_from_fork+0x14/0x2c)
 r7:00000000 r6:00000000 r5:80044d0c r4:bfb37b40

Signed-off-by: Dong Aisheng &lt;b29396@freescale.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sdhci_execute_tuning routine gets lock separately by
disable_irq(host-&gt;irq);
spin_lock(&amp;host-&gt;lock);
It will cause the following lockdep error message since the &amp;host-&gt;lock
could also be got in irq context.
Use spin_lock_irqsave/spin_unlock_restore instead to get rid of
this error message.

[ INFO: inconsistent lock state ]
3.13.0-rc1+ #287 Not tainted
---------------------------------
inconsistent {IN-HARDIRQ-W} -&gt; {HARDIRQ-ON-W} usage.
kworker/u2:1/33 [HC0[0]:SC0[0]:HE1:SE1] takes:
 (&amp;(&amp;host-&gt;lock)-&gt;rlock){?.-...}, at: [&lt;8045f7f4&gt;] sdhci_execute_tuning+0x4c/0x710
{IN-HARDIRQ-W} state was registered at:
  [&lt;8005f030&gt;] mark_lock+0x140/0x6ac
  [&lt;80060760&gt;] __lock_acquire+0xb30/0x1cbc
  [&lt;800620d0&gt;] lock_acquire+0x70/0x84
  [&lt;8061d1c8&gt;] _raw_spin_lock+0x30/0x40
  [&lt;804605cc&gt;] sdhci_irq+0x24/0xa68
  [&lt;8006b1d4&gt;] handle_irq_event_percpu+0x54/0x18c
  [&lt;8006b350&gt;] handle_irq_event+0x44/0x64
  [&lt;8006e50c&gt;] handle_fasteoi_irq+0xa0/0x170
  [&lt;8006a8f0&gt;] generic_handle_irq+0x30/0x44
  [&lt;8000f238&gt;] handle_IRQ+0x54/0xbc
  [&lt;8000864c&gt;] gic_handle_irq+0x30/0x64
  [&lt;80013024&gt;] __irq_svc+0x44/0x5c
  [&lt;80329bf4&gt;] dev_vprintk_emit+0x50/0x58
  [&lt;80329c24&gt;] dev_printk_emit+0x28/0x30
  [&lt;80329fec&gt;] __dev_printk+0x4c/0x90
  [&lt;8032a180&gt;] dev_err+0x3c/0x48
  [&lt;802dd4f0&gt;] _regulator_get+0x158/0x1cc
  [&lt;802dd5b4&gt;] regulator_get_optional+0x18/0x1c
  [&lt;80461df4&gt;] sdhci_add_host+0x42c/0xbd8
  [&lt;80464820&gt;] sdhci_esdhc_imx_probe+0x378/0x67c
  [&lt;8032ee88&gt;] platform_drv_probe+0x20/0x50
  [&lt;8032d48c&gt;] driver_probe_device+0x118/0x234
  [&lt;8032d690&gt;] __driver_attach+0x9c/0xa0
  [&lt;8032b89c&gt;] bus_for_each_dev+0x68/0x9c
  [&lt;8032cf44&gt;] driver_attach+0x20/0x28
  [&lt;8032cbc8&gt;] bus_add_driver+0x148/0x1f4
  [&lt;8032dce0&gt;] driver_register+0x80/0x100
  [&lt;8032ee54&gt;] __platform_driver_register+0x50/0x64
  [&lt;8084b094&gt;] sdhci_esdhc_imx_driver_init+0x18/0x20
  [&lt;80008980&gt;] do_one_initcall+0x108/0x16c
  [&lt;8081cca4&gt;] kernel_init_freeable+0x10c/0x1d0
  [&lt;80611b28&gt;] kernel_init+0x10/0x120
  [&lt;8000e9c8&gt;] ret_from_fork+0x14/0x2c
irq event stamp: 805
hardirqs last  enabled at (805): [&lt;8061d43c&gt;] _raw_spin_unlock_irqrestore+0x38/0x4c
hardirqs last disabled at (804): [&lt;8061d2c8&gt;] _raw_spin_lock_irqsave+0x24/0x54
softirqs last  enabled at (570): [&lt;8002b824&gt;] __do_softirq+0x1c4/0x290
softirqs last disabled at (561): [&lt;8002bcf4&gt;] irq_exit+0xb4/0x10c

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&amp;(&amp;host-&gt;lock)-&gt;rlock);
  &lt;Interrupt&gt;
    lock(&amp;(&amp;host-&gt;lock)-&gt;rlock);

 *** DEADLOCK ***

2 locks held by kworker/u2:1/33:
 #0:  (kmmcd){.+.+..}, at: [&lt;8003db18&gt;] process_one_work+0x128/0x468
 #1:  ((&amp;(&amp;host-&gt;detect)-&gt;work)){+.+...}, at: [&lt;8003db18&gt;] process_one_work+0x128/0x468

stack backtrace:
CPU: 0 PID: 33 Comm: kworker/u2:1 Not tainted 3.13.0-rc1+ #287
Workqueue: kmmcd mmc_rescan
Backtrace:
[&lt;80012160&gt;] (dump_backtrace+0x0/0x10c) from [&lt;80012438&gt;] (show_stack+0x18/0x1c)
 r6:bfad0900 r5:00000000 r4:8088ecc8 r3:bfad0900
[&lt;80012420&gt;] (show_stack+0x0/0x1c) from [&lt;806169ec&gt;] (dump_stack+0x84/0x9c)
[&lt;80616968&gt;] (dump_stack+0x0/0x9c) from [&lt;806147b4&gt;] (print_usage_bug+0x260/0x2d0)
 r5:8076ba88 r4:80977410
[&lt;80614554&gt;] (print_usage_bug+0x0/0x2d0) from [&lt;8005f0d0&gt;] (mark_lock+0x1e0/0x6ac)
 r9:8005e678 r8:00000000 r7:bfad0900 r6:00001015 r5:bfad0cd0
r4:00000002
[&lt;8005eef0&gt;] (mark_lock+0x0/0x6ac) from [&lt;80060234&gt;] (__lock_acquire+0x604/0x1cbc)
[&lt;8005fc30&gt;] (__lock_acquire+0x0/0x1cbc) from [&lt;800620d0&gt;] (lock_acquire+0x70/0x84)
[&lt;80062060&gt;] (lock_acquire+0x0/0x84) from [&lt;8061d1c8&gt;] (_raw_spin_lock+0x30/0x40)
 r7:00000000 r6:bfb63000 r5:00000000 r4:bfb60568
[&lt;8061d198&gt;] (_raw_spin_lock+0x0/0x40) from [&lt;8045f7f4&gt;] (sdhci_execute_tuning+0x4c/0x710)
 r4:bfb60000
[&lt;8045f7a8&gt;] (sdhci_execute_tuning+0x0/0x710) from [&lt;80453454&gt;] (mmc_sd_init_card+0x5f8/0x660)
[&lt;80452e5c&gt;] (mmc_sd_init_card+0x0/0x660) from [&lt;80453748&gt;] (mmc_attach_sd+0xb4/0x180)
 r9:bf92d400 r8:8065f364 r7:00061a80 r6:bfb60000 r5:8065f358
r4:bfb60000
[&lt;80453694&gt;] (mmc_attach_sd+0x0/0x180) from [&lt;8044d9f8&gt;] (mmc_rescan+0x284/0x2f0)
 r5:8065f358 r4:bfb602f8
[&lt;8044d774&gt;] (mmc_rescan+0x0/0x2f0) from [&lt;8003db94&gt;] (process_one_work+0x1a4/0x468)
 r8:00000000 r7:bfb55eb0 r6:bf80dc00 r5:bfb602f8 r4:bfb35980
r3:8044d774
[&lt;8003d9f0&gt;] (process_one_work+0x0/0x468) from [&lt;8003e850&gt;] (worker_thread+0x118/0x3e0)
[&lt;8003e738&gt;] (worker_thread+0x0/0x3e0) from [&lt;80044de0&gt;] (kthread+0xd4/0xf0)
[&lt;80044d0c&gt;] (kthread+0x0/0xf0) from [&lt;8000e9c8&gt;] (ret_from_fork+0x14/0x2c)
 r7:00000000 r6:00000000 r5:80044d0c r4:bfb37b40

Signed-off-by: Dong Aisheng &lt;b29396@freescale.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: dw_mmc: k3: remove clk_table</title>
<updated>2014-01-17T22:59:17+00:00</updated>
<author>
<name>Zhangfei Gao</name>
<email>zhangfei.gao@linaro.org</email>
</author>
<published>2014-01-13T09:14:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0e662440e9658163128b71a925dbf6a30d4db625'/>
<id>0e662440e9658163128b71a925dbf6a30d4db625</id>
<content type='text'>
Remove clk_table and directly use ios-&gt;clock as clock source rate.
Abstract init clock rate and max clock limitation in clk.c

Signed-off-by: Zhangfei Gao &lt;zhangfei.gao@linaro.org&gt;
Acked-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove clk_table and directly use ios-&gt;clock as clock source rate.
Abstract init clock rate and max clock limitation in clk.c

Signed-off-by: Zhangfei Gao &lt;zhangfei.gao@linaro.org&gt;
Acked-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: dw_mmc: fix dw_mci_get_cd</title>
<updated>2014-01-17T14:21:38+00:00</updated>
<author>
<name>Zhangfei Gao</name>
<email>zhangfei.gao@linaro.org</email>
</author>
<published>2014-01-16T12:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7cf347bd20ec8169add381ad23f9fb25c6c076f0'/>
<id>7cf347bd20ec8169add381ad23f9fb25c6c076f0</id>
<content type='text'>
bf626e5550f24aec ("mmc: dw_mmc: use slot-gpio to handle cd pin") caused
CDETECT to be ignored, since negated return value of mmc_gpio_get_cd(mmc)
can not be checked by IS_ERR_VALUE.

Also, add spin_lock_bh(&amp;host-&gt;lock) for atomic access to
DW_MMC_CARD_PRESENT, otherwise sd detect may occasionally fail.

Signed-off-by: Zhangfei Gao &lt;zhangfei.gao@linaro.org&gt;
Reported-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Reviewed-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Tested-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Acked-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bf626e5550f24aec ("mmc: dw_mmc: use slot-gpio to handle cd pin") caused
CDETECT to be ignored, since negated return value of mmc_gpio_get_cd(mmc)
can not be checked by IS_ERR_VALUE.

Also, add spin_lock_bh(&amp;host-&gt;lock) for atomic access to
DW_MMC_CARD_PRESENT, otherwise sd detect may occasionally fail.

Signed-off-by: Zhangfei Gao &lt;zhangfei.gao@linaro.org&gt;
Reported-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Reviewed-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Tested-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Acked-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
