Loading arch/arm/mach-omap1/board-ams-delta.c +12 −0 Original line number Diff line number Diff line Loading @@ -444,16 +444,28 @@ static struct omap1_cam_platform_data ams_delta_camera_platform_data = { .lclk_khz_max = 1334, /* results in 5fps CIF, 10fps QCIF */ }; static struct platform_device ams_delta_audio_device = { .name = "ams-delta-audio", .id = -1, }; static struct platform_device cx20442_codec_device = { .name = "cx20442-codec", .id = -1, }; static struct platform_device *ams_delta_devices[] __initdata = { &latch1_gpio_device, &latch2_gpio_device, &ams_delta_kp_device, &ams_delta_camera_device, &ams_delta_audio_device, }; static struct platform_device *late_devices[] __initdata = { &ams_delta_nand_device, &ams_delta_lcd_device, &cx20442_codec_device, }; static void __init ams_delta_init(void) Loading sound/soc/omap/ams-delta.c +30 −33 Original line number Diff line number Diff line Loading @@ -575,56 +575,53 @@ static struct snd_soc_card ams_delta_audio_card = { }; /* Module init/exit */ static struct platform_device *ams_delta_audio_platform_device; static struct platform_device *cx20442_platform_device; static int __init ams_delta_module_init(void) static __devinit int ams_delta_probe(struct platform_device *pdev) { struct snd_soc_card *card = &ams_delta_audio_card; int ret; if (!(machine_is_ams_delta())) return -ENODEV; ams_delta_audio_platform_device = platform_device_alloc("soc-audio", -1); if (!ams_delta_audio_platform_device) return -ENOMEM; platform_set_drvdata(ams_delta_audio_platform_device, &ams_delta_audio_card); ret = platform_device_add(ams_delta_audio_platform_device); if (ret) goto err; card->dev = &pdev->dev; /* * Codec platform device could be registered from elsewhere (board?), * but I do it here as it makes sense only if used with the card. */ cx20442_platform_device = platform_device_register_simple("cx20442-codec", -1, NULL, 0); return 0; err: platform_device_put(ams_delta_audio_platform_device); ret = snd_soc_register_card(card); if (ret) { dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); card->dev = NULL; return ret; } late_initcall(ams_delta_module_init); return 0; } static void __exit ams_delta_module_exit(void) static int __devexit ams_delta_remove(struct platform_device *pdev) { struct snd_soc_card *card = platform_get_drvdata(pdev); if (tty_unregister_ldisc(N_V253) != 0) dev_warn(&ams_delta_audio_platform_device->dev, dev_warn(&pdev->dev, "failed to unregister V253 line discipline\n"); snd_soc_jack_free_gpios(&ams_delta_hook_switch, ARRAY_SIZE(ams_delta_hook_switch_gpios), ams_delta_hook_switch_gpios); platform_device_unregister(cx20442_platform_device); platform_device_unregister(ams_delta_audio_platform_device); snd_soc_unregister_card(card); card->dev = NULL; return 0; } module_exit(ams_delta_module_exit); #define DRV_NAME "ams-delta-audio" static struct platform_driver ams_delta_driver = { .driver = { .name = DRV_NAME, .owner = THIS_MODULE, }, .probe = ams_delta_probe, .remove = __devexit_p(ams_delta_remove), }; module_platform_driver(ams_delta_driver); MODULE_AUTHOR("Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>"); MODULE_DESCRIPTION("ALSA SoC driver for Amstrad E3 (Delta) videophone"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:" DRV_NAME); sound/soc/omap/omap-abe-twl6040.c +1 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd) twl6040_disconnect_pin(dapm, pdata->has_hf, "Ext Spk"); twl6040_disconnect_pin(dapm, pdata->has_ep, "Earphone Spk"); twl6040_disconnect_pin(dapm, pdata->has_aux, "Line Out"); twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vinrator"); twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vibrator"); twl6040_disconnect_pin(dapm, pdata->has_hsmic, "Headset Mic"); twl6040_disconnect_pin(dapm, pdata->has_mainmic, "Main Handset Mic"); twl6040_disconnect_pin(dapm, pdata->has_submic, "Sub Handset Mic"); Loading sound/soc/omap/omap-mcpdm.c +2 −7 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ #include <sound/pcm_params.h> #include <sound/soc.h> #include <plat/omap_hwmod.h> #include "omap-mcpdm.h" #include "omap-pcm.h" Loading Loading @@ -258,13 +257,9 @@ static int omap_mcpdm_dai_startup(struct snd_pcm_substream *substream, mutex_lock(&mcpdm->mutex); if (!dai->active) { /* Enable watch dog for ES above ES 1.0 to avoid saturation */ if (omap_rev() != OMAP4430_REV_ES1_0) { u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL); omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, ctrl | MCPDM_WD_EN); } omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, ctrl | MCPDM_WD_EN); omap_mcpdm_open_streams(mcpdm); } mutex_unlock(&mcpdm->mutex); Loading Loading
arch/arm/mach-omap1/board-ams-delta.c +12 −0 Original line number Diff line number Diff line Loading @@ -444,16 +444,28 @@ static struct omap1_cam_platform_data ams_delta_camera_platform_data = { .lclk_khz_max = 1334, /* results in 5fps CIF, 10fps QCIF */ }; static struct platform_device ams_delta_audio_device = { .name = "ams-delta-audio", .id = -1, }; static struct platform_device cx20442_codec_device = { .name = "cx20442-codec", .id = -1, }; static struct platform_device *ams_delta_devices[] __initdata = { &latch1_gpio_device, &latch2_gpio_device, &ams_delta_kp_device, &ams_delta_camera_device, &ams_delta_audio_device, }; static struct platform_device *late_devices[] __initdata = { &ams_delta_nand_device, &ams_delta_lcd_device, &cx20442_codec_device, }; static void __init ams_delta_init(void) Loading
sound/soc/omap/ams-delta.c +30 −33 Original line number Diff line number Diff line Loading @@ -575,56 +575,53 @@ static struct snd_soc_card ams_delta_audio_card = { }; /* Module init/exit */ static struct platform_device *ams_delta_audio_platform_device; static struct platform_device *cx20442_platform_device; static int __init ams_delta_module_init(void) static __devinit int ams_delta_probe(struct platform_device *pdev) { struct snd_soc_card *card = &ams_delta_audio_card; int ret; if (!(machine_is_ams_delta())) return -ENODEV; ams_delta_audio_platform_device = platform_device_alloc("soc-audio", -1); if (!ams_delta_audio_platform_device) return -ENOMEM; platform_set_drvdata(ams_delta_audio_platform_device, &ams_delta_audio_card); ret = platform_device_add(ams_delta_audio_platform_device); if (ret) goto err; card->dev = &pdev->dev; /* * Codec platform device could be registered from elsewhere (board?), * but I do it here as it makes sense only if used with the card. */ cx20442_platform_device = platform_device_register_simple("cx20442-codec", -1, NULL, 0); return 0; err: platform_device_put(ams_delta_audio_platform_device); ret = snd_soc_register_card(card); if (ret) { dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); card->dev = NULL; return ret; } late_initcall(ams_delta_module_init); return 0; } static void __exit ams_delta_module_exit(void) static int __devexit ams_delta_remove(struct platform_device *pdev) { struct snd_soc_card *card = platform_get_drvdata(pdev); if (tty_unregister_ldisc(N_V253) != 0) dev_warn(&ams_delta_audio_platform_device->dev, dev_warn(&pdev->dev, "failed to unregister V253 line discipline\n"); snd_soc_jack_free_gpios(&ams_delta_hook_switch, ARRAY_SIZE(ams_delta_hook_switch_gpios), ams_delta_hook_switch_gpios); platform_device_unregister(cx20442_platform_device); platform_device_unregister(ams_delta_audio_platform_device); snd_soc_unregister_card(card); card->dev = NULL; return 0; } module_exit(ams_delta_module_exit); #define DRV_NAME "ams-delta-audio" static struct platform_driver ams_delta_driver = { .driver = { .name = DRV_NAME, .owner = THIS_MODULE, }, .probe = ams_delta_probe, .remove = __devexit_p(ams_delta_remove), }; module_platform_driver(ams_delta_driver); MODULE_AUTHOR("Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>"); MODULE_DESCRIPTION("ALSA SoC driver for Amstrad E3 (Delta) videophone"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:" DRV_NAME);
sound/soc/omap/omap-abe-twl6040.c +1 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd) twl6040_disconnect_pin(dapm, pdata->has_hf, "Ext Spk"); twl6040_disconnect_pin(dapm, pdata->has_ep, "Earphone Spk"); twl6040_disconnect_pin(dapm, pdata->has_aux, "Line Out"); twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vinrator"); twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vibrator"); twl6040_disconnect_pin(dapm, pdata->has_hsmic, "Headset Mic"); twl6040_disconnect_pin(dapm, pdata->has_mainmic, "Main Handset Mic"); twl6040_disconnect_pin(dapm, pdata->has_submic, "Sub Handset Mic"); Loading
sound/soc/omap/omap-mcpdm.c +2 −7 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ #include <sound/pcm_params.h> #include <sound/soc.h> #include <plat/omap_hwmod.h> #include "omap-mcpdm.h" #include "omap-pcm.h" Loading Loading @@ -258,13 +257,9 @@ static int omap_mcpdm_dai_startup(struct snd_pcm_substream *substream, mutex_lock(&mcpdm->mutex); if (!dai->active) { /* Enable watch dog for ES above ES 1.0 to avoid saturation */ if (omap_rev() != OMAP4430_REV_ES1_0) { u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL); omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, ctrl | MCPDM_WD_EN); } omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, ctrl | MCPDM_WD_EN); omap_mcpdm_open_streams(mcpdm); } mutex_unlock(&mcpdm->mutex); Loading