On Friday 17 April 2015 16:24:26 Alban Bedel wrote: > Replace the simple GPIO chip registration by a platform driver > and make ath79_gpio_init() just register the device. > > Signed-off-by: Alban Bedel <albeu@xxxxxxx> > --- > arch/mips/ath79/dev-common.c | 13 ++++++++ > arch/mips/ath79/gpio.c | 73 +++++++++++++++++++++++++++++++++++++++++--- > 2 files changed, 81 insertions(+), 5 deletions(-) Could you move the driver to drivers/gpio/ now? > +void __init ath79_gpio_init(void) > +{ > + struct resource res; > + > + memset(&res, 0, sizeof(res)); > + > + res.flags = IORESOURCE_MEM; > + res.start = AR71XX_GPIO_BASE; > + res.end = res.start + AR71XX_GPIO_SIZE - 1; > + > + platform_device_register_simple("ath79-gpio", -1, &res, 1); > +} Your code looks correct, but could be shortened to struct resource mem = DEFINE_RES_MEM(AR71XX_GPIO_BASE, AR71XX_GPIO_SIZE); > > -void __init ath79_gpio_init(void) > +static const struct of_device_id ath79_gpio_of_match[] = { > + { > + .compatible = "qca,ar7100-gpio", > + .data = (void *)AR71XX_GPIO_COUNT, > + }, > + { > + .compatible = "qca,ar7240-gpio", > + .data = (void *)AR7240_GPIO_COUNT, > + }, > + { > + .compatible = "qca,ar7241-gpio", > + .data = (void *)AR7241_GPIO_COUNT, > + }, > + { > + .compatible = "qca,ar9130-gpio", > + .data = (void *)AR913X_GPIO_COUNT, > + }, > + { > + .compatible = "qca,ar9330-gpio", > + .data = (void *)AR933X_GPIO_COUNT, > + }, > + { > + .compatible = "qca,ar9340-gpio", > + .data = (void *)AR934X_GPIO_COUNT, > + }, > + { > + .compatible = "qca,qca9550-gpio", > + .data = (void *)QCA955X_GPIO_COUNT, > + }, > + {}, > +}; How about putting the number into an 'ngpios' property like some other bindings do? Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html