Messages in this thread | | | Date | Wed, 15 Aug 2012 22:14:26 +0200 | From | Sam Ravnborg <> | Subject | Re: [PATCH 2/9] scripts/modpost: add a exception for USB gadget drivers |
| |
On Wed, Aug 15, 2012 at 09:59:12PM +0200, Sebastian Andrzej Siewior wrote: > The "driver" struct for a gadget driver is named *_driver. On module > load, the gadget expects a UDC driver to be loaded and avaiable. If this > is not the case => -ENODEV and bye bye. That means that the gadget > driver is initialized immediately. The initialization process includes > calling ->bind() for the gadget driver. Therefore it is okay to put this > in __init. It will never be called again, we don't (yet) allow two > gadgets of the same kind to be ->bind() again. > > Commit 07a18bd716 ("usb gadget: don't save bind callback in struct > usb_composite_driver") move the ->bind() member from the struct to an > argument. > I'm reverting this and adding this exception. For g_zero we save around > 400bytes. I'm not having the conversion about how important it is to > save 400 bytes. I wait for configfs interface for the gadget subsystem. > This will remove the __init from the ->bind() because we will be able to > call ->bind() more than once and _after_ the init has been dropped.
Could you use the __ref / __refdata annotation? This would be much cleaner than this hack in modpost.
Sam
| |