led: add led from h3600-utils (adapted from .oz354fam083)
authorKoen Kooi <koen@openembedded.org>
Sat, 4 Feb 2006 17:07:12 +0000 (17:07 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Sat, 4 Feb 2006 17:07:12 +0000 (17:07 +0000)
packages/led/.mtn2git_empty [new file with mode: 0644]
packages/led/files/.mtn2git_empty [new file with mode: 0644]
packages/led/files/nokernelheader.patch [new file with mode: 0644]
packages/led/led_cvs.bb [new file with mode: 0644]

diff --git a/packages/led/.mtn2git_empty b/packages/led/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/led/files/.mtn2git_empty b/packages/led/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/led/files/nokernelheader.patch b/packages/led/files/nokernelheader.patch
new file mode 100644 (file)
index 0000000..d8b6185
--- /dev/null
@@ -0,0 +1,43 @@
+--- bl.c.orig  2004-12-23 00:15:06.000000000 +0100
++++ bl.c       2004-12-23 00:22:59.000000000 +0100
+@@ -38,8 +38,39 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <linux/ioctl.h>
+-#include <linux/h3600_ts.h>
++enum flite_mode {
++  FLITE_MODE1 = 1,
++  FLITE_AUTO_MODE   = 1,     /* for reference only */
++  FLITE_MANUAL_MODE = 2,     /* Use this normally? */
++  FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */
++};
++enum flite_pwr {
++  FLITE_PWR_OFF = 0,
++  FLITE_PWR_ON  = 1
++};
++ 
++typedef struct h3600_ts_flite {
++  unsigned char mode;
++  unsigned char pwr;
++  unsigned char brightness;
++} FLITE_IN;
++                              
++/*************************** Updated "universal" structures *******************/
++                                                                     
++/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */
++struct h3600_ts_backlight {
++enum flite_pwr power;          /* 0 = off, 1 = on */
++unsigned char  brightness;     /* 0 - 255         */
++};
++
++/* Use 'f' as magic number */
++#define IOC_H3600_TS_MAGIC  'f'
++
++#define TS_GET_BACKLIGHT        _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
++#define TS_SET_BACKLIGHT        _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
++#define FLITE_ON                _IOW(IOC_H3600_TS_MAGIC,  7, struct h3600_ts_flite)
++                                                                       
+ /* The ioctl can be called from a ts, tsraw or key file descriptor */
+ #define DEV_NODE "/dev/touchscreen/0"
+ int debug = 0;
diff --git a/packages/led/led_cvs.bb b/packages/led/led_cvs.bb
new file mode 100644 (file)
index 0000000..7d3b76c
--- /dev/null
@@ -0,0 +1,27 @@
+SECTION = "base"
+LICENSE= "GPL"
+PV = "0.0cvs${SRCDATE}"
+DESCRIPTION = "Command line tool for iPaq LED control"
+
+SRC_URI = "${HANDHELDS_CVS};module=apps/h3600_test \
+           file://nokernelheader.patch;patch=1;pnum=0"
+inherit module-base
+
+S = "${WORKDIR}/h3600_test"
+PR = "r0"
+
+inherit pkgconfig
+
+FILES_${PN} = "${bindir}"
+
+do_configure (){
+}
+
+do_compile (){
+       oe_runmake led CC="${CROSS_DIR}/bin/${TARGET_SYS}-gcc -I${STAGING_INCDIR} -I${STAGING_KERNEL_DIR}/include  -L${STAGING_LIBDIR}" AS=${CROSS_DIR}/bin/${TARGET_SYS}-as LD=${CROSS_DIR}/bin/${TARGET_SYS}-ld
+}
+
+do_install () {
+        install -d ${D}${bindir}
+        install -m 4755 ${S}/led ${D}${bindir}/led
+}