diff options
| -rw-r--r-- | arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c | 1 | ||||
| -rw-r--r-- | sound/soc/fsl/eukrea-tlv320.c | 37 |
5 files changed, 23 insertions, 18 deletions
diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c index fd3177f9e79a..98aef571b9f8 100644 --- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | |||
| @@ -348,4 +348,5 @@ void __init eukrea_mbimx27_baseboard_init(void) | |||
| 348 | imx27_add_imx_keypad(&eukrea_mbimx27_keymap_data); | 348 | imx27_add_imx_keypad(&eukrea_mbimx27_keymap_data); |
| 349 | 349 | ||
| 350 | gpio_led_register_device(-1, &eukrea_mbimx27_gpio_led_info); | 350 | gpio_led_register_device(-1, &eukrea_mbimx27_gpio_led_info); |
| 351 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
| 351 | } | 352 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c index dfd2da87c2df..0b84666792f0 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c | |||
| @@ -306,4 +306,5 @@ void __init eukrea_mbimxsd25_baseboard_init(void) | |||
| 306 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 306 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
| 307 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); | 307 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); |
| 308 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); | 308 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); |
| 309 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
| 309 | } | 310 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c index 6e9dd12a6961..c6532a007d46 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c | |||
| @@ -315,4 +315,5 @@ void __init eukrea_mbimxsd35_baseboard_init(void) | |||
| 315 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 315 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
| 316 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); | 316 | gpio_led_register_device(-1, &eukrea_mbimxsd_led_info); |
| 317 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); | 317 | imx_add_gpio_keys(&eukrea_mbimxsd_button_data); |
| 318 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
| 318 | } | 319 | } |
diff --git a/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c b/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c index 96a24b73dc23..8b0de30d7a3f 100644 --- a/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c +++ b/arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c | |||
| @@ -228,4 +228,5 @@ void __init eukrea_mbimxsd51_baseboard_init(void) | |||
| 228 | 228 | ||
| 229 | gpio_led_register_device(-1, &eukrea_mbimxsd51_led_info); | 229 | gpio_led_register_device(-1, &eukrea_mbimxsd51_led_info); |
| 230 | imx_add_gpio_keys(&eukrea_mbimxsd51_button_data); | 230 | imx_add_gpio_keys(&eukrea_mbimxsd51_button_data); |
| 231 | imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0); | ||
| 231 | } | 232 | } |
diff --git a/sound/soc/fsl/eukrea-tlv320.c b/sound/soc/fsl/eukrea-tlv320.c index efb9ede01208..267d5b4b63ce 100644 --- a/sound/soc/fsl/eukrea-tlv320.c +++ b/sound/soc/fsl/eukrea-tlv320.c | |||
| @@ -93,9 +93,7 @@ static struct snd_soc_card eukrea_tlv320 = { | |||
| 93 | .num_links = 1, | 93 | .num_links = 1, |
| 94 | }; | 94 | }; |
| 95 | 95 | ||
| 96 | static struct platform_device *eukrea_tlv320_snd_device; | 96 | static int __devinit eukrea_tlv320_probe(struct platform_device *pdev) |
| 97 | |||
| 98 | static int __init eukrea_tlv320_init(void) | ||
| 99 | { | 97 | { |
| 100 | int ret; | 98 | int ret; |
| 101 | int int_port = 0, ext_port; | 99 | int int_port = 0, ext_port; |
| @@ -136,29 +134,32 @@ static int __init eukrea_tlv320_init(void) | |||
| 136 | return 0; | 134 | return 0; |
| 137 | } | 135 | } |
| 138 | 136 | ||
| 139 | eukrea_tlv320_snd_device = platform_device_alloc("soc-audio", -1); | 137 | eukrea_tlv320.dev = &pdev->dev; |
| 140 | if (!eukrea_tlv320_snd_device) | 138 | ret = snd_soc_register_card(&eukrea_tlv320); |
| 141 | return -ENOMEM; | 139 | if (ret) |
| 142 | 140 | dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); | |
| 143 | platform_set_drvdata(eukrea_tlv320_snd_device, &eukrea_tlv320); | ||
| 144 | ret = platform_device_add(eukrea_tlv320_snd_device); | ||
| 145 | |||
| 146 | if (ret) { | ||
| 147 | printk(KERN_ERR "ASoC: Platform device allocation failed\n"); | ||
| 148 | platform_device_put(eukrea_tlv320_snd_device); | ||
| 149 | } | ||
| 150 | 141 | ||
| 151 | return ret; | 142 | return ret; |
| 152 | } | 143 | } |
| 153 | 144 | ||
| 154 | static void __exit eukrea_tlv320_exit(void) | 145 | static int __devexit eukrea_tlv320_remove(struct platform_device *pdev) |
| 155 | { | 146 | { |
| 156 | platform_device_unregister(eukrea_tlv320_snd_device); | 147 | snd_soc_unregister_card(&eukrea_tlv320); |
| 148 | |||
| 149 | return 0; | ||
| 157 | } | 150 | } |
| 158 | 151 | ||
| 159 | module_init(eukrea_tlv320_init); | 152 | static struct platform_driver eukrea_tlv320_driver = { |
| 160 | module_exit(eukrea_tlv320_exit); | 153 | .driver = { |
| 154 | .name = "eukrea_tlv320", | ||
| 155 | .owner = THIS_MODULE, | ||
| 156 | }, | ||
| 157 | .probe = eukrea_tlv320_probe, | ||
| 158 | .remove = __devexit_p(eukrea_tlv320_remove),}; | ||
| 159 | |||
| 160 | module_platform_driver(eukrea_tlv320_driver); | ||
| 161 | 161 | ||
| 162 | MODULE_AUTHOR("Eric Bénard <eric@eukrea.com>"); | 162 | MODULE_AUTHOR("Eric Bénard <eric@eukrea.com>"); |
| 163 | MODULE_DESCRIPTION("CPUIMX ALSA SoC driver"); | 163 | MODULE_DESCRIPTION("CPUIMX ALSA SoC driver"); |
| 164 | MODULE_LICENSE("GPL"); | 164 | MODULE_LICENSE("GPL"); |
| 165 | MODULE_ALIAS("platform:eukrea_tlv320"); | ||
