From patchwork Sun Sep 26 00:43:44 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Rakity X-Patchwork-Id: 209442 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 o8Q0hmcl032144 for ; Sun, 26 Sep 2010 00:43:48 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754150Ab0IZAns (ORCPT ); Sat, 25 Sep 2010 20:43:48 -0400 Received: from na3sys009aog105.obsmtp.com ([74.125.149.75]:50136 "HELO na3sys009aog105.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1754013Ab0IZAnr convert rfc822-to-8bit (ORCPT ); Sat, 25 Sep 2010 20:43:47 -0400 Received: from source ([65.219.4.130]) (using TLSv1) by na3sys009aob105.postini.com ([74.125.148.12]) with SMTP ID DSNKTJ6XQhw6kO2rbiuvWbRVmkDXflq4y3re@postini.com; Sat, 25 Sep 2010 17:43:47 PDT Received: from SC-vEXCH3.marvell.com ([10.93.76.133]) by sc-owa02.marvell.com ([10.93.76.22]) with mapi; Sat, 25 Sep 2010 17:43:46 -0700 From: Philip Rakity To: "linux-mmc@vger.kernel.org" Date: Sat, 25 Sep 2010 17:43:44 -0700 Subject: [PATCH] sdhci: sepearate get_ro into code that calls platform and helper Thread-Topic: [PATCH] sdhci: sepearate get_ro into code that calls platform and helper Thread-Index: ActdE+Bje2qiIB0lRSSC89qxf+k9pQ== Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 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]); Sun, 26 Sep 2010 00:43:49 +0000 (UTC) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 0774dad..6f2bc4b 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1204,7 +1204,7 @@ out: spin_unlock_irqrestore(&host->lock, flags); } -static int sdhci_get_ro(struct mmc_host *mmc) +int sdhci_get_ro_helper(struct mmc_host *mmc) { struct sdhci_host *host; unsigned long flags; @@ -1226,6 +1226,18 @@ static int sdhci_get_ro(struct mmc_host *mmc) return !(present & SDHCI_WRITE_PROTECT); } +int sdhci_get_ro(struct mmc_host *mmc) +{ + struct sdhci_host *host; + + host = mmc_priv(mmc); + + if (host->ops->get_ro) + return host->ops->get_ro(mmc); + else + return sdhci_get_ro_helper(mmc); +} + static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable) { struct sdhci_host *host; diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index f68af47..bd1fa15 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -324,6 +324,7 @@ struct sdhci_ops { unsigned int (*get_min_clock)(struct sdhci_host *host); unsigned int (*get_timeout_clock)(struct sdhci_host *host); void (*platform_specific_reset)(struct sdhci_host *host, u8 mask); + int (*get_ro)(struct mmc_host *mmc); }; #ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS