diff mbox

xen: fix building on ARM with CONFIG_HIBERNATE_CALLBACKS

Message ID 3837965.uXvcfKiP40@wuerfel (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann May 19, 2015, 12:58 p.m. UTC
A recent bug fix for x86 broke Xen on ARM for the case that
CONFIG_HIBERNATE_CALLBACKS is enabled:

drivers/built-in.o: In function `do_suspend':
/git/arm-soc/drivers/xen/manage.c:134: undefined reference to `xen_arch_suspend'
drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to `xen_arch_suspend'

It is not clear to me what needs to be done here, but this
patch avoids the build error by adding a stub for the
missing function.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 2b953a5e99 ("xen: Suspend ticks on all CPUs during suspend")
---
Please review, and submit an alternate patch if this one turns
out to be incorrect.

Comments

Boris Ostrovsky May 19, 2015, 1:57 p.m. UTC | #1
On 05/19/2015 08:58 AM, Arnd Bergmann wrote:
> A recent bug fix for x86 broke Xen on ARM for the case that
> CONFIG_HIBERNATE_CALLBACKS is enabled:
>
> drivers/built-in.o: In function `do_suspend':
> /git/arm-soc/drivers/xen/manage.c:134: undefined reference to `xen_arch_suspend'
> drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to `xen_arch_suspend'
>
> It is not clear to me what needs to be done here, but this
> patch avoids the build error by adding a stub for the
> missing function.

This is already fixed in Xen staging tree.

Thanks.
-boris

>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 2b953a5e99 ("xen: Suspend ticks on all CPUs during suspend")
> ---
> Please review, and submit an alternate patch if this one turns
> out to be incorrect.
>
> diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h
> index 0ce4f32017ea..034dc8acd47e 100644
> --- a/include/xen/xen-ops.h
> +++ b/include/xen/xen-ops.h
> @@ -13,7 +13,13 @@ void xen_arch_post_suspend(int suspend_cancelled);
>   
>   void xen_timer_resume(void);
>   void xen_arch_resume(void);
> +#ifdef CONFIG_X86
>   void xen_arch_suspend(void);
> +#else
> +static inline void xen_arch_suspend(void)
> +{
> +}
> +#endif
>   
>   void xen_resume_notifier_register(struct notifier_block *nb);
>   void xen_resume_notifier_unregister(struct notifier_block *nb);
>
Arnd Bergmann May 19, 2015, 2:36 p.m. UTC | #2
On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
> On 05/19/2015 08:58 AM, Arnd Bergmann wrote:
> > A recent bug fix for x86 broke Xen on ARM for the case that
> > CONFIG_HIBERNATE_CALLBACKS is enabled:
> >
> > drivers/built-in.o: In function `do_suspend':
> > /git/arm-soc/drivers/xen/manage.c:134: undefined reference to `xen_arch_suspend'
> > drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to `xen_arch_suspend'
> >
> > It is not clear to me what needs to be done here, but this
> > patch avoids the build error by adding a stub for the
> > missing function.
> 
> This is already fixed in Xen staging tree.

I see. Any chance to get that fix into linux-next soon?

	Arnd
Boris Ostrovsky May 19, 2015, 2:49 p.m. UTC | #3
On 05/19/2015 10:36 AM, Arnd Bergmann wrote:
> On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
>> On 05/19/2015 08:58 AM, Arnd Bergmann wrote:
>>> A recent bug fix for x86 broke Xen on ARM for the case that
>>> CONFIG_HIBERNATE_CALLBACKS is enabled:
>>>
>>> drivers/built-in.o: In function `do_suspend':
>>> /git/arm-soc/drivers/xen/manage.c:134: undefined reference to `xen_arch_suspend'
>>> drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to `xen_arch_suspend'
>>>
>>> It is not clear to me what needs to be done here, but this
>>> patch avoids the build error by adding a stub for the
>>> missing function.
>> This is already fixed in Xen staging tree.
> I see. Any chance to get that fix into linux-next soon?


David, are you going to send pull request to Linus before rc5?

-boris
David Vrabel May 19, 2015, 3:15 p.m. UTC | #4
On 19/05/15 15:49, Boris Ostrovsky wrote:
> On 05/19/2015 10:36 AM, Arnd Bergmann wrote:
>> On Tuesday 19 May 2015 09:57:19 Boris Ostrovsky wrote:
>>> On 05/19/2015 08:58 AM, Arnd Bergmann wrote:
>>>> A recent bug fix for x86 broke Xen on ARM for the case that
>>>> CONFIG_HIBERNATE_CALLBACKS is enabled:
>>>>
>>>> drivers/built-in.o: In function `do_suspend':
>>>> /git/arm-soc/drivers/xen/manage.c:134: undefined reference to
>>>> `xen_arch_suspend'
>>>> drivers/built-in.o:(.debug_addr+0xc3f4): undefined reference to
>>>> `xen_arch_suspend'
>>>>
>>>> It is not clear to me what needs to be done here, but this
>>>> patch avoids the build error by adding a stub for the
>>>> missing function.
>>> This is already fixed in Xen staging tree.
>> I see. Any chance to get that fix into linux-next soon?
> 
> 
> David, are you going to send pull request to Linus before rc5?

Yes.

David
diff mbox

Patch

diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h
index 0ce4f32017ea..034dc8acd47e 100644
--- a/include/xen/xen-ops.h
+++ b/include/xen/xen-ops.h
@@ -13,7 +13,13 @@  void xen_arch_post_suspend(int suspend_cancelled);
 
 void xen_timer_resume(void);
 void xen_arch_resume(void);
+#ifdef CONFIG_X86
 void xen_arch_suspend(void);
+#else
+static inline void xen_arch_suspend(void)
+{
+}
+#endif
 
 void xen_resume_notifier_register(struct notifier_block *nb);
 void xen_resume_notifier_unregister(struct notifier_block *nb);