From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A88A7C76191 for ; Thu, 25 Jul 2019 17:48:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 77AC920659 for ; Thu, 25 Jul 2019 17:48:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FBtNJFdb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2403943AbfGYRsG (ORCPT ); Thu, 25 Jul 2019 13:48:06 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:44023 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2403891AbfGYRsB (ORCPT ); Thu, 25 Jul 2019 13:48:01 -0400 Received: by mail-pf1-f193.google.com with SMTP id i189so23122280pfg.10 for ; Thu, 25 Jul 2019 10:48:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=QrMxyVc1zDSi0vs7OhTYgzu3OEGoWgT+T+Dw+YVkahA=; b=FBtNJFdb5Upz2AH4s+VB92FH7J1QWb00rt7yEE+fpBZ5N7S4k8ZAyVn2nUAtgftsP3 BDTdblo7Lrm47RqKVfYOKatWqxVG9lgObs4AZRT5IZKOBP3WnkxxfZuMR1cSliGx++JP vk8V4AOXvhCqOgeUEGQfRVB/u2YZy4IV2JG3tRfoVG0rpklZL1pKH9yB+T8WKZTBHTQj E7mMKW9Y/te4c1uNmW4in2k6DpiZtNrlLa/ybrFJqgMPcPI971iImshozI993OinDJE5 KgzG7OhMfRRBsFnMOCEXVKVe/4CevH/soHHAhxzhlpQh/rpZOVjWqsIiPebdVkwkWjmt GAZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=QrMxyVc1zDSi0vs7OhTYgzu3OEGoWgT+T+Dw+YVkahA=; b=JwPaToWOxWNiDaF1RCydfaj2qo8ocpP0pomClbx6UMNI1LUL4m36l59qfapU80BjLJ X/BLg7Z1WTlScsF6PR35NTQ3BG3WSn+SeGm/kfFCd5j4o53A/LfR2AGg8srp2HbpkJg6 P+Wb0Swd0fGdXHXt4jQ9QjqiozCvofnOal3hysL96V7V1lAgBS1bp3WiJDjB2XdrMFhD 9fVZ0OJeCLVYazIWTcffLVMZmjZivND+sfWAYn/RcqytG70645Fr3Ctom0PhsxFMbbBq X0UWZskqgp+C0bONO4QL7GJLfihR+peVN6oTjx0kHdF3QaoH/4EJpdMmobrSpHYvpUOW x3EA== X-Gm-Message-State: APjAAAUD4ppmnBCwDlmr6AmFP+Ymrz6zgtZaTGyVQYwj7c+eY1N2Z7wk oGAY8jjmMaq17uaxIrApUdpp4A== X-Google-Smtp-Source: APXvYqwekoX7JDpQsI3IDTHrGT7s/jfkXzjLB1wd9p4/mqvLcf0bxF1vgF++94o8TYuNevIcvnFKAw== X-Received: by 2002:a65:5a44:: with SMTP id z4mr87590926pgs.41.1564076880400; Thu, 25 Jul 2019 10:48:00 -0700 (PDT) Received: from localhost.localdomain (104-188-17-28.lightspeed.sndgca.sbcglobal.net. [104.188.17.28]) by smtp.gmail.com with ESMTPSA id r2sm68103389pfl.67.2019.07.25.10.47.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Jul 2019 10:47:59 -0700 (PDT) From: Bjorn Andersson To: Kalle Valo , Govind Singh Cc: "David S. Miller" , ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH 1/3] ath10k: snoc: skip regulator operations Date: Thu, 25 Jul 2019 10:47:53 -0700 Message-Id: <20190725174755.23432-2-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20190725174755.23432-1-bjorn.andersson@linaro.org> References: <20190725174755.23432-1-bjorn.andersson@linaro.org> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org The regulator operations is trying to set a voltage to a fixed value, by giving some wiggle room. But some board designs specifies regulator voltages outside this limited range. One such example is the Lenovo Yoga C630, with vdd-3.3-ch0 in particular specified at 3.1V. But consumers with fixed voltage requirements should just rely on the board configuration to provide the power at the required level, so this code should be removed. Signed-off-by: Bjorn Andersson --- This patch is required for Lenovo Yoga C630 to succeed in power on ath10k, it can be merged independently of the two following cleanup patches. drivers/net/wireless/ath/ath10k/snoc.c | 27 ++++++-------------------- drivers/net/wireless/ath/ath10k/snoc.h | 2 -- 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/snoc.c b/drivers/net/wireless/ath/ath10k/snoc.c index fc15a0037f0e..3d93ab09a298 100644 --- a/drivers/net/wireless/ath/ath10k/snoc.c +++ b/drivers/net/wireless/ath/ath10k/snoc.c @@ -37,10 +37,10 @@ static char *const ce_name[] = { }; static struct ath10k_vreg_info vreg_cfg[] = { - {NULL, "vdd-0.8-cx-mx", 800000, 850000, 0, 0, false}, - {NULL, "vdd-1.8-xo", 1800000, 1850000, 0, 0, false}, - {NULL, "vdd-1.3-rfa", 1300000, 1350000, 0, 0, false}, - {NULL, "vdd-3.3-ch0", 3300000, 3350000, 0, 0, false}, + {NULL, "vdd-0.8-cx-mx", 0, 0, false}, + {NULL, "vdd-1.8-xo", 0, 0, false}, + {NULL, "vdd-1.3-rfa", 0, 0, false}, + {NULL, "vdd-3.3-ch0", 0, 0, false}, }; static struct ath10k_clk_info clk_cfg[] = { @@ -1377,9 +1377,8 @@ static int ath10k_get_vreg_info(struct ath10k *ar, struct device *dev, done: ath10k_dbg(ar, ATH10K_DBG_SNOC, - "snog vreg %s min_v %u max_v %u load_ua %u settle_delay %lu\n", - vreg_info->name, vreg_info->min_v, vreg_info->max_v, - vreg_info->load_ua, vreg_info->settle_delay); + "snog vreg %s load_ua %u settle_delay %lu\n", + vreg_info->name, vreg_info->load_ua, vreg_info->settle_delay); return 0; } @@ -1420,15 +1419,6 @@ static int __ath10k_snoc_vreg_on(struct ath10k *ar, ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc regulator %s being enabled\n", vreg_info->name); - ret = regulator_set_voltage(vreg_info->reg, vreg_info->min_v, - vreg_info->max_v); - if (ret) { - ath10k_err(ar, - "failed to set regulator %s voltage-min: %d voltage-max: %d\n", - vreg_info->name, vreg_info->min_v, vreg_info->max_v); - return ret; - } - if (vreg_info->load_ua) { ret = regulator_set_load(vreg_info->reg, vreg_info->load_ua); if (ret < 0) { @@ -1453,7 +1443,6 @@ static int __ath10k_snoc_vreg_on(struct ath10k *ar, err_enable: regulator_set_load(vreg_info->reg, 0); err_set_load: - regulator_set_voltage(vreg_info->reg, 0, vreg_info->max_v); return ret; } @@ -1475,10 +1464,6 @@ static int __ath10k_snoc_vreg_off(struct ath10k *ar, if (ret < 0) ath10k_err(ar, "failed to set load %s\n", vreg_info->name); - ret = regulator_set_voltage(vreg_info->reg, 0, vreg_info->max_v); - if (ret) - ath10k_err(ar, "failed to set voltage %s\n", vreg_info->name); - return ret; } diff --git a/drivers/net/wireless/ath/ath10k/snoc.h b/drivers/net/wireless/ath/ath10k/snoc.h index 9db823e46314..1bf7bd4ef2a3 100644 --- a/drivers/net/wireless/ath/ath10k/snoc.h +++ b/drivers/net/wireless/ath/ath10k/snoc.h @@ -45,8 +45,6 @@ struct ath10k_snoc_ce_irq { struct ath10k_vreg_info { struct regulator *reg; const char *name; - u32 min_v; - u32 max_v; u32 load_ua; unsigned long settle_delay; bool required; -- 2.18.0