# Re: \[PATCH\] USB: serial: cp210x: Make the CP210x driver work with GPIOs

- From: Johan Hovold \<johan@kernel.org\>
- Date: 2021-02-23 10:15:00 
- List: linux-usb
- Page: https://ratatoskr.run/linux-usb/2021/02/6276562
- Thread: https://ratatoskr.run/linux-usb/2021/02/6276562/t.md

```text
On Tue, Feb 23, 2021 at 10:02:08AM +0000, Pho Tran wrote:
> Similar to other CP210x devices, GPIO interfaces (gpiochip) should be supported for CP2108.
> 
> CP2108 has 4 serial interfaces but only 1 set of GPIO pins are shared to all of those interfaces.
> So, just need to initialize GPIOs of CP2108 with only one interface (I use interface 0).
> It means just only 1 gpiochip device file will be created for CP2108.
> 
> CP2108 has 16 GPIOs, So data types of several variables need to be is u16
> instead of u8(in struct cp210x_serial_private). This doesn't affect other CP210x devices.
> 
> Because CP2108 has 16 GPIO pins, the parameter which is passed by CP210x functions
> will be different from other CP210x devices. So need to check part number of the device
> to use correct data format  before sending commands to devices.
> 
> Like CP2104, CP2108 have GPIO pins with configurable options. Therefore, in cp2108_gpio_init() function,
> Should be mask all pins which are not in GPIO mode.
> 
> Signed-off-by: Pho Tran <<redacted><mailto:<redacted>>>
> ---
> drivers/usb/serial/cp210x.c | 199 +++++++++++++++++++++++++++++++-----
> 1 file changed, 172 insertions(+), 27 deletions(-)

You sent this patch twice, and I'm afraid both have been white-space
corrupted (e.g. by your mailer).

Try sending the patch to yourself first and make sure you can apply it
using git-am (and run checkpatch.pl on it without any obvious errors).

Johan
```
