Re: [PATCH] pinctrl: when claiming hog, skip maps not served by same device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 11, 2017 at 10:02 PM, Nikita Yushchenko
<nikita.yoush@xxxxxxxxxxxxxxxxxx> wrote:

> When pinctrl device registers, it automatically claims hogs, that is,
> maps that pinctrl device serves for itself.
>
> It is possible that in addition to SoC's pinctrl device, other pinctrl
> devices get registered. E.g. some gpio expander devies are registered
> as pinctrl devices. For such devices, pinctrl maps could be defined
> that set up SoC's pins (e.g. interrupt pin for gpio expander). Such
> a map will have target device set to gpio expander.
>
> Here is device tree snippet that causes this scenario:
>
> &i2c0 {
>         sx1503@20 {
>                 compatible = "semtech,sx1503q";
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&pinctrl_sx1503_20>;
>                 ...
>         };
> };
> ...
> &iomuxc {
>         pinctrl_sx1503_20: pinctrl-sx1503-20 {
>                 fsl,pins = <
>                         VF610_PAD_PTB1__GPIO_23         0x219d
>                 >;
>         };
> };
>
> Such a map will have target device set to gpio expander. However is not
> a hog, it is a regular map that is claimed by core before gpio expander
> device is probed.
>
> Thus when looking for hogs, it is not enough to check that map's target
> device is set to pinctrl device being registered. Need also check that
> map's control device is also set to the same.
>
> Signed-off-by: Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx>

Oh that looks logically correct, good find.

I guess I tested multiple pin control devices on a system but
not with also using hogs on them...

Patch applied with Tony's ACK.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux