Bug #877
[linux-libre] touchscreen of Chromebook Pixel 2013 doesn't work
100%
Description
The
touchscreen and touchpad of CrBP 2013 works in Trisquel, which uses
Linux-libre 3.13, but they don't work with the deblobbed mainline
kernel.
It works if changing reject_firmware_nowait to request_firmware_nowait
in atmel_mxt_ts.c, and I think the kernel is still libre after this
change:
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c
b/drivers/input/touchscreen/atmel_mxt_ts.c
index e4220f2..b81f621 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c@ -2035,7 +2035,7
@ static int mxt_initialize(struct mxt_data *data)
if (error)
goto err_free_object_table;
- error = reject_firmware_nowait(THIS_MODULE, true, MXT_CFG_NAME,
+ error = request_firmware_nowait(THIS_MODULE, true, MXT_CFG_NAME,
&client->dev, GFP_KERNEL, data,
mxt_config_cb);
if (error) {
I've sent a mail to Linux-libre mailing list.
http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html
History
Updated by Anonymous over 7 years ago
- Assignee set to Anonymous
- Subject changed from touchscreen of Chromebook Pixel 2013 doesn't work with linux-libre to [linux-libre] touchscreen of Chromebook Pixel 2013 doesn't work
Updated by Anonymous about 7 years ago
If we put "request_firmware_nowait" instead of "reject_firmware_nowait", any user could put that specific blob accidentally and Linux-libre will load it automatically...
Updated by mytbk about 7 years ago
Emulatorman wrote:
If we put "request_firmware_nowait" instead of "reject_firmware_nowait", any user could put that specific blob accidentally and Linux-libre will load it automatically...
I see. However, this line is requesting the file named MXT_CFG_NAME, and it's a config file, not the firmware blob. The touchscreen can work without this file.
Updated by Anonymous about 7 years ago
- Status changed from open to in progress
ok, then i'll solve it in the next kernel release, thanks for let me know.
Updated by Anonymous about 7 years ago
- % Done changed from 90 to 100
- Status changed from in progress to fixed