Re: [PATCH 4/8] ARM: dts: sun8i: Add touchscreen node for sun8i-a23-gt90h
From: Maxime Ripard <hidden>
Date: 2016-08-30 16:33:05
Also in:
linux-arm-kernel
On Sat, Aug 27, 2016 at 10:32:16AM +0200, Hans de Goede wrote:
quoted
quoted
a13-94v-0: a082 a23-tj-a23-q88-v4.0_20140815/GSL1680E_700_FW.fw 1024x600 inverted-x a13-tzx-713b-v2.1: a082 a23-tj-a23-q88-v4.0_20140815/GSL1680E_700_FW.fw 1024x600 a23-q8h-v3: a082 a23-tj-a23-q88-v4.0_20140815/GSL1688_A70_FW.fw 800x480 swapped-x-y a23-tj-a23-q88-v4.0: a082 a23-tj-a23-q88-v4.0_20140815/GSL1680E_700_FW.fw 1024x600 a23-tw-ao721-v41: a082 a23-tj-a23-q88-v4.0_20140815/GSL1680E_700_FW.fw 1024x600 inverted-x a23-ippo-q8h-v1.2: a082 a23-tj-a23-q88-v4.0_20140815/GSL1688_A70_FW.fw 800x480 swapped-x-y a33-ippo-q8h-v1.2: a082 a23-tj-a23-q88-v4.0_20140815/GSL1688_A70_FW.fw 800x480 swapped-x-y a33-tzx-723q4: b482 a33-Q8_V2.4_1118/GSL1680_FW_D702.fw 960x640 inverted-x a33-q8-v2.4-1118: b482 a33-Q8_V2.4_1118/GSL1680_FW_D702.fw 960x640 a33-q8h-v1.5: b482 a33-q8h-v1.5/GSL1688_A70_FW.fw 960x640 I'm working on a q8hardware-mgr (inspired by the beagle bone cape mgr) to automatically detect the touchscreen controller as well as the controller id (the 2nd column above), and it will need to set a filename for the firmware file based on this, deriving this from the machine compatible will simply not work here.I'm not sure why we need to stick to some insane naming scheme. Or why can't we use symlinks.All the above tablets use the same dts file (sun5i-a13-q8-tablet.dts, sun8i-a23-q8-tablet.dts, sun8i-a33-q8-tablet.dts) while not having the same touchscreen, as discussed in the past I'm working on a kernel module to detect which touchscreen is in use and then automatically update the dt using dynamic-devicetree since creating a separate dt file for each variant is madness (there is a new revision every few weeks). I already have this sort of working and I can detect if a tablet has a gsl1680 touchscreen (*) and if it is the a082 or b482 variant. Now we could encode the chip-id (the a082/b482) in the firmware name at the driver level, but that is still not good enough, e.g. these 2 tablets: a23-q8h-v3: a082 a23-tj-a23-q88-v4.0_20140815/GSL1688_A70_FW.fw 800x480 swapped-x-y a23-tj-a23-q88-v4.0: a082 a23-tj-a23-q88-v4.0_20140815/GSL1680E_700_FW.fw 1024x600 Both use a a082 revision gsl1680 but need different firmware files, since they both use sun8i-a23-q8-tablet.dts, so simply embedding the machine compatible string in the filename passed to request_firmware is not going to help. I hope to get permission to get these firmware files added to linux-firmware and then the different files need unique names, and we need a way to specify in devicetree which file to load. We can do some weird indirect dance but that is not really helpful, esp. since I also expect users to need to override which firmware file gets used in certain cases and in that scenario simply specifying the filename certainly is the most userfriendly. TL;DR: we need a way to specify which firmware needs to be loaded and this CANNOT be derived from the machine compatible as devices with the same machine compatible need different firmwares.
You convinced me. Let's see Rob's answer, on your new serie, but since it's what he suggested, that should be ok. I'll merge it as soon as he's ok with it. Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Attachments
- signature.asc [application/pgp-signature] 819 bytes