|
@@ -127,53 +127,6 @@ static int pxa_ssp_probe(struct platform_device *pdev)
|
|
|
if (IS_ERR(ssp->clk))
|
|
|
return PTR_ERR(ssp->clk);
|
|
|
|
|
|
- if (dev->of_node) {
|
|
|
- struct of_phandle_args dma_spec;
|
|
|
- struct device_node *np = dev->of_node;
|
|
|
- int ret;
|
|
|
-
|
|
|
- /*
|
|
|
- * FIXME: we should allocate the DMA channel from this
|
|
|
- * context and pass the channel down to the ssp users.
|
|
|
- * For now, we lookup the rx and tx indices manually
|
|
|
- */
|
|
|
-
|
|
|
- /* rx */
|
|
|
- ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells",
|
|
|
- 0, &dma_spec);
|
|
|
-
|
|
|
- if (ret) {
|
|
|
- dev_err(dev, "Can't parse dmas property\n");
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
- ssp->drcmr_rx = dma_spec.args[0];
|
|
|
- of_node_put(dma_spec.np);
|
|
|
-
|
|
|
- /* tx */
|
|
|
- ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells",
|
|
|
- 1, &dma_spec);
|
|
|
- if (ret) {
|
|
|
- dev_err(dev, "Can't parse dmas property\n");
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
- ssp->drcmr_tx = dma_spec.args[0];
|
|
|
- of_node_put(dma_spec.np);
|
|
|
- } else {
|
|
|
- res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
|
|
|
- if (res == NULL) {
|
|
|
- dev_err(dev, "no SSP RX DRCMR defined\n");
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
- ssp->drcmr_rx = res->start;
|
|
|
-
|
|
|
- res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
|
|
|
- if (res == NULL) {
|
|
|
- dev_err(dev, "no SSP TX DRCMR defined\n");
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
- ssp->drcmr_tx = res->start;
|
|
|
- }
|
|
|
-
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
if (res == NULL) {
|
|
|
dev_err(dev, "no memory resource defined\n");
|