ASoC: sh: fsi: add fsi_version() and removed meaningless version check
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 18 May 2012 00:34:16 +0000 (17:34 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 19 May 2012 18:41:08 +0000 (19:41 +0100)
This patch adds fsi_version() function for accessing version.

And there were some meaningless version check which never hit.
This patch removed it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/sh/fsi.c

index 976a57ecc5becd6cb243c99eea41f7ec1f3ec08e..6efe6c9a41f6956001da45303aabb9d7238e47ce 100644 (file)
@@ -321,6 +321,10 @@ static void _fsi_master_mask_set(struct fsi_master *master,
 /*
  *             basic function
  */
+static int fsi_version(struct fsi_master *master)
+{
+       return master->core->ver;
+}
 
 static struct fsi_master *fsi_get_master(struct fsi_priv *fsi)
 {
@@ -629,11 +633,6 @@ static void fsi_spdif_clk_ctrl(struct fsi_priv *fsi, int enable)
        struct fsi_master *master = fsi_get_master(fsi);
        u32 mask, val;
 
-       if (master->core->ver < 2) {
-               pr_err("fsi: register access err (%s)\n", __func__);
-               return;
-       }
-
        mask = BP | SE;
        val = enable ? mask : 0;
 
@@ -648,9 +647,7 @@ static void fsi_spdif_clk_ctrl(struct fsi_priv *fsi, int enable)
 static int fsi_set_master_clk(struct device *dev, struct fsi_priv *fsi,
                              long rate, int enable)
 {
-       struct fsi_master *master = fsi_get_master(fsi);
        set_rate_func set_rate = fsi_get_info_set_rate(fsi);
-       int fsi_ver = master->core->ver;
        int ret;
 
        if (!set_rate)
@@ -682,10 +679,7 @@ static int fsi_set_master_clk(struct device *dev, struct fsi_priv *fsi,
                        data |= (0x3 << 12);
                        break;
                case SH_FSI_ACKMD_32:
-                       if (fsi_ver < 2)
-                               dev_err(dev, "unsupported ACKMD\n");
-                       else
-                               data |= (0x4 << 12);
+                       data |= (0x4 << 12);
                        break;
                }
 
@@ -708,10 +702,7 @@ static int fsi_set_master_clk(struct device *dev, struct fsi_priv *fsi,
                        data |= (0x4 << 8);
                        break;
                case SH_FSI_BPFMD_16:
-                       if (fsi_ver < 2)
-                               dev_err(dev, "unsupported ACKMD\n");
-                       else
-                               data |= (0x7 << 8);
+                       data |= (0x7 << 8);
                        break;
                }
 
@@ -1177,7 +1168,6 @@ static int fsi_hw_startup(struct fsi_priv *fsi,
                          struct device *dev)
 {
        struct fsi_master *master = fsi_get_master(fsi);
-       int fsi_ver = master->core->ver;
        u32 flags = fsi_get_info_flags(fsi);
        u32 data = 0;
 
@@ -1216,7 +1206,7 @@ static int fsi_hw_startup(struct fsi_priv *fsi,
         * FSI driver assumed that data package is in-back.
         * FSI2 chip can select it.
         */
-       if (fsi_ver >= 2) {
+       if (fsi_version(master) >= 2) {
                fsi_reg_write(fsi, OUT_DMAC,    VDMD_BACK);
                fsi_reg_write(fsi, IN_DMAC,     VDMD_BACK);
        }
@@ -1306,7 +1296,7 @@ static int fsi_set_fmt_spdif(struct fsi_priv *fsi)
        struct fsi_master *master = fsi_get_master(fsi);
        u32 data = 0;
 
-       if (master->core->ver < 2)
+       if (fsi_version(master) < 2)
                return -EINVAL;
 
        data = CR_BWS_16 | CR_DTMD_SPDIF_PCM | CR_PCM;