• Arnd Bergmann's avatar
    ASoC: rt5682: split i2c driver into separate module · a50067d4
    Arnd Bergmann authored
    With SND_SOC_AMD_RV_RT5682_MACH using the i2c version of the
    driver, we can easily get a build failure when I2C is built-in
    but soundwire is not:
    
     WARNING: unmet direct dependencies detected for SND_SOC_RT5682
       Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && (I2C [=y] || SOUNDWIRE [=m]) && (SOUNDWIRE [=m] || !SOUNDWIRE [=m]) && (I2C [=y] || !I2C [=y])
       Selected by [y]:
       - SND_SOC_AMD_RV_RT5682_MACH [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_SOC_AMD_ACP3x [=y] && I2C [=y] && CROS_EC [=y]
       Selected by [m]:
       - SND_SOC_RT5682_SDW [=m] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SOUNDWIRE [=m] && (I2C [=y] || !I2C [=y])
    
    Rework the driver to have three separate modules, with the
    main driver just dealing with the common bits and the actual
    initialization as part of i2c and sdw specific modules.
    
    The conversion is fairly mechanical to keep it easy to review,
    i.e. it moves code around with the minimal required renaming
    and changes.
    
    Fixes: 6b8e4e7d ("ASoC: amd: Add machine driver for Raven based platform")
    Fixes: fd443a20 ("ASoC: rt5682: fix I2C/Soundwire dependencies")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Link: https://lore.kernel.org/r/20200528091851.2889754-1-arnd@arndb.deSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    a50067d4
rt5682.c 83.7 KB