| From 775ff31c0db6d3de98d58f4f4f6c1d7614eb0ebc Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Mon, 23 May 2011 20:46:30 +0900 |
| Subject: ASoC: sh: fsi: remove fsi_module_init/kill |
| |
| FSIA/B ports is enabled by default when power-on, |
| and current FSI is supporting RuntimePM. |
| In addition, current fsi_module_init/kill doesn't care |
| simultaneous playback/recorde. |
| This mean FSI port control is not needed. |
| This patch remove fsi_module_init/kill |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Acked-by: Liam Girdwood <lrg@ti.com> |
| Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> |
| (cherry picked from commit 4c481253311dd5940ae7c26eaff6c6f63bd41fd8) |
| |
| Signed-off-by: Simon Horman <horms@verge.net.au> |
| --- |
| sound/soc/sh/fsi.c | 30 ------------------------------ |
| 1 file changed, 30 deletions(-) |
| |
| diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c |
| index e371db8..c9cf84d 100644 |
| --- a/sound/soc/sh/fsi.c |
| +++ b/sound/soc/sh/fsi.c |
| @@ -669,32 +669,11 @@ static int fsi_set_master_clk(struct device *dev, struct fsi_priv *fsi, |
| |
| } |
| |
| -#define fsi_module_init(m, d) __fsi_module_clk_ctrl(m, d, 1) |
| -#define fsi_module_kill(m, d) __fsi_module_clk_ctrl(m, d, 0) |
| -static void __fsi_module_clk_ctrl(struct fsi_master *master, |
| - struct device *dev, |
| - int enable) |
| -{ |
| - pm_runtime_get_sync(dev); |
| - |
| - if (enable) { |
| - /* enable only SR */ |
| - fsi_master_mask_set(master, SOFT_RST, FSISR, FSISR); |
| - fsi_master_mask_set(master, SOFT_RST, PASR | PBSR, 0); |
| - } else { |
| - /* clear all registers */ |
| - fsi_master_mask_set(master, SOFT_RST, FSISR, 0); |
| - } |
| - |
| - pm_runtime_put_sync(dev); |
| -} |
| - |
| #define fsi_port_start(f, i) __fsi_port_clk_ctrl(f, i, 1) |
| #define fsi_port_stop(f, i) __fsi_port_clk_ctrl(f, i, 0) |
| static void __fsi_port_clk_ctrl(struct fsi_priv *fsi, int is_play, int enable) |
| { |
| struct fsi_master *master = fsi_get_master(fsi); |
| - u32 soft = fsi_is_port_a(fsi) ? PASR : PBSR; |
| u32 clk = fsi_is_port_a(fsi) ? CRA : CRB; |
| int is_master = fsi_is_clk_master(fsi); |
| |
| @@ -703,7 +682,6 @@ static void __fsi_port_clk_ctrl(struct fsi_priv *fsi, int is_play, int enable) |
| else |
| fsi_irq_disable(fsi, is_play); |
| |
| - fsi_master_mask_set(master, SOFT_RST, soft, (enable) ? soft : 0); |
| if (is_master) |
| fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0); |
| } |
| @@ -1294,8 +1272,6 @@ static int fsi_probe(struct platform_device *pdev) |
| pm_runtime_enable(&pdev->dev); |
| dev_set_drvdata(&pdev->dev, master); |
| |
| - fsi_module_init(master, &pdev->dev); |
| - |
| ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED, |
| id_entry->name, master); |
| if (ret) { |
| @@ -1338,8 +1314,6 @@ static int fsi_remove(struct platform_device *pdev) |
| |
| master = dev_get_drvdata(&pdev->dev); |
| |
| - fsi_module_kill(master, &pdev->dev); |
| - |
| free_irq(master->irq, master); |
| pm_runtime_disable(&pdev->dev); |
| |
| @@ -1394,8 +1368,6 @@ static int fsi_suspend(struct device *dev) |
| master->saved_clk_rst = fsi_master_read(master, CLK_RST); |
| master->saved_soft_rst = fsi_master_read(master, SOFT_RST); |
| |
| - fsi_module_kill(master, dev); |
| - |
| pm_runtime_put_sync(dev); |
| |
| return 0; |
| @@ -1407,8 +1379,6 @@ static int fsi_resume(struct device *dev) |
| |
| pm_runtime_get_sync(dev); |
| |
| - fsi_module_init(master, dev); |
| - |
| fsi_master_mask_set(master, SOFT_RST, 0xffff, master->saved_soft_rst); |
| fsi_master_mask_set(master, CLK_RST, 0xffff, master->saved_clk_rst); |
| fsi_core_mask_set(master, a_mclk, 0xffff, master->saved_a_mclk); |
| -- |
| 1.7.10.2.565.gbd578b5 |
| |