linux Undefined reference due to missing dependency on I2C

SND_FSI_AK4642 enables the compilation of ak4642.c, which depends on code enabled by I2C. Thus, if I2C is disabled we get a build error. The same applies for SND_FSI_DA7210.
Bug fixed by commit 66517915e09
Type UndeclaredIdentifier
Config "(SND_FSI_AK4642 || SND_FSI_DA7210) && !I2C" (2nd degree)
Fix-in model
Location sound/
#ifdef CONFIG_SND_FSI_AK4642
#define CONFIG_SND_SOC_AK4642
#endif

#ifdef CONFIG_SND_FSI_DA7210
#define CONFIG_SND_SOC_DA7210
#endif

#ifdef CONFIG_I2C
static int i2c_master_send = 0;
#endif

#ifdef CONFIG_SND_SOC_DA7210
static int da7210_init()
{
  int codec_hw_write = i2c_master_send; // ERROR
  return 0;
}
#endif

#ifdef CONFIG_SND_SOC_AK4642
static int ak4642_init()
{
  int codec_hw_write = i2c_master_send; // ERROR
  return 0;
}
#endif

int main(int argc, char** argv)
{
#ifdef CONFIG_SND_SOC_DA7210
  da7210_init();
#endif
#ifdef CONFIG_SND_SOC_AK4642
  ak4642_init();
#endif
  return 0;
}

diff --git a/simple/6651791.c b/simple/6651791.c
--- a/simple/6651791.c
+++ b/simple/6651791.c
@@ -1,3 +1,8 @@
+
+#if defined(CONFIG_SND_SOC_SH4_FSI) && defined(CONFIG_I2C)
+#define CONFIG_SND_FSI_AK4642
+#define CONFIG_SND_FSI_DA7210
+#endif
 
 #ifdef CONFIG_SND_FSI_AK4642
 #define CONFIG_SND_SOC_AK4642
#ifdef CONFIG_SND_FSI_AK4642
#define CONFIG_SND_SOC_AK4642
#endif

#ifdef CONFIG_SND_FSI_DA7210
#define CONFIG_SND_SOC_DA7210
#endif

#ifdef CONFIG_I2C
static int i2c_master_send = 0;
#endif

int main(int argc, char** argv)
{
#ifdef CONFIG_SND_SOC_DA7210
//  da7210_init();
  int codec_hw_write = i2c_master_send; // ERROR
#endif
#ifdef CONFIG_SND_SOC_AK4642
//  ak4642_init();
  int codec_hw_write2 = i2c_master_send; // ERROR
#endif
  return 0;
}

. sound/soc/codecs/da7210.c:462: codec->hw_write		= (hw_write_t)i2c_master_send;