{"shas":[["700f99cfd46992be45c843c69daef2a76144842f","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: CPU: Compile omap-cpu if CONFIG_CPU_FREQ\n\nOn plat-omap makefile, cpu-omap.c was missing.\n\nSigned-off-by: Axel Haslam <axelhaslam@ti.com>","Axel Haslam"],["245b05ba5f636b7d45949f92ac1d765c64fd927e","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: GPIO: Make gpio_context part of gpio_bank structure\n\ngpio_context array, which is used to save gpio bank's context,\nis used only for OMAP3 architecture.\n\nMove gpio_context as part of gpio_bank structure so that\nit can be specific to each gpio bank and can be used for\nany OMAP architecture\n\nTODO: extend the gpio save/restore context function for OMAP4\narchitecture. This is done in one of the next patches in this\nseries\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["e85d12e29509b6f945245b2b4b9fce5425de6697","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: GPIO: Use flag to identify wkup dmn GPIO\n\nIn omap3, save/restore context is implemented for GPIO\nbanks 2-6 as GPIO bank1 is in wakeup domain. Instead\nof identifying bank's power domain by bank id, make use\nof a flag \"losses_context\" which is filled by\npwrdm_can_ever_lose_context() during dev_init.\n\nFor getting the powerdomain pointer, omap_hwmod_get_pwrdm()\nis used. omap_device_get_pwrdm() could not be used as the\npwrdm information needs to be filled in pdata, whereas\nomap_device_get_pwrdm() could be used only after\nomap_device_build() call.\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["ce24150340f39fff8a31446a59a39acfb4b09af2","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP4: GPIO: Save/restore context\n\nModify the omap_gpio_save/restore_context to support OMAP4\narchitecture so that the OMAP GPIO driver need not be modified\nwhen OMAP4 off mode support is available.\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["44d6568bbb861dccc845b3fa7695f9f658e3d622","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: GPIO: handle save/restore ctx in GPIO driver\n\nModify omap_gpio_prepare_for_idle() & omap_gpio_resume_after_idle()\nfunctions to handle save context & restore context respectively in the\nOMAP GPIO driver itself instead of calling these functions from pm specific\nfiles. For this, in gpio_prepare_for_idle(), use\nomap_device_get_context_loss_count() and in gpio_resume_after_idle()\ncall it again. If the count is different, do restore context.\n\ncontext lost count is modified in omap_sram_idle() path when\npwrdm_post_transition() is called. But pwrdm_post_transition() is called\nonly after omap_gpio_resume_after_idle() is called. Hence correct this\nso that context lost count is modified before calling\nomap_gpio_resume_after_idle().\n\nomap_gpio_prepare_for_idle() & omap_gpio_resume_after_idle()\ndo nothing if none of the GPIOs in a bank is being used.\n\nAlso remove usage of cpu_is_* checks from the above mentioned\nfunctions and fix the multi-line comment style\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["082066250529bb302ed8f8b9243dda39456e2f64","43003bdc550bf2821f63fc6559f511230902622c@ti.com","GPIO: make workaround_enabled bank specific\n\nMake workaround_enabled flag bank-specific instead of using a single\nflag for all the banks together. This would be helpful while making\nuse of runtime framework in OMAP GPIO driver which would make the\ndriver handle each GPIO bank independently.\n\nAlso rename workaround_enabled flag to off_mode_wkup_wa_enabled\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["fcb008766fa7b0b7b46580094ecab821af996399","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: GPIO: Cleanup prepare_for_idle/resume\n\nUse a function named gpio_bank_handle_idle() in\nomap_gpio_prepare_for_idle() to do the following:\n\n* debounce clock disable\n* if the next powerdomain state for the bank is off-mode:\n  - remove triggering for all non-wakeup GPIOs (this is handled by\n    a new function named omap_gpio_idle_handle_errata_i468())\n  - save context\n\nAlso handle omap_gpio_resume_after_idle() in a\nsimilar way, using a function gpio_bank_handle_resume().\n\nThis would be helpful while modifying OMAP GPIO driver to use\nPM runtime framework.\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"],["0956b08a6e3d460b4a673dd7b10e3752b3f1c7a1","43003bdc550bf2821f63fc6559f511230902622c@ti.com","OMAP: GPIO: use PM runtime framework\n\nCall runtime pm APIs pm_runtime_get_sync() and pm_runtime_put_sync()\nfor enabling/disabling the clocks, sysconfig settings and remove usage\nof clock FW APIs.\nNote: OMAP16xx & OMAP2 has interface and functional clocks whereas\nOMAP3 & 4 has interface and debounce clocks.\n\nGPIO driver is modified to use dev_pm_ops instead of sysdev_class.\nWith this approach, omap_gpio_suspend() & omap_gpio_resume()\nare not part of sys_dev_class.\n\nUsage of PM runtime get/put APIs in GPIO driver is as given below:\npm_runtime_get_sync():\n* in the probe before accessing the GPIO registers\n* at the beginning of omap_gpio_request()\n\t-only when one of the gpios is requested on a bank, in which,\n\t no other gpio is being used (when mod_usage becomes non-zero).\n\t This is because omap_gpio_request() is called for all the GPIOs in\n\t a bank.\n* at the beginning of omap_gpio_resume_after_idle()\n* at the beginning of gpio_irq_handler()\n\npm_runtime_put_sync():\n* in the probe after completing GPIO register access\n* at the end of omap_gpio_free()\n\t- only when the last used gpio in the gpio bank is\n\t  freed (when mod_usage becomes 0).\n* at the end of omap_gpio_prepare_for_idle()\n* at the end of gpio_irq_handler()\n\nIn omap_gpio_suspend/resume() it is not required to call PM runtime APIs\nbecause omap_gpio_prepare_for_idle()/omap_gpio_resume_after_idle() would\nbe handling them.\n\nOMAP GPIO Request/ Free:\n*During a gpio_request when mod_usage becomes non-zero, the bank\n registers are configured with init time configurations inorder to\n make sure that the GPIO init time configurations are not lost if\n the context was earlier lost when the GPIO bank was not in use.\n*omap_gpio_request()/free() functions are called for each GPIO pin in a\n given bank whereas PM runtime get_sync/put_sync needs to be called only\n once per bank whenever it is required to enable/disable clocks. Hence it\n is required to use bank->mod_usage flag in omap_gpio_request()/free()\n functions.\n\nTODO:\n*Cleanup GPIO driver to avoid usage of gpio_bank_count &\n cpu_is_* checks. This would be sent very soon on top of\n this patch series.\n\nSigned-off-by: Charulatha V <charu@ti.com>","Axel Haslam"]],"repo":"axelhaslam/p-android-omap-2.6.39_pm","actor":"axelhaslam","ref":"refs/heads/p-android-omap-2.6.39","size":8,"head":"0956b08a6e3d460b4a673dd7b10e3752b3f1c7a1","actor_gravatar":"a924048f8bc479254bda66f52a78a5e6","push_id":30826031}