Re: [PATCH 1/2] fbdev: don't select I2C directly
flat view
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2018-02-06 11:07:11
Also in:
dri-devel, linux-i2c, lkml
On Fri, Feb 2, 2018 at 12:59 PM, Arnd Bergmann [off-list ref] wrote:
On Fri, Feb 2, 2018 at 1:21 AM, Randy Dunlap [off-list ref] wrote:quoted
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?
quoted hunk ↗ jump to hunk
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 REGULATORquoted
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 !I2CI 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