Move all to deprecated folder.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
Fix build for linux >= 4.x
|
||||
|
||||
Instead of relying on testing for '3' as the linux kernel major verison,
|
||||
check that it is 2.x to include the proper Makefile, otherwise forcibly
|
||||
include the .26 Makefile, that is good for 3.x and 4.x too.
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff -durN linux-fusion-9.0.2.orig/Makefile linux-fusion-9.0.2/Makefile
|
||||
--- linux-fusion-9.0.2.orig/Makefile 2013-07-15 11:58:03.000000000 +0200
|
||||
+++ linux-fusion-9.0.2/Makefile 2015-06-06 19:03:04.059842652 +0200
|
||||
@@ -62,10 +62,10 @@
|
||||
CPPFLAGS += -DHAVE_LINUX_CONFIG_H
|
||||
endif
|
||||
|
||||
-ifeq ($(K_VERSION),3)
|
||||
- KMAKEFILE = Makefile-2.6
|
||||
-else
|
||||
+ifeq ($(K_VERSION),2)
|
||||
KMAKEFILE = Makefile-2.$(K_PATCHLEVEL)
|
||||
+else
|
||||
+ KMAKEFILE = Makefile-2.6
|
||||
endif
|
||||
|
||||
check-version = $(shell expr \( $(K_VERSION) \* 65536 + $(K_PATCHLEVEL) \* 256 + $(K_SUBLEVEL) \) \>= \( $(1) \* 65536 + $(2) \* 256 + $(3) \))
|
||||
@@ -0,0 +1,29 @@
|
||||
From debb9cafe9b7cc2b286399ecc8e3210480061c70 Mon Sep 17 00:00:00 2001
|
||||
From: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
Date: Mon, 11 Jan 2016 15:42:16 +0100
|
||||
Subject: [PATCH] Fix mismatched conversion spec and value in printk
|
||||
|
||||
linux/drivers/char/fusion/fusiondev.c:775:38: warning:
|
||||
format '%ld' expects argument of type 'long int', but argument 7 has type 'int'
|
||||
|
||||
Subtracting two pointers yields a ptrdiff_t value, and ptrdiff_t is not
|
||||
necessarily an alias for long int. Cast the value to long int.
|
||||
|
||||
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
---
|
||||
linux/drivers/char/fusion/fusiondev.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/linux/drivers/char/fusion/fusiondev.c b/linux/drivers/char/fusion/fusiondev.c
|
||||
index 7003407f7e1e..dfb5f8ecb81a 100644
|
||||
--- a/linux/drivers/char/fusion/fusiondev.c
|
||||
+++ b/linux/drivers/char/fusion/fusiondev.c
|
||||
@@ -775,7 +775,7 @@ call_ioctl(FusionDev * dev, Fusionee * fusionee,
|
||||
printk( KERN_ERR "fusion: FUSION_CALL_EXECUTE3 with errorneous call (failed on previous ioctl call), "
|
||||
"call id %d, flags 0x%08x, arg %d, length %u, serial %u, %ld\n",
|
||||
execute3.call_id, execute3.flags, execute3.call_arg, execute3.length, execute3.ret_length,
|
||||
- (execute3_bin - (FusionCallExecute3 *) arg) );
|
||||
+ (long int)(execute3_bin - (FusionCallExecute3 *) arg) );
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 9fcd5003c0363af140a06aba94e62c9e1ea0381e Mon Sep 17 00:00:00 2001
|
||||
From: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
Date: Mon, 11 Jan 2016 16:45:30 +0100
|
||||
Subject: [PATCH] Fix fusion: Unknown symbol tasklist_lock (err 0)
|
||||
|
||||
Commit 28f6569ab7d0 renamed TREE_PREEMPT_RCU to PREEMPT_RCU in 3.19
|
||||
As a result, the code incorrectly falls back to using tasklist_lock
|
||||
(which was made private in 2.6.18)
|
||||
|
||||
Always use rcu_read_lock on modern kernels.
|
||||
|
||||
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
---
|
||||
linux/drivers/char/fusion/fusionee.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/linux/drivers/char/fusion/fusionee.c b/linux/drivers/char/fusion/fusionee.c
|
||||
index ef067f5bc831..70cd0a665f98 100644
|
||||
--- a/linux/drivers/char/fusion/fusionee.c
|
||||
+++ b/linux/drivers/char/fusion/fusionee.c
|
||||
@@ -925,7 +925,7 @@ fusionee_kill(FusionDev * dev,
|
||||
if (f != fusionee && (!target || target == f->id)) {
|
||||
struct task_struct *p;
|
||||
|
||||
-#if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) || defined(CONFIG_TINY_RCU) || defined(rcu_read_lock)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
|
||||
rcu_read_lock();
|
||||
#else
|
||||
read_lock(&tasklist_lock);
|
||||
@@ -946,7 +946,7 @@ fusionee_kill(FusionDev * dev,
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined(CONFIG_TREE_RCU) || defined(CONFIG_TREE_PREEMPT_RCU) || defined(CONFIG_TINY_RCU) || defined(rcu_read_unlock)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
|
||||
rcu_read_unlock();
|
||||
#else
|
||||
read_unlock(&tasklist_lock);
|
||||
@@ -0,0 +1,99 @@
|
||||
From be288b60278c78eccfd347aacf4d3dd8771215a9 Mon Sep 17 00:00:00 2001
|
||||
From: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
Date: Tue, 12 Jan 2016 14:01:42 +0100
|
||||
Subject: [PATCH] Port one/one_udp.c to Linux 4.1
|
||||
|
||||
Kernel commit c0371da6047a replaced msg_iov and msg_iovlen with msg_iter
|
||||
in struct msghdr since 3.19
|
||||
|
||||
one/one_udp.c: In function 'ksocket_send_iov':
|
||||
one/one_udp.c:186:9: error: 'struct msghdr' has no member named 'msg_iov'
|
||||
one/one_udp.c:187:9: error: 'struct msghdr' has no member named 'msg_iovlen'
|
||||
|
||||
one/one_udp.c: In function 'ksocket_receive':
|
||||
one/one_udp.c:221:9: error: 'struct msghdr' has no member named 'msg_iov'
|
||||
one/one_udp.c:222:9: error: 'struct msghdr' has no member named 'msg_iovlen'
|
||||
|
||||
The iov_iter interface
|
||||
https://lwn.net/Articles/625077/
|
||||
|
||||
Kernel commit d8725c86aeba dropped the len parameter in sock_sendmsg
|
||||
since 4.1
|
||||
|
||||
one/one_udp.c: In function 'ksocket_send_iov':
|
||||
one/one_udp.c:192:13: error: too many arguments to function 'sock_sendmsg'
|
||||
|
||||
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
|
||||
---
|
||||
one/one_udp.c | 30 +++++++++++++++---------------
|
||||
1 file changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/one/one_udp.c b/one/one_udp.c
|
||||
index 26b9e6a1f729..b1daae164cdf 100644
|
||||
--- a/one/one_udp.c
|
||||
+++ b/one/one_udp.c
|
||||
@@ -161,7 +161,7 @@ ksocket_send_iov( struct socket *sock,
|
||||
const struct iovec *iov,
|
||||
size_t iov_count )
|
||||
{
|
||||
- struct msghdr msg;
|
||||
+ struct msghdr msg = { addr, sizeof *addr };
|
||||
mm_segment_t oldfs;
|
||||
int size = 0;
|
||||
size_t len = 0;
|
||||
@@ -178,18 +178,20 @@ ksocket_send_iov( struct socket *sock,
|
||||
for (i=0; i<iov_count; i++)
|
||||
len += iov[i].iov_len;
|
||||
|
||||
- msg.msg_flags = 0;
|
||||
- msg.msg_name = addr;
|
||||
- msg.msg_namelen = sizeof(struct sockaddr_in);
|
||||
- msg.msg_control = NULL;
|
||||
- msg.msg_controllen = 0;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) // commit c0371da6047a
|
||||
msg.msg_iov = (struct iovec*) iov;
|
||||
msg.msg_iovlen = iov_count;
|
||||
- msg.msg_control = NULL;
|
||||
+#else
|
||||
+ iov_iter_init(&msg.msg_iter, WRITE, iov, iov_count, len);
|
||||
+#endif
|
||||
|
||||
oldfs = get_fs();
|
||||
set_fs(KERNEL_DS);
|
||||
- size = sock_sendmsg(sock,&msg,len);
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) // commit d8725c86aeba
|
||||
+ size = sock_sendmsg(sock, &msg, len);
|
||||
+#else
|
||||
+ size = sock_sendmsg(sock, &msg);
|
||||
+#endif
|
||||
set_fs(oldfs);
|
||||
|
||||
return size;
|
||||
@@ -198,7 +200,7 @@ ksocket_send_iov( struct socket *sock,
|
||||
static int
|
||||
ksocket_receive(struct socket* sock, struct sockaddr_in* addr, void *buf, int len)
|
||||
{
|
||||
- struct msghdr msg;
|
||||
+ struct msghdr msg = { addr, sizeof *addr };
|
||||
struct iovec iov;
|
||||
mm_segment_t oldfs;
|
||||
int size = 0;
|
||||
@@ -213,14 +215,12 @@ ksocket_receive(struct socket* sock, struct sockaddr_in* addr, void *buf, int le
|
||||
iov.iov_base = buf;
|
||||
iov.iov_len = len;
|
||||
|
||||
- msg.msg_flags = 0;
|
||||
- msg.msg_name = addr;
|
||||
- msg.msg_namelen = sizeof(struct sockaddr_in);
|
||||
- msg.msg_control = NULL;
|
||||
- msg.msg_controllen = 0;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) // commit c0371da6047a
|
||||
msg.msg_iov = &iov;
|
||||
msg.msg_iovlen = 1;
|
||||
- msg.msg_control = NULL;
|
||||
+#else
|
||||
+ iov_iter_init(&msg.msg_iter, READ, &iov, 1, len);
|
||||
+#endif
|
||||
|
||||
oldfs = get_fs();
|
||||
set_fs(KERNEL_DS);
|
||||
@@ -0,0 +1 @@
|
||||
KERNEL=="fusion[0-9]*", NAME="fusion/%n", GROUP="video", MODE="0660"
|
||||
10
deprecated/firmware/buildroot/package/linux-fusion/Config.in
Normal file
10
deprecated/firmware/buildroot/package/linux-fusion/Config.in
Normal file
@@ -0,0 +1,10 @@
|
||||
comment "linux-fusion needs a Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
config BR2_PACKAGE_LINUX_FUSION
|
||||
bool "linux-fusion communication layer for DirectFB multi"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
|
||||
help
|
||||
DirectFB Communication Layer allowing multiple DirectFB
|
||||
applications to run concurrently
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 c3c71af364ef774c70d3f6fbc32d14bc786d915df633d6fe733e1fde84ad6e99 linux-fusion-9.0.3.tar.xz
|
||||
@@ -0,0 +1,43 @@
|
||||
################################################################################
|
||||
#
|
||||
# linux-fusion
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LINUX_FUSION_VERSION = 9.0.3
|
||||
LINUX_FUSION_SITE = http://directfb.org/downloads/Core/linux-fusion
|
||||
LINUX_FUSION_SOURCE = linux-fusion-$(LINUX_FUSION_VERSION).tar.xz
|
||||
LINUX_FUSION_INSTALL_STAGING = YES
|
||||
LINUX_FUSION_DEPENDENCIES = linux
|
||||
LINUX_FUSION_LICENSE = GPLv2+
|
||||
LINUX_FUSION_LICENSE_FILES = debian/copyright
|
||||
|
||||
LINUX_FUSION_ETC_DIR = $(TARGET_DIR)/etc/udev/rules.d
|
||||
|
||||
LINUX_FUSION_MAKE_OPTS = \
|
||||
KERNEL_VERSION=$(LINUX_VERSION_PROBED) \
|
||||
KERNEL_BUILD=$(LINUX_DIR) \
|
||||
KERNEL_SOURCE=$(LINUX_DIR) \
|
||||
SYSROOT=$(TARGET_DIR) \
|
||||
ARCH=$(KERNEL_ARCH) \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
KERNEL_MODLIB=/lib/modules/$(LINUX_VERSION_PROBED)/kernel
|
||||
|
||||
define LINUX_FUSION_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(LINUX_FUSION_MAKE_OPTS) -C $(@D)
|
||||
endef
|
||||
|
||||
define LINUX_FUSION_INSTALL_STAGING_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) $(LINUX_FUSION_MAKE_OPTS) INSTALL_MOD_PATH=$(STAGING_DIR) -C $(@D) headers_install
|
||||
endef
|
||||
|
||||
define LINUX_FUSION_INSTALL_TARGET_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) \
|
||||
$(LINUX_FUSION_MAKE_OPTS) \
|
||||
INSTALL_MOD_PATH=$(TARGET_DIR) \
|
||||
-C $(@D) install
|
||||
$(INSTALL) -D -m 644 package/linux-fusion/40-fusion.rules \
|
||||
$(LINUX_FUSION_ETC_DIR)/40-fusion.rules
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user