On Thu, Feb 05, 2015 at 02:36:23PM +0100, Takashi Iwai wrote:
> static int usb_serial_device_probe(struct device *dev)
> {
> struct usb_serial_driver *driver;
> @@ -72,15 +79,9 @@ static int usb_serial_device_probe(struct device *dev)
> goto exit_with_autopm;
> }
>
> - retval = device_create_file(dev, &dev_attr_port_number);
> - if (retval) {
> - if (driver->port_remove)
> - retval = driver->port_remove(port);
> - goto exit_with_autopm;
> - }
> -
> minor = port->minor;
> - tty_register_device(usb_serial_tty_driver, minor, dev);
> + tty_register_device_attr(usb_serial_tty_driver, minor, dev, NULL,
> + usb_serial_dev_groups);
This is just wrong. You're moving a usb-serial-port device attribute to
the tty class device (i.e. ABI breakage) and you're not updating the
attribute operation either.
I assume you haven't tested this, as the kernel would likely crash or,
if you're lucky, just return a bogus port number when you try to read
the attribute file.
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html