sys-kernel/geos_one-sources: integrate alsa-driver-1.0.18a with xa3530 patch and other patches to optimize running on XA3530
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@737 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
parent
c42cfd59e5
commit
e93d3f7b74
@ -2,6 +2,20 @@
|
||||
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: $
|
||||
|
||||
29 Jan 2009; Mario Fetka <mario.fetka@gmail.com>
|
||||
+files/linux-sabayon-2.6.28-ignore-mouse-interface-on-macbooks.patch,
|
||||
+files/linux-2.6-defaults-fat-utf8.patch, +files/linux-2.6.27-lirc.patch,
|
||||
+files/linux-2.6-x86-tune-generic.patch,
|
||||
+files/enable-4k-stacks-default-2.6.24.patch,
|
||||
+files/hz-432-kconfig-option.patch, +files/hz-864-kconfig-option.patch,
|
||||
+files/1-bcm5974-headers.patch,
|
||||
+files/2-bcm5974-quad-finger-tapping.patch,
|
||||
+files/3-bcm5974-macbook5-support.patch,
|
||||
+files/drm-modesetting-radeon.patch, +files/drm-next.patch,
|
||||
+files/drm-nouveau.patch, geos_one-sources-2.6.28-r1.ebuild:
|
||||
integrate alsa-driver-1.0.18a with xa3530 patch and other patches to
|
||||
optimize running on XA3530
|
||||
|
||||
28 Jan 2009; Mario Fetka <mario.fetka@gmail.com>
|
||||
+files/alsa-driver-1.0.18a-xa3530.patch,
|
||||
+files/alsa-driver-1.0.19-input.patch, geos_one-sources-2.6.28-r1.ebuild:
|
||||
|
@ -1,12 +1,22 @@
|
||||
AUX 1-bcm5974-headers.patch 4839 RMD160 83f5ca0a53ebe19aeaaa7d952da5c79187e563af SHA1 157ecb6994b5903cd5a4eccc8552cc2c62b7463d SHA256 33ffab37c533a3a75ac628209bf8ab70e89c3ad81fd4491f2c4051cb66ba1043
|
||||
AUX 2-bcm5974-quad-finger-tapping.patch 2014 RMD160 8ae24293dd608db76316ea0ebb90ce7e215df14a SHA1 a02b87b190916b193fe3b183e0fed86d34d863d6 SHA256 9ca9ddc1ffe2c9e23b74597479834c11fb98679aa258b61e1b025d3541f43c28
|
||||
AUX 3-bcm5974-macbook5-support.patch 4515 RMD160 e69c5aa44b925c76995b5a040327b2ed4b7acc79 SHA1 62a729437a289cd7474d202dbe3fac0607152a83 SHA256 c1f5027fa74591123ff38968aceb9df715a40922efc865ec2ae2b58b728c49cd
|
||||
AUX alsa-driver-1.0.18a-xa3530.patch 14509 RMD160 7b64bd5303d4e646957c1e49a53adfb012b3de8e SHA1 148a444560bb9473325147d44a6f813b084d4819 SHA256 6236e6e64d09284c13f16aaefb20e54e891d5b7f1d93cdb64cf5d6901f94761c
|
||||
AUX alsa-driver-1.0.19-input.patch 608 RMD160 be8e1f14e5a7ec33102a87dc2fd443a8b49ba329 SHA1 0d4f66a40ccebc034c859b3fd4ff34e436cf4d41 SHA256 414dc3663be345c42e34c3c44087e1b316e67eea6b7979c447effd39e05a8652
|
||||
AUX colored-printk-2.6.26.patch 11265 RMD160 1e520168b8813754906513317f5c683dbec2b31b SHA1 d321509ccc286b29b8c0fac9ae18205705fea332 SHA256 e8afce0c43cd534a6f707dc9f8769d0ba03322efccd55e3dc3edc3375e44c4ba
|
||||
AUX drm-modesetting-radeon.patch 1348501 RMD160 d89e04413554815f4a94f684a7f1e0f5a9e62b2b SHA1 39fb1193f0643798705786c85f3c90cdf28fd27a SHA256 a126a762c7df6e9bde0a65b500fefd2e8188b10cd1d15454668d91cbe1a38f7b
|
||||
AUX drm-next.patch 643528 RMD160 3ec76231e1268821db9c18c11677b0661b1af7fc SHA1 848f637d414433f86b35983827e6465d24674499 SHA256 8f36e6418aa33c51af8b3567ca09a65024fcef5bcec73040a1bc87e5f71a5bf4
|
||||
AUX drm-nouveau.patch 546241 RMD160 a79f37c94fdb13b16ae939206477b781b1a235af SHA1 28f6a2e7ebd98b4c491c4cdb036a043b6c13bf0f SHA256 8977a121eb90b6f543b4408bcafd424fab5c55357ebefa192f5b1daed7b725f0
|
||||
AUX enable-4k-stacks-default-2.6.24.patch 350 RMD160 b6ea063adaa4ce4f97da967ce84a96d24bd8614c SHA1 799ac8293e84fb723630dcb28be986065dba131d SHA256 fd2f9a3f42ae0512e84ea5979ab8359872b9a0520de0e485ca3846dc84ea0da2
|
||||
AUX fix-reiser4-for-2.6.28.1.patch 396 RMD160 fc8874e25e2e66d58a49dd6775e483feab8b36e4 SHA1 97f49e0d228bdb590493cb4f07650ab0525133af SHA256 3b2c79070f580003b4fc5229999aff2f871a31997ca6fd65c9688bcb1cb05d0c
|
||||
AUX fix-unionfs-for-2.6.28.1.patch 407 RMD160 62a5c00e357faea5dd802dae40ceff46d2a3b7b2 SHA1 1b4d1c1eb151ea2d4b4d77de37ba05eb1291bad5 SHA256 0c7220bec0afdebf735fa8cd61ab39d72cebdfeb3e17ac3ee9cae5a03350d73e
|
||||
AUX hz-432-kconfig-option.patch 835 RMD160 932004d8a7a6a1c5b7bbb20750d5a0e3afc9bc3d SHA1 9b7e85abcdac10f899e6b69123dd818e73e3a115 SHA256 3d416e1fccf16d5fa8b27959a9273858c6bcc9edfb5e064fcc1c4492d9b6990a
|
||||
AUX hz-864-kconfig-option.patch 793 RMD160 bbb6e93838c95dd62b4597b5cec2e3107502c225 SHA1 1182dcd468a5c07e73e611db2ec07f15b81505b4 SHA256 3669964da54cab30579264d129364c04cdf842442f3a190c1f4bcc6d2dea8d74
|
||||
AUX intel-hda-a3530 13174 RMD160 e9fd8a6ffa3689e68edce74733e76378c467ba72 SHA1 5656993837d657271b0001d8bd4d5047d854713e SHA256 b4543cae20203bbd8d144d92f4ef48348c29bf28b44a9de9eece15e05959979f
|
||||
AUX linux-2.6-defaults-fat-utf8.patch 538 RMD160 4bd6376084e1c2946ab4efe62ee0acddfde9320f SHA1 ddacdab00dc7e2b3f911152bbbd78d80e3dc3305 SHA256 a27450c6b8ee032fe5442c3637272856552ec28bd83fac299d3250ab9e95576f
|
||||
AUX linux-2.6-x86-tune-generic.patch 661 RMD160 86b4ee5a704717cd1a6a47e19cd7941e3d4edd64 SHA1 310ef3fc420d33a72aefb440294e96c63e5042d3 SHA256 0d0b58175241cb519930158766a9b8b92f87155fbce8e7f513b198a848a78916
|
||||
AUX linux-2.6.27-lirc.patch 392002 RMD160 1fbfb00708859a2cb9b1b58a6db438b9d2f2d2a4 SHA1 5915ab107a468bed6b4b9a7206ec8a8e87f4c073 SHA256 bc13af0a28f10233e4461fa118c511c161740cc303f59a5cb9c53fabb93b6fd1
|
||||
AUX linux-sabayon-2.6.28-ignore-mouse-interface-on-macbooks.patch 1446 RMD160 2673b06b8f88a88f8da3e8153e630e52accc149e SHA1 0741eb958644769f4388ec9200b7d25196af94b4 SHA256 9c88c82cd1cda89752fc603362f52f3deea794f88aff8af1c6d082ca63d6b247
|
||||
AUX squashfs-2.6.28 219 RMD160 c1a3ae8e02643051f171500928005ca85d9d83cf SHA1 cf541d09ec2a8fe77525ebb91dd8e73060a4741a SHA256 a3b608a493ad09c983a5a697e05156697d6875a146690b8cda142854c298a9b1
|
||||
DIST 2.6.27-AA2.3.tgz 96714 RMD160 ad5ed3f35f15fc10ee45020dd7a80926ef9201c8 SHA1 faf2a096b58a704d33a9a633e8e7ced0859cce26 SHA256 c94064437e6655beb9fd399fdbc443fd8a8db4acd3328ae04f23faf834d82e2e
|
||||
DIST 2.6.27.4-ext4.tar.gz 167096 RMD160 943c56a52034f0423a3517c97a2ab0faac18b6b8 SHA1 3b83be52ef9c11915e3a07a79f7cc06c2722e90b SHA256 ec041900086ca6e3a2e2b3f4ae1ae2fcfbdca6dbe9b3484e5fb16ba7e0252f62
|
||||
@ -44,7 +54,7 @@ EBUILD geos_one-sources-2.6.27-r4.ebuild 3191 RMD160 310291b7ef6d9015128e5cc04e2
|
||||
EBUILD geos_one-sources-2.6.27-r5.ebuild 3268 RMD160 fe08f99491a001054194a78df6aa3f89d23e41f0 SHA1 4c14a4f4765a82eebaa29433bcdf189ee342b1dd SHA256 48dbf7e70fd3caa2b99272173afc94119298278f14a7c3bac7bb93c29437e233
|
||||
EBUILD geos_one-sources-2.6.27-r7.ebuild 2924 RMD160 425863b77e2fc04cca9051061dcdc9c34588ce4f SHA1 f62de54668415fd45d880a1fccd9702c4d0db9f2 SHA256 03a34dd1bae6de85243ca1c3e2bbb494a59ee11042f6d443c87513c42d8eb58b
|
||||
EBUILD geos_one-sources-2.6.27.ebuild 2821 RMD160 8cddc77851562dcdd261fdda1a98b416a8539cdb SHA1 87f501974802d83ef142114c01c1b7c9dea27a59 SHA256 20cb29a2fcc71d86f85232d092a1339f02f13ac042c570af632d026bad024d54
|
||||
EBUILD geos_one-sources-2.6.28-r1.ebuild 3668 RMD160 b3fe95397a120ad4ea81ca97d6cb25b20349325b SHA1 0d37613ec214e09f326805d20f2806edcc61f099 SHA256 0f225349c5032bd3d9b1bbbf3a639be0a0e82968099ea916178f1416d6b0b428
|
||||
EBUILD geos_one-sources-2.6.28-r1.ebuild 4178 RMD160 9a0334be5c2e2c9453ae8f2c9a585f0178e238c6 SHA1 cdedcf7bcbfceed568afe1af2f8f8ba01ff02061 SHA256 649853331ba5cfc28917e0ec4c572fc9d19b74f44ca88e271ac378085596f092
|
||||
EBUILD geos_one-sources-2.6.28.ebuild 2724 RMD160 59ef67d038f90f54f7ad0224263fe3b8309db45d SHA1 f1e32cf7640706c4843679339d1774bbf89bed45 SHA256 dcb53c7bdbe81d51d74cc5f82e6efbade931fd33e962fd37cf71e7800d5d257c
|
||||
MISC ChangeLog 4281 RMD160 6b2c8c60d345741322297c1409367aa7b751bf4a SHA1 f5a5e28393e1f7d64f53f408ceac7135105eed31 SHA256 74a78b8d4e5dc817602c00b65ffe3845cd5cb77747fdba72cfd69a4a4a04952c
|
||||
MISC ChangeLog 4994 RMD160 168c1c4cc24293788754c7195f490dbceae18dcd SHA1 2c0372e7b51541f5c470267294f374fedc0823fc SHA256 a0f75a4463611d30f0e661c8356d4da3e610c7d20f57ee3a2eaa2c4819d4eb56
|
||||
MISC metadata.xml 413 RMD160 7e4e48d47e48804072f4ce93e1948fda82433a90 SHA1 cd61cf36ba79f6635ab7b7957f31609ecf52cc90 SHA256 74fe6520890eaf800a1759f3e4f772fd0e433e5de9cf775a50c7af95b199518b
|
||||
|
126
sys-kernel/geos_one-sources/files/1-bcm5974-headers.patch
Normal file
126
sys-kernel/geos_one-sources/files/1-bcm5974-headers.patch
Normal file
@ -0,0 +1,126 @@
|
||||
The new unibody Macbooks are equipped with an integrated button and
|
||||
trackpad. The package header of the trackpad interface has changed to
|
||||
also contain information about the integrated button. This patch
|
||||
performs the necessary preparations to allow for the new package
|
||||
header.
|
||||
|
||||
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
||||
---
|
||||
drivers/input/mouse/bcm5974.c | 42 ++++++++++++++++++++++------------------
|
||||
1 files changed, 23 insertions(+), 19 deletions(-)
|
||||
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
|
||||
index 2998a6a..e97462e 100644
|
||||
--- a/drivers/input/mouse/bcm5974.c
|
||||
+++ b/drivers/input/mouse/bcm5974.c
|
||||
@@ -96,13 +96,14 @@ struct bt_data {
|
||||
u8 rel_y; /* relative y coordinate */
|
||||
};
|
||||
|
||||
-/* trackpad header structure */
|
||||
-struct tp_header {
|
||||
- u8 unknown1[16]; /* constants, timers, etc */
|
||||
- u8 fingers; /* number of fingers on trackpad */
|
||||
- u8 unknown2[9]; /* constants, timers, etc */
|
||||
+/* trackpad header types */
|
||||
+enum tp_type {
|
||||
+ TYPE1 /* plain trackpad */
|
||||
};
|
||||
|
||||
+/* trackpad finger data offsets */
|
||||
+#define FINGER_TYPE1 26
|
||||
+
|
||||
/* trackpad finger structure */
|
||||
struct tp_finger {
|
||||
__le16 origin; /* zero when switching track finger */
|
||||
@@ -119,11 +120,9 @@ struct tp_finger {
|
||||
__le16 multi; /* one finger: varies, more fingers: constant */
|
||||
};
|
||||
|
||||
-/* trackpad data structure, empirically at least ten fingers */
|
||||
-struct tp_data {
|
||||
- struct tp_header header;
|
||||
- struct tp_finger finger[16];
|
||||
-};
|
||||
+/* trackpad finger data size, empirically at least ten fingers */
|
||||
+#define SIZEOF_FINGER sizeof(struct tp_finger)
|
||||
+#define SIZEOF_ALL_FINGERS (16 * SIZEOF_FINGER)
|
||||
|
||||
/* device-specific parameters */
|
||||
struct bcm5974_param {
|
||||
@@ -139,6 +138,8 @@ struct bcm5974_config {
|
||||
int bt_ep; /* the endpoint of the button interface */
|
||||
int bt_datalen; /* data length of the button interface */
|
||||
int tp_ep; /* the endpoint of the trackpad interface */
|
||||
+ enum tp_type tp_type; /* type of trackpad interface */
|
||||
+ int tp_offset; /* offset to trackpad finger data */
|
||||
int tp_datalen; /* data length of the trackpad interface */
|
||||
struct bcm5974_param p; /* finger pressure limits */
|
||||
struct bcm5974_param w; /* finger width limits */
|
||||
@@ -158,7 +159,7 @@ struct bcm5974 {
|
||||
struct urb *bt_urb; /* button usb request block */
|
||||
struct bt_data *bt_data; /* button transferred data */
|
||||
struct urb *tp_urb; /* trackpad usb request block */
|
||||
- struct tp_data *tp_data; /* trackpad transferred data */
|
||||
+ u8 *tp_data; /* trackpad transferred data */
|
||||
int fingers; /* number of fingers on trackpad */
|
||||
};
|
||||
|
||||
@@ -184,7 +185,7 @@ static const struct bcm5974_config bcm5974_config_table[] = {
|
||||
USB_DEVICE_ID_APPLE_WELLSPRING_ISO,
|
||||
USB_DEVICE_ID_APPLE_WELLSPRING_JIS,
|
||||
0x84, sizeof(struct bt_data),
|
||||
- 0x81, sizeof(struct tp_data),
|
||||
+ 0x81, TYPE1, FINGER_TYPE1, FINGER_TYPE1 + SIZEOF_ALL_FINGERS,
|
||||
{ DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 },
|
||||
{ DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
|
||||
{ DIM_X, DIM_X / SN_COORD, -4824, 5342 },
|
||||
@@ -195,7 +196,7 @@ static const struct bcm5974_config bcm5974_config_table[] = {
|
||||
USB_DEVICE_ID_APPLE_WELLSPRING2_ISO,
|
||||
USB_DEVICE_ID_APPLE_WELLSPRING2_JIS,
|
||||
0x84, sizeof(struct bt_data),
|
||||
- 0x81, sizeof(struct tp_data),
|
||||
+ 0x81, TYPE1, FINGER_TYPE1, FINGER_TYPE1 + SIZEOF_ALL_FINGERS,
|
||||
{ DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 256 },
|
||||
{ DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
|
||||
{ DIM_X, DIM_X / SN_COORD, -4824, 4824 },
|
||||
@@ -276,18 +277,20 @@ static int report_bt_state(struct bcm5974 *dev, int size)
|
||||
static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
{
|
||||
const struct bcm5974_config *c = &dev->cfg;
|
||||
- const struct tp_finger *f = dev->tp_data->finger;
|
||||
+ const struct tp_finger *f;
|
||||
struct input_dev *input = dev->input;
|
||||
- const int fingers = (size - 26) / 28;
|
||||
- int raw_p, raw_w, raw_x, raw_y;
|
||||
+ int raw_p, raw_w, raw_x, raw_y, raw_n;
|
||||
int ptest = 0, origin = 0, nmin = 0, nmax = 0;
|
||||
int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
|
||||
|
||||
- if (size < 26 || (size - 26) % 28 != 0)
|
||||
+ if (size < c->tp_offset || (size - c->tp_offset) % SIZEOF_FINGER != 0)
|
||||
return -EIO;
|
||||
|
||||
+ f = (const struct tp_finger *)(dev->tp_data + c->tp_offset);
|
||||
+ raw_n = (size - c->tp_offset) / SIZEOF_FINGER;
|
||||
+
|
||||
/* always track the first finger; when detached, start over */
|
||||
- if (fingers) {
|
||||
+ if (raw_n) {
|
||||
raw_p = raw2int(f->force_major);
|
||||
raw_w = raw2int(f->size_major);
|
||||
raw_x = raw2int(f->abs_x);
|
||||
@@ -307,12 +310,13 @@ static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
abs_w = int2bound(&c->w, raw_w);
|
||||
abs_x = int2bound(&c->x, raw_x - c->x.devmin);
|
||||
abs_y = int2bound(&c->y, c->y.devmax - raw_y);
|
||||
- for (; f != dev->tp_data->finger + fingers; f++) {
|
||||
+ while (raw_n--) {
|
||||
ptest = int2bound(&c->p, raw2int(f->force_major));
|
||||
if (ptest > PRESSURE_LOW)
|
||||
nmax++;
|
||||
if (ptest > PRESSURE_HIGH)
|
||||
nmin++;
|
||||
+ f++;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,46 @@
|
||||
The integrated button on the new unibody Macbooks presents a need to
|
||||
report explicit four-finger actions. Evidently, the finger pressing
|
||||
the button is also touching the trackpad, so in order to fully support
|
||||
three-finger actions, the driver must be able to report four-finger
|
||||
actions. This patch adds a new button, BTN_TOOL_QUADTAP, which
|
||||
achieves this.
|
||||
|
||||
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
||||
---
|
||||
drivers/input/mouse/bcm5974.c | 4 +++-
|
||||
include/linux/input.h | 1 +
|
||||
2 files changed, 4 insertions(+), 1 deletions(-)
|
||||
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
|
||||
index e97462e..a170574 100644
|
||||
--- a/drivers/input/mouse/bcm5974.c
|
||||
+++ b/drivers/input/mouse/bcm5974.c
|
||||
@@ -258,6 +258,7 @@ static void setup_events_to_report(struct input_dev *input_dev,
|
||||
__set_bit(BTN_TOOL_FINGER, input_dev->keybit);
|
||||
__set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
|
||||
__set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
|
||||
+ __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
|
||||
__set_bit(BTN_LEFT, input_dev->keybit);
|
||||
}
|
||||
|
||||
@@ -328,7 +329,8 @@ static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
input_report_key(input, BTN_TOUCH, dev->fingers > 0);
|
||||
input_report_key(input, BTN_TOOL_FINGER, dev->fingers == 1);
|
||||
input_report_key(input, BTN_TOOL_DOUBLETAP, dev->fingers == 2);
|
||||
- input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers > 2);
|
||||
+ input_report_key(input, BTN_TOOL_TRIPLETAP, dev->fingers == 3);
|
||||
+ input_report_key(input, BTN_TOOL_QUADTAP, dev->fingers > 3);
|
||||
|
||||
input_report_abs(input, ABS_PRESSURE, abs_p);
|
||||
input_report_abs(input, ABS_TOOL_WIDTH, abs_w);
|
||||
diff --git a/include/linux/input.h b/include/linux/input.h
|
||||
index b86fb55..0082b24 100644
|
||||
--- a/include/linux/input.h
|
||||
+++ b/include/linux/input.h
|
||||
@@ -443,6 +443,7 @@ struct input_absinfo {
|
||||
#define BTN_STYLUS2 0x14c
|
||||
#define BTN_TOOL_DOUBLETAP 0x14d
|
||||
#define BTN_TOOL_TRIPLETAP 0x14e
|
||||
+#define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */
|
||||
|
||||
#define BTN_WHEEL 0x150
|
||||
#define BTN_GEAR_DOWN 0x150
|
@ -0,0 +1,129 @@
|
||||
This patch adds support for the new unibody Macbook, with physically
|
||||
integrated button and trackpad. A new button, BTN_TOOL_PRESS, is
|
||||
introduced to allow for non-trivial handling of this device in user
|
||||
space.
|
||||
|
||||
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
||||
Tested-by: David M. Lary <dmlary@gmail.com>
|
||||
---
|
||||
drivers/input/mouse/bcm5974.c | 42 +++++++++++++++++++++++++++++++++++++++-
|
||||
include/linux/input.h | 1 +
|
||||
2 files changed, 41 insertions(+), 2 deletions(-)
|
||||
diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
|
||||
index a170574..f85a296 100644
|
||||
--- a/drivers/input/mouse/bcm5974.c
|
||||
+++ b/drivers/input/mouse/bcm5974.c
|
||||
@@ -51,6 +51,10 @@
|
||||
#define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI 0x0230
|
||||
#define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231
|
||||
#define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232
|
||||
+/* Macbook5,1 (unibody), aka wellspring3 */
|
||||
+#define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI 0x0236
|
||||
+#define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO 0x0237
|
||||
+#define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS 0x0238
|
||||
|
||||
#define BCM5974_DEVICE(prod) { \
|
||||
.match_flags = (USB_DEVICE_ID_MATCH_DEVICE | \
|
||||
@@ -72,6 +76,10 @@ static const struct usb_device_id bcm5974_table[] = {
|
||||
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
|
||||
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
|
||||
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
|
||||
+ /* Macbook5,1 */
|
||||
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
|
||||
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
|
||||
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
|
||||
/* Terminating entry */
|
||||
{}
|
||||
};
|
||||
@@ -98,11 +106,19 @@ struct bt_data {
|
||||
|
||||
/* trackpad header types */
|
||||
enum tp_type {
|
||||
- TYPE1 /* plain trackpad */
|
||||
+ TYPE1, /* plain trackpad */
|
||||
+ TYPE2 /* button integrated in trackpad */
|
||||
};
|
||||
|
||||
/* trackpad finger data offsets */
|
||||
#define FINGER_TYPE1 26
|
||||
+#define FINGER_TYPE2 30
|
||||
+
|
||||
+/* trackpad button data offsets */
|
||||
+#define BUTTON_TYPE2 15
|
||||
+
|
||||
+/* integrated button capability by configuration */
|
||||
+#define HAS_INTEGRATED_BUTTON(c) (c->tp_type == TYPE2)
|
||||
|
||||
/* trackpad finger structure */
|
||||
struct tp_finger {
|
||||
@@ -202,6 +218,17 @@ static const struct bcm5974_config bcm5974_config_table[] = {
|
||||
{ DIM_X, DIM_X / SN_COORD, -4824, 4824 },
|
||||
{ DIM_Y, DIM_Y / SN_COORD, -172, 4290 }
|
||||
},
|
||||
+ {
|
||||
+ USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI,
|
||||
+ USB_DEVICE_ID_APPLE_WELLSPRING3_ISO,
|
||||
+ USB_DEVICE_ID_APPLE_WELLSPRING3_JIS,
|
||||
+ 0x84, sizeof(struct bt_data),
|
||||
+ 0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
|
||||
+ { DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 },
|
||||
+ { DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
|
||||
+ { DIM_X, DIM_X / SN_COORD, -4460, 5166 },
|
||||
+ { DIM_Y, DIM_Y / SN_COORD, -75, 6700 }
|
||||
+ },
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -259,6 +286,8 @@ static void setup_events_to_report(struct input_dev *input_dev,
|
||||
__set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
|
||||
__set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
|
||||
__set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
|
||||
+ if (HAS_INTEGRATED_BUTTON(cfg))
|
||||
+ __set_bit(BTN_TOOL_PRESS, input_dev->keybit);
|
||||
__set_bit(BTN_LEFT, input_dev->keybit);
|
||||
}
|
||||
|
||||
@@ -281,7 +310,7 @@ static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
const struct tp_finger *f;
|
||||
struct input_dev *input = dev->input;
|
||||
int raw_p, raw_w, raw_x, raw_y, raw_n;
|
||||
- int ptest = 0, origin = 0, nmin = 0, nmax = 0;
|
||||
+ int ptest = 0, origin = 0, ibt = 0, nmin = 0, nmax = 0;
|
||||
int abs_p = 0, abs_w = 0, abs_x = 0, abs_y = 0;
|
||||
|
||||
if (size < c->tp_offset || (size - c->tp_offset) % SIZEOF_FINGER != 0)
|
||||
@@ -303,6 +332,10 @@ static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
|
||||
ptest = int2bound(&c->p, raw_p);
|
||||
origin = raw2int(f->origin);
|
||||
+
|
||||
+ /* set the integrated button if applicable */
|
||||
+ if (c->tp_type == TYPE2)
|
||||
+ ibt = raw2int(dev->tp_data[BUTTON_TYPE2]);
|
||||
}
|
||||
|
||||
/* while tracking finger still valid, count all fingers */
|
||||
@@ -346,6 +379,11 @@ static int report_tp_state(struct bcm5974 *dev, int size)
|
||||
|
||||
}
|
||||
|
||||
+ if (HAS_INTEGRATED_BUTTON(c)) {
|
||||
+ input_report_key(input, BTN_TOOL_PRESS, ibt);
|
||||
+ input_report_key(input, BTN_LEFT, ibt);
|
||||
+ }
|
||||
+
|
||||
input_sync(input);
|
||||
|
||||
return 0;
|
||||
diff --git a/include/linux/input.h b/include/linux/input.h
|
||||
index 0082b24..6afa6b3 100644
|
||||
--- a/include/linux/input.h
|
||||
+++ b/include/linux/input.h
|
||||
@@ -438,6 +438,7 @@ struct input_absinfo {
|
||||
#define BTN_TOOL_FINGER 0x145
|
||||
#define BTN_TOOL_MOUSE 0x146
|
||||
#define BTN_TOOL_LENS 0x147
|
||||
+#define BTN_TOOL_PRESS 0x148 /* The trackpad is a physical button */
|
||||
#define BTN_TOUCH 0x14a
|
||||
#define BTN_STYLUS 0x14b
|
||||
#define BTN_STYLUS2 0x14c
|
36236
sys-kernel/geos_one-sources/files/drm-modesetting-radeon.patch
Normal file
36236
sys-kernel/geos_one-sources/files/drm-modesetting-radeon.patch
Normal file
File diff suppressed because it is too large
Load Diff
21344
sys-kernel/geos_one-sources/files/drm-next.patch
Normal file
21344
sys-kernel/geos_one-sources/files/drm-next.patch
Normal file
File diff suppressed because it is too large
Load Diff
15641
sys-kernel/geos_one-sources/files/drm-nouveau.patch
Normal file
15641
sys-kernel/geos_one-sources/files/drm-nouveau.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,10 @@
|
||||
--- linux-2.6.24.orig/arch/x86/Kconfig.debug
|
||||
+++ linux-2.6.24/arch/x86/Kconfig.debug
|
||||
@@ -59,6 +59,7 @@
|
||||
config 4KSTACKS
|
||||
bool "Use 4Kb for kernel stacks instead of 8Kb"
|
||||
depends on DEBUG_KERNEL
|
||||
+ default y
|
||||
help
|
||||
If you say Y here the kernel will use a 4Kb stacksize for the
|
||||
kernel stack attached to each process/thread. This facilitates
|
@ -0,0 +1,25 @@
|
||||
diff -urN oldtree/kernel/Kconfig.hz newtree/kernel/Kconfig.hz
|
||||
--- oldtree/kernel/Kconfig.hz 2007-03-06 15:00:55.000000000 -0500
|
||||
+++ newtree/kernel/Kconfig.hz 2007-03-06 17:52:36.000000000 -0500
|
||||
@@ -39,6 +39,14 @@
|
||||
on SMP and NUMA systems and exactly dividing by both PAL and
|
||||
NTSC frame rates for video and multimedia work.
|
||||
|
||||
+ config HZ_432
|
||||
+ bool "432 HZ"
|
||||
+ help
|
||||
+ 432 HZ is the best value for desktop systems. Most responsive
|
||||
+ out of all the options. This is for Dual Core/Processor systems only.
|
||||
+ as timer frequencies * number of processors = actual frequency.
|
||||
+ Try this if you have a dual-core/dual processor system.
|
||||
+
|
||||
config HZ_1000
|
||||
bool "1000 HZ"
|
||||
help
|
||||
@@ -52,5 +60,6 @@
|
||||
default 100 if HZ_100
|
||||
default 250 if HZ_250_NODEFAULT
|
||||
default 300 if HZ_300
|
||||
+ default 432 if HZ_432
|
||||
default 1000 if HZ_1000
|
||||
|
@ -0,0 +1,25 @@
|
||||
diff -urN oldtree/kernel/Kconfig.hz newtree/kernel/Kconfig.hz
|
||||
--- oldtree/kernel/Kconfig.hz 2007-03-06 15:00:55.000000000 -0500
|
||||
+++ newtree/kernel/Kconfig.hz 2007-03-06 17:52:36.000000000 -0500
|
||||
@@ -39,6 +39,14 @@
|
||||
as timer frequencies * number of processors = actual frequency.
|
||||
Try this if you have a dual-core/dual processor system.
|
||||
|
||||
+ config HZ_864
|
||||
+ bool "864 HZ"
|
||||
+ help
|
||||
+ 864 HZ is the best value for desktop systems. Most responsive
|
||||
+ out of all the options. The only reason it is not default is
|
||||
+ because it may break few drivers. Give it a try if you have
|
||||
+ a desktop :).
|
||||
+
|
||||
config HZ_1000
|
||||
bool "1000 HZ"
|
||||
help
|
||||
@@ -52,5 +60,6 @@
|
||||
default 250 if HZ_250_NODEFAULT
|
||||
default 300 if HZ_300
|
||||
default 432 if HZ_432
|
||||
+ default 864 if HZ_864
|
||||
default 1000 if HZ_1000
|
||||
|
@ -0,0 +1,15 @@
|
||||
|
||||
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=181963
|
||||
|
||||
--- linux-2.6.15.noarch/fs/fat/inode.c~ 2006-02-20 23:20:12.000000000 -0500
|
||||
+++ linux-2.6.15.noarch/fs/fat/inode.c 2006-02-20 23:21:42.000000000 -0500
|
||||
@@ -952,7 +952,8 @@ static int parse_options(char *options,
|
||||
opts->shortname = 0;
|
||||
opts->name_check = 'n';
|
||||
opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0;
|
||||
- opts->utf8 = opts->unicode_xlate = 0;
|
||||
+ opts->utf8 = 1;
|
||||
+ opts->unicode_xlate = 0;
|
||||
opts->numtail = 1;
|
||||
opts->nocase = 0;
|
||||
*debug = 0;
|
@ -0,0 +1,13 @@
|
||||
* Optimise for today's CPUs.
|
||||
|
||||
--- linux-2.6/arch/x86/Makefile_32.cpu 2006-01-09 11:39:04.000000000 -0500
|
||||
+++ linux-2.6/arch/x86/Makefile_32.cpu 2006-01-09 11:39:36.000000000 -0500
|
||||
@@ -15,7 +15,7 @@ cflags-$(CONFIG_M486) += -march=i486
|
||||
cflags-$(CONFIG_M586) += -march=i586
|
||||
cflags-$(CONFIG_M586TSC) += -march=i586
|
||||
cflags-$(CONFIG_M586MMX) += -march=pentium-mmx
|
||||
-cflags-$(CONFIG_M686) += -march=i686
|
||||
+cflags-$(CONFIG_M686) += -march=i686 $(call tune,generic)
|
||||
cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call tune,pentium2)
|
||||
cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call tune,pentium3)
|
||||
cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call tune,pentium3)
|
15065
sys-kernel/geos_one-sources/files/linux-2.6.27-lirc.patch
Normal file
15065
sys-kernel/geos_one-sources/files/linux-2.6.27-lirc.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,30 @@
|
||||
From: Jiri Kosina <jkosina@suse.cz>
|
||||
Date: Thu, 20 Nov 2008 10:27:02 +0000 (+0100)
|
||||
Subject: HID: ignore mouse interface for unibody macbooks
|
||||
X-Git-Tag: v2.6.29-rc1~498^2~18
|
||||
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=ac26fca3e14c8882e382daa7e96ab73e0186cf03
|
||||
|
||||
HID: ignore mouse interface for unibody macbooks
|
||||
|
||||
The mouse interface on unibody macbooks is going to be handled by
|
||||
bcm59743 driver in 2.6.29.
|
||||
|
||||
Reported-by: Henrik Rydberg <rydberg@euromail.se>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
|
||||
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
|
||||
index 40df3e1..839de38 100644
|
||||
--- a/drivers/hid/hid-core.c
|
||||
+++ b/drivers/hid/hid-core.c
|
||||
@@ -1577,6 +1577,9 @@ static const struct hid_device_id hid_mouse_ignore_list[] = {
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
|
||||
{ }
|
||||
|
@ -80,7 +80,16 @@ src_unpack() {
|
||||
epatch ${FILESDIR}/linux-2.6-x86-tune-generic.patch
|
||||
epatch ${FILESDIR}/linux-2.6-defaults-fat-utf8.patch
|
||||
epatch ${FILESDIR}/linux-2.6.27-lirc.patch
|
||||
|
||||
epatch ${FILESDIR}/hz-432-kconfig-option.patch
|
||||
epatch ${FILESDIR}/hz-864-kconfig-option.patch
|
||||
epatch ${FILESDIR}/enable-4k-stacks-default-2.6.24.patch
|
||||
epatch ${FILESDIR}/drm-next.patch
|
||||
epatch ${FILESDIR}/drm-modesetting-radeon.patch
|
||||
epatch ${FILESDIR}/drm-nouveau.patch
|
||||
epatch ${FILESDIR}/1-bcm5974-headers.patch
|
||||
epatch ${FILESDIR}/2-bcm5974-quad-finger-tapping.patch
|
||||
epatch ${FILESDIR}/3-bcm5974-macbook5-support.patch
|
||||
epatch ${FILESDIR}/linux-sabayon-2.6.28-ignore-mouse-interface-on-macbooks.patch
|
||||
|
||||
find ${WORKDIR} -iname "*.orig" -exec rm {} \; 2> /dev/null
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user