}
 
        /* pass control to driver for optional further init */
-       ret = soc_tplg_control_load(tplg, &kc, (struct snd_soc_tplg_ctl_hdr *)be);
+       ret = soc_tplg_control_load(tplg, &kc, &be->hdr);
        if (ret < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n", be->hdr.name);
                goto err;
        }
 
        /* pass control to driver for optional further init */
-       ret = soc_tplg_control_load(tplg, &kc, (struct snd_soc_tplg_ctl_hdr *)mc);
+       ret = soc_tplg_control_load(tplg, &kc, &mc->hdr);
        if (ret < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n", mc->hdr.name);
                goto err;
        }
 
        /* pass control to driver for optional further init */
-       ret = soc_tplg_control_load(tplg, &kc, (struct snd_soc_tplg_ctl_hdr *)ec);
+       ret = soc_tplg_control_load(tplg, &kc, &ec->hdr);
        if (ret < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n", ec->hdr.name);
                goto err;
        }
 
        /* pass control to driver for optional further init */
-       err = soc_tplg_control_load(tplg, kc, (struct snd_soc_tplg_ctl_hdr *)mc);
+       err = soc_tplg_control_load(tplg, kc, &mc->hdr);
        if (err < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n",
                        mc->hdr.name);
        }
 
        /* pass control to driver for optional further init */
-       err = soc_tplg_control_load(tplg, kc, (struct snd_soc_tplg_ctl_hdr *)ec);
+       err = soc_tplg_control_load(tplg, kc, &ec->hdr);
        if (err < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n",
                        ec->hdr.name);
        }
 
        /* pass control to driver for optional further init */
-       err = soc_tplg_control_load(tplg, kc, (struct snd_soc_tplg_ctl_hdr *)be);
+       err = soc_tplg_control_load(tplg, kc, &be->hdr);
        if (err < 0) {
                dev_err(tplg->dev, "ASoC: failed to init %s\n",
                        be->hdr.name);