diff mbox series

perf: arm_spe: include linux/vmalloc.h for vmap()

Message ID 20180222114716.1356279-1-arnd@arndb.de
State New
Headers show
Series perf: arm_spe: include linux/vmalloc.h for vmap() | expand

Commit Message

Arnd Bergmann Feb. 22, 2018, 11:47 a.m. UTC
On linux-next, I get a build failure in some configurations:

drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_setup_aux':
drivers/perf/arm_spe_pmu.c:857:14: error: implicit declaration of function 'vmap'; did you mean 'swap'? [-Werror=implicit-function-declaration]
  buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);
              ^~~~
              swap
drivers/perf/arm_spe_pmu.c:857:37: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MPX'?
  buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);
                                     ^~~~~~
                                     VM_MPX
drivers/perf/arm_spe_pmu.c:857:37: note: each undeclared identifier is reported only once for each function it appears in
drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_free_aux':
drivers/perf/arm_spe_pmu.c:878:2: error: implicit declaration of function 'vunmap'; did you mean 'iounmap'? [-Werror=implicit-function-declaration]

vmap() is declared in linux/vmalloc.h, so we should include that header file.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
I have not bisected what caused this problem, presumably some other
header stopped including vmlinux.h.
---
 drivers/perf/arm_spe_pmu.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.9.0

Comments

Will Deacon Feb. 22, 2018, 12:13 p.m. UTC | #1
On Thu, Feb 22, 2018 at 12:47:05PM +0100, Arnd Bergmann wrote:
> On linux-next, I get a build failure in some configurations:

> 

> drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_setup_aux':

> drivers/perf/arm_spe_pmu.c:857:14: error: implicit declaration of function 'vmap'; did you mean 'swap'? [-Werror=implicit-function-declaration]

>   buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);

>               ^~~~

>               swap

> drivers/perf/arm_spe_pmu.c:857:37: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MPX'?

>   buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);

>                                      ^~~~~~

>                                      VM_MPX

> drivers/perf/arm_spe_pmu.c:857:37: note: each undeclared identifier is reported only once for each function it appears in

> drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_free_aux':

> drivers/perf/arm_spe_pmu.c:878:2: error: implicit declaration of function 'vunmap'; did you mean 'iounmap'? [-Werror=implicit-function-declaration]

> 

> vmap() is declared in linux/vmalloc.h, so we should include that header file.

> 

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Thanks, Arnd. I'll pick this up for 4.17.

Will
Mark Rutland Feb. 22, 2018, 12:26 p.m. UTC | #2
On Thu, Feb 22, 2018 at 12:47:05PM +0100, Arnd Bergmann wrote:
> On linux-next, I get a build failure in some configurations:

> 

> drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_setup_aux':

> drivers/perf/arm_spe_pmu.c:857:14: error: implicit declaration of function 'vmap'; did you mean 'swap'? [-Werror=implicit-function-declaration]

>   buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);

>               ^~~~

>               swap

> drivers/perf/arm_spe_pmu.c:857:37: error: 'VM_MAP' undeclared (first use in this function); did you mean 'VM_MPX'?

>   buf->base = vmap(pglist, nr_pages, VM_MAP, PAGE_KERNEL);

>                                      ^~~~~~

>                                      VM_MPX

> drivers/perf/arm_spe_pmu.c:857:37: note: each undeclared identifier is reported only once for each function it appears in

> drivers/perf/arm_spe_pmu.c: In function 'arm_spe_pmu_free_aux':

> drivers/perf/arm_spe_pmu.c:878:2: error: implicit declaration of function 'vunmap'; did you mean 'iounmap'? [-Werror=implicit-function-declaration]

> 

> vmap() is declared in linux/vmalloc.h, so we should include that header file.

> 

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

> I have not bisected what caused this problem, presumably some other

> header stopped including vmlinux.h.

> ---

>  drivers/perf/arm_spe_pmu.c | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c

> index 51b40aecb776..f90672516ada 100644

> --- a/drivers/perf/arm_spe_pmu.c

> +++ b/drivers/perf/arm_spe_pmu.c

> @@ -32,6 +32,7 @@

>  #include <linux/perf_event.h>

>  #include <linux/platform_device.h>

>  #include <linux/slab.h>

> +#include <linux/vmalloc.h>


This looks good. From a quick look, we're also missing explicit includes
for:

#include <linux/bitops.h>
#include <linux/bug.h>
#include <linux/capability.h>
#include <linux/cpumask.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/printk.h>
#include <linux/smp.h>

#include <asm/barrier.h>
#include <asm/cpufeature.h>
#include <asm/mmu.h>

... which would be worth sorting out at teh same time.

Will, are you happy to fold those in? Assuming so:

Acked-by: Mark Rutland <mark.rutland@arm.com>


Mark.
diff mbox series

Patch

diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
index 51b40aecb776..f90672516ada 100644
--- a/drivers/perf/arm_spe_pmu.c
+++ b/drivers/perf/arm_spe_pmu.c
@@ -32,6 +32,7 @@ 
 #include <linux/perf_event.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
+#include <linux/vmalloc.h>
 
 #include <asm/sysreg.h>