lkml.org 
[lkml]   [2008]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 3/8] SDHCI: Add set_ios hook
    Add a set_ios hook which is called when the SDHCI driver
    is called to change parameters such as clock or card
    width.

    Signed-off-by: Ben Dooks <ben-linux@fluff.org>

    Index: linux.git/drivers/mmc/host/sdhci.c
    ===================================================================
    --- linux.git.orig/drivers/mmc/host/sdhci.c 2008-12-01 19:26:25.000000000 +0000
    +++ linux.git/drivers/mmc/host/sdhci.c 2008-12-02 14:36:47.000000000 +0000
    @@ -1038,6 +1038,9 @@ static void sdhci_set_ios(struct mmc_hos
    sdhci_init(host);
    }

    + if (host->ops->set_ios)
    + host->ops->set_ios(host, ios);
    +
    sdhci_set_clock(host, ios->clock);

    if (ios->power_mode == MMC_POWER_OFF)
    @@ -1615,11 +1618,12 @@ int sdhci_add_host(struct sdhci_host *ho
    if (host->max_clk == 0) {
    if (host->ops->get_max_clock)
    host->max_clk = host->ops->get_max_clock(host);
    - else
    + else {
    printk(KERN_ERR
    "%s: Hardware doesn't specify base clock "
    "frequency.\n", mmc_hostname(mmc));
    - return -ENODEV;
    + return -ENODEV;
    + }
    }

    host->timeout_clk =
    @@ -1627,11 +1631,12 @@ int sdhci_add_host(struct sdhci_host *ho
    if (host->timeout_clk == 0) {
    if (host->ops->get_timeout_clock)
    host->timeout_clk = host->ops->get_timeout_clock(host);
    - else
    + else {
    printk(KERN_ERR
    "%s: Hardware doesn't specify timeout clock "
    "frequency.\n", mmc_hostname(mmc));
    - return -ENODEV;
    + return -ENODEV;
    + }
    }
    if (caps & SDHCI_TIMEOUT_CLK_UNIT)
    host->timeout_clk *= 1000;
    Index: linux.git/drivers/mmc/host/sdhci.h
    ===================================================================
    --- linux.git.orig/drivers/mmc/host/sdhci.h 2008-12-01 19:17:55.000000000 +0000
    +++ linux.git/drivers/mmc/host/sdhci.h 2008-12-02 14:36:39.000000000 +0000
    @@ -269,6 +269,9 @@ struct sdhci_ops {
    int (*enable_dma)(struct sdhci_host *host);
    unsigned int (*get_max_clock)(struct sdhci_host *host);
    unsigned int (*get_timeout_clock)(struct sdhci_host *host);
    +
    + void (*set_ios)(struct sdhci_host *host,
    + struct mmc_ios *ios);
    };


    --
    Ben (ben@fluff.org, http://www.fluff.org/)

    'a smiley only costs 4 bytes'


    \
     
     \ /
      Last update: 2008-12-02 16:45    [W:0.022 / U:0.728 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site