Message ID | 20190524104418.17194-1-malat@debian.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v2] powerpc/power: Expose pfn_is_nosave prototype | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (8150a153c013aa2dd1ffae43370b89ac1347a7fb) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded and removed 1 sparse warnings |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 29 lines checked |
On Friday, May 24, 2019 12:44:18 PM CEST Mathieu Malaterre wrote: > The declaration for pfn_is_nosave is only available in > kernel/power/power.h. Since this function can be override in arch, > expose it globally. Having a prototype will make sure to avoid warning > (sometime treated as error with W=1) such as: > > arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] > > This moves the declaration into a globally visible header file and add > missing include to avoid a warning on powerpc. Also remove the > duplicated prototypes since not required anymore. > > Cc: Christophe Leroy <christophe.leroy@c-s.fr> > Signed-off-by: Mathieu Malaterre <malat@debian.org> > --- > v2: As suggestion by christophe remove duplicates prototypes > > arch/powerpc/kernel/suspend.c | 1 + > arch/s390/kernel/entry.h | 1 - > include/linux/suspend.h | 1 + > kernel/power/power.h | 2 -- > 4 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/kernel/suspend.c b/arch/powerpc/kernel/suspend.c > index a531154cc0f3..9e1b6b894245 100644 > --- a/arch/powerpc/kernel/suspend.c > +++ b/arch/powerpc/kernel/suspend.c > @@ -8,6 +8,7 @@ > */ > > #include <linux/mm.h> > +#include <linux/suspend.h> > #include <asm/page.h> > #include <asm/sections.h> > > diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h > index 20420c2b8a14..b2956d49b6ad 100644 > --- a/arch/s390/kernel/entry.h > +++ b/arch/s390/kernel/entry.h > @@ -63,7 +63,6 @@ void __init startup_init(void); > void die(struct pt_regs *regs, const char *str); > int setup_profiling_timer(unsigned int multiplier); > void __init time_init(void); > -int pfn_is_nosave(unsigned long); > void s390_early_resume(void); > unsigned long prepare_ftrace_return(unsigned long parent, unsigned long sp, unsigned long ip); > > diff --git a/include/linux/suspend.h b/include/linux/suspend.h > index 6b3ea9ea6a9e..e8b8a7bede90 100644 > --- a/include/linux/suspend.h > +++ b/include/linux/suspend.h > @@ -395,6 +395,7 @@ extern bool system_entering_hibernation(void); > extern bool hibernation_available(void); > asmlinkage int swsusp_save(void); > extern struct pbe *restore_pblist; > +int pfn_is_nosave(unsigned long pfn); > #else /* CONFIG_HIBERNATION */ > static inline void register_nosave_region(unsigned long b, unsigned long e) {} > static inline void register_nosave_region_late(unsigned long b, unsigned long e) {} > diff --git a/kernel/power/power.h b/kernel/power/power.h > index 9e58bdc8a562..44bee462ff57 100644 > --- a/kernel/power/power.h > +++ b/kernel/power/power.h > @@ -75,8 +75,6 @@ static inline void hibernate_reserved_size_init(void) {} > static inline void hibernate_image_size_init(void) {} > #endif /* !CONFIG_HIBERNATION */ > > -extern int pfn_is_nosave(unsigned long); > - > #define power_attr(_name) \ > static struct kobj_attribute _name##_attr = { \ > .attr = { \ > With an ACK from the powerpc maintainers, I could apply this one.
Mathieu Malaterre <malat@debian.org> writes: > The declaration for pfn_is_nosave is only available in > kernel/power/power.h. Since this function can be override in arch, > expose it globally. Having a prototype will make sure to avoid warning > (sometime treated as error with W=1) such as: > > arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] > > This moves the declaration into a globally visible header file and add > missing include to avoid a warning on powerpc. Also remove the > duplicated prototypes since not required anymore. > > Cc: Christophe Leroy <christophe.leroy@c-s.fr> > Signed-off-by: Mathieu Malaterre <malat@debian.org> > --- > v2: As suggestion by christophe remove duplicates prototypes > > arch/powerpc/kernel/suspend.c | 1 + > arch/s390/kernel/entry.h | 1 - > include/linux/suspend.h | 1 + > kernel/power/power.h | 2 -- > 4 files changed, 2 insertions(+), 3 deletions(-) Looks fine to me. Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) cheers
"Rafael J. Wysocki" <rjw@rjwysocki.net> writes: > On Friday, May 24, 2019 12:44:18 PM CEST Mathieu Malaterre wrote: >> The declaration for pfn_is_nosave is only available in >> kernel/power/power.h. Since this function can be override in arch, >> expose it globally. Having a prototype will make sure to avoid warning >> (sometime treated as error with W=1) such as: >> >> arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] >> >> This moves the declaration into a globally visible header file and add >> missing include to avoid a warning on powerpc. Also remove the >> duplicated prototypes since not required anymore. >> >> Cc: Christophe Leroy <christophe.leroy@c-s.fr> >> Signed-off-by: Mathieu Malaterre <malat@debian.org> >> --- >> v2: As suggestion by christophe remove duplicates prototypes >> >> arch/powerpc/kernel/suspend.c | 1 + >> arch/s390/kernel/entry.h | 1 - >> include/linux/suspend.h | 1 + >> kernel/power/power.h | 2 -- >> 4 files changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/kernel/power/power.h b/kernel/power/power.h >> index 9e58bdc8a562..44bee462ff57 100644 >> --- a/kernel/power/power.h >> +++ b/kernel/power/power.h >> @@ -75,8 +75,6 @@ static inline void hibernate_reserved_size_init(void) {} >> static inline void hibernate_image_size_init(void) {} >> #endif /* !CONFIG_HIBERNATION */ >> >> -extern int pfn_is_nosave(unsigned long); >> - >> #define power_attr(_name) \ >> static struct kobj_attribute _name##_attr = { \ >> .attr = { \ >> > > With an ACK from the powerpc maintainers, I could apply this one. Sent. cheers
On Tuesday, May 28, 2019 3:16:30 AM CEST Michael Ellerman wrote: > "Rafael J. Wysocki" <rjw@rjwysocki.net> writes: > > On Friday, May 24, 2019 12:44:18 PM CEST Mathieu Malaterre wrote: > >> The declaration for pfn_is_nosave is only available in > >> kernel/power/power.h. Since this function can be override in arch, > >> expose it globally. Having a prototype will make sure to avoid warning > >> (sometime treated as error with W=1) such as: > >> > >> arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] > >> > >> This moves the declaration into a globally visible header file and add > >> missing include to avoid a warning on powerpc. Also remove the > >> duplicated prototypes since not required anymore. > >> > >> Cc: Christophe Leroy <christophe.leroy@c-s.fr> > >> Signed-off-by: Mathieu Malaterre <malat@debian.org> > >> --- > >> v2: As suggestion by christophe remove duplicates prototypes > >> > >> arch/powerpc/kernel/suspend.c | 1 + > >> arch/s390/kernel/entry.h | 1 - > >> include/linux/suspend.h | 1 + > >> kernel/power/power.h | 2 -- > >> 4 files changed, 2 insertions(+), 3 deletions(-) > >> > >> diff --git a/kernel/power/power.h b/kernel/power/power.h > >> index 9e58bdc8a562..44bee462ff57 100644 > >> --- a/kernel/power/power.h > >> +++ b/kernel/power/power.h > >> @@ -75,8 +75,6 @@ static inline void hibernate_reserved_size_init(void) {} > >> static inline void hibernate_image_size_init(void) {} > >> #endif /* !CONFIG_HIBERNATION */ > >> > >> -extern int pfn_is_nosave(unsigned long); > >> - > >> #define power_attr(_name) \ > >> static struct kobj_attribute _name##_attr = { \ > >> .attr = { \ > >> > > > > With an ACK from the powerpc maintainers, I could apply this one. > > Sent. Thanks!
On Friday, May 24, 2019 12:44:18 PM CEST Mathieu Malaterre wrote: > The declaration for pfn_is_nosave is only available in > kernel/power/power.h. Since this function can be override in arch, > expose it globally. Having a prototype will make sure to avoid warning > (sometime treated as error with W=1) such as: > > arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] > > This moves the declaration into a globally visible header file and add > missing include to avoid a warning on powerpc. Also remove the > duplicated prototypes since not required anymore. > > Cc: Christophe Leroy <christophe.leroy@c-s.fr> > Signed-off-by: Mathieu Malaterre <malat@debian.org> > --- > v2: As suggestion by christophe remove duplicates prototypes > > arch/powerpc/kernel/suspend.c | 1 + > arch/s390/kernel/entry.h | 1 - > include/linux/suspend.h | 1 + > kernel/power/power.h | 2 -- > 4 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/kernel/suspend.c b/arch/powerpc/kernel/suspend.c > index a531154cc0f3..9e1b6b894245 100644 > --- a/arch/powerpc/kernel/suspend.c > +++ b/arch/powerpc/kernel/suspend.c > @@ -8,6 +8,7 @@ > */ > > #include <linux/mm.h> > +#include <linux/suspend.h> > #include <asm/page.h> > #include <asm/sections.h> > > diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h > index 20420c2b8a14..b2956d49b6ad 100644 > --- a/arch/s390/kernel/entry.h > +++ b/arch/s390/kernel/entry.h > @@ -63,7 +63,6 @@ void __init startup_init(void); > void die(struct pt_regs *regs, const char *str); > int setup_profiling_timer(unsigned int multiplier); > void __init time_init(void); > -int pfn_is_nosave(unsigned long); > void s390_early_resume(void); > unsigned long prepare_ftrace_return(unsigned long parent, unsigned long sp, unsigned long ip); > > diff --git a/include/linux/suspend.h b/include/linux/suspend.h > index 6b3ea9ea6a9e..e8b8a7bede90 100644 > --- a/include/linux/suspend.h > +++ b/include/linux/suspend.h > @@ -395,6 +395,7 @@ extern bool system_entering_hibernation(void); > extern bool hibernation_available(void); > asmlinkage int swsusp_save(void); > extern struct pbe *restore_pblist; > +int pfn_is_nosave(unsigned long pfn); > #else /* CONFIG_HIBERNATION */ > static inline void register_nosave_region(unsigned long b, unsigned long e) {} > static inline void register_nosave_region_late(unsigned long b, unsigned long e) {} > diff --git a/kernel/power/power.h b/kernel/power/power.h > index 9e58bdc8a562..44bee462ff57 100644 > --- a/kernel/power/power.h > +++ b/kernel/power/power.h > @@ -75,8 +75,6 @@ static inline void hibernate_reserved_size_init(void) {} > static inline void hibernate_image_size_init(void) {} > #endif /* !CONFIG_HIBERNATION */ > > -extern int pfn_is_nosave(unsigned long); > - > #define power_attr(_name) \ > static struct kobj_attribute _name##_attr = { \ > .attr = { \ > Applied, thanks!
diff --git a/arch/powerpc/kernel/suspend.c b/arch/powerpc/kernel/suspend.c index a531154cc0f3..9e1b6b894245 100644 --- a/arch/powerpc/kernel/suspend.c +++ b/arch/powerpc/kernel/suspend.c @@ -8,6 +8,7 @@ */ #include <linux/mm.h> +#include <linux/suspend.h> #include <asm/page.h> #include <asm/sections.h> diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h index 20420c2b8a14..b2956d49b6ad 100644 --- a/arch/s390/kernel/entry.h +++ b/arch/s390/kernel/entry.h @@ -63,7 +63,6 @@ void __init startup_init(void); void die(struct pt_regs *regs, const char *str); int setup_profiling_timer(unsigned int multiplier); void __init time_init(void); -int pfn_is_nosave(unsigned long); void s390_early_resume(void); unsigned long prepare_ftrace_return(unsigned long parent, unsigned long sp, unsigned long ip); diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 6b3ea9ea6a9e..e8b8a7bede90 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -395,6 +395,7 @@ extern bool system_entering_hibernation(void); extern bool hibernation_available(void); asmlinkage int swsusp_save(void); extern struct pbe *restore_pblist; +int pfn_is_nosave(unsigned long pfn); #else /* CONFIG_HIBERNATION */ static inline void register_nosave_region(unsigned long b, unsigned long e) {} static inline void register_nosave_region_late(unsigned long b, unsigned long e) {} diff --git a/kernel/power/power.h b/kernel/power/power.h index 9e58bdc8a562..44bee462ff57 100644 --- a/kernel/power/power.h +++ b/kernel/power/power.h @@ -75,8 +75,6 @@ static inline void hibernate_reserved_size_init(void) {} static inline void hibernate_image_size_init(void) {} #endif /* !CONFIG_HIBERNATION */ -extern int pfn_is_nosave(unsigned long); - #define power_attr(_name) \ static struct kobj_attribute _name##_attr = { \ .attr = { \
The declaration for pfn_is_nosave is only available in kernel/power/power.h. Since this function can be override in arch, expose it globally. Having a prototype will make sure to avoid warning (sometime treated as error with W=1) such as: arch/powerpc/kernel/suspend.c:18:5: error: no previous prototype for 'pfn_is_nosave' [-Werror=missing-prototypes] This moves the declaration into a globally visible header file and add missing include to avoid a warning on powerpc. Also remove the duplicated prototypes since not required anymore. Cc: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Mathieu Malaterre <malat@debian.org> --- v2: As suggestion by christophe remove duplicates prototypes arch/powerpc/kernel/suspend.c | 1 + arch/s390/kernel/entry.h | 1 - include/linux/suspend.h | 1 + kernel/power/power.h | 2 -- 4 files changed, 2 insertions(+), 3 deletions(-)