From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: [PATCH v5 3/4] misc: sram: Add optional clock Date: Thu, 18 Oct 2012 16:27:32 +0200 Message-ID: <1350570453-24546-4-git-send-email-p.zabel@pengutronix.de> References: <1350570453-24546-1-git-send-email-p.zabel@pengutronix.de> Return-path: In-Reply-To: <1350570453-24546-1-git-send-email-p.zabel@pengutronix.de> Sender: linux-kernel-owner@vger.kernel.org To: linux-kernel@vger.kernel.org, Arnd Bergmann , Greg Kroah-Hartman , Grant Likely , Rob Herring , Paul Gortmaker , Shawn Guo , Richard Zhao , Huang Shijie , Dong Aisheng , Matt Porter , kernel@pengutronix.de, devicetree-discuss@lists.ozlabs.org Cc: Philipp Zabel List-Id: devicetree@vger.kernel.org On some platforms the SRAM needs a clock to be enabled explicitly. Signed-off-by: Philipp Zabel --- drivers/misc/sram.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c index 7a363f2..0cc2e75 100644 --- a/drivers/misc/sram.c +++ b/drivers/misc/sram.c @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -29,6 +31,7 @@ struct sram_dev { struct gen_pool *pool; + struct clk *clk; }; static int __devinit sram_probe(struct platform_device *pdev) @@ -53,6 +56,10 @@ static int __devinit sram_probe(struct platform_device *pdev) if (!sram) return -ENOMEM; + sram->clk = devm_clk_get(&pdev->dev, NULL); + if (!IS_ERR(sram->clk)) + clk_prepare_enable(sram->clk); + sram->pool = gen_pool_create(PAGE_SHIFT, -1); if (!sram->pool) return -ENOMEM; @@ -80,6 +87,9 @@ static int __devexit sram_remove(struct platform_device *pdev) gen_pool_destroy(sram->pool); + if (!IS_ERR(sram->clk)) + clk_disable_unprepare(sram->clk); + return 0; } -- 1.7.10.4