diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-05-23 07:46:30 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-05-24 06:41:57 -0400 |
commit | 4c481253311dd5940ae7c26eaff6c6f63bd41fd8 (patch) | |
tree | c1c9253b4b410004818fc4a290c7d802509485ad /sound/soc/sh | |
parent | 2da658927c9e28425ecb6b6a7a03094a012e8620 (diff) |
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>
Diffstat (limited to 'sound/soc/sh')
-rw-r--r-- | sound/soc/sh/fsi.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index a00fe37dfa4e..c60854607b8e 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, | |||
669 | 669 | ||
670 | } | 670 | } |
671 | 671 | ||
672 | #define fsi_module_init(m, d) __fsi_module_clk_ctrl(m, d, 1) | ||
673 | #define fsi_module_kill(m, d) __fsi_module_clk_ctrl(m, d, 0) | ||
674 | static void __fsi_module_clk_ctrl(struct fsi_master *master, | ||
675 | struct device *dev, | ||
676 | int enable) | ||
677 | { | ||
678 | pm_runtime_get_sync(dev); | ||
679 | |||
680 | if (enable) { | ||
681 | /* enable only SR */ | ||
682 | fsi_master_mask_set(master, SOFT_RST, FSISR, FSISR); | ||
683 | fsi_master_mask_set(master, SOFT_RST, PASR | PBSR, 0); | ||
684 | } else { | ||
685 | /* clear all registers */ | ||
686 | fsi_master_mask_set(master, SOFT_RST, FSISR, 0); | ||
687 | } | ||
688 | |||
689 | pm_runtime_put_sync(dev); | ||
690 | } | ||
691 | |||
692 | #define fsi_port_start(f, i) __fsi_port_clk_ctrl(f, i, 1) | 672 | #define fsi_port_start(f, i) __fsi_port_clk_ctrl(f, i, 1) |
693 | #define fsi_port_stop(f, i) __fsi_port_clk_ctrl(f, i, 0) | 673 | #define fsi_port_stop(f, i) __fsi_port_clk_ctrl(f, i, 0) |
694 | static void __fsi_port_clk_ctrl(struct fsi_priv *fsi, int is_play, int enable) | 674 | static void __fsi_port_clk_ctrl(struct fsi_priv *fsi, int is_play, int enable) |
695 | { | 675 | { |
696 | struct fsi_master *master = fsi_get_master(fsi); | 676 | struct fsi_master *master = fsi_get_master(fsi); |
697 | u32 soft = fsi_is_port_a(fsi) ? PASR : PBSR; | ||
698 | u32 clk = fsi_is_port_a(fsi) ? CRA : CRB; | 677 | u32 clk = fsi_is_port_a(fsi) ? CRA : CRB; |
699 | int is_master = fsi_is_clk_master(fsi); | 678 | int is_master = fsi_is_clk_master(fsi); |
700 | 679 | ||
@@ -703,7 +682,6 @@ static void __fsi_port_clk_ctrl(struct fsi_priv *fsi, int is_play, int enable) | |||
703 | else | 682 | else |
704 | fsi_irq_disable(fsi, is_play); | 683 | fsi_irq_disable(fsi, is_play); |
705 | 684 | ||
706 | fsi_master_mask_set(master, SOFT_RST, soft, (enable) ? soft : 0); | ||
707 | if (is_master) | 685 | if (is_master) |
708 | fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0); | 686 | fsi_master_mask_set(master, CLK_RST, clk, (enable) ? clk : 0); |
709 | } | 687 | } |
@@ -1294,8 +1272,6 @@ static int fsi_probe(struct platform_device *pdev) | |||
1294 | pm_runtime_enable(&pdev->dev); | 1272 | pm_runtime_enable(&pdev->dev); |
1295 | dev_set_drvdata(&pdev->dev, master); | 1273 | dev_set_drvdata(&pdev->dev, master); |
1296 | 1274 | ||
1297 | fsi_module_init(master, &pdev->dev); | ||
1298 | |||
1299 | ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED, | 1275 | ret = request_irq(irq, &fsi_interrupt, IRQF_DISABLED, |
1300 | id_entry->name, master); | 1276 | id_entry->name, master); |
1301 | if (ret) { | 1277 | if (ret) { |
@@ -1338,8 +1314,6 @@ static int fsi_remove(struct platform_device *pdev) | |||
1338 | 1314 | ||
1339 | master = dev_get_drvdata(&pdev->dev); | 1315 | master = dev_get_drvdata(&pdev->dev); |
1340 | 1316 | ||
1341 | fsi_module_kill(master, &pdev->dev); | ||
1342 | |||
1343 | free_irq(master->irq, master); | 1317 | free_irq(master->irq, master); |
1344 | pm_runtime_disable(&pdev->dev); | 1318 | pm_runtime_disable(&pdev->dev); |
1345 | 1319 | ||
@@ -1394,8 +1368,6 @@ static int fsi_suspend(struct device *dev) | |||
1394 | master->saved_clk_rst = fsi_master_read(master, CLK_RST); | 1368 | master->saved_clk_rst = fsi_master_read(master, CLK_RST); |
1395 | master->saved_soft_rst = fsi_master_read(master, SOFT_RST); | 1369 | master->saved_soft_rst = fsi_master_read(master, SOFT_RST); |
1396 | 1370 | ||
1397 | fsi_module_kill(master, dev); | ||
1398 | |||
1399 | pm_runtime_put_sync(dev); | 1371 | pm_runtime_put_sync(dev); |
1400 | 1372 | ||
1401 | return 0; | 1373 | return 0; |
@@ -1407,8 +1379,6 @@ static int fsi_resume(struct device *dev) | |||
1407 | 1379 | ||
1408 | pm_runtime_get_sync(dev); | 1380 | pm_runtime_get_sync(dev); |
1409 | 1381 | ||
1410 | fsi_module_init(master, dev); | ||
1411 | |||
1412 | fsi_master_mask_set(master, SOFT_RST, 0xffff, master->saved_soft_rst); | 1382 | fsi_master_mask_set(master, SOFT_RST, 0xffff, master->saved_soft_rst); |
1413 | fsi_master_mask_set(master, CLK_RST, 0xffff, master->saved_clk_rst); | 1383 | fsi_master_mask_set(master, CLK_RST, 0xffff, master->saved_clk_rst); |
1414 | fsi_core_mask_set(master, a_mclk, 0xffff, master->saved_a_mclk); | 1384 | fsi_core_mask_set(master, a_mclk, 0xffff, master->saved_a_mclk); |