From patchwork Wed Oct 31 23:08:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sasha Levin X-Patchwork-Id: 149914 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp115230ljp; Wed, 31 Oct 2018 16:27:41 -0700 (PDT) X-Google-Smtp-Source: AJdET5eFcdMUh6uif4r0Rk959dwrGKGX56kRVV+NcfehdI6dquyLgk/Tr3nMr7bzJMVKaJQNbMn2 X-Received: by 2002:a17:902:5ac9:: with SMTP id g9-v6mr5355920plm.311.1541028460893; Wed, 31 Oct 2018 16:27:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541028460; cv=none; d=google.com; s=arc-20160816; b=DCqJK0VISWVNc4LPmVrSA/MkaM1oX65aTUPEjlVTi188CX5FTXEm09igvE6xDgf9ni 91Sd4utaptnRyS+YhDaWiou1VYcAI7AHvR4Yat7P+RTbW3pqV8zOwYgVswi6sdzu1YUP dU2xUKC60SXhtZnOA9xK46e7IYHpwS+O9weVwAEUAhUCi7554H7y7a+HH2cBlVOwzXfa Hdac6LCcnPcKLJ5jdmBHSAKh2sixJg/Ak0Ffci9Zgan8zNmeispDSzZkpEb25C6hi/tM RuAZy4K8j2LzaysblfHS1+uda0Rqm4Lze3MgW+UkqKfWVNuHQN/JBtw3AMJWa6bXQ9HS nb2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=DkHASvWaQzP46fVNTllqBG+7zWgY5xyiIuvOH1yIhgI=; b=0EDX1gUn7lKGiTII3XpwGP2TCHskl8mEQgEFDyIeIfHgT9f16tDfLbEnnKTDVcGtxq vBclPkrkk9U6ghMZ2Bfbh5tJ+uibFsapKnYZ6I0YEl/aCnsSWa74wZa0ZhnrzyeAmYN6 beO0QqrZ4GhWMskXHZQn4zLi5l6JrTRt1WmeD7W/PoYLrZhJiBLr2tPKkl5thw70hh1w wG6sE2PnLBqzhIXuwvjoXZOSpPTs3hMi3vrPPYtAllwT84MmKkk5QivRuRm8uDT41s2a r0spqzEE6EDD/jR3GodcW7RyqrPie9ahqgL6pU05hQx+dNX44qM3Srqh4fIBhPEdgR+a EGXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="E27/KuR/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h19si3189932pgb.231.2018.10.31.16.27.40; Wed, 31 Oct 2018 16:27:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="E27/KuR/"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731180AbeKAI1u (ORCPT + 32 others); Thu, 1 Nov 2018 04:27:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:60840 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730956AbeKAIKU (ORCPT ); Thu, 1 Nov 2018 04:10:20 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3DAE62081B; Wed, 31 Oct 2018 23:10:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541027408; bh=xixfP+2xcVyJj/LcGiNejEQLYC1PYTYpBTx80WWdXr0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E27/KuR/q27uZirr7KX1C/gQRH9SQSKNs3GHpL65ALv++EL5E4Y8jr0WRK50wK9uP AJhtifjEWdi6ZYqnhCG1pbO3e+i0yyCJLReMnLtOkVFLiqvaDw7biafc4mtcwKo6LW TQAeO0buaJdYWAvrQAMrf+5lwYrhl6ttQ4eyve7g= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Mark Brown , Sasha Levin Subject: [PATCH AUTOSEL 4.14 22/73] regulator: fixed: Default enable high on DT regulators Date: Wed, 31 Oct 2018 19:08:57 -0400 Message-Id: <20181031230948.29203-22-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181031230948.29203-1-sashal@kernel.org> References: <20181031230948.29203-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Linus Walleij [ Upstream commit 28be5f15df2ee6882b0a122693159c96a28203c7 ] commit efdfeb079cc3 ("regulator: fixed: Convert to use GPIO descriptor only") switched to use gpiod_get() to look up the regulator from the gpiolib core whether that is device tree or boardfile. This meant that we activate the code in a603a2b8d86e ("gpio: of: Add special quirk to parse regulator flags") which means the descriptors coming from the device tree already have the right inversion and open drain semantics set up from the gpiolib core. As the fixed regulator was inspected again we got the inverted inversion and things broke. Fix it by ignoring the config in the device tree for now: the later patches in the series will push all inversion handling over to the gpiolib core and set it up properly in the boardfiles for legacy devices, but I did not finish that for this kernel cycle. Fixes: commit efdfeb079cc3 ("regulator: fixed: Convert to use GPIO descriptor only") Reported-by: Leonard Crestez Reported-by: Fabio Estevam Reported-by: John Stultz Reported-by: Anders Roxell Signed-off-by: Linus Walleij Tested-by: John Stultz Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/regulator/fixed.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -- 2.17.1 diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index 988a7472c2ab..d68ff65a5adc 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c @@ -84,9 +84,14 @@ of_get_fixed_voltage_config(struct device *dev, of_property_read_u32(np, "startup-delay-us", &config->startup_delay); - config->enable_high = of_property_read_bool(np, "enable-active-high"); - config->gpio_is_open_drain = of_property_read_bool(np, - "gpio-open-drain"); + /* + * FIXME: we pulled active low/high and open drain handling into + * gpiolib so it will be handled there. Delete this in the second + * step when we also remove the custom inversion handling for all + * legacy boardfiles. + */ + config->enable_high = 1; + config->gpio_is_open_drain = 0; if (of_find_property(np, "vin-supply", NULL)) config->input_supply = "vin";