<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mmc/core/core.c, branch linux-2.6.32.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-05-09T22:55:31Z</updated>
<entry>
<title>mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume</title>
<updated>2011-05-09T22:55:31Z</updated>
<author>
<name>Maxim Levitsky</name>
</author>
<published>2010-08-11T01:01:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=28e4bf4a8b80ccae1e42f9ca2d173f1cf5f60abb'/>
<id>urn:sha1:28e4bf4a8b80ccae1e42f9ca2d173f1cf5f60abb</id>
<content type='text'>
commit 4c2ef25fe0b847d2ae818f74758ddb0be1c27d8e upstream.

If you don't use CONFIG_MMC_UNSAFE_RESUME, as soon as you attempt to
suspend, the card will be removed, therefore this patch doesn't change the
behavior of this option.

However the removal will be done by pm notifier, which runs while
userspace is still not frozen and thus can freely use del_gendisk, without
the risk of deadlock which would happen otherwise.

Card detect workqueue is now disabled while userspace is frozen, Therefore
if you do use CONFIG_MMC_UNSAFE_RESUME, and remove the card during
suspend, the removal will be detected as soon as userspace is unfrozen,
again at the moment it is safe to call del_gendisk.

Tested with and without CONFIG_MMC_UNSAFE_RESUME with suspend and hibernate.

[akpm@linux-foundation.org: clean up function prototype]
[akpm@linux-foundation.org: fix CONFIG_PM-n linkage, small cleanups]
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Maxim Levitsky &lt;maximlevitsky@gmail.com&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
[bwh: Adjust for 2.6.32]
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>mmc: propagate error codes back from bus drivers' suspend/resume methods</title>
<updated>2009-09-23T14:39:38Z</updated>
<author>
<name>Nicolas Pitre</name>
</author>
<published>2009-09-22T23:45:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95cdfb72b9bc568803f395c266152c71b034b461'/>
<id>urn:sha1:95cdfb72b9bc568803f395c266152c71b034b461</id>
<content type='text'>
Especially for SDIO drivers which may have special conditions/errors to
report, it is a good thing to relay the returned error code back to upper
layers.

This also allows for the rationalization of the resume path where code to
"remove" a no-longer-existing or replaced card was duplicated into the
MMC, SD and SDIO bus drivers.

In the SDIO case, if a function suspend method returns an error, then all
previously suspended functions are resumed and the error returned.  An
exception is made for -ENOSYS which the core interprets as "we don't
support suspend so just kick the card out for suspend and return success".

When resuming SDIO cards, the core code only validates the manufacturer
and product IDs to make sure the same kind of card is still present before
invoking functions resume methods.  It's the function driver's
responsibility to perform further tests to confirm that the actual same
card is present (same MAC address, etc.) and return an error otherwise.

Signed-off-by: Nicolas Pitre &lt;nico@marvell.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: power off once at removal</title>
<updated>2009-09-23T14:39:34Z</updated>
<author>
<name>Denis Karpov</name>
</author>
<published>2009-09-22T23:44:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=53509f0fe28e049e772897aa8fa1f5183b6823a2'/>
<id>urn:sha1:53509f0fe28e049e772897aa8fa1f5183b6823a2</id>
<content type='text'>
Fix MMC host stop sequence: power off once.

Signed-off-by: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: add mmc card sleep and awake support</title>
<updated>2009-09-23T14:39:33Z</updated>
<author>
<name>Jarkko Lavinen</name>
</author>
<published>2009-09-22T23:44:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1ebe38456f7fe61a88af2844361e763ac6ea5ae'/>
<id>urn:sha1:b1ebe38456f7fe61a88af2844361e763ac6ea5ae</id>
<content type='text'>
Add support for the new MMC command SLEEP_AWAKE.

Signed-off-by: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: add ability to save power by powering off cards</title>
<updated>2009-09-23T14:39:33Z</updated>
<author>
<name>Adrian Hunter</name>
</author>
<published>2009-09-22T23:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eae1aeeed852aae37621b82a9e7f6c05096a18fd'/>
<id>urn:sha1:eae1aeeed852aae37621b82a9e7f6c05096a18fd</id>
<content type='text'>
Power can be saved by powering off cards that are not in use.  This is
similar to suspend / resume except it is under the control of the driver,
and does not require any power management support.  It can only be used
when the driver can monitor whether the card is removed, otherwise it is
unsafe.  This is possible because, unlike suspend, the driver still
receives card detect and / or cover switch interrupts.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: allow host claim / release nesting</title>
<updated>2009-09-23T14:39:33Z</updated>
<author>
<name>Adrian Hunter</name>
</author>
<published>2009-09-22T23:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=319a3f1429c91147058ac26c5f5bac8ec1730bc6'/>
<id>urn:sha1:319a3f1429c91147058ac26c5f5bac8ec1730bc6</id>
<content type='text'>
This change allows the MMC host to be claimed in situations where the host
may or may not have already been claimed.  Also 'mmc_try_claim_host()' is
now exported.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: add 'enable' and 'disable' methods to mmc host</title>
<updated>2009-09-23T14:39:33Z</updated>
<author>
<name>Adrian Hunter</name>
</author>
<published>2009-09-22T23:44:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ea926b22e2d13238e4d65d8f61c48fe424e6f4f'/>
<id>urn:sha1:8ea926b22e2d13238e4d65d8f61c48fe424e6f4f</id>
<content type='text'>
MMC hosts that support power saving can use the 'enable' and 'disable'
methods to exit and enter power saving states.  An explanation of their
use is provided in the comments added to include/linux/mmc/host.h.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mmc: in mmc_power_up(), use previously selected ocr if available</title>
<updated>2009-09-23T14:39:32Z</updated>
<author>
<name>Balaji Rao</name>
</author>
<published>2009-09-22T23:44:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=500f35648e5ebd04be00f974738a9db959a892b8'/>
<id>urn:sha1:500f35648e5ebd04be00f974738a9db959a892b8</id>
<content type='text'>
When mmc_power_up is called during unsafe resume, host-&gt;ocr should be used
instead of host-&gt;ocr_avail.

Signed-off-by: Balaji Rao &lt;balajirrao@openmoko.org&gt;
Cc: Andy Green &lt;andy@openmoko.com&gt;
Cc: Pierre Ossman &lt;drzeus-mmc@drzeus.cx&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>MMC core: limit minimum initialization frequency to 400kHz</title>
<updated>2009-06-13T20:42:57Z</updated>
<author>
<name>Sascha Hauer</name>
</author>
<published>2009-04-09T06:32:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8dfd0374be84793360db7fff2e635d2cd3bbcb21'/>
<id>urn:sha1:8dfd0374be84793360db7fff2e635d2cd3bbcb21</id>
<content type='text'>
Some controllers allow a much lower frequency than 400kHz.
Keep the minimum frequency within sensible limits.

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>mmc: mmc_rescan detects card change in one run</title>
<updated>2009-06-13T20:42:56Z</updated>
<author>
<name>Jorg Schummer</name>
</author>
<published>2009-03-31T14:51:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94d89efb2c347a82a08a61dbac8565b1087c3259'/>
<id>urn:sha1:94d89efb2c347a82a08a61dbac8565b1087c3259</id>
<content type='text'>
With this patch, mmc_rescan can detect the removal of an mmc card and
the insertion of (possibly another) card in the same run. This means
that a card change can be detected without having to call
mmc_detect_change multiple times.

This change generalises the core such that it can be easily used by
hosts which provide a mechanism to detect only the presence of a card
reader cover, which has to be taken off in order to insert a card. Other
hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when
a card is removed and when a card is inserted, so it is sufficient for
them if mmc_rescan handles only one event at a time. "Cover detect"
hosts, however, only receive events about the cover status. This means
that between 2 subsequent events, both a card removal and a card
insertion can occur. In this case, the pre-patch version of mmc_rescan
would only detect the removal of the previous card but not the insertion
of the new card.

Signed-off-by: Jorg Schummer &lt;ext-jorg.2.schummer@nokia.com&gt;
Signed-off-by: Pierre Ossman &lt;pierre@ossman.eu&gt;
</content>
</entry>
</feed>
