140 Commits

Author SHA1 Message Date
Wilson Sung
e79686e302 Merge android-msm-floral-4.14 into android-msm-pixel-4.14
Conflicts:
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
	drivers/hwtracing/coresight/Makefile
	drivers/hwtracing/coresight/coresight-etm-perf.c
	drivers/hwtracing/coresight/coresight-funnel.c
	drivers/hwtracing/coresight/coresight.c
	drivers/power/supply/google/google_battery.c
	drivers/scsi/ufs/ufs.h
	drivers/scsi/ufs/ufshcd.c
	drivers/scsi/ufs/ufshcd.h
	fs/f2fs/file.c
	fs/incfs/format.c
	kernel/sched/fair.c

Bug: 149536833
Change-Id: I1d4d215d793dd2f3ee1655393cdf2d253ff75342
Signed-off-by: Wilson Sung <wilsonsung@google.com>
2020-04-30 12:15:11 +08:00
Wilson Sung
4b375ad4d6 Merge android-msm-floral-4.14 into android-msm-pixel-4.14
Conflicts:
	Documentation/devicetree/bindings/i2c/qcom,i2c-qcom-geni.txt
	arch/arm64/boot/dts/qcom/atoll.dtsi
	arch/arm64/boot/dts/qcom/qcs405.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-aqc.dtsi
	drivers/char/diag/diag_masks.c
	drivers/char/diag/diag_memorydevice.c
	drivers/char/diag/diagchar.h
	drivers/char/diag/diagchar_core.c
	drivers/gpu/drm/msm/dsi-staging/dsi_display.c
	drivers/gpu/drm/msm/sde/sde_connector.c
	drivers/gpu/drm/msm/sde/sde_connector.h
	drivers/gpu/drm/msm/sde/sde_encoder.c
	drivers/gpu/drm/msm/shd/shd_drm.c
	drivers/i2c/busses/i2c-qcom-geni.c
	drivers/input/touchscreen/atmel_mxt_ts.c
	drivers/iommu/arm-smmu.c
	drivers/media/platform/msm/Makefile
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.h
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe175_130.h
	drivers/media/platform/msm/camera/cam_sensor_module/cam_csiphy/cam_csiphy_soc.c
	drivers/media/platform/msm/npu_v2/npu_mgr.c
	drivers/media/platform/msm/sde/rotator/sde_rotator_core.c
	drivers/media/platform/msm/vidc/venus_hfi.c
	drivers/mtd/devices/msm_qpic_nand.c
	drivers/mtd/nand/nand_ids.c
	drivers/platform/msm/gsi/gsi.c
	drivers/platform/msm/ipa/ipa_v3/ipa.c
	drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
	drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c
	drivers/platform/msm/ipa/ipa_v3/ipa_i.h
	drivers/platform/msm/ipa/ipa_v3/ipa_nat.c
	drivers/platform/msm/ipa/ipa_v3/ipa_utils.c
	drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c
	drivers/platform/msm/mhi_dev/mhi.c
	drivers/power/supply/google/google_battery.c
	drivers/power/supply/qcom/Kconfig
	drivers/power/supply/qcom/Makefile
	drivers/power/supply/qcom/qg-core.h
	drivers/power/supply/qcom/qpnp-smb5.c
	drivers/power/supply/qcom/smb5-reg.h
	drivers/scsi/ufs/ufshcd.c
	drivers/soc/qcom/glink_probe.c
	drivers/soc/qcom/peripheral-loader.c
	drivers/soc/qcom/qmi_rmnet.c
	drivers/soc/qcom/socinfo.c
	drivers/usb/dwc3/gadget.c
	include/linux/msm_gsi.h
	include/soc/qcom/socinfo.h
	include/uapi/linux/msm_ipa.h
	include/uapi/linux/msm_mdp.h
	kernel/sched/fair.c
	net/wireless/db.txt
	security/selinux/avc.c

Bug: 149536833
Change-Id: I8dc1eb0e2270d19986fd6b0fc0e959d1f21fa5cb
Signed-off-by: Wilson Sung <wilsonsung@google.com>
2020-04-06 21:33:38 +08:00
Steve Pfetsch
4236505609 input: touchscreen: touch_offload: protect access to reserved_frame
Require that a frame from the buffer pool is only held for the time
required to populate it in the touch driver's interrupt handler. This
ensures that buffers are only freed when they are not in use by the
client touch driver.

Bug: 139955910
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
Change-Id: Id7ab070d5a11dbae89292f09c0212357063d652e
2020-03-30 21:56:36 +00:00
Steve Pfetsch
2afb3197af input: touchscreen: touch_offload: Add poll() file operation
Add support for the poll file operation so consumers do not appear to be
livelocked when blocked on reads for an extended period of time.

Bug: 139955910
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
Change-Id: I70381241a6317f5b56415444b93ba814368d4e16
2020-03-30 20:51:56 +00:00
Steve Pfetsch
570383fbf0 input: touchscreen: touch_offload: register char dev node
Dynamically select major device number and register the touch_offload
device at /dev/touch_offload when the driver is initialized.

Bug: 139955910
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
Change-Id: I5cb01b236fc0733d698898697c83ac117b975501
2020-03-25 21:59:14 +00:00
Wilson Sung
24fb9f2e95 Merge branch 'LA.UM.9.1.R1.10.00.00.604.021' via branch 'qcom-msm-4.14' into android-msm-floral-4.14
Conflicts:
	Documentation/devicetree/bindings/arm/msm/msm.txt
	Documentation/devicetree/bindings/bus/mhi.txt
	Documentation/devicetree/bindings/power/supply/qcom/qpnp-qg.txt
	Documentation/devicetree/bindings/regulator/qpnp-amoled-regulator.txt
	arch/arm/configs/vendor/sa515m-perf_defconfig
	arch/arm/configs/vendor/sa515m_defconfig
	arch/arm/configs/vendor/sdxprairie-perf_defconfig
	arch/arm/configs/vendor/sdxprairie_defconfig
	arch/arm/kernel/smp.c
	arch/arm64/boot/dts/google/sm8150-coral-battery-evt.dtsi
	arch/arm64/boot/dts/google/sm8150-flame-battery-evt.dtsi
	arch/arm64/boot/dts/google/sm8150-flame-notouch.dtsi
	arch/arm64/boot/dts/qcom/Makefile
	arch/arm64/boot/dts/qcom/atoll-ab-atp-overlay.dts
	arch/arm64/boot/dts/qcom/atoll-atp.dtsi
	arch/arm64/boot/dts/qcom/atoll-idp.dtsi
	arch/arm64/boot/dts/qcom/atoll-lpi.dtsi
	arch/arm64/boot/dts/qcom/atoll-npu.dtsi
	arch/arm64/boot/dts/qcom/atoll-pinctrl.dtsi
	arch/arm64/boot/dts/qcom/atoll-qrd.dtsi
	arch/arm64/boot/dts/qcom/atoll-sde-display.dtsi
	arch/arm64/boot/dts/qcom/atoll.dtsi
	arch/arm64/boot/dts/qcom/atollp.dtsi
	arch/arm64/boot/dts/qcom/dm-verity-boot.dtsi
	arch/arm64/boot/dts/qcom/qcs405-iot-sku13.dts
	arch/arm64/boot/dts/qcom/qcs405-pcie.dtsi
	arch/arm64/boot/dts/qcom/qcs405-pinctrl.dtsi
	arch/arm64/boot/dts/qcom/qcs405.dtsi
	arch/arm64/boot/dts/qcom/qcs407-iot-sku13.dts
	arch/arm64/boot/dts/qcom/sa515m-ccard-pcie-ep.dts
	arch/arm64/boot/dts/qcom/sa515m-flashless.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-blsp.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-cdp-v1.1-cpe.dts
	arch/arm64/boot/dts/qcom/sdxprairie-cdp-v1.1-cpe.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-cpe-memory-map.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-mtp-le-cpe.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-v2-mtp-le-cpe.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie-v2-mtp-v1.1-cpe.dtsi
	arch/arm64/boot/dts/qcom/sdxprairie.dtsi
	arch/arm64/boot/dts/qcom/sm8150-mhi.dtsi
	arch/arm64/boot/dts/qcom/sm8150-sdxprairie.dtsi
	arch/arm64/include/asm/cpucaps.h
	arch/arm64/include/asm/pgtable.h
	arch/arm64/include/asm/ptrace.h
	arch/arm64/include/asm/sysreg.h
	arch/arm64/kernel/cpu_errata.c
	arch/arm64/kernel/cpufeature.c
	arch/arm64/kernel/ssbd.c
	build.config.cuttlefish.aarch64
	build.config.cuttlefish.x86_64
	drivers/base/dd.c
	drivers/bus/mhi/controllers/mhi_qcom.h
	drivers/bus/mhi/core/mhi_init.c
	drivers/bus/mhi/core/mhi_internal.h
	drivers/bus/mhi/core/mhi_main.c
	drivers/bus/mhi/core/mhi_pm.c
	drivers/char/adsprpc.c
	drivers/char/diag/diag_dci.c
	drivers/char/diag/diag_memorydevice.c
	drivers/char/diag/diag_memorydevice.h
	drivers/char/diag/diag_mux.c
	drivers/char/diag/diag_mux.h
	drivers/char/diag/diagchar_core.c
	drivers/char/diag/diagfwd.c
	drivers/char/diag/diagfwd_bridge.c
	drivers/char/diag/diagfwd_rpmsg.c
	drivers/clk/qcom/clk-alpha-pll.c
	drivers/cpufreq/cpufreq_stats.c
	drivers/cpuidle/lpm-levels.c
	drivers/crypto/msm/ice.c
	drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/gpu/drm/msm/msm_drv.c
	drivers/gpu/drm/msm/sde/sde_connector.h
	drivers/gpu/drm/msm/sde/sde_crtc.c
	drivers/gpu/drm/msm/sde/sde_encoder.c
	drivers/gpu/drm/msm/sde/sde_hw_catalog.c
	drivers/gpu/drm/msm/sde/sde_hw_catalog.h
	drivers/gpu/drm/msm/sde/sde_kms.c
	drivers/gpu/drm/msm/sde_power_handle.h
	drivers/gpu/drm/msm/sde_rsc.c
	drivers/gpu/drm/msm/shd/shd_drm.c
	drivers/gpu/msm/kgsl_device.h
	drivers/gpu/msm/kgsl_iommu.c
	drivers/hwtracing/coresight/coresight-tmc-etr.c
	drivers/input/Makefile
	drivers/input/touchscreen/synaptics_tcm/synaptics_tcm_core.c
	drivers/iommu/arm-smmu.c
	drivers/leds/leds-qpnp-flash-v2.c
	drivers/md/dm-ioctrl.h
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.h
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe17x/cam_vfe175_130.h
	drivers/media/platform/msm/camera/cam_sensor_module/cam_csiphy/cam_csiphy_soc.c
	drivers/media/platform/msm/npu/npu_debugfs.c
	drivers/media/platform/msm/npu_v2/Kconfig
	drivers/media/platform/msm/npu_v2/npu_common.h
	drivers/media/platform/msm/npu_v2/npu_dbg.c
	drivers/media/platform/msm/npu_v2/npu_debugfs.c
	drivers/media/platform/msm/npu_v2/npu_dev.c
	drivers/media/platform/msm/npu_v2/npu_firmware.h
	drivers/media/platform/msm/npu_v2/npu_host_ipc.c
	drivers/media/platform/msm/npu_v2/npu_host_ipc.h
	drivers/media/platform/msm/npu_v2/npu_hw.h
	drivers/media/platform/msm/npu_v2/npu_hw_access.c
	drivers/media/platform/msm/npu_v2/npu_hw_access.h
	drivers/media/platform/msm/npu_v2/npu_mgr.c
	drivers/media/platform/msm/npu_v2/npu_mgr.h
	drivers/media/platform/msm/sde/rotator/sde_rotator_core.c
	drivers/mmc/core/sdio.c
	drivers/mmc/core/sdio_irq.c
	drivers/mmc/host/sdhci.c
	drivers/net/ethernet/aquantia/atlantic-fwd/atl_of.h
	drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
	drivers/net/ethernet/qualcomm/rmnet/rmnet_descriptor.c
	drivers/net/ethernet/stmicro/stmmac/Makefile
	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.h
	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-gpio.c
	drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-pps.c
	drivers/net/ethernet/stmicro/stmmac/stmmac.h
	drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
	drivers/pci/host/pci-msm-msi.c
	drivers/pci/host/pci-msm.c
	drivers/pinctrl/qcom/pinctrl-qcs405.c
	drivers/platform/msm/ep_pcie/ep_pcie_core.c
	drivers/platform/msm/gsi/gsi.c
	drivers/platform/msm/ipa/ipa_api.c
	drivers/platform/msm/ipa/ipa_api.h
	drivers/platform/msm/ipa/ipa_common_i.h
	drivers/platform/msm/ipa/ipa_v3/ethernet/ipa_eth.c
	drivers/platform/msm/ipa/ipa_v3/ethernet/ipa_eth_ep.c
	drivers/platform/msm/ipa/ipa_v3/ethernet/ipa_eth_i.h
	drivers/platform/msm/ipa/ipa_v3/ethernet/ipa_eth_uc.c
	drivers/platform/msm/ipa/ipa_v3/ipa.c
	drivers/platform/msm/ipa/ipa_v3/ipa_client.c
	drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
	drivers/platform/msm/ipa/ipa_v3/ipa_dp.c
	drivers/platform/msm/ipa/ipa_v3/ipa_i.h
	drivers/platform/msm/ipa/ipa_v3/ipa_mhi.c
	drivers/platform/msm/ipa/ipa_v3/ipa_mpm.c
	drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c
	drivers/platform/msm/ipa/ipa_v3/ipa_utils.c
	drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c
	drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal.c
	drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_fltrt.c
	drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_i.h
	drivers/platform/msm/ipa/ipa_v3/teth_bridge.c
	drivers/platform/msm/mhi_dev/mhi.c
	drivers/platform/msm/mhi_dev/mhi_uci.c
	drivers/platform/msm/qcom-geni-se.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/battery.c
	drivers/power/supply/qcom/battery.h
	drivers/power/supply/qcom/qg-battery-profile.c
	drivers/power/supply/qcom/qg-core.h
	drivers/power/supply/qcom/qg-reg.h
	drivers/power/supply/qcom/qg-soc.c
	drivers/power/supply/qcom/qpnp-fg-gen4.c
	drivers/power/supply/qcom/qpnp-qg.c
	drivers/power/supply/qcom/qpnp-smb5.c
	drivers/power/supply/qcom/smb1390-charger-psy.c
	drivers/power/supply/qcom/smb5-lib.c
	drivers/power/supply/qcom/smb5-lib.h
	drivers/power/supply/qcom/smb5-reg.h
	drivers/regulator/qpnp-amoled-regulator.c
	drivers/scsi/ufs/ufs.h
	drivers/scsi/ufs/ufshcd.c
	drivers/scsi/ufs/ufshcd.h
	drivers/soc/qcom/Makefile
	drivers/soc/qcom/dcc_v2.c
	drivers/soc/qcom/dfc_defs.h
	drivers/soc/qcom/dfc_qmap.c
	drivers/soc/qcom/dfc_qmi.c
	drivers/soc/qcom/glink_probe.c
	drivers/soc/qcom/msm_bus/msm_bus_core.h
	drivers/soc/qcom/peripheral-loader.c
	drivers/soc/qcom/qmi_rmnet.c
	drivers/soc/qcom/qmi_rmnet_i.h
	drivers/soc/qcom/socinfo.c
	drivers/spi/spi-geni-qcom.c
	drivers/staging/android/ion/msm/msm_ion_of.c
	drivers/usb/dwc3/dwc3-msm.c
	fs/ext4/inode.c
	fs/ext4/move_extent.c
	fs/ext4/page-io.c
	fs/f2fs/data.c
	fs/f2fs/f2fs.h
	fs/f2fs/file.c
	fs/f2fs/inode.c
	fs/f2fs/segment.c
	fs/f2fs/super.c
	fs/overlayfs/namei.c
	fs/userfaultfd.c
	include/linux/cpuhotplug.h
	include/linux/mhi.h
	include/linux/power_supply.h
	include/linux/usb/phy.h
	include/soc/qcom/rmnet_qmi.h
	include/soc/qcom/socinfo.h
	include/trace/events/dfc.h
	include/uapi/linux/msm_ipa.h
	include/uapi/scsi/ufs/ufs.h
	include/uapi/sound/compress_params.h
	kernel/cpu.c
	kernel/sched/fair.c
	mm/memory.c
	net/qrtr/qrtr.c
	security/pfe/pfk.c
	sound/core/compress_offload.c
  Roll back:
  	fs/f2fs
	fs/ext4
Bug: 149660093

Change-Id: I87c4319d8529dc12120ed73ade97b24174be289f
Signed-off-by: Wilson Sung <wilsonsung@google.com>
2020-03-20 11:46:28 +08:00
Steve Pfetsch
0d4d86875d input: touchscreen: touch_offload driver
The touch_offload driver augments traditional touchscreen drivers with
the ability to capture and export heatmap and coordinate touch data for
processing in user space. The driver's client can query the touch data
available, configure which content is captured, read queued data as it
is captured, and report detected touch events back to the driver.

Bug: 139955910
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
Change-Id: Ifa2f003f281bfdf6f289ee3b15cd1ee47220f0ec
2020-03-18 00:25:53 +00:00
davidycchen
ec5b56897b touchscreen: heatmap: fix build break of variable length array used
drivers/input/touchscreen/heatmap.c:79:24: error: variable length array used [-Werror,-Wvla]
strength_t temp_buffer[total_bytes];

Bug: 139783401
Test: Use v4l-heatmap-viewer.apk(provided in bug) to check touch heatmap is workable.

Change-Id: I640a711a4065f2909e4aa0738eae2b1e36c817d5
Signed-off-by: davidycchen <davidycchen@google.com>
(cherry picked from commit 752bb006b9865a0268b5dd3c677d03c0873f8e84)
2019-12-13 06:19:24 +00:00
Wilson Sung
312445bdbb Merge android-msm-floral-4.14-qt-qpr1 into android-msm-sunfish-4.14
Conflicts:
	Documentation/devicetree/bindings/drm/msm/mdss-dsi-panel.txt
	Documentation/devicetree/bindings/pinctrl/qcom,sm8150-pinctrl
	Documentation/devicetree/bindings/regulator/qpnp-amoled-regulator.txt
	arch/arm64/Kconfig.platforms
	arch/arm64/Makefile
	arch/arm64/boot/dts/google/Makefile
	arch/arm64/boot/dts/qcom/Makefile
	build.config.common
	build.config.common.clang
	drivers/block/zram/zram_dedup.c
	drivers/char/diag/diagchar_core.c
	drivers/gpu/drm/msm/dsi-staging/dsi_backlight.c
	drivers/gpu/drm/msm/dsi-staging/dsi_display.c
	drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
	drivers/gpu/drm/msm/msm_atomic.c
	drivers/gpu/drm/msm/sde/sde_connector.c
	drivers/gpu/drm/msm/sde/sde_connector.h
	drivers/gpu/drm/msm/sde/sde_encoder.c
	drivers/gpu/msm/adreno_a6xx_gmu.c
	drivers/gpu/msm/kgsl_events.c
	drivers/gpu/msm/kgsl_gmu_core.c
	drivers/gpu/msm/kgsl_gmu_core.h
	drivers/input/misc/Makefile
	drivers/input/touchscreen/Kconfig
	drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.c
	drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h
	drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_core.c
	drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_core.h
	drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_interface.h
	drivers/media/platform/msm/camera/cam_sensor_module/Makefile
	drivers/media/platform/msm/camera/cam_sensor_module/cam_cci/cam_cci_core.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_csiphy/cam_csiphy_core.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_eeprom/cam_eeprom_dev.h
	drivers/media/platform/msm/camera/cam_utils/cam_soc_util.h
	drivers/misc/Kconfig
	drivers/misc/Makefile
	drivers/nfc/Kconfig
	drivers/nfc/ese/st54j_se.c
	drivers/nfc/st21nfc.c
	drivers/nfc/st21nfc.h
	drivers/pci/host/pci-msm-msi.c
	drivers/pci/host/pci-msm.c
	drivers/pinctrl/qcom/pinctrl-msm.c
	drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/qpnp-smb5.c
	drivers/power/supply/qcom/smb5-lib.c
	drivers/power/supply/qcom/smb5-lib.h
	drivers/regulator/Kconfig
	drivers/regulator/Makefile
	drivers/regulator/qpnp-amoled-regulator.c
	drivers/scsi/ufs/ufshcd.h
	drivers/soc/qcom/modemsmem/modemsmem.c
	drivers/soc/qcom/modemsmem/modemsmem.h
	drivers/thermal/qcom/bcl_pmic5.c
	drivers/thermal/thermal_core.c
	drivers/usb/dwc3/dwc3-msm.c
	drivers/usb/gadget/function/f_accessory.c
	fs/ext4/move_extent.c
	include/linux/power_supply.h
	include/uapi/linux/st54j_se.h
	include/uapi/media/cam_req_mgr.h
	include/uapi/media/cam_sensor.h
	kernel/sched/fair.c
	mm/memory.c
	mm/swapfile.c
	net/qrtr/qrtr.c
	sound/soc/codecs/Makefile

Bug: 143327339
Bug: 143336433
Bug: 143336628
Bug: 143337282
Bug: 143337733
Bug: 143338160
Bug: 143338217
Bug: 143338266
Change-Id: I94b5116b13d2792e72928a4a65533dca14822c71
Signed-off-by: Wilson Sung <wilsonsung@google.com>
2019-11-06 16:41:53 +08:00
Super Liu
a051cd5fa3 input: touch: tbn: improve the bus transition when timeout happened
Somehow qmi_send_request() will block over 10 secs. This will cause
qmi_txn_wait() with timeout_ms(500 here) can't work at all by purpose.
Therefore, create work task to send the qmi request to resolve this case.

07-28 10:27:46.437  root  5775  5775 I fts spi1.0: kernel releasing bus access from SLPI
...
07-28 10:27:56.569  root  5775  5775 I         : failed to send QMI message -11
07-28 10:27:56.569  root  5775  5775 E fts spi1.0: send request failed with: -11
...
07-28 10:28:08.203  root  5775  5775 I fts spi1.0: kernel requesting bus access from SLPI
...
07-28 10:28:18.328  root  5775  5775 I         : failed to send QMI message -11
07-28 10:28:18.328  root  5775  5775 E fts spi1.0: send request failed with: -11
...
07-28 10:28:18.385  root  5775  5775 I fts spi1.0: kernel releasing bus access from SLPI
...
07-28 10:28:28.572  root  5775  5775 I         : failed to send QMI message -11
07-28 10:28:28.573  root  5775  5775 E fts spi1.0: send request failed with: -11

Bug: 140730871
Change-Id: I4fe826f3b8726e2652f2264b56a31a0c920304bd
Signed-off-by: Super Liu <supercjliu@google.com>
(cherry picked from commit 29f869f220)
2019-10-18 22:48:43 +00:00
davidycchen
b415658c55 touchscreen: add synaptics v2.7 driver
Porting dev stage touch driver.
Bug: 141080020

Change-Id: I7fe1d1893dc3c6222e175534c67275537f4f8fa2
Signed-off-by: davidycchen <davidycchen@google.com>
2019-10-04 10:17:28 +08:00
Fei Mao
e551a79476 input: touchscreen: synaptics_tcm: extended format report
Support extended format report, so get more complex touch report events.

Change-Id: If8b6a5266ec26f032bfcb6dddae0ae907a055fe6
Signed-off-by: Fei Mao <feim1@codeaurora.org>
2019-09-18 14:31:27 +08:00
Super Liu
29f869f220 input: touch: tbn: improve the bus transition when timeout happened
Somehow qmi_send_request() will block over 10 secs. This will cause
qmi_txn_wait() with timeout_ms(500 here) can't work at all by purpose.
Therefore, create work task to send the qmi request to resolve this case.

07-28 10:27:46.437  root  5775  5775 I fts spi1.0: kernel releasing bus access from SLPI
...
07-28 10:27:56.569  root  5775  5775 I         : failed to send QMI message -11
07-28 10:27:56.569  root  5775  5775 E fts spi1.0: send request failed with: -11
...
07-28 10:28:08.203  root  5775  5775 I fts spi1.0: kernel requesting bus access from SLPI
...
07-28 10:28:18.328  root  5775  5775 I         : failed to send QMI message -11
07-28 10:28:18.328  root  5775  5775 E fts spi1.0: send request failed with: -11
...
07-28 10:28:18.385  root  5775  5775 I fts spi1.0: kernel releasing bus access from SLPI
...
07-28 10:28:28.572  root  5775  5775 I         : failed to send QMI message -11
07-28 10:28:28.573  root  5775  5775 E fts spi1.0: send request failed with: -11

Bug: 138704455
Change-Id: I4fe826f3b8726e2652f2264b56a31a0c920304bd
Signed-off-by: Super Liu <supercjliu@google.com>
2019-08-22 16:09:24 +00:00
Oleg Matcovschi
0dc437637d power: reset: Add shutdown-thermal command
Bug: 127335359

Change-Id: Id599c01d62a0c48dc446bf10dc6c902d0bd60800
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
2019-05-07 17:39:52 +00:00
Oleg Matcovschi
6e186d294e input:qpnp-power-on: Additional restart reason
Keep in sync bootloader and kernel restart reasons.

Bug: 130566072
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
Change-Id: I9f4b9a4137668465fd4cdb2523fbb9a3650af4a7
2019-05-07 17:39:40 +00:00
Siarhei Vishniakou
b25f7e0e10 input: touch: heatmap: Properly lock heatmap buffers
The access (r/w) to the list of heatmap buffers was protected by the
heatmap lock. However, the actual usage of the buffers was not.
Therefore, once a buffer is dequeued from the list, it was being
modified without the lock protection. This lead to the following
problem: during teardown, if a touch interrupt comes in, the buffers can
be torn down but still be accessed from the heatmap read. This caused
kernel panic (leading to ramdump).
To reproduce the bug, write a program that accesses the heatmap video
device, and then crashes (happened during HAL development). Next,
continuosly touch the screen (to keep generating interrupts), and launch
the HAL process. The phone will enter ramdump after HAL crashes.

To fix this, move the bus read into a separate step in the interrupt
routine. Now there's a private temporary buffer on the stack that the
bus read is pulling data into. Once the bus read is finished, the data
from the temporary buffer gets copied into the actual (user-readable)
heatmap frame in a single locking operation.

This change means that we no longer (*) check if there are available
buffers before we begin the bus read. This could lead to inefficiency,
since at the end of the bus read, we may find out that there aren't any
free buffers, so we will drop the frame. That would mean that the bus
read was wasteful. In real life testing, however, such a situation was
not observed.

* we do actually check
Still, to account for this possibility, we add an optimization. If we
see that this situation happens at least 3 times in a row, we will start
checking for the availability of free buffers before doing the bus read.
This would also help prevent logspam, which currently happens in a
situation where the user process decided to stop reading buffers, but
did not stop streaming.

We don't want to unconditionally check for availability of free buffers
before the bus read, because it is possible that a buffer may become
available during the read itself. The read can take several
milliseconds, so this could give the user space additional time to
process the existing data and return a buffer.

To check for whether the streaming is currently on, use official api
"vb2_is_streaming", instead of using hidden api "streaming".

Small additional fixes:
- Ensure consistent use of strength_t
- Add a doc for heatmap_read

Bug: 117469302
Test: crashes no longer observed using the steps described above
Change-Id: I2b77a79469e22ce4ee39827a951a2ace58db8972
Signed-Off-By: Siarhei Vishniakou <svv@google.com>

(cherry picked from commit b5a5623e4d8ef20afa04c7d28d32413a911f8677)
2019-05-06 22:24:49 +00:00
Andrew Chant
25066908e4 Merge LA.UM.8.1.C9.09.00.00.518.048 via branch 'qcom-msm-4.14' into android-msm-floral-4.14
Conflicts:
       block/blk-merge.c
       drivers/gpu/drm/msm/dsi-staging/dsi_defs.h
       drivers/gpu/drm/msm/dsi-staging/dsi_display.c
       drivers/gpu/drm/msm/dsi-staging/dsi_display.h
       drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
       drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
       drivers/gpu/drm/msm/msm_kms.h
       drivers/input/touchscreen/Makefile
       drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_core.c
       drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_dev.c
       drivers/media/platform/msm/camera/cam_sensor_module/cam_sensor/cam_sensor_dev.c
       drivers/media/platform/msm/vidc/hfi_response_handler.c
       drivers/misc/Kconfig
       drivers/misc/Makefile
       drivers/pci/host/pci-msm.c
       drivers/power/supply/qcom/smb5-lib.c
       drivers/scsi/ufs/ufshcd.c
       drivers/scsi/ufs/ufshcd.h
       drivers/spi/spi-geni-qcom.c
       fs/f2fs/super.c
       kernel/sched/fair.c

Bug: 123862805
Bug: 124347384
Bug: 124346809
Bug: 124346720
Change-Id: I5c38fbf4bd468f27f04f2b351560adf9e957949e
Signed-off-by: Andrew Chant <achant@google.com>
2019-02-20 15:32:51 +08:00
xigualu
1505afb5de input: touchscreen: add synaptics_tcm v1.1 reference touch driver
Add synaptics_tcm v1.1 reference touch driver code for third
generation touch controller chipsets including TDDI support.

Change-Id: I42bc348f5365a0542f5bdba30da2e4c63ab4a1cf
Signed-off-by: xigualu <luxh0702@thundersoft.com>
Git-commit: c0ee4c3b5d7f274adc2cd0ede9c083f694329abe
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/commit/?h=Synaptics_tcm_v1.1
[feim1@codeaurora.org: add TDDI support with Display dependency]
[vevekv@codeaurora.org: resolve merge conflicts and fix errors]
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Signed-off-by: Vevek Venkatesan <vevekv@codeaurora.org>
2019-01-10 14:55:57 +05:30
Robin Peng
eab15e6e47 Merge LA.UM.8.1.R2.09.00.00.531.007 via branch 'qcom-msm-4.14' into android-msm-floral-4.14
Conflicts:
	drivers/gpu/drm/msm/dsi-staging/dsi_display.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_core.c
	drivers/pci/host/pci-msm.c
	drivers/power/supply/qcom/Kconfig
	drivers/power/supply/qcom/Makefile
	drivers/power/supply/qcom/qpnp-smb5.c
	drivers/power/supply/qcom/smb5-lib.c

Bug: 120534101
Change-Id: If4587d0bdf746e9d1d13557e9ff61dfbf7309e4d
Signed-off-by: Robin Peng <robinpeng@google.com>
2018-12-14 16:26:26 +08:00
Harpreet "Eli" Sangha
3603330fbd input: touch: tbn: make headers public
move headers to include path so they can be included
without relative paths

Bug: 114454293
Test: Build with TBN Enabled
Change-Id: I7c8013c240059f4899f6ea4cd38dba2be42c6980
Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com>
2018-12-12 05:10:49 +00:00
jonechou
8c9245f6b0 power: reset: support recording bootreason
bootreason would be brought to kernel cmdline for debugging usage
bootreason is set to 'WDT' by bootloader by default
bootreason is set to 'PANIC' or 0 when KP or reboot is triggered

Bug: 119667605
Change-Id: I0cf672e2f48182f357f30b0f289426baa2c0901e
Signed-off-by: Jone Chou <jonechou@google.com>
2018-11-28 08:17:51 +00:00
Siarhei Vishniakou
fb7e31ceab input: touch: stm/sec_ts: video device name
Match video device name with input device name.
There isn't an explicit API in v4l2 to get the video device name. The
closest API to this is struct v4l2_capability.card that is obtained via
VIDIOC_QUERYCAP ioctl.

Currently, the "card" field is set to the touch driver name, which may
(and usually does) not correspond to the input device name. To fix this,
add an optional reference to the parent input device.
The decision was made here to just provide an input device reference
instead of just copying the string name into the v4l2 struct. The
rationale is that the logic is simpler, the nullness check can be more
meaningful (if not specified, can default to driver name), and it is
more efficient to just keep a pointer around instead of worrying about
copying strings, allocating the proper amount of space, etc.

Test: tested with C1. With additional (unreleased) code to match the
input device with a video device in inputflinger, able to correctly
receive the video frames and pass that on to higher layers of the stack.
Bug: 111480215
Signed-Off-By: Siarhei Vishniakou <svv@google.com>

Bug: 119216282
Change-Id: I2b84a6d5d06a0cb88ab0ae03ec1fa32c1a1e7405
Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com>
(cherry picked from commit 964ea6531b393e84b387d8c8b501f0bc2cfc5b47)
2018-11-27 13:04:28 +09:00
Siarhei Vishniakou
3f4687f056 input: touchscreen: stm/sec: Add local heatmap
Register v4l2 device to report heatmap data. Use MSC_TIMESTAMP events
to synchronize the video frames with the input events.

Now includes:
- Support for B1 and C1
- registering of the v4l-touch device in the touch driver
- data properly written to video frame
- timestamps are populated
- report msc_timestamp before sync, but read_heatmap after:
  this informs user space that input event occurred, and allows the
i2c read to happen in parallel. Then, user space can wait on the frame
to become available.

Bug: 62940136
Test: used the HeatMapDemo app to visually confirm the output

Bug: 119216282
Signed-off-by: Siarhei Vishniakou <svv@google.com>
Signed-off-by: Harpreet "Eli" Sangha <eliptus@google.com>
Change-Id: Ib282a0c59849a07cac542c1cdc6ed2b3d035a6af
(cherry picked from commit 1cfc8285368f7c435900ef4db5f6fef91e53cd26)
2018-11-27 13:04:28 +09:00
David Collins
8397d59bfc input: qpnp-power-on: refactor the qpnp-power-on driver
Refactor the qpnp-power-on driver to reduce complexity, improve
readability, and resolve various minor coding concerns.

Change-Id: I27382f07a6ba3e2d0c64aa731393afff27628a36
Signed-off-by: David Collins <collinsd@codeaurora.org>
2018-11-06 16:58:33 -08:00
Andrew Chant
168b46e1b0 Merge branch 'qcom-msm-4.14' into merge_qcom_kernel_into_floral
This merges LA.UM.7.1.r1-04400-sm8150.0 into android-msm-floral-4.14.

 Conflicts:
        drivers/gpu/drm/msm/dsi-staging/dsi_display.c
        drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
        drivers/gpu/drm/msm/msm_atomic.c
        drivers/input/touchscreen/Makefile
        drivers/nfc/Kconfig
        drivers/nfc/Makefile
        drivers/power/supply/qcom/qpnp-fg-gen4.c

Bug: 113353145
Change-Id: Ie138a5055de4ab951fc9c019ab1dc97ba0dc611f
Signed-off-by: Miguel de Dios <migueldedios@google.com>
2018-09-08 17:24:37 -07:00
chenx
559fabe1e7 input: touchpanel: Add Synaptics latest version 2.7 touchpanel driver
This is the reference driver source code for synaptics touch driver,
the version is 2.7.It is used for QVR845 touchscreen.

Change-Id: I2b5a8ef1b354340a2a8afa4cc27e322672160a03
Signed-off-by: chenx <chenxiang0527@thundersoft.com>
Git-commit: 485b00bb7275ac565328166de1365013a77122f2
Git-repo: https://source.codeaurora.org/external/thundersoft/ihvjointlab/sensor-driver/commit/?h=Synaptics_ctp_v2.7
[jinf@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Jin Fu <jinf@codeaurora.org>
2018-07-12 11:15:39 +05:30
Steve Pfetsch
7cdc2bccba touch: LSI touch driver and header changes
- Modified sec_ts driver and added sec_cmd
- Modified Linux header files with changes from open source kernel

Bug: 69859019
Change-Id: Ibd8b53eadb5726720505dfdd4f25e290b8de3e97
Signed-off-by: Steve Pfetsch <spfetsch@google.com>
(cherry picked from commit 89979af2fd417af1eef643eb610debdbcf9905c0)
2018-07-02 11:21:30 -07:00
David Collins
f10a4ab033 input: qpnp-power-on: add device tree constants for power on/off types
Add PMIC PON peripheral power-on and power-off types in a device
tree header file.  Use these constants in the qpnp-power-on
driver enums to ensure that device tree and the driver are always
in-sync.  Also update device tree binding documentation to match
what is supported by the driver.

Change-Id: I77f924f846380a3eaf968de6c85a8680ed0ca6ea
Signed-off-by: David Collins <collinsd@codeaurora.org>
2018-02-01 15:54:38 -08:00
Runmin Wang
253c6dff4b Merge remote-tracking branch 'remotes/origin/tmp-39dae59' into msm-next
* remotes/msm-4.9/tmp-39dae59:
  Linux 4.14-rc8
  x86/module: Detect and skip invalid relocations
  objtool: Prevent GCC from merging annotate_unreachable(), take 2
  Revert "x86/mm: Stop calling leave_mm() in idle code"
  Documentation: Add Frank Rowand to list of enforcement statement endorsers
  doc: add Willy Tarreau to the list of enforcement statement endorsers
  tools/headers: Synchronize kernel ABI headers
  objtool: Resync objtool's instruction decoder source code copy with the kernel's latest version
  Input: sparse-keymap - send sync event for KE_SW/KE_VSW
  Input: ar1021_i2c - set INPUT_PROP_DIRECT
  arch/tile: Implement ->set_state_oneshot_stopped()
  Update MIPS email addresses
  x86: CPU: Fix up "cpu MHz" in /proc/cpuinfo
  mm, swap: fix race between swap count continuation operations
  mm/huge_memory.c: deposit page table when copying a PMD migration entry
  initramfs: fix initramfs rebuilds w/ compression after disabling
  fs/hugetlbfs/inode.c: fix hwpoison reserve accounting
  ocfs2: fstrim: Fix start offset of first cluster group during fstrim
  mm, /proc/pid/pagemap: fix soft dirty marking for PMD migration entry
  userfaultfd: hugetlbfs: prevent UFFDIO_COPY to fill beyond the end of i_size
  Documentation: Add Tim Bird to list of enforcement statement endorsers
  net: systemport: Correct IPG length settings
  tcp: do not mangle skb->cb[] in tcp_make_synack()
  fib: fib_dump_info can no longer use __in_dev_get_rtnl
  stmmac: use of_property_read_u32 instead of read_u8
  net_sched: hold netns refcnt for each action
  net_sched: acquire RTNL in tc_action_net_exit()
  powerpc/perf: Fix core-imc hotplug callback failure during imc initialization
  Kbuild: don't pass "-C" to preprocessor when processing linker scripts
  Revert "x86: do not use cpufreq_quick_get() for /proc/cpuinfo "cpu MHz""
  arm64: ensure __dump_instr() checks addr_limit
  KVM: x86: Update APICv on APIC reset
  KVM: VMX: Do not fully reset PI descriptor on vCPU reset
  kvm: Return -ENODEV from update_persistent_clock
  futex: futex_wake_op, do not fail on invalid op
  MIPS: Update email address for Marcin Nowakowski
  License cleanup: add SPDX license identifier to uapi header files with a license
  License cleanup: add SPDX license identifier to uapi header files with no license
  License cleanup: add SPDX GPL-2.0 license identifier to files with no license
  KEYS: fix out-of-bounds read during ASN.1 parsing
  KEYS: trusted: fix writing past end of buffer in trusted_read()
  KEYS: return full count in keyring_read() if buffer is too small
  net: vrf: correct FRA_L3MDEV encode type
  tcp_nv: fix division by zero in tcpnv_acked()
  drm/amdgpu: allow harvesting check for Polaris VCE
  drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting
  ARM: add debug ".edata_real" symbol
  MIPS: smp-cmp: Fix vpe_id build error
  MAINTAINERS: Update Pistachio platform maintainers
  MIPS: smp-cmp: Use right include for task_struct
  signal: Fix name of SIGEMT in #if defined() check
  MIPS: Update Goldfish RTC driver maintainer email address
  MIPS: Update RINT emulation maintainer email address
  MIPS: CPS: Fix use of current_cpu_data in preemptible code
  x86/mcelog: Get rid of RCU remnants
  watchdog/hardlockup/perf: Use atomics to track in-use cpu counter
  watchdog/harclockup/perf: Revert a33d44843d ("watchdog/hardlockup/perf: Simplify deferred event destroy")
  ARM: 8716/1: pass endianness info to sparse
  drm/i915: Check incoming alignment for unfenced buffers (on i915gm)
  x86/mm: fix use-after-free of vma during userfaultfd fault
  ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
  mmc: dw_mmc: Fix the DTO timeout calculation
  tcp: fix tcp_mtu_probe() vs highest_sack
  ipv6: addrconf: increment ifp refcount before ipv6_del_addr()
  tun/tap: sanitize TUNSETSNDBUF input
  mlxsw: i2c: Fix buffer increment counter for write transaction
  netfilter: nf_reject_ipv4: Fix use-after-free in send_reset
  futex: Fix more put_pi_state() vs. exit_pi_state_list() races
  powerpc/kprobes: Dereference function pointers only if the address does not belong to kernel text
  Revert "powerpc64/elfv1: Only dereference function descriptor for non-text symbols"
  mlxsw: reg: Add high and low temperature thresholds
  MAINTAINERS: Remove Yotam from mlxfw
  MAINTAINERS: Update Yotam's E-mail
  net: hns: set correct return value
  net: lapbether: fix double free
  bpf: remove SK_REDIRECT from UAPI
  net: phy: marvell: Only configure RGMII delays when using RGMII
  MIPS: SMP: Fix deadlock & online race
  MIPS: bpf: Fix a typo in build_one_insn()
  MIPS: microMIPS: Fix incorrect mask in insn_table_MM
  MIPS: Fix CM region target definitions
  MIPS: generic: Fix compilation error from include asm/mips-cpc.h
  MIPS: Fix exception entry when CONFIG_EVA enabled
  irqchip/irq-mvebu-gicp: Add missing spin_lock init
  drm/nouveau/kms/nv50: use the correct state for base channel notifier setup
  MIPS: generic: Fix NI 169445 its build
  Update MIPS email addresses
  tile: pass machine size to sparse
  selftests: lib.mk: print individual test results to console by default
  RDMA/nldev: Enforce device index check for port callback
  Revert "PM / QoS: Fix device resume latency PM QoS"
  Revert "PM / QoS: Fix default runtime_pm device resume latency"
  scsi: qla2xxx: Fix oops in qla2x00_probe_one error path
  xfrm: Fix GSO for IPsec with GRE tunnel.
  ALSA: seq: Fix nested rwsem annotation for lockdep splat
  ALSA: timer: Add missing mutex lock for compat ioctls
  tc-testing: fix arg to ip command: -s -> -n
  net_sched: remove tcf_block_put_deferred()
  l2tp: hold tunnel in pppol2tp_connect()
  drm/i915: Hold rcu_read_lock when iterating over the radixtree (vma idr)
  drm/i915: Hold rcu_read_lock when iterating over the radixtree (objects)
  drm/i915/edp: read edp display control registers unconditionally
  drm/i915: Do not rely on wm preservation for ILK watermarks
  drm/i915: Cancel the modeset retry work during modeset cleanup
  Mark 'ioremap_page_range()' as possibly sleeping
  nvme: Fix setting logical block format when revalidating
  mmc: dw_mmc: Add locking to the CTO timer
  mmc: dw_mmc: Fix the CTO timeout calculation
  mmc: dw_mmc: cancel the CTO timer after a voltage switch
  perf/cgroup: Fix perf cgroup hierarchy support
  PM / QoS: Fix default runtime_pm device resume latency
  Revert "ath10k: fix napi_poll budget overflow"
  ath10k: rebuild crypto header in rx data frames
  cifs: check MaxPathNameComponentLength != 0 before using it
  KVM: arm/arm64: vgic-its: Check GITS_BASER Valid bit before saving tables
  KVM: arm/arm64: vgic-its: Check CBASER/BASER validity before enabling the ITS
  KVM: arm/arm64: vgic-its: Fix vgic_its_restore_collection_table returned value
  KVM: arm/arm64: vgic-its: Fix return value for device table restore
  efi/libstub: arm: omit sorting of the UEFI memory map
  perf tools: Unwind properly location after REJECT
  virtio_blk: Fix an SG_IO regression
  wcn36xx: Remove unnecessary rcu_read_unlock in wcn36xx_bss_info_changed
  ARM: dts: mvebu: pl310-cache disable double-linefill
  xfrm: Clear sk_dst_cache when applying per-socket policy.
  perf symbols: Fix memory corruption because of zero length symbols
  powerpc/64s/radix: Fix preempt imbalance in TLB flush
  netfilter: nft_set_hash: disable fast_ops for 2-len keys
  powerpc: Fix check for copy/paste instructions in alignment handler
  powerpc/perf: Fix IMC allocation routine
  xfrm: Fix xfrm_dst_cache memleak
  ARM: 8715/1: add a private asm/unaligned.h
  clk: uniphier: fix clock data for PXs3
  Documentation: Add my name to kernel enforcement statement
  nvme-rdma: fix possible hang when issuing commands during ctrl removal
  arm/arm64: kvm: Disable branch profiling in HYP code
  arm/arm64: kvm: Move initialization completion message
  arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort
  Documentation: kernel-enforcement-statement.rst: proper sort names
  ASoC: rt5616: fix 0x91 default value
  Documentation: Add Arm Ltd to kernel-enforcement-statement.rst
  arm64: dts: uniphier: add STDMAC clock to EHCI nodes
  ARM: dts: uniphier: add STDMAC clock to EHCI nodes
  mmc: renesas_sdhi: fix kernel panic in _internal_dmac.c
  mmc: tmio: fix swiotlb buffer is full
  Documentation: kernel-enforcement-statement.rst: Remove Red Hat markings
  Documentation: Add myself to the enforcement statement list
  Documentation: Sign kernel enforcement statement
  Add ack for Trond Myklebust to the enforcement statement
  Documentation: update kernel enforcement support list
  Documentation: add my name to supporters
  ASoC: rt5659: connect LOUT Amp with Charge Pump
  ASoC: rt5659: register power bit of LOUT Amp
  KVM: arm64: its: Fix missing dynamic allocation check in scan_its_table
  crypto: x86/chacha20 - satisfy stack validation 2.0
  ASoC: rt5663: Change the dev getting function in rt5663_irq
  ASoC: rt5514: Revert Hotword Model control
  ASoC: topology: Fix a potential memory leak in 'soc_tplg_dapm_widget_denum_create()'
  ASoC: topology: Fix a potential NULL pointer dereference in 'soc_tplg_dapm_widget_denum_create()'
  ASoC: rt5514-spi: check irq status to schedule data copy
  ASoC: adau17x1: Workaround for noise bug in ADC

  Conflicts:
	drivers/gpu/drm/msm/Makefile
	drivers/soc/qcom/Makefile
	drivers/staging/android/ion/Makefile
	include/linux/coresight-stm.h
	include/trace/events/kmem.h

Change-Id: I01f1779762b652b9213924caa3d54f29cf03d285
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2017-11-06 11:37:20 -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
David Collins
9555a0cc10 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.4
commit 07f2f9952c78 ("input: move qpnp-power-on driver into
input/misc directory").

Change-Id: Idcbaefa635d49075c9b93819766d722ca0eb698f
Signed-off-by: David Collins <collinsd@codeaurora.org>
2017-08-08 15:43:14 -07: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