aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/mcp-sa11x0.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-20 12:38:58 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-01-20 12:38:58 -0500
commit65f2e753f1eb09d3a7e2a0d16408a5433b4097b2 (patch)
tree100066fa2d26930a490ee10bb191957f3b3e2df3 /drivers/mfd/mcp-sa11x0.c
parent216f63c41cac9f9f8f181fc19be399293c8c934e (diff)
Revert "ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus."
This reverts commit 5dd7bf59e0e8563265b3e5b33276099ef628fcc7. Conflicts: scripts/mod/file2alias.c This change is wrong on many levels. First and foremost, it causes a regression. On boot on Assabet, which this patch gives a codec id of 'ucb1x00', it gives: ucb1x00 ID not found: 1005 0x1005 is a valid ID for the UCB1300 device. Secondly, this patch is way over the top in terms of complexity. The only device which has been seen to be connected with this MCP code is the UCB1x00 (UCB1200, UCB1300 etc) devices, and they all use the same driver. Adding a match table, requiring the codec string to match the hardware ID read out of the ID register, etc is completely over the top when we can just read the hardware ID register.
Diffstat (limited to 'drivers/mfd/mcp-sa11x0.c')
-rw-r--r--drivers/mfd/mcp-sa11x0.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mfd/mcp-sa11x0.c b/drivers/mfd/mcp-sa11x0.c
index da4e077a1bee..02c53a0766c4 100644
--- a/drivers/mfd/mcp-sa11x0.c
+++ b/drivers/mfd/mcp-sa11x0.c
@@ -146,9 +146,6 @@ static int mcp_sa11x0_probe(struct platform_device *pdev)
146 if (!data) 146 if (!data)
147 return -ENODEV; 147 return -ENODEV;
148 148
149 if (!data->codec)
150 return -ENODEV;
151
152 if (!request_mem_region(0x80060000, 0x60, "sa11x0-mcp")) 149 if (!request_mem_region(0x80060000, 0x60, "sa11x0-mcp"))
153 return -EBUSY; 150 return -EBUSY;
154 151
@@ -165,7 +162,7 @@ static int mcp_sa11x0_probe(struct platform_device *pdev)
165 mcp->dma_audio_wr = DMA_Ser4MCP0Wr; 162 mcp->dma_audio_wr = DMA_Ser4MCP0Wr;
166 mcp->dma_telco_rd = DMA_Ser4MCP1Rd; 163 mcp->dma_telco_rd = DMA_Ser4MCP1Rd;
167 mcp->dma_telco_wr = DMA_Ser4MCP1Wr; 164 mcp->dma_telco_wr = DMA_Ser4MCP1Wr;
168 mcp->codec = data->codec; 165 mcp->gpio_base = data->gpio_base;
169 166
170 platform_set_drvdata(pdev, mcp); 167 platform_set_drvdata(pdev, mcp);
171 168
@@ -198,7 +195,7 @@ static int mcp_sa11x0_probe(struct platform_device *pdev)
198 mcp->rw_timeout = (64 * 3 * 1000000 + mcp->sclk_rate - 1) / 195 mcp->rw_timeout = (64 * 3 * 1000000 + mcp->sclk_rate - 1) /
199 mcp->sclk_rate; 196 mcp->sclk_rate;
200 197
201 ret = mcp_host_register(mcp, data->codec_pdata); 198 ret = mcp_host_register(mcp);
202 if (ret == 0) 199 if (ret == 0)
203 goto out; 200 goto out;
204 201