From: "Andrew Jeffery" <andrew@aj.id.au> To: "Linus Walleij" <linus.walleij@linaro.org> Cc: "Linux LED Subsystem" <linux-leds@vger.kernel.org>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "Cédric Le Goater" <clg@kaod.org>, "Rob Herring" <robh+dt@kernel.org>, "Joel Stanley" <joel@jms.id.au>, "Pavel Machek" <pavel@ucw.cz>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "Linux ARM" <linux-arm-kernel@lists.infradead.org>, linux-aspeed <linux-aspeed@lists.ozlabs.org>, linux-kernel <linux-kernel@vger.kernel.org> Subject: Re: [RFC PATCH 4/6] leds: pca955x: Use pinctrl to map GPIOs to pins Date: Wed, 11 Aug 2021 09:49:05 +0930 [thread overview] Message-ID: <96e52916-f113-4a91-b83f-e0de144611ca@www.fastmail.com> (raw) In-Reply-To: <CACRpkdZm9C23aHTWs8DNX1RChSB4A-X0PoyW5wnH2XyQQeviag@mail.gmail.com> On Tue, 10 Aug 2021, at 23:24, Linus Walleij wrote: > On Fri, Jul 23, 2021 at 9:59 AM Andrew Jeffery <andrew@aj.id.au> wrote: > > > The leds-pca955x driver currently assumes that the GPIO numberspace and > > the pin numberspace are the same. This quickly falls apart with a > > devicetree binding such as the following: > (...) > > Honestly I do not understand this patch. It seems to implement a pin > controller and using it in nonstandard ways. Yeah, it's a bit abusive, hence RFC :) > > If something implements the pin controller driver API it should be > used as such IMO, externally. This seems to be using it do relay > calls to itself which seems complicated, just invent something > locally in the driver in that case? No need to use pin control? Right. After discussions with Andy I'm going to rework the approach to GPIOs which will remove a lot of complexity. The thought was to try to maintain the intent of the devicetree binding and use existing APIs, but all-in-all it's ended up twisting things up in knots a fair bit. We discard a lot of it by making the gpiochip always cover all pins and track use directly in the driver. > > Can you explain why this LED driver needs to implement a pin > controller? The short answer is it doesn't as it has none of the associated hardware. I'll cook up something simpler with the aim to avoid non-standard (or any) pinctrl. Andrew
WARNING: multiple messages have this Message-ID (diff)
From: "Andrew Jeffery" <andrew@aj.id.au> To: "Linus Walleij" <linus.walleij@linaro.org> Cc: "Linux LED Subsystem" <linux-leds@vger.kernel.org>, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "Cédric Le Goater" <clg@kaod.org>, "Rob Herring" <robh+dt@kernel.org>, "Joel Stanley" <joel@jms.id.au>, "Pavel Machek" <pavel@ucw.cz>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, "Linux ARM" <linux-arm-kernel@lists.infradead.org>, linux-aspeed <linux-aspeed@lists.ozlabs.org>, linux-kernel <linux-kernel@vger.kernel.org> Subject: Re: [RFC PATCH 4/6] leds: pca955x: Use pinctrl to map GPIOs to pins Date: Wed, 11 Aug 2021 09:49:05 +0930 [thread overview] Message-ID: <96e52916-f113-4a91-b83f-e0de144611ca@www.fastmail.com> (raw) In-Reply-To: <CACRpkdZm9C23aHTWs8DNX1RChSB4A-X0PoyW5wnH2XyQQeviag@mail.gmail.com> On Tue, 10 Aug 2021, at 23:24, Linus Walleij wrote: > On Fri, Jul 23, 2021 at 9:59 AM Andrew Jeffery <andrew@aj.id.au> wrote: > > > The leds-pca955x driver currently assumes that the GPIO numberspace and > > the pin numberspace are the same. This quickly falls apart with a > > devicetree binding such as the following: > (...) > > Honestly I do not understand this patch. It seems to implement a pin > controller and using it in nonstandard ways. Yeah, it's a bit abusive, hence RFC :) > > If something implements the pin controller driver API it should be > used as such IMO, externally. This seems to be using it do relay > calls to itself which seems complicated, just invent something > locally in the driver in that case? No need to use pin control? Right. After discussions with Andy I'm going to rework the approach to GPIOs which will remove a lot of complexity. The thought was to try to maintain the intent of the devicetree binding and use existing APIs, but all-in-all it's ended up twisting things up in knots a fair bit. We discard a lot of it by making the gpiochip always cover all pins and track use directly in the driver. > > Can you explain why this LED driver needs to implement a pin > controller? The short answer is it doesn't as it has none of the associated hardware. I'll cook up something simpler with the aim to avoid non-standard (or any) pinctrl. Andrew _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-08-11 0:19 UTC|newest] Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-23 7:58 [RFC PATCH 0/6] leds: Fix pca955x GPIO pin mappings Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 1/6] pinctrl: Add pinctrl_gpio_as_pin() Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 16:15 ` kernel test robot 2021-08-10 13:34 ` Linus Walleij 2021-08-10 13:34 ` Linus Walleij 2021-08-11 0:24 ` Andrew Jeffery 2021-08-11 0:24 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 2/6] pinctrl: Add hook for device-specific map parsing Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 3/6] leds: pca955x: Relocate chipdef-related descriptors Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 4/6] leds: pca955x: Use pinctrl to map GPIOs to pins Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 12:40 ` kernel test robot 2021-07-23 15:24 ` kernel test robot 2021-08-10 13:54 ` Linus Walleij 2021-08-10 13:54 ` Linus Walleij 2021-08-11 0:19 ` Andrew Jeffery [this message] 2021-08-11 0:19 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 5/6] ARM: dts: rainier: Add presence-detect and fault indictor GPIO expander Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery 2021-07-23 7:58 ` [RFC PATCH 6/6] pinctrl: Check get_group_pins callback on init Andrew Jeffery 2021-07-23 7:58 ` Andrew Jeffery [not found] ` <CAHp75VeQML7njMZ6x8kC-ZJVexC1xJ6n1cB3JneVMAVfuOJgWw@mail.gmail.com> 2021-07-28 5:43 ` [RFC PATCH 0/6] leds: Fix pca955x GPIO pin mappings Andrew Jeffery 2021-07-28 5:43 ` Andrew Jeffery 2021-07-28 9:13 ` Andy Shevchenko 2021-07-28 9:13 ` Andy Shevchenko 2021-07-29 0:38 ` Andrew Jeffery 2021-07-29 0:38 ` Andrew Jeffery 2021-07-29 7:40 ` Andy Shevchenko 2021-07-29 7:40 ` Andy Shevchenko 2021-08-03 4:07 ` Andrew Jeffery 2021-08-03 4:07 ` Andrew Jeffery 2021-08-03 10:33 ` Andy Shevchenko 2021-08-03 10:33 ` Andy Shevchenko 2021-08-04 4:55 ` Andrew Jeffery 2021-08-04 4:55 ` Andrew Jeffery
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=96e52916-f113-4a91-b83f-e0de144611ca@www.fastmail.com \ --to=andrew@aj.id.au \ --cc=clg@kaod.org \ --cc=devicetree@vger.kernel.org \ --cc=joel@jms.id.au \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-aspeed@lists.ozlabs.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-leds@vger.kernel.org \ --cc=pavel@ucw.cz \ --cc=robh+dt@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: linkBe 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.