};
#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);
}