On Mon, Nov 14, 2016 at 03:11:23PM +0100, Greg KH wrote: > On Mon, Nov 14, 2016 at 02:32:35PM +0200, Heikki Krogerus wrote: > > > > +static void __exit typec_exit(void) > > > > +{ > > > > + class_unregister(&typec_class); > > > > > > You forgot to clean up your idr :( > > > > Sorry, what idr? The port ids get removed in typec_release(). > > You have a static idr structure in the driver, right? You have to clean > it up when your code is going away so that it will free any memory it > had allocated with a call to idr_destroy() on module exit. Ok. Regarding the DEVICE_ATTR* macros. So I have attributes with same names for different device types. I may be able to identify the device types and deal with the correct attribute based on that, but for example the attribute "active" with alternate modes is writable, but with cables it's not. How do I handle those? Thanks, -- heikki -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html