On Wed, Oct 8, 2014 at 12:18 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote: > On Wed, Oct 8, 2014 at 4:09 PM, Muthu Mani <muth@xxxxxxxxxxx> wrote: >>> -----Original Message----- >>> From: Alexandre Courbot [mailto:gnurou@xxxxxxxxx] >>> Sent: Tuesday, October 07, 2014 3:34 PM >>> To: Muthu Mani >>> Cc: Samuel Ortiz; Lee Jones; Wolfram Sang; Linus Walleij; Greg Kroah- >>> Hartman; linux-i2c@xxxxxxxxxxxxxxx; linux-gpio@xxxxxxxxxxxxxxx; linux- >>> usb@xxxxxxxxxxxxxxx; Linux Kernel Mailing List; Rajaram Regupathy; Johan >>> Hovold >>> Subject: Re: [PATCH v3 3/3] gpio: add support for Cypress CYUSBS234 USB- >>> GPIO adapter >>> >>> On Mon, Oct 6, 2014 at 11:47 PM, Muthu Mani <muth@xxxxxxxxxxx> wrote: >>> > + >>> > +static int cy_gpio_direction_input(struct gpio_chip *chip, >>> > + unsigned offset) { >>> > + return 0; >>> > +} >>> > + >>> > +static int cy_gpio_direction_output(struct gpio_chip *chip, >>> > + unsigned offset, int value) { >>> > + return 0; >>> > +} >>> >>> If that chip is capable of both output and input, shouldn't these functions be >>> implemented? I think this has already been pointed out in a previous version >>> but you did not reply. >> >> Thanks for your inputs. >> >> Only the GPIOs which are configured to be output GPIO can be set. > > In that case cy_gpio_set() should return an error for GPIOs which are > not configured as outputs. Is that guaranteed by the current > implementation? > >> The set operation would fail trying to set the input or unconfigured GPIOs. >> In this version of driver, this support is not added, it can be introduced in future versions. >> I will add a TODO note in the code. > > Argh, no TODO please. Actual code that will turn this code into a > solid driver that can be merged. Does a driver targeted for a custom device has to implement every functionality in the 1st version ? My understanding is that Linux follows incremental model and allows incremental merge. (On a side note the driver is functionally verified with the necessary hardware) Please correct me if I am missing something > > Can all GPIOs be set as input or output? If so, please implement > cy_gpio_direction_*() and make sure that cy_gpio_set() behaves > properly if a GPIO is not an output. If the input/output GPIOs are > fixed, please make cy_gpio_direction_*() return an error if the GPIO > capabilities does not correspond to what is asked, and again ensure > that cy_gpio_set() works as expected. > -- > 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/ -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html