Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
29239b2
applespi: Don't set up any runtime-pm callbacks.
roadrunner2 Mar 4, 2018
d6e846a
applespi: Minor coding style fixes.
roadrunner2 May 20, 2018
b26063b
applespi: Remove unnecessary struct alignment attributes.
roadrunner2 Jul 23, 2018
4b0dd0c
applespi: Update comment to reflect all MB(P) models this driver is for.
roadrunner2 Aug 1, 2018
445433e
applespi: Minor renaming of init command to mt-init.
roadrunner2 Apr 21, 2018
d590d3a
applespi: Reset state properly on error in continuation packet.
roadrunner2 Oct 28, 2018
6ef2af5
applespi: Preserve keyboard backlight level across reboots.
roadrunner2 Nov 8, 2017
8aebf48
applespi: Add option to swap fn key with a modifier key.
roadrunner2 May 20, 2018
ca624b7
applespi: Get touchpad model id from touchpad itself.
roadrunner2 Apr 21, 2018
8b5ec9e
applespi: Avoid unnecessary delay in common cases.
roadrunner2 Sep 2, 2018
f09ae09
applespi: Make sure SPI is enabled before GPE is.
roadrunner2 Oct 7, 2018
5fe2065
applespi: Ignore GPE's from wakeup.
roadrunner2 Oct 8, 2018
8e9e3cc
applespi: Explicitly turn off caps-lock led on suspend.
roadrunner2 Oct 8, 2018
613f236
applespi: Enable the keyboard and touchpad for system wake by default.
roadrunner2 Nov 10, 2018
06b6550
applespi: Don't set input capabilities already set by mt core.
roadrunner2 Nov 30, 2018
6eb46d3
applespi: Add missing malloc failure check in probe.
roadrunner2 Dec 2, 2018
a4b2a65
applespi: Fix hang trying to remove module after read failure.
roadrunner2 Dec 31, 2018
79d169e
applespi: Trivial return status check fix.
roadrunner2 Jan 11, 2019
dda5101
applespi: Remove unnecessary include.
roadrunner2 Jan 14, 2019
213441b
appletb: First cut at a basic touchbar driver.
roadrunner2 Feb 10, 2017
3a800cb
appletb: Added hack to take over the touchbar device.
roadrunner2 Feb 13, 2017
82823a3
Add touchbar section to README.
roadrunner2 Feb 13, 2017
e12d11a
appletb: A few minor cleanups.
roadrunner2 Feb 16, 2017
cc88b4f
appletb: Fix potential race in initialization.
roadrunner2 Feb 19, 2017
9456f6e
appletb: Make idle_timeout a device attribute.
roadrunner2 Feb 19, 2017
006a339
appletb: Add fn-mode support.
roadrunner2 Feb 19, 2017
e909d2c
appletb: Fix touchbar turning on again when idle_timeout is 0.
roadrunner2 Mar 4, 2017
ecc3003
appletb: Fix wrong mode after re-enabling with infinite timeout.
roadrunner2 Mar 4, 2017
c94d23e
appletb: Fix lost updates when fn key is toggled quickly.
roadrunner2 Mar 5, 2017
2e3378b
appletb: Only re-init the touchbar after a reset.
roadrunner2 Mar 5, 2017
4866aed
appletb: Add support for dimming and waking via touch.
roadrunner2 Mar 21, 2017
a196eff
appletb: Fix dimming after module load if no keys are pressed.
roadrunner2 Apr 14, 2017
43d0ec7
appletb: Wake up screen too on touchbar wakeup.
roadrunner2 Apr 14, 2017
275972a
appletb: Renamed module parameters for compatibility with applespi.
roadrunner2 May 1, 2017
8f2fe45
appletb: Avoid and handle EPIPE's when changing mode.
roadrunner2 May 30, 2017
69709fa
appletb: Improve accuracy of timeouts by rounding idle time.
roadrunner2 May 30, 2017
541d0af
appletb: keep display fully on when timeout is disabled.
roadrunner2 May 30, 2017
8d95aae
appletb: Allow setting dim-timeout too.
roadrunner2 May 30, 2017
c2ae1ad
appletb: suppress unnecessary touchbar messages.
roadrunner2 Jun 1, 2017
70ba8ce
appletb: Made hid-generic driver removal hack more robust.
roadrunner2 Jun 11, 2017
6f516b9
appletb: Bring touchbar info in README up-to-date.
roadrunner2 Jun 15, 2017
c420852
appletb: Add dkms support.
roadrunner2 Jul 22, 2017
eb2645a
appletb: Fix inconsistent spin-lock usage.
roadrunner2 Aug 10, 2017
5f7afef
appletb: Fix missing key-release events when fn key changed.
roadrunner2 Sep 16, 2017
e2549f9
appletb: Coding standards cleanup.
roadrunner2 Nov 12, 2017
fcad695
appletb: Added copyright header.
roadrunner2 Nov 12, 2017
e0b5b47
appletb: Set the correct input capabilities.
roadrunner2 Mar 5, 2018
2c83e5b
appletb: Properly manage ref-count of the usb interface.
roadrunner2 Apr 22, 2018
9bb2aca
appletb: Ensure runtime PM is re-enabled on module remove.
roadrunner2 Apr 22, 2018
ecca769
appletb: No need for registration hacks on kernels >= 4.16.
roadrunner2 Sep 11, 2018
84246b4
appletb: Fix double registration of input devices etc.
roadrunner2 Sep 11, 2018
0fad7d5
appletb: Fix deadlock in event callbacks.
roadrunner2 Sep 15, 2018
0dfa0a0
appletb: Trivial comment formatting fixes.
roadrunner2 Sep 15, 2018
a41761d
appletb: Trivial constant renaming.
roadrunner2 Sep 25, 2018
9bae7cb
appletb: Clean up auto-pm a bit.
roadrunner2 Sep 25, 2018
8e03c30
appletb: Use a single structure to hold device info for both interfaces.
roadrunner2 Sep 16, 2018
dc0faae
appletb: Ensure iBridge is using the correct USB configuration.
roadrunner2 Sep 25, 2018
6fb37b3
appletb: Extract and use info from HID report descriptors.
roadrunner2 Sep 25, 2018
5db83b9
appletb: Wake up iBridge device after resume.
roadrunner2 Sep 25, 2018
0961cc6
appletb: Improved overview description in comment a bit.
roadrunner2 Sep 27, 2018
ee51949
appletb: Unify duplicated code for sending reports.
roadrunner2 Sep 29, 2018
9665620
appletb: Minor code simplification.
roadrunner2 Oct 2, 2018
8334704
appletb: Initial ambient light sensor support.
roadrunner2 Oct 2, 2018
7644d83
appletb: Minor lock and worker renaming.
roadrunner2 Oct 4, 2018
3e48f0e
appletb: Fix compilation kernels prior to 4.18.
roadrunner2 Oct 9, 2018
b8955e4
appletb: Fix touchbar activation on kernels <= 4.15.
roadrunner2 Oct 23, 2018
9adfe3f
appletb: Misc updates and fixes to ALS code.
roadrunner2 Nov 27, 2018
c2ed38a
appletb: Add support for dynamic ALS sensitivity.
roadrunner2 Nov 27, 2018
f846335
appletb: Indicate defaults for module parameters.
roadrunner2 Dec 1, 2018
a3ff955
appletb: Ensure tb device is powered on before changing mode.
roadrunner2 Dec 1, 2018
63fb53f
appletb: Avoid flicker when turning on touchbar again.
roadrunner2 Dec 9, 2018
62e6a41
appletb: Multiple fixes for suspend/resume.
roadrunner2 Dec 1, 2018
8aa8733
appletb: Split the module into 3 separate ones for iBridge, TB, and ALS.
roadrunner2 Nov 27, 2018
784c507
appletb: Turn 64-bit hid report fields into 32-bit ones.
roadrunner2 Dec 30, 2018
b5ab2c6
appletb: Minor spelling changes around the word "touchbar".
roadrunner2 Jan 14, 2019
d2c0659
appletb: Minor comment and variable name updates.
roadrunner2 Jan 26, 2019
04a0c39
appletb: Remove unnecessary duplication of iio channels.
roadrunner2 Jan 26, 2019
ebaf3ec
applespi: add debug printing of messages with invalid crc's.
roadrunner2 Jan 26, 2019
3f56ce0
Update README.md
dwbrite Feb 24, 2019
c3a4ee4
Akmods module
meeuw Mar 23, 2019
19849fd
applespi: Improve overview comment.
roadrunner2 Feb 18, 2019
43273d6
applespi: add missing module information.
roadrunner2 Feb 18, 2019
6798942
applespi: clean up includes.
roadrunner2 Feb 18, 2019
84c49d4
applespi: renamed crc_16 field to crc16.
roadrunner2 Feb 18, 2019
924430e
applespi: Improve keyboard-backlight constants.
roadrunner2 Feb 18, 2019
86c55d4
applespi: clean up logging.
roadrunner2 Feb 18, 2019
68af248
applespi: clean up status code variables.
roadrunner2 Feb 18, 2019
eee6327
applespi: clean up touchpad-dimensions handling.
roadrunner2 Feb 18, 2019
117b4d7
applespi: split the 16-bit model-id into 2 8-bit fields.
roadrunner2 Feb 20, 2019
d8b72f6
applespi: adjust some code flows to conform to kernel style.
roadrunner2 Feb 20, 2019
9918428
applespi: refactored applespi_code_to_key for better readability.
roadrunner2 Feb 20, 2019
d278ad2
applespi: factor out duplicated drain functionality.
roadrunner2 Feb 20, 2019
8a7a8b6
applespi: avoid "unused" warnings when CONFIG_PM is not set.
roadrunner2 Feb 20, 2019
85b187a
applespi: make error return values more specific.
roadrunner2 Feb 20, 2019
41aedfb
applespi: remove trailing comma in array definitions.
roadrunner2 Feb 20, 2019
cac51c6
applespi: improve layout of long function declarations.
roadrunner2 Feb 20, 2019
17df632
applespi: clean up driver declarations.
roadrunner2 Feb 20, 2019
dfcb6c1
applespi: fix module-license declaration.
roadrunner2 Feb 20, 2019
a11e844
applespi: minor comment cleanups.
roadrunner2 Feb 20, 2019
eb1dbe5
applespi: rename fn to Fn in module param descriptions.
roadrunner2 Feb 20, 2019
2442637
applespi: add units to time constant name.
roadrunner2 Feb 20, 2019
275255a
applespi: iso_layout param is a boolean, so declare it as such.
roadrunner2 Feb 20, 2019
fb1ac5d
applespi: minor label renaming.
roadrunner2 Feb 20, 2019
264bb57
applespi: minor code formatting improvements.
roadrunner2 Feb 20, 2019
8cea218
applespi: better conform to kernel coding style.
roadrunner2 Feb 20, 2019
c39a9b3
applespi: make use of kmalloc_array() and friends.
roadrunner2 Feb 20, 2019
f111323
applespi: make use of put_unaligned_le16()
roadrunner2 Feb 20, 2019
c62928d
applespi: use more idiomatic expression to wrap counter.
roadrunner2 Feb 20, 2019
e071e1d
applespi: renamed raw2int for better future proofing.
roadrunner2 Feb 20, 2019
406e0e5
applespi: Removed undesired DEV() macro.
roadrunner2 Mar 25, 2019
c84bb31
applespi: clean up assumptions around max number of modifiers.
roadrunner2 Mar 25, 2019
a9822d0
applespi: minor formatting cleanups.
roadrunner2 Mar 25, 2019
ae09af4
applespi: clarify applespi_tp_info structure layout.
roadrunner2 Mar 25, 2019
a5061f0
applespi: minor code clarity improvement.
roadrunner2 Mar 25, 2019
f417ac4
applespi: fix path of included asm file.
roadrunner2 Apr 7, 2019
1bab371
applespi: use debugfs for debugging touchpad dimensions.
roadrunner2 Apr 7, 2019
1b4f991
applespi: use tracepoints instead of kernel log for tracing packets.
roadrunner2 Apr 7, 2019
5a0b0c0
applespi: remove spurious parentheses.
roadrunner2 Apr 15, 2019
62e9c7b
applespi: no need to remember the acpi-handle of the spi dev.
roadrunner2 Apr 15, 2019
60c14e3
applespi: simplify updating touchpad dimensions.
roadrunner2 Apr 15, 2019
71368ad
applespi: minor code simplification.
roadrunner2 Apr 15, 2019
ba813fe
applespi: replace some bool flags by loop-end detection.
roadrunner2 Apr 15, 2019
9157094
applespi: demote some warnings to debug messages.
roadrunner2 Apr 15, 2019
1092246
applespi: improve error reporting when failing to get acpi handles.
roadrunner2 Apr 15, 2019
99a9ee1
applespi: use memchr() and friends instead of hand-rolled loops.
roadrunner2 Apr 16, 2019
5ffac57
applespi: minor code tweak.
roadrunner2 Apr 16, 2019
12c5e76
applespi: use u8 instead of __u8.
roadrunner2 Jul 16, 2019
531ce3f
applespi: handle errors from mt-slots initialization.
roadrunner2 Jul 16, 2019
1d16646
applespi: handle conditionally used suspend/resume differently.
roadrunner2 Jul 16, 2019
d806d0d
applespi: remove set but not used variables 'sts'
Jul 16, 2019
d100a19
applespi: fix warnings detected by sparse
roadrunner2 Jul 21, 2019
7467e79
applespi: fix trivial typo in struct description
nikolas Jul 23, 2019
6cc9eec
applespi: use struct_size() helper
GustavoARSilva Aug 6, 2019
ad4f3ef
applespi: no need to check return value of debugfs_create functions
gregkh Aug 12, 2019
3a24873
applespi: Don't wait for responses to commands indefinitely.
roadrunner2 Aug 20, 2019
df4166a
applespi: register touchpad device synchronously in probe
roadrunner2 Jul 17, 2019
a45ac29
applespi: Fix compilation on older kernels.
roadrunner2 Jan 22, 2020
6ddd2e7
applespi: Fix rare NULL pointer derefence.
roadrunner2 Feb 23, 2020
170f615
applespi: Fix occasional crc errors under load.
roadrunner2 Feb 23, 2020
f1e8cab
applespi: Add trace_event module param for early tracing.
roadrunner2 Feb 24, 2020
d2393a8
appletb: comment cleanups.
roadrunner2 Apr 21, 2019
a824fb0
appletb: clean up imports.
roadrunner2 Apr 21, 2019
7375728
appletb: clean up logging.
roadrunner2 Apr 21, 2019
b2ec255
appletb: factor out work scheduling for better readability.
roadrunner2 Apr 21, 2019
1f50443
appletb: minor module info updates.
roadrunner2 Apr 21, 2019
c7900ad
appletb: remove macro that doesn't buy us much.
roadrunner2 Apr 21, 2019
5863003
appletb: improve call_driver_func() macros.
roadrunner2 Apr 21, 2019
ae831ca
appletb: minor formatting fixes and improvements.
roadrunner2 Apr 21, 2019
49c27f4
appletb: make appleals_sensitivity_map const.
roadrunner2 Apr 24, 2019
e5af76c
appletb: check return value before using it.
roadrunner2 Apr 24, 2019
302579a
appletb: remove unnecessary assignments.
roadrunner2 Apr 24, 2019
3ca24fd
appletb: split complex assignment into more readable parts.
roadrunner2 Apr 24, 2019
97378e6
appletb: return directly from switch branches.
roadrunner2 Apr 24, 2019
da7df2e
appletb: clean up and rename in_hid_probe.
roadrunner2 Apr 24, 2019
8734f0f
appletb: improve error handling when start_hid_events fails.
roadrunner2 Apr 24, 2019
8469f4e
appletb: minor code simplification.
roadrunner2 Apr 24, 2019
912891d
appletb: remove undesired code comments.
roadrunner2 Apr 24, 2019
661289e
appletb: remove spurious semicolon.
roadrunner2 Apr 24, 2019
189fb2f
appletb: consolidate driver (un)registration error messages.
roadrunner2 Apr 24, 2019
2661600
appletb: clean up some error messages.
roadrunner2 Apr 24, 2019
2a2017b
appletb: demote several info log messages to debug.
roadrunner2 Apr 24, 2019
50cb73c
appletb: simplify device removal.
roadrunner2 Apr 24, 2019
2fa0da0
appletb: remove undesired call_driver_func macros.
roadrunner2 Apr 26, 2019
0bb9fd0
appletb: rename appleib_platform_data to appleib_device_data.
roadrunner2 Apr 26, 2019
0db2a7e
appletb: factor out freeing a hid-driver into separate function.
roadrunner2 Apr 26, 2019
0698094
appletb: use proper format for kernel-docs.
roadrunner2 Apr 26, 2019
451f467
appletb: remove unwanted comments and clarify others.
roadrunner2 Apr 26, 2019
390d696
appletb: minor code simplifications.
roadrunner2 Apr 26, 2019
92ad92a
appletb: move some fixed-size structs into appleib_device.
roadrunner2 Apr 26, 2019
bd09a5b
appletb: fix passing of ib_dev instance to hid probe callback.
roadrunner2 Apr 26, 2019
68d51fb
appletb: make use of devm_ functions to simplify cleanup.
roadrunner2 Apr 26, 2019
2754c61
appletb: don't expose raw light values, only processed ones.
roadrunner2 Apr 26, 2019
c1ecc4b
appletb: Add option to just turn touch bar off.
roadrunner2 May 18, 2019
4d34a7f
appletb: Improve module parameter descriptions.
roadrunner2 May 18, 2019
09b395b
applespi: add note to README that driver is now upstream
roadrunner2 Jul 23, 2019
61fcdec
Clean up README a bit.
roadrunner2 Jul 23, 2019
7ab2a98
Point to my gist for more config info for keyboard and touchpad.
roadrunner2 Jul 29, 2019
14e5071
appletb: simplify search for usb-interface device.
roadrunner2 Aug 27, 2019
ddfbc77
appletb: silence compiler warning.
roadrunner2 Aug 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
obj-m += applespi.o
obj-m += apple-ibridge.o
obj-m += apple-ib-tb.o
obj-m += apple-ib-als.o

CFLAGS_applespi.o = -I$(src) # for tracing

KVERSION := $(KERNELRELEASE)
ifeq ($(origin KERNELRELEASE), undefined)
Expand Down
80 changes: 49 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
Very simple, work in progress input driver for the SPI keyboard / trackpad found on 12" MacBooks (2015 and later) and newer MacBook Pros (late 2016 and later).
Input driver for the SPI keyboard / trackpad found on 12" MacBooks (2015 and later) and newer MacBook Pros (late 2016 through mid 2018), as well a simple touchbar and ambient-light-sensor driver for late 2016 MacBook Pro's and later.

The keyboard / trackpad driver here is now included in the kernel as of v5.3.

NOTE:
-----
The touchbar driver was refactored in late 2018; if you're upgrading from the `appletb` driver, please see the [Upgrading](#upgrading) section; if you're running a kernel before 4.16 then please check out the [legacy](../../tree/touchbar-driver-monolithic) branch instead.

Using it:
---------
Expand All @@ -10,6 +16,7 @@ On all other MacBook's and MacBook Pros you need to instead make sure both the `

For best results everywhere, make sure all three modules (this `applespi` driver plus the two core ones mentioned above) are present in your initramfs/initrd so that the keyboard is functional by the time the prompt for the disk password appears. Also, having them loaded early also appears to remove the need for the `irqpoll` kernel parameter on MacBook8,1's.

Lastly, please see the [Keyboard/Touchpad/Touchbar](https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7#keyboardtouchpadtouchbar) section of my gist for recommended user-space configurations and more details.

DKMS module (Debian & co):
--------------------------
Expand All @@ -18,7 +25,7 @@ As root, do the following (all MacBook's and MacBook Pro's except MacBook8,1 (20
echo -e "\n# applespi\napplespi\nspi_pxa2xx_platform\nintel_lpss_pci" >> /etc/initramfs-tools/modules

apt install dkms
git clone https://github.com/cb22/macbook12-spi-driver.git /usr/src/applespi-0.1
git clone https://github.com/roadrunner2/macbook12-spi-driver.git /usr/src/applespi-0.1
dkms install -m applespi -v 0.1
```

Expand All @@ -27,45 +34,56 @@ If you're on a MacBook8,1 (2015):
echo -e "\n# applespi\napplespi\nspi_pxa2xx_platform\nspi_pxa2xx_pci" >> /etc/initramfs-tools/modules

apt install dkms
git clone https://github.com/cb22/macbook12-spi-driver.git /usr/src/applespi-0.1
git clone https://github.com/roadrunner2/macbook12-spi-driver.git /usr/src/applespi-0.1
dkms install -m applespi -v 0.1
```

What works:
-----------
* Basic Typing
* FN keys
* Driver unloading (no more hanging)
* Basic touchpad functionality (even right click, handled by libinput)
* MT touchpad functionality (two finger scroll, probably others)
* Interrupts!
* Suspend / resume
Akmods module (RPM Fusion / Red Hat & co):
------------------------------------------
You can build the akmod package from this repository:

https://pagure.io/fedora-macbook12-spi-driver-kmod

Or use this [copr repository](https://copr.fedorainfracloud.org/coprs/meeuw/macbook12-spi-driver-kmod/):
```
$ dnf copr enable meeuw/macbook12-spi-driver-kmod

$ dnf install macbook12-spi-driver-kmod
```

What doesn't work:
------------------
* Key rollover (properly)
* Wakeup on keypress / touchpad

Known bugs:
-----------
* Occasionally, the SPI device can get itself into a state where it causes an interrupt storm. There should be a way of resetting it, or better yet avoiding this state altogether.

Interrupts:
-----------
Interrupts are now working! This means that the driver is no longer polled, and should no longer be a massive battery drain. For more information on how the driver receives interrupts, see the discussion [here](https://github.com/cb22/macbook12-spi-driver/pull/1)

Touchpad:
---------
The touchpad protocol is the same as the bcm5974 driver. Perhaps there is a nice way of utilizing it? For now, bits of code have just been copy and pasted.
* Autodetection of ISO layout
* Resume on MacBook8,1

Debugging:
----------
The `debug` module parameter can be used to turn debugging output on (and off) dynamically, and can be set in all the usual ways (e.g. via kernel command-line (`applespi.debug=0x1`), via sysfs (`echo 0x10000 | sudo tee /sys/module/applespi/parameters/debug`), etc.).
Packet tracing is exposed via the kernel tracepoints framework. Tracing of individual packet types can be enabled with something like the following:
```
echo 1 | sudo tee /sys/kernel/debug/tracing/events/applespi/applespi_keyboard_data/enable
```
The packets are then visible in `/sys/kernel/debug/tracing/trace`

Some useful values are (since the value is a bitmask, these can be combined):
* 0x10000 - determine touchpad values range
* 0x1 - turn on logging of touchpad initialization packets
* 0x6 - turn on logging of backlight and caps-lock-led packets
Trackpad dimensions logging can be enabled with
```
echo 1 | sudo tee /sys/kernel/debug/applespi/enable_tp_dim
```
and then viewed with something like
```
sudo watch /sys/kernel/debug/applespi/tp_dim
```

Touchbar/ALS/iBridge:
---------------------
The touchbar and ambient-light-sensor (ALS) are part of the iBridge chip, and hence there are 3 modules corresponding to these (`apple_ibridge`, `apple_ib_tb`, and `apple_ib_als`). Generally loading any one of these will load the others, unless you are loading them via `insmod`. If loading manually (i.e. via `insmod`), you need to first load the `industrialio_triggered_buffer` module.

The touchbar driver provides basic touchbar functionality (enabling the touchbar and switching between modes based on the FN key). The touchbar is automatically dimmed and later switched off if no (internal) keyboard, touchpad, or touchbar input is received for a period of time; any (internal) keyboard, touchpad, or touchbar input switches it back on. The timeouts till the touchbar is dimmed and turned off can be changed via the `idle_timeout` and `dim_timeout` module params or sysfs attributes (`/sys/class/input/input9/device/...`); they default to 5 min and 4.5 min, respectively. See also `modinfo apple_ib_tb`.

The ALS driver exposes the ambient light sensor; if you have the `iio-sensor-proxy` installed then it should be recognized and handled automatically.

Upgrading:
----------
The touchbar and ALS drivers used to be in a single module, `appletb`. This has now been split up into 3 modules, `apple_ibridge`, `apple_ib_tb`, and `apple_ib_als`. Generally whereever you were using `appletb` (e.g. in the initrd/dracut/whatever configs) you want to use `apple_ib_tb` now. Also, make sure to remove the old `appletb` module, either by first doing a `sudo dkms remove applespi/0.1 --all` before upgrading, or by manually removing the driver (e.g. `sudo find /lib/modules/ -name appletb.ko | xargs rm`).

Some useful threads:
--------------------
Expand Down
Loading