--- arch/arm/mach-omap2/board-n8x0.c | 14 ++++++++++++++ sound/soc/omap/n810.c | 10 ---------- 2 files changed, 14 insertions(+), 10 deletions(-) --- linux-2.6.36-rc7.orig/arch/arm/mach-omap2/board-n8x0.c +++ linux-2.6.36-rc7/arch/arm/mach-omap2/board-n8x0.c @@ -906,6 +906,20 @@ static void __init n8x0_gpio_switches_in ARRAY_SIZE(n8x0_gpio_switches)); } +static struct i2c_board_info n810_tlc320aic3x_i2c_dev[] = { + { I2C_BOARD_INFO("tlv320aic3x", 0x1b), } +}; + +static int __init n810_tlv320aic3x_register(void) +{ + if (machine_is_nokia_n810() || machine_is_nokia_n810_wimax()) { + i2c_register_board_info(1, n810_tlc320aic3x_i2c_dev, + ARRAY_SIZE(n810_tlc320aic3x_i2c_dev)); + } + return 0; +} +arch_initcall(n810_tlv320aic3x_register); + static void __init n8x0_init_machine(void) { omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); --- linux-2.6.36-rc7.orig/sound/soc/omap/n810.c +++ linux-2.6.36-rc7/sound/soc/omap/n810.c @@ -22,7 +22,6 @@ */ #include -#include #include #include #include @@ -336,13 +335,6 @@ static struct snd_soc_device n810_snd_de static struct platform_device *n810_snd_device; -/* temporary i2c device creation until this can be moved into the machine - * support file. -*/ -static struct i2c_board_info i2c_device[] = { - { I2C_BOARD_INFO("tlv320aic3x", 0x1b), } -}; - static int __init n810_soc_init(void) { int err; @@ -351,8 +343,6 @@ static int __init n810_soc_init(void) if (!(machine_is_nokia_n810() || machine_is_nokia_n810_wimax())) return -ENODEV; - i2c_register_board_info(1, i2c_device, ARRAY_SIZE(i2c_device)); - n810_snd_device = platform_device_alloc("soc-audio", -1); if (!n810_snd_device) return -ENOMEM;