On Mon, Oct 5, 2015 at 8:09 PM, Andreas Werner <andy@xxxxxxxxxxxxx> wrote: > The 16Z127 is a GPIO controller on a MCB FPGA and has 32 > configurable GPIOs. > The GPIOs can be configured as inputs and outputs > > Signed-off-by: Andreas Werner <andy@xxxxxxxxxxxxx> This driver looks like it can use the generic MMIO library. select GPIO_GENERIC #include <linux/basic_mmio_gpio.h> Then look at example for how to do this, e.g. drivers/gpio/gpio-74xx-mmio.c > +config GPIO_MENZ127 > + tristate "MEN 16Z127 GPIO support" > + depends on MCB Is this "MCB" symbol already upstream? It seems a bit short. > +#include <linux/kernel.h> > +#include <linux/module.h> > +#include <linux/io.h> > +#include <linux/mcb.h> > +#include <linux/gpio.h> Just #include <linux/gpio/driver.h> > +#define MEN_Z127_CTRL 0x00 > +#define MEN_Z127_PSR 0x04 > +#define MEN_Z127_IRQR 0x08 > +#define MEN_Z127_GPIODR 0x0c > +#define MEN_Z127_IER1 0x10 > +#define MEN_Z127_IER2 0x14 It looks like it has interrupt support? > +#define MEN_Z127_DBER 0x18 Debounce? In that case, maybe implement .set_debounce from day 1? > +#define MEN_Z127_ODER 0x1C And Open Drain? Maybe you should support that from day 1? Yours, Linus Walleij -- 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