|
@@ -73,8 +73,11 @@ static ssize_t audmux_read_file(struct file *file, char __user *user_buf,
|
|
|
if (!buf)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- if (audmux_clk)
|
|
|
- clk_prepare_enable(audmux_clk);
|
|
|
+ if (audmux_clk) {
|
|
|
+ ret = clk_prepare_enable(audmux_clk);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
|
|
|
ptcr = readl(audmux_base + IMX_AUDMUX_V2_PTCR(port));
|
|
|
pdcr = readl(audmux_base + IMX_AUDMUX_V2_PDCR(port));
|
|
@@ -224,14 +227,19 @@ EXPORT_SYMBOL_GPL(imx_audmux_v1_configure_port);
|
|
|
int imx_audmux_v2_configure_port(unsigned int port, unsigned int ptcr,
|
|
|
unsigned int pdcr)
|
|
|
{
|
|
|
+ int ret;
|
|
|
+
|
|
|
if (audmux_type != IMX31_AUDMUX)
|
|
|
return -EINVAL;
|
|
|
|
|
|
if (!audmux_base)
|
|
|
return -ENOSYS;
|
|
|
|
|
|
- if (audmux_clk)
|
|
|
- clk_prepare_enable(audmux_clk);
|
|
|
+ if (audmux_clk) {
|
|
|
+ ret = clk_prepare_enable(audmux_clk);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
|
|
|
writel(ptcr, audmux_base + IMX_AUDMUX_V2_PTCR(port));
|
|
|
writel(pdcr, audmux_base + IMX_AUDMUX_V2_PDCR(port));
|