264 lines
13 KiB
Diff
264 lines
13 KiB
Diff
diff -uNrp kernel-2.6.35.fc14.orig/drivers/bluetooth/btusb.c kernel-2.6.35.fc14.new/drivers/bluetooth/btusb.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/bluetooth/btusb.c 2010-11-12 12:35:49.390791080 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/bluetooth/btusb.c 2010-11-12 12:48:22.090611963 +0100
|
|
@@ -68,6 +68,9 @@ static struct usb_device_id btusb_table[
|
|
/* Apple MacBookPro6,2 */
|
|
{ USB_DEVICE(0x05ac, 0x8218) },
|
|
|
|
+ /* Apple MacBookAir3,1, MacBookAir3,2 */
|
|
+ { USB_DEVICE(0x05ac, 0x821b) },
|
|
+
|
|
/* AVM BlueFRITZ! USB v2.0 */
|
|
{ USB_DEVICE(0x057c, 0x3800) },
|
|
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/hid/hid-apple.c kernel-2.6.35.fc14.new/drivers/hid/hid-apple.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/hid/hid-apple.c 2010-11-12 12:35:49.153805968 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/hid/hid-apple.c 2010-11-12 12:48:35.689816431 +0100
|
|
@@ -59,6 +59,27 @@ struct apple_key_translation {
|
|
u8 flags;
|
|
};
|
|
|
|
+static const struct apple_key_translation macbookair_fn_keys[] = {
|
|
+ { KEY_BACKSPACE, KEY_DELETE },
|
|
+ { KEY_ENTER, KEY_INSERT },
|
|
+ { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY },
|
|
+ { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY },
|
|
+ { KEY_F3, KEY_SCALE, APPLE_FLAG_FKEY },
|
|
+ { KEY_F4, KEY_DASHBOARD, APPLE_FLAG_FKEY },
|
|
+ { KEY_F6, KEY_PREVIOUSSONG, APPLE_FLAG_FKEY },
|
|
+ { KEY_F7, KEY_PLAYPAUSE, APPLE_FLAG_FKEY },
|
|
+ { KEY_F8, KEY_NEXTSONG, APPLE_FLAG_FKEY },
|
|
+ { KEY_F9, KEY_MUTE, APPLE_FLAG_FKEY },
|
|
+ { KEY_F10, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY },
|
|
+ { KEY_F11, KEY_VOLUMEUP, APPLE_FLAG_FKEY },
|
|
+ { KEY_F12, KEY_EJECTCD, APPLE_FLAG_FKEY },
|
|
+ { KEY_UP, KEY_PAGEUP },
|
|
+ { KEY_DOWN, KEY_PAGEDOWN },
|
|
+ { KEY_LEFT, KEY_HOME },
|
|
+ { KEY_RIGHT, KEY_END },
|
|
+ { }
|
|
+};
|
|
+
|
|
static const struct apple_key_translation apple_fn_keys[] = {
|
|
{ KEY_BACKSPACE, KEY_DELETE },
|
|
{ KEY_ENTER, KEY_INSERT },
|
|
@@ -157,10 +178,14 @@ static int hidinput_apple_event(struct h
|
|
if (fnmode) {
|
|
int do_translate;
|
|
|
|
- trans = apple_find_translation((hid->product < 0x21d ||
|
|
+ if(hid->product >= 0x023f && hid->product <= 0x0244 ) {
|
|
+ trans = apple_find_translation(macbookair_fn_keys, usage->code);
|
|
+ } else {
|
|
+ trans = apple_find_translation((hid->product < 0x21d ||
|
|
hid->product >= 0x300) ?
|
|
powerbook_fn_keys : apple_fn_keys,
|
|
usage->code);
|
|
+ }
|
|
if (trans) {
|
|
if (test_bit(usage->code, asc->pressed_fn))
|
|
do_translate = 1;
|
|
@@ -435,6 +460,18 @@ static const struct hid_device_id apple_
|
|
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
|
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
|
|
+ .driver_data = APPLE_HAS_FN },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
|
|
+ .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
|
|
+ .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
|
|
+ .driver_data = APPLE_HAS_FN },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
|
|
+ .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
|
|
+ .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
|
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/hid/hid-core.c kernel-2.6.35.fc14.new/drivers/hid/hid-core.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/hid/hid-core.c 2010-11-12 12:35:49.153805968 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/hid/hid-core.c 2010-11-12 12:48:35.690816373 +0100
|
|
@@ -1273,6 +1273,12 @@ static const struct hid_device_id hid_bl
|
|
{ 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_WELLSPRING4_ANSI) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
|
|
@@ -1738,6 +1744,12 @@ static const struct hid_device_id hid_mo
|
|
{ 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_WELLSPRING4_ANSI) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_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) },
|
|
{ }
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/hid/hid-ids.h kernel-2.6.35.fc14.new/drivers/hid/hid-ids.h
|
|
--- kernel-2.6.35.fc14.orig/drivers/hid/hid-ids.h 2010-11-12 12:35:49.153805968 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/hid/hid-ids.h 2010-11-12 12:48:35.691816314 +0100
|
|
@@ -93,6 +93,12 @@
|
|
#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 USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI 0x023f
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_ISO 0x0240
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_JIS 0x0241
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244
|
|
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI 0x0239
|
|
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO 0x023a
|
|
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/hwmon/applesmc.c kernel-2.6.35.fc14.new/drivers/hwmon/applesmc.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/hwmon/applesmc.c 2010-11-12 12:35:49.618776754 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/hwmon/applesmc.c 2010-11-13 12:25:05.810472278 +0100
|
|
@@ -162,6 +162,10 @@ static const char *temperature_sensors_s
|
|
/* Set 22: MacBook Pro 7,1 */
|
|
{ "TB0T", "TB1T", "TB2T", "TC0D", "TC0P", "TN0D", "TN0P", "TN0S",
|
|
"TN1D", "TN1F", "TN1G", "TN1S", "Th1H", "Ts0P", "Ts0S", NULL },
|
|
+/* Set 23: MacBook Air 3,1 */
|
|
+ { "TB0T", "TB1T", "TB2T", "TC0D", "TC0E", "TC0P", "TC1E", "TCZ3",
|
|
+ "TCZ4", "TCZ5", "TG0E", "TG1E", "TG2E", "TGZ3", "TGZ4", "TGZ5",
|
|
+ "TH0F", "TH0O", "TM0P" },
|
|
};
|
|
|
|
/* List of keys used to read/write fan speeds */
|
|
@@ -1524,11 +1528,21 @@ static __initdata struct dmi_match_data
|
|
{ .accelerometer = 1, .light = 1, .temperature_set = 21 },
|
|
/* MacBook Pro 7,1: accelerometer, backlight and temperature set 22 */
|
|
{ .accelerometer = 1, .light = 1, .temperature_set = 22 },
|
|
+/* MacBook Air 3,1: accelerometer, backlight and temperature set 15 */
|
|
+ { .accelerometer = 0, .light = 0, .temperature_set = 23 },
|
|
};
|
|
|
|
/* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1".
|
|
* So we need to put "Apple MacBook Pro" before "Apple MacBook". */
|
|
static __initdata struct dmi_system_id applesmc_whitelist[] = {
|
|
+ { applesmc_dmi_match, "Apple MacBook Air 3", {
|
|
+ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir3,2") },
|
|
+ &applesmc_dmi_data[23]},
|
|
+ { applesmc_dmi_match, "Apple MacBook Air 3", {
|
|
+ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir3,1") },
|
|
+ &applesmc_dmi_data[23]},
|
|
{ applesmc_dmi_match, "Apple MacBook Air 2", {
|
|
DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
|
|
DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir2") },
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/input/mouse/bcm5974.c kernel-2.6.35.fc14.new/drivers/input/mouse/bcm5974.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/input/mouse/bcm5974.c 2010-11-12 12:35:50.004752503 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/input/mouse/bcm5974.c 2010-11-12 12:48:13.140136374 +0100
|
|
@@ -55,6 +55,14 @@
|
|
#define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI 0x0236
|
|
#define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO 0x0237
|
|
#define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS 0x0238
|
|
+/* MacbookAir3,2 (unibody), aka wellspring5 */
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI 0x023f
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_ISO 0x0240
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_JIS 0x0241
|
|
+/* MacbookAir3,1 (unibody), aka wellspring4 */
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243
|
|
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244
|
|
|
|
#define BCM5974_DEVICE(prod) { \
|
|
.match_flags = (USB_DEVICE_ID_MATCH_DEVICE | \
|
|
@@ -80,6 +88,14 @@ static const struct usb_device_id bcm597
|
|
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
|
|
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
|
|
BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
|
|
+ /* MacbookAir3,2 */
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
|
|
+ /* MacbookAir3,1 */
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
|
|
+ BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
|
|
/* Terminating entry */
|
|
{}
|
|
};
|
|
@@ -234,6 +250,30 @@ static const struct bcm5974_config bcm59
|
|
{ DIM_X, DIM_X / SN_COORD, -4460, 5166 },
|
|
{ DIM_Y, DIM_Y / SN_COORD, -75, 6700 }
|
|
},
|
|
+ {
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI,
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4_ISO,
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4_JIS,
|
|
+ HAS_INTEGRATED_BUTTON,
|
|
+ 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 }
|
|
+ },
|
|
+ {
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI,
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO,
|
|
+ USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS,
|
|
+ HAS_INTEGRATED_BUTTON,
|
|
+ 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 }
|
|
+ },
|
|
{}
|
|
};
|
|
|
|
diff -uNrp kernel-2.6.35.fc14.orig/drivers/video/backlight/mbp_nvidia_bl.c kernel-2.6.35.fc14.new/drivers/video/backlight/mbp_nvidia_bl.c
|
|
--- kernel-2.6.35.fc14.orig/drivers/video/backlight/mbp_nvidia_bl.c 2010-11-12 12:35:49.159805591 +0100
|
|
+++ kernel-2.6.35.fc14.new/drivers/video/backlight/mbp_nvidia_bl.c 2010-11-12 12:48:47.412131884 +0100
|
|
@@ -335,6 +335,24 @@ static const struct dmi_system_id __init
|
|
},
|
|
.driver_data = (void *)&nvidia_chipset_data,
|
|
},
|
|
+ {
|
|
+ .callback = mbp_dmi_match,
|
|
+ .ident = "MacBookAir 3,1",
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir3,1"),
|
|
+ },
|
|
+ .driver_data = (void *)&nvidia_chipset_data,
|
|
+ },
|
|
+ {
|
|
+ .callback = mbp_dmi_match,
|
|
+ .ident = "MacBookAir 3,2",
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir3,2"),
|
|
+ },
|
|
+ .driver_data = (void *)&nvidia_chipset_data,
|
|
+ },
|
|
{ }
|
|
};
|
|
|
|
diff -uNrp kernel-2.6.35.fc14.orig/sound/pci/hda/patch_cirrus.c kernel-2.6.35.fc14.new/sound/pci/hda/patch_cirrus.c
|
|
--- kernel-2.6.35.fc14.orig/sound/pci/hda/patch_cirrus.c 2010-11-12 12:35:49.005815268 +0100
|
|
+++ kernel-2.6.35.fc14.new/sound/pci/hda/patch_cirrus.c 2010-11-12 12:48:40.379542432 +0100
|
|
@@ -1139,6 +1139,7 @@ static const char *cs420x_models[CS420X_
|
|
static struct snd_pci_quirk cs420x_cfg_tbl[] = {
|
|
SND_PCI_QUIRK(0x10de, 0xcb79, "MacBookPro 5,5", CS420X_MBP55),
|
|
SND_PCI_QUIRK(0x8086, 0x7270, "IMac 27 Inch", CS420X_IMAC27),
|
|
+ SND_PCI_QUIRK(0x10de, 0x0d94, "MacBookAir 3,1(2)", CS420X_MBP55),
|
|
{} /* terminator */
|
|
};
|
|
|