27 Jul, 2008

2 commits

  • For each card successfully added to the bus, create a subdirectory under
    the host's debugfs root with information about the card.

    At the moment, only a single file is added to the card directory for
    all cards: "state". It reflects the "state" field in struct mmc_card,
    indicating whether the card is present, readonly, etc.

    For MMC and SD cards (not SDIO), another file is added: "status".
    Reading this file will ask the card about its current status and
    return it. This can be useful if the card just refuses to respond to
    any commands, which might indicate that the card state is not what the
    MMC core thinks it is (due to a missing stop command, for example.)

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Pierre Ossman

    Haavard Skinnemoen
     
  • When CONFIG_DEBUG_FS is set, create a few files under /sys/kernel/debug
    containing information about an mmc host's internal state. Currently,
    just a single file is created, "ios", which contains information about
    the current operating parameters for the bus (clock speed, bus width,
    etc.)

    Host drivers can add additional files and directories under the host's
    root directory by passing the debugfs_root field in struct mmc_host as
    the 'parent' parameter to debugfs_create_*.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Pierre Ossman

    Haavard Skinnemoen
     

17 Jul, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (68 commits)
    sdio_uart: Fix SDIO break control to now return success or an error
    mmc: host driver for Ricoh Bay1Controllers
    sdio: sdio_io.c Fix sparse warnings
    sdio: fix the use of hard coded timeout value.
    mmc: OLPC: update vdd/powerup quirk comment
    mmc: fix spares errors of sdhci.c
    mmc: remove multiwrite capability
    wbsd: fix bad dma_addr_t conversion
    atmel-mci: Driver for Atmel on-chip MMC controllers
    mmc: fix sdio_io sparse errors
    mmc: wbsd.c fix shadowing of 'dma' variable
    MMC: S3C24XX: Refuse incorrectly aligned transfers
    MMC: S3C24XX: Add maintainer entry
    MMC: S3C24XX: Update error debugging.
    MMC: S3C24XX: Add media presence test to request handling.
    MMC: S3C24XX: Fix use of msecs where jiffies are needed
    MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices
    MMC: S3C24XX: Fix s3c2410_dma_request() return code check.
    MMC: S3C24XX: Allow card-detect on non-IRQ capable pin
    MMC: S3C24XX: Ensure host->mrq->data is valid
    ...

    Manually fixed up bogus executable bits on drivers/mmc/core/sdio_io.c
    and include/linux/mmc/sdio_func.h when merging.

    Linus Torvalds
     

15 Jul, 2008

7 commits

  • This adds reading and using of enable_timeout from the CIS

    Signed-off-by: Benzi Zbit
    Signed-off-by: Tomas Winkler
    Signed-off-by: Pierre Ossman

    Benzi Zbit
     
  • Relax requirements on host controllers and only require that they do not
    report a transfer count than is larger than the actual one (i.e. a lower
    value is okay). This is how many other parts of the kernel behaves so
    upper layers should already be prepared to handle that scenario. This
    gives us a performance boost on MMC cards.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • This patch fixes sdio_io sparse errors.
    This fix changes signature of API functions,
    changing
    unsigned char -> u8
    unsigned short -> u16
    unsigned long -> u32 - this was probably a bug in 64 bit platforms

    Signed-off-by: Tomas Winkler
    Signed-off-by: Pierre Ossman

    Tomas Winkler
     
  • There are a lot of crappy controllers out there that cannot handle
    all the request sizes that the MMC/SD/SDIO specifications require.
    In case the card driver can pad the data to overcome the problems,
    this commit adds a helper that calculates how much that padding
    should be.

    A corresponding helper is also added for SDIO, but it can also deal
    with all the complexities of splitting up a large transfer efficiently.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Now get_ro() callback must return 0/1 values for its logical states, and
    negative errno values in case of error. If particular host instance doesn't
    support RO/WP switch, it should return -ENOSYS.

    This patch changes some hosts in two ways:

    1. Now functions should be smart to not return negative values in
    "RO asserted" case (particularly gpio_ calls could return negative
    values for the outermost GPIOs).

    Also, board code usually passes get_ro() callbacks that directly return
    gpioreg & bit result, so at91_mci, imxmmc, pxamci and mmc_spi's get_ro()
    handlers need take special care when returning platform's values to the
    mmc core.

    2. In case of host instance didn't implement get_ro() callback, it should
    really return -ENOSYS and let the mmc core decide what to do about it
    (mmc core thinks the same way as the hosts, so it isn't functional
    change).

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Pierre Ossman

    Anton Vorontsov
     
  • Some hosts (and boards that use mmc_spi) do not use interrupts on the CD
    line, so they can't trigger mmc_detect_change. We want to poll the card
    and see if there was a change. 1 second poll interval seems resonable.

    This patch also implements .get_cd() host operation, that could be used
    by the hosts that are able to report card-detect status without need to
    talk MMC.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Pierre Ossman

    Anton Vorontsov
     
  • This patch removes a CVS tag that wasn't updated for a long time.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Pierre Ossman

    Adrian Bunk
     

13 Dec, 2007

1 commit

  • This field and corresponding defines are simply never used anywhere
    in the code. But its mere presence is enough to confuse some host
    driver authors who attempt to rely on it. Let's eliminate the
    possibility for confusion and remove it entirely.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     

18 Oct, 2007

1 commit


24 Sep, 2007

22 commits


23 Sep, 2007

5 commits


26 Jul, 2007

1 commit