diff options
author | Johan Hovold <johan@kernel.org> | 2022-09-19 15:24:54 +0200 |
---|---|---|
committer | Johan Hovold <johan@kernel.org> | 2022-09-20 09:42:38 +0200 |
commit | c142bdc5c7207018efa1928317b1e708eda05e09 (patch) | |
tree | 1121693334e67850d10260127ade8558efca6d93 /drivers/usb | |
parent | 61dfa797c731754642d1ac500a6ac42f9b47f920 (diff) | |
download | linux-c142bdc5c7207018efa1928317b1e708eda05e09.tar.bz2 |
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')
-rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 15 |
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 = { |