Commit d40d1944 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/topic/doc', 'asoc/topic/dwc',...

Merge remote-tracking branches 'asoc/topic/doc', 'asoc/topic/dwc', 'asoc/topic/fsi', 'asoc/topic/fsl' and 'asoc/topic/fsl-asrc' into asoc-next
DesignWare I2S controller
Required properties:
- compatible : Must be "snps,designware-i2s"
- reg : Must contain the I2S core's registers location and length
- clocks : Pairs of phandle and specifier referencing the controller's
clocks. The controller expects one clock: the clock used as the sampling
rate reference clock sample.
- clock-names : "i2sclk" for the sample rate reference clock.
- dmas: Pairs of phandle and specifier for the DMA channels that are used by
the core. The core expects one or two dma channels: one for transmit and
one for receive.
- dma-names : "tx" for the transmit channel, "rx" for the receive channel.
For more details on the 'dma', 'dma-names', 'clock' and 'clock-names'
properties please check:
* resource-names.txt
* clock/clock-bindings.txt
* dma/dma.txt
Example:
soc_i2s: i2s@7ff90000 {
compatible = "snps,designware-i2s";
reg = <0x0 0x7ff90000 0x0 0x1000>;
clocks = <&scpi_i2sclk 0>;
clock-names = "i2sclk";
#sound-dai-cells = <0>;
dmas = <&dma0 5>;
dma-names = "tx";
};
config SND_DESIGNWARE_I2S config SND_DESIGNWARE_I2S
tristate "Synopsys I2S Device Driver" tristate "Synopsys I2S Device Driver"
depends on CLKDEV_LOOKUP depends on CLKDEV_LOOKUP
select SND_SOC_GENERIC_DMAENGINE_PCM
help help
Say Y or M if you want to add support for I2S driver for Say Y or M if you want to add support for I2S driver for
Synopsys desigwnware I2S device. The device supports upto Synopsys desigwnware I2S device. The device supports upto
......
This diff is collapsed.
...@@ -818,7 +818,6 @@ static int fsl_asrc_probe(struct platform_device *pdev) ...@@ -818,7 +818,6 @@ static int fsl_asrc_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
asrc_priv->pdev = pdev; asrc_priv->pdev = pdev;
strncpy(asrc_priv->name, np->name, sizeof(asrc_priv->name) - 1);
/* Get the addresses and IRQ */ /* Get the addresses and IRQ */
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
...@@ -837,12 +836,12 @@ static int fsl_asrc_probe(struct platform_device *pdev) ...@@ -837,12 +836,12 @@ static int fsl_asrc_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0); irq = platform_get_irq(pdev, 0);
if (irq < 0) { if (irq < 0) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
return irq; return irq;
} }
ret = devm_request_irq(&pdev->dev, irq, fsl_asrc_isr, 0, ret = devm_request_irq(&pdev->dev, irq, fsl_asrc_isr, 0,
asrc_priv->name, asrc_priv); dev_name(&pdev->dev), asrc_priv);
if (ret) { if (ret) {
dev_err(&pdev->dev, "failed to claim irq %u: %d\n", irq, ret); dev_err(&pdev->dev, "failed to claim irq %u: %d\n", irq, ret);
return ret; return ret;
......
...@@ -433,7 +433,6 @@ struct fsl_asrc_pair { ...@@ -433,7 +433,6 @@ struct fsl_asrc_pair {
* @channel_avail: non-occupied channel numbers * @channel_avail: non-occupied channel numbers
* @asrc_rate: default sample rate for ASoC Back-Ends * @asrc_rate: default sample rate for ASoC Back-Ends
* @asrc_width: default sample width for ASoC Back-Ends * @asrc_width: default sample width for ASoC Back-Ends
* @name: driver name
*/ */
struct fsl_asrc { struct fsl_asrc {
struct snd_dmaengine_dai_dma_data dma_params_rx; struct snd_dmaengine_dai_dma_data dma_params_rx;
...@@ -452,8 +451,6 @@ struct fsl_asrc { ...@@ -452,8 +451,6 @@ struct fsl_asrc {
int asrc_rate; int asrc_rate;
int asrc_width; int asrc_width;
char name[32];
}; };
extern struct snd_soc_platform_driver fsl_asrc_platform; extern struct snd_soc_platform_driver fsl_asrc_platform;
......
...@@ -774,7 +774,7 @@ static int fsl_esai_probe(struct platform_device *pdev) ...@@ -774,7 +774,7 @@ static int fsl_esai_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0); irq = platform_get_irq(pdev, 0);
if (irq < 0) { if (irq < 0) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
return irq; return irq;
} }
......
...@@ -612,7 +612,7 @@ static int fsl_sai_probe(struct platform_device *pdev) ...@@ -612,7 +612,7 @@ static int fsl_sai_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0); irq = platform_get_irq(pdev, 0);
if (irq < 0) { if (irq < 0) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
return irq; return irq;
} }
......
...@@ -1198,7 +1198,7 @@ static int fsl_spdif_probe(struct platform_device *pdev) ...@@ -1198,7 +1198,7 @@ static int fsl_spdif_probe(struct platform_device *pdev)
irq = platform_get_irq(pdev, 0); irq = platform_get_irq(pdev, 0);
if (irq < 0) { if (irq < 0) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
return irq; return irq;
} }
......
...@@ -1362,8 +1362,8 @@ static int fsl_ssi_probe(struct platform_device *pdev) ...@@ -1362,8 +1362,8 @@ static int fsl_ssi_probe(struct platform_device *pdev)
} }
ssi_private->irq = platform_get_irq(pdev, 0); ssi_private->irq = platform_get_irq(pdev, 0);
if (ssi_private->irq < 0) { if (!ssi_private->irq) {
dev_err(&pdev->dev, "no irq for node %s\n", np->full_name); dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
return ssi_private->irq; return ssi_private->irq;
} }
......
...@@ -820,11 +820,8 @@ static int fsi_clk_enable(struct device *dev, ...@@ -820,11 +820,8 @@ static int fsi_clk_enable(struct device *dev,
return ret; return ret;
} }
if (clock->xck)
clk_enable(clock->xck); clk_enable(clock->xck);
if (clock->ick)
clk_enable(clock->ick); clk_enable(clock->ick);
if (clock->div)
clk_enable(clock->div); clk_enable(clock->div);
clock->count++; clock->count++;
......
...@@ -60,7 +60,7 @@ static void devm_platform_release(struct device *dev, void *res) ...@@ -60,7 +60,7 @@ static void devm_platform_release(struct device *dev, void *res)
/** /**
* devm_snd_soc_register_platform - resource managed platform registration * devm_snd_soc_register_platform - resource managed platform registration
* @dev: Device used to manage platform * @dev: Device used to manage platform
* @platform: platform to register * @platform_drv: platform to register
* *
* Register a platform driver with automatic unregistration when the device is * Register a platform driver with automatic unregistration when the device is
* unregistered. * unregistered.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment