diff mbox

Strange message from Kirkwood pinctrl driver

Message ID CACRpkdah4w-=qHS+q_=Ab-RiJyvbCKY-Rp5Ya0x+F=3DL2iuBA@mail.gmail.com
State New
Headers show

Commit Message

Linus Walleij Nov. 25, 2015, 10:27 a.m. UTC
Hi Sebastian,

trying to use the Kirkwood pinctrl driver with compatible =
"marvell,88f6192-pinctrl";
on a Pogoplug series 4 yields the following message when instantiating
the driver:

kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 36
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 37
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 38
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 39
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 40
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 41
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 42
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 43
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 44
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 45
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 46
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 47
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 48
kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 49
kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver

It looks harmless but seems like a bug and make me uncertain.

The following naive patch fixes it:


What is the proper way to fix this?

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

Comments

Linus Walleij Nov. 25, 2015, 2:55 p.m. UTC | #1
On Wed, Nov 25, 2015 at 3:46 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> On Wed, Nov 25, 2015 at 11:27:46AM +0100, Linus Walleij wrote:

>> Hi Sebastian,

>>

>> trying to use the Kirkwood pinctrl driver with compatible =

>> "marvell,88f6192-pinctrl";

>> on a Pogoplug series 4 yields the following message when instantiating

>> the driver:

>>

>> kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 36

>> kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 37

>> kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 38

>> kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 39

>> kirkwood-pinctrl f1010000.pin-controller: unknown pinctrl group 40

>

> Hi Linus

>

> Humm, interesting. I don't remember it doing that before. I will look

> into this in the next couple of days.


There are only few devices using it: it is declared in
kirkwood-6192.dtsi and that is just used by:

kirkwood-blackarmor-nas220.dts
kirkwood-laplug.dts
kirkwood-rd88f6192.dts
... and my new device tree

Interestingly, kirkwood-ns2[lite|mini].dts specifies it's compatible
with "marvell,kirkwood-88f6192" but instead includes
kirkwood-ns2-common.dtsi which includes
kirkwood-6281.dtsi. I haven't wrapped my head around that
one, I suspect it's a bug.

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

Patch

diff --git a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
index 0f07dc554a1d..6c7c2c8819b8 100644
--- a/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
+++ b/drivers/pinctrl/mvebu/pinctrl-kirkwood.c
@@ -411,7 +411,7 @@  static struct mvebu_pinctrl_soc_info mv88f6190_info = {
        .controls = mv88f619x_mpp_controls,
        .ncontrols = ARRAY_SIZE(mv88f619x_mpp_controls),
        .modes = mv88f6xxx_mpp_modes,
-       .nmodes = ARRAY_SIZE(mv88f6xxx_mpp_modes),
+       .nmodes = ARRAY_SIZE(mv88f6xxx_mpp_modes) - 14,
        .gpioranges = mv88f619x_gpio_ranges,
        .ngpioranges = ARRAY_SIZE(mv88f619x_gpio_ranges),
 };
@@ -421,7 +421,7 @@  static struct mvebu_pinctrl_soc_info mv88f6192_info = {
        .controls = mv88f619x_mpp_controls,
        .ncontrols = ARRAY_SIZE(mv88f619x_mpp_controls),
        .modes = mv88f6xxx_mpp_modes,
-       .nmodes = ARRAY_SIZE(mv88f6xxx_mpp_modes),
+       .nmodes = ARRAY_SIZE(mv88f6xxx_mpp_modes) - 14,
        .gpioranges = mv88f619x_gpio_ranges,
        .ngpioranges = ARRAY_SIZE(mv88f619x_gpio_ranges),
 };