From patchwork Mon Sep 20 16:00:30 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Rakity X-Patchwork-Id: 195282 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o8KG0Y2a012148 for ; Mon, 20 Sep 2010 16:00:34 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753060Ab0ITQAe (ORCPT ); Mon, 20 Sep 2010 12:00:34 -0400 Received: from dakia3.marvell.com ([65.219.4.28]:44383 "EHLO dakia3.marvell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752275Ab0ITQAd convert rfc822-to-8bit (ORCPT ); Mon, 20 Sep 2010 12:00:33 -0400 X-ASG-Debug-ID: 1284998432-131cd0310001-IEKb4K Received: from SC-OWA01.marvell.com (sc-owa01.marvell.com [10.93.76.21]) by dakia3.marvell.com with ESMTP id TlGgAHQHXuNEqWEf (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO); Mon, 20 Sep 2010 09:00:32 -0700 (PDT) X-Barracuda-Envelope-From: prakity@marvell.com Received: from SC-vEXCH3.marvell.com ([10.93.76.133]) by SC-OWA01.marvell.com ([10.93.76.21]) with mapi; Mon, 20 Sep 2010 09:00:32 -0700 From: Philip Rakity X-Barracuda-BBL-IP: 10.93.76.133 X-Barracuda-RBL-IP: 10.93.76.133 To: Wolfram Sang CC: Adrian Hunter , "linux-mmc@vger.kernel.org" , Mark Brown Date: Mon, 20 Sep 2010 09:00:30 -0700 X-ASG-Orig-Subj: Re: [PATCH] sdhci: add quirk for controllers that don't support write only detect Subject: Re: [PATCH] sdhci: add quirk for controllers that don't support write only detect Thread-Topic: [PATCH] sdhci: add quirk for controllers that don't support write only detect Thread-Index: ActY3PQXTPykW2FPQ/eF4EtGfpr4kg== Message-ID: <5F58EC42-069D-4469-BF13-F741674BE763@marvell.com> References: <43E4817426ED174AA81263BCECB4351D131745CF98@sc-vexch3.marvell.com> <53E1B390-48DD-4E33-B51F-1B039AFD13A2@marvell.com> <4B9DEAE2.3030707@nokia.com> <3A9599CE-49EE-4A18-89E0-22B17090CA43@marvell.com> <4BA72971.1070804@nokia.com> <639D1595-D908-473C-9A41-71B493DCD0C0@marvell.com> <4BB052F6.5080808@nokia.com> <20100920061459.GA9353@pengutronix.de> In-Reply-To: <20100920061459.GA9353@pengutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 X-Barracuda-Connect: sc-owa01.marvell.com[10.93.76.21] X-Barracuda-Start-Time: 1284998432 X-Barracuda-Encrypted: RC4-MD5 X-Barracuda-URL: http://dakia3.marvell.com:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at marvell.com Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Mon, 20 Sep 2010 16:00:34 +0000 (UTC) --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -383,7 +383,7 @@ struct sdhci_ops { void (*platform_set_8_bit)(struct sdhci_host *host); void (*platform_clear_8_bit)(struct sdhci_host *host); void (*platform_specific_sdhci_enable_dummy_cmd) (struct sdhci_host *host, int dummycmd); - void (*platform_specific_init_clocks)(struct sdhci_host *host); + void (*platform_generate_initial_74_clocks)(struct sdhci_host *host, u8 power_mode); }; --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1279,8 +1279,11 @@ static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) if (ios->power_mode == MMC_POWER_OFF) sdhci_set_power(host, -1); - else + else { sdhci_set_power(host, ios->vdd); + if (host->ops->platform_generate_initial_74_clocks) + host->ops->platform_generate_initial_74_clocks(host, ios->power_mode); + } In my adaption layer +void generate_init_clocks(struct sdhci_host *host, u8 power_mode) +{ + if (slot->power_mode == MMC_POWER_UP + && power_mode == MMC_POWER_ON) { /* slot has old state */