summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2010-03-02 15:14:53 -0600
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:01:41 +0200
commite2f62ce6bd2419459dfa1923e6dc51b58f2a6c26 (patch)
tree4bbbdaeab0c70fb987b218e727e9fdd1de37dbfe /sound
parent45a01d35e998583185b5652313dc754e3f1dcd7a (diff)
ENGR00121454 SSI: correct the imx_ssi_irq handler's devid parameter
correct the imx_ssi_irq handler's devid parameter Signed-off-by: Alan Tull <r80115@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/imx/imx-3stack-sgtl5000.c3
-rw-r--r--sound/soc/imx/imx-ssi.c10
2 files changed, 7 insertions, 6 deletions
diff --git a/sound/soc/imx/imx-3stack-sgtl5000.c b/sound/soc/imx/imx-3stack-sgtl5000.c
index b01b9f85ec89..fd117f98210a 100644
--- a/sound/soc/imx/imx-3stack-sgtl5000.c
+++ b/sound/soc/imx/imx-3stack-sgtl5000.c
@@ -572,7 +572,6 @@ static int __devinit imx_3stack_sgtl5000_probe(struct platform_device *pdev)
struct snd_soc_dai *sgtl5000_cpu_dai;
int ret = 0;
- priv->sysclk = plat->sysclk;
priv->pdev = pdev;
gpio_activate_audio_ports();
@@ -595,6 +594,8 @@ static int __devinit imx_3stack_sgtl5000_probe(struct platform_device *pdev)
if (plat->init && plat->init())
goto err_plat_init;
+ priv->sysclk = plat->sysclk;
+
/* The SGTL5000 has an internal reset that is deasserted 8 SYS_MCLK
cycles after all power rails have been brought up. After this time
communication can start */
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index a89fd65e32a1..027e32df938b 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -586,12 +586,12 @@ static int fifo_err_counter;
static irqreturn_t imx_ssi_irq(int irq, void *dev_id)
{
- struct platform_device *pdev = dev_id;
- struct imx_ssi *pdata = platform_get_drvdata(pdev);
- void __iomem *ioaddr = pdata->ioaddr;
+ struct imx_ssi *priv = (struct imx_ssi *)dev_id;
+ void __iomem *ioaddr = priv->ioaddr;
if (fifo_err_counter++ % 1000 == 0)
printk(KERN_ERR "%s %s SISR %x SIER %x fifo_errs=%d\n",
- __func__, pdev->name, __raw_readl(ioaddr + SSI_SISR),
+ __func__, priv->pdev->name,
+ __raw_readl(ioaddr + SSI_SISR),
__raw_readl(ioaddr + SSI_SIER), fifo_err_counter);
__raw_writel((SSI_SIER_TUE0_EN | SSI_SIER_ROE0_EN), ioaddr + SSI_SISR);
return IRQ_HANDLED;
@@ -603,7 +603,7 @@ static int imx_ssi_probe(struct platform_device *pdev, struct snd_soc_dai *dai)
if (priv->irq >= 0) {
if (request_irq(priv->irq, imx_ssi_irq, IRQF_SHARED,
- pdev->name, dai)) {
+ pdev->name, priv)) {
printk(KERN_ERR "%s: failure requesting irq for %s\n",
__func__, pdev->name);
return -EBUSY;