summaryrefslogtreecommitdiffstats
path: root/drivers/staging
Commit message (Collapse)AuthorAgeFilesLines
* staging: rtl8188eu: remove unused {en,dis}able_interruptLuca Ceresoli2015-07-162-21/+0
| | | | | | | | | | | | | | rtw_hal_enable_interrupt() and rtw_hal_disable_interrupt() are never referenced, so remove them. They used to be the only place where the enable_interrupt() and disable_interrupt() callbacks were called, and the function pointer is never set, so get rid of the function pointer as well. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Greg Kroah-Hartman <gregkh@linux.com> Cc: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: ft1000: ft1000-usb: remove unnecessary out of memory warningCHANG FU CHIAO2015-07-161-1/+0
| | | | | | | fixes "Possible unnecessary 'out of memory' message" Signed-off-by: CHANG FU CHIAO <zector1030@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Staging: lustre: make obd_device_cachep staticPedro Marzo Perez2015-07-161-1/+1
| | | | | | | | Variable obd_device_cachep is only used inside the file it is declared, so it is better set as static Signed-off-by: Pedro Marzo Perez <marzo.pedro@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging/lustre/ldlm: Unregister ldlm namespace from sysfs on freeOleg Drokin2015-07-161-0/+1
| | | | | | | | | ldlm_namespace_sysfs_unregister needs to be called ldlm_namespace_free_post so that we don't have this dangling object there after the namespace has disappeared. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: lustre: obdclass: simplify class_uuid_unparseVasiliy Korchagin2015-07-161-33/+1
| | | | | | | | | | | This patch simplifies uuid unparse logic by using sprintf "%pU" extension. And eliminates the code with a coding style error: ERROR: Macros with complex values should be enclosed in parentheses +#define CONSUME(val, ptr) (val) = consume(sizeof(val), (ptr)) Signed-off-by: Vasiliy Korchagin <vasiliy.korchagin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: unisys: fix copyright statementsBenjamin Romer2015-07-1612-59/+47
| | | | | | | | | The copyright statements in the drivers need to be correct and consistent; this patch fixes the year for all of them, and makes the statement text cover just the GPL V2. Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Merge tag 'iio-for-4.3a' of ↵Greg Kroah-Hartman2015-07-157-6/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First round of new drivers, cleanups and functionality for IIO in the 4.3 cycle. Core and tools new stuff * Allow explicit flush of hardware fifo by using an non blocking read. This is needed to support some of the Android requirements for HW fifo devices - also makes sense generally and clarifies a corner of the ABI. * Add some missing modifier names. Mostly these exist for weird and wonderful event types, but should still be present in the name array. * Update iio_event_monitor to cope with new channel types. * generic_buffer gains support for single byte scan elements (no idea how this never got implemented before!) New device support * ROHM rpr0521 light and proximity sensor driver. * bmc150 gains bmc156 support. * ms5611 gains ms5607 temperature and pressure sensor support. Driver functionality * inv-mpu - add scale_available attributes to aid userspace in configuring these devices. * isl29125 - add scale_available attributes. * stk8ba50 - sampling frequency control, triggered buffer support. * stk8312 - sampling frequency control, triggered buffer support. * cc10001 - ensure ADC powered up at probe time if shared by non linux running CPUs. * bmc150-magn - decouple the buffer and trigger allowing other triggers to be used to drive this device's sampling. Documentation * Add some previously missed *scale_available attributes to the ABI docs. Cleanups * Clarify some crazy naming in iio_triggered_buffer_setup that seems to have somehow ended up backwards (dates back a long way). Avoid the top half and bottom half naming entirely given we are how dealing with a handler and a thread in all cases. * Tools cleanup including coding style, variable naming improvements, also a new sanity check on a full event having been read. * stk8ba50 - replace the scale table with a struct for clarity. Also suspend the sensor if an error occurs in init. * hid-sensor-prox - drop uneeded line break. * mma9551 - use size in words for word read / write avoiding accidental sending of an odd number of bytes. * mma9553 - fix code alignment and document the use of a mutex. * light/Kconfig - typo fix in commment. * cm3323 - don't eat an error value, replace an unneeded local variable with a generic local variable with the same use, add some blank lines for clarity. * pressure/Kconfig - typo in Measurement Specialties name. * bmc150-accel - actually use a mask definition rather than repeating the value inline, code style cleanup. * adc/Kconfig - general help description cleanup. * ssp_sensors - drop redundant spi driver bus initialization (done in the spi core) * tmp006 - use genmask rather than hand generated masks. * ms5611 - drop IIO_CHAN_INFO_SCALE as this driver provides a processed output and as such the read only scale adds nothing useful. * kxcjk-1013, adf4350, dummy - drop unwanted blank lines. * Drop all owner assignments from i2c_drivers and this is done in the i2c core.
| * staging: iio: Drop owner assignment from i2c_driverKrzysztof Kozlowski2015-07-113-3/+0
| | | | | | | | | | | | | | | | i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
| * Staging: iio: dummy: Fix blank line warningsCristina Opriceana2015-07-114-3/+3
| | | | | | | | | | | | | | | | Multiple blank lines should not be used as indicated by checkpatch.pl. Also, a line should be used after a function/structure declaration. Signed-off-by: Cristina Opriceana <cristina.opriceana@gmail.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
* | staging: sm750fb: add missing blank line after declarationsJuston Li2015-07-149-0/+19
| | | | | | | | | | | | | | | | Fixes checkpatch.pl WARNING: Missing a blank line after declarations Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove unnecessary bracesJuston Li2015-07-142-10/+5
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: move while to follow do close braceJuston Li2015-07-141-8/+4
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: while should follow close brace '}' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: fix brace placementJuston Li2015-07-1413-148/+71
| | | | | | | | | | | | | | | | Fix brace placement errors caught by checkpatch.pl ERROR: that open brace { should be on the previous line Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove unnecessary whitespaceJuston Li2015-07-142-4/+4
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: unnecessary whitespace before a quoted newline Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove trailing whitespaceJuston Li2015-07-142-3/+3
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: trailing whitespace Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space after semicolonJuston Li2015-07-142-7/+7
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: space required after that ';' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add spaces around operatorsJuston Li2015-07-146-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | Fixes checkpath.pl error: ERROR: spaces required around that operator Note running checkpatch.pl with '--strict' catches more of these errors along with cases where spacing is optional but preferred. Take care of these in a future patch. Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: consistent spacing around operatorsJuston Li2015-07-143-5/+5
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: need consistent spacing around operator Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space after return typeJuston Li2015-07-141-6/+6
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: missing space after return type Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space after struct definitionJuston Li2015-07-142-9/+9
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: missing space after struct definition Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space after enum definitionJuston Li2015-07-142-5/+5
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: missing space after enum definition Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space after close braceJuston Li2015-07-145-8/+8
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space before open braceJuston Li2015-07-145-23/+23
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: space required before the open brace '{' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove space between function name and parenthesisJuston Li2015-07-141-4/+4
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: add space before open parenthesisJuston Li2015-07-148-42/+42
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: space required before the open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove space before close parenthesisJuston Li2015-07-143-3/+3
| | | | | | | | | | | | | | | | Fixes checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: remove spacing after open parenthesisJuston Li2015-07-143-8/+8
| | | | | | | | | | | | | | | | Fixes checkpatch.pl warning: ERROR: space prohibited after that open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: sm750fb: use tabs for indentationJuston Li2015-07-1417-881/+881
| | | | | | | | | | | | | | | | | | Replace spaces with tabs for indentation to fix the checkpatch.pl error ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line Signed-off-by: Juston Li <juston.h.li@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: remove okcount variableDmitry Kalinkin2015-07-141-12/+6
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: remove distracting commentDmitry Kalinkin2015-07-141-1/+0
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: remove unused variableDmitry Kalinkin2015-07-141-6/+2
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: switch to returning -EFAULT on __copy_*_user errorsDmitry Kalinkin2015-07-141-36/+11
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: allow large read()/write()Dmitry Kalinkin2015-07-141-49/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes large master transfers to do shorter read/write rather than return -EINVAL. User space will now be able to optimistically request a large transfer and get at least some data. This also removes comments suggesting on how to implement large transfers. Current vme_master_* read and write implementations use CPU copies that don't produce burst PCI accesses and subsequently no block transfer on VME bus. In the end overall performance is quiet low and it can't be fixed by doing direct copy to user space. Much easier solution would be to just reuse kernel buffer. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: fix kmalloc styleDmitry Kalinkin2015-07-141-1/+1
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: fix NULL comparison styleDmitry Kalinkin2015-07-141-6/+6
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: fix blank linesDmitry Kalinkin2015-07-141-3/+1
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: vme_user: fix code alignmentDmitry Kalinkin2015-07-141-16/+17
| | | | | | | | | | Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging:vt6655: remove checks around dev_kfree_skbManinder Singh2015-07-141-6/+2
| | | | | | | | | | | | | | | | dev_kfree_skb checks for NULL pointer itself, Thus no need of explicit NULL check. Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: ion: debugfs to shrink poolGioh Kim2015-07-141-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables debugfs file /sys/kernel/debug/ion/heaps/system_shrink to shrink pool and get pool size. This technically enables debugfs shrinking for all heaps, not just the system heap although the system heap is the only one with a shrinker right now. It is already implemented but not complete. This patch completes and enables it. Reading the file returns pool size in page unit and writing the number of pages shrinks pool. It flushes all pages to write zero at the file. Signed-off-by: Gioh Kim <gioh.kim@lge.com> Reviewed-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: ion: shrink page-pool by page unitGioh Kim2015-07-142-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch shrink page-pool by page unit. The system shrinker calls ion_heap_shrink_count() to get nr_to_scan, and pass it to ion_heap_shrink_scan(). The problem is the return value of ion_heap_shrink_count() is the number of pages but ion_system_heap_shrink(), which is called by ion_heap_shrink_scan(), gets the number of chunk. The main root of this is that ion_page_pool_shrink() returns page count via ion_page_pool_total() if it have to check pool size. But it frees chunks of pages if it have to free pools. This patch first fix ion_page_pool_shrink() to count only pages, not chunks. And then ion_system_heap_shrink() to work on pages. Signed-off-by: Gioh Kim <gioh.kim@lge.com> Reviewed-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | Staging: rtl8192e: Replace memset with eth_zero_addrVaishali Thakkar2015-07-142-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use eth_zero_addr to assign the zero address to the given address array instead of memset when second argument is address of zero. Note that the 6 in the third argument of memset appears to represent an ethernet address size (ETH_ALEN). The Coccinelle semantic patch that makes this change is as follows: // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,6); +eth_zero_addr(e); // </smpl> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: rtllib_softmac: Make functions staticMateusz Kulikowski2015-07-142-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in rtllib_softmac.c. The following functions were affected: - rtllib_sta_wakeup - rtllib_TURBO_Info - rtllib_get_beacon_ - rtllib_send_probe_requests - rtllib_update_active_chan_map - rtllib_softmac_scan_syncro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: Make rtllib_rx_mgt() staticMateusz Kulikowski2015-07-142-6/+6
| | | | | | | | | | | | | | Function is not referenced outside of rtllib_rx.c Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: rtllib_tx: Make functions staticMateusz Kulikowski2015-07-142-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in rtllib_tx.c. The following functions were affected: - rtllib_xmit_inter - rtllib_query_seqnum - rtllib_put_snap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: Make rtl8192_QueryIsShort() staticMateusz Kulikowski2015-07-142-13/+12
| | | | | | | | | | | | | | Relocate function within file to avoid unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: r8192e_phy: Make functions staticMateusz Kulikowski2015-07-142-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in r8192E_phy.c. The following functions were affected: - rtl8192_phyConfigBB - rtl8192_SwChnl_WorkItem - rtl8192_SetBWModeWorkItem Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: rtl_core: Make functions staticMateusz Kulikowski2015-07-142-49/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in rtl_core.c. If needed - move fw declaration from header. The following functions were affected: - rtl8192_is_tx_queue_empty - rtl819x_watchdog_wqcallback - watch_dog_timer_callback - rtl8192_data_hard_stop - rtl8192_data_hard_resume - rtl8192_hard_data_xmit - rtl8192_hard_start_xmit - rtl8192_tx_cmd - rtl8192_tx - rtl8192_pci_initdescring - rtl8192_irq_tx_tasklet - rtl8192_irq_rx_tasklet - rtl8192_cancel_deferred_work - _rtl8192_up - rtl8192_up - rtl8192_down - rtl8192_restart - rtl8192_update_cap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: Make phy_RF8256_Config_ParaFile() staticMateusz Kulikowski2015-07-142-10/+9
| | | | | | | | | | | | | | Relocate function in driver to avoid adding unnecessary fw decl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: rtllib_HTProc: Make functions staticMateusz Kulikowski2015-07-142-5/+3
| | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in rtllib_HTProc.c. The following functions were affected: - HTMcsToDataRate - HTFilterMCSRate Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | staging: rtl8192e: rtl_dm: Make functions staticMateusz Kulikowski2015-07-142-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Make as many functions as possible static in rtllib_dm.c. The following functions were affected: - dm_check_fsync - dm_CheckRfCtrlGPIO - dm_fsync_timer_callback Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
OpenPOWER on IntegriCloud