summaryrefslogtreecommitdiffstats
path: root/drivers/staging/wilc1000
Commit message (Collapse)AuthorAgeFilesLines
...
* | staging: wilc1000: Replace kthread with workqueue for host interfaceBinoy Jayan2016-06-252-212/+75
| | | | | | | | | | | | | | | | | | | | | | | | Deconstruct the kthread / message_queue logic, replacing it with create_singlethread_workqueue() / queue_work() setup, by adding a 'struct work_struct' to 'struct host_if_msg'. The current kthread hostIFthread() is converted to a work queue helper with the name 'host_if_work'. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: message_queue: Move code to host interfaceBinoy Jayan2016-06-254-174/+162
| | | | | | | | | | | | | | | | | | | | | | Move the contents of wilc_msgqueue.c and wilc_msgqueue.h into host_interface.c, remove 'wilc_msgqueue.c' and 'wilc_msgqueue.h'. This is done so as to restructure the implementation of the kthread 'hostIFthread' using a work queue. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: Remove semaphore close_exit_syncBinoy Jayan2016-06-251-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | The semaphore 'close_exit_sync' does not serve any purpose other than delaying the deregistration of the device which it is trying to protect from shared access. 'up' is called only when a subdevice is closed and not when it is opened. So, the semaphore count only goes up when the device is used. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: Replace semaphore sync_event with completionBinoy Jayan2016-06-252-6/+6
| | | | | | | | | | | | | | | | | | | | The semaphore 'sync_event' is used as completion, so convert it to a struct completion type. Also, return -ETIME if the return value of wait_for_completion_timeout is 0. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: Replace semaphore cfg_event with completionBinoy Jayan2016-06-253-9/+10
| | | | | | | | | | | | | | | | | | The semaphore 'cfg_event' is used as completion, so convert it to a struct completion type. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: Replace semaphore txq_add_to_head_cs with mutexBinoy Jayan2016-06-253-10/+8
| | | | | | | | | | | | | | | | | | | | | | The semaphore 'txq_add_to_head_cs' is a simple mutex, so it should be written as one. Semaphores are going away in the future. Also, removing the timeout scenario as the error handling code does not propagate the timeout properly. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: Replace semaphore txq_event with completionBinoy Jayan2016-06-253-8/+11
| | | | | | | | | | | | | | | | | | The semaphore 'txq_event' is used as completion, so convert it to a struct completion type. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: fix typoJulia Lawall2016-06-251-1/+1
| | | | | | | | | | | | | | firmare -> firmware Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: fix spelling mistake: "interupts" -> "interrupts"Colin Ian King2016-06-252-2/+2
| | | | | | | | | | | | | | | | trivial fix to spelling mistake in dev_err messages Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Julian Calaby <julian.calaby@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: remove unnecesary type cast of bss_typeChaehyun Lim2016-06-251-1/+1
| | | | | | | | | | | | | | | | There is no need to use type cast of bss_type because hif_drv->cfg_values.bss_type is u8. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: add bss_type to remove line over 80 charactersChaehyun Lim2016-06-251-3/+5
| | | | | | | | | | | | | | | | A local bss_type variable is added to remove checkpatch warning of line over 80 characters. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: remove unused struct set_mac_addrChaehyun Lim2016-06-252-5/+0
| | | | | | | | | | | | | | struct set_mac_addr is not used anymore, so just remove it. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: rename result in handle_cfg_paramChaehyun Lim2016-06-251-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() functions are used as result, others are used as ret. It will be changed as ret in all handle_*() functions to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: change data type of result in handle_cfg_paramChaehyun Lim2016-06-251-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: wilc1000: change handle_cfg_param's return type to voidChaehyun Lim2016-06-251-21/+2
|/ | | | | | | | | When handle_cfg_param is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Merge tag 'staging-4.7-rc1' of ↵Linus Torvalds2016-05-2012-470/+275
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging and IIO driver updates from Greg KH: "Here's the big staging and iio driver update for 4.7-rc1. I think we almost broke even with this release, only adding a few more lines than we removed, which isn't bad overall given that there's a bunch of new iio drivers added. The Lustre developers seem to have woken up from their sleep and have been doing a great job in cleaning up the code and pruning unused or old cruft, the filesystem is almost readable :) Other than that, just a lot of basic coding style cleanups in the churn. All have been in linux-next for a while with no reported issues" * tag 'staging-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (938 commits) Staging: emxx_udc: emxx_udc: fixed coding style issue staging/gdm724x: fix "alignment should match open parenthesis" issues staging/gdm724x: Fix avoid CamelCase staging: unisys: rename misleading var ii with frag staging: unisys: visorhba: switch success handling to error handling staging: unisys: visorhba: main path needs to flow down the left margin staging: unisys: visorinput: handle_locking_key() simplifications staging: unisys: visorhba: fail gracefully for thread creation failures staging: unisys: visornic: comment restructuring and removing bad diction staging: unisys: fix format string %Lx to %llx for u64 staging: unisys: remove unused struct members staging: unisys: visorchannel: correct variable misspelling staging: unisys: visorhba: replace functionlike macro with function staging: dgnc: Need to check for NULL of ch staging: dgnc: remove redundant condition check staging: dgnc: fix 'line over 80 characters' staging: dgnc: clean up the dgnc_get_modem_info() staging: lustre: lnet: enable configuration per NI interface staging: lustre: o2iblnd: properly set ibr_why staging: lustre: o2iblnd: remove last of kiblnd_tunables_fini ...
| * staging: wilc1000: fix infoleak in wilc_wfi_cfgoperationsKangjie Lu2016-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | "mac" is an array allocated in stack without being initialized, and will be sent out via "nla_put". The dump_station() is supposed to initialize the mac address; otherwise, sensitive data in kernel stack will be leaked. To fix this, copy the mac address to it. Signed-off-by: Kangjie Lu <kjlu@gatech.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: rename result in handle_get_mac_addressChaehyun Lim2016-05-031-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() functions are used as result, others are used as ret. It will be changed as ret in all handle_*() functions to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change data type of result in handle_get_mac_addressChaehyun Lim2016-05-031-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change handle_get_mac_address's return type to voidChaehyun Lim2016-05-031-7/+3
| | | | | | | | | | | | | | | | | | | | When handle_get_mac_address is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void and removes braces if statement due to have a single statement. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: fix comparison style of if statement in handle_get_ip_addressChaehyun Lim2016-05-031-1/+1
| | | | | | | | | | | | | | | | This patch changes conditional comparison of if statement as if (ret) instead of using if (ret != 0) Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: rename result in handle_get_ip_addressChaehyun Lim2016-05-031-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() functions are used as result, others are used as ret. It will be changed as ret in all handle_*() functions to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change data type of result in handle_get_ip_addressChaehyun Lim2016-05-031-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change handle_get_ip_address's return type to voidChaehyun Lim2016-05-031-6/+2
| | | | | | | | | | | | | | | | | | | | When handle_get_ip_address is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void and removes braces if statement due to have a single statement. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused variablesSudip Mukherjee2016-04-281-8/+0
| | | | | | | | | | | | | | | | These variables were havnig the pointer returned by wiphy_priv() but they were never used. Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: wilc1000: Freed memory in case of errorClaudiu Beznea2016-04-281-1/+4
| | | | | | | | | | | | | | | | This patch frees memory allocated inside wilc_wlan_txq_add_cfg_pkt() in case wilc_wlan_txq_add_to_head() fails. Signed-off-by: Claudiu Beznea <claudiu.beznea@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: rename result in handle_set_ip_addressChaehyun Lim2016-04-281-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() functions are used as result, others are used as ret. It will be changed as ret in all handle_*() functions to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change data type of result in handle_set_ip_addressChaehyun Lim2016-04-281-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change handle_set_ip_address's return type to voidChaehyun Lim2016-04-281-6/+2
| | | | | | | | | | | | | | | | | | | | When handle_set_ip_address is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void and removes braces if statement due to have a single statement. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: rename result in handle_set_operation_modeChaehyun Lim2016-04-281-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() functions are used as result, others are used as ret. It will be changed as ret in all handle_*() functions to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change data type of result in handle_set_operation_modeChaehyun Lim2016-04-281-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change handle_set_operation_mode's return type to voidChaehyun Lim2016-04-281-7/+3
| | | | | | | | | | | | | | | | | | | | When handle_set_operation_mode is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void and removes braces if statement due to have a single statement. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: rename result in handle_set_wfi_drv_handlerChaehyun Lim2016-04-281-4/+4
| | | | | | | | | | | | | | | | | | | | This patch renames result to ret that is used to get return value from wilc_send_config_pkt. Some handle_*() function are used as result, others are used as ret. It will be changed as ret in all handle_*() function to match variable name. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change data type of result in handle_set_wfi_drv_handlerChaehyun Lim2016-04-281-1/+1
| | | | | | | | | | | | | | | | | | This patch changes data type of result variable from s32 to int. result is used to get return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change handle_set_wfi_drv_handler's return type to voidChaehyun Lim2016-04-281-7/+3
| | | | | | | | | | | | | | | | | | | | When handle_set_wfi_drv_handler is called in hostIFthread that is a kernel thread, it is not checked return type of this function. This patch changes return type to void and removes braces if statement due to have a single statement. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: change return type of ret variable in handle_get_tx_pwrChaehyun Lim2016-04-281-1/+1
| | | | | | | | | | | | | | | | | | This patch changes return type of ret variable from s32 to int. ret has return value from wilc_send_config_pkt that has return type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_add_beaconChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_add_beacon. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_del_beaconChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_del_beacon. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_set_pmkid_infoChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_set_pmkid_info. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in host_int_get_assoc_res_infoChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in host_int_get_assoc_res_info. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_set_mac_chnl_numChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_set_mac_chnl_num. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_remain_on_channelChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_remain_on_channel. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_add_stationChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_add_station. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_del_stationChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_del_station. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_del_allstationChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_del_allstation. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_edit_stationChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_edit_station. There is no need to checku null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_set_power_mgmtChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_set_power_mgmt. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_setup_multicast_filterChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_setup_multicast_filter. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in wilc_setup_ipaddressChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in wilc_setup_ipaddress. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: wilc1000: remove unused hif_drv in host_int_get_ipaddressChaehyun Lim2016-04-281-6/+0
| | | | | | | | | | | | | | | | This patch removes unused hif_drv in host_int_get_ipaddress. There is no need to check null and print debug log. Signed-off-by: Chaehyun Lim <chaehyun.lim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
OpenPOWER on IntegriCloud