diff options
author | Koen Kooi <koen@openembedded.org> | 2009-01-10 10:44:13 +0100 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2009-01-10 10:44:13 +0100 |
commit | d076ad3dbeac4bf7a58a335348c1560dd23799a7 (patch) | |
tree | f402fe30741bb8ea76d0f411a1179c6ac937be76 /packages/char-driver | |
parent | 06af67f2e653d6b0d45117f9aaad0b25db1eaa67 (diff) |
gumstix utils: add char-driver, gpio-event, i2c and microwindows
Diffstat (limited to 'packages/char-driver')
-rw-r--r-- | packages/char-driver/char-driver.bb | 62 | ||||
-rw-r--r-- | packages/char-driver/char-driver/makefile.patch | 26 | ||||
-rw-r--r-- | packages/char-driver/char-driver/sysctl.patch | 34 |
3 files changed, 122 insertions, 0 deletions
diff --git a/packages/char-driver/char-driver.bb b/packages/char-driver/char-driver.bb new file mode 100644 index 0000000000..e6458b599b --- /dev/null +++ b/packages/char-driver/char-driver.bb @@ -0,0 +1,62 @@ +DESCRIPTION = "char-driver and userspace program" +PRIORITY = "optional" +SECTION = "base" +LICENSE = "GPL" +RDEPENDS = "kernel (${KERNEL_VERSION})" +DEPENDS = "virtual/kernel" + +PR = "r3" + +SRC_URI = "http://www.davehylands.com/gumstix-wiki/char-driver/char-driver-2.6.21.tar.gz \ + file://makefile.patch;patch=1 \ +# file://sysctl.patch;patch=1 \ + " + +S = "${WORKDIR}/char-driver" + +inherit module-base + +addtask builddir after do_fetch before do_unpack +addtask movesrc after do_unpack before do_patch + +EXTRA_OEMAKE = 'CROSS_COMPILE="${CROSS_COMPILE}" \ + KERNELDIR="${KERNEL_SOURCE}" \ + CC="${CC}" \ + ' + +PARALLEL_MAKE = "" + +do_builddir () { + mkdir -p ${S} +} + +do_movesrc () { + cd ${WORKDIR} + mv char-driver*.c sample.c char-driver*.h Makefile ${S} +} + +do_configure () { + echo "Nothing to configure for char-driver" +} + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + cd ${S} + oe_runmake +} + +do_install () { + # install programs to bindir + install -m 0755 -d ${D}${bindir} + install -m 0755 ${S}/sample ${D}${bindir} + + # kernel module installs with other modules + install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra/ + # use cp instead of install so the driver doesn't get stripped + cp ${S}/char-driver.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra/ +} + +PACKAGES = "${PN}" +FILES_${PN} = "${bindir}/sample" +FILES_${PN} += "${base_libdir}/modules/${KERNEL_VERSION}/extra/char-driver.ko" + diff --git a/packages/char-driver/char-driver/makefile.patch b/packages/char-driver/char-driver/makefile.patch new file mode 100644 index 0000000000..d2d8e3c705 --- /dev/null +++ b/packages/char-driver/char-driver/makefile.patch @@ -0,0 +1,26 @@ +--- char-driver/Makefile.orig 2008-03-09 14:38:02.000000000 -0600 ++++ char-driver/Makefile 2008-03-09 14:39:04.000000000 -0600 +@@ -19,10 +19,10 @@ +
+ PWD := $(shell pwd)
+
+-GUMSTIX_BUILDROOT = $(PWD)/../gumstix-buildroot
+-BUILD_ARM = $(wildcard $(GUMSTIX_BUILDROOT)/build_arm*)
+-KERNELDIR ?= $(wildcard $(BUILD_ARM)/linux-*)
+-CROSS_COMPILE = $(BUILD_ARM)/staging_dir/bin/arm-linux-
++#GUMSTIX_BUILDROOT = $(PWD)/../gumstix-buildroot
++#BUILD_ARM = $(wildcard $(GUMSTIX_BUILDROOT)/build_arm*)
++#KERNELDIR ?= $(wildcard $(BUILD_ARM)/linux-*)
++#CROSS_COMPILE = $(BUILD_ARM)/staging_dir/bin/arm-linux-
+
+ default: user-apps kernel-module
+
+@@ -31,7 +31,7 @@ + user-apps: sample
+
+ TARGET_ARCH=-Os -march=armv5te -mtune=xscale -Wa,-mcpu=xscale
+-CC = $(CROSS_COMPILE)gcc
++#CC = $(CROSS_COMPILE)gcc
+
+ sample: sample.c
+
diff --git a/packages/char-driver/char-driver/sysctl.patch b/packages/char-driver/char-driver/sysctl.patch new file mode 100644 index 0000000000..1c7a7600ba --- /dev/null +++ b/packages/char-driver/char-driver/sysctl.patch @@ -0,0 +1,34 @@ +--- char-driver/char-driver.c.orig 2008-03-09 13:05:30.000000000 -0600 ++++ char-driver/char-driver.c 2008-03-09 13:04:33.000000000 -0600 +@@ -26,7 +26,6 @@ + /* ---- Include Files ---------------------------------------------------- */ + + #include <linux/module.h> +-#include <linux/config.h> + #include <linux/init.h> + #include <linux/fs.h> + #include <linux/spinlock.h> +@@ -426,12 +425,17 @@ + printk( "sample driver allocated major:%d minor:%d\n", MAJOR( gSampleDevNum ), MINOR( gSampleDevNum )); + + // Register our proc entries. +- +- gSysCtlHeader = register_sysctl_table( gSysCtl, 0 ); +- if ( gSysCtlHeader != NULL ) +- { +- gSysCtlHeader->ctl_table->child->de->owner = THIS_MODULE; +- } ++#if USE_SYSCTL ++ #if ( LINUX_VERSION_CODE <= KERNEL_VERSION( 2, 6, 20 )) ++ gSysCtlHeader = register_sysctl_table( gSysCtl, 0 ); ++ if ( gSysCtlHeader != NULL ) ++ { ++ gSysCtlHeader->ctl_table->child->de->owner = THIS_MODULE; ++ } ++ #else ++ gSysCtlHeader = register_sysctl_table( gSysCtl ); ++ #endif ++#endif + + // Register our device. The device becomes "active" as soon as cdev_add + // is called. |