Hi all,
After merging the akpm-current tree, today's linux-next build (arm
collie_defconfig and many others) failed like this:
arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
kunmap_high(page);
^
arch/arm/mm/flush.c: In function '__flush_dcache_page':
arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
kunmap_high(page + i);
^
Caused by commit
6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
--
Cheers,
Stephen Rothwell
Hi all,
On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
>
> After merging the akpm-current tree, today's linux-next build (arm
> collie_defconfig and many others) failed like this:
>
> arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> kunmap_high(page);
> ^
> arch/arm/mm/flush.c: In function '__flush_dcache_page':
> arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> kunmap_high(page + i);
> ^
>
> Caused by commit
>
> 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
>
> kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
Is there anything that can be done quickly about this as it broke a
large number of builds ...
--
Cheers,
Stephen Rothwell
On Fri, 8 May 2020 11:43:38 +1000 Stephen Rothwell <[email protected]> wrote:
> Hi all,
>
> On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
> >
> > After merging the akpm-current tree, today's linux-next build (arm
> > collie_defconfig and many others) failed like this:
> >
> > arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> > arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > kunmap_high(page);
> > ^
> > arch/arm/mm/flush.c: In function '__flush_dcache_page':
> > arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > kunmap_high(page + i);
> > ^
> >
> > Caused by commit
> >
> > 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
> >
> > kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
>
> Is there anything that can be done quickly about this as it broke a
> large number of builds ...
This? It's based on Ira's v3 series but should work.
From: Andrew Morton <[email protected]>
Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix
fix CONFIG_HIGHMEM=n build on various architectures
Reported-by: Stephen Rothwell <[email protected]>
Cc: Ira Weiny <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
include/linux/highmem.h | 5 +++++
1 file changed, 5 insertions(+)
--- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
+++ a/include/linux/highmem.h
@@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
}
void kunmap_high(struct page *page);
+
static inline void kunmap(struct page *page)
{
might_sleep();
@@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
return page_address(page);
}
+static inline void kunmap_high(struct page *page)
+{
+}
+
static inline void kunmap(struct page *page)
{
}
_
Hi Andrew,
On Thu, 7 May 2020 19:08:08 -0700 Andrew Morton <[email protected]> wrote:
>
> This? It's based on Ira's v3 series but should work.
>
>
> From: Andrew Morton <[email protected]>
> Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix
>
> fix CONFIG_HIGHMEM=n build on various architectures
>
> Reported-by: Stephen Rothwell <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> include/linux/highmem.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> --- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
> +++ a/include/linux/highmem.h
> @@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
> }
>
> void kunmap_high(struct page *page);
> +
> static inline void kunmap(struct page *page)
> {
> might_sleep();
> @@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
> return page_address(page);
> }
>
> +static inline void kunmap_high(struct page *page)
> +{
> +}
> +
> static inline void kunmap(struct page *page)
> {
> }
> _
>
Thanks, I have added that to linux-next today.
--
Cheers,
Stephen Rothwell
On Thu, May 07, 2020 at 07:08:08PM -0700, Andrew Morton wrote:
> On Fri, 8 May 2020 11:43:38 +1000 Stephen Rothwell <[email protected]> wrote:
>
> > Hi all,
> >
> > On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
> > >
> > > After merging the akpm-current tree, today's linux-next build (arm
> > > collie_defconfig and many others) failed like this:
> > >
> > > arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> > > arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > > kunmap_high(page);
> > > ^
> > > arch/arm/mm/flush.c: In function '__flush_dcache_page':
> > > arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > > kunmap_high(page + i);
> > > ^
> > >
> > > Caused by commit
> > >
> > > 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
> > >
> > > kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
> >
> > Is there anything that can be done quickly about this as it broke a
> > large number of builds ...
>
> This? It's based on Ira's v3 series but should work.
Looks like arm is using kmap_high_get() internally which needs a
kunmap_high()...
>
>
> From: Andrew Morton <[email protected]>
> Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix
>
> fix CONFIG_HIGHMEM=n build on various architectures
>
Reviewed-by: Ira Weiny <[email protected]>
This should probably be squashed into that patch though...
Andrew do you want a V3.1?
Ira
> Reported-by: Stephen Rothwell <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> include/linux/highmem.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> --- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
> +++ a/include/linux/highmem.h
> @@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
> }
>
> void kunmap_high(struct page *page);
> +
> static inline void kunmap(struct page *page)
> {
> might_sleep();
> @@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
> return page_address(page);
> }
>
> +static inline void kunmap_high(struct page *page)
> +{
> +}
> +
> static inline void kunmap(struct page *page)
> {
> }
> _
>
On Fri, 8 May 2020 07:51:23 -0700 Ira Weiny <[email protected]> wrote:
> This should probably be squashed into that patch though...
>
> Andrew do you want a V3.1?
Is OK, I'll always fold foo-fix.patch into foo.patch before sending it onwards.