lkml.org 
[lkml]   [2014]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7] usb:serial:pl2303: add GPIOs interface on PL2303
    On Sun, Aug 17, 2014 at 10:05:36AM +0800, Wang YanQing wrote:
    > Hi Johan Hovold.
    >
    > Another two questions.
    >
    > On Tue, Aug 12, 2014 at 04:46:25PM +0200, Johan Hovold wrote:
    > >
    > > > + int (*gpio_startup)(struct usb_serial *serial);
    > > > + void (*gpio_release)(struct usb_serial *serial);
    > >
    > > This isn't the right place for this abstraction. Most of the setup code
    > > would be common for any device type with GPIOs.
    >
    > I assume you mean any pl2303 variant, not any device type, because
    > no device in drivers/gpio has common setup code except many of them
    > use struct gpio_chip.

    Yes, pl2303 type/variant. Specifically, much of the setup code will be
    identical even if say the number of gpio differ (2 or 4) depending on
    type.

    > > Just keep the generic gpio_startup and release from v6, and verify that
    > > ngpio > 0. Any further abstraction should only be added once we know how
    > > the other types handles GPIOs.
    >
    > Instead of assume code works for all situation firstly, test and write
    > code for only one type device, and make code become generic when we find
    > it works for others' type.
    >
    > I don't known which way is better.

    Add support for your device type (HXA). We should verify that it also
    works for the non-end-of-life HXD, or we might need to find a way to
    detect those two different types of HX and limit it to HXA for now.

    If and when someone reverse-engineers a device type with a different
    protocol for dealing with GPIOs, that's when you add further abstraction.

    > Thanks very much for your patient review !!

    You're welcome.

    Johan


    \
     
     \ /
      Last update: 2014-08-18 12:21    [W:3.429 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site