Skip to content

Commit

Permalink
Merge remote-tracking branches 'asoc/topic/dmaengine', 'asoc/topic/fs…
Browse files Browse the repository at this point in the history
…i', 'asoc/topic/fsl' and 'asoc/topic/fsl-ssi' into asoc-next
  • Loading branch information
Mark Brown committed Apr 12, 2015
5 parents 41caf05 + 0aed112 + 9a42ab0 + 1169006 + ca26418 commit b7af54a
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 63 deletions.
1 change: 1 addition & 0 deletions drivers/dma/of-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ struct dma_chan *of_dma_request_slave_channel(struct device_node *np,

return ERR_PTR(ret_no_channel);
}
EXPORT_SYMBOL_GPL(of_dma_request_slave_channel);

/**
* of_dma_simple_xlate - Simple DMA engine translation function
Expand Down
4 changes: 2 additions & 2 deletions sound/soc/fsl/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ config SND_SOC_FSL_SAI
in-tree drivers select it automatically.

config SND_SOC_FSL_SSI
tristate "Synchronous Serial Interface module support"
tristate "Synchronous Serial Interface module (SSI) support"
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
select REGMAP_MMIO
Expand All @@ -35,7 +35,7 @@ config SND_SOC_FSL_SSI
in-tree drivers select it automatically.

config SND_SOC_FSL_SPDIF
tristate "Sony/Philips Digital Interface module support"
tristate "Sony/Philips Digital Interface (S/PDIF) module support"
select REGMAP_MMIO
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
Expand Down
32 changes: 10 additions & 22 deletions sound/soc/fsl/fsl_ssi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1288,7 +1288,7 @@ static int fsl_ssi_probe(struct platform_device *pdev)
const struct of_device_id *of_id;
const char *p, *sprop;
const uint32_t *iprop;
struct resource res;
struct resource *res;
void __iomem *iomem;
char name[64];

Expand Down Expand Up @@ -1335,19 +1335,11 @@ static int fsl_ssi_probe(struct platform_device *pdev)
}
ssi_private->cpu_dai_drv.name = dev_name(&pdev->dev);

/* Get the addresses and IRQ */
ret = of_address_to_resource(np, 0, &res);
if (ret) {
dev_err(&pdev->dev, "could not determine device resources\n");
return ret;
}
ssi_private->ssi_phys = res.start;

iomem = devm_ioremap(&pdev->dev, res.start, resource_size(&res));
if (!iomem) {
dev_err(&pdev->dev, "could not map device resources\n");
return -ENOMEM;
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
iomem = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(iomem))
return PTR_ERR(iomem);
ssi_private->ssi_phys = res->start;

ret = of_property_match_string(np, "clock-names", "ipg");
if (ret < 0) {
Expand Down Expand Up @@ -1393,8 +1385,8 @@ static int fsl_ssi_probe(struct platform_device *pdev)
return ret;
}

ret = snd_soc_register_component(&pdev->dev, &fsl_ssi_component,
&ssi_private->cpu_dai_drv, 1);
ret = devm_snd_soc_register_component(&pdev->dev, &fsl_ssi_component,
&ssi_private->cpu_dai_drv, 1);
if (ret) {
dev_err(&pdev->dev, "failed to register DAI: %d\n", ret);
goto error_asoc_register;
Expand All @@ -1407,13 +1399,13 @@ static int fsl_ssi_probe(struct platform_device *pdev)
if (ret < 0) {
dev_err(&pdev->dev, "could not claim irq %u\n",
ssi_private->irq);
goto error_irq;
goto error_asoc_register;
}
}

ret = fsl_ssi_debugfs_create(&ssi_private->dbg_stats, &pdev->dev);
if (ret)
goto error_irq;
goto error_asoc_register;

/*
* If codec-handle property is missing from SSI node, we assume
Expand Down Expand Up @@ -1454,9 +1446,6 @@ static int fsl_ssi_probe(struct platform_device *pdev)
error_sound_card:
fsl_ssi_debugfs_remove(&ssi_private->dbg_stats);

error_irq:
snd_soc_unregister_component(&pdev->dev);

error_asoc_register:
if (ssi_private->soc->imx)
fsl_ssi_imx_clean(pdev, ssi_private);
Expand All @@ -1472,7 +1461,6 @@ static int fsl_ssi_remove(struct platform_device *pdev)

if (ssi_private->pdev)
platform_device_unregister(ssi_private->pdev);
snd_soc_unregister_component(&pdev->dev);

if (ssi_private->soc->imx)
fsl_ssi_imx_clean(pdev, ssi_private);
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/fsl/mpc5200_psc_ac97.c
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ static int psc_ac97_of_remove(struct platform_device *op)
}

/* Match table for of_platform binding */
static struct of_device_id psc_ac97_match[] = {
static const struct of_device_id psc_ac97_match[] = {
{ .compatible = "fsl,mpc5200-psc-ac97", },
{ .compatible = "fsl,mpc5200b-psc-ac97", },
{}
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/fsl/mpc5200_psc_i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ static int psc_i2s_of_remove(struct platform_device *op)
}

/* Match table for of_platform binding */
static struct of_device_id psc_i2s_match[] = {
static const struct of_device_id psc_i2s_match[] = {
{ .compatible = "fsl,mpc5200-psc-i2s", },
{ .compatible = "fsl,mpc5200b-psc-i2s", },
{}
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/fsl/pcm030-audio-fabric.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ static int pcm030_fabric_remove(struct platform_device *op)
return ret;
}

static struct of_device_id pcm030_audio_match[] = {
static const struct of_device_id pcm030_audio_match[] = {
{ .compatible = "phytec,pcm030-audio-fabric", },
{}
};
Expand Down
71 changes: 35 additions & 36 deletions sound/soc/sh/fsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1876,7 +1876,40 @@ static void fsi_handler_init(struct fsi_priv *fsi,
}
}

static struct of_device_id fsi_of_match[];
static const struct fsi_core fsi1_core = {
.ver = 1,

/* Interrupt */
.int_st = INT_ST,
.iemsk = IEMSK,
.imsk = IMSK,
};

static const struct fsi_core fsi2_core = {
.ver = 2,

/* Interrupt */
.int_st = CPU_INT_ST,
.iemsk = CPU_IEMSK,
.imsk = CPU_IMSK,
.a_mclk = A_MST_CTLR,
.b_mclk = B_MST_CTLR,
};

static const struct of_device_id fsi_of_match[] = {
{ .compatible = "renesas,sh_fsi", .data = &fsi1_core},
{ .compatible = "renesas,sh_fsi2", .data = &fsi2_core},
{},
};
MODULE_DEVICE_TABLE(of, fsi_of_match);

static const struct platform_device_id fsi_id_table[] = {
{ "sh_fsi", (kernel_ulong_t)&fsi1_core },
{ "sh_fsi2", (kernel_ulong_t)&fsi2_core },
{},
};
MODULE_DEVICE_TABLE(platform, fsi_id_table);

static int fsi_probe(struct platform_device *pdev)
{
struct fsi_master *master;
Expand Down Expand Up @@ -2072,40 +2105,6 @@ static struct dev_pm_ops fsi_pm_ops = {
.resume = fsi_resume,
};

static struct fsi_core fsi1_core = {
.ver = 1,

/* Interrupt */
.int_st = INT_ST,
.iemsk = IEMSK,
.imsk = IMSK,
};

static struct fsi_core fsi2_core = {
.ver = 2,

/* Interrupt */
.int_st = CPU_INT_ST,
.iemsk = CPU_IEMSK,
.imsk = CPU_IMSK,
.a_mclk = A_MST_CTLR,
.b_mclk = B_MST_CTLR,
};

static struct of_device_id fsi_of_match[] = {
{ .compatible = "renesas,sh_fsi", .data = &fsi1_core},
{ .compatible = "renesas,sh_fsi2", .data = &fsi2_core},
{},
};
MODULE_DEVICE_TABLE(of, fsi_of_match);

static struct platform_device_id fsi_id_table[] = {
{ "sh_fsi", (kernel_ulong_t)&fsi1_core },
{ "sh_fsi2", (kernel_ulong_t)&fsi2_core },
{},
};
MODULE_DEVICE_TABLE(platform, fsi_id_table);

static struct platform_driver fsi_driver = {
.driver = {
.name = "fsi-pcm-audio",
Expand All @@ -2119,7 +2118,7 @@ static struct platform_driver fsi_driver = {

module_platform_driver(fsi_driver);

MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("SuperH onchip FSI audio driver");
MODULE_AUTHOR("Kuninori Morimoto <morimoto.kuninori@renesas.com>");
MODULE_ALIAS("platform:fsi-pcm-audio");

0 comments on commit b7af54a

Please sign in to comment.