On Sat, Feb 17, 2018 at 10:44 PM, Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> wrote: > Add gpio driver for Actions Semi OWL family S900 SoC. Set of registers > controlling the gpio shares the same register range with pinctrl block. > > GPIO registers are organized as 6 banks and each bank controls the > maximum of 32 gpios. > +#include <linux/init.h> > +#include <linux/module.h> Choose one of them. > + val = readl(gpio_base + GPIO_OUTEN); > + val |= BIT(offset); > + writel(val, gpio_base + GPIO_OUTEN); out_en() > + val = readl(gpio_base + GPIO_OUTEN); > + val &= ~BIT(offset); > + writel(val, gpio_base + GPIO_OUTEN); out_dis() > + val = readl(gpio_base + GPIO_INEN); > + val &= ~BIT(offset); > + writel(val, gpio_base + GPIO_INEN); in_dis() > + val = readl(gpio_base + GPIO_OUTEN); > + val &= ~BIT(offset); > + writel(val, gpio_base + GPIO_OUTEN); out_dis() > + val = readl(gpio_base + GPIO_INEN); > + val |= BIT(offset); > + writel(val, gpio_base + GPIO_INEN); in_en() > + val = readl(gpio_base + GPIO_INEN); > + val &= ~BIT(pin); > + writel(val, gpio_base + GPIO_INEN); in_dis() > + val = readl(gpio_base + GPIO_OUTEN); > + val |= BIT(pin); > + writel(val, gpio_base + GPIO_OUTEN); out_en() Find above code duplication. > +static int owl_gpio_probe(struct platform_device *pdev) > +{ > + gpio->base = of_iomap(pdev->dev.of_node, 0); > + if (IS_ERR(gpio->base)) > + return PTR_ERR(gpio->base); > + gpio->gpio.of_node = pdev->dev.of_node; Isn't this done by GPIO library? > +static int owl_gpio_remove(struct platform_device *pdev) > +{ > + return 0; > +} Useless stub. -- With Best Regards, Andy Shevchenko -- 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