};
#endif
---- static struct platform_device *s3c24xx_uda134x_snd_device;
----
static int s3c24xx_uda134x_startup(struct snd_pcm_substream *substream)
{
---- int ret = 0;
++++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
#ifdef ENFORCE_RATES
struct snd_pcm_runtime *runtime = substream->runtime;
#endif
++++ int ret = 0;
mutex_lock(&clk_lock);
---- pr_debug("%s %d\n", __func__, clk_users);
++++
if (clk_users == 0) {
---- xtal = clk_get(&s3c24xx_uda134x_snd_device->dev, "xtal");
++++ xtal = clk_get(rtd->dev, "xtal");
if (IS_ERR(xtal)) {
---- printk(KERN_ERR "%s cannot get xtal\n", __func__);
++++ dev_err(rtd->dev, "%s cannot get xtal\n", __func__);
ret = PTR_ERR(xtal);
} else {
---- pclk = clk_get(&s3c24xx_uda134x_snd_device->dev,
---- "pclk");
++++ pclk = clk_get(cpu_dai->dev, "iis");
if (IS_ERR(pclk)) {
---- printk(KERN_ERR "%s cannot get pclk\n",
---- __func__);
++++ dev_err(rtd->dev, "%s cannot get pclk\n",
++++ __func__);
clk_put(xtal);
ret = PTR_ERR(pclk);
}