Re: [PATCH v6 03/15] pinctrl: bcm: add bcm63xx base code
From: Rob Herring <robh+dt@kernel.org>
Date: 2021-03-11 14:59:13
Also in:
linux-devicetree, linux-gpio, lkml
On Wed, Mar 10, 2021 at 6:09 PM Linus Walleij [off-list ref] wrote:
On Wed, Mar 10, 2021 at 6:51 PM Rob Herring [off-list ref] wrote:quoted
quoted
+static const struct of_device_id bcm63xx_gpio_of_match[] = { + { .compatible = "brcm,bcm6318-gpio", }, + { .compatible = "brcm,bcm6328-gpio", }, + { .compatible = "brcm,bcm6358-gpio", }, + { .compatible = "brcm,bcm6362-gpio", }, + { .compatible = "brcm,bcm6368-gpio", }, + { .compatible = "brcm,bcm63268-gpio", },All these would be moved to gpio-mmio.c (or maybe that can have a fallback compatible?).This is gpio-regmap.c and it can only be used as a library by a certain driver. gpio-mmio.c can be used stand-alone for certain really simple hardware (though most use that as a library as well).
I don't really care which one is used, but the problem is that this choice is leaking into the binding design. The primary problem here is once someone uses regmap, then they think they must have a syscon and can abandon using 'reg' and normal address properties as Linux happens to not use them (currently). I think we really need some better regmap vs. mmio handling to eliminate this duplication of foo-mmio and foo-regmap drivers and difference in binding design. Not sure exactly what that looks like, but basically some sort of 'reg' property to regmap creation. Given we already have a Broadcom GPIO binding for what looks to be similar to this one, I'm left wondering what's the real difference here? Rob _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel