* [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups
@ 2022-09-19 13:24 Johan Hovold
2022-09-19 13:24 ` [PATCH 1/3] USB: serial: ftdi_sio: clean up attribute visibility logic Johan Hovold
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Johan Hovold @ 2022-09-19 13:24 UTC (permalink / raw)
To: Johan Hovold; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
Here are some clean ups on top of the recent dev_groups attribute
conversion.
Johan
Johan Hovold (3):
USB: serial: ftdi_sio: clean up attribute visibility logic
USB: serial: ftdi_sio: move driver structure
USB: serial: ftdi_sio: clean up driver prefix
drivers/usb/serial/ftdi_sio.c | 144 +++++++++++++---------------------
1 file changed, 54 insertions(+), 90 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] USB: serial: ftdi_sio: clean up attribute visibility logic
2022-09-19 13:24 [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Johan Hovold
@ 2022-09-19 13:24 ` Johan Hovold
2022-09-19 13:24 ` [PATCH 2/3] USB: serial: ftdi_sio: move driver structure Johan Hovold
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2022-09-19 13:24 UTC (permalink / raw)
To: Johan Hovold; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
Clean up the attribute visibility logic by defaulting to attributes
being visible and explicitly listing the exceptions.
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/ftdi_sio.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 147b5e80595a..a5fc199cde0b 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1775,19 +1775,18 @@ static umode_t ftdi_is_visible(struct kobject *kobj, struct attribute *attr, int
struct usb_serial_port *port = to_usb_serial_port(dev);
struct ftdi_private *priv = usb_get_serial_port_data(port);
enum ftdi_chip_type type = priv->chip_type;
- umode_t mode = attr->mode;
- if (type != SIO) {
- if (attr == &dev_attr_event_char.attr)
- return mode;
+ if (attr == &dev_attr_event_char.attr) {
+ if (type == SIO)
+ return 0;
}
- if (type != SIO && type != FT232A) {
- if (attr == &dev_attr_latency_timer.attr)
- return mode;
+ if (attr == &dev_attr_latency_timer.attr) {
+ if (type == SIO || type == FT232A)
+ return 0;
}
- return 0;
+ return attr->mode;
}
static const struct attribute_group ftdi_group = {
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] USB: serial: ftdi_sio: move driver structure
2022-09-19 13:24 [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Johan Hovold
2022-09-19 13:24 ` [PATCH 1/3] USB: serial: ftdi_sio: clean up attribute visibility logic Johan Hovold
@ 2022-09-19 13:24 ` Johan Hovold
2022-09-19 13:24 ` [PATCH 3/3] USB: serial: ftdi_sio: clean up driver prefix Johan Hovold
2022-09-20 7:29 ` [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Greg KH
3 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2022-09-19 13:24 UTC (permalink / raw)
To: Johan Hovold; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
Move the definition of the USB serial driver structure to the end of the
file where it is used and drop the now redundant forward declarations.
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/ftdi_sio.c | 101 ++++++++++++----------------------
1 file changed, 35 insertions(+), 66 deletions(-)
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index a5fc199cde0b..cd594937b0e6 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1108,77 +1108,11 @@ static const char *ftdi_chip_name[] = {
#define FTDI_STATUS_B1_MASK (FTDI_RS_BI)
/* End TIOCMIWAIT */
-/* function prototypes for a FTDI serial converter */
-static int ftdi_sio_probe(struct usb_serial *serial,
- const struct usb_device_id *id);
-static int ftdi_sio_port_probe(struct usb_serial_port *port);
-static void ftdi_sio_port_remove(struct usb_serial_port *port);
-static int ftdi_open(struct tty_struct *tty, struct usb_serial_port *port);
-static void ftdi_dtr_rts(struct usb_serial_port *port, int on);
-static void ftdi_process_read_urb(struct urb *urb);
-static int ftdi_prepare_write_buffer(struct usb_serial_port *port,
- void *dest, size_t size);
static void ftdi_set_termios(struct tty_struct *tty,
struct usb_serial_port *port, struct ktermios *old);
-static int ftdi_tiocmget(struct tty_struct *tty);
-static int ftdi_tiocmset(struct tty_struct *tty,
- unsigned int set, unsigned int clear);
-static int ftdi_ioctl(struct tty_struct *tty,
- unsigned int cmd, unsigned long arg);
-static void get_serial_info(struct tty_struct *tty, struct serial_struct *ss);
-static int set_serial_info(struct tty_struct *tty,
- struct serial_struct *ss);
-static void ftdi_break_ctl(struct tty_struct *tty, int break_state);
-static bool ftdi_tx_empty(struct usb_serial_port *port);
static int ftdi_get_modem_status(struct usb_serial_port *port,
unsigned char status[2]);
-static unsigned short int ftdi_232am_baud_base_to_divisor(int baud, int base);
-static unsigned short int ftdi_232am_baud_to_divisor(int baud);
-static u32 ftdi_232bm_baud_base_to_divisor(int baud, int base);
-static u32 ftdi_232bm_baud_to_divisor(int baud);
-static u32 ftdi_2232h_baud_base_to_divisor(int baud, int base);
-static u32 ftdi_2232h_baud_to_divisor(int baud);
-
-static const struct attribute_group *ftdi_groups[];
-
-static struct usb_serial_driver ftdi_sio_device = {
- .driver = {
- .owner = THIS_MODULE,
- .name = "ftdi_sio",
- .dev_groups = ftdi_groups,
- },
- .description = "FTDI USB Serial Device",
- .id_table = id_table_combined,
- .num_ports = 1,
- .bulk_in_size = 512,
- .bulk_out_size = 256,
- .probe = ftdi_sio_probe,
- .port_probe = ftdi_sio_port_probe,
- .port_remove = ftdi_sio_port_remove,
- .open = ftdi_open,
- .dtr_rts = ftdi_dtr_rts,
- .throttle = usb_serial_generic_throttle,
- .unthrottle = usb_serial_generic_unthrottle,
- .process_read_urb = ftdi_process_read_urb,
- .prepare_write_buffer = ftdi_prepare_write_buffer,
- .tiocmget = ftdi_tiocmget,
- .tiocmset = ftdi_tiocmset,
- .tiocmiwait = usb_serial_generic_tiocmiwait,
- .get_icount = usb_serial_generic_get_icount,
- .ioctl = ftdi_ioctl,
- .get_serial = get_serial_info,
- .set_serial = set_serial_info,
- .set_termios = ftdi_set_termios,
- .break_ctl = ftdi_break_ctl,
- .tx_empty = ftdi_tx_empty,
-};
-
-static struct usb_serial_driver * const serial_drivers[] = {
- &ftdi_sio_device, NULL
-};
-
-
#define WDR_TIMEOUT 5000 /* default urb timeout */
#define WDR_SHORT_TIMEOUT 1000 /* shorter urb timeout */
@@ -2931,6 +2865,41 @@ static int ftdi_ioctl(struct tty_struct *tty,
return -ENOIOCTLCMD;
}
+static struct usb_serial_driver ftdi_sio_device = {
+ .driver = {
+ .owner = THIS_MODULE,
+ .name = "ftdi_sio",
+ .dev_groups = ftdi_groups,
+ },
+ .description = "FTDI USB Serial Device",
+ .id_table = id_table_combined,
+ .num_ports = 1,
+ .bulk_in_size = 512,
+ .bulk_out_size = 256,
+ .probe = ftdi_sio_probe,
+ .port_probe = ftdi_sio_port_probe,
+ .port_remove = ftdi_sio_port_remove,
+ .open = ftdi_open,
+ .dtr_rts = ftdi_dtr_rts,
+ .throttle = usb_serial_generic_throttle,
+ .unthrottle = usb_serial_generic_unthrottle,
+ .process_read_urb = ftdi_process_read_urb,
+ .prepare_write_buffer = ftdi_prepare_write_buffer,
+ .tiocmget = ftdi_tiocmget,
+ .tiocmset = ftdi_tiocmset,
+ .tiocmiwait = usb_serial_generic_tiocmiwait,
+ .get_icount = usb_serial_generic_get_icount,
+ .ioctl = ftdi_ioctl,
+ .get_serial = get_serial_info,
+ .set_serial = set_serial_info,
+ .set_termios = ftdi_set_termios,
+ .break_ctl = ftdi_break_ctl,
+ .tx_empty = ftdi_tx_empty,
+};
+
+static struct usb_serial_driver * const serial_drivers[] = {
+ &ftdi_sio_device, NULL
+};
module_usb_serial_driver(serial_drivers, id_table_combined);
MODULE_AUTHOR(DRIVER_AUTHOR);
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] USB: serial: ftdi_sio: clean up driver prefix
2022-09-19 13:24 [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Johan Hovold
2022-09-19 13:24 ` [PATCH 1/3] USB: serial: ftdi_sio: clean up attribute visibility logic Johan Hovold
2022-09-19 13:24 ` [PATCH 2/3] USB: serial: ftdi_sio: move driver structure Johan Hovold
@ 2022-09-19 13:24 ` Johan Hovold
2022-09-20 7:29 ` [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Greg KH
3 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2022-09-19 13:24 UTC (permalink / raw)
To: Johan Hovold; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
Drop the "sio" infix from the few remaining definitions and symbol names
that still had it.
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/ftdi_sio.c | 38 ++++++++++++++++-------------------
1 file changed, 17 insertions(+), 21 deletions(-)
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index cd594937b0e6..f584ce29fc9f 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -100,8 +100,7 @@ struct ftdi_private {
#endif
};
-/* struct ftdi_sio_quirk is used by devices requiring special attention. */
-struct ftdi_sio_quirk {
+struct ftdi_quirk {
int (*probe)(struct usb_serial *);
/* Special settings for probed ports. */
void (*port_probe)(struct ftdi_private *);
@@ -114,27 +113,27 @@ static int ftdi_8u2232c_probe(struct usb_serial *serial);
static void ftdi_USB_UIRT_setup(struct ftdi_private *priv);
static void ftdi_HE_TIRA1_setup(struct ftdi_private *priv);
-static const struct ftdi_sio_quirk ftdi_jtag_quirk = {
+static const struct ftdi_quirk ftdi_jtag_quirk = {
.probe = ftdi_jtag_probe,
};
-static const struct ftdi_sio_quirk ftdi_NDI_device_quirk = {
+static const struct ftdi_quirk ftdi_NDI_device_quirk = {
.probe = ftdi_NDI_device_setup,
};
-static const struct ftdi_sio_quirk ftdi_USB_UIRT_quirk = {
+static const struct ftdi_quirk ftdi_USB_UIRT_quirk = {
.port_probe = ftdi_USB_UIRT_setup,
};
-static const struct ftdi_sio_quirk ftdi_HE_TIRA1_quirk = {
+static const struct ftdi_quirk ftdi_HE_TIRA1_quirk = {
.port_probe = ftdi_HE_TIRA1_setup,
};
-static const struct ftdi_sio_quirk ftdi_stmclite_quirk = {
+static const struct ftdi_quirk ftdi_stmclite_quirk = {
.probe = ftdi_stmclite_probe,
};
-static const struct ftdi_sio_quirk ftdi_8u2232c_quirk = {
+static const struct ftdi_quirk ftdi_8u2232c_quirk = {
.probe = ftdi_8u2232c_probe,
};
@@ -2170,12 +2169,9 @@ static void ftdi_gpio_remove(struct usb_serial_port *port) { }
* ***************************************************************************
*/
-/* Probe function to check for special devices */
-static int ftdi_sio_probe(struct usb_serial *serial,
- const struct usb_device_id *id)
+static int ftdi_probe(struct usb_serial *serial, const struct usb_device_id *id)
{
- const struct ftdi_sio_quirk *quirk =
- (struct ftdi_sio_quirk *)id->driver_info;
+ const struct ftdi_quirk *quirk = (struct ftdi_quirk *)id->driver_info;
if (quirk && quirk->probe) {
int ret = quirk->probe(serial);
@@ -2188,10 +2184,10 @@ static int ftdi_sio_probe(struct usb_serial *serial,
return 0;
}
-static int ftdi_sio_port_probe(struct usb_serial_port *port)
+static int ftdi_port_probe(struct usb_serial_port *port)
{
+ const struct ftdi_quirk *quirk = usb_get_serial_data(port->serial);
struct ftdi_private *priv;
- const struct ftdi_sio_quirk *quirk = usb_get_serial_data(port->serial);
int result;
priv = kzalloc(sizeof(struct ftdi_private), GFP_KERNEL);
@@ -2337,7 +2333,7 @@ static int ftdi_stmclite_probe(struct usb_serial *serial)
return 0;
}
-static void ftdi_sio_port_remove(struct usb_serial_port *port)
+static void ftdi_port_remove(struct usb_serial_port *port)
{
struct ftdi_private *priv = usb_get_serial_port_data(port);
@@ -2865,7 +2861,7 @@ static int ftdi_ioctl(struct tty_struct *tty,
return -ENOIOCTLCMD;
}
-static struct usb_serial_driver ftdi_sio_device = {
+static struct usb_serial_driver ftdi_device = {
.driver = {
.owner = THIS_MODULE,
.name = "ftdi_sio",
@@ -2876,9 +2872,9 @@ static struct usb_serial_driver ftdi_sio_device = {
.num_ports = 1,
.bulk_in_size = 512,
.bulk_out_size = 256,
- .probe = ftdi_sio_probe,
- .port_probe = ftdi_sio_port_probe,
- .port_remove = ftdi_sio_port_remove,
+ .probe = ftdi_probe,
+ .port_probe = ftdi_port_probe,
+ .port_remove = ftdi_port_remove,
.open = ftdi_open,
.dtr_rts = ftdi_dtr_rts,
.throttle = usb_serial_generic_throttle,
@@ -2898,7 +2894,7 @@ static struct usb_serial_driver ftdi_sio_device = {
};
static struct usb_serial_driver * const serial_drivers[] = {
- &ftdi_sio_device, NULL
+ &ftdi_device, NULL
};
module_usb_serial_driver(serial_drivers, id_table_combined);
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups
2022-09-19 13:24 [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Johan Hovold
` (2 preceding siblings ...)
2022-09-19 13:24 ` [PATCH 3/3] USB: serial: ftdi_sio: clean up driver prefix Johan Hovold
@ 2022-09-20 7:29 ` Greg KH
2022-09-20 7:47 ` Johan Hovold
3 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2022-09-20 7:29 UTC (permalink / raw)
To: Johan Hovold; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
On Mon, Sep 19, 2022 at 03:24:53PM +0200, Johan Hovold wrote:
> Here are some clean ups on top of the recent dev_groups attribute
> conversion.
>
> Johan
>
> Johan Hovold (3):
> USB: serial: ftdi_sio: clean up attribute visibility logic
> USB: serial: ftdi_sio: move driver structure
> USB: serial: ftdi_sio: clean up driver prefix
>
> drivers/usb/serial/ftdi_sio.c | 144 +++++++++++++---------------------
> 1 file changed, 54 insertions(+), 90 deletions(-)
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups
2022-09-20 7:29 ` [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Greg KH
@ 2022-09-20 7:47 ` Johan Hovold
0 siblings, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2022-09-20 7:47 UTC (permalink / raw)
To: Greg KH; +Cc: Jiasheng Jiang, linux-usb, linux-kernel
On Tue, Sep 20, 2022 at 09:29:06AM +0200, Greg Kroah-Hartman wrote:
> On Mon, Sep 19, 2022 at 03:24:53PM +0200, Johan Hovold wrote:
> > Here are some clean ups on top of the recent dev_groups attribute
> > conversion.
> >
> > Johan
> >
> > Johan Hovold (3):
> > USB: serial: ftdi_sio: clean up attribute visibility logic
> > USB: serial: ftdi_sio: move driver structure
> > USB: serial: ftdi_sio: clean up driver prefix
> >
> > drivers/usb/serial/ftdi_sio.c | 144 +++++++++++++---------------------
> > 1 file changed, 54 insertions(+), 90 deletions(-)
>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Thanks for reviewing. Now applied.
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-09-20 7:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-19 13:24 [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Johan Hovold
2022-09-19 13:24 ` [PATCH 1/3] USB: serial: ftdi_sio: clean up attribute visibility logic Johan Hovold
2022-09-19 13:24 ` [PATCH 2/3] USB: serial: ftdi_sio: move driver structure Johan Hovold
2022-09-19 13:24 ` [PATCH 3/3] USB: serial: ftdi_sio: clean up driver prefix Johan Hovold
2022-09-20 7:29 ` [PATCH 0/3] USB: serial: ftdi_sio: misc clean ups Greg KH
2022-09-20 7:47 ` Johan Hovold
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.