2013-03-08 11:38:01

by James Hogan

[permalink] [raw]
Subject: [PATCH 1/1] irq_work.h: fix warning when CONFIG_IRQ_WORK=n

A randconfig caught repeated compiler warnings when CONFIG_IRQ_WORK=n
due to the definition of a non-inline static function in
<linux/irq_work.h>:

include/linux/irq_work.h +40 : warning: 'irq_work_needs_cpu' defined but not used

Make it inline to supress the warning. This is caused by the following
commit:

Commit 00b42959106a9ca1c2899e591ae4e9a83ad6af05 ("irq_work: Don't stop
the tick with pending works") merged in v3.9-rc1.

Signed-off-by: James Hogan <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Paul Gortmaker <[email protected]>
---
include/linux/irq_work.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index f5dbce5..6601702 100644
--- a/include/linux/irq_work.h
+++ b/include/linux/irq_work.h
@@ -37,7 +37,7 @@ void irq_work_sync(struct irq_work *work);
#ifdef CONFIG_IRQ_WORK
bool irq_work_needs_cpu(void);
#else
-static bool irq_work_needs_cpu(void) { return false; }
+static inline bool irq_work_needs_cpu(void) { return false; }
#endif

#endif /* _LINUX_IRQ_WORK_H */
--
1.8.1.2


2013-03-08 11:43:53

by James Hogan

[permalink] [raw]
Subject: Re: [PATCH 1/1] irq_work.h: fix warning when CONFIG_IRQ_WORK=n

On 08/03/13 11:36, James Hogan wrote:
> A randconfig caught repeated compiler warnings when CONFIG_IRQ_WORK=n
> due to the definition of a non-inline static function in
> <linux/irq_work.h>:
>
> include/linux/irq_work.h +40 : warning: 'irq_work_needs_cpu' defined but not used

In addition to this warning I also got the following linker error when
CONFIG_IRQ_WORK=n:

kernel/built-in.o In function `wake_up_klogd':
(.text.wake_up_klogd+0xb4): undefined reference to `irq_work_queue'

which appears to be because of the following commit:

commit 74876a98a87a115254b3a66a14b27320b7f0acaa ("printk: Wake up klogd
using irq_work") also merged in v3.9-rc1.

Can somebody more familiar with that code please fix it.

Cheers
James

2013-03-08 12:38:15

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [PATCH 1/1] irq_work.h: fix warning when CONFIG_IRQ_WORK=n

2013/3/8 James Hogan <[email protected]>:
> In addition to this warning I also got the following linker error when
> CONFIG_IRQ_WORK=n:
>
> kernel/built-in.o In function `wake_up_klogd':
> (.text.wake_up_klogd+0xb4): undefined reference to `irq_work_queue'
>
> which appears to be because of the following commit:
>
> commit 74876a98a87a115254b3a66a14b27320b7f0acaa ("printk: Wake up klogd
> using irq_work") also merged in v3.9-rc1.
>
> Can somebody more familiar with that code please fix it.

I see. We need to make a wake_up_klogd() off case when CONFIG_PRINTK=n
I'm working on this.

Thanks.

2013-03-08 12:38:53

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [PATCH 1/1] irq_work.h: fix warning when CONFIG_IRQ_WORK=n

2013/3/8 James Hogan <[email protected]>:
> A randconfig caught repeated compiler warnings when CONFIG_IRQ_WORK=n
> due to the definition of a non-inline static function in
> <linux/irq_work.h>:
>
> include/linux/irq_work.h +40 : warning: 'irq_work_needs_cpu' defined but not used
>
> Make it inline to supress the warning. This is caused by the following
> commit:
>
> Commit 00b42959106a9ca1c2899e591ae4e9a83ad6af05 ("irq_work: Don't stop
> the tick with pending works") merged in v3.9-rc1.
>
> Signed-off-by: James Hogan <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Steven Rostedt <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Andrew Morton <[email protected]>
> Cc: Paul Gortmaker <[email protected]>

Applied, thanks!