Input: icn8505 - Switch to firmware_request_platform for retreiving the fw
authorHans de Goede <hdegoede@redhat.com>
Wed, 15 Jan 2020 16:35:52 +0000 (17:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 13:57:54 +0000 (14:57 +0100)
Unfortunately sofar we have been unable to get permission to redistribute
icn8505 touchscreen firmwares in linux-firmware. This means that people
need to find and install the firmware themselves before the touchscreen
will work

Some UEFI/x86 tablets with an icn8505 touchscreen have a copy of the fw
embedded in their UEFI boot-services code.

This commit makes the icn8505 driver use the new firmware_request_platform
function, which will fallback to looking for such an embedded copy when
direct filesystem lookup fails. This will make the touchscreen work OOTB
on devices where there is a fw copy embedded in the UEFI code.

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20200115163554.101315-9-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/input/touchscreen/chipone_icn8505.c

index c768186ce85675fa70f66aa579b8c9e1d1f8d579..f9ca5502ac8c533d5eb02b92e6d5ede3620f338e 100644 (file)
@@ -288,7 +288,7 @@ static int icn8505_upload_fw(struct icn8505_data *icn8505)
         * we may need it at resume. Having loaded it once will make the
         * firmware class code cache it at suspend/resume.
         */
-       error = request_firmware(&fw, icn8505->firmware_name, dev);
+       error = firmware_request_platform(&fw, icn8505->firmware_name, dev);
        if (error) {
                dev_err(dev, "Firmware request error %d\n", error);
                return error;