Thanks for the review it.

2018년 6월 14일 (목) 오후 11:48, Alan Stern <st...@rowland.harvard.edu>님이 작성:
>
> On Thu, 14 Jun 2018, Jaejoong Kim wrote:
>
> > Removing EXPORT_SYMBOL_GPL from kref_{put, get} since it is used
> > only in f_mass_storage
> >
> > Signed-off-by: Jaejoong Kim <climbbb....@gmail.com>
>
> This is only a partial solution.  In fact, fsg_common_get() isn't used
> anywhere, and fsg_common_put() is used in only one place.

Right. Actually my first approach was to remove fsg_common_get/put and just
use kref APIs(kref_get/put). But I kept current codes because this module author
might have another reason.

>
> It would be better to remove those two routines, get rid of common->ref
> entirely, and make fsg_free_inst() call fsg_common_release() directly.

Hm.. If you want to call fsg_common_release () in fsg_free_inst (),
the struct kref
in this moduel is meaningless. I prefer hold kref and just use kref APIs not
fsg_common_get/put.

Thanks, Jaejoong
>
> Alan Stern
>
> > ---
> >  drivers/usb/gadget/function/f_mass_storage.c | 6 ++----
> >  drivers/usb/gadget/function/f_mass_storage.h | 4 ----
> >  2 files changed, 2 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/usb/gadget/function/f_mass_storage.c 
> > b/drivers/usb/gadget/function/f_mass_storage.c
> > index b6e2930..ba0eb7e 100644
> > --- a/drivers/usb/gadget/function/f_mass_storage.c
> > +++ b/drivers/usb/gadget/function/f_mass_storage.c
> > @@ -2558,17 +2558,15 @@ static void fsg_lun_release(struct device *dev)
> >       /* Nothing needs to be done */
> >  }
> >
> > -void fsg_common_get(struct fsg_common *common)
> > +static void __maybe_unused fsg_common_get(struct fsg_common *common)
> >  {
> >       kref_get(&common->ref);
> >  }
> > -EXPORT_SYMBOL_GPL(fsg_common_get);
> >
> > -void fsg_common_put(struct fsg_common *common)
> > +static void fsg_common_put(struct fsg_common *common)
> >  {
> >       kref_put(&common->ref, fsg_common_release);
> >  }
> > -EXPORT_SYMBOL_GPL(fsg_common_put);
> >
> >  static struct fsg_common *fsg_common_setup(struct fsg_common *common)
> >  {
> > diff --git a/drivers/usb/gadget/function/f_mass_storage.h 
> > b/drivers/usb/gadget/function/f_mass_storage.h
> > index 58857fc..3b8c4ce 100644
> > --- a/drivers/usb/gadget/function/f_mass_storage.h
> > +++ b/drivers/usb/gadget/function/f_mass_storage.h
> > @@ -115,10 +115,6 @@ fsg_opts_from_func_inst(const struct 
> > usb_function_instance *fi)
> >       return container_of(fi, struct fsg_opts, func_inst);
> >  }
> >
> > -void fsg_common_get(struct fsg_common *common);
> > -
> > -void fsg_common_put(struct fsg_common *common);
> > -
> >  void fsg_common_set_sysfs(struct fsg_common *common, bool sysfs);
> >
> >  int fsg_common_set_num_buffers(struct fsg_common *common, unsigned int n);
> >
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to