From 7285547e67f8924aace7a78773fa57f9b8fd5bd7 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Wed, 8 Oct 2008 23:25:53 +0200 Subject: bcm5974 (0.55) unstable; urgency=low * Package updates. * Reverting GFP_ATOMIC for irq handlers. -- Henrik Rydberg Wed, 09 Jul 2008 20:59:39 +0200 --- CHANGES | 120 +++++++++++++++++++------------- INSTALL | 2 +- bcm5974-dkms-mkdeb/debian/README.Debian | 23 ++++-- bcm5974-dkms-mkdeb/debian/changelog | 4 +- bcm5974-dkms-mkdeb/debian/control | 5 ++ bcm5974-dkms-mkdeb/debian/copyright | 41 ++++++++++- bcm5974-dkms-mkdeb/debian/dirs | 1 - bcm5974.c | 6 +- dkms.conf | 3 +- scripts/bcm5974-pre-install | 43 ++++++++++++ 10 files changed, 185 insertions(+), 63 deletions(-) create mode 100755 scripts/bcm5974-pre-install diff --git a/CHANGES b/CHANGES index 8512d87..6e51394 100644 --- a/CHANGES +++ b/CHANGES @@ -1,78 +1,102 @@ -08JUL2008 version 0.54 ----------------------- +bcm5974 (0.55) unstable; urgency=low -And another one... finally got the bright idea to test it by emulating -the different product ids. + * Package updates. + * Reverting GFP_ATOMIC for irq handlers. -07JUL2008 version 0.53 ----------------------- + -- Henrik Rydberg Wed, 09 Jul 2008 20:59:39 +0200 -Another typo in the post-install script. +bcm5974 (0.54) unstable; urgency=low -07JUL2008 version 0.52 ----------------------- + * And another one... finally got the bright idea to test it by + emulating the different product ids. -Typo in the post-install script. + -- Henrik Rydberg Tue, 08 Jul 2008 20:59:39 +0200 -07JUL2008 version 0.51 ----------------------- +bcm5974 (0.53) unstable; urgency=low -Fine-tuned signal-to-noise ratio, smoother mouse motion. -Interrupt code got minor simplifications. -GFP_ATOMIC completetly removed. + * Another typo in the post-install script. -06JUL2008 version 0.5 ----------------------- + -- Henrik Rydberg Mon, 07 Jul 2008 20:59:39 +0200 -Working palm detection, changes for kernel.org, dkms introduced. +bcm5974 (0.52) unstable; urgency=low -01JUL2008 version 0.42 ----------------------- + * Typo in the post-install script. -First button click registered, pre/post-reset added. + -- Henrik Rydberg Mon, 07 Jul 2008 20:09:39 +0200 -29JUN2008 version 0.41 ----------------------- +bcm5974 (0.51) unstable; urgency=low -The reset_resume kernel function added. + * Fine-tuned signal-to-noise ratio, smoother mouse motion. + * Interrupt code got minor simplifications. + * GFP_ATOMIC completetly removed. -29JUN2008 version 0.4 ----------------------- + -- Henrik Rydberg Mon, 07 Jul 2008 18:09:39 +0200 -Both finger pressure and width reported. +bcm5974 (0.5) unstable; urgency=low -27JUN2008 version 0.31 ----------------------- + * Working palm detection + * Changes for kernel.org + * DKMS introduced. -Administrative changes for kernel.org. + -- Henrik Rydberg Sun, 06 Jul 2008 20:59:39 +0200 -27JUN2008 version 0.3 ----------------------- +bcm5974 (0.42) unstable; urgency=low -Explicit device structure, use all packages. + * First button click registered. + * Hooks pre/post-reset added. -27JUN2008 version 0.23 ----------------------- + -- Henrik Rydberg Tue, 01 Jul 2008 20:59:39 +0200 -Finger release not reported properly. +bcm5974 (0.41) unstable; urgency=low -26JUN2008 version 0.22 ----------------------- + * The reset_resume kernel function added. -ABS coordinates more stable with synaptics. + -- Henrik Rydberg Sun, 29 Jun 2008 20:59:39 +0200 + +bcm5974 (0.4) unstable; urgency=low -25JUN2008 version 0.21 ----------------------- + * Both finger pressure and width reported. -Fixed the relative coordinate scaling. + -- Henrik Rydberg Sun, 29 Jun 2008 18:59:39 +0200 -25JUN2008 version 0.2 ----------------------- +bcm5974 (0.31) unstable; urgency=low -Misinterpreted pressure input, noise reduction. + * Administrative changes for kernel.org. -24JUN2008 version 0.1 ----------------------- + -- Henrik Rydberg Fri, 27 Jun 2008 20:59:39 +0200 -First version. +bcm5974 (0.3) unstable; urgency=low + * Explicit device structure, use all packages. + + -- Henrik Rydberg Fri, 27 Jun 2008 18:59:39 +0200 + +bcm5974 (0.23) unstable; urgency=low + + * Finger release not reported properly. + + -- Henrik Rydberg Fri, 27 Jun 2008 17:59:39 +0200 + +bcm5974 (0.22) unstable; urgency=low + + * ABS coordinates more stable with synaptics. + + -- Henrik Rydberg Thu, 26 Jun 2008 20:59:39 +0200 + +bcm5974 (0.21) unstable; urgency=low + + * Fixed the relative coordinate scaling. + + -- Henrik Rydberg Wed, 25 Jun 2008 20:59:39 +0200 + +bcm5974 (0.2) unstable; urgency=low + + * Misinterpreted pressure input, noise reduction. + + -- Henrik Rydberg Wed, 25 Jun 2008 20:59:39 +0200 + +bcm5974 (0.1) unstable; urgency=low + + * First version. + + -- Henrik Rydberg Tue, 24 Jun 2008 20:59:39 +0200 diff --git a/INSTALL b/INSTALL index 7c7e975..2a2c42f 100644 --- a/INSTALL +++ b/INSTALL @@ -9,7 +9,7 @@ Standing in the source directory, do: 3. sudo ./scripts/bcm5974-post-install -4. reboot (only if bcm5974 never was used before) +4. reboot (or reload the bcm5974 module if already installed) For trouble-shooting, try running diff --git a/bcm5974-dkms-mkdeb/debian/README.Debian b/bcm5974-dkms-mkdeb/debian/README.Debian index 7a1b108..1f170f1 100644 --- a/bcm5974-dkms-mkdeb/debian/README.Debian +++ b/bcm5974-dkms-mkdeb/debian/README.Debian @@ -1,10 +1,23 @@ MODULE_NAME DKMS module for Debian -This driver adds support for the multitouch trackpad on the new -Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the +BCM5974: This driver adds support for the multitouch trackpad on the +new Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the appletouch driver on those computers, and integrates well with the -synaptics driver of the Xorg system. +synaptics driver of the Xorg system. -This package was automatically generated by the DKMS system, -for distribution on Debian based operating systems. +Known to work on Macbook Air and Macbook Pro Penryn. +* Install the debian package (uses dkms) + +* Reboot + +Post installation + +* Make sure your /etc/X11/xorg.conf settings are sane. + +* If experiencing problems with your xorg settings, try the + bcm5974-diagnostics script (dkms installs the source under /usr/src/). + +Enjoy! + +Henrik Rydberg diff --git a/bcm5974-dkms-mkdeb/debian/changelog b/bcm5974-dkms-mkdeb/debian/changelog index 029a7bc..1d4e435 100644 --- a/bcm5974-dkms-mkdeb/debian/changelog +++ b/bcm5974-dkms-mkdeb/debian/changelog @@ -1,6 +1,6 @@ MODULE_NAME-dkms (MODULE_VERSION) unstable; urgency=low - * Automatically packaged by DKMS. + * Package updates. + * Reverting GFP_ATOMIC for irq handlers. -- Henrik Rydberg DATE_STAMP - diff --git a/bcm5974-dkms-mkdeb/debian/control b/bcm5974-dkms-mkdeb/debian/control index ad717e6..c5497bf 100644 --- a/bcm5974-dkms-mkdeb/debian/control +++ b/bcm5974-dkms-mkdeb/debian/control @@ -4,8 +4,13 @@ Priority: optional Maintainer: Henrik Rydberg Build-Depends: debhelper (>= 5) Standards-Version: 3.7.2 +Homepage: http://web.comhem.se/rydberg/Bits/ Package: MODULE_NAME-dkms Architecture: all Depends: dkms (>= 1.95), bash (>> 1.99) Description: Apple USB BCM5974 Multitouch trackpad support (DKMS) + This driver adds support for the multitouch trackpad on the new + Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the + appletouch driver on those computers, and integrates well with the + synaptics driver of the Xorg system. diff --git a/bcm5974-dkms-mkdeb/debian/copyright b/bcm5974-dkms-mkdeb/debian/copyright index d690e83..e00b447 100644 --- a/bcm5974-dkms-mkdeb/debian/copyright +++ b/bcm5974-dkms-mkdeb/debian/copyright @@ -1,4 +1,41 @@ -GNU GENERAL PUBLIC LICENSE Version 2 +The bcm5974-dkms package was created using DKMS -See the LICENSE file of this distribution for details. +Source URL: http://web.comhem.se/rydberg/Bits/ +Upstream Author: Henrik Rydberg + +Copyright: + Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se) + + The USB initialization and package decoding was made by + Scott Shawcroft as part of the touchd user-space driver project: + Copyright (C) 2008 Scott Shawcroft (scott.shawcroft@gmail.com) + + The BCM5974 driver is based on the appletouch driver: + Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com) + Copyright (C) 2005 Johannes Berg (johannes@sipsolutions.net) + Copyright (C) 2005 Stelian Pop (stelian@popies.net) + Copyright (C) 2005 Frank Arnold (frank@scirocco-5v-turbo.de) + Copyright (C) 2005 Peter Osterlund (petero2@telia.com) + Copyright (C) 2005 Michael Hanselmann (linux-kernel@hansmi.ch) + Copyright (C) 2006 Nicolas Boichat (nicolas@boichat.ch) + +License: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Packaging: + Copyright (C) 2008 by Henrik Rydberg + released under GPL 2 diff --git a/bcm5974-dkms-mkdeb/debian/dirs b/bcm5974-dkms-mkdeb/debian/dirs index 2b01d9a..b601f22 100644 --- a/bcm5974-dkms-mkdeb/debian/dirs +++ b/bcm5974-dkms-mkdeb/debian/dirs @@ -1,2 +1 @@ usr/src -etc/modprobe.d diff --git a/bcm5974.c b/bcm5974.c index 4d9dd45..2b94835 100644 --- a/bcm5974.c +++ b/bcm5974.c @@ -167,7 +167,7 @@ struct atp { #define DIM_Y 800 /* maximum trackpad y value */ /* logical signal quality */ -#define SN_PRESSURE 40 /* pressure signal-to-noise ratio */ +#define SN_PRESSURE 45 /* pressure signal-to-noise ratio */ #define SN_WIDTH 100 /* width signal-to-noise ratio */ #define SN_COORD 250 /* coordinate signal-to-noise ratio */ @@ -385,7 +385,7 @@ static void irq_button(struct urb *urb) input_sync(dev->input); exit: - error = usb_submit_urb(dev->bt_urb, GFP_KERNEL); + error = usb_submit_urb(dev->bt_urb, GFP_ATOMIC); if (error) err("bcm5974: button urb failed: %d", error); } @@ -424,7 +424,7 @@ static void irq_trackpad(struct urb *urb) input_sync(dev->input); exit: - error = usb_submit_urb(dev->tp_urb, GFP_KERNEL); + error = usb_submit_urb(dev->tp_urb, GFP_ATOMIC); if (error) err("bcm5974: trackpad urb failed: %d", error); } diff --git a/dkms.conf b/dkms.conf index cb169d6..44076e7 100644 --- a/dkms.conf +++ b/dkms.conf @@ -1,8 +1,9 @@ PACKAGE_NAME="bcm5974" -PACKAGE_VERSION="0.54" +PACKAGE_VERSION="0.55" MAKE[0]="make -C ${kernel_source_dir} SUBDIRS=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build modules" BUILT_MODULE_NAME[0]="bcm5974" DEST_MODULE_LOCATION[0]="/kernel/drivers/input/mouse" +PRE_INSTALL="scripts/bcm5974-pre-install" POST_INSTALL="scripts/bcm5974-post-install" POST_REMOVE="scripts/bcm5974-post-remove" diff --git a/scripts/bcm5974-pre-install b/scripts/bcm5974-pre-install new file mode 100755 index 0000000..3c4556e --- /dev/null +++ b/scripts/bcm5974-pre-install @@ -0,0 +1,43 @@ +#!/bin/bash +# +# bcm5943-pre-install - check system before installing the bcm5974 +# +# Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +DRIVER=bcm5974 +LSUSB=/usr/sbin/lsusb + +PAT[0]="05ac:022" +PAT[1]="05ac:023" + +#if [ -x $LSUSB ]; then +if true; then + if [ "`$LSUSB|grep ${PAT[0]}`" != "" ]; then + exit 0 + elif [ "`$LSUSB|grep ${PAT[1]}`" != "" ]; then + exit 0 + else + echo bcm5974: no suitable device found + exit 1 + fi +else + echo bcm5974: cannot determine device type + exit 1 +fi + +exit 0 -- cgit v1.2.3