From: Greg KH <gregkh@linuxfoundation.org>
To: Amit Pundir <amit.pundir@linaro.org>
Cc: Stable <stable@vger.kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Christian Lamparter <chunkeey@gmail.com>
Subject: Re: [PATCH for-3.18.y+] pinctrl: msm: fix gpio-hog related boot issues
Date: Mon, 18 Feb 2019 14:31:21 +0100 [thread overview]
Message-ID: <20190218133121.GA30139@kroah.com> (raw)
In-Reply-To: <1550493012-5959-2-git-send-email-amit.pundir@linaro.org>
On Mon, Feb 18, 2019 at 06:00:11PM +0530, Amit Pundir wrote:
> From: Christian Lamparter <chunkeey@gmail.com>
>
> commit a86caa9ba5d70696ceb35d1d39caa20d8b641387 upstream.
>
> Sven Eckelmann reported an issue with the current IPQ4019 pinctrl.
> Setting up any gpio-hog in the device-tree for his device would
> "kill the bootup completely":
>
> | [ 0.477838] msm_serial 78af000.serial: could not find pctldev for node /soc/pinctrl@1000000/serial_pinmux, deferring probe
> | [ 0.499828] spi_qup 78b5000.spi: could not find pctldev for node /soc/pinctrl@1000000/spi_0_pinmux, deferring probe
> | [ 1.298883] requesting hog GPIO enable USB2 power (chip 1000000.pinctrl, offset 58) failed, -517
> | [ 1.299609] gpiochip_add_data: GPIOs 0..99 (1000000.pinctrl) failed to register
> | [ 1.308589] ipq4019-pinctrl 1000000.pinctrl: Failed register gpiochip
> | [ 1.316586] msm_serial 78af000.serial: could not find pctldev for node /soc/pinctrl@1000000/serial_pinmux, deferring probe
> | [ 1.322415] spi_qup 78b5000.spi: could not find pctldev for node /soc/pinctrl@1000000/spi_0_pinmux, deferri
>
> This was also verified on a RT-AC58U (IPQ4018) which would
> no longer boot, if a gpio-hog was specified. (Tried forcing
> the USB LED PIN (GPIO0) to high.).
>
> The problem is that Pinctrl+GPIO registration is currently
> peformed in the following order in pinctrl-msm.c:
> 1. pinctrl_register()
> 2. gpiochip_add()
> 3. gpiochip_add_pin_range()
>
> The actual error code -517 == -EPROBE_DEFER is coming from
> pinctrl_get_device_gpio_range(), which is called through:
> gpiochip_add
> of_gpiochip_add
> of_gpiochip_scan_gpios
> gpiod_hog
> gpiochip_request_own_desc
> __gpiod_request
> chip->request
> gpiochip_generic_request
> pinctrl_gpio_request
> pinctrl_get_device_gpio_range
>
> pinctrl_get_device_gpio_range() is unable to find any valid
> pin ranges, since nothing has been added to the pinctrldev_list yet.
> so the range can't be found, and the operation fails with -EPROBE_DEFER.
>
> This patch fixes the issue by adding the "gpio-ranges" property to
> the pinctrl device node of all upstream Qcom SoC. The pin ranges are
> then added by the gpio core.
>
> In order to remain compatible with older, existing DTs (and ACPI)
> a check for the "gpio-ranges" property has been added to
> msm_gpio_init(). This prevents the driver of adding the same entry
> to the pinctrldev_list twice.
>
> Reported-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
> Tested-by: Sven Eckelmann <sven.eckelmann@openmesh.com> [ipq4019]
> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> [AmitP: Minor rebasing for Stable]
> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
> ---
> Cherry-picked from lede tree https://git.lede-project.org/?p=source.git
> and build tested for LTS trees up to v4.14.y for ARCH=arm/arm64 defconfig.
Now applied, thanks.
greg k-h
next prev parent reply other threads:[~2019-02-18 13:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-18 12:30 [PATCH for-3.18.y+] MIPS: BCM63XX: fix switch core reset on BCM6368 Amit Pundir
2019-02-18 12:30 ` [PATCH for-3.18.y+] pinctrl: msm: fix gpio-hog related boot issues Amit Pundir
2019-02-18 13:31 ` Greg KH [this message]
2019-02-18 12:30 ` [PATCH for-4.14.y+] mtd: keep original flags for every struct mtd_info Amit Pundir
2019-02-18 13:01 ` Rafał Miłecki
2019-02-18 13:38 ` Amit Pundir
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190218133121.GA30139@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=amit.pundir@linaro.org \
--cc=chunkeey@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.