Message ID | CAK8P3a2bQzn39cFSspJKP6HoUuV7cxSw4AZpVRVvD=FMAYfp5Q@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Feb 2, 2018 at 12:59 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Fri, Feb 2, 2018 at 1:21 AM, Randy Dunlap <rdunlap@infradead.org> wrote: >> b. DRM configuration is a mess. You shouldn't want to follow their model. :) > > Right, that should also be fixed, so DRM no longer includes I2C ;-) > > At the moment, DRM is the most common cause for circular dependencies > because it has a number of 'select' statements for symbols that otherwise > are used with 'depends on'. We should probably address the 'select I2C' > portion in there, but also some of the others like: > > drivers/gpu/drm/Kconfig: select POWER_SUPPLY > drivers/gpu/drm/Kconfig: select HWMON > drivers/gpu/drm/Kconfig: select FB > drivers/gpu/drm/udl/Kconfig: select USB USB? Seriously? > drivers/gpu/drm/sti/Kconfig: select OF > drivers/gpu/drm/sti/Kconfig: select RESET_CONTROLLER > drivers/gpu/drm/etnaviv/Kconfig: select CMA if HAVE_DMA_CONTIGUOUS > drivers/gpu/drm/etnaviv/Kconfig: select TMPFS > drivers/gpu/drm/i915/Kconfig.debug: select DEBUG_FS > drivers/gpu/drm/i915/Kconfig.debug: select PREEMPT_COUNT > drivers/gpu/drm/i915/Kconfig.debug: select TRACING > drivers/gpu/drm/i915/Kconfig.debug: select FAULT_INJECTION > drivers/gpu/drm/mediatek/Kconfig: select MEMORY > drivers/gpu/drm/mediatek/Kconfig: select GENERIC_PHY > drivers/gpu/drm/msm/Kconfig: select REGULATOR > >> c. If I2C is not enabled in the FB menu, someone could just add something like this: >> >> comment "Enable I2C to see more driver choices" >> depends on !I2C > > I don't think that would address the issue of 'defconfig' builds losing > I2C support when it's no longer automatically selection. On x86, this > is not an issue, as X86 always enables I2C. For the rest, we could > do a hack like this: > > --- a/drivers/i2c/Kconfig > +++ b/drivers/i2c/Kconfig > @@ -8,6 +8,7 @@ config I2C > tristate "I2C support" > select RT_MUTEXES > select IRQ_DOMAIN > + default DRM || FB > ---help--- > I2C (pronounce: I-squared-C) is a slow serial bus protocol used in > many micro controller applications and developed by Philips. SMBus, > > which would let all 'defconfig' versions keep working. It's a bit ugly, but > at least wouldn't cause other circular dependencies. And then we'll have to refresh all defconfigs for machines with FB and without I2C? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
--- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -8,6 +8,7 @@ config I2C tristate "I2C support" select RT_MUTEXES select IRQ_DOMAIN + default DRM || FB ---help--- I2C (pronounce: I-squared-C) is a slow serial bus protocol used in many micro controller applications and developed by Philips. SMBus,