Backlight driver for MacBook Air 6,1 and 6,2

From: Patrik Jakobsson
Date: Mon Jan 20 2014 - 21:15:35 EST

Hi Andrew and CCs

I've put together (rather quickly) a driver for directly handling the backlight
driver chip (LM8550) on the 2013 MacBook Air. It is needed to work around a bug
(likely in firmware) that occurs after suspend/resume. See:

This seems to fall outside of what the i915 driver should handle and thus need a
separate driver. It's available at:

The MacBook Air provides ACPI backlight methods but they also break after
suspend. I'm planning to mainline this and have a few questions.

1) I'm accessing the LP8550 on the SMBUS through ACPI methods. Should I access
the SMBUS directly instead or is this ok? I probably need to look at locking
around SMBUS accesses.

2) Is DMI the proper way of probing? Currently I'm just checking if the chip is
there and that it returns the proper contents in an identifier byte.

3) I assume the backlight type should be BACKLIGHT_PLATFORM (currently
BACKLIGHT_FIRMWARE) but do I also need to blacklist the ACPI backlight on these
devices? How do I get the proper precedence over other backlight devices?

Is there still time to get this into 3.14-rc1?

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at