Hi, > On Thu, Jul 19, 2012 at 05:15:57PM +0530, Ajay Kumar Gupta wrote: > > diff --git a/drivers/usb/musb/musb_core.c > > b/drivers/usb/musb/musb_core.c index 89d1871..3e09984 100644 > > --- a/drivers/usb/musb/musb_core.c > > +++ b/drivers/usb/musb/musb_core.c > > @@ -99,6 +99,7 @@ > > #include <linux/prefetch.h> > > #include <linux/platform_device.h> > > #include <linux/io.h> > > +#include <linux/idr.h> > > > > #include "musb_core.h" > > > > @@ -114,6 +115,7 @@ > > > > #define MUSB_DRIVER_NAME "musb-hdrc" > > const char musb_driver_name[] = MUSB_DRIVER_NAME; > > +static DEFINE_IDA(musb_ida); > > > > MODULE_DESCRIPTION(DRIVER_INFO); > > MODULE_AUTHOR(DRIVER_AUTHOR); > > @@ -130,6 +132,33 @@ static inline struct musb *dev_to_musb(struct > > device *dev) > > > > > > /*-------------------------------------------------------------------- > > -----*/ > > > > +int musb_get_id(struct device *dev, gfp_t gfp_mask) { > > + int ret; > > + int id; > > + > > + ret = ida_pre_get(&musb_ida, gfp_mask); > > + if (!ret) { > > + dev_err(dev, "failed to reserve resource for id\n"); > > + return -ENOMEM; > > + } > > + > > + ret = ida_get_new(&musb_ida, &id); > > + if (ret < 0) { > > + dev_err(dev, "failed to allocate a new id\n"); > > + return ret; > > + } > > + > > + return id; > > +} > > + > > +void musb_put_id(struct device *dev, int id) { > > + > > + dev_dbg(dev, "removing id %d\n", id); > > + ida_remove(&musb_ida, id); > > +} > > both of these should be EXPORT_SYMBOL_GPL() for cases when musb and glue are > compiled as modules. Sure. I will fix this. Ajay > > -- > balbi -- 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