From patchwork Wed Jan 16 13:14:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Lunn X-Patchwork-Id: 1987901 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 019C13FC85 for ; Wed, 16 Jan 2013 13:14:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752945Ab3APNOb (ORCPT ); Wed, 16 Jan 2013 08:14:31 -0500 Received: from londo.lunn.ch ([80.238.139.98]:49280 "EHLO londo.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752108Ab3APNOb (ORCPT ); Wed, 16 Jan 2013 08:14:31 -0500 Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1TvSow-0001s6-00; Wed, 16 Jan 2013 14:14:22 +0100 From: Andrew Lunn To: Jason Cooper Cc: linux ARM , linux-mmc@vger.kernel.org, linux@arm.linux.org.uk, Thomas Petazzoni , Andrew Lunn Subject: [PATCH 5/5] mmc: mvsdio: add pinctrl integration Date: Wed, 16 Jan 2013 14:14:00 +0100 Message-Id: <1358342040-7130-6-git-send-email-andrew@lunn.ch> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1358342040-7130-1-git-send-email-andrew@lunn.ch> References: <1358342040-7130-1-git-send-email-andrew@lunn.ch> Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org From: Thomas Petazzoni On many Marvell SoCs, the pins used for the SDIO interface are part of the MPP pins, that are muxable pins. In order to get the muxing of those pins correct, this commit integrates the mvsdio driver with the pinctrl infrastructure by calling devm_pinctrl_get_select_default() during ->probe(). Note that we permit this function to fail because not all Marvell platforms have yet been fully converted to using the pinctrl infrastructure. Signed-off-by: Thomas Petazzoni Signed-off-by: Andrew Lunn Tested-by: Stefan Peter Tested-by: Florian Fainelli Signed-off-by: Jason Cooper --- drivers/mmc/host/mvsdio.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index 5ea0b96..a8b27dd 100644 --- a/drivers/mmc/host/mvsdio.c +++ b/drivers/mmc/host/mvsdio.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -690,6 +691,7 @@ static int __init mvsd_probe(struct platform_device *pdev) struct resource *r; int ret, irq; int gpio_card_detect, gpio_write_protect; + struct pinctrl *pinctrl; r = platform_get_resource(pdev, IORESOURCE_MEM, 0); irq = platform_get_irq(pdev, 0); @@ -706,6 +708,10 @@ static int __init mvsd_probe(struct platform_device *pdev) host->mmc = mmc; host->dev = &pdev->dev; + pinctrl = devm_pinctrl_get_select_default(&pdev->dev); + if (IS_ERR(pinctrl)) + dev_warn(&pdev->dev, "no pins associated\n"); + /* Some non-DT platforms do not pass a clock, and the clock frequency is passed through platform_data. On DT platforms, a clock must always be passed, even if there is no gatable