Hello Nathan, On Tue, Mar 26, 2019 at 10:01:27PM -0700, Nathan Chancellor wrote: > Commit 008258d995a6 ("clocksource/drivers/timer-ti-dm: Make > omap_dm_timer_set_load_start() static") made omap_dm_time_set_load_start > static because its prototype was not defined in a header. Unfortunately, > this causes a build warning on multi_v7_defconfig because this function > is not used anywhere in this translation unit: > > drivers/clocksource/timer-ti-dm.c:589:12: error: unused function > 'omap_dm_timer_set_load_start' [-Werror,-Wunused-function] > > In fact, omap_dm_timer_set_load_start hasn't been used anywhere since > commit f190be7f39a5 ("staging: tidspbridge: remove driver") and the > prototype was removed in commit 592ea6bd1fad ("clocksource: timer-ti-dm: > Make unexported functions static"), which is probably where this should > have happened.
Alternatively you might want to look at "clocksource: timer-ti-dm: Add event capture": https://patchwork.kernel.org/patch/10237217/ (it makes use of function being removed here). It is a part of an attempt to add event capture for OMAP. Of course I would like this functionality to be implemented, but as I do not have a time to continue, I cannot really object removing this function. Just in case you'd be interested in finishing this task ;-) ladis > Fixes: 592ea6bd1fad ("clocksource: timer-ti-dm: Make unexported functions > static") > Fixes: 008258d995a6 ("clocksource/drivers/timer-ti-dm: Make > omap_dm_timer_set_load_start() static") > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> > --- > > My apologies if this has already been sent, I didn't see anything in tip > or on LKML. > > drivers/clocksource/timer-ti-dm.c | 28 ---------------------------- > 1 file changed, 28 deletions(-) > > diff --git a/drivers/clocksource/timer-ti-dm.c > b/drivers/clocksource/timer-ti-dm.c > index 3352da6ed61f..ee8ec5a8cb16 100644 > --- a/drivers/clocksource/timer-ti-dm.c > +++ b/drivers/clocksource/timer-ti-dm.c > @@ -585,34 +585,6 @@ static int omap_dm_timer_set_load(struct omap_dm_timer > *timer, int autoreload, > return 0; > } > > -/* Optimized set_load which removes costly spin wait in timer_start */ > -static int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, > - int autoreload, unsigned int load) > -{ > - u32 l; > - > - if (unlikely(!timer)) > - return -EINVAL; > - > - omap_dm_timer_enable(timer); > - > - l = omap_dm_timer_read_reg(timer, OMAP_TIMER_CTRL_REG); > - if (autoreload) { > - l |= OMAP_TIMER_CTRL_AR; > - omap_dm_timer_write_reg(timer, OMAP_TIMER_LOAD_REG, load); > - } else { > - l &= ~OMAP_TIMER_CTRL_AR; > - } > - l |= OMAP_TIMER_CTRL_ST; > - > - __omap_dm_timer_load_start(timer, l, load, timer->posted); > - > - /* Save the context */ > - timer->context.tclr = l; > - timer->context.tldr = load; > - timer->context.tcrr = load; > - return 0; > -} > static int omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, >