On Fri, Apr 7, 2017 at 10:57 AM, Andy Shevchenko <[email protected]> wrote: > On Fri, Apr 7, 2017 at 11:16 AM, Linus Walleij <[email protected]> > wrote:
>> If it is just a stub without much code I guess that is prettier, but >> still it is a bit weird, because I guess the table that are passed >> to gpiod_add_lookup_table() will still be compiled into the object >> so you are anyways carrying cruft, and then what is the point in >> not just doing select GPIOLIB. > > Because it's optional to HCIUART_BCM as far as I know. But I didn't > look closer to possibilities there (IIRC there no *_optional() calls > to GPIOLIB). Do you mean for adding tables? We have: devm_gpiod_get_optional() & friends. They return NULL if the GPIO is not there, or if the GPIO library is compiled out (as of HEAD, due to the patch from Dmitry T.) >> IMO SFI is just another hardware description language, and >> SFI-described GPIO should be in drivers/gpio/gpiolib-sfi.c or >> something like this akin to ACPI and OF. Why is it contained as >> platform hacks? > > We have already discussed this a lot when I proposed to create > something like gpiolib-sfi.c. We have only legacy stuff with SFI amd > SFI perse is 99% useless. To not uglify drivers we in any case have to > hardcode mappings between weird SFI names to what drivers are > expecting. > So, it does not worth doing it. Aha OK. Yeah you know this way better than me so I trust you on this. >> So I'm a bit worried that we are seeing a symptom of board data >> stockpiling in arch/x86 and not really a GPIO compilation problem. > > Don't be. I'm trying to avoid this and my plan is actually to modify > bootloader on that board to provide ACPI tables instead. This will > hide all crappy stuff in bootloader, though we better to support > legacy (stock) bootloader as well and thus platform data. OK sounds reasonable. Kind of like the attached device tree we do on ARM. Yours, Linus Walleij

