ssp->use_count--;
                ssp->label = NULL;
        } else
-               dev_err(&ssp->pdev->dev, "device already free\n");
+               dev_err(ssp->dev, "device already free\n");
        mutex_unlock(&ssp_lock);
 }
 EXPORT_SYMBOL(pxa_ssp_free);
        if (ssp == NULL)
                return -ENOMEM;
 
-       ssp->pdev = pdev;
+       ssp->dev = dev;
 
        ssp->clk = devm_clk_get(dev, NULL);
        if (IS_ERR(ssp->clk))
 
        /* we can only change the settings if the port is not in use */
        if ((mmp_sspa_read_reg(sspa, SSPA_TXSP) & SSPA_SP_S_EN) ||
            (mmp_sspa_read_reg(sspa, SSPA_RXSP) & SSPA_SP_S_EN)) {
-               dev_err(&sspa->pdev->dev,
+               dev_err(sspa->dev,
                        "can't change hardware dai format: stream is in use\n");
                return -EINVAL;
        }
 
 
 static void dump_registers(struct ssp_device *ssp)
 {
-       dev_dbg(&ssp->pdev->dev, "SSCR0 0x%08x SSCR1 0x%08x SSTO 0x%08x\n",
+       dev_dbg(ssp->dev, "SSCR0 0x%08x SSCR1 0x%08x SSTO 0x%08x\n",
                 pxa_ssp_read_reg(ssp, SSCR0), pxa_ssp_read_reg(ssp, SSCR1),
                 pxa_ssp_read_reg(ssp, SSTO));
 
-       dev_dbg(&ssp->pdev->dev, "SSPSP 0x%08x SSSR 0x%08x SSACD 0x%08x\n",
+       dev_dbg(ssp->dev, "SSPSP 0x%08x SSSR 0x%08x SSACD 0x%08x\n",
                 pxa_ssp_read_reg(ssp, SSPSP), pxa_ssp_read_reg(ssp, SSSR),
                 pxa_ssp_read_reg(ssp, SSACD));
 }
                clk_id = PXA_SSP_CLK_EXT;
        }
 
-       dev_dbg(&ssp->pdev->dev,
+       dev_dbg(ssp->dev,
                "pxa_ssp_set_dai_sysclk id: %d, clk_id %d, freq %u\n",
                cpu_dai->id, clk_id, freq);
 
 
                        ssacd |= (0x6 << 4);
 
-                       dev_dbg(&ssp->pdev->dev,
+                       dev_dbg(ssp->dev,
                                "Using SSACDD %x to supply %uHz\n",
                                val, freq);
                        break;
         * - complain loudly and fail if they've not been set up yet.
         */
        if ((sscr0 & SSCR0_MOD) && !ttsa) {
-               dev_err(&ssp->pdev->dev, "No TDM timeslot configured\n");
+               dev_err(ssp->dev, "No TDM timeslot configured\n");
                return -EINVAL;
        }