diff options
49 files changed, 7131 insertions, 485 deletions
diff --git a/classes/image.bbclass b/classes/image.bbclass index 2ed0ee1de7..fd0df4df08 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -2,19 +2,6 @@ inherit rootfs_${IMAGE_PKGTYPE} LICENSE = "MIT" PACKAGES = "" -RDEPENDS += "${IMAGE_INSTALL}" - -# "export IMAGE_BASENAME" not supported at this time -IMAGE_BASENAME[export] = "1" -export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}" - -# We need to recursively follow RDEPENDS and RRECOMMENDS for images -do_rootfs[recrdeptask] += "do_deploy do_populate_staging" - -# Images are generally built explicitly, do not need to be part of world. -EXCLUDE_FROM_WORLD = "1" - -USE_DEVFS ?= "0" # # udev, devfsd, busybox-mdev (from busybox) or none @@ -28,15 +15,26 @@ IMAGE_INITSCRIPTS ?= "initscripts" # # tinylogin, getty # -IMAGE_LOGIN_MANAGER ?= "tinylogin" +IMAGE_LOGIN_MANAGER ?= "tinylogin" IMAGE_VARS = "${IMAGE_INITSCRIPTS} \ ${IMAGE_DEV_MANAGER} \ ${IMAGE_INIT_MANAGER} \ ${IMAGE_LOGIN_MANAGER} " -RDEPENDS += "${IMAGE_VARS}" -PACKAGE_INSTALL += "${IMAGE_VARS}" +RDEPENDS += "${IMAGE_INSTALL} ${IMAGE_VARS}" + +# "export IMAGE_BASENAME" not supported at this time +IMAGE_BASENAME[export] = "1" +export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${IMAGE_VARS}" + +# We need to recursively follow RDEPENDS and RRECOMMENDS for images +do_rootfs[recrdeptask] += "do_deploy do_populate_staging" + +# Images are generally built explicitly, do not need to be part of world. +EXCLUDE_FROM_WORLD = "1" + +USE_DEVFS ?= "0" PID = "${@os.getpid()}" diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index e752449305..f5714bd1a3 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -21,7 +21,10 @@ ONLINE_PACKAGE_MANAGEMENT ?= "full" # Which packages to not install on the basis of a recommendation BAD_RECOMMENDATIONS ?= "" -DISTRO_EXTRA_RDEPENDS += "${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "opkg opkg-collateral", d)}" +IPKG_VARIANT ?= "opkg" + +RDEPENDS_append = " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "${IPKG_VARIANT} opkg-collateral", d)}" +PACKAGE_INSTALL_append = " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "${IPKG_VARIANT} opkg-collateral", d)}" fakeroot rootfs_ipk_do_rootfs () { set -x diff --git a/conf/checksums.ini b/conf/checksums.ini index 5efcecf298..9492b94809 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -4618,6 +4618,10 @@ sha256=635d6d07e5a4d615e599c051166af965baa754f9ff7435e746de1a5d2a5c0d56 md5=1c1c5177aea9a23b45b9b3f5b3241819 sha256=635d6d07e5a4d615e599c051166af965baa754f9ff7435e746de1a5d2a5c0d56 +[http://qa.debian.org/watch/sf.php/e2fsprogs/e2fsprogs-1.41.4.tar.gz] +md5=59033388df36987d2b9c9bbf7e19bd57 +sha256=2cc10fee2b29add737e454eb634513135b34a638f7ca2b18364864fe089020dc + [http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.33.tar.gz] md5=c7545bb05e0c2fc59174f0dc455c6519 sha256=a65d064bee3e97c164d07a490692db0e73da8da10019ad9a89866706c93ae703 diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index 062cba7ac6..27545cebde 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -181,6 +181,12 @@ PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap" ARM_ABI ?= "${@['','oabi'][bb.data.getVar('MACHINE',d) in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}" require conf/distro/include/angstrom${ARM_ABI}.inc + + +# If we're using an .ipk based rootfs, we want to have opkg-nogpg installed so postinst script can run +# We also take this opportunity to inject angstrom-version and the feed configs into the rootfs +IPKG_VARIANT = "opkg-nogpg angstrom-version ${ANGSTROM_FEED_CONFIGS}" + # do some task-base stuff here # We want to ship extra debug utils in the rootfs when doing a debug build diff --git a/conf/distro/slugos.conf b/conf/distro/slugos.conf index 6182591d6a..3e816f7c58 100644 --- a/conf/distro/slugos.conf +++ b/conf/distro/slugos.conf @@ -12,6 +12,8 @@ DISTRO_TYPE = "alpha" TARGET_ARCH ?= "armeb" ARM_INSTRUCTION_SET = "arm" TARGET_OS = "linux-gnueabi" +IPKG_VARIANT ?= "opkg-nogpg-nocurl" +IMAGE_INITSCRIPTS ?= "initscripts-slugos" require conf/distro/include/slugos.inc diff --git a/packages/bluez/bluez4_4.30.bb b/packages/bluez/bluez4_4.30.bb index 6499e3ff43..920c2ee05d 100644 --- a/packages/bluez/bluez4_4.30.bb +++ b/packages/bluez/bluez4_4.30.bb @@ -4,7 +4,7 @@ PRIORITY = "optional" DEPENDS = "gst-plugins-base alsa-lib libusb-compat libusb1 dbus-glib" HOMEPAGE = "http://www.bluez.org" LICENSE = "GPL" -PR = "r0" +PR = "r2" SRC_URI = "\ http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \ diff --git a/packages/busybox/busybox-static-1.11.3/B921600.patch b/packages/busybox/busybox-static-1.11.3/B921600.patch new file mode 100644 index 0000000000..61cc32b0e5 --- /dev/null +++ b/packages/busybox/busybox-static-1.11.3/B921600.patch @@ -0,0 +1,13 @@ +diff -upNr busybox-1.7.2/libbb/speed_table.c busybox-1.7.2-921600/libbb/speed_table.c +--- busybox-1.7.2/libbb/speed_table.c 2007-09-03 13:48:41.000000000 +0200 ++++ busybox-1.7.2-921600/libbb/speed_table.c 2008-10-09 16:23:26.269592899 +0200 +@@ -52,6 +52,9 @@ static const struct speed_map speeds[] = + #ifdef B460800 + {B460800, 460800/256 + 0x8000U}, + #endif ++#ifdef B921600 ++ {B921600, 921600/256 + 0x8000U}, ++#endif + }; + + enum { NUM_SPEEDS = ARRAY_SIZE(speeds) }; diff --git a/packages/dsplink/gstreamer-ti_svn.bb b/packages/dsplink/gstreamer-ti_svn.bb index b7ad411e32..dbf6671f08 100644 --- a/packages/dsplink/gstreamer-ti_svn.bb +++ b/packages/dsplink/gstreamer-ti_svn.bb @@ -1,7 +1,7 @@ DEPENDS = "ti-codec-engine ti-dmai gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly libid3tag liboil libmad" SRC_URI = "svn://omapzoom.org/svn/gstreamer_ti/trunk;module=gstreamer_ti;proto=https" -SRCREV = "87" +SRCREV = "110" PR = "r1" diff --git a/packages/e2fsprogs/e2fsprogs_1.41.4.bb b/packages/e2fsprogs/e2fsprogs_1.41.4.bb new file mode 100644 index 0000000000..dda4b81582 --- /dev/null +++ b/packages/e2fsprogs/e2fsprogs_1.41.4.bb @@ -0,0 +1,101 @@ +require e2fsprogs.inc + +PR = "r1" + +#SRC_URI += "file://no-hardlinks.patch;patch=1 \ +# file://mkinstalldirs.patch;patch=1 \ +# " + +do_configure() { + # avoid autoreconf + oe_runconf $@ +} + +do_compile_prepend () { + find ./ -print|xargs chmod u=rwX + ( cd util; ${BUILD_CC} subst.c -o subst ) +} + +ext2fsheaders = "ext2_ext_attr.h bitops.h ext2_err.h \ + ext2_types.h ext2_fs.h ext2_io.h \ + ext2fs.h" +e2pheaders = "e2p.h" + +do_stage () { + oe_libinstall -a -C lib libe2p ${STAGING_LIBDIR}/ + oe_libinstall -a -C lib libext2fs ${STAGING_LIBDIR}/ + install -d ${STAGING_INCDIR}/e2p + for h in ${e2pheaders}; do + install -m 0644 lib/e2p/$h ${STAGING_INCDIR}/e2p/ || die "failed to install $h" + done + install -d ${STAGING_INCDIR}/ext2fs + for h in ${ext2fsheaders}; do + install -m 0644 lib/ext2fs/$h ${STAGING_INCDIR}/ext2fs/ || die "failed to install $h" + done + autotools_stage_all +} + +# blkid used to be part of e2fsprogs but is useful outside, add it +# as an RDEPENDS so that anything relying on it being in e2fsprogs +# still works +RDEPENDS_e2fsprogs = "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-badblocks" + +PACKAGES =+ "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-tune2fs e2fsprogs-badblocks" +FILES_e2fsprogs-blkid = "${base_sbindir}/blkid.${PN}" +FILES_e2fsprogs-uuidgen = "${bindir}/uuidgen" +FILES_e2fsprogs-fsck = "${base_sbindir}/fsck.${PN}" +FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck.${PN} ${base_sbindir}/fsck.ext*.${PN}" +FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.${PN} ${base_sbindir}/mkfs.ext*.${PN}" +FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs ${base_sbindir}/e2label ${base_sbindir}/findfs" +FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" + +do_install_append () { + mv ${D}${base_sbindir}/fsck ${D}${base_sbindir}/fsck.${PN} + mv ${D}${base_sbindir}/blkid ${D}${base_sbindir}/blkid.${PN} + mv ${D}${base_sbindir}/e2fsck ${D}${base_sbindir}/e2fsck.${PN} + mv ${D}${base_sbindir}/fsck.ext2 ${D}${base_sbindir}/fsck.ext2.${PN} + mv ${D}${base_sbindir}/fsck.ext3 ${D}${base_sbindir}/fsck.ext3.${PN} + mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.${PN} + mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.${PN} + mv ${D}${base_sbindir}/mkfs.ext3 ${D}${base_sbindir}/mkfs.ext3.${PN} +} + +pkg_postinst_e2fsprogs-fsck () { + update-alternatives --install ${base_sbindir}/fsck fsck fsck.${PN} 100 +} + +pkg_prerm_e2fsprogs-fsck () { + update-alternatives --remove fsck fsck.${PN} +} + +pkg_postinst_e2fsprogs-blkid () { + update-alternatives --install ${base_sbindir}/blkid blkid blkid.${PN} 100 +} + +pkg_prerm_e2fsprogs-blkid () { + update-alternatives --remove blkid blkid.${PN} +} + +pkg_postinst_e2fsprogs-e2fsck () { + update-alternatives --install ${base_sbindir}/e2fsck e2fsck e2fsck.${PN} 100 + update-alternatives --install ${base_sbindir}/fsck.ext2 fsck.ext2 fsck.ext2.${PN} 100 + update-alternatives --install ${base_sbindir}/fsck.ext3 fsck.ext3 fsck.ext3.${PN} 100 +} + +pkg_prerm_e2fsprogs-e2fsck () { + update-alternatives --remove e2fsck e2fsck.${PN} + update-alternatives --remove fsck.ext2 fsck.ext2.${PN} + update-alternatives --remove fsck.ext3 fsck.ext3.${PN} +} + +pkg_postinst_e2fsprogs-mke2fs () { + update-alternatives --install ${base_sbindir}/mke2fs mke2fs mke2fs.${PN} 100 + update-alternatives --install ${base_sbindir}/mkfs.ext2 mkfs.ext2 mkfs.ext2.${PN} 100 + update-alternatives --install ${base_sbindir}/mkfs.ext3 mkfs.ext3 mkfs.ext3.${PN} 100 +} + +pkg_prerm_e2fsprogs-mke2fs () { + update-alternatives --remove mke2fs mke2fs.${PN} + update-alternatives --remove mkfs.ext2 mkfs.ext2.${PN} + update-alternatives --remove mkfs.ext3 mkfs.ext3.${PN} +} diff --git a/packages/gpsd/gpsd.inc b/packages/gpsd/gpsd.inc index e4f5a9988b..1022091c6c 100644 --- a/packages/gpsd/gpsd.inc +++ b/packages/gpsd/gpsd.inc @@ -24,7 +24,7 @@ inherit autotools update-rc.d INITSCRIPT_NAME = "gpsd" INITSCRIPT_PARAMS = "defaults 35" -export LDFLAGS = "-L${STAGING_LIBDIR} -lm" +LDFLAGS += "-L${STAGING_LIBDIR} -lm" export STAGING_INCDIR export STAGING_LIBDIR diff --git a/packages/gpsd/gpsd_2.37.bb b/packages/gpsd/gpsd_2.38.bb index 726ba42481..58e9ebeee2 100644 --- a/packages/gpsd/gpsd_2.37.bb +++ b/packages/gpsd/gpsd_2.38.bb @@ -1,3 +1,3 @@ require gpsd.inc -PR = "r2" +PR = "r0" diff --git a/packages/gtk-webcore/midori_git.bb b/packages/gtk-webcore/midori_git.bb index 9354a89a43..f4039a414f 100644 --- a/packages/gtk-webcore/midori_git.bb +++ b/packages/gtk-webcore/midori_git.bb @@ -2,7 +2,9 @@ require midori.inc DEPENDS += "python-native python-docutils-native" -PV = "0.1.2+gitr${SRCREV}" +# increment PR every time SRCREV is updated! +PR = "r0" +PV = "0.1.2+${PR}+gitr${SRCREV}" SRC_URI = "http://git.xfce.org/kalikiana/midori/snapshot/midori-${SRCREV}.tar.bz2" S = "${WORKDIR}/midori-${SRCREV}" diff --git a/packages/initrdscripts/files/00-psplash.sh b/packages/initrdscripts/files/00-psplash.sh index 491fe13fc3..db8aabedd7 100644 --- a/packages/initrdscripts/files/00-psplash.sh +++ b/packages/initrdscripts/files/00-psplash.sh @@ -1,4 +1,6 @@ -mkdir -p /mnt/.psplash -mount tmpfs -t tmpfs /mnt/.psplash -o,size=40k +if ! grep -Eq '\s?psplash=false\s?' /proc/cmdline; then + mkdir -p /mnt/.psplash + mount tmpfs -t tmpfs /mnt/.psplash -o,size=40k -psplash & + psplash & +fi diff --git a/packages/initrdscripts/files/80-ext3.sh b/packages/initrdscripts/files/80-ext3.sh index ed1909947b..1f52d391fa 100644 --- a/packages/initrdscripts/files/80-ext3.sh +++ b/packages/initrdscripts/files/80-ext3.sh @@ -1,7 +1,7 @@ ext3_mount () { modprobe -q ext3 - mkdir $2 + mkdir -p $2 mount -t ext3 -onoatime,data=journal,errors=continue $1 $2 } diff --git a/packages/initrdscripts/files/98-aufs.sh b/packages/initrdscripts/files/98-aufs.sh index df05418c57..5f7cc11432 100644 --- a/packages/initrdscripts/files/98-aufs.sh +++ b/packages/initrdscripts/files/98-aufs.sh @@ -1,7 +1,7 @@ aufs_mount () { modprobe -q aufs - mkdir $2 /mnt + mkdir -p $2 /mnt mount -t aufs -o br:$1:$2 none /mnt } diff --git a/packages/initrdscripts/files/99-psplash.sh b/packages/initrdscripts/files/99-psplash.sh index fa488cff8b..3d5f1d60d1 100644 --- a/packages/initrdscripts/files/99-psplash.sh +++ b/packages/initrdscripts/files/99-psplash.sh @@ -1,2 +1,4 @@ -mkdir -p /mnt/mnt/.psplash -mount -n -o move /mnt/.psplash /mnt/mnt/.psplash +if ! grep -Eq '\s?psplash=false\s?' /proc/cmdline; then + mkdir -p /mnt/mnt/.psplash + mount -n -o move /mnt/.psplash /mnt/mnt/.psplash +fi diff --git a/packages/initrdscripts/files/init.sh b/packages/initrdscripts/files/init.sh index 5cdbab5e0d..221b8f56b9 100644 --- a/packages/initrdscripts/files/init.sh +++ b/packages/initrdscripts/files/init.sh @@ -35,10 +35,16 @@ read_args() { ROOT_FSTYPE=$optarg ;; rootdelay=*) rootdelay=$optarg ;; + debug) set -x ;; + shell) sh ;; esac done } +do_depmod() { + [ -e "/lib/modules/$(uname -r)/modules.dep" ] || depmod +} + load_module() { # Cannot redir to $CONSOLE here easily - may not be set yet echo "initramfs: Loading $module module" @@ -66,6 +72,7 @@ fatal() { echo "Starting initramfs boot..." early_setup load_modules '0*' +do_depmod [ -z "$CONSOLE" ] && CONSOLE="/dev/console" diff --git a/packages/initrdscripts/initramfs-module-psplash_1.0.bb b/packages/initrdscripts/initramfs-module-psplash_1.0.bb index a765b36ad3..1cc6f9eabc 100644 --- a/packages/initrdscripts/initramfs-module-psplash_1.0.bb +++ b/packages/initrdscripts/initramfs-module-psplash_1.0.bb @@ -1,5 +1,5 @@ SRC_URI = "file://00-psplash.sh file://99-psplash.sh" -PR = "r1" +PR = "r2" RDEPENDS = "initramfs-uniboot psplash" DESCRIPTION = "An initramfs module to enable psplash." diff --git a/packages/libnetfilter-queue/libnetfilter-queue.inc b/packages/libnetfilter-queue/libnetfilter-queue.inc new file mode 100644 index 0000000000..96ec16c330 --- /dev/null +++ b/packages/libnetfilter-queue/libnetfilter-queue.inc @@ -0,0 +1,22 @@ +DESCRIPTION = "libnetfilter_queue is a userspace library providing an API to \ +packets that have been queued by the kernel packet filter. It is is part of a \ +system that deprecates the old ip_queue / libipq mechanism." + +SECTION = "devel/libs" +LICENSE = "GPL" +HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_queue/index.html" +PR = "r0" + + +DEPENDS = "libnfnetlink" + +SRC_URI = "http://www.netfilter.org/projects/libnetfilter_queue/files/libnetfilter_queue-${PV}.tar.bz2" + +S = "${WORKDIR}/libnetfilter_queue-${PV}" + +inherit autotools pkgconfig + +do_stage() { + autotools_stage_all +} + diff --git a/packages/libnetfilter-queue/libnetfilter-queue_0.0.13.bb b/packages/libnetfilter-queue/libnetfilter-queue_0.0.13.bb index 97af3a7da5..044777c0ce 100644 --- a/packages/libnetfilter-queue/libnetfilter-queue_0.0.13.bb +++ b/packages/libnetfilter-queue/libnetfilter-queue_0.0.13.bb @@ -1,30 +1,2 @@ -DESCRIPTION = "libnetfilter_queue is a userspace library providing an API to \ -packets that have been queued by the kernel packet filter. It is is part of a \ -system that deprecates the old ip_queue / libipq mechanism." - -SECTION = "devel/libs" -LICENSE = "GPL" -HOMEPAGE = "http://www.netfilter.org/projects/libnetfilter_queue/index.html" -PR = "r0" - - -# This package requires libtool-cross-1.5.24 which is not the default libtool -# used by OE (25AUG2007) -DEPENDS = "libnfnetlink libtool-cross (>=1.5.24)" - -SRC_URI = "http://www.netfilter.org/projects/libnetfilter_queue/files/libnetfilter_queue-${PV}.tar.bz2" - -S = "${WORKDIR}/libnetfilter_queue-${PV}" - -inherit autotools pkgconfig - -do_configure() { - gnu-configize - libtoolize --force - oe_runconf -} - -do_stage() { - autotools_stage_all -} +include libnetfilter-queue.inc diff --git a/packages/libnetfilter-queue/libnetfilter-queue_0.0.16.bb b/packages/libnetfilter-queue/libnetfilter-queue_0.0.16.bb new file mode 100644 index 0000000000..044777c0ce --- /dev/null +++ b/packages/libnetfilter-queue/libnetfilter-queue_0.0.16.bb @@ -0,0 +1,2 @@ +include libnetfilter-queue.inc + diff --git a/packages/linux/linux-2.6.27/boc01/012-090115-cy3218-btns.patch b/packages/linux/linux-2.6.27/boc01/012-090115-cy3218-btns.patch deleted file mode 100644 index 2529be5274..0000000000 --- a/packages/linux/linux-2.6.27/boc01/012-090115-cy3218-btns.patch +++ /dev/null @@ -1,406 +0,0 @@ -Index: linux-2.6.27/drivers/input/misc/cy3218-btns.c -=================================================================== ---- /dev/null -+++ linux-2.6.27/drivers/input/misc/cy3218-btns.c -@@ -0,0 +1,373 @@ -+/* -+ * CAPSENSE Interface driver -+ * -+ * -+ * Copyright (C) 2008, CenoSYS (www.cenosys.com). -+ * -+ * Guillaume Ligneul <guillaume.ligneul@gmail.com> -+ * Jeremy Lainé <jeremy.laine@bolloretelecom.eu> -+ * Sylvain Giroudon <sylvain.giroudon@goobie.fr> -+ * -+ * This software program is licensed subject to the GNU General Public License -+ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html -+ */ -+ -+#include <linux/init.h> -+#include <linux/input-polldev.h> -+#include <linux/ioport.h> -+#include <linux/module.h> -+#include <linux/i2c.h> -+#include <linux/leds.h> -+ -+static int capsense_attach_adapter(struct i2c_adapter *adapter); -+static int capsense_detach_client(struct i2c_client *client); -+#ifdef CONFIG_PM -+static int capsense_suspend(struct i2c_client *client, pm_message_t mesg); -+static int capsense_resume(struct i2c_client *client); -+#endif -+ -+#define CAPSENSE_NAME "Capsense" -+ -+/* i2c configuration */ -+#define CAPSENSE_I2C_ADDR 0x25 -+// To debug (may be add in include/linux/i2c-id.h) -+#define I2C_DRIVERID_CAPSENSE 98 -+ -+#define BUTTONS_POLL_INTERVAL 30 /* msec */ -+ -+#define CAP_OUTPUT_PORT(port) (0x04+(port)) -+#define CAP_OP_SEL(port,bit) (0x1C+(25*(port))+(5*(bit))) -+#define CAP_READ_STATUS(port) (0x88+(port)) -+ -+#define MASK0 0x10 -+#define MASK1 0x4 -+#define MASK2 0x8 -+#define MASK3 0x1 -+ -+#define CAP_NLEDS 5 -+ -+static int poll_interval = BUTTONS_POLL_INTERVAL; -+module_param_named(poll, poll_interval, uint, 0); -+MODULE_PARM_DESC(poll, "poll interval in msec (30=default)"); -+ -+static const unsigned short normal_i2c[] = { -+ CAPSENSE_I2C_ADDR , I2C_CLIENT_END -+}; -+I2C_CLIENT_INSMOD; -+ -+static struct i2c_driver capsense_driver = { -+ .driver = { -+ .name = CAPSENSE_NAME, -+ }, -+ .id = I2C_DRIVERID_CAPSENSE, -+ .attach_adapter = &capsense_attach_adapter, -+ .detach_client = &capsense_detach_client, -+#ifdef CONFIG_PM -+ .suspend = &capsense_suspend, -+ .resume = &capsense_resume, -+#endif -+}; -+ -+struct cy3218_led { -+ struct led_classdev cdev; -+ struct cy3218 *capsense; -+ int port; -+ int bit; -+}; -+ -+struct cy3218 { -+ struct input_polled_dev *ipdev; -+ struct i2c_client client; -+ unsigned char key_state; -+ struct cy3218_led leds[CAP_NLEDS]; -+ unsigned char led_state[2]; -+ struct mutex mutex; -+}; -+ -+static unsigned short keymap[] = { -+ // GP0 -+ KEY_F1, -+ KEY_ENTER, -+ KEY_DOWN, -+ KEY_BACKSPACE, -+ // GP1 -+ KEY_UP, -+}; -+ -+struct cy3218_ledmap { -+ char *name; -+ int port, bit; -+}; -+ -+static struct cy3218_ledmap ledmap[CAP_NLEDS] = { -+ { "capsense:blue:back", 0, 1 }, -+ { "capsense:blue:info", 1, 0 |
