On Tue, Feb 13, 2018 at 6:50 PM, Pali Rohár <pali.rohar@xxxxxxxxx> wrote: > On Tuesday 13 February 2018 17:06:19 Andy Shevchenko wrote: >> On Tue, Feb 13, 2018 at 5:00 PM, Pali Rohár <pali.rohar@xxxxxxxxx> wrote: >> > On Tuesday 13 February 2018 16:55:00 Andy Shevchenko wrote: >> >> On Mon, Feb 12, 2018 at 5:30 PM, Pali Rohár <pali.rohar@xxxxxxxxx> wrote: >> >> > On Wednesday 31 January 2018 14:27:51 Andy Shevchenko wrote: >> >> > Following table already exists in dell-smo8800.c file: >> >> > Can we reuse it? >> >> > Maybe moving array smo8800_ids[] into some header file >> >> > (which one?) and statically inline it? >> >> >> >> Bad idea. >> >> >> >> > Or having it only in >> >> > dell-smo8800.c file and exporting its symbol? >> >> >> >> Even worse. >> >> >> >> > Or is there better idea? >> >> > >> >> > For sure I do not want to copy paste this table into another module and >> >> > maintaining two copies of this list. >> >> >> >> The copy is fine. Can you guarantee that those two lists would be >> >> always the same? I'm not. >> > >> > Me neither. >> > >> >> And besides that explicitly over implicitly is a really good thing. I >> >> would not like to grep for an ID followed by grepping include line and >> >> check each files to check if it uses it or not. >> > >> > So what do you suggest now? >> >> Copy'n'paste and maintain two lists. >> Yes, it's not the ideal, but working solution. >> >> You may put a comment before each list to explain what the second does >> and tell a contributor to look at it and update if needed. > > I'm not maintainer of i2c-i801.ko, Jean Delvare & Wolfram Sang are. > Therefore instructing future contributors would be up to them. Right. But from ACPI prospective the proposed change is not okay by my opinion. How can I see what drivers are binding / relying on certain ACPI ID? More precisely, % git grep -n -w SMO8800 would be useless until one gets an idea to match against partial strings. > Jean, it is OK? >> > Having one file where it would be defined is a bad idea for you. >> >> Not just "one file", but "one *header* file". Or "exporting a symbol" >> which is basically not supposed to be exported. >> ID tables are part of the actual drivers, neither headers, nor libraries. > > But this is exactly what is needed. This ACPI ID table contains ACPI > names which says if accelerometer is present or not. In case of dell-smo8800.c the driver actually *binds* to these IDs. Your change just provide another table to match and answer to the question if XYZ is present on a such platform or not. Similar approach is used in spi-pxa2xx.c (check pxa2xx_spi_pci_compound_match). -- With Best Regards, Andy Shevchenko