summaryrefslogtreecommitdiffstats
path: root/drivers/char
Commit message (Collapse)AuthorAgeFilesLines
* [IA64] SGI SN drivers: don't report !sn2 hardware as an errorBjorn Helgaas2006-03-071-1/+1
| | | | | | | | This stuff is all in the generic ia64 kernel, and the new initcall error reporting complains about them. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
* [PATCH] Add missing ifdef for VIA RNG codeMark Brown2006-03-031-0/+2
| | | | | | | | | | | Almost all the code for the VIA RNG is guarded with __i386__ #ifdefs, the only exception being the enumeration of RNG types which is used to index into the rng_vector ops array. This patch adds an ifdef around that for consistency and since the guard makes a difference when adding new RNG types on non-i386 hardware. Signed-Off-By: Mark Brown <broonie@sirena.org.uk> Signed-Off-By: Jeff Garzik <jeff@garzik.org>
* [PATCH] pcmcia: CM4000, CM4040 Driver fixesHarald Welte2006-03-012-6/+41
| | | | | | | | | | Using this patch, Omnikey CardMan 4000 and 4040 devices automatically get their device nodes created by udev. Also, we now check for (and handle) failure of pcmcia_register_driver() Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] synclink_gt: make ->init_error signedDarren Jenkins2006-02-281-1/+1
| | | | | | | | | | | | | | Examples of misuse are 3112 info->init_error = -1; 4440 if ((info->init_error = register_test(info)) < 0) { Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Paul Fulghum <paulkf@microgate.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] tty buffering: comment out debug codePaul Fulghum2006-02-281-1/+1
| | | | | | | | | | Comment out debug code in tty receive buffering. For performance reasons (I'll keep it enabled in -mm). Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Fix Specialix SX corruptionMarc Zyngier2006-02-271-5/+5
| | | | | | | | | | | | | | | | | | | | With the latest kernels, I experienced some strange corruption, some '*****' being randomly inserted in the character flow, like this: ashes:~# ashes:~# a*******shes:~# ashes:~# ashes:~# Further investigation shows that the problem was introduced during Alan's "TTY layer buffering revamp" patch, the amount of data to be copied being reduced after buffer allocation. Moving the count fixup around solves the problem. Signed-off-by: Marc Zyngier <maz@misterjones.org> Approved-by: Rogier Wolff <R.E.Wolff@BitWizard.nl> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Fix Specialix SI probingMarc Zyngier2006-02-261-4/+8
| | | | | | | | | | | | As the (probably) last user of a Specialix SI board, I noticed that recent kernels would fail to probe the sucker. Quick investigation indicate a few missing braces... I left the double probing in place, as it looks like it's been here forever. Signed-off-by: Marc Zyngier <maz@misterjones.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Fix race condition in hvc console.Michal Ostrowski2006-02-241-3/+5
| | | | | | | | | | | | | | | tty_schedule_flip() would schedule a thread that would call flush_to_ldisc(). If tty_buffer_request_room() gets called prior to that thread running -- which is likely in this loop in hvc_poll(), it would set the active flag in the tty buffer and consequently flush_to_ldisc() would ignore it. The result is that input on the hvc console is not processed. This fix calls tty_flip_buffer_push (and flags the tty as "low_latency"). The push to the ldisc thus happens synchronously. Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch 'drm-patches' of ↵Linus Torvalds2006-02-204-1/+58
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
| * drm: fix brace placementDave Airlie2006-02-181-4/+2
| | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: radeon add r300 TX_CNTL and verify bitblt packetsDave Airlie2006-02-183-1/+55
| | | | | | | | | | | | | | The Xgl on r300 doesn't work unless you add a verify bitblt function to the DRM, and we need to pass TX_CNTL to flush texture caches. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fixup i915 interrupt on X server exitDave Airlie2006-02-181-0/+5
| | | | | | | | | | | | Fixes: IRQ disabled (i915?) when switchig between gnome themes (gnome-theme-manager) Signed-off-by: Dave Airlie <airlied@linux.ie>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgartLinus Torvalds2006-02-203-43/+22
|\ \
| * | [AGPGART] Add some informational printk to nforce GART failure path.Dave Jones2006-02-201-2/+4
| | | | | | | | | | | | Signed-off-by: Dave Jones <davej@redhat.com>
| * | [AGPGART] Improve the error message shown when we detect a ServerWorks CNB20HEDave Jones2006-02-121-3/+1
| | | | | | | | | | | | | | | | | | This chipset is unsupported, and likely to remain that way. Signed-off-by: Dave Jones <davej@redhat.com>
| * | [AGPGART] help text updatesAdrian Bunk2006-02-101-38/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains help text updates including the following: - XFree86 * -> X - there is no need for repeating part of the help text of the AGP option and having "If unsure, say Y/N." in the chip specific options. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Jones <davej@redhat.com>
* | | [PATCH] Terminate process that fails on a constrained allocationChristoph Lameter2006-02-201-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some allocations are restricted to a limited set of nodes (due to memory policies or cpuset constraints). If the page allocator is not able to find enough memory then that does not mean that overall system memory is low. In particular going postal and more or less randomly shooting at processes is not likely going to help the situation but may just lead to suicide (the whole system coming down). It is better to signal to the process that no memory exists given the constraints that the process (or the configuration of the process) has placed on the allocation behavior. The process may be killed but then the sysadmin or developer can investigate the situation. The solution is similar to what we do when running out of hugepages. This patch adds a check before we kill processes. At that point performance considerations do not matter much so we just scan the zonelist and reconstruct a list of nodes. If the list of nodes does not contain all online nodes then this is a constrained allocation and we should kill the current process. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Infineon TPM: IO-port leakage fix, WTX-bugfixMarcel Selhorst2006-02-171-14/+34
| | | | | | | | | | | | | | | | | | | | Fix IO-port leakage from request_region in case of error during TPM initialization, adds more pnp-verification and fixes a WTX-bug. Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de> Acked-by: Kylene Jo Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] HPET: handle multiple ACPI EXTENDED_IRQ resourcesBjorn Helgaas2006-02-141-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the _CRS for a single HPET contains multiple EXTENDED_IRQ resources, we overwrote hdp->hd_nirqs every time we found one. So the driver worked when all the IRQs were described in a single EXTENDED_IRQ resource, but failed when multiple resources were used. (Strictly speaking, I think the latter is actually more correct, but both styles have been used.) Someday we should remove all the ACPI stuff from hpet.c and use PNP driver registration instead. But currently PNP_MAX_IRQ is 2, and HPETs often have more IRQs. Hint, hint, Adam :-) Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Acked-by: Bob Picco <robert.picco@hp.com> Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Cc: Len Brown <len.brown@intel.com> Cc: Adam Belay <ambx1@neo.rr.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] tty reference count fixPaul Fulghum2006-02-141-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix hole where tty structure can be released when reference count is non zero. Existing code can sleep without tty_sem protection between deciding to release the tty structure (setting local variables tty_closing and otty_closing) and setting TTY_CLOSING to prevent further opens. An open can occur during this interval causing release_dev() to free the tty structure while it is still referenced. This should fix bugzilla.kernel.org [Bug 6041] New: Unable to handle kernel paging request In Bug 6041, tty_open() oopes on accessing the tty structure it has successfully claimed. Bug was on SMP machine with the same tty being opened and closed by multiple processes, and DEBUG_PAGEALLOC enabled. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Fix locking error in espAlan Cox2006-02-141-20/+2
| | | | | | | | | | | | | | | | | | Noted by Al Viro. Also remove unused tmp_buf Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Remove "RV370 5B60 [Radeon X300 (PCIE)]" from DRI listDave Jones2006-02-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I get a machine check exception, triple fault, or NMI watchdog lockup when DRI gets enabled on this card. (And Mauro Tassinari <mtassinari@cmanet.it> reports hung kernels too in http://lkml.org/lkml/2006/1/26/97) [ Adrian Bunk also states that this is the only RV350 entry for an RV370 in our lists, which implies that it's just buggy ] Cc: Adrian Bunk <bunk@stusta.de> Cc: Dave Jones <davej@redhat.com> Cc: Mauro Tassinari <mtassinari@cmanet.it> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [WATCHDOG] pcwd.c - update module version infoWim Van Sebroeck2006-02-121-2/+7
| | | | | | | | | | | | Update the module version defines. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c show card info patchWim Van Sebroeck2006-02-121-78/+79
| | | | | | | | | | | | | | Put all code for showing the card's boot info in one sub-routine. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c move get_support to pcwd_check_temperature_supportWim Van Sebroeck2006-02-121-7/+7
| | | | | | | | | | | | | | Rename get_support function to pcwd_check_temperature_support so that it is clearer what the function does. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c Control Status #2 patchWim Van Sebroeck2006-02-121-11/+13
| | | | | | | | | | | | Add Control Status #2 bits (with defines) Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c private data struct patchWim Van Sebroeck2006-02-121-102/+104
| | | | | | | | | | | | more private data of the card to one struct. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c card_found-- fix.Wim Van Sebroeck2006-02-121-0/+1
| | | | | | | | | | | | | | When doing a __devexit from a card we should also decrement the cards_found counter. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] pcwd.c add comments + tabsWim Van Sebroeck2006-02-121-34/+37
| | | | | | | | | | | | | | add extra comments for the include files changes spaces by tabs where it is appropriate. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [WATCHDOG] sa1100_wdt.c sparse clean (2)Ian Campbell2006-02-121-5/+7
| | | | | | | | | | | | | | | | | | The following makes drivers/char/watchdog/sa1100_wdt.c sparse clean. (similar to the other watchdog drivers) Signed-off-by: Ian Campbell <icampbell@arcom.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | [PATCH] tipar fixesAndrew Morton2006-02-111-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - tipar_open(): fix unsigned comparison - tipar_open(): don't permit NULL pardevice (probably unneeded given the above fix). - tipar_init_module(): handle the situation where parport_register_driver() failed to register any devices (parport_register_driver() drops the ->attach return value on the floor). This probably makes fixes #1 and #2 unneeded. - tipar_init_module(): fix various error-path resource leaks. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] tty buffering stall fixPaul Fulghum2006-02-101-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | Prevent stalled processing of received data when a driver allocates tty buffer space but does not immediately follow the allocation with more data and a call to schedule receive tty processing. (example: hvc_console) This bug was introduced by the first locking patch for the new tty buffering. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] synclink_gt is PCI-onlyAl Viro2006-02-081-1/+1
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | [PATCH] drivers/char/watchdog/sbc_epx_c3.c __user annotationsAl Viro2006-02-071-8/+7
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | [PATCH] missing include in ser_a2232Al Viro2006-02-071-0/+1
| | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* | [PATCH] DRM: fix up classdev interface for drm coreGreg Kroah-Hartman2006-02-063-108/+35
| | | | | | | | | | | | | | | | | | Current drm code doesn't work with userspace programs that listen only to the kernel event netlink socket as it is trying to create its own dev interface. Turns out lots of code can just be deleted as the driver core can do all of this work automatically for you. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | [PATCH] IPMI: fix issues reported by Coverity in ipmi_msghandler.cJayachandran C2006-02-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While looking to the report by Coverity in ipmi, I came across the following issue: The IPMI message handler relies on two defines which are the same -one in include/linux/ipmi.h #define IPMI_NUM_CHANNELS 0x10 and one in drivers/char/ipmi/ipmi_msghandler. #define IPMI_MAX_CHANNELS 16 These are used interchangeably in ipmi_msghandler.c, but since the array addr->channels[] is of size IPMI_MAX_CHANNELS, I have made a patch that uses IPMI_MAX_CHANNELS for all the checks for the array index. NOTE: You could probably remove the line that defines IPMI_NUM_CHANNELS from ipmi.h, or move IPMI_MAX_CHANNELS to ipmi.h Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com> Cc: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ip2main.c warning fixesAndrew Morton2006-02-032-59/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Eric's "i386: Add a temporary to make put_user more type safe" patch we get a pile of warnings out of ip2m1in.c: drivers/char/ip2main.c: In function `ip2_ipl_ioctl': drivers/char/ip2main.c:2910: warning: assignment makes integer from pointer without a cast drivers/char/ip2main.c:2911: warning: assignment makes integer from pointer without a cast drivers/char/ip2main.c:2912: warning: assignment makes integer from pointer without a cast etc. This ioctl is copying the kernel virtual address of a large number of functions out to userspace. Heaven knows why. Rather than fixing the warnings, I think we'll just nuke that code. The patch also fixes a couple of `defined but not used' warnings. Cc: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] new tty buffering locking fixPaul Fulghum2006-02-033-32/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change locking in the new tty buffering facility from using tty->read_lock, which is currently ignored by drivers and thus ineffective. New locking uses a new tty buffering specific lock enforced centrally in the tty buffering code. Two drivers (esp and cyclades) are updated to use the tty buffering functions instead of accessing tty buffering internals directly. This is required for the new locking to work. Minor checks for NULL buffers added to tty_prepare_flip_string/tty_prepare_flip_string_flags Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ipmi: mem_{in,out}[bwl] => intf_mem_{in,out}[bwl]Alexey Dobriyan2006-02-031-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On mips: drivers/char/ipmi/ipmi_si_intf.c:1274: error: conflicting types for 'mem_inb' include/asm/io.h:436: error: previous definition of 'mem_inb' was here Don't look at line 436 unless you really know what you're doing. Move those static functions out of more or less generic namespace. Signed-off-by: Alexey "## should be banned" Dobriyan <adobriyan@gmail.com> Acked-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] rio cleanupsAlan Cox2006-02-0311-567/+0
| | | | | | | | | | | | | | | | | | | | | | | | INKERNEL is always defined HOST is never defined therefore RTA is also never defined Strip the relevant garbage out of the headers on this basis. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] sx.c printk warning fixesAndrew Morton2006-02-031-3/+3
| | | | | | | | | | | | | | | | | | | | drivers/char/sx.c: In function `sx_set_real_termios': drivers/char/sx.c:934: warning: long unsigned int format, different type arg (arg 2) drivers/char/sx.c:961: warning: long unsigned int format, different type arg (arg 2) drivers/char/sx.c:976: warning: long unsigned int format, different type arg (arg 2) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] SBC EPX does not check/claim I/O ports it uses (2nd Edition)Alan Cox2006-02-031-2/+11
| | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] sx.c warning fixesAndrew Morton2006-02-031-3/+3
| | | | | | | | | | | | | | | | | | | | drivers/char/sx.c: In function `sx_set_real_termios': drivers/char/sx.c:934: warning: int format, long unsigned int arg (arg 2) drivers/char/sx.c:961: warning: unsigned int format, tcflag_t arg (arg 2) drivers/char/sx.c:976: warning: unsigned int format, tcflag_t arg (arg 2) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Fix RocketPort driverMichal Ostrowski2006-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | Call "ld->receive_buf" using the start of the character and flag buffers, rather than the ends. Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge branch 'drm-linus' of ↵Linus Torvalds2006-02-0228-175/+248
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
| * | sem2mutex: drivers/char/drm/Dave Airlie2006-02-0211-125/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Arjan van de Ven <arjan@infradead.org> Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: drivers/char/drm/: make some functions staticDave Airlie2006-02-0210-23/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Adrian Bunk <bunk@stusta.de> This patch makes some needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Fixes sparse warnings in via_dmablit.cDave Airlie2006-01-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the following sparse warnings: drivers/char/drm/via_dmablit.c:111:35: warning: Using plain integer as NULL pointer drivers/char/drm/via_dmablit.c:584:23: warning: Using plain integer as NULL pointer Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915 patches from Tungsten GraphicsDave Airlie2006-01-254-14/+98
| | | | | | | | | | | | | | | | | | | | | | | | Fix CMDBUFFER path, add heap destroy and flesh out sarea for rotation (Tungsten Graphics) From: Alan Hourihane <alanh@tungstengraphics.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
OpenPOWER on IntegriCloud