summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorAisheng.Dong <b29396@freescale.com>2010-09-13 22:29:40 +0800
committerAlan Tull <r80115@freescale.com>2010-09-25 09:53:38 -0500
commit4ae1776e35e9ed3d2aff604dac4be94e9b407fdd (patch)
treec6225e06658a19a0fd82e42463c5824e8bf86f5b /drivers/spi
parent39138ccff1a7a4194ef5ad433bf04087eed7f1f5 (diff)
ENGR00131466-4 mxs spi: dynamically check which clock to use
The original spi host driver uses the fixed clock, spi.0, which will cause the spi driver only support spi0. Change it to dynamically check which clock to use to support different spi hosts. Signed-off-by: Aisheng.Dong <b29396@freescale.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi_mxs.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/spi/spi_mxs.c b/drivers/spi/spi_mxs.c
index 106b81380bb4..149d24a9b833 100644
--- a/drivers/spi/spi_mxs.c
+++ b/drivers/spi/spi_mxs.c
@@ -67,9 +67,17 @@ static int debug;
*/
static int mxs_spi_init_hw(struct mxs_spi *ss)
{
+ struct mxs_spi_platform_data *pdata;
int err;
- ss->clk = clk_get(NULL, "ssp.0");
+ pdata = ss->master_dev->platform_data;
+
+ if (!pdata->clk) {
+ dev_err(ss->master_dev, "unknown clock\n");
+ err = -EINVAL;
+ goto out;
+ }
+ ss->clk = clk_get(ss->master_dev, pdata->clk);
if (IS_ERR(ss->clk)) {
err = PTR_ERR(ss->clk);
goto out;