From 784f0ae775f437e16be85869fdbe0f63dcecb31b Mon Sep 17 00:00:00 2001 From: Redecorating <69827514+Redecorating@users.noreply.github.com> Date: Tue, 19 Oct 2021 09:19:53 +1100 Subject: [PATCH] Fix keyboard id matching on 15,1 --- apple-ib-tb.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/apple-ib-tb.c b/apple-ib-tb.c index 8fe3b7f..6339ee6 100644 --- a/apple-ib-tb.c +++ b/apple-ib-tb.c @@ -390,16 +390,6 @@ static int apple_magic_keyboard_backlight_init(struct appletb_device *tb_dev) int ret; struct apple_magic_backlight *backlight; - switch(tb_dev->tpd_handle.dev->id.product) { - case 0x0340u: /* MacBookPro16,1/4 */ - case 0x027eu: /* MacBookPro16,2 */ - case 0x027fu: /* MacBookPro16,3 */ - case 0x0280u: /* MacBookAir9,1 */ - break; - default: - return 0; - } - backlight = devm_kzalloc(tb_dev->log_dev, sizeof(*backlight), GFP_KERNEL); if (!backlight) return -ENOMEM; @@ -410,8 +400,11 @@ static int apple_magic_keyboard_backlight_init(struct appletb_device *tb_dev) backlight->cdev.brightness_set_blocking = apple_magic_keyboard_backlight_led_set; ret = apple_magic_keyboard_backlight_set(backlight, 0, 0); - if (ret) + if (ret) { + dev_err(tb_dev->log_dev, "Failed to initialise Magic Keyboard Backlight (%d)\n", ret); + kfree(backlight); return ret; + } ret = devm_led_classdev_register(tb_dev->log_dev, &backlight->cdev); return ret; @@ -982,6 +975,14 @@ static int appletb_inp_connect(struct input_handler *handler, if (id->driver_info == APPLETB_DEVID_KEYBOARD) { handle = &tb_dev->kbd_handle; handle->name = "tbkbd"; + switch(dev->id.product) { + case 0x0340u: /* MacBookPro16,1/4 */ + case 0x027eu: /* MacBookPro16,2 */ + case 0x027fu: /* MacBookPro16,3 */ + case 0x0280u: /* MacBookAir9,1 */ + apple_magic_keyboard_backlight_init(tb_dev); + break; + } } else if (id->driver_info == APPLETB_DEVID_TOUCHPAD) { handle = &tb_dev->tpd_handle; handle->name = "tbtpad"; @@ -1325,11 +1326,6 @@ static int appletb_probe(struct hid_device *hdev, dev_dbg(tb_dev->log_dev, "Touchbar activated\n"); - rc = apple_magic_keyboard_backlight_init(tb_dev); - if (rc) { - dev_err(tb_dev->log_dev, - "Failed to initialise magic keyboard backlight (%d)\n", rc); - } } return 0;