Page MenuHomeFreeBSD

D34436.id103469.diff
No OneTemporary

D34436.id103469.diff

Index: sys/dev/hid/bcm5974.c
===================================================================
--- sys/dev/hid/bcm5974.c
+++ sys/dev/hid/bcm5974.c
@@ -188,7 +188,10 @@
BCM5974_FLAG_WELLSPRING7,
BCM5974_FLAG_WELLSPRING7A,
BCM5974_FLAG_WELLSPRING8,
- BCM5974_FLAG_WELLSPRING9,
+ BCM5974_FLAG_WELLSPRING9_MODEL3,
+ BCM5974_FLAG_WELLSPRING9_MODEL4,
+ BCM5974_FLAG_WELLSPRING9_MODEL5,
+ BCM5974_FLAG_WELLSPRING9_MODEL6,
BCM5974_FLAG_MAX,
};
@@ -331,7 +334,7 @@
* No scientific measurements have been done :) but a really hard press
* results in a value around 3500 on model 4.
*/
- [BCM5974_FLAG_WELLSPRING9] = {
+ [BCM5974_FLAG_WELLSPRING9_MODEL3] = {
.tp = tp + TYPE4,
.p = { SN_PRESSURE, 0, 4096, 4096 },
.w = { SN_WIDTH, 0, 2048, 0 },
@@ -340,6 +343,33 @@
.o = { SN_ORIENT,
-MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 },
},
+ [BCM5974_FLAG_WELLSPRING9_MODEL4] = {
+ .tp = tp + TYPE4,
+ .p = { SN_PRESSURE, 0, 4096, 4096 },
+ .w = { SN_WIDTH, 0, 2048, 0 },
+ .x = { SN_COORD, -5087, 5579, 105 },
+ .y = { SN_COORD, -182, 6089, 75 },
+ .o = { SN_ORIENT,
+ -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 },
+ },
+ [BCM5974_FLAG_WELLSPRING9_MODEL5] = {
+ .tp = tp + TYPE4,
+ .p = { SN_PRESSURE, 0, 4096, 4096 },
+ .w = { SN_WIDTH, 0, 2048, 0 },
+ .x = { SN_COORD, -6243, 6749, 105 },
+ .y = { SN_COORD, -170, 7685, 75 },
+ .o = { SN_ORIENT,
+ -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 },
+ },
+ [BCM5974_FLAG_WELLSPRING9_MODEL6] = {
+ .tp = tp + TYPE4,
+ .p = { SN_PRESSURE, 0, 4096, 4096 },
+ .w = { SN_WIDTH, 0, 2048, 0 },
+ .x = { SN_COORD, -7456, 7976, 105 },
+ .y = { SN_COORD, -163, 9283, 75 },
+ .o = { SN_ORIENT,
+ -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION, 0 },
+ },
};
#define BCM5974_DEV(v,p,i) { \
@@ -347,6 +377,17 @@
HID_TLC(BCM5974_TLC_PAGE, BCM5974_TLC_USAGE), \
}
+#define BCM5974_DEV_SPI_VER(v,p,ver,i) { \
+ HID_BVPI(BUS_SPI, USB_VENDOR_##v, USB_PRODUCT_##v##_##p, i), \
+ HID_VERSION_LTEQ(ver), \
+ HID_TLC(BCM5974_TLC_PAGE, BCM5974_TLC_USAGE), \
+}
+
+#define BCM5974_DEV_SPI(v,p,i) { \
+ HID_BVPI(BUS_SPI, USB_VENDOR_##v, USB_PRODUCT_##v##_##p, i), \
+ HID_TLC(BCM5974_TLC_PAGE, BCM5974_TLC_USAGE), \
+}
+
static const struct hid_device_id bcm5974_devs[] = {
/* MacbookAir1.1 */
BCM5974_DEV(APPLE, WELLSPRING_ANSI, BCM5974_FLAG_WELLSPRING1),
@@ -410,9 +451,32 @@
BCM5974_DEV(APPLE, WELLSPRING8_JIS, BCM5974_FLAG_WELLSPRING8),
/* MacbookPro12,1 MacbookPro11,4 */
- BCM5974_DEV(APPLE, WELLSPRING9_ANSI, BCM5974_FLAG_WELLSPRING9),
- BCM5974_DEV(APPLE, WELLSPRING9_ISO, BCM5974_FLAG_WELLSPRING9),
- BCM5974_DEV(APPLE, WELLSPRING9_JIS, BCM5974_FLAG_WELLSPRING9),
+ BCM5974_DEV(APPLE, WELLSPRING9_ANSI, BCM5974_FLAG_WELLSPRING9_MODEL3),
+ BCM5974_DEV(APPLE, WELLSPRING9_ISO, BCM5974_FLAG_WELLSPRING9_MODEL3),
+ BCM5974_DEV(APPLE, WELLSPRING9_JIS, BCM5974_FLAG_WELLSPRING9_MODEL3),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ANSI, 3, BCM5974_FLAG_WELLSPRING9_MODEL3),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ISO, 3, BCM5974_FLAG_WELLSPRING9_MODEL3),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_JIS, 3, BCM5974_FLAG_WELLSPRING9_MODEL3),
+
+ /* Macbook8,1 Macbook9,1 Macbook10,1 */
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ANSI, 4, BCM5974_FLAG_WELLSPRING9_MODEL4),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ISO, 4, BCM5974_FLAG_WELLSPRING9_MODEL4),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_JIS, 4, BCM5974_FLAG_WELLSPRING9_MODEL4),
+
+ /* MacbookPro13,1 MacbookPro13,2 MacbookPro14,1 MacbookPro14,2 */
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ANSI, 5, BCM5974_FLAG_WELLSPRING9_MODEL5),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ISO, 5, BCM5974_FLAG_WELLSPRING9_MODEL5),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_JIS, 5, BCM5974_FLAG_WELLSPRING9_MODEL5),
+
+ /* MacbookPro13,3 MacbookPro14,3 */
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ANSI, 6, BCM5974_FLAG_WELLSPRING9_MODEL6),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_ISO, 6, BCM5974_FLAG_WELLSPRING9_MODEL6),
+ BCM5974_DEV_SPI_VER(APPLE, WELLSPRING9_JIS, 6, BCM5974_FLAG_WELLSPRING9_MODEL6),
+
+ /* Fallback for unknown SPI versions */
+ BCM5974_DEV_SPI(APPLE, WELLSPRING9_ANSI, BCM5974_FLAG_WELLSPRING9_MODEL4),
+ BCM5974_DEV_SPI(APPLE, WELLSPRING9_ISO, BCM5974_FLAG_WELLSPRING9_MODEL4),
+ BCM5974_DEV_SPI(APPLE, WELLSPRING9_JIS, BCM5974_FLAG_WELLSPRING9_MODEL4),
};
struct bcm5974_softc {

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 22, 12:51 PM (14 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30122415
Default Alt Text
D34436.id103469.diff (4 KB)

Event Timeline