/* * Efika driver for the PSC of the Freescale MPC52xx * configured as AC97 interface * * Copyright 2008 Jon Smirl, Digispeaker * Author: Jon Smirl * * This file is licensed under the terms of the GNU General Public License * version 2. This program is licensed "as is" without any warranty of any * kind, whether express or implied. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include "mpc5200_dma.h" #include "mpc5200_psc_ac97.h" #define DRV_NAME "efika-audio-fabric" static struct snd_soc_dai_link efika_fabric_dai[] = { { .name = "AC97", .stream_name = "AC97 Analog", .codec_dai_name = "stac9766-hifi-analog", .cpu_dai_name = "mpc5200-psc-ac97.0", .platform_name = "mpc5200-pcm-audio", .codec_name = "stac9766-codec", }, { .name = "AC97", .stream_name = "AC97 IEC958", .codec_dai_name = "stac9766-hifi-IEC958", .cpu_dai_name = "mpc5200-psc-ac97.1", .platform_name = "mpc5200-pcm-audio", .codec_name = "stac9766-codec", }, }; static struct snd_soc_card card = { .name = "Efika", .owner = THIS_MODULE, .dai_link = efika_fabric_dai, .num_links = ARRAY_SIZE(efika_fabric_dai), }; static __init int efika_fabric_init(void) { struct platform_device *pdev; int rc; if (!of_machine_is_compatible("bplan,efika")) return -ENODEV; pdev = platform_device_alloc("soc-audio", 1); if (!pdev) { pr_err("efika_fabric_init: platform_device_alloc() failed\n"); return -ENODEV; } platform_set_drvdata(pdev, &card); rc = platform_device_add(pdev); if (rc) { pr_err("efika_fabric_init: platform_device_add() failed\n"); platform_device_put(pdev); return -ENODEV; } return 0; } module_init(efika_fabric_init); MODULE_AUTHOR("Jon Smirl "); MODULE_DESCRIPTION(DRV_NAME ": mpc5200 Efika fabric driver"); MODULE_LICENSE("GPL"); thod='get' action='/cgit.cgi/linux/net-next.git/log/drivers/usb/c67x00'>
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.co.uk>2017-01-16 12:23:42 -0200
committerUlf Hansson <ulf.hansson@linaro.org>2017-01-31 11:26:49 +0100
commit161e6d44a5e2d3f85365cb717d60e363171b39e6 (patch)
tree5c8b730a137696ef979f05ceae869b6e0348794c /drivers/usb/c67x00
parent566cf877a1fcb6d6dc0126b076aad062054c2637 (diff)
mmc: sdhci: Ignore unexpected CARD_INT interrupts
One of our kernelCI boxes hanged at boot because a faulty eSDHC device was triggering spurious CARD_INT interrupts for SD cards, causing CMD52 reads, which are not allowed for SD devices. This adds a sanity check to the interruption path, preventing that illegal command from getting sent if the CARD_INT interruption should be disabled. This quirk allows that particular machine to resume boot despite the faulty hardware, instead of getting hung dealing with thousands of mishandled interrupts. Suggested-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Cc: <stable@vger.kernel.org>
Diffstat (limited to 'drivers/usb/c67x00')