All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/sunxi-mali-mainline-driver: fix build failure with Linux 5.9 and 5.10
Date: Wed,  6 Jan 2021 22:29:19 +0100	[thread overview]
Message-ID: <20210106212919.540837-1-giulio.benetti@benettiengineering.com> (raw)

Add 2 patches pending[1] upstream to fix build failure with both Linux 5.9
and Linux 5.10 due to uaccess.h file moved after version >= 5.9 and and
due to moved code from dma-contiguous.h to dma-mapping.

[1]: https://github.com/mripard/sunxi-mali/pull/89

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 ...01-mali-support-building-against-5.9.patch | 269 ++++++++++++++++++
 ...2-mali-support-building-against-5.10.patch |  98 +++++++
 2 files changed, 367 insertions(+)
 create mode 100644 package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch
 create mode 100644 package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch

diff --git a/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch b/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch
new file mode 100644
index 0000000000..e1c5f76572
--- /dev/null
+++ b/package/sunxi-mali-mainline-driver/0001-mali-support-building-against-5.9.patch
@@ -0,0 +1,269 @@
+From 66731b7ec7d36e86d772aee84a84b648f37dbf5d Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Thu, 17 Dec 2020 01:32:21 +0100
+Subject: [PATCH 1/2] mali: support building against 5.9
+
+Add patches to fix build failure with Linux version 5.9 due to
+asm/uaccess.h changes and HAVE_UNLOCKED_IOCTL macro missing in version
+r6p0 and r6p2. While for r8p1 and r9p0 patch is the same and is located
+in patches/ root and fix HAVE_UNLOCKED_IOCTL issue only.
+
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ ...24-mali-support-building-against-5.9.patch | 36 +++++++++
+ ...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++
+ patches/r6p0/series                           |  1 +
+ ...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++
+ patches/r6p2/series                           |  1 +
+ patches/r8p1/series                           |  1 +
+ patches/r9p0/series                           |  1 +
+ 7 files changed, 192 insertions(+)
+ create mode 100644 patches/0024-mali-support-building-against-5.9.patch
+ create mode 100644 patches/r6p0/0024-mali-support-building-against-5.9.patch
+ create mode 100644 patches/r6p2/0024-mali-support-building-against-5.9.patch
+
+diff --git a/patches/0024-mali-support-building-against-5.9.patch b/patches/0024-mali-support-building-against-5.9.patch
+new file mode 100644
+index 0000000..c54dfef
+--- /dev/null
++++ b/patches/0024-mali-support-building-against-5.9.patch
+@@ -0,0 +1,36 @@
++From f760b79bc15557a13d9bb68a9a3fb9c8e08dfbae Mon Sep 17 00:00:00 2001
++From: Giulio Benetti <giulio.benetti@benettiengineering.com>
++Date: Thu, 17 Dec 2020 16:41:49 +0100
++Subject: [PATCH] mali: support building against 5.9
++
++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
++removed making actual code to use .ioctl struct member resulting in a
++build failure, so let's declare locally such macro if Linux
++version >= 5.9.0.
++
++Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
++---
++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
++ 1 file changed, 7 insertions(+)
++
++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
++index d7893a3..9005466 100644
++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
+++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
++@@ -65,6 +65,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter);
++ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
++ #endif /* CONFIG_TRACEPOINTS */
++ 
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
+++ * so let's reintroduce it here.
+++ */
+++#define HAVE_UNLOCKED_IOCTL
+++#endif
+++
++ #ifdef CONFIG_MALI_DEVFREQ
++ #include "mali_devfreq.h"
++ #include "mali_osk_mali.h"
++-- 
++2.25.1
++
+diff --git a/patches/r6p0/0024-mali-support-building-against-5.9.patch b/patches/r6p0/0024-mali-support-building-against-5.9.patch
+new file mode 100644
+index 0000000..54b773b
+--- /dev/null
++++ b/patches/r6p0/0024-mali-support-building-against-5.9.patch
+@@ -0,0 +1,76 @@
++From 44dbb7d2036ba41d5db46fadb86e0461fce0948f Mon Sep 17 00:00:00 2001
++From: Giulio Benetti <giulio.benetti@benettiengineering.com>
++Date: Thu, 17 Dec 2020 02:26:49 +0100
++Subject: [PATCH] mali: support building against 5.9
++
++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
++removed making actual code to use .ioctl struct member resulting in a
++build failure, so let's declare locally such macro if Linux
++version >= 5.9.0.
++
++Starting from Linux version 5.9.0 also part of <asm/uaccess.h> has been
++moved to <linux/uaccess.h> so let's include <linux/uaccess.h> if Linux
++version >= 5.9.0.
++
++Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
++---
++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
++ src/devicedrv/mali/linux/mali_osk_mali.c     | 5 +++++
++ src/devicedrv/mali/linux/mali_osk_misc.c     | 5 +++++
++ 3 files changed, 17 insertions(+)
++
++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
++index 34cb3d7..c098c77 100755
++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
+++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
++@@ -63,6 +63,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter);
++ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
++ #endif /* CONFIG_TRACEPOINTS */
++ 
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
+++ * so let's reintroduce it here.
+++ */
+++#define HAVE_UNLOCKED_IOCTL
+++#endif
+++
++ /* from the __malidrv_build_info.c file that is generated during build */
++ extern const char *__malidrv_build_info(void);
++ 
++diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c
++index ee82b6e..1491d10 100755
++--- a/src/devicedrv/mali/linux/mali_osk_mali.c
+++++ b/src/devicedrv/mali/linux/mali_osk_mali.c
++@@ -13,7 +13,12 @@
++  * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver
++  */
++ #include <linux/kernel.h>
+++#include <linux/version.h>
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++#include <linux/uaccess.h>
+++#else
++ #include <asm/uaccess.h>
+++#endif
++ #include <linux/platform_device.h>
++ #include <linux/mali/mali_utgard.h>
++ #include <linux/of.h>
++diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c
++index 0a619e3..87ff192 100755
++--- a/src/devicedrv/mali/linux/mali_osk_misc.c
+++++ b/src/devicedrv/mali/linux/mali_osk_misc.c
++@@ -13,7 +13,12 @@
++  * Implementation of the OS abstraction layer for the kernel device driver
++  */
++ #include <linux/kernel.h>
+++#include <linux/version.h>
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++#include <linux/uaccess.h>
+++#else
++ #include <asm/uaccess.h>
+++#endif
++ #include <asm/cacheflush.h>
++ #include <linux/sched.h>
++ #include <linux/seq_file.h>
++-- 
++2.25.1
++
+diff --git a/patches/r6p0/series b/patches/r6p0/series
+index 50e54d6..4074177 100644
+--- a/patches/r6p0/series
++++ b/patches/r6p0/series
+@@ -17,3 +17,4 @@ r6p0/0013-mali-support-building-against-4.15.patch
+ 0021-mali-support-building-against-5.3.patch
+ r6p0/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
++r6p0/0024-mali-support-building-against-5.9.patch
+diff --git a/patches/r6p2/0024-mali-support-building-against-5.9.patch b/patches/r6p2/0024-mali-support-building-against-5.9.patch
+new file mode 100644
+index 0000000..0f9ca40
+--- /dev/null
++++ b/patches/r6p2/0024-mali-support-building-against-5.9.patch
+@@ -0,0 +1,76 @@
++From ebcecb62301c49e0dd67032e7db14c20be2df48b Mon Sep 17 00:00:00 2001
++From: Giulio Benetti <giulio.benetti@benettiengineering.com>
++Date: Thu, 17 Dec 2020 00:49:45 +0100
++Subject: [PATCH] mali: support building against 5.9
++
++Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
++removed making actual code to use .ioctl struct member resulting in a
++build failure, so let's declare locally such macro if Linux
++version >= 5.9.0.
++
++Starting from Linux version 5.9.0 also part of <asm/uaccess.h> has been
++moved to <linux/uaccess.h> so let's include <linux/uaccess.h> if Linux
++version >= 5.9.0.
++
++Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
++---
++ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
++ src/devicedrv/mali/linux/mali_osk_mali.c     | 5 +++++
++ src/devicedrv/mali/linux/mali_osk_misc.c     | 5 +++++
++ 3 files changed, 17 insertions(+)
++
++diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
++index 9bfa2bd..51e5012 100755
++--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
+++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
++@@ -69,6 +69,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
++ #include "mali_devfreq.h"
++ #include "mali_osk_mali.h"
++ 
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
+++ * so let's reintroduce it here.
+++ */
+++#define HAVE_UNLOCKED_IOCTL
+++#endif
+++
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)
++ #include <linux/pm_opp.h>
++ #else
++diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c
++index 272d196..fdb8952 100755
++--- a/src/devicedrv/mali/linux/mali_osk_mali.c
+++++ b/src/devicedrv/mali/linux/mali_osk_mali.c
++@@ -13,7 +13,12 @@
++  * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver
++  */
++ #include <linux/kernel.h>
+++#include <linux/version.h>
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++#include <linux/uaccess.h>
+++#else
++ #include <asm/uaccess.h>
+++#endif
++ #include <linux/platform_device.h>
++ #include <linux/mali/mali_utgard.h>
++ #include <linux/of.h>
++diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c
++index 7dda283..58c6a4c 100755
++--- a/src/devicedrv/mali/linux/mali_osk_misc.c
+++++ b/src/devicedrv/mali/linux/mali_osk_misc.c
++@@ -13,7 +13,12 @@
++  * Implementation of the OS abstraction layer for the kernel device driver
++  */
++ #include <linux/kernel.h>
+++#include <linux/version.h>
+++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+++#include <linux/uaccess.h>
+++#else
++ #include <asm/uaccess.h>
+++#endif
++ #include <asm/cacheflush.h>
++ #include <linux/sched.h>
++ #include <linux/seq_file.h>
++-- 
++2.25.1
++
+diff --git a/patches/r6p2/series b/patches/r6p2/series
+index 4c68a77..775bc6f 100644
+--- a/patches/r6p2/series
++++ b/patches/r6p2/series
+@@ -20,3 +20,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
+ 0021-mali-support-building-against-5.3.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
++r6p2/0024-mali-support-building-against-5.9.patch
+diff --git a/patches/r8p1/series b/patches/r8p1/series
+index a49a59b..0f15e40 100644
+--- a/patches/r8p1/series
++++ b/patches/r8p1/series
+@@ -15,3 +15,4 @@ r8p1/0017-mali-support-building-against-4.9-later.patch
+ 0021-mali-support-building-against-5.3.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
++0024-mali-support-building-against-5.9.patch
+diff --git a/patches/r9p0/series b/patches/r9p0/series
+index 301177c..866e869 100644
+--- a/patches/r9p0/series
++++ b/patches/r9p0/series
+@@ -12,3 +12,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
+ 0021-mali-support-building-against-5.3.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
++0024-mali-support-building-against-5.9.patch
+-- 
+2.25.1
+
diff --git a/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch b/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch
new file mode 100644
index 0000000000..2bbd3be574
--- /dev/null
+++ b/package/sunxi-mali-mainline-driver/0002-mali-support-building-against-5.10.patch
@@ -0,0 +1,98 @@
+From 8ea1fb65dd5db556b386a1ed726f7315d3511c2b Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Thu, 17 Dec 2020 01:54:52 +0100
+Subject: [PATCH 2/2] mali: support building against 5.10
+
+Add patch to fix build failure with Linux version 5.10 due to missing
+linux/dma-contiguous.h which content has been moved to
+linux/dma-mapping.h
+
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ ...5-mali-support-building-against-5.10.patch | 34 +++++++++++++++++++
+ patches/r6p0/series                           |  1 +
+ patches/r6p2/series                           |  1 +
+ patches/r8p1/series                           |  1 +
+ patches/r9p0/series                           |  1 +
+ 5 files changed, 38 insertions(+)
+ create mode 100644 patches/0025-mali-support-building-against-5.10.patch
+
+diff --git a/patches/0025-mali-support-building-against-5.10.patch b/patches/0025-mali-support-building-against-5.10.patch
+new file mode 100644
+index 0000000..e9070e7
+--- /dev/null
++++ b/patches/0025-mali-support-building-against-5.10.patch
+@@ -0,0 +1,34 @@
++From 9a6b4558bb7f470152ab00692010f07fd0bfa8f8 Mon Sep 17 00:00:00 2001
++From: Giulio Benetti <giulio.benetti@benettiengineering.com>
++Date: Thu, 17 Dec 2020 01:19:33 +0100
++Subject: [PATCH] mali: support building against 5.10
++
++Starting from Linux version 5.10.0 <linux/dma-contiguous.h> has been
++removed and its content moved to <linux/dma-mapping.h> and this leads
++to build failure with Linux 5.10. So let's include
++<include/dma-contiguous.h> only if we're building with Linux
++version < 5.10.0.
++
++Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
++---
++ src/devicedrv/mali/platform/sunxi/sunxi.c | 3 +++
++ 1 file changed, 3 insertions(+)
++
++diff --git a/src/devicedrv/mali/platform/sunxi/sunxi.c b/src/devicedrv/mali/platform/sunxi/sunxi.c
++index 74ebe0b..a8df0d9 100644
++--- a/src/devicedrv/mali/platform/sunxi/sunxi.c
+++++ b/src/devicedrv/mali/platform/sunxi/sunxi.c
++@@ -3,7 +3,10 @@
++ #include <linux/clkdev.h>
++ #include <linux/cma.h>
++ #include <linux/delay.h>
+++#include <linux/version.h>
+++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
++ #include <linux/dma-contiguous.h>
+++#endif
++ #include <linux/dma-mapping.h>
++ #include <linux/io.h>
++ #include <linux/kernel.h>
++-- 
++2.25.1
++
+diff --git a/patches/r6p0/series b/patches/r6p0/series
+index 4074177..5d4883f 100644
+--- a/patches/r6p0/series
++++ b/patches/r6p0/series
+@@ -18,3 +18,4 @@ r6p0/0013-mali-support-building-against-4.15.patch
+ r6p0/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
+ r6p0/0024-mali-support-building-against-5.9.patch
++0025-mali-support-building-against-5.10.patch
+diff --git a/patches/r6p2/series b/patches/r6p2/series
+index 775bc6f..e19cf11 100644
+--- a/patches/r6p2/series
++++ b/patches/r6p2/series
+@@ -21,3 +21,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
+ r6p2/0024-mali-support-building-against-5.9.patch
++0025-mali-support-building-against-5.10.patch
+diff --git a/patches/r8p1/series b/patches/r8p1/series
+index 0f15e40..4ad43c1 100644
+--- a/patches/r8p1/series
++++ b/patches/r8p1/series
+@@ -16,3 +16,4 @@ r8p1/0017-mali-support-building-against-4.9-later.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
+ 0024-mali-support-building-against-5.9.patch
++0025-mali-support-building-against-5.10.patch
+diff --git a/patches/r9p0/series b/patches/r9p0/series
+index 866e869..dca4e02 100644
+--- a/patches/r9p0/series
++++ b/patches/r9p0/series
+@@ -13,3 +13,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
+ r6p2/0022-mali-support-building-against-5.6.patch
+ 0023-mali-support-building-against-5.7.patch
+ 0024-mali-support-building-against-5.9.patch
++0025-mali-support-building-against-5.10.patch
+-- 
+2.25.1
+
-- 
2.25.1

             reply	other threads:[~2021-01-06 21:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-06 21:29 Giulio Benetti [this message]
2021-01-16 22:03 ` [Buildroot] [PATCH] package/sunxi-mali-mainline-driver: fix build failure with Linux 5.9 and 5.10 Thomas Petazzoni
2021-01-19 13:20 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210106212919.540837-1-giulio.benetti@benettiengineering.com \
    --to=giulio.benetti@benettiengineering.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.