Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2147767iof; Tue, 7 Jun 2022 21:20:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw6c06I4LmRCGjDUYw3AJF6V5meB6wT+Y2QaMyZOni7ceuedB6jd6CcXN9Ji2t0+9TtAT0K X-Received: by 2002:a63:30f:0:b0:3fd:f9de:a35d with SMTP id 15-20020a63030f000000b003fdf9dea35dmr6597324pgd.317.1654662033576; Tue, 07 Jun 2022 21:20:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654662033; cv=none; d=google.com; s=arc-20160816; b=Yoqcr3jBSu5FSKygHor6zowq3UTRWO91xR4bcNt5p82FBnonCgbsZwhX3nQxKuS34M aPQ7B845DbeUMXQ9FtWR0QAXsmgHDTNVlulnVCzPJDmb+2zxrdncT8vGi7lSD7inkCf1 Ow85wxox/++xrGin58Jndu6eIpHhc739hgshU4ZN1aE4/j3z+q733XLgYxUOwNyDhN5Y eOv48qhjymzCnIUKvAnV48h/2m/Agj2vpak621D+nG6c3A6ZSTOldZJO8OnhJmU8e1FH eTrQsVRYGYN5lprjZ16M+Hy8NFnWxdAonHgQUbhUGdxgdr0784F8uJl833xT55AZi2S/ rnrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WwQCEfvm8JvNpHZzW5dhNp8sSFGXcg0u4XEnSsi4xmE=; b=T7/DhO0QI9AjOHMKR1dxT40BYpcTW9PJXwIsdm74/+0RuTBjKefEvxCJtu6Ij0pxcM AnPgrzSgdjFheSbhQDepCpLBFjKvrii//iUWlPrAIgJS3LJ0JoW9NOD4wzwa7KlJjoOW ZVEZax+fcNmK1bUchZQLuFUUGVuDFFqvGwJqJJXXLb7K+GCNuGU2SgDxSODO9p8M9e1+ yD42ipkaVr3qs+z4/5Z32n7HZ6nEPM+YJDvGws9Le2tIX9ZKM7BoJm9JSmUR59sbsYRE a+b/K2l+3Q8EphkOMTbEaVJnTx+V/z8ZrWNFRHTxdkDsRHz1ivsBG+wrKnvPxewOlgji jQRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=NRYCccp7; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id a187-20020a6390c4000000b003ab9d94aaccsi25859902pge.328.2022.06.07.21.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 21:20:33 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=NRYCccp7; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2A61E418996; Tue, 7 Jun 2022 20:51:46 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380091AbiFGVVD (ORCPT + 99 others); Tue, 7 Jun 2022 17:21:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1359385AbiFGUYh (ORCPT ); Tue, 7 Jun 2022 16:24:37 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3994B1D5183; Tue, 7 Jun 2022 11:32:15 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id CABC5B82349; Tue, 7 Jun 2022 18:32:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F50EC385A2; Tue, 7 Jun 2022 18:32:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1654626732; bh=wppAPTYZacra8jvjOGCwiUf7y78jF2kYF71m4qcN1Bo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NRYCccp7K04KU/7xD2cklyI1HqoTV5YAXtBzEKQuiCWEyBUcYdSRW1Cv8ctxHiWbh 9KOZExrd6+K+SJArpbGU6X8ufhCDzkEDF18CHjvsiSCDfS4WnL6YQ4l2XrcGIZHP5P cLqRY0Rrh8s9g9WZzt3aadrgKRil85r0M8uBLVpY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stefan Wahren , Florian Fainelli , Linus Walleij , Sasha Levin Subject: [PATCH 5.17 485/772] pinctrl: bcm2835: implement hook for missing gpio-ranges Date: Tue, 7 Jun 2022 19:01:17 +0200 Message-Id: <20220607165003.278285697@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220607164948.980838585@linuxfoundation.org> References: <20220607164948.980838585@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Stefan Wahren [ Upstream commit d2b67744fd99b06555b7e4d67302ede6c7c6a638 ] The commit c8013355ead6 ("ARM: dts: gpio-ranges property is now required") fixed the GPIO probing issues caused by "pinctrl: bcm2835: Change init order for gpio hogs". This changed only the kernel DTS files. Unfortunately it isn't guaranteed that these files are shipped to all users. So implement the necessary backward compatibility for BCM2835 and BCM2711 platform. Fixes: 266423e60ea1 ("pinctrl: bcm2835: Change init order for gpio hogs") Signed-off-by: Stefan Wahren Reviewed-by: Florian Fainelli Tested-by: Florian Fainelli Link: https://lore.kernel.org/r/20220409095129.45786-3-stefan.wahren@i2se.com Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c index 47e433e09c5c..dad453054776 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -358,6 +358,22 @@ static int bcm2835_gpio_direction_output(struct gpio_chip *chip, return 0; } +static int bcm2835_of_gpio_ranges_fallback(struct gpio_chip *gc, + struct device_node *np) +{ + struct pinctrl_dev *pctldev = of_pinctrl_get(np); + + of_node_put(np); + + if (!pctldev) + return 0; + + gpiochip_add_pin_range(gc, pinctrl_dev_get_devname(pctldev), 0, 0, + gc->ngpio); + + return 0; +} + static const struct gpio_chip bcm2835_gpio_chip = { .label = MODULE_NAME, .owner = THIS_MODULE, @@ -372,6 +388,7 @@ static const struct gpio_chip bcm2835_gpio_chip = { .base = -1, .ngpio = BCM2835_NUM_GPIOS, .can_sleep = false, + .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback, }; static const struct gpio_chip bcm2711_gpio_chip = { @@ -388,6 +405,7 @@ static const struct gpio_chip bcm2711_gpio_chip = { .base = -1, .ngpio = BCM2711_NUM_GPIOS, .can_sleep = false, + .of_gpio_ranges_fallback = bcm2835_of_gpio_ranges_fallback, }; static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc, -- 2.35.1