LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [GIT PULL] MMC updates
@ 2008-02-09  9:50 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2008-02-09  9:50 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 MAINTAINERS                  |    3 -
 drivers/mmc/host/Kconfig     |    8 +-
 drivers/mmc/host/at91_mci.c  |  114 +++++++++++++++++++++---------
 drivers/mmc/host/ricoh_mmc.c |  162 ++++++++++++++++++++++++++++++++++-------
 drivers/mmc/host/sdhci.c     |   13 +++-
 drivers/mmc/host/sdhci.h     |    1 +
 6 files changed, 231 insertions(+), 70 deletions(-)

David Brownell (1):
      at91_mci: use generic GPIO calls

Feng Tang (1):
      sdhci: add num index for multi controllers case

Frank Seidel (1):
      mmc: extend ricoh_mmc to support Ricoh RL5c476

Philip Langdale (1):
      mmc: Handle suspend/resume in Ricoh MMC disabler

Pierre Ossman (2):
      mmc: remove sdhci and mmc_spi experimental markers
      MAINTAINERS: remove non-existant URLs



-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2008-04-19  7:28 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2008-04-19  7:28 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/core/core.c         |    6 +-
 drivers/mmc/core/core.h         |    4 +
 drivers/mmc/core/host.c         |   39 +-
 drivers/mmc/core/sdio_irq.c     |    4 +-
 drivers/mmc/core/sdio_ops.c     |    1 +
 drivers/mmc/host/omap.c         |  995 ++++++++++++++++++++++++++-------------
 drivers/mmc/host/sdhci.c        |  123 +++--
 drivers/mmc/host/sdhci.h        |    9 +-
 include/asm-arm/arch-omap/mmc.h |    2 +
 9 files changed, 787 insertions(+), 396 deletions(-)

Adrian Bunk (3):
      mmc: make __mmc_release_bus() static
      mmc: proper prototypes for mmc_attach_*()
      mmc: sdio_ops.c should #include "sdio_ops.h"

Carlos Eduardo Aguiar (2):
      MMC: OMAP: Remove some opcodes from host driver
      MMC: OMAP: Using setup_timer instead of init_timer

Francisco Alecrim (1):
      MMC: OMAP: Fix the BYTEBLOCK capability removal

Jarkko Lavinen (6):
      MMC: OMAP: Abort stuck commands
      MMC: OMAP: Use tasklet instead of workqueue for cover switch notification
      MMC: OMAP: Move failing command abortion to workqueue
      MMC: OMAP: Lazy clock shutdown
      MMC: OMAP: Start new commands from work queue instead of irq
      MMC: OMAP: Do not busy wait for end of command for ever

Juha Yrjola (6):
      MMC: OMAP: Introduce new multislot structure and change driver to use it
      MMC: OMAP: Add back cover switch support
      MMC: OMAP: New release dma and abort xfer functions
      MMC: OMAP: Fix timeout calculation for MMC multislot support
      MMC: OMAP: Power functions modified to MMC multislot support
      MMC: OMAP: General cleanup for MMC multislot support

Kyungmin Park (1):
      MMC: OMAP: Check the get_cover_state function pointer if not set

Pierre Ossman (5):
      mmc: set controller name early
      sdhci: remove custom controller name
      sdhci: allow led to be controlled freely
      sdhci: improve no card, no reset quirk
      sdhci: don't check block count for progress

Robert P. J. Day (1):
      mmc: use shorter, equivalent set_current_state()

Tony Lindgren (2):
      MMC: OMAP: Remove extra divisor increase
      MMC: OMAP: Remove cover switch handling to allow adding multislot support



-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-12-12 19:12 Pierre Ossman
@ 2007-12-18  7:57 ` Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-12-18  7:57 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML

On Wed, 12 Dec 2007 20:12:47 +0100
Pierre Ossman <drzeus-list@drzeus.cx> wrote:

> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 

*ping*

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-12-12 19:12 Pierre Ossman
  2007-12-18  7:57 ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-12-12 19:12 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/host/sdhci.c |   63 ++++++++++++++++++++++++++++++++++++++++++---
 drivers/mmc/host/sdhci.h |    3 +-
 include/linux/mmc/host.h |    4 ---
 include/linux/pci_ids.h  |    1 +
 4 files changed, 61 insertions(+), 10 deletions(-)

Nicolas Pitre (1):
      mmc: remove unused 'mode' from the mmc_host structure

Pierre Ossman (4):
      sdhci: describe quirks
      sdhci: don't warn about sdhci 2.0 controllers
      sdhci: use PIO when DMA can't satisfy the request
      sdhci: support JMicron JMB38x chips

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-11-21 17:56 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-11-21 17:56 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/card/block.c   |   22 +++++++++++++---------
 drivers/mmc/host/tifm_sd.c |   18 +++++++-----------
 2 files changed, 20 insertions(+), 20 deletions(-)

Alex Dubov (1):
      tifm_sd: handle non-power-of-2 block sizes

David Woodhouse (1):
      mmc: Avoid re-using minor numbers before the original device is closed.

Pierre Ossman (1):
      mmc_block: check card state after write


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-17 20:44 Pierre Ossman
@ 2007-10-17 20:48 ` Dan Williams
  0 siblings, 0 replies; 57+ messages in thread
From: Dan Williams @ 2007-10-17 20:48 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

On Wed, 2007-10-17 at 22:44 +0200, Pierre Ossman wrote:
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 
> The set includes one rare memory leak and some cleanup. It also includes a new frontend for the libertas driver. It is going via my tree because of interdependencies between my tree and the libertas/netdev tree.
> 
>  drivers/mmc/core/mmc.c                  |    3 +-
>  drivers/mmc/host/at91_mci.c             |    4 +-
>  drivers/net/wireless/Kconfig            |    6 +
>  drivers/net/wireless/libertas/Makefile  |    2 +
>  drivers/net/wireless/libertas/defs.h    |    2 +
>  drivers/net/wireless/libertas/if_sdio.c | 1072 +++++++++++++++++++++++++++++++
>  drivers/net/wireless/libertas/if_sdio.h |   45 ++

Libertas bits:

Acked-by: Dan Williams <dcbw@redhat.com>

>  include/linux/mmc/sdio_ids.h            |    6 +
>  8 files changed, 1136 insertions(+), 4 deletions(-)
> 
> Andrew Victor (1):
>       mmc: at91_mci: cleanup: use MCI_ERRORS
> 
> Florin Malita (1):
>       mmc: possible leak in mmc_read_ext_csd
> 
> Pierre Ossman (1):
>       net: libertas sdio driver
> 
> Rgds
> 


^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-10-17 20:44 Pierre Ossman
  2007-10-17 20:48 ` Dan Williams
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-10-17 20:44 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Dan Williams

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

The set includes one rare memory leak and some cleanup. It also includes a new frontend for the libertas driver. It is going via my tree because of interdependencies between my tree and the libertas/netdev tree.

 drivers/mmc/core/mmc.c                  |    3 +-
 drivers/mmc/host/at91_mci.c             |    4 +-
 drivers/net/wireless/Kconfig            |    6 +
 drivers/net/wireless/libertas/Makefile  |    2 +
 drivers/net/wireless/libertas/defs.h    |    2 +
 drivers/net/wireless/libertas/if_sdio.c | 1072 +++++++++++++++++++++++++++++++
 drivers/net/wireless/libertas/if_sdio.h |   45 ++
 include/linux/mmc/sdio_ids.h            |    6 +
 8 files changed, 1136 insertions(+), 4 deletions(-)

Andrew Victor (1):
      mmc: at91_mci: cleanup: use MCI_ERRORS

Florin Malita (1):
      mmc: possible leak in mmc_read_ext_csd

Pierre Ossman (1):
      net: libertas sdio driver

Rgds

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-13  5:29         ` Randy Dunlap
@ 2007-10-13  7:03           ` Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-10-13  7:03 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Linus Torvalds, Nicolas Pitre, LKML, Marcel Holtmann

On Fri, 12 Oct 2007 22:29:29 -0700
Randy Dunlap <randy.dunlap@oracle.com> wrote:

> 
> Patch doesn't apply cleanly due to spaces instead of tabs.
> Copy-and-paste ?
> 

Yeah, gnome-terminal damage. But you need to git it from the repo to
get the full commit info anyway.

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12 21:00       ` Pierre Ossman
@ 2007-10-13  5:29         ` Randy Dunlap
  2007-10-13  7:03           ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Randy Dunlap @ 2007-10-13  5:29 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, Nicolas Pitre, LKML, Marcel Holtmann

On Fri, 12 Oct 2007 23:00:27 +0200 Pierre Ossman wrote:

> Ok, let's see if we can finally sort this out.
> 
> Please pull/cherry-pick from:
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 
> to receive the following update:
> 
>  drivers/mmc/core/host.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> Pierre Ossman (1):
>       mmc: use correct unregister function for led trigger
> 
> diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
> index 64fbc97..c65d203 100644
> --- a/drivers/mmc/core/host.c
> +++ b/drivers/mmc/core/host.c
> @@ -143,7 +143,7 @@ void mmc_remove_host(struct mmc_host *host)
>  
>         device_del(&host->class_dev);
>  
> -       led_trigger_unregister(host->led);
> +       led_trigger_unregister_simple(host->led);
>  
>         spin_lock(&mmc_host_lock);
>         idr_remove(&mmc_host_idr, host->index);

Patch doesn't apply cleanly due to spaces instead of tabs.
Copy-and-paste ?

---
~Randy

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12 20:05     ` Nicolas Pitre
  2007-10-12 20:35       ` Pierre Ossman
@ 2007-10-12 21:00       ` Pierre Ossman
  2007-10-13  5:29         ` Randy Dunlap
  1 sibling, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-10-12 21:00 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Nicolas Pitre, LKML, Marcel Holtmann

Ok, let's see if we can finally sort this out.

Please pull/cherry-pick from:

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following update:

 drivers/mmc/core/host.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Pierre Ossman (1):
      mmc: use correct unregister function for led trigger

diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 64fbc97..c65d203 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -143,7 +143,7 @@ void mmc_remove_host(struct mmc_host *host)
 
        device_del(&host->class_dev);
 
-       led_trigger_unregister(host->led);
+       led_trigger_unregister_simple(host->led);
 
        spin_lock(&mmc_host_lock);
        idr_remove(&mmc_host_idr, host->index);

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12 20:05     ` Nicolas Pitre
@ 2007-10-12 20:35       ` Pierre Ossman
  2007-10-12 21:00       ` Pierre Ossman
  1 sibling, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-10-12 20:35 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Linus Torvalds, LKML, Marcel Holtmann

On Fri, 12 Oct 2007 16:05:38 -0400 (EDT)
Nicolas Pitre <nico@cam.org> wrote:

> 
> It is too late for a repull.  Linus' main branch already contains
> your previous incarnation, so you must publish a fix separately to go
> on top.
> 

*gnnn*


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12 19:55   ` Pierre Ossman
@ 2007-10-12 20:05     ` Nicolas Pitre
  2007-10-12 20:35       ` Pierre Ossman
  2007-10-12 21:00       ` Pierre Ossman
  0 siblings, 2 replies; 57+ messages in thread
From: Nicolas Pitre @ 2007-10-12 20:05 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML, Marcel Holtmann

On Fri, 12 Oct 2007, Pierre Ossman wrote:

> On Thu, 11 Oct 2007 22:30:41 -0700 (PDT)
> Linus Torvalds <torvalds@linux-foundation.org> wrote:
> 
> > 
> > There seems to be some breakage here:
> > 
> 
> Breakage repaired (and some new git voodoo learned. woot!). I even
> threw in a few randconfig for good measure. So repull and things should
> be peachy.

It is too late for a repull.  Linus' main branch already contains your 
previous incarnation, so you must publish a fix separately to go on top.


Nicolas

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12  5:30 ` Linus Torvalds
  2007-10-12  5:45   ` Pierre Ossman
@ 2007-10-12 19:55   ` Pierre Ossman
  2007-10-12 20:05     ` Nicolas Pitre
  1 sibling, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-10-12 19:55 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Marcel Holtmann

On Thu, 11 Oct 2007 22:30:41 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> 
> There seems to be some breakage here:
> 

Breakage repaired (and some new git voodoo learned. woot!). I even
threw in a few randconfig for good measure. So repull and things should
be peachy.

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12 12:18     ` Kay Sievers
@ 2007-10-12 13:53       ` Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-10-12 13:53 UTC (permalink / raw)
  To: Kay Sievers; +Cc: Linus Torvalds, LKML, Marcel Holtmann

On Fri, 12 Oct 2007 14:18:26 +0200
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> 
> I see the same here. MMC needs a dependency on LEDS_TRIGGERS, I guess.
> 

I'd rather not, and I thought I avoided it. I must have missed
ifdef:ing some references.

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12  5:45   ` Pierre Ossman
@ 2007-10-12 12:18     ` Kay Sievers
  2007-10-12 13:53       ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Kay Sievers @ 2007-10-12 12:18 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML, Marcel Holtmann

On 10/12/07, Pierre Ossman <drzeus-list@drzeus.cx> wrote:
> On Thu, 11 Oct 2007 22:30:41 -0700 (PDT)
> Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> >
> > There seems to be some breakage here:
> >
> >       drivers/mmc/core/host.c: In function 'mmc_remove_host':
> >       drivers/mmc/core/host.c:146: error: implicit declaration of
> > function 'led_trigger_unregister' drivers/mmc/core/host.c:146: error:
> > 'struct mmc_host' has no member named 'led'
> >
> > this was after doing a few "make randconfig" runs, a habit I'm trying
> > to encourage (and do myself occasionally too).
> >
>
> How embarrassing. I'll have a look at it and reping you when I've
> solved it.

I see the same here. MMC needs a dependency on LEDS_TRIGGERS, I guess.

Kay

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-12  5:30 ` Linus Torvalds
@ 2007-10-12  5:45   ` Pierre Ossman
  2007-10-12 12:18     ` Kay Sievers
  2007-10-12 19:55   ` Pierre Ossman
  1 sibling, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-10-12  5:45 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Marcel Holtmann

On Thu, 11 Oct 2007 22:30:41 -0700 (PDT)
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> 
> There seems to be some breakage here:
> 
> 	drivers/mmc/core/host.c: In function ‘mmc_remove_host’:
> 	drivers/mmc/core/host.c:146: error: implicit declaration of
> function ‘led_trigger_unregister’ drivers/mmc/core/host.c:146: error:
> ‘struct mmc_host’ has no member named ‘led’
> 
> this was after doing a few "make randconfig" runs, a habit I'm trying
> to encourage (and do myself occasionally too).
> 

How embarrassing. I'll have a look at it and reping you when I've
solved it.

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-10-10 19:21 Pierre Ossman
@ 2007-10-12  5:30 ` Linus Torvalds
  2007-10-12  5:45   ` Pierre Ossman
  2007-10-12 19:55   ` Pierre Ossman
  0 siblings, 2 replies; 57+ messages in thread
From: Linus Torvalds @ 2007-10-12  5:30 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: LKML, Marcel Holtmann



On Wed, 10 Oct 2007, Pierre Ossman wrote:
>
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 
> Lot's of changes in here.

There seems to be some breakage here:

	drivers/mmc/core/host.c: In function ‘mmc_remove_host’:
	drivers/mmc/core/host.c:146: error: implicit declaration of function ‘led_trigger_unregister’
	drivers/mmc/core/host.c:146: error: ‘struct mmc_host’ has no member named ‘led’

this was after doing a few "make randconfig" runs, a habit I'm trying to 
encourage (and do myself occasionally too).

		Linus

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-10-10 19:21 Pierre Ossman
  2007-10-12  5:30 ` Linus Torvalds
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-10-10 19:21 UTC (permalink / raw)
  To: Linus Torvalds, LKML; +Cc: Marcel Holtmann

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

Lot's of changes in here. Mostly it is SDIO and SPI support, although there are things like removal of MMC layer specific error codes.

diffstat:

 MAINTAINERS                     |    8 +-
 arch/arm/mach-imx/mx1ads.c      |    2 +-
 drivers/mmc/card/Kconfig        |    7 +
 drivers/mmc/card/Makefile       |    2 +
 drivers/mmc/card/block.c        |   30 +-
 drivers/mmc/card/sdio_uart.c    | 1158 ++++++++++++++++++++++++++++++++
 drivers/mmc/core/Makefile       |    4 +-
 drivers/mmc/core/bus.c          |   67 ++-
 drivers/mmc/core/core.c         |  167 ++++--
 drivers/mmc/core/core.h         |    2 +
 drivers/mmc/core/host.c         |    8 +
 drivers/mmc/core/mmc.c          |  134 +++--
 drivers/mmc/core/mmc_ops.c      |  200 +++++--
 drivers/mmc/core/mmc_ops.h      |    3 +
 drivers/mmc/core/sd.c           |  126 +++--
 drivers/mmc/core/sd_ops.c       |  107 ++-
 drivers/mmc/core/sdio.c         |  395 +++++++++++
 drivers/mmc/core/sdio_bus.c     |  270 ++++++++
 drivers/mmc/core/sdio_bus.h     |   22 +
 drivers/mmc/core/sdio_cis.c     |  346 ++++++++++
 drivers/mmc/core/sdio_cis.h     |   23 +
 drivers/mmc/core/sdio_io.c      |  548 +++++++++++++++
 drivers/mmc/core/sdio_irq.c     |  267 ++++++++
 drivers/mmc/core/sdio_ops.c     |  176 +++++
 drivers/mmc/core/sdio_ops.h     |   22 +
 drivers/mmc/host/Kconfig        |   30 +
 drivers/mmc/host/Makefile       |    2 +
 drivers/mmc/host/at91_mci.c     |   25 +-
 drivers/mmc/host/au1xmmc.c      |   58 +-
 drivers/mmc/host/imxmmc.c       |   32 +-
 drivers/mmc/host/mmc_spi.c      | 1408 +++++++++++++++++++++++++++++++++++++++
 drivers/mmc/host/mmci.c         |   20 +-
 drivers/mmc/host/omap.c         |   12 +-
 drivers/mmc/host/pxamci.c       |   71 ++-
 drivers/mmc/host/pxamci.h       |    2 +
 drivers/mmc/host/ricoh_mmc.c    |  151 +++++
 drivers/mmc/host/sdhci.c        |  127 +++--
 drivers/mmc/host/sdhci.h        |    2 +-
 drivers/mmc/host/tifm_sd.c      |   31 +-
 drivers/mmc/host/wbsd.c         |   43 +-
 include/asm-arm/arch-imx/mmc.h  |    5 +-
 include/linux/mmc/card.h        |   32 +
 include/linux/mmc/core.h        |   63 ++-
 include/linux/mmc/host.h        |   39 +-
 include/linux/mmc/mmc.h         |   39 +-
 include/linux/mmc/sdio.h        |  159 +++++
 include/linux/mmc/sdio_func.h   |  153 +++++
 include/linux/mmc/sdio_ids.h    |   23 +
 include/linux/mod_devicetable.h |   11 +
 include/linux/pci_ids.h         |    2 +
 include/linux/spi/mmc_spi.h     |   33 +
 scripts/mod/file2alias.c        |   20 +
 52 files changed, 6257 insertions(+), 430 deletions(-)

Adrian Bunk (1):
      make struct sdio_dev_attrs[] static

Bridge Wu (3):
      mmc: pxamci: better pending IRQ determination
      mmc: pxamci: set proper buswidth capabilities according to PXA flavor
      mmc: pxamci: add SDIO card interrupt reporting capability

David Brownell (4):
      MMC headers learn about SPI
      MMC/SD card driver learns SPI
      MMC core learns about SPI
      mmc_spi host driver

David Vrabel (4):
      sdio: add SDIO_FBR_BASE(f) macro
      sdio: set the functions' block size
      sdio: extend sdio_readsb() and friends to handle any length of buffer
      sdio: add sdio_f0_readb() and sdio_f0_writeb()

Feng Tang (2):
      sdhci: remove DMA capability check from controller's PCI Class reg
      sdhci: add SDHCI_QUIRK_BROKEN_DMA quirk

Marc Pignat (1):
      mmc: at91_mci: disable handling of blocks with size not multiple of 4 bytes

Mariusz Kozlowski (1):
      sdio: kmalloc + memset conversion to kzalloc

Nicolas Pitre (16):
      sdio: initial CIS parsing code
      sdio: link unknown CIS tuples to the sdio_func structure
      mmc: initialize mmc subsystem with subsys_initcall()
      sdio: defines for some standard interface types
      sdio: allow for mmc_claim_host to be aborted
      sdio: core support for SDIO function interrupt
      sdio: UART/GPS driver
      sdio: add /proc interface to sdio_uart driver
      sdio: add interface for host side SDIO interrupt reporting
      sdio: add default c_ispeed/c_ospeed values to sdio_uart driver
      sdio: fix recursion issues between sdio-uart driver and tty layer
      mmc: pxamci: set proper block capabilities according to PXA flavor
      sdhci: fix a typo
      sdio: fix IRQ diagnostic message
      sdio: make the IRQ thread more resilient in the presence of bad states
      pxamci: support arbitrary block size

Pavel Pisa (1):
      arm: i.MX/MX1 SDHC implements SD cards read-only switch read-back

Philip Langdale (1):
      mmc: Disabler for Ricoh MMC controller

Pierre Ossman (32):
      mmc: remove custom error codes
      mmc: improve error code feedback
      mmc: read ext_csd version number
      mmc: mmc_set_data_timeout() parameter write is redundant
      mmc: remove BYTEBLOCK capability
      mmc: remove confusing flag
      mmc: add missing printk levels
      mmc: detect SDIO cards
      mmc: implement SDIO IO_RW_DIRECT operation
      mmc: basic SDIO device model
      mmc: add SDIO driver handling
      mmc: add basic SDIO I/O operations
      mmc: enable/disable functions for SDIO
      sdio: read and decode interesting parts of the CCCR
      sdio: basic parsing of FBR
      sdio: split up common and function CIS parsing
      sdio: add device id table and matching
      mmc: whip bus uevent handler into shape
      sdio: add modalias support
      sdio: add basic sysfs attributes
      sdio: support IO_RW_EXTENDED
      sdio: change clock speed
      sdio: enable wide bus mode
      mmc: fix incorrect divisor in debug output
      mmc: fix sdio timeout calculation
      mmc: replace BUG_ON with WARN_ON
      sdhci: sdio interrupt support
      mmc: increase power up delay
      sdio: store vendor strings
      mmc: add led trigger
      sdio: adaptive interrupt polling
      sdhci: remove old dma module params

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-09-11 15:26 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-09-11 15:26 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/host/at91_mci.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Anti Sullin (1):
      bug in AT91 MCI suspend routines

diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index bfebd2f..955ea60 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -941,7 +941,7 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
 
        host = mmc_priv(mmc);
 
-       if (host->present != -1) {
+       if (host->board->det_pin) {
                device_init_wakeup(&pdev->dev, 0);
                free_irq(host->board->det_pin, host);
                cancel_delayed_work(&host->mmc->detect);
@@ -972,7 +972,7 @@ static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
        struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
-       if (device_may_wakeup(&pdev->dev))
+       if (host->board->det_pin && device_may_wakeup(&pdev->dev))
                enable_irq_wake(host->board->det_pin);
 
        if (mmc)
@@ -987,7 +987,7 @@ static int at91_mci_resume(struct platform_device *pdev)
        struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
-       if (device_may_wakeup(&pdev->dev))
+       if (host->board->det_pin && device_may_wakeup(&pdev->dev))
                disable_irq_wake(host->board->det_pin);
 
        if (mmc)


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-08-23  5:18 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-08-23  5:18 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/core/bus.c   |    4 +--
 drivers/mmc/core/host.c  |    4 +--
 drivers/mmc/host/sdhci.c |   53 ++++++++++++++++++++++++++++-----------------
 drivers/mmc/host/sdhci.h |    1 +
 4 files changed, 36 insertions(+), 26 deletions(-)

David Vrabel (1):
      mmc: ignore bad max block size in sdhci

Mariusz Kozlowski (2):
      drivers/mmc/core/bus.c: kmalloc + memset conversion to kzalloc
      drivers/mmc/core/host.c: kmalloc + memset conversion to kzalloc

Pierre Ossman (3):
      sdhci: be more cautious about block count register
      sdhci: handle data interrupts during command
      sdhci: tell which spurious interrupt we got

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-08-09 14:34 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-08-09 14:34 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/card/queue.c    |   14 +++++++-------
 drivers/mmc/host/at91_mci.c |    8 ++++----
 drivers/mmc/host/wbsd.c     |   10 +++++-----
 3 files changed, 16 insertions(+), 16 deletions(-)

Gabriel C (1):
      wbsd: fix section mismatch warnings

Nicolas Ferre (1):
      mmc: at91_mci: remove whitespace at the end of lines

Pierre Ossman (1):
      mmc: reorganize bounce buffer init

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-07-26 13:15 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-07-26 13:15 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/card/queue.c    |    2 +-
 drivers/mmc/core/bus.c      |   23 +++++++
 drivers/mmc/core/core.c     |  144 ++++++++++++++++++++++++++++++-------------
 drivers/mmc/core/core.h     |   22 -------
 drivers/mmc/core/host.c     |    7 ++-
 drivers/mmc/core/mmc.c      |   26 +++++---
 drivers/mmc/core/mmc_ops.c  |    2 +-
 drivers/mmc/core/mmc_ops.h  |    2 +-
 drivers/mmc/core/sd.c       |   36 ++++++-----
 drivers/mmc/core/sd_ops.c   |   62 +++++++++---------
 drivers/mmc/core/sd_ops.h   |    3 +-
 drivers/mmc/host/at91_mci.c |    2 +-
 drivers/mmc/host/au1xmmc.c  |    2 +-
 drivers/mmc/host/imxmmc.c   |    2 +-
 drivers/mmc/host/mmci.c     |    2 +-
 drivers/mmc/host/mmci.h     |    2 +-
 drivers/mmc/host/omap.c     |    2 +-
 drivers/mmc/host/pxamci.c   |    2 +-
 drivers/mmc/host/sdhci.c    |   63 +++++++++++--------
 drivers/mmc/host/sdhci.h    |    2 +-
 drivers/mmc/host/wbsd.c     |   15 +----
 drivers/mmc/host/wbsd.h     |    2 +-
 include/linux/mmc/core.h    |    2 +-
 include/linux/pci_ids.h     |    2 +
 24 files changed, 253 insertions(+), 176 deletions(-)

Adrian Bunk (1):
      drivers/mmc/core/: make 3 functions static

Leandro Dorileo (1):
      sdhci: add support to ENE-CB714

Pierre Ossman (9):
      mmc: check error bits before command completion
      mmc: update header file paths
      mmc: update kerneldoc
      mmc: add a might_sleep() to mmc_claim_host()
      mmc: Don't hold lock when releasing an added card
      mmc: be more verbose about card insertions/removal
      mmc: proper debugging output in core
      mmc: remove redundant debug information from sdhci and wbsd
      mmc: add missing printk levels

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-07-21  0:36 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-07-21  0:36 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 MAINTAINERS                 |    7 ++++++-
 drivers/mmc/host/at91_mci.c |   13 ++++++++++++-
 drivers/mmc/host/sdhci.c    |    2 ++
 drivers/mmc/host/sdhci.h    |    1 +
 4 files changed, 21 insertions(+), 2 deletions(-)

Marc Pignat (1):
      mmc: at91_mci: wakeup on card insertion (or removal)

Pierre Ossman (2):
      mmc: add maintainer for at91
      sdhci: make sure to clear the error interrupt

diff --git a/MAINTAINERS b/MAINTAINERS
index fbe0dca..c9fab2b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -645,7 +645,12 @@ W: http://linux-atm.sourceforge.net
 S:     Maintained
 
 ATMEL AT91 MCI DRIVER
-S:     Orphan
+P:     Nicolas Ferre
+M:     nicolas.ferre@rfo.atmel.com
+L:     linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+W:     http://www.atmel.com/products/AT91/
+W:     http://www.at91.com/
+S:     Maintained
 
 ATMEL MACB ETHERNET DRIVER
 P:     Haavard Skinnemoen
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index 28c8818..15aab37 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -903,8 +903,10 @@ static int __init at91_mci_probe(struct platform_device *pdev)
        /*
         * Add host to MMC layer
         */
-       if (host->board->det_pin)
+       if (host->board->det_pin) {
                host->present = !at91_get_gpio_value(host->board->det_pin);
+               device_init_wakeup(&pdev->dev, 1);
+       }
        else
                host->present = -1;
 
@@ -940,6 +942,7 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
        host = mmc_priv(mmc);
 
        if (host->present != -1) {
+               device_init_wakeup(&pdev->dev, 0);
                free_irq(host->board->det_pin, host);
                cancel_delayed_work(&host->mmc->detect);
        }
@@ -966,8 +969,12 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
 static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
+       struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
+       if (device_may_wakeup(&pdev->dev))
+               enable_irq_wake(host->board->det_pin);
+
        if (mmc)
                ret = mmc_suspend_host(mmc, state);
 
@@ -977,8 +984,12 @@ static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
 static int at91_mci_resume(struct platform_device *pdev)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
+       struct at91mci_host *host = mmc_priv(mmc);
        int ret = 0;
 
+       if (device_may_wakeup(&pdev->dev))
+               disable_irq_wake(host->board->det_pin);
+
        if (mmc)
                ret = mmc_resume_host(mmc);
 
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 10d15c3..4a24db0 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1024,6 +1024,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
 
        intmask &= ~(SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK);
 
+       intmask &= ~SDHCI_INT_ERROR;
+
        if (intmask & SDHCI_INT_BUS_POWER) {
                printk(KERN_ERR "%s: Card is consuming too much power!\n",
                        mmc_hostname(host->mmc));
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index 7400f4b..a6c8704 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -107,6 +107,7 @@
 #define  SDHCI_INT_CARD_INSERT 0x00000040
 #define  SDHCI_INT_CARD_REMOVE 0x00000080
 #define  SDHCI_INT_CARD_INT    0x00000100
+#define  SDHCI_INT_ERROR       0x00008000
 #define  SDHCI_INT_TIMEOUT     0x00010000
 #define  SDHCI_INT_CRC         0x00020000
 #define  SDHCI_INT_END_BIT     0x00040000


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-07-10 20:43 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-07-10 20:43 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/card/Kconfig    |   18 +++
 drivers/mmc/card/block.c    |    7 +-
 drivers/mmc/card/queue.c    |  191 ++++++++++++++++++++++--
 drivers/mmc/card/queue.h    |    7 +
 drivers/mmc/core/Makefile   |    3 +-
 drivers/mmc/core/bus.c      |  253 +++++++++++++++++++++++++++++++
 drivers/mmc/core/bus.h      |   22 +++
 drivers/mmc/core/core.c     |  147 +++++++------------
 drivers/mmc/core/core.h     |    8 +-
 drivers/mmc/core/host.c     |  156 +++++++++++++++++++
 drivers/mmc/core/host.h     |   18 +++
 drivers/mmc/core/mmc.c      |   65 +++++++-
 drivers/mmc/core/sd.c       |   63 +++++++-
 drivers/mmc/core/sysfs.c    |  347 ++-----------------------------------------
 drivers/mmc/core/sysfs.h    |   19 +--
 drivers/mmc/host/at91_mci.c |  217 +++++++++++++++-------------
 drivers/mmc/host/sdhci.c    |   10 +-
 include/linux/pci_ids.h     |    1 +
 18 files changed, 980 insertions(+), 572 deletions(-)

Milko Krachounov (1):
      sdhci: add ene controller id

Nicolas Ferre (2):
      mmc: at91_mci typo
      mmc: at91_mci: fix hanging and rework to match flowcharts

Pierre Ossman (5):
      mmc: bounce requests for simple hosts
      mmc: refactor bus operations
      mmc: refactor host class handling
      mmc: move layer init and workqueue to core file
      mmc: fix silly copy-and-paste error

Rolf Eike Beer (1):
      sdhci: Fix "Unexpected interrupt" handling

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-06-13 17:24 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-06-13 17:24 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/core/sd.c   |   15 +++++++++++++++
 drivers/mmc/host/omap.c |   24 +++---------------------
 2 files changed, 18 insertions(+), 21 deletions(-)

Pierre Ossman (1):
      mmc: get back read-only switch function

Ragner Magalhaes (1):
      mmc-omap: fix sd response type 6 vs. 1

diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index 41bfb5d..918477c 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -427,6 +427,21 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr,
                mmc_set_bus_width(host, MMC_BUS_WIDTH_4);
        }

+       /*
+        * Check if read-only switch is active.
+        */
+       if (!oldcard) {
+               if (!host->ops->get_ro) {
+                       printk(KERN_WARNING "%s: host does not "
+                               "support reading read-only "
+                               "switch. assuming write-enable.\n",
+                               mmc_hostname(host));
+               } else {
+                       if (host->ops->get_ro(host))
+                               mmc_card_set_readonly(card);
+               }
+       }
+
        if (!oldcard)
                host->card = card;

diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 1914e65..b0824a3 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -522,28 +522,10 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
                }

                if (status & OMAP_MMC_STAT_CARD_ERR) {
-                       if (host->cmd && host->cmd->opcode ==
MMC_STOP_TRANSMISSION) {
-                               u32 response = OMAP_MMC_READ(host, RSP6)
-                                       | (OMAP_MMC_READ(host, RSP7) << 16);
-                               /* STOP sometimes sets must-ignore bits */
-                               if (!(response & (R1_CC_ERROR
-                                                               | R1_ILLEGAL_COMMAND
-                                                               |
R1_COM_CRC_ERROR))) {
-                                       end_command = 1;
-                                       continue;
-                               }
-                       }
-
-                       dev_dbg(mmc_dev(host->mmc), "card status error (CMD%d)\n",
+                       dev_dbg(mmc_dev(host->mmc),
+                               "ignoring card status error (CMD%d)\n",
                                host->cmd->opcode);
-                       if (host->cmd) {
-                               host->cmd->error = MMC_ERR_FAILED;
-                               end_command = 1;
-                       }
-                       if (host->data) {
-                               host->data->error = MMC_ERR_FAILED;
-                               transfer_error = 1;
-                       }
+                       end_command = 1;
                }

                /*

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-06-08  8:09 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-06-08  8:09 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/core/sd.c       |   26 +++++++++++++++++++++-----
 drivers/mmc/host/at91_mci.c |    5 ++---
 drivers/mmc/host/au1xmmc.c  |    3 +--
 3 files changed, 24 insertions(+), 10 deletions(-)

Marc Pignat (1):
      mmc-atmel: remove linux/mmc/protocol.h dependencies

Pierre Ossman (2):
      mmc: fix broken if clause
      mmc: don't call switch on old cards

Robert P. J. Day (1):
      au1xmmc: Replace C code with call to ARRAY_SIZE() macro.


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-05-24  5:46 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-24  5:46 UTC (permalink / raw)
  To: LKML, Linus Torvalds

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 MAINTAINERS              |   29 +++++++++++++++++++++++++++++
 drivers/mmc/card/block.c |   18 ------------------
 drivers/mmc/card/queue.c |   35 ++++++++---------------------------
 drivers/mmc/card/queue.h |    8 --------
 4 files changed, 37 insertions(+), 53 deletions(-)

Pavel Pisa (1):
      mmc: add maintainer for iMX MMC interface

Pierre Ossman (2):
      mmc: clean up unused parts of block driver
      mmc: mark unmaintained drivers

Russell King (1):
      mmc: add maintainer for ARM Primecell controller

Syed Khasim (1):
      mmc: Add maintainers for TI OMAP MMC interface


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-05-14 16:55 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-14 16:55 UTC (permalink / raw)
  To: LKML, Linus Torvalds

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/card/block.c   |   17 ++++-------------
 drivers/mmc/host/au1xmmc.c |   35 ++++++++++++++---------------------
 drivers/mmc/host/pxamci.c  |   18 ++++++------------
 drivers/mmc/host/sdhci.c   |    9 +++++++++
 include/linux/major.h      |    2 ++
 5 files changed, 35 insertions(+), 46 deletions(-)

Nicolas Pitre (1):
      pxamci: fix PXA27x MMC workaround for bad CRC with 136 bit response

Pierre Ossman (2):
      sdhci: handle dma boundary interrupts
      mmc: use assigned major for block device

Yoichi Yuasa (1):
      mmc: au1xmmc command types check from data flags


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-12 16:22                 ` Russell King
@ 2007-05-12 17:55                   ` Nicolas Pitre
  0 siblings, 0 replies; 57+ messages in thread
From: Nicolas Pitre @ 2007-05-12 17:55 UTC (permalink / raw)
  To: Russell King; +Cc: Pierre Ossman, LKML

On Sat, 12 May 2007, Russell King wrote:

> First submitted on 22 November 2004 by Nicolas.  Went through a couple
> of revisions until 2271/3 which was committed on 27 November 2004.  No
> indication that the code was done by anyone other than Nicolas, though
> maybe Nico didn't add appropriate creditation to the real authors.
> Slap Wrist if we're missing the proper creditation!

Whatever happened, I certainly knew nothing about MMC back then, and I 
did a less than appropriate job at reviewing the patch.

I'm getting far more involved with MMC/SD/SDIO now so this issue will 
get properly resolved.


Nicolas

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-12 16:12               ` Pierre Ossman
@ 2007-05-12 16:22                 ` Russell King
  2007-05-12 17:55                   ` Nicolas Pitre
  0 siblings, 1 reply; 57+ messages in thread
From: Russell King @ 2007-05-12 16:22 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Nicolas Pitre, LKML

On Sat, May 12, 2007 at 06:12:27PM +0200, Pierre Ossman wrote:
> Nicolas Pitre wrote:
> > Actually, I'm not the author of this workaround.  And looking at it 
> > closer, the current workaround is utterly buggy as it completely inhibit 
> > CRC error reporting for everything but the listed commands when the MSB 
> > of the response is a zero.
> >
> >   
> 
> Your name popped up on the commit for this, but as that was during the
> bk days the information was severely lacking.

That's not correct.  Just as today, it's entirely trackable.  We've had
the sign-off thing for quite a long time, and we've also had the ARM
patch system for ages.  That's what the "2271/3" number means.

http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=2271%2F1
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=2271%2F3

First submitted on 22 November 2004 by Nicolas.  Went through a couple
of revisions until 2271/3 which was committed on 27 November 2004.  No
indication that the code was done by anyone other than Nicolas, though
maybe Nico didn't add appropriate creditation to the real authors.
Slap Wrist if we're missing the proper creditation!

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-12 15:38             ` Nicolas Pitre
@ 2007-05-12 16:12               ` Pierre Ossman
  2007-05-12 16:22                 ` Russell King
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-12 16:12 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: LKML

Nicolas Pitre wrote:
> Actually, I'm not the author of this workaround.  And looking at it 
> closer, the current workaround is utterly buggy as it completely inhibit 
> CRC error reporting for everything but the listed commands when the MSB 
> of the response is a zero.
>
>   

Your name popped up on the commit for this, but as that was during the
bk days the information was severely lacking.

> Please apply the following patch.  It is compile tested only as I don't 
> have PXA27x hardware with MMC at the moment, but it just cannot be worse 
> than the current code even when it was compiling.
>
>   

I would think that it would be better to look at just MMC_RSP_136 and
MMC_RSP_CRC in case we get future variations.

Rgds

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-10 14:52           ` Nicolas Pitre
@ 2007-05-12 15:38             ` Nicolas Pitre
  2007-05-12 16:12               ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Nicolas Pitre @ 2007-05-12 15:38 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: LKML

On Thu, 10 May 2007, Nicolas Pitre wrote:

> On Thu, 10 May 2007, Pierre Ossman wrote:
> 
> > You seem to be the source of this workaround, and also the maintainer of
> > PXA.
> 
> Well... I used to.

Actually, I'm not the author of this workaround.  And looking at it 
closer, the current workaround is utterly buggy as it completely inhibit 
CRC error reporting for everything but the listed commands when the MSB 
of the response is a zero.

> But the only MMC capable PXA hardware in working conditions I have 
> access to at the moment is PXA255 based which doesn't suffer from this 
> erratum.
> 
> > Pierre Ossman wrote:
> > > I've read through the erratum, and to me it seems like the bug affects
> > > all long replies, not just these codes. So I think the code should be
> > > fixed to look at the response flag, not the opcode.

Indeed.

Please apply the following patch.  It is compile tested only as I don't 
have PXA27x hardware with MMC at the moment, but it just cannot be worse 
than the current code even when it was compiling.

----- >8
Subject: fix PXA27x MMC workaround for bad CRC on R2 response erratum

... and make it depend on the response flag rather than the command type.

Signed-off-by: Nicolas Pitre <nico@cam.org>
---
diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index d97d386..8240609 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -232,20 +232,15 @@ static int pxamci_cmd_done(struct pxamci_host *host, unsigned int stat)
 		/*
 		 * workaround for erratum #42:
 		 * Intel PXA27x Family Processor Specification Update Rev 001
+		 * A bogus CRC error can appear if the msb of a R2 response
+		 * is a one.
 		 */
-		if (cmd->opcode == MMC_ALL_SEND_CID ||
-		    cmd->opcode == MMC_SEND_CSD ||
-		    cmd->opcode == MMC_SEND_CID) {
-			/* a bogus CRC error can appear if the msb of
-			   the 15 byte response is a one */
-			if ((cmd->resp[0] & 0x80000000) == 0)
-				cmd->error = MMC_ERR_BADCRC;
-		} else {
-			pr_debug("ignoring CRC from command %d - *risky*\n",cmd->opcode);
-		}
-#else
-		cmd->error = MMC_ERR_BADCRC;
+		if (RSP_TYPE(mmc_resp_type(cmd)) == RSP_TYPE(MMC_RSP_R2) &&
+		    (cmd->resp[0] & 0x80000000)) {
+			pr_debug("ignoring CRC from command %d - *risky*\n", cmd->opcode);
+		} else
 #endif
+		cmd->error = MMC_ERR_BADCRC;
 	}
 
 	pxamci_disable_irq(host, END_CMD_RES);

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-10 13:58         ` Pierre Ossman
@ 2007-05-10 14:52           ` Nicolas Pitre
  2007-05-12 15:38             ` Nicolas Pitre
  0 siblings, 1 reply; 57+ messages in thread
From: Nicolas Pitre @ 2007-05-10 14:52 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: LKML

On Thu, 10 May 2007, Pierre Ossman wrote:

> You seem to be the source of this workaround, and also the maintainer of
> PXA.

Well... I used to.

But the only MMC capable PXA hardware in working conditions I have 
access to at the moment is PXA255 based which doesn't suffer from this 
erratum.

> Pierre Ossman wrote:
> > Russell King wrote:
> >   
> >> See the comments immediately above and below its use.
> >>
> >> Welcome to buggy hardware.
> >>
> >>   
> >>     
> >
> > I've read through the erratum, and to me it seems like the bug affects
> > all long replies, not just these codes. So I think the code should be
> > fixed to look at the response flag, not the opcode.
> >
> > Do you have hardware so that you can test such a change?
> >
> >   
> 
> I guess the same question goes to you. :)

People in better position than I currently do to test a fix are most 
likely to be found on lak.


Nicolas

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-10  5:44       ` Pierre Ossman
  2007-05-10  7:51         ` Russell King
@ 2007-05-10 13:58         ` Pierre Ossman
  2007-05-10 14:52           ` Nicolas Pitre
  1 sibling, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-10 13:58 UTC (permalink / raw)
  To: Nicolas Pitre, LKML

Hi Nicolas,

You seem to be the source of this workaround, and also the maintainer of
PXA. So I guess this falls into your lap either way. Highlights from my
discussion with Russell:

Pierre Ossman wrote:
> Russell King wrote:
>   
>> > Dug out from the ARM kautobuild...
>> >
>> > drivers/mmc/host/pxamci.c: In function 'pxamci_cmd_done':
>> > drivers/mmc/host/pxamci.c:236: error: 'MMC_ALL_SEND_CID' undeclared (first use in this function)
>> > drivers/mmc/host/pxamci.c:236: error: (Each undeclared identifier is reported only once
>> > drivers/mmc/host/pxamci.c:236: error: for each function it appears in.)
>> > drivers/mmc/host/pxamci.c:237: error: 'MMC_SEND_CSD' undeclared (first use in this function)
>> > drivers/mmc/host/pxamci.c:238: error: 'MMC_SEND_CID' undeclared (first use in this function)
>> >
>> >   
>>     
>
> What are opcode defines doing in the driver?

Pierre Ossman wrote:
> Russell King wrote:
>   
>> See the comments immediately above and below its use.
>>
>> Welcome to buggy hardware.
>>
>>   
>>     
>
> I've read through the erratum, and to me it seems like the bug affects
> all long replies, not just these codes. So I think the code should be
> fixed to look at the response flag, not the opcode.
>
> Do you have hardware so that you can test such a change?
>
>   

I guess the same question goes to you. :)

Rgds

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-10  5:44       ` Pierre Ossman
@ 2007-05-10  7:51         ` Russell King
  2007-05-10 13:58         ` Pierre Ossman
  1 sibling, 0 replies; 57+ messages in thread
From: Russell King @ 2007-05-10  7:51 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

On Thu, May 10, 2007 at 07:44:02AM +0200, Pierre Ossman wrote:
> Russell King wrote:
> > See the comments immediately above and below its use.
> >
> > Welcome to buggy hardware.
> 
> I've read through the erratum, and to me it seems like the bug affects
> all long replies, not just these codes. So I think the code should be
> fixed to look at the response flag, not the opcode.
> 
> Do you have hardware so that you can test such a change?

Nope.  Suggest checking the git logs and contacting those who authored
the change.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09 22:12     ` Russell King
@ 2007-05-10  5:44       ` Pierre Ossman
  2007-05-10  7:51         ` Russell King
  2007-05-10 13:58         ` Pierre Ossman
  0 siblings, 2 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-10  5:44 UTC (permalink / raw)
  To: Pierre Ossman, Linus Torvalds, LKML

Russell King wrote:
> See the comments immediately above and below its use.
>
> Welcome to buggy hardware.
>
>   

I've read through the erratum, and to me it seems like the bug affects
all long replies, not just these codes. So I think the code should be
fixed to look at the response flag, not the opcode.

Do you have hardware so that you can test such a change?

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09 19:06   ` Pierre Ossman
@ 2007-05-09 22:12     ` Russell King
  2007-05-10  5:44       ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Russell King @ 2007-05-09 22:12 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

On Wed, May 09, 2007 at 09:06:29PM +0200, Pierre Ossman wrote:
> Russell King wrote:
> > Dug out from the ARM kautobuild...
> >
> > drivers/mmc/host/pxamci.c: In function 'pxamci_cmd_done':
> > drivers/mmc/host/pxamci.c:236: error: 'MMC_ALL_SEND_CID' undeclared (first use in this function)
> > drivers/mmc/host/pxamci.c:236: error: (Each undeclared identifier is reported only once
> > drivers/mmc/host/pxamci.c:236: error: for each function it appears in.)
> > drivers/mmc/host/pxamci.c:237: error: 'MMC_SEND_CSD' undeclared (first use in this function)
> > drivers/mmc/host/pxamci.c:238: error: 'MMC_SEND_CID' undeclared (first use in this function)
> >
> >   
> 
> What are opcode defines doing in the driver?

See the comments immediately above and below its use.

Welcome to buggy hardware.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09 18:56 ` Russell King
@ 2007-05-09 19:06   ` Pierre Ossman
  2007-05-09 22:12     ` Russell King
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-09 19:06 UTC (permalink / raw)
  To: Pierre Ossman, Linus Torvalds, LKML

Russell King wrote:
> Dug out from the ARM kautobuild...
>
> drivers/mmc/host/pxamci.c: In function 'pxamci_cmd_done':
> drivers/mmc/host/pxamci.c:236: error: 'MMC_ALL_SEND_CID' undeclared (first use in this function)
> drivers/mmc/host/pxamci.c:236: error: (Each undeclared identifier is reported only once
> drivers/mmc/host/pxamci.c:236: error: for each function it appears in.)
> drivers/mmc/host/pxamci.c:237: error: 'MMC_SEND_CSD' undeclared (first use in this function)
> drivers/mmc/host/pxamci.c:238: error: 'MMC_SEND_CID' undeclared (first use in this function)
>
>   

What are opcode defines doing in the driver?

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-01 15:22 Pierre Ossman
  2007-05-05  4:24 ` Pierre Ossman
@ 2007-05-09 18:56 ` Russell King
  2007-05-09 19:06   ` Pierre Ossman
  1 sibling, 1 reply; 57+ messages in thread
From: Russell King @ 2007-05-09 18:56 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

On Tue, May 01, 2007 at 05:22:00PM +0200, Pierre Ossman wrote:
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 
> to receive the following updates:

Dug out from the ARM kautobuild...

drivers/mmc/host/pxamci.c: In function 'pxamci_cmd_done':
drivers/mmc/host/pxamci.c:236: error: 'MMC_ALL_SEND_CID' undeclared (first use in this function)
drivers/mmc/host/pxamci.c:236: error: (Each undeclared identifier is reported only once
drivers/mmc/host/pxamci.c:236: error: for each function it appears in.)
drivers/mmc/host/pxamci.c:237: error: 'MMC_SEND_CSD' undeclared (first use in this function)
drivers/mmc/host/pxamci.c:238: error: 'MMC_SEND_CID' undeclared (first use in this function)

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  9:11           ` Stefan Richter
@ 2007-05-09 15:44             ` Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-09 15:44 UTC (permalink / raw)
  To: Stefan Richter; +Cc: Nick Piggin, Linus Torvalds, LKML

Stefan Richter wrote:
> Sounds to me like either struct xyz_host { atomic_t removed; } would do
> the job, or that actually wider regions of mmc_host_remove() and
> mmc_detect_change() need to be serialized.
>   

AFAIK, an atomic_t doesn't guarantee any ordering, just atomicity. So an
atomic_t with a barrier would be sufficient. But barriers are mostly
voodoo that few people understand ;)

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  7:51         ` Pierre Ossman
  2007-05-09  8:05           ` Nick Piggin
@ 2007-05-09  9:11           ` Stefan Richter
  2007-05-09 15:44             ` Pierre Ossman
  1 sibling, 1 reply; 57+ messages in thread
From: Stefan Richter @ 2007-05-09  9:11 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Nick Piggin, Linus Torvalds, LKML

Pierre Ossman wrote:
> The host->removed member is only used for this simple test. It is set in
> mmc_host_remove() to indicate that the removal process has begun. At
> this point it is invalid to call mmc_detect_change() (the place this
> patch fixes). So the spinlocks are mostly there so that things are
> properly ordered when we go SMP. Some creative barriers would probably
> work as well, but I find spinlocks more "normal" and hence more readable.

Sounds to me like either struct xyz_host { atomic_t removed; } would do
the job, or that actually wider regions of mmc_host_remove() and
mmc_detect_change() need to be serialized.
-- 
Stefan Richter
-=====-=-=== -=-= -=--=
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  7:51         ` Pierre Ossman
@ 2007-05-09  8:05           ` Nick Piggin
  2007-05-09  9:11           ` Stefan Richter
  1 sibling, 0 replies; 57+ messages in thread
From: Nick Piggin @ 2007-05-09  8:05 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

Pierre Ossman wrote:
> Nick Piggin wrote:
> 
>>If you want to ensure you always only modify host->removed from under
>>the spinlock, it would be enforcable by introducing an accessor function
>>and doing a BUG_ON(!spin_is_locked()) in there.
>>
>>If you just want to ensure that host->removed is 0 at this point, you
>>shouldn't need any spinlocks AFAIKS... that way you can probably afford
>>to move it out from CONFIG_MMC_DEBUG and get wider testing.
>>
> 
> 
> The host->removed member is only used for this simple test. It is set in
> mmc_host_remove() to indicate that the removal process has begun. At
> this point it is invalid to call mmc_detect_change() (the place this
> patch fixes). So the spinlocks are mostly there so that things are
> properly ordered when we go SMP. Some creative barriers would probably
> work as well, but I find spinlocks more "normal" and hence more readable.

Fair enough. No big deal :)

-- 
SUSE Labs, Novell Inc.

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  6:35       ` Nick Piggin
@ 2007-05-09  7:51         ` Pierre Ossman
  2007-05-09  8:05           ` Nick Piggin
  2007-05-09  9:11           ` Stefan Richter
  0 siblings, 2 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-09  7:51 UTC (permalink / raw)
  To: Nick Piggin; +Cc: Linus Torvalds, LKML

Nick Piggin wrote:
>
> If you want to ensure you always only modify host->removed from under
> the spinlock, it would be enforcable by introducing an accessor function
> and doing a BUG_ON(!spin_is_locked()) in there.
>
> If you just want to ensure that host->removed is 0 at this point, you
> shouldn't need any spinlocks AFAIKS... that way you can probably afford
> to move it out from CONFIG_MMC_DEBUG and get wider testing.
>

The host->removed member is only used for this simple test. It is set in
mmc_host_remove() to indicate that the removal process has begun. At
this point it is invalid to call mmc_detect_change() (the place this
patch fixes). So the spinlocks are mostly there so that things are
properly ordered when we go SMP. Some creative barriers would probably
work as well, but I find spinlocks more "normal" and hence more readable.

Rgds

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  6:27     ` Pierre Ossman
@ 2007-05-09  6:35       ` Nick Piggin
  2007-05-09  7:51         ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Nick Piggin @ 2007-05-09  6:35 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

Pierre Ossman wrote:
> Nick Piggin wrote:
> 
>>>@@ -501,9 +501,9 @@ void mmc_detect_change(struct mmc_host *host,
>>>unsigned long delay)
>>> {
>>> #ifdef CONFIG_MMC_DEBUG
>>>     unsigned long flags;
>>>-    spin_lock_irqsave(host->lock, flags);
>>>+    spin_lock_irqsave(&host->lock, flags);
>>>     BUG_ON(host->removed);
>>>-    spin_unlock_irqrestore(host->lock, flags);
>>>+    spin_unlock_irqrestore(&host->lock, flags);
>>> #endif
>>
>>Do you actually need the lock there at all? What is it protecting?
>>
> 
> 
> It makes sure we don't have any race when it comes to modifying
> host->removed.

If you want to ensure you always only modify host->removed from under
the spinlock, it would be enforcable by introducing an accessor function
and doing a BUG_ON(!spin_is_locked()) in there.

If you just want to ensure that host->removed is 0 at this point, you
shouldn't need any spinlocks AFAIKS... that way you can probably afford
to move it out from CONFIG_MMC_DEBUG and get wider testing.

-- 
SUSE Labs, Novell Inc.

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  6:03   ` Nick Piggin
@ 2007-05-09  6:27     ` Pierre Ossman
  2007-05-09  6:35       ` Nick Piggin
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-09  6:27 UTC (permalink / raw)
  To: Nick Piggin; +Cc: Linus Torvalds, LKML

Nick Piggin wrote:
>> @@ -501,9 +501,9 @@ void mmc_detect_change(struct mmc_host *host,
>> unsigned long delay)
>>  {
>>  #ifdef CONFIG_MMC_DEBUG
>>      unsigned long flags;
>> -    spin_lock_irqsave(host->lock, flags);
>> +    spin_lock_irqsave(&host->lock, flags);
>>      BUG_ON(host->removed);
>> -    spin_unlock_irqrestore(host->lock, flags);
>> +    spin_unlock_irqrestore(&host->lock, flags);
>>  #endif
>
> Do you actually need the lock there at all? What is it protecting?
>

It makes sure we don't have any race when it comes to modifying
host->removed. We had some problems where controllers reported card
insertion events even after they'd signaled to be removed, causing all
kind of odd problems. This check was added to easier spot it should it
arise again.

Rgds

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org


^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-09  5:55 ` Pierre Ossman
@ 2007-05-09  6:03   ` Nick Piggin
  2007-05-09  6:27     ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Nick Piggin @ 2007-05-09  6:03 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: Linus Torvalds, LKML

Pierre Ossman wrote:
> Pierre Ossman wrote:
> 
>>Linus, please pull from
>>
>>        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
>>
> 
> 
> fsck! I pushed the wrong branch :/
> 
> This fix should have been in the last commit.
> 
> Sorry,
> 
> 
> ------------------------------------------------------------------------
> 
> commit 3b9a6d78eb439016728c598a1373b50328f5e9fe
> Author: Pierre Ossman <drzeus@drzeus.cx>
> Date:   Wed May 9 07:53:28 2007 +0200
> 
>     mmc: fix wrong call to spinlock
>     
>     Fix silly typo in spinlock calls.
>     
>     Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
> 
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index b6c1670..7385acf 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -501,9 +501,9 @@ void mmc_detect_change(struct mmc_host *host, unsigned long delay)
>  {
>  #ifdef CONFIG_MMC_DEBUG
>  	unsigned long flags;
> -	spin_lock_irqsave(host->lock, flags);
> +	spin_lock_irqsave(&host->lock, flags);
>  	BUG_ON(host->removed);
> -	spin_unlock_irqrestore(host->lock, flags);
> +	spin_unlock_irqrestore(&host->lock, flags);
>  #endif

Do you actually need the lock there at all? What is it protecting?

-- 
SUSE Labs, Novell Inc.

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-08 20:45 Pierre Ossman
@ 2007-05-09  5:55 ` Pierre Ossman
  2007-05-09  6:03   ` Nick Piggin
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-09  5:55 UTC (permalink / raw)
  To: Linus Torvalds, LKML

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

Pierre Ossman wrote:
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 

fsck! I pushed the wrong branch :/

This fix should have been in the last commit.

Sorry,
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

[-- Attachment #2: spinfix.patch --]
[-- Type: text/x-patch, Size: 814 bytes --]

commit 3b9a6d78eb439016728c598a1373b50328f5e9fe
Author: Pierre Ossman <drzeus@drzeus.cx>
Date:   Wed May 9 07:53:28 2007 +0200

    mmc: fix wrong call to spinlock
    
    Fix silly typo in spinlock calls.
    
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index b6c1670..7385acf 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -501,9 +501,9 @@ void mmc_detect_change(struct mmc_host *host, unsigned long delay)
 {
 #ifdef CONFIG_MMC_DEBUG
 	unsigned long flags;
-	spin_lock_irqsave(host->lock, flags);
+	spin_lock_irqsave(&host->lock, flags);
 	BUG_ON(host->removed);
-	spin_unlock_irqrestore(host->lock, flags);
+	spin_unlock_irqrestore(&host->lock, flags);
 #endif
 
 	mmc_schedule_delayed_work(&host->detect, delay);

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-05-08 20:45 Pierre Ossman
  2007-05-09  5:55 ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-08 20:45 UTC (permalink / raw)
  To: Linus Torvalds, LKML

[-- Attachment #1: Type: text/plain, Size: 802 bytes --]

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/misc/tifm_7xx1.c   |   27 ++++++++++++++++++++++++---
 drivers/mmc/Kconfig        |   10 +++++-----
 drivers/mmc/card/Kconfig   |    3 +--
 drivers/mmc/core/Kconfig   |    1 -
 drivers/mmc/core/core.c    |   10 ++++++----
 drivers/mmc/host/Kconfig   |   19 +++++++++----------
 drivers/mmc/host/tifm_sd.c |   13 +------------
 include/linux/tifm.h       |    1 +
 8 files changed, 47 insertions(+), 37 deletions(-)

Alex Dubov (1):
      disable socket power in adapter driver instead of media one

Jan Engelhardt (1):
      mmc: Use menuconfig objects

Pierre Ossman (1):
      mmc: use lock instead of claim in debug check



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-05  4:24 ` Pierre Ossman
@ 2007-05-05  4:45   ` Linus Torvalds
  0 siblings, 0 replies; 57+ messages in thread
From: Linus Torvalds @ 2007-05-05  4:45 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: LKML



On Sat, 5 May 2007, Pierre Ossman wrote:

> Pierre Ossman wrote:
> > Linus, please pull from
> > 
> >         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> > 
> 
> *ping*

*pong*.

Thanks for reminding me. I was away for a couple of days, missed some 
emails, just pulled and pushed out.

		Linus

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-05-01 15:22 Pierre Ossman
@ 2007-05-05  4:24 ` Pierre Ossman
  2007-05-05  4:45   ` Linus Torvalds
  2007-05-09 18:56 ` Russell King
  1 sibling, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-05-05  4:24 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Pierre Ossman wrote:
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 

*ping*

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-05-01 15:22 Pierre Ossman
  2007-05-05  4:24 ` Pierre Ossman
  2007-05-09 18:56 ` Russell King
  0 siblings, 2 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-05-01 15:22 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/misc/tifm_7xx1.c                  |  332 +++----
 drivers/misc/tifm_core.c                  |  305 +++--
 drivers/mmc/Kconfig                       |  106 +--
 drivers/mmc/Makefile                      |   33 +-
 drivers/mmc/card/Kconfig                  |   17 +
 drivers/mmc/card/Makefile                 |   11 +
 drivers/mmc/{mmc_block.c => card/block.c} |   55 +-
 drivers/mmc/{mmc_queue.c => card/queue.c} |   12 +-
 drivers/mmc/{mmc_queue.h => card/queue.h} |    0
 drivers/mmc/core/Kconfig                  |   17 +
 drivers/mmc/core/Makefile                 |   11 +
 drivers/mmc/core/core.c                   |  727 ++++++++++++
 drivers/mmc/core/core.h                   |   70 ++
 drivers/mmc/core/mmc.c                    |  537 +++++++++
 drivers/mmc/core/mmc_ops.c                |  276 +++++
 drivers/mmc/core/mmc_ops.h                |   27 +
 drivers/mmc/core/sd.c                     |  587 ++++++++++
 drivers/mmc/core/sd_ops.c                 |  316 ++++++
 drivers/mmc/core/sd_ops.h                 |   25 +
 drivers/mmc/{mmc_sysfs.c => core/sysfs.c} |   11 +-
 drivers/mmc/{mmc.h => core/sysfs.h}       |   10 +-
 drivers/mmc/host/Kconfig                  |  103 ++
 drivers/mmc/host/Makefile                 |   18 +
 drivers/mmc/{ => host}/at91_mci.c         |    1 -
 drivers/mmc/{ => host}/au1xmmc.c          |    1 -
 drivers/mmc/{ => host}/au1xmmc.h          |    0
 drivers/mmc/{ => host}/imxmmc.c           |    1 -
 drivers/mmc/{ => host}/imxmmc.h           |    0
 drivers/mmc/{ => host}/mmci.c             |    1 -
 drivers/mmc/{ => host}/mmci.h             |    0
 drivers/mmc/{ => host}/omap.c             |   56 +-
 drivers/mmc/{ => host}/pxamci.c           |    1 -
 drivers/mmc/{ => host}/pxamci.h           |    0
 drivers/mmc/{ => host}/sdhci.c            |   43 +-
 drivers/mmc/{ => host}/sdhci.h            |    4 +-
 drivers/mmc/host/tifm_sd.c                | 1102 ++++++++++++++++++
 drivers/mmc/{ => host}/wbsd.c             |  205 +---
 drivers/mmc/{ => host}/wbsd.h             |    9 +-
 drivers/mmc/mmc.c                         | 1724 -----------------------------
 drivers/mmc/tifm_sd.c                     |  987 -----------------
 include/asm-arm/arch-imx/mmc.h            |    2 +-
 include/asm-arm/arch-pxa/mmc.h            |    2 +-
 include/asm-arm/mach/mmc.h                |    2 +-
 include/linux/mmc/card.h                  |   32 +-
 include/linux/mmc/core.h                  |  112 ++
 include/linux/mmc/host.h                  |   59 +-
 include/linux/mmc/mmc.h                   |  322 ++++--
 include/linux/mmc/protocol.h              |  327 ------
 include/linux/mmc/sd.h                    |   83 ++
 include/linux/tifm.h                      |  117 +-
 50 files changed, 4858 insertions(+), 3941 deletions(-)

Adrian Bunk (1):
      mmc: make tifm_sd_set_dma_data() static

Alex Dubov (18):
      mmc: cull sg list to match mmc request size
      tifm: hide details of interrupt processing from socket drivers
      tifm: use bus methods to handle probe/remove instead of driver ones.
      tifm: simplify bus match and uevent handlers
      tifm: replace per-adapter kthread with freezeable workqueue
      tifm_7xx1: improve card detection routine
      tifm: move common adapter management tasks from tifm_7xx1 to tifm_core
      tifm: move common device management tasks from tifm_7xx1 to tifm_core
      tifm_7xx1: fix adapter resume function
      tifm: add sysfs attribute for tifm devices
      tifm_sd: remove tifm_sd_terminate function
      tifm_sd: remove wait for power off on remove
      tifm_sd: separate command flags, socket flags and register bit masks
      tifm_sd: merge dma and pio request processing paths
      tifm_sd: replace command completion state machine with full checking
      tifm_sd: fix resume handler
      tifm_sd: implement software scatter-gather
      tifm: layout fixes, small changes to comments and printfs

Andrew Morton (1):
      tifm: add missing include for DMA_32BIT_MASK

Arnaud Patard (1):
      mmc-omap: add missing '\n'

Philip Langdale (2):
      MMC: Consolidate voltage definitions
      MMC: Fix handling of low-voltage cards

Pierre Ossman (21):
      mmc: enforce correct sg list
      wbsd: remove block crc test
      mmc: use right timing mode constant
      mmc: MMC sector based cards
      mmc: add type field to cards
      mmc: Move OCR bit defines
      mmc: Move "present" marking
      mmc: Move queue functions to mmc_block
      mmc: Move host and card drivers to subdirs
      mmc: Flush pending detects on host removal
      mmc: allow suspended block driver to be removed
      mmc: remove card upon suspend
      mmc: deprecate mmc bus topology
      mmc: Move core functions to subdir
      mmc: Separate out protocol ops
      wbsd: check for data opcode earlier
      mmc: add bus handler
      mmc: break apart switch function
      mmc: separate out reading EXT_CSD
      mmc: support unsafe resume of cards
      mmc: remove old card states

Tony Lindgren (2):
      mmc-omap: Fix omap to use MMC_POWER_ON
      mmc-omap: Clean up omap set_ios and make MMC_POWER_ON work


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-02-11 15:33 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-02-11 15:33 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/sdhci.c   |   40 ++++++++++++----------------------------
 drivers/mmc/tifm_sd.c |   11 ++++-------
 drivers/mmc/wbsd.c    |    6 +-----
 3 files changed, 17 insertions(+), 40 deletions(-)

Alex Dubov (1):
      tifm_sd: treat "status error" as normal command completion

Pierre Ossman (4):
      mmc: wbsd: Remove driver version
      mmc: sdhci: Remove driver version
      mmc: sdhci: Stop asking for mail
      mmc: wbsd: Remove stray kunmap_atomic()

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-02-04 20:11 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-02-04 20:11 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Yay! First post!

Linus, please pull from

  git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 MAINTAINERS                  |    2 +-
 drivers/misc/tifm_7xx1.c     |  402 ++++++++++++++++++----------------
 drivers/misc/tifm_core.c     |   65 +++++--
 drivers/mmc/at91_mci.c       |    3 +
 drivers/mmc/au1xmmc.c        |   13 +-
 drivers/mmc/imxmmc.c         |    4 +-
 drivers/mmc/mmc.c            |  182 ++++++++++++----
 drivers/mmc/mmc_block.c      |   15 +-
 drivers/mmc/mmc_queue.c      |    2 +-
 drivers/mmc/mmc_sysfs.c      |    2 +-
 drivers/mmc/mmci.c           |   15 +-
 drivers/mmc/omap.c           |    6 +-
 drivers/mmc/pxamci.c         |   10 +
 drivers/mmc/sdhci.c          |   91 +++++----
 drivers/mmc/sdhci.h          |    2 -
 drivers/mmc/tifm_sd.c        |  487 +++++++++++++++++++---------------
 drivers/mmc/wbsd.c           |  102 ++++++---
 drivers/mmc/wbsd.h           |    1 -
 include/linux/mmc/card.h     |    3 +
 include/linux/mmc/host.h     |   10 +-
 include/linux/mmc/mmc.h      |    1 +
 include/linux/mmc/protocol.h |   13 +-
 include/linux/pci_ids.h      |    4 +
 include/linux/tifm.h         |   35 ++--
 24 files changed, 891 insertions(+), 579 deletions(-)

Alex Dubov (15):
      tifm_sd: alter order of the states in the command handler
      tifm_sd: use kmap_atomic instead of kmap for PIO data buffer
      tifm_sd: Switch software timeout handler from work_struct to timer
      tifm_sd: fix hardware timeout setup
      tifm_sd: restructure initialization, removal and command handling
      tifm_sd: prettify
      Remove unused return value from signal_irq callback
      Add dummy_signal_irq function to save check in ISR
      tifm_7xx1: simplify eject function
      tifm_7xx1: Merge media insert and media remove functions
      tifm_7xx1: switch from workqueue to kthread
      tifm_7xx1: recognize device 0xac8f as supported
      tifm_7xx1: prettify
      tifm_core: add suspend/resume infrastructure for tifm devices
      tifm_sd: add suspend and resume functionality

Darren Salt (1):
      mmc: Power quirk for ENE controllers

Manuel Lauss (2):
      mmc: au1xmmc: implement proper ro switch detection
      mmc: au1xmmc: return errors for unknown response types

Philip Langdale (1):
      mmc: Add support for SDHC cards

Pierre Ossman (13):
      mmc: replace host->card_busy
      mmc: let host be parent of cards
      mmc: Allow host drivers to specify a max block size
      mmc: Allow host drivers to specify max block count
      mmc: Handle wbsd's stupid command list
      mmc: Graceful fallback for fancy features
      mmc: change wbsd mailing list
      mmc: Proper unclaim in mmc_block
      mmc: handle pci_enable_device() return value in sdhci
      mmc: wbsd: replace kmap with page_address
      mmc: sdhci: replace kmap with page_address
      mmc: sdhci: fix voltage ocr
      mmc: tifm: replace kmap with page_address

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-01-15  5:46 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-01-15  5:46 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git
for-linus

to receive the following updates:

 drivers/mmc/imxmmc.c    |    3 ---
 drivers/mmc/omap.c      |   15 +++++++++------
 drivers/mmc/pxamci.c    |    2 +-
 drivers/mmc/tifm_sd.c   |    3 ---
 include/linux/mmc/mmc.h |    2 +-
 5 files changed, 11 insertions(+), 14 deletions(-)

Carlos Eduardo Aguiar (1):
      omap: Update MMC response types

Philip Langdale (1):
      mmc: Correct definition of R6

diff --git a/drivers/mmc/imxmmc.c b/drivers/mmc/imxmmc.c
index 06e7fcd..bfb9ff6 100644
--- a/drivers/mmc/imxmmc.c
+++ b/drivers/mmc/imxmmc.c
@@ -351,9 +351,6 @@ static void imxmci_start_cmd(struct imxmci_host
*host, struct mmc_command *cmd,
        case MMC_RSP_R3: /* short */
                cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R3;
                break;
-       case MMC_RSP_R6: /* short CRC */
-               cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R6;
-               break;
        default:
                break;
        }
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c
index 9488408..d30540b 100644
--- a/drivers/mmc/omap.c
+++ b/drivers/mmc/omap.c
@@ -91,7 +91,6 @@


 #define DRIVER_NAME "mmci-omap"
-#define RSP_TYPE(x)    ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))

 /* Specifies how often in millisecs to poll for card status changes
  * when the cover switch is open */
@@ -204,18 +203,22 @@ mmc_omap_start_command(struct mmc_omap_host *host,
struct mmc_command *cmd)
        cmdtype = 0;

        /* Our hardware needs to know exact type */
-       switch (RSP_TYPE(mmc_resp_type(cmd))) {
-       case RSP_TYPE(MMC_RSP_R1):
-               /* resp 1, resp 1b */
+       switch (mmc_resp_type(cmd)) {
+       case MMC_RSP_NONE:
+               break;
+       case MMC_RSP_R1:
+       case MMC_RSP_R1B:
+               /* resp 1, 1b, 6, 7 */
                resptype = 1;
                break;
-       case RSP_TYPE(MMC_RSP_R2):
+       case MMC_RSP_R2:
                resptype = 2;
                break;
-       case RSP_TYPE(MMC_RSP_R3):
+       case MMC_RSP_R3:
                resptype = 3;
                break;
        default:
+               dev_err(mmc_dev(host->mmc), "Invalid response type:
%04x\n", mmc_resp_type(cmd));
                break;
        }

diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c
index 45a9283..6073d99 100644
--- a/drivers/mmc/pxamci.c
+++ b/drivers/mmc/pxamci.c
@@ -171,7 +171,7 @@ static void pxamci_start_cmd(struct pxamci_host
*host, struct mmc_command *cmd,

 #define RSP_TYPE(x)    ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))
        switch (RSP_TYPE(mmc_resp_type(cmd))) {
-       case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6 */
+       case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6, r7 */
                cmdat |= CMDAT_RESP_SHORT;
                break;
        case RSP_TYPE(MMC_RSP_R3):
diff --git a/drivers/mmc/tifm_sd.c b/drivers/mmc/tifm_sd.c
index f18ad99..fa4a528 100644
--- a/drivers/mmc/tifm_sd.c
+++ b/drivers/mmc/tifm_sd.c
@@ -173,9 +173,6 @@ static unsigned int tifm_sd_op_flags(struct
mmc_command *cmd)
        case MMC_RSP_R3:
                rc |= TIFM_MMCSD_RSP_R3;
                break;
-       case MMC_RSP_R6:
-               rc |= TIFM_MMCSD_RSP_R6;
-               break;
        default:
                BUG();
        }
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index a3594df..bcf2490 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -42,7 +42,7 @@ struct mmc_command {
 #define MMC_RSP_R1B
(MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
 #define MMC_RSP_R2     (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
 #define MMC_RSP_R3     (MMC_RSP_PRESENT)
-#define MMC_RSP_R6     (MMC_RSP_PRESENT|MMC_RSP_CRC)
+#define MMC_RSP_R6     (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)

 #define mmc_resp_type(cmd)     ((cmd)->flags &
(MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE))


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* Re: [GIT PULL] MMC updates
  2007-01-04 12:49 Pierre Ossman
@ 2007-01-10 19:51 ` Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2007-01-10 19:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML

Ping!

Pierre Ossman wrote:
> Linus, please pull from
> 
>         git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus
> 
> to receive the following updates:
> 
>  drivers/mmc/at91_mci.c |   11 +++++------
>  drivers/mmc/omap.c     |    6 +++---
>  2 files changed, 8 insertions(+), 9 deletions(-)
> 
> David Brownell (1):
>       MMC: at91 mmc linkage updates
> 
> Kyungmin Park (1):
>       ARM: OMAP: fix MMC workqueue changes
> 

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2007-01-04 12:49 Pierre Ossman
  2007-01-10 19:51 ` Pierre Ossman
  0 siblings, 1 reply; 57+ messages in thread
From: Pierre Ossman @ 2007-01-04 12:49 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/at91_mci.c |   11 +++++------
 drivers/mmc/omap.c     |    6 +++---
 2 files changed, 8 insertions(+), 9 deletions(-)

David Brownell (1):
      MMC: at91 mmc linkage updates

Kyungmin Park (1):
      ARM: OMAP: fix MMC workqueue changes

diff --git a/drivers/mmc/at91_mci.c b/drivers/mmc/at91_mci.c
index 08a33c3..aa152f3 100644
--- a/drivers/mmc/at91_mci.c
+++ b/drivers/mmc/at91_mci.c
@@ -768,7 +768,7 @@ static irqreturn_t at91_mmc_det_irq(int irq, void *_host)
        return IRQ_HANDLED;
 }

-int at91_mci_get_ro(struct mmc_host *mmc)
+static int at91_mci_get_ro(struct mmc_host *mmc)
 {
        int read_only = 0;
        struct at91mci_host *host = mmc_priv(mmc);
@@ -794,7 +794,7 @@ static const struct mmc_host_ops at91_mci_ops = {
 /*
  * Probe for the device
  */
-static int at91_mci_probe(struct platform_device *pdev)
+static int __init at91_mci_probe(struct platform_device *pdev)
 {
        struct mmc_host *mmc;
        struct at91mci_host *host;
@@ -910,7 +910,7 @@ static int at91_mci_probe(struct platform_device *pdev)
 /*
  * Remove a device
  */
-static int at91_mci_remove(struct platform_device *pdev)
+static int __exit at91_mci_remove(struct platform_device *pdev)
 {
        struct mmc_host *mmc = platform_get_drvdata(pdev);
        struct at91mci_host *host;
@@ -972,8 +972,7 @@ static int at91_mci_resume(struct platform_device *pdev)
 #endif

 static struct platform_driver at91_mci_driver = {
-       .probe          = at91_mci_probe,
-       .remove         = at91_mci_remove,
+       .remove         = __exit_p(at91_mci_remove),
        .suspend        = at91_mci_suspend,
        .resume         = at91_mci_resume,
        .driver         = {
@@ -984,7 +983,7 @@ static struct platform_driver at91_mci_driver = {

 static int __init at91_mci_init(void)
 {
-       return platform_driver_register(&at91_mci_driver);
+       return platform_driver_probe(&at91_mci_driver, at91_mci_probe);
 }

 static void __exit at91_mci_exit(void)
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c
index 435d331..9488408 100644
--- a/drivers/mmc/omap.c
+++ b/drivers/mmc/omap.c
@@ -581,9 +581,9 @@ static void mmc_omap_switch_timer(unsigned long arg)
        schedule_work(&host->switch_work);
 }

-static void mmc_omap_switch_handler(void *data)
+static void mmc_omap_switch_handler(struct work_struct *work)
 {
-       struct mmc_omap_host *host = (struct mmc_omap_host *) data;
+       struct mmc_omap_host *host = container_of(work, struct mmc_omap_host, switch_work);
        struct mmc_card *card;
        static int complained = 0;
        int cards = 0, cover_open;
@@ -1116,7 +1116,7 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, host);

        if (host->switch_pin >= 0) {
-               INIT_WORK(&host->switch_work, mmc_omap_switch_handler, host);
+               INIT_WORK(&host->switch_work, mmc_omap_switch_handler);
                init_timer(&host->switch_timer);
                host->switch_timer.function = mmc_omap_switch_timer;
                host->switch_timer.data = (unsigned long) host;

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

* [GIT PULL] MMC updates
@ 2006-12-11 11:45 Pierre Ossman
  0 siblings, 0 replies; 57+ messages in thread
From: Pierre Ossman @ 2006-12-11 11:45 UTC (permalink / raw)
  To: Linus Torvalds, LKML

Linus, please pull from

        git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc.git for-linus

to receive the following updates:

 drivers/mmc/at91_mci.c  |  346 +++++++++++++++++++++++++----------------------
 drivers/mmc/mmc_queue.c |    4 -
 drivers/mmc/sdhci.c     |    4 -
 3 files changed, 190 insertions(+), 164 deletions(-)

Andrew Victor:
      AT91 MMC 1: Pass host structure.
      AT91 MMC 2 : Use platform resources
      AT91 MMC 3 : Move global mci_clk variable
      AT91 MMC 4 : Interrupt handler cleanup
      AT91 MMC 5 : Minor cleanups
      AT91 MMC update for 2.6.19

Pierre Ossman:
      mmc: Change SDHCI iomem error to a warning

Vitaly Wool:
      mmc: fix "prev->state: 2 != TASK_RUNNING??" problem on SD/MMC  card removal


-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

^ permalink raw reply	[flat|nested] 57+ messages in thread

end of thread, other threads:[~2008-04-19  7:30 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-09  9:50 [GIT PULL] MMC updates Pierre Ossman
  -- strict thread matches above, loose matches on Subject: below --
2008-04-19  7:28 Pierre Ossman
2007-12-12 19:12 Pierre Ossman
2007-12-18  7:57 ` Pierre Ossman
2007-11-21 17:56 Pierre Ossman
2007-10-17 20:44 Pierre Ossman
2007-10-17 20:48 ` Dan Williams
2007-10-10 19:21 Pierre Ossman
2007-10-12  5:30 ` Linus Torvalds
2007-10-12  5:45   ` Pierre Ossman
2007-10-12 12:18     ` Kay Sievers
2007-10-12 13:53       ` Pierre Ossman
2007-10-12 19:55   ` Pierre Ossman
2007-10-12 20:05     ` Nicolas Pitre
2007-10-12 20:35       ` Pierre Ossman
2007-10-12 21:00       ` Pierre Ossman
2007-10-13  5:29         ` Randy Dunlap
2007-10-13  7:03           ` Pierre Ossman
2007-09-11 15:26 Pierre Ossman
2007-08-23  5:18 Pierre Ossman
2007-08-09 14:34 Pierre Ossman
2007-07-26 13:15 Pierre Ossman
2007-07-21  0:36 Pierre Ossman
2007-07-10 20:43 Pierre Ossman
2007-06-13 17:24 Pierre Ossman
2007-06-08  8:09 Pierre Ossman
2007-05-24  5:46 Pierre Ossman
2007-05-14 16:55 Pierre Ossman
2007-05-08 20:45 Pierre Ossman
2007-05-09  5:55 ` Pierre Ossman
2007-05-09  6:03   ` Nick Piggin
2007-05-09  6:27     ` Pierre Ossman
2007-05-09  6:35       ` Nick Piggin
2007-05-09  7:51         ` Pierre Ossman
2007-05-09  8:05           ` Nick Piggin
2007-05-09  9:11           ` Stefan Richter
2007-05-09 15:44             ` Pierre Ossman
2007-05-01 15:22 Pierre Ossman
2007-05-05  4:24 ` Pierre Ossman
2007-05-05  4:45   ` Linus Torvalds
2007-05-09 18:56 ` Russell King
2007-05-09 19:06   ` Pierre Ossman
2007-05-09 22:12     ` Russell King
2007-05-10  5:44       ` Pierre Ossman
2007-05-10  7:51         ` Russell King
2007-05-10 13:58         ` Pierre Ossman
2007-05-10 14:52           ` Nicolas Pitre
2007-05-12 15:38             ` Nicolas Pitre
2007-05-12 16:12               ` Pierre Ossman
2007-05-12 16:22                 ` Russell King
2007-05-12 17:55                   ` Nicolas Pitre
2007-02-11 15:33 Pierre Ossman
2007-02-04 20:11 Pierre Ossman
2007-01-15  5:46 Pierre Ossman
2007-01-04 12:49 Pierre Ossman
2007-01-10 19:51 ` Pierre Ossman
2006-12-11 11:45 Pierre Ossman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).