Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I suspect now need another rename. Conflicts: arch/arm/mach-mx2/clock_imx27.c arch/arm/mach-mx2/devices.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/mach-omap2/board-zoom2.c sound/soc/fsl/mpc5200_dma.c sound/soc/fsl/mpc5200_dma.h sound/soc/fsl/mpc8610_hpcd.c sound/soc/pxa/spitz.c
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
|
||||
#include <asm/time.h>
|
||||
#include <asm/delay.h>
|
||||
#include <asm/mpc52xx.h>
|
||||
#include <asm/mpc52xx_psc.h>
|
||||
|
||||
#include "mpc5200_dma.h"
|
||||
@@ -100,19 +101,32 @@ static void psc_ac97_warm_reset(struct snd_ac97 *ac97)
|
||||
{
|
||||
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
|
||||
|
||||
mutex_lock(&psc_dma->mutex);
|
||||
|
||||
out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_AWR);
|
||||
udelay(3);
|
||||
out_be32(®s->sicr, psc_dma->sicr);
|
||||
|
||||
mutex_unlock(&psc_dma->mutex);
|
||||
}
|
||||
|
||||
static void psc_ac97_cold_reset(struct snd_ac97 *ac97)
|
||||
{
|
||||
struct mpc52xx_psc __iomem *regs = psc_dma->psc_regs;
|
||||
|
||||
/* Do a cold reset */
|
||||
out_8(®s->op1, MPC52xx_PSC_OP_RES);
|
||||
udelay(10);
|
||||
out_8(®s->op0, MPC52xx_PSC_OP_RES);
|
||||
mutex_lock(&psc_dma->mutex);
|
||||
dev_dbg(psc_dma->dev, "cold reset\n");
|
||||
|
||||
mpc5200_psc_ac97_gpio_reset(psc_dma->id);
|
||||
|
||||
/* Notify the PSC that a reset has occurred */
|
||||
out_be32(®s->sicr, psc_dma->sicr | MPC52xx_PSC_SICR_ACRB);
|
||||
|
||||
/* Re-enable RX and TX */
|
||||
out_8(®s->command, MPC52xx_PSC_TX_ENABLE | MPC52xx_PSC_RX_ENABLE);
|
||||
|
||||
mutex_unlock(&psc_dma->mutex);
|
||||
|
||||
msleep(1);
|
||||
psc_ac97_warm_reset(ac97);
|
||||
}
|
||||
@@ -258,7 +272,7 @@ static struct snd_soc_dai_driver psc_ac97_dai[] = {
|
||||
* - Probe/remove operations
|
||||
* - OF device match table
|
||||
*/
|
||||
static int __devinit psc_ac97_of_probe(struct of_device *op,
|
||||
static int __devinit psc_ac97_of_probe(struct platform_device *op,
|
||||
const struct of_device_id *match)
|
||||
{
|
||||
int rc;
|
||||
@@ -288,7 +302,7 @@ static int __devinit psc_ac97_of_probe(struct of_device *op,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __devexit psc_ac97_of_remove(struct of_device *op)
|
||||
static int __devexit psc_ac97_of_remove(struct platform_device *op)
|
||||
{
|
||||
snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_ac97_dai));
|
||||
return 0;
|
||||
|
Fai riferimento in un nuovo problema
Block a user