137 Commits

Author SHA1 Message Date
xigualu
e5cd7b281b input: touchscreen: synaptics_dsx: add new touch driver
This is the reference driver source code for Synaptics touch driver.

Change-Id: Id35f12526ba8d8dfe114a0ec337060e7df9877bb
Signed-off-by: xigualu <luxh0702@thundersoft.com>
Git-commit: 648ee265de0dc2d852719b730fd1dfab153f7f55
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/commit/?h=Synaptic_dsx
Signed-off-by: Xin Hua Lu <luxinhua@codeaurora.org>
2020-09-01 21:48:11 -07:00
Blagovest Kolenichev
40bffd325d Merge android11-5.4.54 (261a54f) into msm-5.4
* refs/heads/tmp-261a54f:
  Revert "soc: qcom: rpmh: Update dirty flag only when data changes"
  Revert "soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data"
  Revert "soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS"
  Revert "soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request"
  Revert "soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner"
  Linux 5.4.54
  ath9k: Fix regression with Atheros 9271
  ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
  dm integrity: fix integrity recalculation that is improperly skipped
  ASoC: topology: fix tlvs in error handling for widget_dmixer
  ASoC: topology: fix kernel oops on route addition error
  ASoC: qcom: Drop HAS_DMA dependency to fix link failure
  ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10
  x86, vmlinux.lds: Page-align end of ..page_aligned sections
  parisc: Add atomic64_set_release() define to avoid CPU soft lockups
  drm/amd/powerplay: fix a crash when overclocking Vega M
  drm/amdgpu: Fix NULL dereference in dpm sysfs handlers
  mmc: sdhci-of-aspeed: Fix clock divider calculation
  io-mapping: indicate mapping failure
  khugepaged: fix null-pointer dereference due to race
  mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
  mm/memcg: fix refcount error while moving and swapping
  mm/mmap.c: close race between munmap() and expand_upwards()/downwards()
  Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
  vt: Reject zero-sized screen buffer size.
  fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
  /dev/mem: Add missing memory barriers for devmem_inode
  serial: 8250_mtk: Fix high-speed baud rates clamping
  serial: 8250: fix null-ptr-deref in serial8250_start_tx()
  serial: tegra: fix CREAD handling for PIO
  staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
  staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: wlan-ng: properly check endpoint types
  tty: xilinx_uartps: Really fix id assignment
  iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU
  Revert "cifs: Fix the target file was deleted when rename failed."
  usb: xhci: Fix ASM2142/ASM3142 DMA addressing
  usb: xhci-mtk: fix the failure of bandwidth allocation
  binder: Don't use mmput() from shrinker function.
  RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw
  drivers/perf: Prevent forced unbinding of PMU drivers
  asm-generic/mmiowb: Allow mmiowb_set_pending() when preemptible()
  x86: math-emu: Fix up 'cmp' insn for clang ias
  arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
  drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling
  ALSA: hda/realtek - fixup for yet another Intel reference board
  hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
  platform/x86: asus-wmi: allow BAT1 battery name
  platform/x86: ISST: Add new PCI device ids
  hwmon: (nct6775) Accept PECI Calibration as temperature source for NCT6798D
  drm/amdgpu: fix preemption unit test
  drm/amdgpu/gfx10: fix race condition for kiq
  hwmon: (adm1275) Make sure we are reading enough data for different chips
  usb: cdns3: trace: fix some endian issues
  usb: cdns3: ep0: fix some endian issues
  usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
  usb: dwc3: pci: add support for the Intel Jasper Lake
  usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant
  Input: elan_i2c - only increment wakeup count on touch
  Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen
  dmaengine: ioat setting ioat timeout as module parameter
  dmaengine: fsl-edma: fix wrong tcd endianness for big-endian cpu
  hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow
  regmap: dev_get_regmap_match(): fix string comparison
  spi: mediatek: use correct SPI_CFG2_REG MACRO
  ARM: dts: n900: remove mmc1 card detect gpio
  Input: add `SW_MACHINE_COVER`
  dmaengine: tegra210-adma: Fix runtime PM imbalance on error
  HID: apple: Disable Fn-key key-re-mapping on clone keyboards
  HID: steam: fixes race in handling device list.
  HID: alps: support devices with report id 2
  HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
  scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
  scripts/decode_stacktrace: strip basepath from all paths
  serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
  geneve: fix an uninitialized value in geneve_changelink()
  bonding: check return value of register_netdevice() in bond_newlink()
  i2c: i2c-qcom-geni: Fix DMA transfer race
  i2c: rcar: always clear ICSAR to avoid side effects
  enetc: Remove the mdio bus on PF probe bailout
  nfsd4: fix NULL dereference in nfsd/clients display code
  Revert "PCI/PM: Assume ports without DLL Link Active train links in 100 ms"
  net: ethernet: ave: Fix error returns in ave_init
  ipvs: fix the connection sync failed in some cases
  qed: suppress false-positives interrupt error messages on HW init
  qed: suppress "don't support RoCE & iWARP" flooding on HW init
  netdevsim: fix unbalaced locking in nsim_create()
  net: dsa: microchip: call phy_remove_link_mode during probe
  net: hns3: fix error handling for desc filling
  net: ag71xx: add missed clk_disable_unprepare in error path of probe
  ionic: fix up filter locks and debug msgs
  ionic: use offset for ethtool regs data
  mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
  bonding: check error value of register_netdevice() immediately
  net: smc91x: Fix possible memory leak in smc_drv_probe()
  drm: sun4i: hdmi: Fix inverted HPD result
  ieee802154: fix one possible memleak in adf7242_probe
  net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
  ASoC: Intel: bytcht_es8316: Add missed put_device()
  RDMA/mlx5: Use xa_lock_irq when access to SRQ table
  ax88172a: fix ax88172a_unbind() failures
  vsock/virtio: annotate 'the_virtio_vsock' RCU pointer
  hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
  fpga: dfl: fix bug in port reset handshake
  fpga: dfl: pci: reduce the scope of variable 'ret'
  bnxt_en: Fix completion ring sizing with TPA enabled.
  bnxt_en: Fix race when modifying pause settings.
  btrfs: fix page leaks after failure to lock page for delalloc
  btrfs: fix mount failure caused by race with umount
  btrfs: fix double free on ulist after backref resolution failure
  ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
  ALSA: info: Drop WARN_ON() from buffer NULL sanity check
  ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for Samsung Notebook Pen S
  uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
  btrfs: reloc: clear DEAD_RELOC_TREE bit for orphan roots to prevent runaway balance
  btrfs: reloc: fix reloc root leak and NULL pointer dereference
  SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
  drm/amd/display: Check DMCU Exists Before Loading
  dmabuf: use spinlock to access dmabuf->name
  ARM: dts: imx6qdl-gw551x: fix audio SSI
  ARM: dts: imx6qdl-gw551x: Do not use 'simple-audio-card,dai-link'
  irqdomain/treewide: Keep firmware node unconditionally allocated
  fuse: fix weird page warning
  drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
  dm: use bio_uninit instead of bio_disassociate_blkg
  scsi: dh: Add Fujitsu device to devinfo and dh lists
  scsi: mpt3sas: Fix error returns in BRM_status_show
  drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
  net: sky2: initialize return of gm_phy_read
  ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
  drivers/net/wan/lapbether: Fixed the value of hard_header_len
  scsi: mpt3sas: Fix unlock imbalance
  xtensa: update *pos in cpuinfo_op.next
  xtensa: fix __sync_fetch_and_{and,or}_4 declarations
  scsi: scsi_transport_spi: Fix function pointer check
  mac80211: allow rx of mesh eapol frames with default rx key
  pinctrl: amd: fix npins for uart0 in kerncz_groups
  gpio: arizona: put pm_runtime in case of failure
  gpio: arizona: handle pm_runtime_get_sync failure case
  soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner
  ANDROID: build: update ABI definitions
  ANDROID: update the kernel release format for GKI
  ANDROID: GKI: update clocksource abi due to upstream fixes needed for VDSO backport
  UPSTREAM: arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040
  UPSTREAM: arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
  UPSTREAM: arm64: Introduce a way to disable the 32bit vdso
  ANDROID: staging: android: ion: Fix compilation error for ion_trace.h
  ANDROID: GKI: enable CONFIG_SCSI_UFS_BSG=y
  ANDROID: Incremental fs: magic number compatible 32-bit
  ANDROID: kbuild: don't merge .*..compoundliteral in modules
  ANDROID: KABI updates for db845c (QCOM_COMMAND_DB fixups)
  ANDROID: soc: qcom: cmd-db: Allow COMMAND_DB driver to be loaded as a module
  ANDROID: GKI: preserve ABI for struct sock_cgroup_data
  Revert "genetlink: remove genl_bind"
  Revert "arm64/alternatives: use subsections for replacement sequences"
  ANDROID: KABI updates for db845c (USB_EHCI_HCD, USB_EHCI_HCD_PLATFORM and DWC3 fixups)
  ANDROID: db845c_gki.fragment: Remove DWC3 modules built into GKI
  ANDROID: db845c_gki.fragment: Remove modules built into GKI
  ANDROID: power: wakeup_reason: refine wakeup logs
  ANDROID: power: wakeup_reason: export log_threaded_irq_wakeup_reason
  Linux 5.4.53
  gpio: pca953x: disable regmap locking for automatic address incrementing
  drm/i915/gvt: Fix two CFL MMIO handling caused by regression.
  iommu/vt-d: Make Intel SVM code 64-bit only
  ionic: export features for vlans to use
  spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH
  rxrpc: Fix trace string
  libceph: don't omit recovery_deletes in target_copy()
  block: fix get_max_segment_size() overflow on 32bit arch
  block: fix splitting segments on boundary masks
  drm/i915/gt: Ignore irq enabling on the virtual engines
  drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr()
  genirq/affinity: Handle affinity setting on inactive interrupts correctly
  sched/fair: handle case of task_h_load() returning 0
  sched: Fix unreliable rseq cpu_id for new tasks
  arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return
  arm64: ptrace: Consistently use pseudo-singlestep exceptions
  arm64: ptrace: Override SPSR.SS when single-stepping is enabled
  thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
  thermal: int3403_thermal: Downgrade error message
  misc: atmel-ssc: lock with mutex instead of spinlock
  dmaengine: fsl-edma-common: correct DSIZE_32BYTE
  dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler
  dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
  intel_th: Fix a NULL dereference when hub driver is not loaded
  intel_th: pci: Add Emmitsburg PCH support
  intel_th: pci: Add Tiger Lake PCH-H support
  intel_th: pci: Add Jasper Lake CPU support
  powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size
  powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey
  hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
  riscv: use 16KB kernel stack on 64-bit
  timer: Fix wheel index calculation on last level
  timer: Prevent base->clk from moving backward
  scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro
  uio_pdrv_genirq: fix use without device tree and no interrupt
  uio_pdrv_genirq: Remove warning when irq is not specified
  Input: elan_i2c - add more hardware ID for Lenovo laptops
  Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
  mei: bus: don't clean driver pointer
  Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
  fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
  fuse: use ->reconfigure() instead of ->remount_fs()
  fuse: ignore 'data' argument of mount(..., MS_REMOUNT)
  ovl: fix unneeded call to ovl_change_flags()
  ovl: relax WARN_ON() when decoding lower directory file handle
  ovl: inode reference leak in ovl_is_inuse true case.
  ovl: fix regression with re-formatted lower squashfs
  serial: mxs-auart: add missed iounmap() in probe failure and remove
  virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
  Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
  virt: vbox: Fix guest capabilities mask check
  virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
  USB: serial: option: add Quectel EG95 LTE modem
  USB: serial: option: add GosunCn GM500 series
  USB: serial: ch341: add new Product ID for CH340
  USB: serial: cypress_m8: enable Simply Automated UPB PIM
  USB: serial: iuu_phoenix: fix memory corruption
  usb: gadget: function: fix missing spinlock in f_uac1_legacy
  usb: chipidea: core: add wakeup support for extcon
  usb: dwc2: Fix shutdown callback in platform
  USB: c67x00: fix use after free in c67x00_giveback_urb
  ALSA: hda/realtek - Enable Speaker for ASUS UX563
  ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
  ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256
  ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289
  ALSA: hda/realtek - change to suitable link model for ASUS platform
  ALSA: usb-audio: Fix race against the error recovery URB submission
  ALSA: line6: Sync the pending work cancel at disconnection
  ALSA: line6: Perform sanity check for each URB creation
  HID: quirks: Ignore Simply Automated UPB PIM
  HID: quirks: Always poll Obins Anne Pro 2 keyboard
  HID: magicmouse: do not set up autorepeat
  HID: logitech-hidpp: avoid repeated "multiplier = " log messages
  slimbus: core: Fix mismatch in of_node_get/put
  clk: qcom: gcc: Add missing UFS clocks for SM8150
  clk: qcom: gcc: Add GPU and NPU clocks for SM8150
  mtd: rawnand: oxnas: Release all devices in the _remove() path
  mtd: rawnand: oxnas: Unregister all devices on error
  mtd: rawnand: oxnas: Keep track of registered devices
  mtd: rawnand: brcmnand: fix CS0 layout
  mtd: rawnand: brcmnand: correctly verify erased pages
  mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
  mtd: rawnand: marvell: Fix probe error path
  mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
  mtd: rawnand: marvell: Fix the condition on a return code
  RDMA/mlx5: Verify that QP is created with RQ or SQ
  soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request
  soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS
  soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data
  soc: qcom: rpmh: Update dirty flag only when data changes
  perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
  PCI/PM: Call .bridge_d3() hook only if non-NULL
  habanalabs: Align protection bits configuration of all TPCs
  apparmor: ensure that dfa state tables have entries
  soc: qcom: socinfo: add missing soc_id sysfs entry
  arm: dts: mt7623: add phy-mode property for gmac2
  copy_xstate_to_kernel: Fix typo which caused GDB regression
  regmap: debugfs: Don't sleep while atomic for fast_io regmaps
  keys: asymmetric: fix error return code in software_key_query()
  arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema
  ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
  xprtrdma: fix incorrect header size calculations
  Revert "thermal: mediatek: fix register index error"
  ARM: dts: Fix dcan driver probe failed on am437x platform
  fuse: don't ignore errors from fuse_writepages_fill()
  NFS: Fix interrupted slots by sending a solo SEQUENCE operation
  clk: AST2600: Add mux for EMMC clock
  clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER
  staging: comedi: verify array index is correct before using it
  usb: gadget: udc: atmel: fix uninitialized read in debug printk
  spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
  dmaengine: dmatest: stop completed threads when running without set channel
  dmaengine: dw: Initialize channel before each transfer
  iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()'
  bus: ti-sysc: Do not disable on suspend for no-idle
  bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk
  bus: ti-sysc: Fix wakeirq sleeping function called from invalid context
  arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency
  arm64: dts: meson: add missing gxl rng clock
  phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
  dmaengine: sh: usb-dmac: set tx_result parameters
  soundwire: intel: fix memory leak with devm_kasprintf
  iio:health:afe4404 Fix timestamp alignment and prevent data leak.
  ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S
  bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit
  ACPI: video: Use native backlight on Acer TravelMate 5735Z
  Input: mms114 - add extra compatible for mms345l
  ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2
  ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S
  ACPI: video: Use native backlight on Acer Aspire 5783z
  ALSA: usb-audio: Rewrite registration quirk handling
  mmc: sdhci: do not enable card detect interrupt for gpio cd type
  doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode
  ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)
  Input: goodix - fix touch coordinates on Cube I15-TC
  ALSA: usb-audio: Add support for MOTU MicroBook IIc
  bus: ti-sysc: Detect EDMA and set quirk flags for tptc
  arm64: dts: g12-common: add parkmode_disable_ss_quirk on DWC3 controller
  bus: ti-sysc: Detect display subsystem related devices
  bus: ti-sysc: Handle module unlock quirk needed for some RTC
  bus: ti-sysc: Consider non-existing registers too when matching quirks
  bus: ti-sysc: Rename clk related quirks to pre_reset and post_reset quirks
  scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
  drm/sun4i: tcon: Separate quirks for tcon0 and tcon1 on A20
  ARM: at91: pm: add quirk for sam9x60's ulp1
  HID: quirks: Remove ITE 8595 entry from hid_have_special_driver
  mmc: mmci: Support any block sizes for ux500v2 and qcom variant
  ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot
  ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879
  ARM: OMAP4+: remove pdata quirks for omap4+ iommus
  net: sfp: add some quirks for GPON modules
  net: sfp: add support for module quirks
  Revert "usb/xhci-plat: Set PM runtime as active on resume"
  Revert "usb/ehci-platform: Set PM runtime as active on resume"
  Revert "usb/ohci-platform: Fix a warning when hibernating"
  net: ethernet: mvneta: Add back interface mode validation
  net: ethernet: mvneta: Do not error out in non serdes modes
  net: macb: call pm_runtime_put_sync on failure path
  of: of_mdio: Correct loop scanning logic
  net: dsa: bcm_sf2: Fix node reference count
  spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
  iio:health:afe4403 Fix timestamp alignment and prevent data leak.
  iio:pressure:ms5611 Fix buffer element alignment
  iio:humidity:hts221 Fix alignment and data leak issues
  iio: pressure: zpa2326: handle pm_runtime_get_sync failure
  iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
  iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers
  iio: magnetometer: ak8974: Fix runtime PM imbalance on error
  iio:humidity:hdc100x Fix alignment and data leak issues
  iio:magnetometer:ak8974: Fix alignment and data leak issues
  arm64/alternatives: don't patch up internal branches
  i2c: eg20t: Load module automatically if ID matches
  gfs2: read-only mounts should grab the sd_freeze_gl glock
  tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
  arm64/alternatives: use subsections for replacement sequences
  cifs: prevent truncation from long to int in wait_for_free_credits
  dt-bindings: mailbox: zynqmp_ipi: fix unit address
  m68k: mm: fix node memblock init
  m68k: nommu: register start of the memory with memblock
  blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
  thermal/drivers: imx: Fix missing of_node_put() at probe time
  x86/fpu: Reset MXCSR to default in kernel_fpu_begin()
  drm/exynos: fix ref count leak in mic_pre_enable
  drm/exynos: Properly propagate return value in drm_iommu_attach_device()
  drm/msm/dpu: allow initialization of encoder locks during encoder init
  drm/msm: fix potential memleak in error branch
  arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040
  arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
  arm64: Introduce a way to disable the 32bit vdso
  ip: Fix SO_MARK in RST, ACK and ICMP packets
  cgroup: Fix sock_cgroup_data on big-endian.
  cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
  tcp: md5: allow changing MD5 keys in all socket states
  tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
  vlan: consolidate VLAN parsing code and limit max parsing depth
  tcp: md5: do not send silly options in SYNCOOKIES
  tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
  tcp: make sure listeners don't initialize congestion-control state
  tcp: fix SO_RCVLOWAT possible hangs under high mem pressure
  sched: consistently handle layer3 header accesses in the presence of VLANs
  net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
  net_sched: fix a memory leak in atm_tc_init()
  net: dsa: microchip: set the correct number of ports
  net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
  llc: make sure applications use ARPHRD_ETHER
  l2tp: remove skb_dst_set() from l2tp_xmit_skb()
  ipv6: Fix use of anycast address with loopback
  ipv6: fib6_select_path can not use out path for nexthop objects
  ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
  genetlink: remove genl_bind
  bridge: mcast: Fix MLD2 Report IPv6 payload length check
  net: rmnet: fix lower interface leak
  net: atlantic: fix ip dst and ipv6 address filters
  crypto: atmel - Fix build error of CRYPTO_AUTHENC
  crypto: atmel - Fix selection of CRYPTO_AUTHENC
  ANDROID: GKI: update abi symbol lists now that CONFIG_DWC3 is enabled.
  ANDROID: GKI: Enable CONFIG_USB_DWC3
  ANDROID: ABI: add the symbols of dwc3.ko and sprd-dma.ko to unisoc
  ANDROID: ABI: Update the ABI whitelist for QCOM
  ANDROID: GKI: Update CF abi list for virtio-console
  UPSTREAM: lkdtm/heap: Avoid edge and middle of slabs
  UPSTREAM: lkdtm: Avoid more compiler optimizations for bad writes
  ANDROID: GKI: Update ABI after RPMH config change
  ANDROID: GKI: Adjust symbol lists after RPMH removed from gki_defconfig
  ANDROID: db845c_gki.fragment: Add QCOM_RPMH and QCOM_RPMHPD as modules
  ANDROID: gki_defconfig: Remove QCOM_RPMH from the gki_defconfig
  ANDROID: Kconfig.gki: Remove GKI_QCOM_CLKS_CONFIGS and QCOM_RPMHPD from GKI_HACKS config option
  FROMLIST: soc: qcom: rpmh: Allow RPMH driver to be loaded as a module
  UPSTREAM: soc: qcom: rpmhpd: Allow RPMHPD driver to be loaded as a module
  ANDROID: GKI: Export memblock_free to drivers
  ANDROID: GKI: do not export symbol_get/put()
  ANDROID: add xfs back to allmodconfig build tests
  FROMLIST: rpmsg: core: Add signal API support
  ANDROID: GKI: Fix x86 warning on DMA_VIRTUAL_CHANNELS
  ANDROID: GKI: Update ABI and export list for qcom
  Revert "ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG"
  Revert "ALSA: compress: fix partial_drain completion state"

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt
	Documentation/devicetree/bindings/usb/dwc3.txt
	android/abi_gki_aarch64_qcom
	drivers/soc/qcom/Kconfig
	drivers/soc/qcom/socinfo.c
	drivers/usb/host/xhci-plat.c
	kernel/sched/core.c

Change-Id: If4d45d5447eb2b1b86326bae8c3844fe565a0b42
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2020-08-04 11:54:06 -07:00
Dave Wang
97f1aecb80 Input: elan_i2c - add more hardware ID for Lenovo laptops
commit a50ca29523b18baea548bdf5df9b4b923c2bb4f6 upstream.

This adds more hardware IDs for Elan touchpads found in various Lenovo
laptops.

Signed-off-by: Dave Wang <dave.wang@emc.com.tw>
Link: https://lore.kernel.org/r/000201d5a8bd$9fead3f0$dfc07bd0$@emc.com.tw
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-22 09:33:13 +02:00
Fei Mao
da720aef2b input: touchscreen: synaptics_tcm: enable touch driver
Enable touch driver in touch driver.
Support drm_panel callback to be notified when screen on/off.
Add new property "synaptics,firmware-name" when different modules
with same touch IC.

Change-Id: I58159ce531913108e702227c5474fdc2f539d2d3
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2020-07-20 23:32:33 -07:00
chenx
941a443f34 input: touchscreen: synaptics_tcm: add new touch driver
This is the reference driver source code for Synaptics touch.

Change-Id: I6ad3cd7d3b4d1f0f38d788cdbebc1bbcd6500c93
Signed-off-by: chenx <chenxiang0527@thundersoft.com>
Git-commit: 9397899342e9aed76898cd7f1377a798d8ae3243
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/log/?h=Synaptics_tcm_v1.3
Signed-off-by: Fei Mao <feim1@codeaurora.org>
2020-07-14 00:25:17 -07:00
Jordan Crouse
706624fee0 includes: Make headers work with KERNEL_HEADER_TEST
Fix up a number of headers to work with KERNEL_HEADER_TEST ahead
of turning it on by default.

Change-Id: Ic0dedbaddba2fa62ec60d93bf3e4ef06ededa4cc
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-04-14 16:40:49 -06:00
Abir Ghosh
c6d5ee8048 drivers: soc: qti: Add support for fingerprint driver
Port qbt_handler from msm-4.19 branch upto commit
f5526dd3667d (qbt: Make IPC irq falling edge triggered).

Change-Id: I5adb23732850e56bfce0af89b378bf0bc0e4c192
Signed-off-by: Abir Ghosh <abirg@codeaurora.org>
2020-02-27 13:31:45 +05:30
Jordan Crouse
c7f16608d4 include: Fixup headers to pass KERNEL_HEADER_TEST
Fix up a bunch of headers so that they pass KERNEL_HEADER_TEST to ensure
that they are self-contained.

Change-Id: Ic0dedbad91f70263452c9a809333fe93c8ee2266
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-01-15 09:01:08 -07:00
David Collins
726328684e input: add snapshot of qpnp-power-on driver
The qpnp-power-on driver provides support for key presses via
several key specific PMIC inputs.  It also supports reading
power-on reasons and configuring the power-off type (i.e.
restart, shutdown, etc).

This snapshot is taken as of msm-4.19
commit 47598dd0e809 ("input: misc: qpnp-power-on: add support
to power off a modem chip").

Note that support for boot_reason, cold_boot, and ship_mode
configuration was removed as these have unmet dependencies and
are no longer needed.

Change-Id: I8105cf74d65609932146157f82a8e99f29a4dde2
Signed-off-by: David Collins <collinsd@codeaurora.org>
2019-12-16 10:44:45 -08:00
Dmitry Torokhov
0898782247 Merge branch 'next' into for-linus
Prepare input updates for 5.4 merge window.
2019-09-16 09:56:27 -07:00
Benjamin Tissoires
0c043d70d0 Input: elan_i2c - remove Lenovo Legion Y7000 PnpID
Looks like the Bios of the Lenovo Legion Y7000 is using ELAN061B
when the actual device is supposed to be used with hid-multitouch.

Remove it from the list of the supported device, hoping that
no one will complain about the loss in functionality.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=203467
Fixes: 738c06d0e4 ("Input: elan_i2c - add hardware ID for multiple Lenovo laptops")
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2019-09-06 15:40:22 -07:00
Dmitry Torokhov
1eb7b4cacc Input: bu21013_ts - remove support for platform data
There are no current users of the platform data in the tree, and
any new users should either use device tree, or static device
properties to describe the device.

This change drop the platform data definition and handling and moves the
driver over to generic device properties API. We also drop support for the
external clock. If it is needed we will have to extend the bindings to
supply the clock reference and handle it properly in the driver.

Also, wakeup setting should be coming from I2C client.

Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2019-09-02 09:07:17 -07:00
Linus Walleij
a1b70a44b8 Input: bu21013_ts - convert to use GPIO descriptors
This driver can use GPIO descriptors rather than GPIO numbers
without any problems, convert it. Name the field variables after
the actual pins on the chip rather than the "reset" and "touch"
names from the devicetree bindings that are vaguely inaccurate.

No in-tree users pass GPIO numbers in platform data so drop
this. Descriptor tables can be used to get these GPIOs from a board
file if need be.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2019-09-02 09:06:52 -07:00
Dmitry Torokhov
ecb41832bd Merge tag 'v5.2' into next
Sync up with mainline to resolve conflicts in iforce driver.
2019-07-15 09:42:32 -07:00
Jeffrey Hugo
0828c10013 Input: elan_i2c - export the device id whitelist
Elan_i2c and hid-quirks work in conjunction to decide which devices each
driver will handle.  Elan_i2c has a whitelist of devices that should be
consumed by hid-quirks so that there is one master list of devices to
handoff between the drivers.  Put the ids in a header file so that
hid-quirks can consume it instead of duplicating the list.

Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2019-06-30 00:18:13 -07:00
Thomas Gleixner
d2912cb15b treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
Based on 2 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation #

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 4122 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Enrico Weigelt <info@metux.net>
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-19 17:09:55 +02:00
Thomas Gleixner
caab277b1d treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details you should have received a copy of the gnu general
  public license along with this program if not see http www gnu org
  licenses

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 503 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Enrico Weigelt <info@metux.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190602204653.811534538@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-19 17:09:07 +02:00
Thomas Gleixner
4505153954 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation this program is
  distributed in the hope that it will be useful but without any
  warranty without even the implied warranty of merchantability or
  fitness for a particular purpose see the gnu general public license
  for more details you should have received a copy of the gnu general
  public license along with this program if not write to the free
  software foundation inc 59 temple place suite 330 boston ma 02111
  1307 usa

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 136 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190530000436.384967451@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-05 17:37:06 +02:00
Thomas Gleixner
9c92ab6191 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282
Based on 1 normalized pattern(s):

  this software is licensed under the terms of the gnu general public
  license version 2 as published by the free software foundation and
  may be copied distributed and modified under those terms this
  program is distributed in the hope that it will be useful but
  without any warranty without even the implied warranty of
  merchantability or fitness for a particular purpose see the gnu
  general public license for more details

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 285 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-05 17:36:37 +02:00
Thomas Gleixner
08dbd0f8ef treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 and
  only version 2 as published by the free software foundation this
  program is distributed in the hope that it will be useful but
  without any warranty without even the implied warranty of
  merchantability or fitness for a particular purpose see the gnu
  general public license for more details you should have received a
  copy of the gnu general public license along with this program if
  not write to the free software foundation inc 51 franklin street
  fifth floor boston ma 02110 1301 usa

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 94 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190529141334.043630402@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-05 17:30:29 +02:00
Thomas Gleixner
af873fcece treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194
Based on 1 normalized pattern(s):

  license terms gnu general public license gpl version 2

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 161 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Steve Winslow <swinslow@gmail.com>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190528170027.447718015@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:29:22 -07:00
Thomas Gleixner
fda8d26e61 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177
Based on 1 normalized pattern(s):

  licensed under the gpl 2

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 135 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Reviewed-by: Steve Winslow <swinslow@gmail.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190528170026.071193225@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:29:19 -07:00
Thomas Gleixner
2874c5fd28 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:26:32 -07:00
Thomas Gleixner
80503b23b2 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149
Based on 1 normalized pattern(s):

  licensed under the gpl 2 or later

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 82 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190524100845.150836982@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:25:18 -07:00
Marek Vasut
626feb8632 Input: ili210x - drop platform data support
There is not a single user of the ili210x platform data in the kernel,
just drop it.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2019-02-06 22:17:42 -08:00
Dmitry Torokhov
bf6247a70f Input: make input_report_slot_state() return boolean
Let's make input_report_slot_state() return boolean representing whether
the contact is active or not. This will allow writing code like:

	if (input_mt_report_slot_state(input, obj->mt_tool,
					obj->type != RMI_2D_OBJECT_NONE) {

		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
		...
	}

instead of:

	input_mt_report_slot_state(input, obj->mt_tool,
				   obj->type != RMI_2D_OBJECT_NONE);
	if (obj->type != RMI_2D_OBJECT_NONE) {
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
		...
	}

Reviewed-by: Henrik Rydberg <rydberg@bitmath.org>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redaht.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-06-11 10:21:06 -07:00
Linus Walleij
3c8a23c29d Input: gpio_tilt - delete driver
This driver was merged in 2011 as a tool for detecting the orientation
of a screen. The device driver assumes board file setup using the
platform data from <linux/input/gpio_tilt.h>. But no boards in the
kernel tree defines this platform data.

As I am faced with refactoring drivers to use GPIO descriptors and
pass decriptor tables from boards, or use the device tree device
drivers like these creates a serious problem: I cannot fix them and
cannot test them, not even compile-test them with a system actually
using it (no in-tree boardfile).

I suggest to delete this driver and rewrite it using device tree if
it is still in use on actively maintained systems.

I can also offer to rewrite it out of the blue using device tree if
someone promise to test it and help me iterate it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Patchwork-Id: 10133609
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-01-01 22:54:42 -08:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained >5
   lines of source
 - File already had some variant of a license header in it (even if <5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Dmitry Torokhov
79ffd5f98c Input: sparse-keymap - remove sparse_keymap_free()
Now that all users of sparse_keymap_free() are gone we can remove the stub.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-05-29 20:02:01 -07:00
Dmitry Torokhov
d99caa472c Input: eeti_ts - switch to gpiod API
gpiod API allows standard way of specifying GPIO polarity and takes it into
account when reading or setting GPIO state. It also allows us to switch to
common way of obtaining GPIO descriptor and away form legacy platform data.

Reviewed-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-04-05 08:52:33 -07:00
David Rivshin
aa0e26bb78 Input: matrix_keypad - add option to drive inactive columns
The gpio-matrix-keypad driver normally sets inactive columns as inputs
while scanning. This does not work for all hardware, which may require
the inactive columns to be actively driven in order to overcome any
pull-ups/downs on the columns.

Signed-off-by: David Rivshin <drivshin@allworx.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-03-29 00:25:01 -07:00
Dmitry Torokhov
8b1a315b35 Input: tca8418 - switch to using generic device properties
Let's drop legacy platform data support (there are no users in mainline)
and switch to using generic device properties, which will make the driver
simpler (non-OF boards can use property sets to describe hardware).

Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-01-31 11:31:49 -08:00
Dmitry Torokhov
aef01aad89 Input: matrix-keypad - switch to using generic device properties
Instead of being OF-specific, let's switch to using generic device
properties, which will make this code usable on ACPI, device tree and
legacy boards that use property sets.

As part of the change let's rename matrix_keypad_parse_of_params() to
matrix_keypad_parse_properties().

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2017-01-31 11:31:48 -08:00
Hans de Goede
ed7c9870c9 Input: of_touchscreen - add support for inverted / swapped axes
Extend touchscreen_parse_properties() with support for the
touchscreen-inverted-x/y and touchscreen-swapped-x-y properties and
add touchscreen_set_mt_pos() and touchscreen_report_pos() helper
functions for storing coordinates into a input_mt_pos struct, or
directly reporting them, taking these properties into account.

This commit also modifies the existing callers of
touchscreen_parse_properties() to pass in NULL for the new third
argument, keeping the existing behavior.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-07-15 14:50:53 -07:00
Oreste Salerno
707b61bba8 Input: cyttsp - switch to using device properties
Drop support for platform data passed via a C-structure and switch to
device properties instead, which should make the driver compatible
with all platforms: OF, ACPI and static boards. Static boards should
use property sets to communicate device parameters to the driver.

Signed-off-by: Oreste Salerno <oreste.salerno@tomtom.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-01-27 14:32:48 -08:00
Dmitry Torokhov
22ddbacc4b Input: edt-ft5x06 - remove support for platform data
We do not have any users of platform data in the tree and all newer
platforms are either DT or ACPI, so let's drop handling of platform data.

Tested-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:59 -07:00
Franklin S Cooper Jr
13c23cd18b Input: edt-ft5x06 - switch to newer gpio framework
The current/old gpio framework used doesn't properly listen to
ACTIVE_LOW and ACTIVE_HIGH flags. The newer gpio framework takes into
account these flags when setting gpio values.

Since the values being output were based on voltage and not logic they
change to reflect this difference. Also use gpiod_set_value_cansleep since
wake and reset pins can be provided by bus based io expanders.

Switch from msleep(5) to udelay_range(5000,6000) to avoid check patch
warning.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-27 17:33:58 -07:00
Dmitry Torokhov
28a74c0500 Input: pixcir_i2c_ts - move platform data
Let's move driver's platform data definitions from include/linux/input/
into include/linux/platform_data/ so that it stays with the rest of
platform data definitions.

Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:27:36 -07:00
Dmitry Torokhov
4200e831e4 Input: of_touchscreen - switch to using device properties
Let's switch form OF to device properties so that common parsing code could
work not only on device tree but also on ACPI-based platforms.

Reviewed-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-07-11 17:26:45 -07:00
Dmitry Torokhov
7c494375b7 Input: improve parsing OF parameters for touchscreens
When applying touchscreen parameters specified in device tree let's make
sure we keep whatever setup was done by the driver and not reset the
missing values to zero.

Reported-by: Pavel Machek <pavel@ucw.cz>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-06-25 14:45:46 -07:00
Henrik Rydberg
448c7f3830 Input: MT - add support for balanced slot assignment
Some devices are not fast enough to differentiate between a fast-moving
contact and a new contact. This problem cannot be fully resolved because
information is truly missing, but it is possible to safe-guard against
obvious mistakes by restricting movement with a maximum displacement.

The new problem formulation for dmax > 0 cannot benefit from the speedup
for positive definite matrices, but since the convergence is faster, the
result is about the same. For a handful of contacts, the latency difference
is truly negligible.

Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-02-01 11:50:35 -08:00
Henrik Rydberg
f8ec894945 Input: MT - make slot cleanup callable outside mt_sync_frame()
Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-08-07 23:37:07 -07:00
Roger Quadros
36874c7e21 Input: pixcir_i2c_ts - support up to 5 fingers and hardware tracking IDs
Some variants of the Pixcir touch controller support up to 5 simultaneous
fingers and hardware tracking IDs. Prepare the driver for that.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-07-28 10:26:18 -07:00
Sebastian Reichel
b98abe52fa Input: add common DT binding for touchscreens
Add common DT binding documentation for touchscreen devices and
implement input_parse_touchscreen_of_params, which parses the common
properties and configures the input device accordingly.

The method currently does not interpret the axis inversion properties,
since there is no matching flag in the generic linux input device.

Reviewed-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-29 00:05:59 -07:00
Roger Quadros
0dfc8d41bf Input: pixcir_i2c_ts - get rid of pdata->attb_read_val()
Get rid of the attb_read_val() platform hook. Instead, read the ATTB gpio
directly from the driver.

Fail if valid ATTB gpio is not provided by patform data.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:57 -07:00
Roger Quadros
3b36fbb01d Input: pixcir_i2c_ts - initialize interrupt mode and power mode
Introduce helper functions to configure power and interrupt registers.
Default to IDLE mode on probe as device supports auto wakeup to ACVIE mode
on detecting finger touch.

Configure interrupt mode and polarity on start up.  Power down on device
closure or module removal.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-05-18 23:25:56 -07:00
Stephen Boyd
57918dfadf Input: pmic8xxx-pwrkey - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Stephen Boyd
86ea5e6b79 Input: pmic8xxx-keypad - migrate to DT
The driver is only supported on DT enabled platforms. Convert the
driver to DT so that it can probe properly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-03-30 13:25:19 -07:00
Linus Torvalds
3aa78e0cb5 Merge tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next
Pull MFD update from Samuel Ortiz:
 "For the 3.11 merge we only have one new MFD driver for the Kontron
  PLD.

  But we also have:
   - Support for the TPS659038 PMIC from the palmas driver.
   - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich
     driver.
   - RTL8411B support from the rtsx driver.
   - More DT support for the Arizona, max8998, twl4030-power and the
     ti_am335x_tsadc drivers.
   - The SSBI driver move under MFD.
   - A conversion to the devm_* API for most of the MFD drivers.
   - The twl4030-power got split from twl-core into its own module.
   - A major ti_am335x_adc cleanup, leading to a proper DT support.
   - Our regular arizona and wm* updates and cleanups from the Wolfson
     folks.
   - A better error handling and initialization, and a regulator
     subdevice addition for the 88pm80x driver.
   - A bulk platform_set_drvdata() call removal that's no longer need
     since commit 0998d06310 ("device-core: Ensure drvdata = NULL when
     no driver is bound")

* tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (102 commits)
  mfd: sec: Provide max_register to regmap
  mfd: wm8994: Remove duplicate check for active JACKDET
  MAINTAINERS: Add include directory to MFD file patterns
  mfd: sec: Remove fields not used since regmap conversion
  watchdog: Kontron PLD watchdog timer driver
  mfd: max8998: Add support for Device Tree
  regulator: max8998: Use arrays for specifying voltages in platform data
  mfd: max8998: Add irq domain support
  regulator: palmas: Add TPS659038 support
  mfd: Kontron PLD mfd driver
  mfd: palmas: Add TPS659038 PMIC support
  mfd: palmas: Add SMPS10_BOOST feature
  mfd: palmas: Check if irq is valid
  mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
  mfd: twl-core: Change TWL6025 references to TWL6032
  mfd: davinci_voicecodec: Fix build breakage
  mfd: vexpress: Make the driver optional for arm and arm64
  mfd: htc-egpio: Use devm_ioremap_nocache() instead of ioremap_nocache()
  mfd: davinci_voicecodec: Convert to use devm_* APIs
  mfd: twl4030-power: Fix relocking on error
  ...
2013-07-10 11:10:27 -07:00
Dmitry Torokhov
27eb2c4b3d Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
2013-07-02 09:01:31 -07:00