Commit e9df9c3d authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

Merge branch 'linux-fusion-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot

parents 470e9dee 2fc19d0e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ if BR2_PACKAGE_DIRECTFB
config BR2_PACKAGE_DIRECTFB_MULTI
	bool "directfb multi application"
	select BR2_PACKAGE_LINUX_FUSION
	depends on !BR2_KERNEL_none
	depends on BR2_LINUX_KERNEL
	help
	  Enable use of multiple concurrent DirectFB applications

+1 −1
Original line number Diff line number Diff line
config BR2_PACKAGE_LINUX_FUSION
	depends on !BR2_KERNEL_none
	depends on BR2_LINUX_KERNEL
	bool "linux-fusion communication layer for DirectFB multi"
	help
	  DirectFB Communication Layer allowing multiple DirectFB
+17 −0
Original line number Diff line number Diff line
fusiondev.c does not compile due to TASK_INTERRUPTIBLE and other
related constants not being defined.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: linux-fusion-8.1.1/linux/drivers/char/fusion/fusiondev.c
===================================================================
--- linux-fusion-8.1.1.orig/linux/drivers/char/fusion/fusiondev.c	2010-07-16 22:49:23.000000000 +0200
+++ linux-fusion-8.1.1/linux/drivers/char/fusion/fusiondev.c	2010-07-16 22:49:39.000000000 +0200
@@ -32,6 +32,7 @@
 #include <linux/proc_fs.h>
 #include <linux/poll.h>
 #include <linux/init.h>
+#include <linux/sched.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 
+14 −29
Original line number Diff line number Diff line
@@ -7,60 +7,45 @@ LINUX_FUSION_VERSION = 8.1.1
LINUX_FUSION_SOURCE = linux-fusion-$(LINUX_FUSION_VERSION).tar.gz
LINUX_FUSION_SITE = http://directfb.org/downloads/Core/linux-fusion
LINUX_FUSION_INSTALL_STAGING = YES
LINUX_FUSION_DEPENDENCIES = linux26

# BR2_LINUX26_VERSION is not really dependable
# LINUX26_VERSION is not yet set.
# Retrieve REAL kernel version from file.
LINUX_FOR_FUSION=$(LINUX_VERSION)
# `cat $(BUILD_DIR)/.linux-version`
LINUX_FOR_FUSION=$(LINUX26_VERSION_PROBED)
LINUX_FUSION_ETC_DIR=$(TARGET_DIR)/etc/udev/rules.d

LINUX_FUSION_CAT=$(ZCAT)

LINUX_FUSION_MAKE_OPTS =  KERNEL_VERSION=$(LINUX_FOR_FUSION)
LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(BUILD_DIR)/linux-$(LINUX_FOR_FUSION)
LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(BUILD_DIR)/linux-$(LINUX_FOR_FUSION)
LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(LINUX26_DIR)
LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(LINUX26_DIR)

LINUX_FUSION_MAKE_OPTS += SYSROOT=$(STAGING_DIR)
LINUX_FUSION_MAKE_OPTS += SYSROOT=$(TARGET_DIR)
LINUX_FUSION_MAKE_OPTS += ARCH=$(KERNEL_ARCH)
LINUX_FUSION_MAKE_OPTS += CROSS_COMPILE=$(TARGET_CROSS)
LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_FOR_FUSION)
LINUX_FUSION_MAKE_OPTS += DESTDIR=$(BUILD_DIR)/root
LINUX_FUSION_MAKE_OPTS += HEADERDIR=$(STAGING_DIR)
#LINUX_FUSION_MAKE_OPTS +=

#LINUX_FUSION_MAKE_OPTS += __KERNEL__=$(LINUX26_VERSION)
LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_FOR_FUSION)/kernel

define LINUX_FUSION_BUILD_CMDS
	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(LINUX_FUSION_MAKE_OPTS) -C $(@D)
endef

# Only the header file is needed in the staging directory
define LINUX_FUSION_INSTALL_STAGING_CMDS
	mkdir -p $(STAGING_DIR)/lib/modules/$(LINUX_FOR_FUSION)/source/include/linux
	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
		$(LINUX_FUSION_MAKE_OPTS) \
		INSTALL_MOD_PATH=$(STAGING_DIR) \
		-C $(@D) headers_install
	install -m 644 $(@D)/linux/include/linux/fusion.h $(STAGING_DIR)/usr/include/linux
endef

define LINUX_FUSION_INSTALL_TARGET_CMDS
	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
		$(LINUX_FUSION_MAKE_OPTS) \
		INSTALL_MOD_PATH=$(TARGET_DIR) \
		-C $(@D) install
	mkdir -p $(LINUX_FUSION_ETC_DIR)
	cp -dpf package/linux-fusion/40-fusion.rules $(LINUX_FUSION_ETC_DIR)
endef

define LINUX_FUSION_UNINSTALL_STAGING
define LINUX_FUSION_UNINSTALL_STAGING_CMDS
	rm -f $(STAGING_DIR)/usr/include/linux/fusion.h
endef

LINUX_FUSION_UNINSTALL_STAGING_CMDS += LINUX_FUSION_UNINSTALL_STAGING

define LINUX_FUSION_UNINSTALL_TARGET
define LINUX_FUSION_UNINSTALL_TARGET_CMDS
	rm -f $(TARGET_DIR)/usr/include/linux/fusion.h
	rm -rf $(TARGET_DIR)/lib/modules/$(LINUX_FOR_FUSION)/drivers/char/fusion
	rm -rf $(TARGET_DIR)/lib/modules/$(LINUX_FOR_FUSION)/kernel/drivers/char/fusion
	rm -f $(LINUX_FUSION_ETC_DIR)/40-fusion.rules
endef

LINUX_FUSION_UNINSTALL_TARGET_CMDS += LINUX_FUSION_UNINSTALL_TARGET

$(eval $(call GENTARGETS,package,linux-fusion))