From patchwork Wed Oct 31 23:06:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sasha Levin X-Patchwork-Id: 149897 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp99412ljp; Wed, 31 Oct 2018 16:08:31 -0700 (PDT) X-Google-Smtp-Source: AJdET5d6x5Q8rCyO9d7IrTOhcNyk5f9BHhHkIFzr4fXLq+kqRxlaZfsTTUwT7p9OiprS/C6M8GaR X-Received: by 2002:a17:902:e00a:: with SMTP id ca10-v6mr5175583plb.166.1541027310819; Wed, 31 Oct 2018 16:08:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541027310; cv=none; d=google.com; s=arc-20160816; b=oI/K8BWLi2YQhLTzacH5VQ/cl2i7Fv5n2pfH3R1+2qYb65w3v3H1YVegdk+nYzDi7n zbejCy/JyOLuAQkpDAI0ktBVOeHbsgFnCYb7nKbVDxVCiJsiYIWfgDrht0OB4kbZwBo3 TB4JN3u5H9LCjlVqJzjwaLgKNqnpsvfSuZ9K7DwuWjdLCrpfNB7+alpUdHmGy814kap4 Cz8vKCpTI5xV/4NSNxSC9BxlhwcqGIdbrqi06BDnH6QenfENsQYfB9/9RQu/B6gnLkGa UaLfdgHdd9MJm4pIKLQCPuRe82yyR+MvBVzhE6hfNdlbRsobZwLRgcXKD7/Gy3YJDnoJ nc3w== 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=aaSqbe8b5enuRAn24R4F0wC+okvVbReJ4f+Zp2M749LO9Fh6t60a6poYOJNUXieE1F 27XsOOuE7EUXTMgnyvbOTJ+HxfW0C8b1VSYK+ocRJjCItq4UxvCfrmltwPK5979JE8K3 A4N1D2PaSumKBfiGeCqUghLu5RWWFOiM/WjqieEx2iww1xTPoHHaoeUJ2lrXCrpPjax9 l0ZYUv8iD/i0/R9DV4vN9UmPOL7VDRiew+4rhcjKLItI5QU5WGEA/w+XpG9jL2uQNzVB ayXnBe4Euenea7M3YytKh3jKeqJuCTak2xyVHCj43eEEZMPFOLLfYdycLKM4hf4xJooQ HaNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="L/wr1pn8"; 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 d8-v6si29392697pfn.99.2018.10.31.16.08.30; Wed, 31 Oct 2018 16:08:30 -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="L/wr1pn8"; 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 S1729850AbeKAIIi (ORCPT + 32 others); Thu, 1 Nov 2018 04:08:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:57720 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729817AbeKAIIh (ORCPT ); Thu, 1 Nov 2018 04:08:37 -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 B3EE22081B; Wed, 31 Oct 2018 23:08:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541027306; bh=xixfP+2xcVyJj/LcGiNejEQLYC1PYTYpBTx80WWdXr0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L/wr1pn8IXMG4sOdCWzquRk5/wWofrB/6Xs9/qw91r2OucV7ML9699/t4zZkLlkty WsUgL7RxIOH02evtuk5zi0wQBtc4nB04MHyFzT4hoD5tRgHS+VB+u3B1EL4vKRz6pz ZSUCJuT9tgBmmr1LZWgE8RMEsOjKDEWTYsBDwDdA= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Linus Walleij , Mark Brown , Sasha Levin Subject: [PATCH AUTOSEL 4.18 035/126] regulator: fixed: Default enable high on DT regulators Date: Wed, 31 Oct 2018 19:06:23 -0400 Message-Id: <20181031230754.29029-35-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181031230754.29029-1-sashal@kernel.org> References: <20181031230754.29029-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";