.. | .. |
---|
86 | 86 | val[i] = rsnd_kctrl_valm(dvc->volume, i); |
---|
87 | 87 | |
---|
88 | 88 | /* Enable Digital Volume */ |
---|
89 | | - rsnd_mod_write(mod, DVC_VOL0R, val[0]); |
---|
90 | | - rsnd_mod_write(mod, DVC_VOL1R, val[1]); |
---|
91 | | - rsnd_mod_write(mod, DVC_VOL2R, val[2]); |
---|
92 | | - rsnd_mod_write(mod, DVC_VOL3R, val[3]); |
---|
93 | | - rsnd_mod_write(mod, DVC_VOL4R, val[4]); |
---|
94 | | - rsnd_mod_write(mod, DVC_VOL5R, val[5]); |
---|
95 | | - rsnd_mod_write(mod, DVC_VOL6R, val[6]); |
---|
96 | | - rsnd_mod_write(mod, DVC_VOL7R, val[7]); |
---|
| 89 | + for (i = 0; i < RSND_MAX_CHANNELS; i++) |
---|
| 90 | + rsnd_mod_write(mod, DVC_VOLxR(i), val[i]); |
---|
97 | 91 | } |
---|
98 | 92 | |
---|
99 | 93 | static void rsnd_dvc_volume_init(struct rsnd_dai_stream *io, |
---|
.. | .. |
---|
192 | 186 | struct rsnd_dai_stream *io, |
---|
193 | 187 | struct rsnd_priv *priv) |
---|
194 | 188 | { |
---|
195 | | - rsnd_mod_power_on(mod); |
---|
| 189 | + int ret; |
---|
| 190 | + |
---|
| 191 | + ret = rsnd_mod_power_on(mod); |
---|
| 192 | + if (ret < 0) |
---|
| 193 | + return ret; |
---|
196 | 194 | |
---|
197 | 195 | rsnd_dvc_activation(mod); |
---|
198 | 196 | |
---|
.. | .. |
---|
298 | 296 | .init = rsnd_dvc_init, |
---|
299 | 297 | .quit = rsnd_dvc_quit, |
---|
300 | 298 | .pcm_new = rsnd_dvc_pcm_new, |
---|
| 299 | + .get_status = rsnd_mod_get_status, |
---|
301 | 300 | }; |
---|
302 | 301 | |
---|
303 | 302 | struct rsnd_mod *rsnd_dvc_mod_get(struct rsnd_priv *priv, int id) |
---|
.. | .. |
---|
357 | 356 | } |
---|
358 | 357 | |
---|
359 | 358 | ret = rsnd_mod_init(priv, rsnd_mod_get(dvc), &rsnd_dvc_ops, |
---|
360 | | - clk, rsnd_mod_get_status, RSND_MOD_DVC, i); |
---|
| 359 | + clk, RSND_MOD_DVC, i); |
---|
361 | 360 | if (ret) { |
---|
362 | 361 | of_node_put(np); |
---|
363 | 362 | goto rsnd_dvc_probe_done; |
---|