Re: [PATCH 2/9] scripts/modpost: add a exception for USB gadgetdrivers

From: Sam Ravnborg
Date: Wed Aug 15 2012 - 16:14:25 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/