Move all to deprecated folder.

This commit is contained in:
2016-11-16 21:57:57 +01:00
parent 01738a7684
commit 05de7d6c04
9777 changed files with 0 additions and 0 deletions

View File

@@ -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) \))

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -0,0 +1 @@
KERNEL=="fusion[0-9]*", NAME="fusion/%n", GROUP="video", MODE="0660"

View 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

View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 c3c71af364ef774c70d3f6fbc32d14bc786d915df633d6fe733e1fde84ad6e99 linux-fusion-9.0.3.tar.xz

View File

@@ -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))