Messages in this thread | | | From | Alexandre Courbot <> | Date | Wed, 8 Oct 2014 16:18:36 +0900 | Subject | Re: [PATCH v3 3/3] gpio: add support for Cypress CYUSBS234 USB-GPIO adapter |
| |
On Wed, Oct 8, 2014 at 4:09 PM, Muthu Mani <muth@cypress.com> wrote: >> -----Original Message----- >> From: Alexandre Courbot [mailto:gnurou@gmail.com] >> 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@vger.kernel.org; linux-gpio@vger.kernel.org; linux- >> usb@vger.kernel.org; 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@cypress.com> 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.
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.
| |