On Mon, Oct 30, 2017 at 09:52:15AM +0100, Greg Kroah-Hartman wrote: > On Fri, Oct 27, 2017 at 11:24:22AM -0500, Bin Liu wrote: > > Hi, > > > > On Tue, Oct 24, 2017 at 03:08:35AM -0700, Kees Cook wrote: > > > In preparation for unconditionally passing the struct timer_list pointer to > > > all timer callbacks, switch to using the new timer_setup() and from_timer() > > > to pass the timer pointer explicitly. > > > > > > Instead of a per-device static timer variable, a spare timer "dev_timer" > > > is added to the musb structure for devices to use for their per-device > > > timer. > > > > > > Cc: Bin Liu <b-liu@xxxxxx> > > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > Cc: linux-usb@xxxxxxxxxxxxxxx > > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > > > --- > > > drivers/usb/musb/am35x.c | 24 +++++++++++------------- > > > drivers/usb/musb/blackfin.c | 13 ++++++------- > > > drivers/usb/musb/blackfin.h | 2 -- > > > drivers/usb/musb/da8xx.c | 26 ++++++++++++-------------- > > > drivers/usb/musb/davinci.c | 20 +++++++++----------- > > > drivers/usb/musb/musb_core.c | 6 +++--- > > > drivers/usb/musb/musb_core.h | 1 + > > > drivers/usb/musb/musb_dsps.c | 7 ++++--- > > > drivers/usb/musb/tusb6010.c | 20 +++++++++----------- > > > 9 files changed, 55 insertions(+), 64 deletions(-) > > > > [snip] > > > > > diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h > > > index 20f4614178d9..e8573975743d 100644 > > > --- a/drivers/usb/musb/musb_core.h > > > +++ b/drivers/usb/musb/musb_core.h > > > @@ -345,6 +345,7 @@ struct musb { > > > struct list_head pending_list; /* pending work list */ > > > > > > struct timer_list otg_timer; > > > + struct timer_list dev_timer; > > > > Now since dev_timer is added in struct musb for glue drivers, > > > > > struct notifier_block nb; > > > > > > struct dma_controller *dma_controller; > > > diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c > > > index f6b526606ad1..e3d0e626a5d6 100644 > > > --- a/drivers/usb/musb/musb_dsps.c > > > +++ b/drivers/usb/musb/musb_dsps.c > > > @@ -282,9 +282,10 @@ static int dsps_check_status(struct musb *musb, void *unused) > > > return 0; > > > } > > > > > > -static void otg_timer(unsigned long _musb) > > > +static void otg_timer(struct timer_list *t) > > > { > > > - struct musb *musb = (void *)_musb; > > > + struct dsps_glue *glue = from_timer(glue, t, timer); > > > + struct musb *musb = platform_get_drvdata(glue->musb); > > > struct device *dev = musb->controller; > > > unsigned long flags; > > > int err; > > > @@ -480,7 +481,7 @@ static int dsps_musb_init(struct musb *musb) > > > } > > > } > > > > > > - setup_timer(&glue->timer, otg_timer, (unsigned long) musb); > > > + timer_setup(&glue->timer, otg_timer, 0); > > > > this glue->timer is duplicate. It can be removed and use musb->dev_timer > > instead as other glue drivers do. > > I do not understand your review comments at all. Can you do the fixup > here to use timer_setup for the musb timer code? The fixup patch was sent. Here is my Acked-by for this patch. Acked-by: Bin Liu <b-liu@xxxxxx> Regards, -Bin. -- 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