aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Input: sis_i2c - drop unnecessary call to i2c_set_clientdataGuenter Roeck2017-01-181-1/+0
| | | | | | | There is no call to i2c_get_clientdata() or dev_get_drvdata(). Drop the unnecessary call to i2c_set_clientdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: bcm-keypad - drop unnecessary call to platform_set_drvdataGuenter Roeck2017-01-181-2/+0
| | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to platform_set_drvdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: twl4030_keypad - drop unnecessary call to platform_set_drvdataGuenter Roeck2017-01-181-1/+0
| | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to platform_set_drvdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: ab8500-ponkey - drop unnecessary call to platform_set_drvdataGuenter Roeck2017-01-181-1/+0
| | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to platform_set_drvdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: tps65218-pwrbutton - drop unnecessary call to platform_set_drvdataGuenter Roeck2017-01-181-5/+3
| | | | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to platform_set_drvdata(). Also use existing variable 'dev' instead of dereferencing it several times. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: soc_button_array - use 'dev' instead of dereferencing itGuenter Roeck2017-01-181-3/+3
| | | | | | Use local variable 'dev' instead of dereferencing it several times. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mma8450 - drop unnecessary call to i2c_set_clientdataGuenter Roeck2017-01-181-2/+0
| | | | | | | There is no call to i2c_get_clientdata() or dev_get_drvdata(). Drop the unnecessary call to i2c_set_clientdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: gpio_decoder - drop unnecessary call to platform_set_drvdataGuenter Roeck2017-01-181-1/+0
| | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to platform_set_drvdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: bfin_rotary - switch to using devm_add_action_or_reset()Guenter Roeck2017-01-181-6/+5
| | | | | | | | Use local variable 'dev' instead of dereferencing it several times and replace devm_add_action() and manual error handling with devm_add_action_or_reset(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: eeti_ts - drop goto to return statementGuenter Roeck2017-01-181-3/+1
| | | | | | Replace 'goto l; ... l: return e;' with 'return e;' Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: atmel-wm97xx - drop unnecessary error messagesGuenter Roeck2017-01-181-3/+1
| | | | | | | | Error messages after memory allocation failures are unnecessary and can be dropped, especially give that they were emitted as dev_dbg() so noone except person actively debugging the driver would see them. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: ar1021_i2c - drop unnecessary call to i2c_set_clientdataGuenter Roeck2017-01-181-1/+0
| | | | | | | There is no call to i2c_get_clientdata() or dev_get_drvdata(). Drop the unnecessary call to i2c_set_clientdata(). Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: xilinx_ps2 - use 'dev' instead of dereferencing itGuenter Roeck2017-01-181-4/+3
| | | | | | Use local variable 'dev' instead of dereferencing it several times. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: at32psif - drop unnecessary error messages and other changesGuenter Roeck2017-01-181-9/+3
| | | | | | | | | | Error messages after memory allocation failures are unnecessary and can be dropped, given that they are emitted as dev_dbg() so nobody except person actively debugging the driver would see them. Also replace jump to return 'goto l; ... l: return e;' with 'return e;' Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: cros_ec_keyb - drop unnecessary call to dev_set_drvdata and other changesGuenter Roeck2017-01-181-2/+1
| | | | | | | | | | | | | | | | | There is no call to platform_get_drvdata() or dev_get_drvdata(). Drop the unnecessary call to dev_set_drvdata(). Other relevant changes: Use existing variable 'dev' instead of dereferencing it several times This conversion was done automatically with coccinelle using the following semantic patches. The semantic patches and the scripts used to generate this commit log are available at https://github.com/groeck/coccinelle-patches - Drop dev_set_drvdata() - Use local variable 'struct device *dev' consistently Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: tca8418 - use the interrupt trigger from the device treeMaxime Ripard2017-01-171-3/+3
| | | | | | | | | | | | The TCA8418 might be used using different interrupt triggers on various boards. This is not working so far because the current code forces a falling edge trigger. The device tree already provides a trigger type, so let's use whatever it sets up, and since we can be loaded without DT, keep the old behaviour for the non-DT case. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: cyapa - use msleep() for long delayNicholas Mc Guire2017-01-151-1/+1
| | | | | | | | | ulseep_range() uses hrtimers and provides no advantage over msleep() for larger delays. Fix up the 50ms delays here to use msleep() and reduce the load on the hrtimer subsystem. Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: cyapa - use time based retry loopNicholas Mc Guire2017-01-151-15/+12
| | | | | | | | | | | | | Using counter based retry loops for peripherals results in the delay being significantly overrun during high-load situations where delay functions tend to be vary imprecise and overrun there timeouts. So condition the termination on the actual condition of 2s for the re-calibration to have been successful. As this is a very long delay there is no advantage in using high-resolution timers thus switching this to msleep(). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mpr121 - switch to device tree probeAkinobu Mita2017-01-153-63/+124
| | | | | | | | | | | This driver currently only supports legacy platform data probe. This change adds device tree support and gets rid of platform data probe code since no one is actually using mpr121 platform data in the mainline. The device tree property parsing code is based on the work of atmel_captouch driver. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mpr121 - handle multiple bits change of status registerAkinobu Mita2017-01-151-9/+14
| | | | | | | | | | | This driver reports input events on their interrupts which are triggered by the sensor's status register changes. But only single bit change is reported in the interrupt handler. So if there are multiple bits are changed at almost the same time, other press or release events are ignored. This fixes it by detecting all changed bits in the status register. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mpr121 - set missing event capabilityAkinobu Mita2017-01-151-0/+1
| | | | | | | | | | This driver reports misc scan input events on the sensor's status register changes. But the event capability for them was not set in the device initialization, so these events were ignored. This change adds the missing event capability. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mpr121 - remove unused field in struct mpr121_touchkeyAkinobu Mita2017-01-151-1/+0
| | | | | | Remove unused key_val field in struct mpr121_touchkey. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: mpr121 - annotate PM methods as __maybe_unusedAkinobu Mita2017-01-151-4/+2
| | | | | | | | Instead of using #ifdef, let's mark suspend and resume methods as __maybe_unused to provide better compile coverage. Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: intel-mid-touch - remove driverAndy Shevchenko2017-01-063-667/+0
| | | | | | | | | The Moorestown support was removed by commit 1a8359e411eb ("x86/mid: Remove Intel Moorestown"). Remove this leftover. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: edt_ft5x06 - change msleep to usleep_range for small msecsAniroop Mathur2017-01-061-2/+2
| | | | | | | | | | | msleep(1~20) may not do what the caller intends, and will often sleep longer (~20 ms actual sleep for any value given in the 1~20ms range). This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, retry logic, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: Aniroop Mathur <a.mathur@samsung.com> Acked-by: Simon Budig <simon.budig@kernelconcepts.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: xpad - don't depend on endpoint orderCameron Gutman2017-01-061-14/+21
| | | | | | | | | | | | | The order of endpoints is well defined on official Xbox pads, but we have found at least one 3rd-party pad that doesn't follow the standard ("Titanfall 2 Xbox One controller" 0e6f:0165). Fortunately, we get lucky with this specific pad because it uses endpoint addresses that differ only by direction. We know that there are other pads out where this is not true, so let's go ahead and fix this. Signed-off-by: Cameron Gutman <aicommander@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: xpad - simplify error condition in init_outputPavel Rojtberg2017-01-061-7/+6
| | | | | | | | Replace first goto with simple returns as we really are just returning one error code. Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: xpad - move reporting xbox one home button to common functionDaniel Tobias2017-01-061-33/+19
| | | | | | xbox one was the only device that has a *_process_buttons routine. Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: xpad - correctly sort vendor id'sDaniel Tobias2017-01-061-6/+6
| | | | | | Signed-off-by: Daniel Tobias <dan.g.tob@gmail.com> Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: bma150 - switch to using usleep_range instead of msleepAniroop Mathur2016-12-271-2/+2
| | | | | | | | | | | | msleep (1~20) may not do what the caller intends, and will often sleep longer. (~20 ms actual sleep for any value given in the 1~20ms range) This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: Aniroop Mathur <a.mathur@samsung.com> Acked by: Albert Zhang <xu.zhang@bosch-sensortec.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: i8042 - force synchronous probing of PNP driversDmitry Torokhov2016-12-181-0/+8
| | | | | | | | | | | | | | We rely on the result of scanning PNP bus for keyboard and mouse devices to decide whether we should continue initialization of i8042 driver or not, so the probes can not be asynchronous. Also, it is not a good idea to unbind either of the PNP devices while i8042 is running, so let's disable bind/unbind for the PNP drivers through sysfs and rely on i8042 cleaning after itself properly. User can still unbind and rebind entire i8042 and that will take care of PNP drivers as well. Reviewed-by: Luis R. Rodriguez <mgrof@kernel.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Merge branch 'synaptics-rmi4' into nextDmitry Torokhov2016-12-15868-51936/+47946
|\ | | | | | | | | Merge updated Synaptics RMI4 support, including support for SMBus controllers and flashing firmware.
| * Input: synaptics-rmi4 - add support for F34 V7 bootloaderNick Dyer2016-12-126-34/+1688
| | | | | | | | | | | | | | | | | | | | Port firmware update code from Samsung Galaxy S7 driver into mainline framework. This patch has been tested on Synaptics S7813. Signed-off-by: Nick Dyer <nick@shmanahar.org> Tested-by: Chris Healy <cphealy@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - fix debug for sensor clipNick Dyer2016-12-071-5/+3
| | | | | | | | | | | | | | | | The debug would only ever output zero for the clip information. Signed-off-by: Nick Dyer <nick@shmanahar.org> Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Tested-by: Chris Healy <cphealy@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - store the attn data in the driverBenjamin Tissoires2016-12-026-44/+45
| | | | | | | | | | | | | | | | Now that we have a proper API to set the attention data, there is no point in keeping it in the transport driver. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - allow to add attention dataBenjamin Tissoires2016-12-022-2/+58
| | | | | | | | | | | | | | | | | | | | | | | | The HID implementation of RMI4 provides the data during the interrupt (in the input report). We need to provide a way for this transport driver to provide the attention data while calling an IRQ. We use a fifo in rmi_core to not lose any incoming event. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - f03 - grab data passed by transport deviceDennis Wassenberg2016-12-021-9/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First check if there are data available passed by the transport device. If data available use these data. If there are no data available try to read the rmi block if dsata are passed this way. This is the way the other rmi function handlers will do this. This patch is needed on HID devices because the firmware reads F03 data registers and adds them to the HID attention report. Reading those registers from the driver after the firmware read them will result in invalid data. Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Dennis Wassenberg <dennis.wassenberg@secunet.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - add support for F03Lyude Paul2016-12-025-0/+246
| | | | | | | | | | | | | | | | | | This adds basic functionality for PS/2 passthrough on Synaptics Touchpads using RMI4 through smbus. Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Lyude Paul <thatslyude@gmail.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - have only one struct platform dataBenjamin Tissoires2016-11-304-11/+10
| | | | | | | | | | | | | | | | | | | | | | If struct rmi_device_platform_data contains pointers to other struct, it gets difficult to allocate a fixed size struct and copy it over between drivers. Change the pointers into a struct and change the code in rmi4 accordingly. Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - remove EXPORT_SYMBOL_GPL for internal functionsBenjamin Tissoires2016-11-302-16/+2
| | | | | | | | | | | | | | | | | | those functions should not be used outside of rmi_core.ko. There is no point in exporting them to the world. It looks like rmi_read_pdt_entry() should be static too. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - remove mutex calls while updating the firmwareBenjamin Tissoires2016-11-302-37/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 29fd0ec2bdbe ("Input: synaptics-rmi4 - add support for F34 device reflash") irq_mutex should be used only to protect data->current_irq_mask, not preventing incoming input to be processed while the upgrade of the firmware is happening. We can simply disable the irqs when we don't want them to interfere with the upgrade process. Tested on S7300 and S7800 (with F34 v7 patch added) Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Nick Dyer <nick@shmanahar.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - add rmi_enable/disable_irqBenjamin Tissoires2016-11-303-19/+67
| | | | | | | | | | | | | | Set the .enabled boolean and trigger an event processing when enabling for edge-triggered systems. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - remove unused fields in struct rmi_driver_dataBenjamin Tissoires2016-11-301-4/+0
| | | | | | | | | | | | These fields are not used anywhere, there is no point in carrying them. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - fix documentation of rmi_2d_sensor_platform_dataBenjamin Tissoires2016-11-301-1/+1
| | | | | | | | | | | | Typos... Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - propagate correct number of rx and tx electrodes to F54Guenter Roeck2016-11-224-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | F54 diagnostics report functions provide data based on the number of enabled rx and tx electrodes, which is not identical to the number of electrodes reported with F54:Query0 and F54:Query1. Those values report the number of supported electrodes, not the number of enabled electrodes. The number of enabled electrodes can be determined by analyzing F55:Ctrl1 (sensor receiver assignment) and F55:Ctrl2 (sensor transmitter assignment). Propagate the number of enabled electrodes from F55 to F54 to avoid corrupted output if not all electrodes are enabled. Fixes: 3a762dbd5347 ("[media] Input: synaptics-rmi4 - add support for F54 ...") Signed-off-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Nick Dyer <nick@shmanahar.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - add support for F55 sensor tuningGuenter Roeck2016-11-225-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sensor tuning support is needed to determine the number of enabled tx and rx electrodes for use in F54 functions. The number of enabled electrodes is not identical to the total number of electrodes as reported with F55:Query0 and F55:Query1. It has to be calculated by analyzing F55:Ctrl1 (sensor receiver assignment) and F55:Ctrl2 (sensor transmitter assignment). Support for additional sensor tuning functions may be added later. Fixes: 3a762dbd5347 ("[media] Input: synaptics-rmi4 - add support for F54 ...") Signed-off-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Nick Dyer <nick@shmanahar.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - add support for F34 device reflashNick Dyer2016-11-229-31/+670
| | | | | | | | | | | | | | | | | | Add support for updating firmware, triggered by a sysfs attribute. This patch has been tested on Synaptics S7300. Signed-off-by: Nick Dyer <nick@shmanahar.org> Tested-by: Chris Healy <cphealy@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - unlock on errorDan Carpenter2016-11-161-2/+3
| | | | | | | | | | | | | | We should unlock before returning on this error path. Fixes: 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - add SMBus supportBenjamin Tissoires2016-11-084-0/+472
| | | | | | | | | | | | | | | | Code obtained from https://raw.githubusercontent.com/mightybigcar/synaptics-rmi4/jf/drivers/input/rmi4/rmi_smbus.c and updated to match upstream. And fixed to make it work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: synaptics-rmi4 - set the ABS_MT_TOOL_TYPE bit to report tool typeAndrew Duggan2016-11-081-4/+6
| | | | | | | | | | | | | | | | | | | | The rmi4 2D sensor functions report the tool type via input_mt_report_slot_state(), but the abs parameter bit has not been set so the tool type is not reported to userspace. This patch set the ABS_MT_TOOL_TYPE bit. Signed-off-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>