summaryrefslogtreecommitdiffstats
path: root/drivers/input
Commit message (Collapse)AuthorAgeFilesLines
* Input: i8042 - fix warning on non-x86 buildsRoland Dreier2008-03-141-2/+1
| | | | | | | | | | | | | | | Commit c18bab80 ("Input: i8042 - non-x86 build fix") introduced the following warning on non-x86 builds: drivers/input/serio/i8042.c: In function 'i8042_probe': drivers/input/serio/i8042.c:1154: warning: unused variable 'param' Fix this by moving the parameter variable declaration into the #ifdef too. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: cobalt_btns - assorted fixesYoichi Yuasa2008-03-141-8/+8
| | | | | | | | | - fix compile errors (keymap is in bdev, not pdev) - cdev is no more (must use dev.parent) - update copiright notice Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* i8042: use SGI_HAS_I8042 to select SGI i8042 handlinigThomas Bogendoerfer2008-03-101-1/+1
| | | | | | | | | Use SGI_HAS_I8042 to select SGI i8042 handling Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* input: add I2C to config since the driver makes several i2c*() callsRandy Dunlap2008-03-041-3/+3
| | | | | | | | | | | | | | Add to help text that the Intel I2C ICH (i801) driver is also needed for this kernel. Add LEDS_CLASS to config since the driver makes les_classdev_*() calls: ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined! ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined! Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* mn10300: add the MN10300/AM33 architecture to the kernelDavid Howells2008-02-081-2/+4
| | | | | | | | | | | | | | | | Add architecture support for the MN10300/AM33 CPUs produced by MEI to the kernel. This patch also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices. [akpm@linux-foundation.org: nuke cvs control strings] Signed-off-by: Masakazu Urade <urade.masakazu@jp.panasonic.com> Signed-off-by: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-02-0738-459/+1938
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits) Input: i8042 - non-x86 build fix Input: pxa27x_keypad - also enable on PXA3xx Input: pxa27x_keypad - add debounce_interval to the keypad platform data Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ Input: pxa27x_keypad - enable rotary encoders and direct keys Input: pxa27x_keypad - introduce pxa27x_keypad_config() Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys Input: pxa27x_keypad - remove pin configuration from the driver Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard) Input: constify function pointer tables (seq_operations) Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list Input: i8042 - enable DMI quirks on x86-64 Input: i8042 - add Dritek quirk for Acer Aspire 9110 Input: add input event to APM event bridge Input: mousedev - use BIT_MASK instead of BIT Input: remove duplicate includes Input: remove cdev from input_dev structure Input: remove duplicated headers in drivers/char/keyboard.c Input: i8042 - add Dritek keyboard extension quirk Input: add Tosa keyboard driver ...
| * Merge branch 'pxa-keypad'Dmitry Torokhov2008-02-064-279/+577
| |\
| | * Input: pxa27x_keypad - also enable on PXA3xxEric Miao2008-01-311-3/+3
| | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - add debounce_interval to the keypad platform dataEric Miao2008-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, only one debounce_interval is introduced for both direct and matrix keys. This is true in most cases, although the keypad controller supports different debounce for direct/matrix keys. Some platforms do require this to be tuned, instead of the default reset value of 100ms. Rotary encoder will always use zero debounce time for now to achieve certain sensitivity. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQEric Miao2008-01-311-34/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. use ioremap() for registers access, this improves the portability of the driver (e.g. same IP on different processor with different I/O memory range), and make it possible to remove those registers definition in pxa-regs.h as PXA is undergoing a clean-up of that header file 2. use device specific IRQ instead of hardcoded IRQ_KEYPAD, same reason as above 3. clean up the error handling path in _probe() 4. remove DRIVER_NAME and use pdev->name when necessary, we don't actually need a constant string literals Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - enable rotary encoders and direct keysEric Miao2008-01-311-29/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Rotary encoder events can be configured either as relative events as the legacy code does or as any specified key code, this is useful on some platform which uses the rotary keys as KEY_{UP/DOWN/LEFT/RIGHT} 2. Add support for direct keys, the corresponding keycodes for each direct key can now be specified within the platform data 3. Remove the direct/rotary key detection code from the IRQ handler to dedicated functions to improve readability Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - introduce pxa27x_keypad_config()Eric Miao2008-01-311-32/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce pxa27x_keypad_config() for keypad registers configuration and remove the reg_kpc, reg_kprec from platform data structure so that configurations of keypad registers can be centralized to a single function. It can also be re-used when resuming. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - introduce driver structure and use KEY() to define ↵Eric Miao2008-01-311-57/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matrix keys 1. Introduce the "struct pxa27x_keypad" structure for driver specific information, such as "struct clk", generated matrix key codes and so on 2. Use KEY() macro to define matrix keys, instead of original 8x8 map this makes definition easier with keypad where keys are sparse 3. Keep a generated array in "struct pxa27x_keypad" for fast lookup 4. Separate the matrix scan into a dedicated function for readability and report only those keys whose state has been changed, instead of report all states 5. Make use of KPAS to decide the faster path if only one key has been detected Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - remove pin configuration from the driverEric Miao2008-01-311-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | The pin configurations will slowly be moved to the board specific code at initialization thus to make the driver more generic. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| | * Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard)Eric Miao2008-01-313-45/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | The controller should really be called keypad, and also align the naming of functions and structures to use "pxa27x_keypad" as prefix, instead of "pxakbd". Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: i8042 - non-x86 build fixAndrew Morton2008-02-061-2/+2
| |/ | | | | | | | | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: constify function pointer tables (seq_operations)Jan Engelhardt2008-01-311-2/+2
| | | | | | | | | | Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux listJiri Kosina2008-01-301-0/+7
| | | | | | | | | | | | Reported-by: Hans Aschauer <Hans.Aschauer@web.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - enable DMI quirks on x86-64Bruce Duncan2008-01-301-2/+2
| | | | | | | | | | | | | | | | | | | | If firmware does not implement AUX_LOOP comand in 32 bit mode it is unlikely to implement it in 64 bit mode. Same goes for active multiplexing. See: http://bugzilla.kernel.org/show_bug.cgi?id=9664 Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add Dritek quirk for Acer Aspire 9110Carlos Corbacho2008-01-301-0/+7
| | | | | | | | | | | | | | | | The Acer Aspire 9110 series also requires the Dritek quirk to enable the extra scancodes. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: add input event to APM event bridgeRichard Purdie2008-01-303-0/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a very simple input power event to APM user suspend event bridge. Its currently only works for the systems using the emulated APM driver but could easily be extended to work with anything with a true APM BIOS too. This covers a standard embedded system need which is to suspend when the user presses a suspend button. It leaves options open to system integrators to ignore (or unload) this code and implement their own more complex event handling system. Its hidden behind the EMBEDDED Kconfig option since its only likely to be of use to embedded style systems. It can be built as a module so the "hardcoded" policy can easily be removed from the kernel at runtime if desired too. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: mousedev - use BIT_MASK instead of BITDmitry Torokhov2008-01-301-1/+1
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: remove duplicate includesAndre Haupt2008-01-213-3/+0
| | | | | | | | | | Signed-off-by: Andre Haupt <andre@bitwigglers.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: remove cdev from input_dev structureDmitry Torokhov2008-01-211-3/+0
| | | | | | | | | | | | | | | | Cdev field was obsolete and provided only for backward compatibility since conversion of input core from class devices to regular devices. It is time to remove it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - add Dritek keyboard extension quirkCarlos Corbacho2008-01-212-0/+63
| | | | | | | | | | | | | | | | | | | | Some Wistron based laptops need us to explicitly enable the 'Dritek keyboard extension' to make their extra keys start generating scancodes. Originally, this was just confined to older laptops, but a few Acer laptops have turned up in 2007 that also need this again. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: add Tosa keyboard driverDmitry Baryshkov2008-01-213-0/+437
| | | | | | | | | | | | | | | | Add keyboard support on tosa (Sharp Zaurus SL-6000x). Largely based on patches by Dirk Opfer. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: add driver for Fujitsu application buttonsStephen Hemminger2008-01-213-0/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver supports the application buttons on some Fujitsu Lifebook laptops. It is based on the earlier apanel driver done by Jochen Eisenger, but with many changes. The original driver used ioctl's and a separate user space program (see http://apanel.sourceforge.net). This driver hooks into the input subsystem so that the normal keys act as expected without a daemon. In addition to buttons, the Mail Led is handled via LEDs class device. The driver now supports redefinable keymaps and no longer has to have a DMI table for all Fujitsu laptops. I thought about mixing this driver should be integrated into the Fujitsu laptop extras driver that handles backlight, but rejected the idea because it wasn't clear if all the Fujitsu laptops supported both. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: ads7846 - stop updating dev->power.power_stateDavid Brownell2008-01-211-4/+4
| | | | | | | | | | | | | | | | | | This stops the ads7846 driver from using dev->power.power_state; that field is deprecated (overdue for removal) and the only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: drop redundant includes of moduleparam.hJulia Lawall2008-01-2119-19/+0
| | | | | | | | | | | | | | | | Drop #include <linux/moduleparam.h> in files that also include linux/module.h, since module.h includes moduleparam.h already. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: implement proper timer rounding for polled devicesStephen Hemminger2008-01-211-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Rounding doesn't matter for the first tick, but we want succeeding ticks to be aligned on second boundary if poll interval is large enough. Also: cancel_rearming_delayed_workqueue is marked as obsolete in workqueue.h so use cancel_delayed_work_sync. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Acked-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: iforce - don't access input_dev->private directlyDmitry Torokhov2008-01-211-8/+9
| | | | | | | | | | | | input_{get|set}_drvdata() helpers should be used instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: i8042 - use synchronize_irq() instead of synchronize_sched()Dmitry Torokhov2008-01-211-1/+8
| | | | | | | | | | | | | | | | RT guys advised me that in their kernels synchronize_sched() will not work to ensure that all IRQ handlers run to their completion and that synchronize_irq() should be used instead. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atkbd - remove unneeded synchronize_sched()Dmitry Torokhov2008-01-211-1/+0
| | | | | | | | | | | | | | atkbd_disable() provides all necessary synchronization with atkbd_interrupt(). Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: cobalt_btns - add support for loadable keymapsDmitry Torokhov2008-01-211-37/+36
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atlas_btns - add support for loadable keymapsDmitry Torokhov2008-01-211-16/+23
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: keyspan_remote - add support for loadable keymapsDmitry Torokhov2008-01-211-51/+67
| | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: Add proper locking when changing device's keymapDmitry Torokhov2008-01-212-9/+75
| | | | | | | | | | | | | | Take dev->event_lock to make sure that we don't race with input_event() and also force key up event when removing a key from keymap table. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * Input: atkbd - properly handle special keys on Dell LatitudesGiel de Nijs2008-01-211-17/+72
| | | | | | | | | | | | | | | | Most of Fn+F? special keys on (at least) the Dell Latitude laptops don't generate a hardware key release event so the driver has to generate one. Signed-off-by: Giel de Nijs <giel@caffeinetrip.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | leds: Standardise LED naming schemeRichard Purdie2008-02-071-2/+2
| | | | | | | | | | | | | | | | As discussed on LKML some notion of 'function' is needed in LED naming. This patch adds this to the documentation and standardises existing LED drivers. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* | Remove pointless casts from void pointersJeff Garzik2008-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly in and around irq handlers. Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: "Luck Tony" <tony.luck@intel.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Karsten Keil <kkeil@suse.de> Acked-by: "John W. Linville" <linville@tuxdriver.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: David Brownell <david-b@pacbell.net> Cc: "Antonino A. Daplas" <adaplas@pol.net> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Acked-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | drivers/input/: Spelling fixesJoe Perches2008-02-031-1/+1
| | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* | jonada720: remove duplicate includeAndre Haupt2008-02-031-1/+0
| | | | | | | | | | | | Signed-off-by: Andre Haupt <andre@bitwigglers.org> Acked-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* | bf54x: remove duplicate includeAndre Haupt2008-02-031-1/+0
| | | | | | | | | | Signed-off-by: Andre Haupt <andre@bitwigglers.org> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* | gameport: remove duplicate includeAndre Haupt2008-02-031-1/+0
| | | | | | | | | | Signed-off-by: Andre Haupt <andre@bitwigglers.org> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* | [ALSA] Remove sound/driver.hTakashi Iwai2008-01-311-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This header file exists only for some hacks to adapt alsa-driver tree. It's useless for building in the kernel. Let's move a few lines in it to sound/core.h and remove it. With this patch, sound/driver.h isn't removed but has just a single compile warning to include it. This should be really killed in future. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* | x86: replace outb_p() with udelay(2) in drivers/input/mouse/pc110pad.cIngo Molnar2008-01-301-2/+5
| | | | | | | | | | | | | | | | replace outb_p() with udelay(2). This is a real ISA device so it likely needs this particular delay. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfixRichard Purdie2008-01-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch refactors the code in corgi_lcd.c moving it to the board specific corgi and spitz files where appropriate instead of the existing ifdef mess which hinders readability. Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be compiled as a module. The confusing variables which represent the inverse horizintal sync period are renamed to "invperiod" consistently. An incorrect comment in corgi_ts.c is also corrected. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [SPARC64]: Fix section error in sparcspkrSam Ravnborg2008-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n the following error happened during link of vmlinux: local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o (The error message above is from kbuild.git but it happens in mainline too) The error happens becase there is a reference from .text/.data to a function marked __devexit. With CONFIG_HOTPLUG=n all code marked __devexit are discarded and the linker complains. It was tracked down to sparcspkr.c which were missing __devexit_p() around the function pointers. Unfortunately modpost did not catch this since modpost do not warn about references from .data to .devexit from variables named *_driver. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'for-linus' of ↵Linus Torvalds2008-01-175-24/+51
|\ \ | |/ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: ALPS - fix sync loss on Acer Aspire 5720ZG Input: psmouse - fix input_dev leak in lifebook driver Input: psmouse - fix potential memory leak in psmouse_connect() Input: usbtouchscreen - fix buffer overflow, make more egalax work Input: mousedev - handle mice that use absolute coordinates
| * Input: ALPS - fix sync loss on Acer Aspire 5720ZGDmitry Torokhov2008-01-171-1/+1
| | | | | | | | | | | | | | The recently added support for Dell Volstro 1400 was causing protocol synchronization errors on Acer Aspire 5720ZG, fix it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
OpenPOWER on IntegriCloud