aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/ftdi_sio.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2022-09-19 15:24:54 +0200
committerJohan Hovold <johan@kernel.org>2022-09-20 09:42:38 +0200
commitc142bdc5c7207018efa1928317b1e708eda05e09 (patch)
tree1121693334e67850d10260127ade8558efca6d93 /drivers/usb/serial/ftdi_sio.c
parentUSB: serial: console: move mutex_unlock() before usb_serial_put() (diff)
downloadlinux-dev-c142bdc5c7207018efa1928317b1e708eda05e09.tar.xz
linux-dev-c142bdc5c7207018efa1928317b1e708eda05e09.zip
USB: serial: ftdi_sio: clean up attribute visibility logic
Clean up the attribute visibility logic by defaulting to attributes being visible and explicitly listing the exceptions. Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'drivers/usb/serial/ftdi_sio.c')
-rw-r--r--drivers/usb/serial/ftdi_sio.c15
1 files 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 = {