Re: [PATCH] gpio: Add driver for MEN 16Z127 GPIO controller

From: Linus Walleij
Date: Tue Oct 06 2015 - 03:35:56 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/