On Dienstag, 27. März 2018 10:41:46 CEST Sven Eckelmann wrote: > On Montag, 26. März 2018 20:39:39 CEST Christian Lamparter wrote: > [...] > > > What is the correct way for qcom,ipq4019-pinctrl to configure a pin during > > > bootup (gpio-hog)? I can use the deprecated gpio sysfs infrastructure for > > > now but this seems to be only a dirty hack. > > > > > I found the bug/issue and it's sort of specific to OF, pinctrl and gpio-hog. > > > > However I do think that all pinctrl drivers are affect that call > > gpiochip_add_pin_range() *after* (devm_)gpiochip_add_data(). > [...] > > For ipq4019 (and all the others too?), there is this an workaround > > that can be done: > > > > Add the gpio-ranges property to the pinctrl node in the qcom-ipq4019.dtsi: > > > > tlmm: pinctrl@1000000 { > > gpio-ranges = <&tlmm 0 0 99>; > > }; > > > > and remove the gpiochip_add_pin_range() call in: > > <https://elixir.bootlin.com/linux/v4.16-rc7/source/drivers/pinctrl/qcom/pinctrl-msm.c#L834> > [...] > > Thanks a lot for investigating this. I think this be discussed first by the > maintainers. Also Benoit Parrot should be asked here [1] because he integrated > the gpio-hog support for gpiolib-of. Hm, It could be a moot point. I found this e-mail form @Linus Walleij <http://comments.gmane.org/gmane.linux.ports.arm.kernel/184816> Where he stated that he wanted the "gpiochip_add_pin_range()" functions |[...] |But I want two similar function named: | |gpiochip_add_pin_range(); |gpiochip_remove_pin_range(); | |*that can be used for platforms that doesn't support DT.* so, gpiochip_add_pin_range() was not meant to be used by DT platforms. Now, converting pinctrl-msm.c would involve updating the .dtsi files of various Qcom SoCs. This is easy enough, but there is an issue; not all platforms have a upstream device-tree source files: the qcom-msm8998.dtsi is MIA / (well, Bjorn seems to upstream it at the moment?). Regards, Christian -- 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