Re: [PATCH v2 2/4] gpio: add LP3943 I2C GPIO expander driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, Jul 30, 2013 at 2:42 AM, Kim, Milo <Milo.Kim@xxxxxx> wrote:

> This is one of LP3943 MFD driver.
> LP3943 is configurable as a GPIO expander, up to 16 GPIOs.
>
> * Application note: how to configure LP3943 as a GPIO expander
>   http://www.ti.com/lit/an/snva287a/snva287a.pdf
>
> * Supported GPIO controller operations
>   request, free, direction_input, direction_output, get and set
>
> * GPIO direction register not supported
>   LP3943 doesn't have the GPIO direction register. It only provides input and
>   output status registers.
>   So, private data for the direction should be handled manually.
>   This variable is updated whenever the direction is changed and
>   used in 'get' operation.
>
> * Pin assignment
>   A driver data, 'pin_used' is checked when a GPIO is requested.
>   If the GPIO is already assigned, then returns as failure.
>   If the GPIO is available, 'pin_used' is set.
>   When the GPIO is not used anymore, then it is cleared.
>   It is defined as unsigned long type for atomic bit operation APIs,
>   but only LSB 16bits are used because LP3943 has 16 outputs.
>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Signed-off-by: Milo Kim <milo.kim@xxxxxx>
> ---
> * Patch v2
>   Use bitops macros for bit manipulations.
>   Support device tree structure for the GPIO controller.
>   Add request() and free() for the pin assignment.

This adresses all my concerns, nice driver.
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

I guess this will be merged through the MFD tree along
with the MFD core patch? That needs to go in first anyway.

Yours,
Linus Walleij
--
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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux