On 11/05/16 15:07, Arnd Bergmann wrote: > A bugfix patch for the xen balloon driver introduced a forward > declaration for a static function that is conditionally compiled, > causing a warning if only the declaration but not the definition > are there: > > drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function] > static void release_memory_resource(struct resource *resource); > > This removes the declaration again and instead moves the function > definition to the right place, before its first caller and inside > of the #ifdef protecting both. > > The patch that introduced the warning is marked for stable > backports, so if that gets applied to 4.4, so should this one. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE") > Cc: stable@xxxxxxxxxxxxxxx So you've CC'ed Ross, who sent the very same patch just yesterday, but without the backport request. Confused, Juergen > --- > drivers/xen/balloon.c | 28 +++++++++++++--------------- > 1 file changed, 13 insertions(+), 15 deletions(-) > > diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c > index d46839f51e73..e4db19e88ab1 100644 > --- a/drivers/xen/balloon.c > +++ b/drivers/xen/balloon.c > @@ -151,8 +151,6 @@ static DECLARE_WAIT_QUEUE_HEAD(balloon_wq); > static void balloon_process(struct work_struct *work); > static DECLARE_DELAYED_WORK(balloon_worker, balloon_process); > > -static void release_memory_resource(struct resource *resource); > - > /* When ballooning out (allocating memory to return to Xen) we don't really > want the kernel to try too hard since that can trigger the oom killer. */ > #define GFP_BALLOON \ > @@ -248,6 +246,19 @@ static enum bp_state update_schedule(enum bp_state state) > } > > #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG > +static void release_memory_resource(struct resource *resource) > +{ > + if (!resource) > + return; > + > + /* > + * No need to reset region to identity mapped since we now > + * know that no I/O can be in this region > + */ > + release_resource(resource); > + kfree(resource); > +} > + > static struct resource *additional_memory_resource(phys_addr_t size) > { > struct resource *res; > @@ -286,19 +297,6 @@ static struct resource *additional_memory_resource(phys_addr_t size) > return res; > } > > -static void release_memory_resource(struct resource *resource) > -{ > - if (!resource) > - return; > - > - /* > - * No need to reset region to identity mapped since we now > - * know that no I/O can be in this region > - */ > - release_resource(resource); > - kfree(resource); > -} > - > static enum bp_state reserve_additional_memory(void) > { > long credit; > -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html