From patchwork Tue Feb 12 08:01:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 2127661 Return-Path: X-Original-To: patchwork-linux-mmc@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id B3DA0DFB7B for ; Tue, 12 Feb 2013 08:02:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757915Ab3BLICR (ORCPT ); Tue, 12 Feb 2013 03:02:17 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:57728 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752468Ab3BLICQ (ORCPT ); Tue, 12 Feb 2013 03:02:16 -0500 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MI300EHGKZK07L0@mailout3.samsung.com>; Tue, 12 Feb 2013 17:02:15 +0900 (KST) X-AuditID: cbfee61a-b7f7d6d000000f4e-0c-5119f7074a54 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 4D.8E.03918.707F9115; Tue, 12 Feb 2013 17:02:15 +0900 (KST) Received: from localhost.localdomain ([106.116.147.30]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MI300LJAKZ9YG70@mmp1.samsung.com>; Tue, 12 Feb 2013 17:02:15 +0900 (KST) From: Marek Szyprowski To: linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org Cc: Marek Szyprowski , Kyungmin Park , Mark Brown , Liam Girdwood , Chris Ball , Kevin Liu Subject: [PATCH 3/3 RESEND] mmc: sdhci: check voltage range only on regulators aware of voltage value Date: Tue, 12 Feb 2013 09:01:36 +0100 Message-id: <1360656096-1671-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <87bobqrcb4.fsf@octavius.laptop.org> References: <87bobqrcb4.fsf@octavius.laptop.org> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMJMWRmVeSWpSXmKPExsVy+t9jAV3275KBBtNPiVlc3jWHzeLI/35G ByaPz5vkAhijuGxSUnMyy1KL9O0SuDKu7HnIXHCDo+L+tiMsDYwz2bsYOTgkBEwkTr3k7WLk BDLFJC7cW8/WxcjFISSwiFFi/dGVTBBOO5PEwZkgDicHm4ChRNfbLjaQZhEBa4m9C31BapgF 3jJKLL+1nQUkLiyQLrHrXR5IOYuAqsSki0dZQGxeAXeJhnPrmSD2KkjMmWQDEuYEmrhxYSPY OUICBhIXz3pOYORdwMiwilE0tSC5oDgpPddQrzgxt7g0L10vOT93EyPY68+kdjCubLA4xCjA wajEw3tDXDJQiDWxrLgy9xCjBAezkggvwyegEG9KYmVValF+fFFpTmrxIUZpDhYlcV7GU08C hATSE0tSs1NTC1KLYLJMHJxSDYzqyZxaDT3GKfczZ077wtvi85Rn0f+f27J/vFwV1S1Xov/C wUTu4zmNIv/GW/z5L894L00LvyY+n0PlA0v6ef7bP61KDZUXLJXfrqF0d+uxKRwLajkfHFTf 0mq1NDHpTbVtI5usatmtAn2V91nfD8ibnfxxX7fi6DVfO6b1MdsSPac7mzJ5hSuxFGckGmox FxUnAgAcJ24x9gEAAA== Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org Some regulators don't report any voltage values, so checking supported voltage range results in disabling all SDHCI_CAN_VDD_* flags and registration failure. This patch finally provides a correct fix for the registration of SDHCI driver with all possible voltage regulators: dummy, fixed and regulated without using regulator_count_voltages() hacks. Signed-off-by: Marek Szyprowski --- drivers/mmc/host/sdhci.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index ba586ae..735526b 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -2976,7 +2976,11 @@ int sdhci_add_host(struct sdhci_host *host) } #ifdef CONFIG_REGULATOR - if (host->vmmc) { + /* + * Voltage range check makes sense only if regulator reports + * any voltage value. + */ + if (host->vmmc && regulator_get_voltage(host->vmmc) > 0) { ret = regulator_is_supported_voltage(host->vmmc, 2700000, 3600000); if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330)))