03 Oct, 2015
2 commits
-
Pull input layer fixes from Dmitry Torokhov:
"Fixes for two recent regressions (in Synaptics PS/2 and uinput
drivers) and some more driver fixups"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Revert "Input: synaptics - fix handling of disabling gesture mode"
Input: psmouse - fix data race in __ps2_command
Input: elan_i2c - add all valid ic type for i2c/smbus
Input: zhenhua - ensure we have BITREVERSE
Input: omap4-keypad - fix memory leak
Input: serio - fix blocking of parport
Input: uinput - fix crash when using ABS events
Input: elan_i2c - expand maximum product_id form 0xFF to 0xFFFF
Input: elan_i2c - add ic type 0x03
Input: elan_i2c - don't require known iap version
Input: imx6ul_tsc - fix controller name
Input: imx6ul_tsc - use the preferred method for kzalloc()
Input: imx6ul_tsc - check for negative return value
Input: imx6ul_tsc - propagate the errors
Input: walkera0701 - fix abs() calculations on 64 bit values
Input: mms114 - remove unneded semicolons
Input: pm8941-pwrkey - remove unneded semicolon
Input: fix typo in MT documentation
Input: cyapa - fix address of Gen3 devices in device tree documentation -
This reverts commit e51e38494a8ecc18650efb0c840600637891de2c: we
actually do want the device to work in extended W mode, as this is the
mode that allows us receiving multiple contact information.Cc: stable@vger.kernel.org
02 Oct, 2015
1 commit
-
It uses bitrev8(), so it must ensure that lib/bitrev.o gets included in
vmlinux.Cc: Fengguang Wu
Cc: yalin wang
Cc: Dmitry Torokhov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
30 Sep, 2015
1 commit
-
The data race happens on ps2dev->cmdcnt and ps2dev->cmdbuf contents.
__ps2_command reads that data concurrently with the interrupt handler. As
the result, for example, if a response arrives just after the timeout,
__ps2_command can copy out garbage from ps2dev->cmdbuf but then see that
ps2dev->cmdcnt is 0 and return success.Stop the interrupt handler with serio_pause_rx() before reading the
results.The data race was found with KernelThreadSanitizer (KTSAN).
Signed-off-by: Dmitry Vyukov
Signed-off-by: Dmitry Torokhov
29 Sep, 2015
3 commits
-
Signed-off-by: Duson Lin
Signed-off-by: Dmitry Torokhov -
It uses bitrev8(), so it must ensure that lib/bitrev.o gets included in
vmlinux.Signed-off-by: Andrew Morton
Signed-off-by: Dmitry Torokhov -
If omap4_keypad_parse_dt() fails we returned the error code but we
missed releasing keypad_data.Signed-off-by: Sudip Mukherjee
Signed-off-by: Dmitry Torokhov
28 Sep, 2015
1 commit
-
If parkbd_allocate_serio() fails to allocate memory we are releasing the
parport but we missed unregistering the device. As a result this device
with exclusive access to that parport remains registered. And no other
device will be able to use that parport even though this driver has
failed to load.Signed-off-by: Sudip Mukherjee
Signed-off-by: Dmitry Torokhov
22 Sep, 2015
4 commits
-
Commit b6d30968d86c45a7bb599eaca13ff048d3fa576c (Input: uinput - switch to
using for_each_set_bit()) switched driver to use for_each_set_bit().
However during initial write of the uinput structure that contains min/max
data for all possible axes none of them are reflected in dev->absbit yet
and so we were skipping over all of them and were not allocating absinfo
memory which caused crash later when driver tried to sens EV_ABS events:[ 15.064330] BUG: unable to handle kernel NULL pointer dereference at 0000000000000024
[ 15.064336] IP: [] input_handle_event+0x232/0x4e0
[ 15.064343] PGD 0
[ 15.064345] Oops: 0000 [#1] SMPFixes: b6d30968d86c45a7bb599eaca13ff048d3fa576c
Cc: stable@vger.kernel.org
Reported-by: Stephen Chandler Paul
Tested-by: Stephen Chandler Paul
Signed-off-by: Dmitry Torokhov -
In order to support more projects in the future, we expand the
maximum product_id value form 0xFF to 0xFFFF.Signed-off by: Duson Lin
Signed-off-by: Dmitry Torokhov -
The 0x03 is valid 3000 serial ic type too.
Signed-off-by: Duson Lin
Signed-off-by: Dmitry Torokhov -
The Asus X456UA has an ELAN1000 touchpad with IAP version 0xe. This is
unknown to elan_get_fwinfo() so driver probe fails and I am left with an
unusable touchpad.However, the fwinfo is not required for general driver usage, it is only
needed if the user decides to upload new firmware.Adjust the driver so that we do not abort probe when we encounter
unexpected IAP version, but rather warn user that firmware update feature
of the driver will not work.Signed-off-by: Daniel Drake
Signed-off-by: Dmitry Torokhov
20 Sep, 2015
7 commits
-
We should better write "Touchscreen".
Signed-off-by: Fabio Estevam
Signed-off-by: Dmitry Torokhov -
According to Documentation/CodingStyle:
"The preferred form for passing a size of a struct is the following:
p = kmalloc(sizeof(*p), ...);"
so do as suggested.
Signed-off-by: Fabio Estevam
Signed-off-by: Dmitry Torokhov -
We should check for negative values returned by platform_get_irq().
Signed-off-by: Fabio Estevam
Signed-off-by: Dmitry Torokhov -
imx6ul_adc_init() may fail in two cases, so we should better
propagate the errors and make sure that the callers of
this function also check and propagate the errors accordingly.Signed-off-by: Fabio Estevam
Signed-off-by: Dmitry Torokhov -
abs() function can not be used with 64 bit values, so let's switch to
abs64(). From include/linux/kernel.h:/*
* abs() handles unsigned and signed longs, ints, shorts and chars.
* For all input types abs() returns a signed long.
* abs() should not be used for 64-bit types (s64, u64, long long)
* - use abs64() for those.
*/Reported-by: Joe Perches
Signed-off-by: Dmitry Torokhov -
They aren't needed and are just creating null statements so remove it.
Signed-off-by: Javier Martinez Canillas
Signed-off-by: Dmitry Torokhov -
It's not needed and is just creating a null statement so remove it.
Signed-off-by: Javier Martinez Canillas
Signed-off-by: Dmitry Torokhov
12 Sep, 2015
3 commits
-
Pull more input updates from Dmitry Torokhov:
"Second round of updates for the input subsystem.This introduces two brand new touchscreen drivers (Colibri and
imx6ul_tsc), some small driver fixes, and we are no longer report
errors from evdev_flush() as users do not really have a way of
handling errors, error codes that we were returning were not on the
list of errors supposed to be returned by close(), and errors were
causing issues with one of older versions of systemd"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: imx_keypad - remove obsolete comment
Input: touchscreen - add imx6ul_tsc driver support
Input: Add touchscreen support for Colibri VF50
Input: i8042 - lower log level for "no controller" message
Input: evdev - do not report errors form flush()
Input: elants_i2c - extend the calibration timeout to 12 seconds
Input: sparcspkr - fix module autoload for OF platform drivers
Input: regulator-haptic - fix module autoload for OF platform driver
Input: pwm-beeper - fix module autoload for OF platform driver
Input: ab8500-ponkey - Fix module autoload for OF platform driver
Input: cyttsp - remove unnecessary MODULE_ALIAS()
Input: elan_i2c - add ACPI ID "ELAN1000" -
Pull thermal updates from Zhang Rui:
- use int instead of unsigned long to represent temperature to avoid
bogus overheat detection when negative temperature reported. From
Sascha Hauer.- export available thermal governors information to user space via
sysfs. From Wei Ni.- introduce new thermal driver for Wildcat Point platform controller
hub, which uses PCH thermal sensor and associated critical and hot
trip points. From Tushar Dave.- add suuport for Intel Skylake and Denlow platforms in powerclamp
driver.- some small cleanups in thermal core.
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
thermal: Add Intel PCH thermal driver
thermal: Add comment explaining test for critical temperature
thermal: Use IS_ENABLED instead of #ifdef
thermal: remove unnecessary call to thermal_zone_device_set_polling
thermal: trivial: fix typo in comment
thermal: consistently use int for temperatures
thermal: add available policies sysfs attribute
thermal/powerclamp: add cpu id for denlow platform
thermal/powerclamp: add cpu id for Skylake u/y
thermal/powerclamp: add cpu id for skylake h/s -
Prepare second round of input updates for 4.3 merge window.
11 Sep, 2015
1 commit
-
Pull xen terminology fixes from David Vrabel:
"Use the correct GFN/BFN terms more consistently"* tag 'for-linus-4.3-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen/xenbus: Rename the variable xen_store_mfn to xen_store_gfn
xen/privcmd: Further s/MFN/GFN/ clean-up
hvc/xen: Further s/MFN/GFN clean-up
video/xen-fbfront: Further s/MFN/GFN clean-up
xen/tmem: Use xen_page_to_gfn rather than pfn_to_gfn
xen: Use correctly the Xen memory terminologies
arm/xen: implement correctly pfn_to_mfn
xen: Make clear that swiotlb and biomerge are dealing with DMA address
09 Sep, 2015
1 commit
-
Based on include/xen/mm.h [1], Linux is mistakenly using MFN when GFN
is meant, I suspect this is because the first support for Xen was for
PV. This resulted in some misimplementation of helpers on ARM and
confused developers about the expected behavior.For instance, with pfn_to_mfn, we expect to get an MFN based on the name.
Although, if we look at the implementation on x86, it's returning a GFN.For clarity and avoid new confusion, replace any reference to mfn with
gfn in any helpers used by PV drivers. The x86 code will still keep some
reference of pfn_to_mfn which may be used by all kind of guests
No changes as been made in the hypercall field, even
though they may be invalid, in order to keep the same as the defintion
in xen repo.Note that page_to_mfn has been renamed to xen_page_to_gfn to avoid a
name to close to the KVM function gfn_to_page.Take also the opportunity to simplify simple construction such
as pfn_to_mfn(page_to_pfn(page)) into xen_page_to_gfn. More complex clean up
will come in follow-up patches.[1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=e758ed14f390342513405dd766e874934573e6cb
Signed-off-by: Julien Grall
Reviewed-by: Stefano Stabellini
Acked-by: Dmitry Torokhov
Acked-by: Wei Liu
Signed-off-by: David Vrabel
06 Sep, 2015
4 commits
-
Since commit 81e8f2bc (Input: imx_keypad - add pm suspend and resume
support) the imx_keypad driver supports power management, so let's remove
the obsolete comment.Signed-off-by: Fabio Estevam
Signed-off-by: Dmitry Torokhov -
Freescale i.MX6UL contains a internal touchscreen controller,
this patch add a driver to support this controller.Signed-off-by: Haibo Chen
Signed-off-by: Dmitry Torokhov -
The Colibri Vybrid VF50 module supports 4-wire touchscreens using
FETs and ADC inputs. This driver uses the IIO consumer interface
and relies on the vf610_adc driver based on the IIO framework.Signed-off-by: Sanchayan Maity
Signed-off-by: Dmitry Torokhov -
Nowadays the machines without i8042 controller is popular, and no need
to print "No controller found" message in the error log level, which
annoys at booting in quiet mode. Let's lower it info level.Signed-off-by: Takashi Iwai
Signed-off-by: Dmitry Torokhov
05 Sep, 2015
2 commits
-
Pull input subsystem updates from Dmitry Torokhov:
"Drivers, drivers, drivers... No interesting input core changes this
time"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (74 commits)
Input: elan_i2c - use iap_version to get firmware information
Input: max8997_haptic - fix module alias
Input: elan_i2c - fix typos for validpage_count
Input: psmouse - add small delay for IBM trackpoint pass-through mode
Input: synaptics - fix handling of disabling gesture mode
Input: elan_i2c - enable ELAN0100 acpi panels
Input: gpio-keys - report error when disabling unsupported key
Input: sur40 - fix error return code
Input: sentelic - silence some underflow warnings
Input: zhenhua - switch to using bitrev8()
Input: cros_ec_keyb - replace KEYBOARD_CROS_EC dependency
Input: cap11xx - add LED support
Input: elants_i2c - fix for devm_gpiod_get API change
Input: elan_i2c - enable asynchronous probing
Input: elants_i2c - enable asynchronous probing
Input: elants_i2c - wire up regulator support
Input: do not emit unneeded EV_SYN when suspending
Input: elants_i2c - disable idle mode before updating firmware
MAINTAINERS: Add maintainer for atmel_mxt_ts
Input: atmel_mxt_ts - remove warning on zero T44 count
... -
Pull sound updates from Takashi Iwai:
"There are little changes in core part, but lots of development are
found in drivers, especially ASoC. The diffstat shows regmap-related
changes for a slight API additions / changes, and that's all.Looking at the code size statistics, the most significant addition is
for Intel Skylake. (Note that SKL support is still underway, the
codec driver is missing.) Also STI controller driver is a major
addition as well as a few new codec drivers.In HD-audio side, there are fewer changes than the past. The
noticeable change is the support of ELD notification from i915
graphics driver. Thus this pull request carries a few changes in
drm/i915.Other than that, USB-audio got a rewrite of runtime PM code. It was
initiated by lockdep warning, but resulted in a good cleanup in the
end.Below are the highlights:
Common:
- Factoring out of AC'97 reset code from ASoC into the core helper
- A few regmap API extensions (in case it's not pulled yet)ASoC:
- New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
RT298 and ST STI controllers
- Machine drivers for Rockchip systems with MAX98090 and RT5645 and
RT5650
- Initial driver support for Intel Skylake devices
- Lots of rsnd cleanup and enhancements
- A few DAPM fixes and cleanups
- A large number of cleanups in various drivers (conversion and
standardized to regmap, component) mostly by Lars-Peter and AxelHD-audio:
- Extended HD-audio core for Intel Skylake controller support
- Quirks for Dell headsets, Alienware 15
- Clean up of pin-based quirk tables for Realtek codecs
- ELD notifier implenetation for Intel HDMI/DPUSB-audio:
- Refactor runtime PM code to make lockdep happier"* tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
drm/i915: Add locks around audio component bind/unbind
drm/i915: Drop port_mst_index parameter from pin/eld callback
ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup()
ALSA: hda - Wake the codec up on pin/ELD notify events
ALSA: hda - allow codecs to access the i915 pin/ELD callback
drm/i915: Call audio pin/ELD notify function
drm/i915: Add audio pin sense / ELD callback
ASoC: zx296702-i2s: Fix resource leak when unload module
ASoC: sti_uniperif: Ensure component is unregistered when unload module
ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource
ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform
ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak
ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure
ASoC: Clean up docbook warnings
ASoC: txx9: Convert to devm_snd_soc_register_platform
ASoC: pxa: Convert to devm_snd_soc_register_platform
ASoC: nuc900: Convert to devm_snd_soc_register_platform
ASoC: blackfin: Convert to devm_snd_soc_register_platform
ASoC: au1x: Convert to devm_snd_soc_register_platform
ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops
...
04 Sep, 2015
10 commits
-
We've got bug reports showing the old systemd-logind (at least
system-210) aborting unexpectedly, and this turned out to be because
of an invalid error code from close() call to evdev devices. close()
is supposed to return only either EINTR or EBADFD, while the device
returned ENODEV. logind was overreacting to it and decided to kill
itself when an unexpected error code was received. What a tragedy.The bad error code comes from flush fops, and actually evdev_flush()
returns ENODEV when device is disconnected or client's access to it is
revoked. But in these cases the fact that flush did not actually happen is
not an error, but rather normal behavior. For non-disconnected devices
result of flush is also not that interesting as there is no potential of
data loss and even if it fails application has no way of handling the
error. Because of that we are better off always returning success from
evdev_flush().Also returning EINTR from flush()/close() is discouraged (as it is not
clear how application should handle this error), so let's stop taking
evdev->mutex interruptibly.Bugzilla: http://bugzilla.suse.com/show_bug.cgi?id=939834
Cc:
Signed-off-by: Takashi Iwai
Signed-off-by: Dmitry Torokhov -
The 23 inch device found in Chrome project buddy requires 9.2~10.5 seconds
to complete calibration. Let's increase calibration timeout to 12 seconds
to give the device enough time.Signed-off-by: James Chen
Signed-off-by: Dmitry Torokhov -
These platform drivers have a OF device ID table but the OF module
alias information is not created so module autoloading won't work.Signed-off-by: Luis de Bethencourt
Signed-off-by: Dmitry Torokhov -
Pull MIPS updates from Ralf Baechle:
"This is the main pull request for 4.3 for MIPS. Here's the summary:Three fixes that didn't make 4.2-stable:
- a -Os build might compile the kernel using the MIPS16 instruction
set but the R2 optimized inline functions in are
implemented using 32-bit wide instructions which is invalid.- a build error in pgtable-bits.h for a particular kernel
configuration.- accessing registers of the CM GCR might have been compiled to use
64 bit accesses but these registers are onl 32 bit wide.And also a few new bits:
- move the ATH79 GPIO driver to drivers/gpio
- the definition of IRQCHIP_DECLARE has moved to linux/irqchip.h,
change ATH79 accordingly.- fix definition of pgprot_writecombine
- add an implementation of dma_map_ops.mmap
- fix alignment of quiet build output for vmlinuz link
- BCM47xx: Use kmemdup rather than duplicating its implementation
- Netlogic: Fix 0x0x prefixes of constants.
- merge Bjorn Helgaas' series to remove most of the weak keywords
from function declarations.- CP0 and CP1 registers are best considered treated as unsigned
values to avoid large values from becoming negative values.- improve support for the MIPS GIC timer.
- enable common clock framework for Malta and SEAD3.
- a number of improvments and fixes to dump_tlb().
- document the MIPS TLB dump functionality in Magic SysRq.
- Cavium Octeon CN68XX improvments.
- NetLogic improvments.
- irq: Use access helper irq_data_get_affinity_mask.
- handle MSA unaligned accesses.
- a number of R6-related math-emu fixes.
- support for I6400.
- improvments to MSA support.
- add uprobes support.
- move from deprecated __initcall to arch_initcall.
- remove finish_arch_switch().
- IRQ cleanups by Thomas Gleixner.
- migrate to new 'set-state' interface.
- random small cleanups"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (148 commits)
MIPS: UAPI: Fix unrecognized opcode WSBH/DSBH/DSHD when using MIPS16.
MIPS: Fix alignment of quiet build output for vmlinuz link
MIPS: math-emu: Remove unused handle_dsemul function declaration
MIPS: math-emu: Add support for the MIPS R6 MAX{, A} FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MIN{, A} FPU instruction
MIPS: math-emu: Add support for the MIPS R6 CLASS FPU instruction
MIPS: math-emu: Add support for the MIPS R6 RINT FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MSUBF FPU instruction
MIPS: math-emu: Add support for the MIPS R6 MADDF FPU instruction
MIPS: math-emu: Add support for the MIPS R6 SELNEZ FPU instruction
MIPS: math-emu: Add support for the MIPS R6 SELEQZ FPU instruction
MIPS: math-emu: Add support for the CMP.condn.fmt R6 instruction
MIPS: inst.h: Add new MIPS R6 FPU opcodes
MIPS: Octeon: Fix management port MII address on Kontron S1901
MIPS: BCM47xx: Use kmemdup rather than duplicating its implementation
STAGING: Octeon: Use common helpers for determining interface and port
MIPS: Octeon: Support interfaces 4 and 5
MIPS: Octeon: Set up 1:1 mapping between CN68XX PKO queues and ports
MIPS: Octeon: Initialize CN68XX PKO
STAGING: Octeon: Support CN68XX style WQE
... -
This platform driver has a OF device ID table but the OF module
alias information is not created so module autoloading won't work.Signed-off-by: Luis de Bethencourt
Signed-off-by: Dmitry Torokhov -
This platform driver has a OF device ID table but the OF module
alias information is not created so module autoloading won't work.Signed-off-by: Luis de Bethencourt
Signed-off-by: Dmitry Torokhov -
This platform driver has a OF device ID table but the OF module
alias information is not created so module autoloading won't work.Signed-off-by: Luis de Bethencourt
Signed-off-by: Dmitry Torokhov -
The drivers have a I2C device ID table that is used to create the module
aliases and also "cyttsp" and "cyttsp4" are not supported I2C device IDs
so these module aliases are never used.Signed-off-by: Javier Martinez Canillas
Signed-off-by: Dmitry Torokhov -
This ACPI ID present in the DSDT of the ASUS E202SA laptop.
Signed-off-by: João Paulo Rechi Vita
Signed-off-by: Dmitry Torokhov -
Prepare first round of input updates for 4.3 merge window.