On 21 June 2016 at 20:53, Felipe Balbi <balbi@xxxxxxxxxx> wrote: > > Hi, > > Baolin Wang <baolin.wang@xxxxxxxxxx> writes: >>>>>>>>> Can't you just tie a charger to a UDC and avoid the charger class >>>>>>>>> completely? >>>>>>>> >>>>>>>> Yeah, I also hope so. But we really want something to manage the >>>>>>>> charger devices, do you have any good suggestion to avoid the 'class' >>>>>>>> but also can manage the charger devices? >>>>>>> >>>>>>> manage in what way? It seems to me that they don't need to be real >>>>>>> devices, just a handle as part of struct usb_gadget, no? >>>>>> >>>>>> Although charger device is not one real hardware device, we also use >>>>>> one 'struct device' to describe it in charger.c file. So we should >>>>>> manage the 'struct device' with one proper way. >>>>> >>>>> that's fine, but why do you think they need a struct device to start with? >>>> >>>> We can get/put usb charger and mange usb charger attributes with the >>>> device model if we use a struct device. >>> >>> We already have that as part of struct usb_udc. Why don't you just >>> create a subdirectory called charger which will hold all your >>> charger-related attributes. That directory will only be created if a >>> valid ->charger pointer exists. >> >> That means we can remove all the device and class things in charger.c >> file, right? OK, I try to do that. Thanks. > > right. Keep your charger.c file, because to conditionally compile and > link that to udc-core.ko, but remove all the class initialization and > all of that extra code. Make sense. -- Baolin.wang Best Regards -- 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