linux-next: build failure after merge of the v4l-dvb-next tree

Stephen Rothwell posted 1 patch 1 week, 6 days ago
drivers/media/pci/intel/ipu6/ipu6-mmu.c | 1 +
1 file changed, 1 insertion(+)
linux-next: build failure after merge of the v4l-dvb-next tree
Posted by Stephen Rothwell 1 week, 6 days ago
Hi all,

After merging the v4l-dvb-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/media/pci/intel/ipu6/ipu6-mmu.c: In function 'ipu6_mmu_alloc':
drivers/media/pci/intel/ipu6/ipu6-mmu.c:541:28: error: implicit declaration of function 'vzalloc'; did you mean 'kzalloc'? [-Werror=implicit-function-declaration]
  541 |         mmu_info->l2_pts = vzalloc(ISP_L2PT_PTES * sizeof(*mmu_info->l2_pts));
      |                            ^~~~~~~
      |                            kzalloc
drivers/media/pci/intel/ipu6/ipu6-mmu.c:541:26: error: assignment to 'u32 **' {aka 'unsigned int **'} from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
  541 |         mmu_info->l2_pts = vzalloc(ISP_L2PT_PTES * sizeof(*mmu_info->l2_pts));
      |                          ^
drivers/media/pci/intel/ipu6/ipu6-mmu.c:560:9: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
  560 |         vfree(mmu_info->l2_pts);
      |         ^~~~~
      |         kvfree
cc1: all warnings being treated as errors

Caused by commit

  9163d83573e4 ("media: intel/ipu6: add IPU6 DMA mapping API and MMU table")

not including <linux/vmalloc.h>.  It may have been exposed by commit

  690da22dbfa8 ("asm-generic/io.h: kill vmalloc.h dependency")

from the mm-unstable branch of the mm tree, so I have applied the
following patch for today (and this or somthing like it should be applied
to the v4l-dvb-next tree).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 6 May 2024 10:39:47 +1000
Subject: [PATCH] media: intel/ipu6: explicitly include vmalloc.h

since this file uses vzalloc etc ...

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/media/pci/intel/ipu6/ipu6-mmu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/pci/intel/ipu6/ipu6-mmu.c b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
index 98a4bf9ca267..c3a20507d6db 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-mmu.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
@@ -22,6 +22,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/types.h>
+#include <linux/vmalloc.h>
 
 #include "ipu6.h"
 #include "ipu6-dma.h"
-- 
2.43.0

-- 
Cheers,
Stephen Rothwell
Re: linux-next: build failure after merge of the v4l-dvb-next tree
Posted by Sakari Ailus 1 week, 5 days ago
Hi Stephen,

On Mon, May 06, 2024 at 10:49:53AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the v4l-dvb-next tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/media/pci/intel/ipu6/ipu6-mmu.c: In function 'ipu6_mmu_alloc':
> drivers/media/pci/intel/ipu6/ipu6-mmu.c:541:28: error: implicit declaration of function 'vzalloc'; did you mean 'kzalloc'? [-Werror=implicit-function-declaration]
>   541 |         mmu_info->l2_pts = vzalloc(ISP_L2PT_PTES * sizeof(*mmu_info->l2_pts));
>       |                            ^~~~~~~
>       |                            kzalloc
> drivers/media/pci/intel/ipu6/ipu6-mmu.c:541:26: error: assignment to 'u32 **' {aka 'unsigned int **'} from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
>   541 |         mmu_info->l2_pts = vzalloc(ISP_L2PT_PTES * sizeof(*mmu_info->l2_pts));
>       |                          ^
> drivers/media/pci/intel/ipu6/ipu6-mmu.c:560:9: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
>   560 |         vfree(mmu_info->l2_pts);
>       |         ^~~~~
>       |         kvfree
> cc1: all warnings being treated as errors
> 
> Caused by commit
> 
>   9163d83573e4 ("media: intel/ipu6: add IPU6 DMA mapping API and MMU table")
> 
> not including <linux/vmalloc.h>.  It may have been exposed by commit
> 
>   690da22dbfa8 ("asm-generic/io.h: kill vmalloc.h dependency")
> 
> from the mm-unstable branch of the mm tree, so I have applied the
> following patch for today (and this or somthing like it should be applied
> to the v4l-dvb-next tree).
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 6 May 2024 10:39:47 +1000
> Subject: [PATCH] media: intel/ipu6: explicitly include vmalloc.h
> 
> since this file uses vzalloc etc ...
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/media/pci/intel/ipu6/ipu6-mmu.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/media/pci/intel/ipu6/ipu6-mmu.c b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
> index 98a4bf9ca267..c3a20507d6db 100644
> --- a/drivers/media/pci/intel/ipu6/ipu6-mmu.c
> +++ b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
> @@ -22,6 +22,7 @@
>  #include <linux/slab.h>
>  #include <linux/spinlock.h>
>  #include <linux/types.h>
> +#include <linux/vmalloc.h>
>  
>  #include "ipu6.h"
>  #include "ipu6-dma.h"

I agree this is the right fix, we'll merge it via the media tree (I'll just
polish the commit message a little).

-- 
Kind regards,

Sakari Ailus
[RESEND PATCH v2 1/1] media: intel/ipu6: explicitly include vmalloc.h
Posted by Sakari Ailus 1 week, 5 days ago
From: Stephen Rothwell <sfr@canb.auug.org.au>

linux/vmalloc.h needs to be included explicitly nowadays. Do it.

Fixes: 9163d83573e4 ("media: intel/ipu6: add IPU6 DMA mapping API and MMU table")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
Fixed Kent's e-mail address.

since v1:

- Rework the commit message a little.

 drivers/media/pci/intel/ipu6/ipu6-mmu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/pci/intel/ipu6/ipu6-mmu.c b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
index 98a4bf9ca267..c3a20507d6db 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-mmu.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
@@ -22,6 +22,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/types.h>
+#include <linux/vmalloc.h>
 
 #include "ipu6.h"
 #include "ipu6-dma.h"
-- 
2.39.2
[PATCH v2 1/1] media: intel/ipu6: explicitly include vmalloc.h
Posted by Sakari Ailus 1 week, 5 days ago
From: Stephen Rothwell <sfr@canb.auug.org.au>

linux/vmalloc.h needs to be included explicitly nowadays. Do it.

Fixes: 9163d83573e4 ("media: intel/ipu6: add IPU6 DMA mapping API and MMU table")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
since v1:

- Rework the commit message a little.

 drivers/media/pci/intel/ipu6/ipu6-mmu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/pci/intel/ipu6/ipu6-mmu.c b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
index 98a4bf9ca267..c3a20507d6db 100644
--- a/drivers/media/pci/intel/ipu6/ipu6-mmu.c
+++ b/drivers/media/pci/intel/ipu6/ipu6-mmu.c
@@ -22,6 +22,7 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/types.h>
+#include <linux/vmalloc.h>
 
 #include "ipu6.h"
 #include "ipu6-dma.h"
-- 
2.39.2