https://github.com/torvalds/linux

sort by:
Revision Author Date Message Commit Date
c94606f Input: atmel_mxt_ts - call CRC completion after CRC update There is a possibility of a race here otherwise. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:30 UTC
1a811c3 Input: atmel_mxt_ts - remove unnecessary blank line Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:30 UTC
5d95437 Input: atmel_mxt_ts - minor tweak to capitalisation in comment Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:29 UTC
d59050a Input: atmel_mxt_ts - split config update a bit Let's split config update code a bit so it is hopefully a bit easier to read. Also, the firmware update callback should be the entity releasing firmware blob, not lower layers. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> [release firmware when updating via update_cfg_store] Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:29 UTC
97396a0 Input: atmel_mxt_ts - add error check to request_firmware_nowait() Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:29 UTC
8715dc2 Input: atmel_mxt_ts - rework platform data handling 09 September 2014, 15:27:29 UTC
49c0c24 Input: atmel_mxt_ts - simplify mxt_initialize a bit I think having control flow with 2 goto/labels/flags is quite hard to read, this version is a bit more readable IMO. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 09 September 2014, 15:27:29 UTC
cf896ab Input: atmel_mxt_ts - check data->input_dev is not null in mxt_input_sync() * Symptom: if update_fw and update_cfg, kernel panic occurs. * Reproducibility: 10% * Root Cause: - If update_fw, the T6 will send a CFG_ERR message periodically. - After that, update_cfg process begin, the mxt_update_cfg_store() will invoke mxt_free_input_device() and nullify data->input_dev. - The CFG_ERR message will trigger mxt_interrupt(), and mxt_input_sync() will be invoked by mxt_process_messages_t44(). And mxt_input_sync() references a NULL data->input_dev and kernel panic occurs. TrackerRMS TKT-004235 12 August 2014, 16:05:29 UTC
7e25850 Input: atmel_mxt_ts - fix interrupt documentation for tegra As advised by Stephen Warren, this was incorrect. Also slightly update wording. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 23 July 2014, 14:58:42 UTC
fb52903 Input: atmel_mxt_ts - fix bug in info CRC error output Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:34:27 UTC
83040d9 Input: atmel_mxt_ts - leave platform to specify irqflags when using DT The function to check the interrupt configuration must use irq_get_trigger_type() to allow for this case. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:29:06 UTC
55d857b Input: atmel_mxt_ts - fix bug with endianness conversion in T100 intialisation Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:36 UTC
8d5ef3b Input: atmel_mxt_ts - use of_match_ptr rather than ifdefs Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:35 UTC
04280ca Input: atmel_mxt_ts - allocate pdata using devm_kzalloc By using this function instead, there is no necessity to free on remove or probe failure, since it is handled for us. This also fixes an failure when kfree() is called on memory allocated using devm_kzalloc() in the DT parse function. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:34 UTC
4e8a1ab Input: atmel_mxt_ts - support config checksum attribute in sysfs Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:33 UTC
c438f1c Input: atmel_mxt_ts - wrap long line Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:32 UTC
18596d7 Input: atmel_mxt_ts - check gpio validity in mxt_probe_regulators Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:32 UTC
c70631b Input: atmel_mxt_ts - move functions in file to improve code layout Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:31 UTC
d0c1ce6 Input: atmel_mxt_ts - reorder mxt_free_object_table to improve robustness Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:30 UTC
fcfae57 Input: atmel_mxt_ts - add cfg name and input name to device tree Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:29 UTC
347dff2 Input: atmel_mxt_ts - improve device tree parsing for earlier kernels of_property_read_u32_index() was only introduced in v3.10. Using the array operation is simpler anyway. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:28 UTC
aee662e Input: atmel_mxt_ts - improve error handling in initialise functions Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:27 UTC
915c135 Input: atmel_mxt_ts - use async firmware loader interface for config Using request_firmware_nowait() allows the driver to be built into the kernel and use the firmware loader interface, without the probe failing with a 60s timeout due to the root filesystem not being available. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:27 UTC
4eedb0f Input: atmel_mxt_ts - Initialise input slots with INPUT_MT_DIRECT This indicates the device coordinates should be directly mapped to screen. This is valid since scaling/flipping/rotation should be done by configuring the MXT device. It also flags to Android using INPUT_PROP_DIRECT that the device should be treated as a touch screen by default, and removes the necessity for a default IDC file. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:26 UTC
5a4c198 Add documentation for device tree Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:25 UTC
0dacc74 Input: atmel_mxt_ts - do not reset slots when input device is null Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:24 UTC
8765349 Input: atmel_mxt_ts - change reset GPIO warning to debug message Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:24 UTC
70d553b Input: atmel_mxt_ts - rename mxt_check_reg_init to mxt_update_cfg Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:23 UTC
1f6a0fc Input: atmel_mxt_ts - Set pointer emulation on touchpads Touchpads are pointers, so make sure to pass the correct values to input_mt_report_pointer_emulation(). Without this, tap-to-click doesn't work. Signed-off-by: Benson Leung <bleung@chromium.org> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:22 UTC
0158865 Input: atmel_mxt_ts - fix invalid return from mxt_get_bootloader_version The patch e57a66aa8534: "Input: atmel_mxt_ts - read and report bootloader version" from May 18, 2014, leads to the following static checker warning: drivers/input/touchscreen/atmel_mxt_ts.c:437 mxt_get_bootloader_version( warn: signedness bug returning '(-5)' drivers/input/touchscreen/atmel_mxt_ts.c 429 static u8 mxt_get_bootloader_version(struct mxt_data *data, u8 val) 430 { 431 struct device *dev = &data->client->dev; 432 u8 buf[3]; 433 434 if (val & MXT_BOOT_EXTENDED_ID) { 435 if (mxt_bootloader_read(data, &buf[0], 3) != 0) { 436 dev_err(dev, "%s: i2c failure\n", __func__); 437 return -EIO; ^^^^ This gets truncated into a number from 0-255 and anyway the caller doesn't check for errors. (reported by Dan Carpenter) Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:21 UTC
cff90bf Input: atmel_mxt_ts - implement device tree support Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:20 UTC
f24ab04 Input: atmel_mxt_ts - address code indentation issues Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:20 UTC
e4a37de Input: atmel_mxt_ts - fix build error in mxt_read_t9_resolution Stephen Rothwell reported this build error: drivers/input/touchscreen/atmel_mxt_ts.c: In function 'mxt_read_t9_resolution': drivers/input/touchscreen/atmel_mxt_ts.c:1043:2: warning: passing argument 1 of '__swab16s' makes pointer from integer without a cast [enabled by default] le16_to_cpus(range.x); ^ Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:19 UTC
139b6e3 Input: atmel_mxt_ts - fixed vdd being checked instead of avdd Fixed the wrong check where vdd was being checked instead of avdd after regulator_get function for avdd Signed-off-by: Prajosh Premdas <premdas.prajosh@gmail.com> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:18 UTC
7720ba6 Input: atmel_mxt_ts - implement improved debug message interface Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:17 UTC
2b33db0 Input: atmel_mxt_ts - add memory access interface via sysfs Atmel maXTouch chips can be addressed via an "Object Based Protocol" which defines how i2c registers are mapped to different functions within the chips. This interface exposes the register map and allows user-space utilities to inspect and alter object configuration, and to view diagnostic data, while the device is running. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> 04 July 2014, 13:26:17 UTC
a615cb3 Input: atmel_mxt_ts - implement debug output for messages Add a debug switch which causes all messages from the touch controller to be dumped to the dmesg log with a set prefix "MXT MSG:". This is used by Atmel user-space utilities to debug touch operation. Enabling this output does impact touch performance. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:16 UTC
8a7db57 Input: atmel_mxt_ts - allow input name to be specified in platform data Android systems identify the input device and map to IDC file by using the input device name. To avoid unnecessary deltas to the driver file, allow this to be set from the platform data. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:26:15 UTC
31ccad3 Input: atmel_mxt_ts - only use first T9 instance The driver only registers one input device, which uses the screen parameters from the first T9 instance. The first T63 instance also uses those parameters. It is incorrect to send input reports from the second instances of these objects if they are enabled: the input scaling will be wrong and the positions will be mashed together. This also causes problems on Android if the number of slots exceeds 32. In the future, this could be handled by looking for enabled touch object instances and creating an input device for each one. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:14 UTC
833521d Input: atmel_mxt_ts - handle cfg filename via pdata/sysfs There may be multiple maXTouch chips on a single device which will require different configuration files. Add a platform data value for the configuration filename. Add sysfs entry to write configuration file if the platform data is not set. Split out the object initialisation code from mxt_initialize() into mxt_configure_objects() to allow this. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:13 UTC
5a27267 Input: atmel_mxt_ts - set default irqflags when there is no pdata This is the preparation for supporting the code path when there is platform data provided and still boot the device into a sane state with backup NVRAM config. Make the irqflags default to be IRQF_TRIGGER_FALLING if no platform data is provided. Signed-off-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:13 UTC
9cd32cf Input: atmel_mxt_ts - allow specification of firmware file name On platforms which have multiple device instances using this driver, the firmware may be different on each device. This patch makes the user give the name of the firmware file when flashing. This also prevents accidental triggering of the firmware load process. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:12 UTC
28775ab Input: atmel_mxt_ts - implement support for T100 touch object The T100 object replaces the old T9 multitouch touchscreen object in new chips. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:11 UTC
69537da Input: atmel_mxt_ts - add regulator control support Allow the driver to optionally manage enabling/disable power to the touch controller itself. If the regulators are not present then use the deep sleep power mode instead. For a correct power on sequence, it is required that we have control over the RESET line. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:26:08 UTC
9bfdc2b Input: atmel_mxt_ts - initialize power config before and after downloading cfg If the power configuration is zero then the configuration download may fail to work properly, so initialize T7 before config download. The downloaded configuration may reset the T7 power configuration so it must be re-initialized afterwards. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:55 UTC
a243a67 Input: atmel_mxt_ts - release touch state during suspend If fingers are down as the MXT chip goes into suspend it does not send a lift message. In addition, it may not complete its final measurement cycle immediately, which means touch messages may be received by the interrupt handler after mxt_stop() has completed. So: - disable irq during suspend - flush any messages created after suspend - tell app layer that slots were released at suspend Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:55 UTC
6316d4d Input: atmel_mxt_ts - handle reports from T47 Stylus object Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:54 UTC
3d1d92f Input: atmel_mxt_ts - use T18 RETRIGEN to handle IRQF_TRIGGER_LOW The workaround of reading all messages until an invalid is received is a way of forcing the CHG line high, which means that when using edge-triggered interrupts the interrupt can be acquired. With level-triggered interrupts this is unnecessary. Also, most recent maXTouch chips have a feature called RETRIGEN which, when enabled, reasserts the interrupt line every cycle if there are messages waiting. This also makes the workaround unnecessary. Note: the RETRIGEN feature is only in some firmware versions/chips, it's not valid simply to enable the bit. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:53 UTC
ba6d107 Input: atmel_mxt_ts - verify Information Block checksum on probe By reading the information block and the object table into a contiguous region of memory, we can verify the checksum at probe time. This means we verify that we are indeed talking to a chip that supports object protocol correctly. We also detect I2C comms problems much earlier, resulting in easier diagnosis. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> 04 July 2014, 13:25:52 UTC
4e04c36 Input: atmel_mxt_ts - remove unused defines Many of these values are out of date and they aren't used in the driver - all they do is increase the size of the kernel source. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:52 UTC
ba10e06 Input: atmel_mxt_ts - implement support for T15 Key Array There is a key array object in many maXTouch chips which allows some X/Y lines to be used as a key array. This patch maps them to a series of keys which may be configured in a platform data array. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:51 UTC
495bf88 Input: atmel_mxt_ts - implement T63 Active Stylus support Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> 04 July 2014, 13:25:50 UTC
e68fba3 Input: atmel_mxt_ts - implement I2C retries Some maXTouch chips (eg mXT1386) will not respond on the first I2C request when they are in a sleep state. It must be retried after a delay for the chip to wake up. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:49 UTC
35df04b Input: atmel_mxt_ts - implement vector/orientation support The atmel touch messages contain orientation information as a byte in a packed format which can be passed straight on to Android if the input device configuration is correct, see http://source.android.com/tech/input/touch-devices.html#touchorientationcalibration This requires vector reports to be enabled in maXTouch config (zero DISVECT bit in T9 CTRL field) Android converts the format in frameworks/base/services/input/Input.cpp, search for ORIENTATION_CALIBRATION_VECTOR. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:48 UTC
75b744c Input: atmel_mxt_ts - output status from T42 Touch Suppression Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:48 UTC
519925e Input: atmel_mxt_ts - output status from T48 Noise Supression Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:47 UTC
c8fb7fa Input: atmel_mxt_ts - implement T44 message handling maXTouch chips allow the reading of multiple messages in a single I2C transaction. The number of messages available to be read is given by the value in the T44 object which is located directly before the T5 object. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:46 UTC
d81c60b Input: atmel_mxt_ts - split message handler into separate functions This is in preparation for support of the T44 message count object. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:45 UTC
86f2ca1 Input: atmel_mxt_ts - decode T6 status messages By storing the previous T6 status byte we can detect reset completion more correctly, and multiple debug output of the same status can be suppressed (for example CFGERR). Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:45 UTC
59b544e Input: atmel_mxt_ts - add support for dynamic message size The T5 object may have various sizes depending on the objects used on the particular maXTouch chip and firmware version, therefore it can't be hardcoded in the driver. Allocate a buffer on probe instead. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:44 UTC
e576bd5 Input: atmel_mxt_ts - recover from bootloader on probe The MXT device may be in bootloader mode on probe, due to: 1) APP CRC failure, either: a) flash corruption b) bad power or other intermittent problem while checking CRC 2) If the device has been reset 10 or more times without accessing comms 3) Warm probe, device was in bootloader mode already This code attempts to recover from 1(b) and 3. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:43 UTC
2744363 Input: atmel_mxt_ts - add bootloader addresses for new chips Later chips (for example mXT1664S) different mappings for bootloader addresses. This means that we must look at the family ID to determine which address to use. There is an additional complication: when we probe and we don't know the family ID yet, we need to try both possible addresses to find the bootloader. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:42 UTC
649c8d3 Input: atmel_mxt_ts - handle bootloader previously unlocked Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:41 UTC
9173c04 Input: atmel_mxt_ts - handle APP_CRC_FAIL on startup If the bootloader fails to start the appmode image on the touch controller, it stays in bootloader mode. It is possible to reflash a working firmware image from this state. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:39 UTC
5076b2a Input: atmel_mxt_ts - move input device init into separate function It is possible for the maXTouch chip to start up in bootloader mode, where it does not have a working touchscreen but the driver can still handle updating the firmware. This means that the touchscreen initialisation must be split into a separate function so it can be called after bootloading has completed. In addition, later devices have a different touchscreen object (T100) which requires handling differently. This also reduces the complexity of the probe function. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:23 UTC
4c69d6e Input: atmel_mxt_ts - initialise IRQ before probing The maXTouch chips use the CHG line to generate status events in bootloader mode, and during configuration download, before there is enough information to configure the input device. Therefore set up the interrupt handler earlier. However, this introduces states where parts of the interrupt processing must not run. Use data->object_table as a way to tell whether the chip information is valid, and data->input_dev as a way to tell whether it is valid to generate input report. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> 04 July 2014, 13:25:22 UTC
9f96ab7 Input: atmel_mxt_ts - add Atmel copyright line Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 13:25:22 UTC
1316ad4 Input: atmel_mxt_ts - handle multiple input reports in one message Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:21 UTC
0551578 Input: atmel_mxt_ts - rename touchscreen defines to include T9 This avoids confusion with the newer T100 touchscreen object. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:20 UTC
4455814 Input: atmel_mxt_ts - rename pressure to amplitude to match spec Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:19 UTC
8080efd Input: atmel_mxt_ts - use deep sleep mode when stopped By writing zero to both the active and idle cycle times the maXTouch device is put into a deep sleep mode when it consumes minimal power. It is unnecessary to change the configuration of any other objects (for example to disable T9 touchscreen). It is counterproductive to reset the chip on resume, it will result in a long delay. However it is necessary to issue a calibrate command after the chip has spent any time in deep sleep. This patch also deals with the situation where the power configuration is zero on probe, which would mean that the device never wakes up to execute commands. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:18 UTC
366b053 Input: atmel_mxt_ts - read screen config from chip By reading the touchscreen configuration from the settings that the maXTouch chip is actually using, we can remove some platform data. The matrix size is not used for anything, and results in some rather confusing code to re-read it because it may change when configuration is downloaded, so don't print it out. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Conflicts: drivers/platform/chrome/chromeos_laptop.c 04 July 2014, 13:25:18 UTC
3e7625b Input: atmel_mxt_ts - add check for incorrect firmware file format Atmel supplies firmware files in ASCII HEX format (.enc) which must be converted before they can be loaded by kernel driver. Try to detect the error and print a friendly error message rather than feeding junk to the bootloader. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:17 UTC
f22b3f8 Input: atmel_mxt_ts - improve bootloader progress output By implementing a frame counter, print out fewer debug messages (the firmware may contain hundreds of frames). Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:16 UTC
84c69b5 Input: atmel_mxt_ts - implement bootloader frame retries Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:15 UTC
63a72b2 Input: atmel_mxt_ts - read and report bootloader version Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:15 UTC
80256b4 Input: atmel_mxt_ts - add additional bootloader addresses Move bootloaders reads/writes into separate functions. Instead of switching client->addr, define new field bootloader_addr in mxt_data. Implement lookup calculation for bootloader addresses. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:25:12 UTC
5cbaf24 Input: atmel_mxt_ts - calculate and check CRC in config file By validating the checksum, we can identify if the configuration is corrupt. In addition, this patch writes the configuration in a short series of block writes rather than as many individual values. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:52 UTC
e4c0272 Input: atmel_mxt_ts - download device config using firmware loader The existing implementation which encodes the configuration as a binary blob in platform data is unsatisfactory since it requires a kernel recompile for the configuration to be changed, and it doesn't deal well with firmware changes that move values around on the chip. Atmel define an ASCII format for the configuration which can be exported from their tools. This patch implements a parser for that format which loads the configuration via the firmware loader and sends it to the MXT chip. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Conflicts: drivers/platform/chrome/chromeos_laptop.c 04 July 2014, 13:24:52 UTC
85c876c Input: atmel_mxt_ts - implement CRC check for configuration data The configuration is stored in NVRAM on the maXTouch chip. When the device is reset it reports a CRC of the stored configuration values. Therefore it isn't necessary to send the configuration on each probe - we can check the CRC matches and avoid a timeconsuming backup/reset cycle. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:48 UTC
61cadc5 Input: atmel_mxt_ts - improve error reporting and debug - Add error messages for probe errors - Report type in invalid object type - Tweak some other debug output messages Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:39 UTC
fb3af1c Input: atmel_mxt_ts - make wait-after-reset period compatible with all chips The delay before the chip can be accessed after reset varies between different chips in maXTouch family. Waiting for an interrupt and a T6 status message with the RESET bit set is a better behaviour. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:36 UTC
0fd587d Input: atmel_mxt_ts - wait for CHG after bootloader resets Rather than msleep for MXT_RESET_TIME and MXT_FWRESET_TIME during the transition to bootloader mode and the transition back from app, wait for the CHG assert to indicate that the transition is done. This change replaces the msleep with a wait for completion that the mxt_interrupt handler signals. Also add CHG poll after last firmware frame - some bootloader versions will assert the interrupt line after the final frame, in testing this meant that the driver attempts to read the info block too early whilst the chip is still resetting. This improves firmware update time as we no longer wait longer than necessary for each reset. Signed-off-by: Benson Leung <bleung@chromium.org> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:27 UTC
4f12798 Input: atmel_mxt_ts - wait for CHG assert in mxt_check_bootloader The driver should not immediately read bootloader status when in Application Update Mode. The CHG line will assert when the device has made a state transition and is ready to report a new status via i2c. This change adds a wait for completion in mxt_check_bootloader, and changes the mxt_interrupt handler to signal the completion. Signed-off-by: Benson Leung <bleung@chromium.org> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 13:24:23 UTC
a20c2ea Input: atmel_mxt_ts - define helper functions for size and instances These two object table entry fields are reported 1 less than their value. When used, however, we always want the actual size and instances. To keep the object size and instances 1-byte fields, and thus preserve the object-table struct's 6-byte packed alignment, add some convenient accessor functions that do the +1 every time these fields are accessed. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 12:03:35 UTC
c1cdf78 Input: atmel_mxt_ts - return IRQ_NONE when interrupt handler fails Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> 04 July 2014, 12:03:29 UTC
89a8864 Input: atmel_mxt_ts - improve T19 GPIO keys handling * The mapping of the GPIO numbers into the T19 status byte varies between different maXTouch chips. Some have up to 7 GPIOs. Allowing a keycode array of up to 8 items is simpler and more generic. So replace #define with configurable number of keys which also allows the removal of is_tp. * Rename platform data parameters to include "t19" to prevent confusion with T15 key array. * Probe aborts early on when pdata is NULL, so no need to check. * Move "int i" to beginning of function (mixed declarations and code) * Use API calls rather than __set_bit() * Remove unused dev variable. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Yufeng Shen <miletus@chromium.org> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Conflicts: drivers/platform/chrome/chromeos_laptop.c 04 July 2014, 12:03:21 UTC
f0039e5 Input: atmel_mxt_ts - remove unnecessary platform data It is not necessary to download these values to the maXTouch chip on every probe, since they are stored in NVRAM. It makes life difficult when tuning the device to keep them in sync with the config array/file, and requires a new kernel build for minor tweaks. These parameters only represent a tiny subset of the available configuration options, tracking all of these options in platform data would be a endless task. In addition, different versions of maXTouch chips may have these values in different places or may not even have them at all. Having these values also makes life more complex for device tree and other platforms where having to define a static configuration isn't helpful. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Acked-by: Benson Leung <bleung@chromium.org> Acked-by: Yufeng Shen <miletus@chromium.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Conflicts: drivers/platform/chrome/chromeos_laptop.c 04 July 2014, 12:02:31 UTC
efbafbd Input: delete non-required instances of include <linux/init.h> None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 12:01:32 UTC
d9ccd62 Input: use dev_get_platdata() Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. This is a cosmetic change to make the code simpler and enhance the readability. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> 04 July 2014, 12:00:58 UTC
8bb495e Linux 3.10 30 June 2013, 22:13:29 UTC
f0277dc Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull another powerpc fix from Benjamin Herrenschmidt: "I mentioned that while we had fixed the kernel crashes, EEH error recovery didn't always recover... It appears that I had a fix for that already in powerpc-next (with a stable CC). I cherry-picked it today and did a few tests and it seems that things now work quite well. The patch is also pretty simple, so I see no reason to wait before merging it." * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/eeh: Fix fetching bus for single-dev-PE 30 June 2013, 22:08:15 UTC
4b48380 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is a set of seven bug fixes. Several fcoe fixes for locking problems, initiator issues and a VLAN API change, all of which could eventually lead to data corruption, one fix for a qla2xxx locking problem which could lead to multiple completions of the same request (and subsequent data corruption) and a use after free in the ipr driver. Plus one minor MAINTAINERS file update" (only six bugfixes in this pull, since I had already pulled the fcoe API fix directly from Robert Love) * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] ipr: Avoid target_destroy accessing memory after it was freed [SCSI] qla2xxx: Fix for locking issue between driver ISR and mailbox routines MAINTAINERS: Fix fcoe mailing list libfc: extend ex_lock to protect all of fc_seq_send libfc: Correct check for initiator role libfcoe: Fix Conflicting FCFs issue in the fabric 30 June 2013, 22:06:25 UTC
ea461ab powerpc/eeh: Fix fetching bus for single-dev-PE While running Linux as guest on top of phyp, we possiblly have PE that includes single PCI device. However, we didn't return its PCI bus correctly and it leads to failure on recovery from EEH errors for single-dev-PE. The patch fixes the issue. Cc: <stable@vger.kernel.org> # v3.7+ Cc: Steve Best <sbest@us.ibm.com> Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> 30 June 2013, 04:08:34 UTC
6c355be Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fixes from Ben Herrenschmidt: "We discovered some breakage in our "EEH" (PCI Error Handling) code while doing error injection, due to a couple of regressions. One of them is due to a patch (37f02195bee9 "powerpc/pci: fix PCI-e devices rescan issue on powerpc platform") that, in hindsight, I shouldn't have merged considering that it caused more problems than it solved. Please pull those two fixes. One for a simple EEH address cache initialization issue. The other one is a patch from Guenter that I had originally planned to put in 3.11 but which happens to also fix that other regression (a kernel oops during EEH error handling and possibly hotplug). With those two, the couple of test machines I've hammered with error injection are remaining up now. EEH appears to still fail to recover on some devices, so there is another problem that Gavin is looking into but at least it's no longer crashing the kernel." * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/pci: Improve device hotplug initialization powerpc/eeh: Add eeh_dev to the cache during boot 30 June 2013, 00:02:48 UTC
8d5bc1a ARM: dt: Only print warning, not WARN() on bad cpu map in device tree Due to recent changes and expecations of proper cpu bindings, there are now cases for many of the in-tree devicetrees where a WARN() will hit on boot due to badly formatted /cpus nodes. Downgrade this to a pr_warn() to be less alarmist, since it's not a new problem. Tested on Arndale, Cubox, Seaboard and Panda ES. Panda hits the WARN without this, the others do not. Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 30 June 2013, 00:00:40 UTC
7846de4 powerpc/pci: Improve device hotplug initialization Commit 37f02195b (powerpc/pci: fix PCI-e devices rescan issue on powerpc platform) fixes a problem with interrupt and DMA initialization on hot plugged devices. With this commit, interrupt and DMA initialization for hot plugged devices is handled in the pci device enable function. This approach has a couple of drawbacks. First, it creates two code paths for device initialization, one for hot plugged devices and another for devices known during the initial PCI scan. Second, the initialization code for hot plugged devices is only called when the device is enabled, ie typically in the probe function. Also, the platform specific setup code is called each time pci_enable_device() is called, not only once during device discovery, meaning it is actually called multiple times, once for devices discovered during the initial scan and again each time a driver is re-loaded. The visible result is that interrupt pins are only assigned to hot plugged devices when the device driver is loaded. Effectively this changes the PCI probe API, since pci_dev->irq and the device's dma configuration will now only be valid after pci_enable() was called at least once. A more subtle change is that platform specific PCI device setup is moved from device discovery into the driver's probe function, more specifically into the pci_enable_device() call. To fix the inconsistencies, add new function pcibios_add_device. Call pcibios_setup_device from pcibios_setup_bus_devices if device setup is not complete, and from pcibios_add_device if bus setup is complete. With this change, device setup code is moved back into device initialization, and called exactly once for both static and hot plugged devices. [ This also fixes a regression introduced by the above patch which causes dev->irq to be overwritten under some cirumstances after MSIs have been enabled for the device which leads to crashes due to the MSI core "hijacking" dev->irq to store the base MSI number and not the LSI. --BenH ] Cc: Yuanquan Chen <Yuanquan.Chen@freescale.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Hiroo Matsumoto <matsumoto.hiroo@jp.fujitsu.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> 29 June 2013, 22:46:46 UTC
133841c Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a crash in the crypto layer exposed by an SCTP test tool" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: algboss - Hold ref count on larval 29 June 2013, 18:34:18 UTC
6554431 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm/qxl fix from Dave Airlie: "Bad me forgot an access check, possible security issue, but since this is the first kernel with it, should be fine to just put it in now" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/qxl: add missing access check for execbuffer ioctl 29 June 2013, 18:32:05 UTC
706b23b Fix: kernel/ptrace.c: ptrace_peek_siginfo() missing __put_user() validation This __put_user() could be used by unprivileged processes to write into kernel memory. The issue here is that even if copy_siginfo_to_user() fails, the error code is not checked before __put_user() is executed. Luckily, ptrace_peek_siginfo() has been added within the 3.10-rc cycle, so it has not hit a stable release yet. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Acked-by: Oleg Nesterov <oleg@redhat.com> Cc: Andrey Vagin <avagin@openvz.org> Cc: Roland McGrath <roland@redhat.com> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com> Cc: David Howells <dhowells@redhat.com> Cc: Dave Jones <davej@redhat.com> Cc: Pavel Emelyanov <xemul@parallels.com> Cc: Pedro Alves <palves@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 29 June 2013, 18:29:08 UTC
back to top