HDMI-audio depends on HDMI-video. If users want to use HDMI-audio function,
they need to load HDMI-video first. Sometime users would forget to put video
info into U-boot cmdline, "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24" for
example. That might cause HDMI-auido driver fail to detect HDMI-video.
Previously, if this happened to system, driver only returned with "ENOMEM"
and system would print "Can't allocate memory". This might confuse users due
to the vague infomation. Users would be hard to figure out the root cause.
So this patch just add some error message to give users a clear indication,
and changed the "ENOMEM" error number to the more precise "ENODEV".
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
/*
* ALSA SoC HDMI Audio Layer for MXS
*
- * Copyright (C) 2011-2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
*
* Based on stmp3xxx_spdif_dai.c
* Vladimir Barinov <vbarinov@embeddedalley.com>
struct imx_hdmi *hdmi_data;
int ret = 0;
- if (!hdmi_get_registered())
- return -ENOMEM;
+ if (!hdmi_get_registered()) {
+ dev_err(&pdev->dev, "Failed: Load HDMI-video first.\n");
+ return -ENODEV;
+ }
hdmi_data = kzalloc(sizeof(*hdmi_data), GFP_KERNEL);
if (!hdmi_data)
/*
* ASoC HDMI Transmitter driver for IMX development boards
*
- * Copyright (C) 2011-2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
*
* based on stmp3780_devb_spdif.c
*
{
int ret = 0;
- if (!hdmi_get_registered())
- return -ENOMEM;
+ if (!hdmi_get_registered()) {
+ pr_err("Initialize HDMI-audio failed. Load HDMI-video first!\n");
+ return -ENODEV;
+ }
imx_hdmi_snd_device = platform_device_alloc("soc-audio", 4);
if (!imx_hdmi_snd_device) {