dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX
[linux-2.6-microblaze.git] / sound / soc / fsl / mpc8610_hpcd.c
index f7bd900..eccc833 100644 (file)
@@ -98,7 +98,7 @@ static int mpc8610_hpcd_machine_probe(struct snd_soc_card *card)
  */
 static int mpc8610_hpcd_startup(struct snd_pcm_substream *substream)
 {
-       struct snd_soc_pcm_runtime *rtd = substream->private_data;
+       struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
        struct mpc8610_hpcd_data *machine_data =
                container_of(rtd->card, struct mpc8610_hpcd_data, card);
        struct device *dev = rtd->card->dev;
@@ -426,9 +426,11 @@ static int __init mpc8610_hpcd_init(void)
        guts_np = of_find_compatible_node(NULL, NULL, "fsl,mpc8610-guts");
        if (of_address_to_resource(guts_np, 0, &res)) {
                pr_err("mpc8610-hpcd: missing/invalid global utilities node\n");
+               of_node_put(guts_np);
                return -EINVAL;
        }
        guts_phys = res.start;
+       of_node_put(guts_np);
 
        return platform_driver_register(&mpc8610_hpcd_driver);
 }