diff options
author | Djamil Elaidi <d-elaidi@ti.com> | 2011-11-16 18:09:46 +0100 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 12:59:37 +0200 |
commit | 3a0eea5ba221e539b5036cb4063bd022429965fd (patch) | |
tree | 279bb0011fdefae00eb611a6c274a9568a9b6282 /drivers/omap_hsi | |
parent | 9a53bb505d917eff48249fb0816cfa8980eb10f2 (diff) | |
download | kernel_samsung_tuna-3a0eea5ba221e539b5036cb4063bd022429965fd.zip kernel_samsung_tuna-3a0eea5ba221e539b5036cb4063bd022429965fd.tar.gz kernel_samsung_tuna-3a0eea5ba221e539b5036cb4063bd022429965fd.tar.bz2 |
OMAP4: HSI: mux: remove unused mux platform data
Since we now use HWMOD muxing feature, many platform data and functions
are no more needed :
* Switching from HSI wakeup to/from IO daisy chain wakeup and handling of wakeup
enable bit is now handled directly by HWMOD, so wakeup_enable/disable function
are removed
* Removed board dependend_suspend callback since all shall be done by
runtime_pm callbacks. But board_suspend and board_resume specific callback are
kept to handle board dependend specific actions.
* Also aligned to same parameters for board_resume and board_suspend.
* Removed some mux hack functions
* Removed mux reference in platform data
Change-Id: I89a1b545d6e722c0ab19612f9b1f6a0892a0b455
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
Conflicts:
arch/arm/mach-omap2/pm44xx.c
Diffstat (limited to 'drivers/omap_hsi')
-rwxr-xr-x | drivers/omap_hsi/hsi_driver.c | 20 | ||||
-rwxr-xr-x | drivers/omap_hsi/hsi_driver.h | 2 |
2 files changed, 3 insertions, 19 deletions
diff --git a/drivers/omap_hsi/hsi_driver.c b/drivers/omap_hsi/hsi_driver.c index 4d5758c4..310cf02 100755 --- a/drivers/omap_hsi/hsi_driver.c +++ b/drivers/omap_hsi/hsi_driver.c @@ -1074,7 +1074,8 @@ static int hsi_pm_resume(struct device *dev) /* Perform (optional) HSI board specific action after platform wakeup */ if (pdata->board_resume) for (i = 0; i < hsi_ctrl->max_p; i++) - pdata->board_resume(hsi_ctrl->hsi_port[i].port_number); + pdata->board_resume(hsi_ctrl->hsi_port[i].port_number, + device_may_wakeup(dev)); return 0; } @@ -1089,10 +1090,8 @@ static int hsi_pm_resume(struct device *dev) */ int hsi_runtime_resume(struct device *dev) { - struct hsi_platform_data *pdata = dev_get_platdata(dev); struct platform_device *pd = to_platform_device(dev); struct hsi_dev *hsi_ctrl = platform_get_drvdata(pd); - unsigned int i; dev_dbg(dev, "%s\n", __func__); @@ -1107,10 +1106,6 @@ int hsi_runtime_resume(struct device *dev) /* Allow data reception */ hsi_hsr_resume(hsi_ctrl); - /* When HSI is ON, no need for IO wakeup mechanism on any HSI port */ - for (i = 0; i < hsi_ctrl->max_p; i++) - pdata->wakeup_disable(hsi_ctrl->hsi_port[i].port_number); - /* HSI device is now fully operational and _must_ be able to */ /* complete I/O operations */ @@ -1127,10 +1122,8 @@ int hsi_runtime_resume(struct device *dev) */ int hsi_runtime_suspend(struct device *dev) { - struct hsi_platform_data *pdata = dev_get_platdata(dev); struct platform_device *pd = to_platform_device(dev); struct hsi_dev *hsi_ctrl = platform_get_drvdata(pd); - int i; dev_dbg(dev, "%s\n", __func__); @@ -1140,15 +1133,6 @@ int hsi_runtime_suspend(struct device *dev) /* Forbid data reception */ hsi_hsr_suspend(hsi_ctrl); - /* HSI is going to IDLE, it needs IO wakeup mechanism enabled */ - if (device_may_wakeup(dev)) - for (i = 0; i < hsi_ctrl->max_p; i++) - pdata->wakeup_enable(hsi_ctrl->hsi_port[i].port_number); - else - for (i = 0; i < hsi_ctrl->max_p; i++) - pdata->wakeup_disable( - hsi_ctrl->hsi_port[i].port_number); - /* HSI is now ready to be put in low power state */ return 0; diff --git a/drivers/omap_hsi/hsi_driver.h b/drivers/omap_hsi/hsi_driver.h index 226fe15..73f86de 100755 --- a/drivers/omap_hsi/hsi_driver.h +++ b/drivers/omap_hsi/hsi_driver.h @@ -231,7 +231,7 @@ struct hsi_platform_data { int (*wakeup_disable) (int hsi_port); bool (*wakeup_is_from_hsi) (int *hsi_port); int (*board_suspend)(int hsi_port, bool dev_may_wakeup); - int (*board_resume)(int hsi_port); + int (*board_resume)(int hsi_port, bool dev_may_wakeup); u8 num_ports; struct hsi_ctrl_ctx *ctx; u8 hsi_gdd_chan_count; |