2018-08-06 23:22:10

by Atish Patra

[permalink] [raw]
Subject: [RFC] RISC-V: Fix !CONFIG_SMP compilation error

Enabling both CONFIG_PERF_EVENTS without !CONFIG_SMP
generates following compilation error.

arch/riscv/include/asm/perf_event.h:80:2: error: expected
specifier-qualifier-list before 'irqreturn_t'

irqreturn_t (*handle_irq)(int irq_num, void *dev);
^~~~~~~~~~~

Include interrupt.h in proper place to avoid compilation
error.

Signed-off-by: Atish Patra <[email protected]>
---
arch/riscv/include/asm/perf_event.h | 1 +
arch/riscv/kernel/perf_event.c | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/include/asm/perf_event.h b/arch/riscv/include/asm/perf_event.h
index 0e638a0c..aefbfaa6 100644
--- a/arch/riscv/include/asm/perf_event.h
+++ b/arch/riscv/include/asm/perf_event.h
@@ -10,6 +10,7 @@

#include <linux/perf_event.h>
#include <linux/ptrace.h>
+#include <linux/interrupt.h>

#define RISCV_BASE_COUNTERS 2

diff --git a/arch/riscv/kernel/perf_event.c b/arch/riscv/kernel/perf_event.c
index b0e10c4e..a243fae1 100644
--- a/arch/riscv/kernel/perf_event.c
+++ b/arch/riscv/kernel/perf_event.c
@@ -27,7 +27,6 @@
#include <linux/mutex.h>
#include <linux/bitmap.h>
#include <linux/irq.h>
-#include <linux/interrupt.h>
#include <linux/perf_event.h>
#include <linux/atomic.h>
#include <linux/of.h>
--
2.7.4



2018-08-10 18:32:59

by Atish Patra

[permalink] [raw]
Subject: Re: [RFC] RISC-V: Fix !CONFIG_SMP compilation error

On 8/6/18 4:17 PM, Atish Patra wrote:
> Enabling both CONFIG_PERF_EVENTS without !CONFIG_SMP
> generates following compilation error.
>
> arch/riscv/include/asm/perf_event.h:80:2: error: expected
> specifier-qualifier-list before 'irqreturn_t'
>
> irqreturn_t (*handle_irq)(int irq_num, void *dev);
> ^~~~~~~~~~~
>
> Include interrupt.h in proper place to avoid compilation
> error.
>
> Signed-off-by: Atish Patra <[email protected]>
> ---
> arch/riscv/include/asm/perf_event.h | 1 +
> arch/riscv/kernel/perf_event.c | 1 -
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/include/asm/perf_event.h b/arch/riscv/include/asm/perf_event.h
> index 0e638a0c..aefbfaa6 100644
> --- a/arch/riscv/include/asm/perf_event.h
> +++ b/arch/riscv/include/asm/perf_event.h
> @@ -10,6 +10,7 @@
>
> #include <linux/perf_event.h>
> #include <linux/ptrace.h>
> +#include <linux/interrupt.h>
>
> #define RISCV_BASE_COUNTERS 2
>
> diff --git a/arch/riscv/kernel/perf_event.c b/arch/riscv/kernel/perf_event.c
> index b0e10c4e..a243fae1 100644
> --- a/arch/riscv/kernel/perf_event.c
> +++ b/arch/riscv/kernel/perf_event.c
> @@ -27,7 +27,6 @@
> #include <linux/mutex.h>
> #include <linux/bitmap.h>
> #include <linux/irq.h>
> -#include <linux/interrupt.h>
> #include <linux/perf_event.h>
> #include <linux/atomic.h>
> #include <linux/of.h>
>
ping ?

Regards,
Atish

2018-08-10 20:56:22

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [RFC] RISC-V: Fix !CONFIG_SMP compilation error

On Fri, 10 Aug 2018 11:31:08 PDT (-0700), [email protected] wrote:
> On 8/6/18 4:17 PM, Atish Patra wrote:
>> Enabling both CONFIG_PERF_EVENTS without !CONFIG_SMP
>> generates following compilation error.
>>
>> arch/riscv/include/asm/perf_event.h:80:2: error: expected
>> specifier-qualifier-list before 'irqreturn_t'
>>
>> irqreturn_t (*handle_irq)(int irq_num, void *dev);
>> ^~~~~~~~~~~
>>
>> Include interrupt.h in proper place to avoid compilation
>> error.
>>
>> Signed-off-by: Atish Patra <[email protected]>
>> ---
>> arch/riscv/include/asm/perf_event.h | 1 +
>> arch/riscv/kernel/perf_event.c | 1 -
>> 2 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/include/asm/perf_event.h b/arch/riscv/include/asm/perf_event.h
>> index 0e638a0c..aefbfaa6 100644
>> --- a/arch/riscv/include/asm/perf_event.h
>> +++ b/arch/riscv/include/asm/perf_event.h
>> @@ -10,6 +10,7 @@
>>
>> #include <linux/perf_event.h>
>> #include <linux/ptrace.h>
>> +#include <linux/interrupt.h>
>>
>> #define RISCV_BASE_COUNTERS 2
>>
>> diff --git a/arch/riscv/kernel/perf_event.c b/arch/riscv/kernel/perf_event.c
>> index b0e10c4e..a243fae1 100644
>> --- a/arch/riscv/kernel/perf_event.c
>> +++ b/arch/riscv/kernel/perf_event.c
>> @@ -27,7 +27,6 @@
>> #include <linux/mutex.h>
>> #include <linux/bitmap.h>
>> #include <linux/irq.h>
>> -#include <linux/interrupt.h>
>> #include <linux/perf_event.h>
>> #include <linux/atomic.h>
>> #include <linux/of.h>
>>
> ping ?

Sorry about this, it got dropped. This looks fine and fixes the bug, so I've
gone and put it on for-next.

Thanks!