On Wednesday 28 December 2016 08:55:18 Andy Shevchenko wrote: > On Wed, Dec 28, 2016 at 12:41 AM, wrote: > > On Wed, 28 Dec 2016 00:15:30 +0200, Andy Shevchenko said: > >> On Tue, Dec 27, 2016 at 3:51 PM, Pali Rohár wrote: > > > >> > I have no idea how to do it (properly) outside of i2c-i801.c file. > >> > >> I doubt we need a single line of code for this. See [1] and perhaps > >> create an EFI variable with necessary upgrade device node. > >> > >> > Same thing is done for Fujitsu machines, see function > >> > i801_probe_optional_slaves() in i2c-i801.c file. So I did similar > >> > approach for Dell machines. > >> > >> Perhaps, this also needs to be converted to use EFI variable. > >> > >> [1] https://lwn.net/Articles/693212/ > > > > There's no guarantee that the laptops in question are booted with UEFI, > > as Dell still supports legacy boot. So assuming the presence of EFI variables > > is somewhat problematic. > > > > In addition, it requires the user (or something in userspace) to set the UEFI > > variable or configfs tweak, rather than Just Working Out Of The Box. > > I have no strong opinion, though I don't support the idea to put all > hacks in the world to the kernel. For example, we have user space tool > to switch USB modem from storage to actual communication device and > that is just working out of the box. > > Mika, Darren, what are your opinions? I have absolutely no idea how to you want to achieve calling that i2c_new_device() registration without kernel patches. So before starting discussion which option to use (EFI, kernel patch, userspace script, etc...) please describe how would you implement such logic with different options. -- Pali Rohár pali.rohar@gmail.com