hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/macintosh/adbhid.c
....@@ -757,6 +757,7 @@
757757 struct input_dev *input_dev;
758758 int err;
759759 int i;
760
+ char *keyboard_type;
760761
761762 if (adbhid[id]) {
762763 pr_err("Trying to reregister ADB HID on ID %d\n", id);
....@@ -798,24 +799,23 @@
798799
799800 memcpy(hid->keycode, adb_to_linux_keycodes, sizeof(adb_to_linux_keycodes));
800801
801
- pr_info("Detected ADB keyboard, type ");
802802 switch (original_handler_id) {
803803 default:
804
- pr_cont("<unknown>.\n");
804
+ keyboard_type = "<unknown>";
805805 input_dev->id.version = ADB_KEYBOARD_UNKNOWN;
806806 break;
807807
808808 case 0x01: case 0x02: case 0x03: case 0x06: case 0x08:
809809 case 0x0C: case 0x10: case 0x18: case 0x1B: case 0x1C:
810810 case 0xC0: case 0xC3: case 0xC6:
811
- pr_cont("ANSI.\n");
811
+ keyboard_type = "ANSI";
812812 input_dev->id.version = ADB_KEYBOARD_ANSI;
813813 break;
814814
815815 case 0x04: case 0x05: case 0x07: case 0x09: case 0x0D:
816816 case 0x11: case 0x14: case 0x19: case 0x1D: case 0xC1:
817817 case 0xC4: case 0xC7:
818
- pr_cont("ISO, swapping keys.\n");
818
+ keyboard_type = "ISO, swapping keys";
819819 input_dev->id.version = ADB_KEYBOARD_ISO;
820820 i = hid->keycode[10];
821821 hid->keycode[10] = hid->keycode[50];
....@@ -824,10 +824,11 @@
824824
825825 case 0x12: case 0x15: case 0x16: case 0x17: case 0x1A:
826826 case 0x1E: case 0xC2: case 0xC5: case 0xC8: case 0xC9:
827
- pr_cont("JIS.\n");
827
+ keyboard_type = "JIS";
828828 input_dev->id.version = ADB_KEYBOARD_JIS;
829829 break;
830830 }
831
+ pr_info("Detected ADB keyboard, type %s.\n", keyboard_type);
831832
832833 for (i = 0; i < 128; i++)
833834 if (hid->keycode[i])
....@@ -880,7 +881,7 @@
880881 }
881882 if (hid->name[0])
882883 break;
883
- /* else fall through */
884
+ fallthrough;
884885
885886 default:
886887 pr_info("Trying to register unknown ADB device to input layer.\n");
....@@ -972,16 +973,13 @@
972973 ->get it to send separate codes for left and right shift,
973974 control, option keys */
974975 #if 0 /* handler 5 doesn't send separate codes for R modifiers */
975
- if (adb_try_handler_change(id, 5))
976
- printk("ADB keyboard at %d, handler set to 5\n", id);
977
- else
976
+ if (!adb_try_handler_change(id, 5))
978977 #endif
979
- if (adb_try_handler_change(id, 3))
980
- printk("ADB keyboard at %d, handler set to 3\n", id);
981
- else
982
- printk("ADB keyboard at %d, handler 1\n", id);
978
+ adb_try_handler_change(id, 3);
983979
984980 adb_get_infos(id, &default_id, &cur_handler_id);
981
+ printk(KERN_DEBUG "ADB keyboard at %d has handler 0x%X\n",
982
+ id, cur_handler_id);
985983 reg |= adbhid_input_reregister(id, default_id, org_handler_id,
986984 cur_handler_id, 0);
987985 }
....@@ -999,48 +997,44 @@
999997 for (i = 0; i < mouse_ids.nids; i++) {
1000998 int id = mouse_ids.id[i];
1001999 int mouse_kind;
1000
+ char *desc = "standard";
10021001
10031002 adb_get_infos(id, &default_id, &org_handler_id);
10041003
10051004 if (adb_try_handler_change(id, 4)) {
1006
- printk("ADB mouse at %d, handler set to 4", id);
10071005 mouse_kind = ADBMOUSE_EXTENDED;
10081006 }
10091007 else if (adb_try_handler_change(id, 0x2F)) {
1010
- printk("ADB mouse at %d, handler set to 0x2F", id);
10111008 mouse_kind = ADBMOUSE_MICROSPEED;
10121009 }
10131010 else if (adb_try_handler_change(id, 0x42)) {
1014
- printk("ADB mouse at %d, handler set to 0x42", id);
10151011 mouse_kind = ADBMOUSE_TRACKBALLPRO;
10161012 }
10171013 else if (adb_try_handler_change(id, 0x66)) {
1018
- printk("ADB mouse at %d, handler set to 0x66", id);
10191014 mouse_kind = ADBMOUSE_MICROSPEED;
10201015 }
10211016 else if (adb_try_handler_change(id, 0x5F)) {
1022
- printk("ADB mouse at %d, handler set to 0x5F", id);
10231017 mouse_kind = ADBMOUSE_MICROSPEED;
10241018 }
10251019 else if (adb_try_handler_change(id, 3)) {
1026
- printk("ADB mouse at %d, handler set to 3", id);
10271020 mouse_kind = ADBMOUSE_MS_A3;
10281021 }
10291022 else if (adb_try_handler_change(id, 2)) {
1030
- printk("ADB mouse at %d, handler set to 2", id);
10311023 mouse_kind = ADBMOUSE_STANDARD_200;
10321024 }
10331025 else {
1034
- printk("ADB mouse at %d, handler 1", id);
10351026 mouse_kind = ADBMOUSE_STANDARD_100;
10361027 }
10371028
10381029 if ((mouse_kind == ADBMOUSE_TRACKBALLPRO)
10391030 || (mouse_kind == ADBMOUSE_MICROSPEED)) {
1031
+ desc = "Microspeed/MacPoint or compatible";
10401032 init_microspeed(id);
10411033 } else if (mouse_kind == ADBMOUSE_MS_A3) {
1034
+ desc = "Mouse Systems A3 Mouse or compatible";
10421035 init_ms_a3(id);
10431036 } else if (mouse_kind == ADBMOUSE_EXTENDED) {
1037
+ desc = "extended";
10441038 /*
10451039 * Register 1 is usually used for device
10461040 * identification. Here, we try to identify
....@@ -1054,32 +1048,36 @@
10541048 (req.reply[1] == 0x9a) && ((req.reply[2] == 0x21)
10551049 || (req.reply[2] == 0x20))) {
10561050 mouse_kind = ADBMOUSE_TRACKBALL;
1051
+ desc = "trackman/mouseman";
10571052 init_trackball(id);
10581053 }
10591054 else if ((req.reply_len >= 4) &&
10601055 (req.reply[1] == 0x74) && (req.reply[2] == 0x70) &&
10611056 (req.reply[3] == 0x61) && (req.reply[4] == 0x64)) {
10621057 mouse_kind = ADBMOUSE_TRACKPAD;
1058
+ desc = "trackpad";
10631059 init_trackpad(id);
10641060 }
10651061 else if ((req.reply_len >= 4) &&
10661062 (req.reply[1] == 0x4b) && (req.reply[2] == 0x4d) &&
10671063 (req.reply[3] == 0x4c) && (req.reply[4] == 0x31)) {
10681064 mouse_kind = ADBMOUSE_TURBOMOUSE5;
1065
+ desc = "TurboMouse 5";
10691066 init_turbomouse(id);
10701067 }
10711068 else if ((req.reply_len == 9) &&
10721069 (req.reply[1] == 0x4b) && (req.reply[2] == 0x4f) &&
10731070 (req.reply[3] == 0x49) && (req.reply[4] == 0x54)) {
10741071 if (adb_try_handler_change(id, 0x42)) {
1075
- pr_cont("\nADB MacAlly 2-button mouse at %d, handler set to 0x42", id);
10761072 mouse_kind = ADBMOUSE_MACALLY2;
1073
+ desc = "MacAlly 2-button";
10771074 }
10781075 }
10791076 }
1080
- pr_cont("\n");
10811077
10821078 adb_get_infos(id, &default_id, &cur_handler_id);
1079
+ printk(KERN_DEBUG "ADB mouse (%s) at %d has handler 0x%X\n",
1080
+ desc, id, cur_handler_id);
10831081 reg |= adbhid_input_reregister(id, default_id, org_handler_id,
10841082 cur_handler_id, mouse_kind);
10851083 }
....@@ -1092,12 +1090,10 @@
10921090 struct adb_request req;
10931091 unsigned char r1_buffer[8];
10941092
1095
- pr_cont(" (trackpad)");
1096
-
10971093 adb_request(&req, NULL, ADBREQ_SYNC | ADBREQ_REPLY, 1,
10981094 ADB_READREG(id,1));
10991095 if (req.reply_len < 8)
1100
- pr_cont("bad length for reg. 1\n");
1096
+ pr_err("%s: bad length for reg. 1\n", __func__);
11011097 else
11021098 {
11031099 memcpy(r1_buffer, &req.reply[1], 8);
....@@ -1145,8 +1141,6 @@
11451141 {
11461142 struct adb_request req;
11471143
1148
- pr_cont(" (trackman/mouseman)");
1149
-
11501144 adb_request(&req, NULL, ADBREQ_SYNC, 3,
11511145 ADB_WRITEREG(id,1), 00,0x81);
11521146
....@@ -1176,8 +1170,6 @@
11761170 init_turbomouse(int id)
11771171 {
11781172 struct adb_request req;
1179
-
1180
- pr_cont(" (TurboMouse 5)");
11811173
11821174 adb_request(&req, NULL, ADBREQ_SYNC, 1, ADB_FLUSH(id));
11831175
....@@ -1212,8 +1204,6 @@
12121204 init_microspeed(int id)
12131205 {
12141206 struct adb_request req;
1215
-
1216
- pr_cont(" (Microspeed/MacPoint or compatible)");
12171207
12181208 adb_request(&req, NULL, ADBREQ_SYNC, 1, ADB_FLUSH(id));
12191209
....@@ -1253,7 +1243,6 @@
12531243 {
12541244 struct adb_request req;
12551245
1256
- pr_cont(" (Mouse Systems A3 Mouse, or compatible)");
12571246 adb_request(&req, NULL, ADBREQ_SYNC, 3,
12581247 ADB_WRITEREG(id, 0x2),
12591248 0x00,