aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
authorLinus Torvalds <torvalds@linux-foundation.org>2026-06-22 12:20:21 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2026-06-22 12:20:21 -0700
commit0000d9ccbcfa90411c88f70850501723389312b9 (patch)
treed68ce425419c158d3a89cc04ba068057187997fe /include
parent364f4a55c661641c02c86a849f0608d8fc3c0006 (diff)
parentb232fc005aec5fa5346d970f8986b8f0046f328b (diff)
downloadath-0000d9ccbcfa90411c88f70850501723389312b9.tar.gz
Merge tag 'char-misc-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull misc driver updates from Greg KH: "Here is the big set of char, misc, iio, fpga, and other small driver subsystems changes for 7.2-rc1. Lots of little stuff in here, the majority being of course the IIO driver updates, as a list they are: - IIO driver updates and additions - GPIB driver bugfixes and cleanups - Android binder driver updates (rust and C version) - counter driver updates - MHI driver updates - mei driver updates - w1 driver updates - interconnect driver updates - Comedi driver fixes and updates - some obsolete char drivers removed (applicom and dtlk) - hwtracing driver updates - other tiny driver updates All of these have been in linux-next for a while with no reported issues" * tag 'char-misc-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (406 commits) w1: ds2482: Use named initializers for arrays of i2c_device_data firmware: stratix10-svc: Add support to query Arm Trusted Firmware (ATF) version firmware: stratix10-rsu: avoid blocking reboot_image sysfs when busy coresight: ultrasoc-smb: Fix OOB write in smb_sync_perf_buffer() iio: adc: nxp-sar-adc: harden buffer ISR against per-channel read failure iio: chemical: scd30: Replace manual locking with RAII locking iio: light: tsl2591: remove unneeded tsl2591_compatible_als_persist_cycle() iio: dac: ad5686: create bus ops struct iio: dac: ad5686: cleanup doc header of local structs iio: dac: ad5686: add control_sync() for single-channel devices iio: dac: ad5686: add helpers to handle powerdown masks iio: dac: ad5686: add of_match table to the spi driver iio: dac: ad5686: drop enum id iio: dac: ad5686: remove redundant register definition iio: dac: ad5686: refactor include headers iio: adc: ad4080: fix AD4880 chip ID iio: light: veml3328: add support for new device dt-bindings: iio: light: veml6030: add veml3328 fpga: microchip-spi: fix zero header_size OOB read in mpf_ops_parse_header() fpga: dfl-afu: validate DMA mapping length in afu_dma_map_region() ...
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/interconnect/qcom,eliza-rpmh.h1
-rw-r--r--include/dt-bindings/interconnect/qcom,hawi-rpmh.h165
-rw-r--r--include/dt-bindings/interconnect/qcom,nord-rpmh.h217
-rw-r--r--include/dt-bindings/interconnect/qcom,shikra.h121
-rw-r--r--include/linux/coresight.h27
-rw-r--r--include/linux/cpuhotplug.h2
-rw-r--r--include/linux/dtlk.h86
-rw-r--r--include/linux/firmware/intel/stratix10-smc.h31
-rw-r--r--include/linux/firmware/intel/stratix10-svc-client.h7
-rw-r--r--include/linux/iio/backend.h1
-rw-r--r--include/linux/iio/buffer.h14
-rw-r--r--include/linux/iio/iio.h39
-rw-r--r--include/linux/platform_data/apds990x.h65
-rw-r--r--include/uapi/linux/iio/types.h2
14 files changed, 603 insertions, 175 deletions
diff --git a/include/dt-bindings/interconnect/qcom,eliza-rpmh.h b/include/dt-bindings/interconnect/qcom,eliza-rpmh.h
index 95db2fe647de5..dfe99feefb279 100644
--- a/include/dt-bindings/interconnect/qcom,eliza-rpmh.h
+++ b/include/dt-bindings/interconnect/qcom,eliza-rpmh.h
@@ -57,6 +57,7 @@
#define SLAVE_PCIE_ANOC_CFG 27
#define SLAVE_QDSS_STM 28
#define SLAVE_TCU 29
+#define SLAVE_SDCC_1 30
#define MASTER_GEM_NOC_CNOC 0
#define MASTER_GEM_NOC_PCIE_SNOC 1
diff --git a/include/dt-bindings/interconnect/qcom,hawi-rpmh.h b/include/dt-bindings/interconnect/qcom,hawi-rpmh.h
new file mode 100644
index 0000000000000..a8b649679846c
--- /dev/null
+++ b/include/dt-bindings/interconnect/qcom,hawi-rpmh.h
@@ -0,0 +1,165 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_HAWI_H
+#define __DT_BINDINGS_INTERCONNECT_QCOM_HAWI_H
+
+#define MASTER_QSPI_0 0
+#define MASTER_QUP_2 1
+#define MASTER_QUP_3 2
+#define MASTER_QUP_4 3
+#define MASTER_CRYPTO 4
+#define MASTER_IPA 5
+#define MASTER_QUP_1 6
+#define MASTER_SOCCP_PROC 7
+#define MASTER_QDSS_ETR 8
+#define MASTER_QDSS_ETR_1 9
+#define MASTER_SDCC_2 10
+#define MASTER_SDCC_4 11
+#define MASTER_UFS_MEM 12
+#define MASTER_USB3 13
+#define SLAVE_A1NOC_SNOC 14
+
+#define MASTER_DDR_EFF_VETO 0
+#define MASTER_QUP_CORE_0 1
+#define MASTER_QUP_CORE_1 2
+#define MASTER_QUP_CORE_2 3
+#define MASTER_QUP_CORE_3 4
+#define MASTER_QUP_CORE_4 5
+#define SLAVE_DDR_EFF_VETO 6
+#define SLAVE_QUP_CORE_0 7
+#define SLAVE_QUP_CORE_1 8
+#define SLAVE_QUP_CORE_2 9
+#define SLAVE_QUP_CORE_3 10
+#define SLAVE_QUP_CORE_4 11
+
+#define MASTER_GEM_NOC_CNOC 0
+#define MASTER_GEM_NOC_PCIE_SNOC 1
+#define SLAVE_AOSS 2
+#define SLAVE_IPA_CFG 3
+#define SLAVE_IPC_ROUTER_FENCE 4
+#define SLAVE_SOCCP 5
+#define SLAVE_TME_CFG 6
+#define SLAVE_CNOC_CFG 7
+#define SLAVE_DDRSS_CFG 8
+#define SLAVE_IMEM 9
+#define SLAVE_PCIE_0 10
+#define SLAVE_PCIE_1 11
+
+#define MASTER_GIC 0
+#define MASTER_GPU_TCU 1
+#define MASTER_SYS_TCU 2
+#define MASTER_APPSS_PROC 3
+#define MASTER_GFX3D 4
+#define MASTER_LPASS_GEM_NOC 5
+#define MASTER_MSS_PROC 6
+#define MASTER_MNOC_HF_MEM_NOC 7
+#define MASTER_MNOC_SF_MEM_NOC 8
+#define MASTER_COMPUTE_NOC 9
+#define MASTER_ANOC_PCIE_GEM_NOC 10
+#define MASTER_QPACE 11
+#define MASTER_SNOC_SF_MEM_NOC 12
+#define MASTER_WLAN_Q6 13
+#define SLAVE_GEM_NOC_CNOC 14
+#define SLAVE_LLCC 15
+#define SLAVE_MEM_NOC_PCIE_SNOC 16
+
+#define MASTER_LPIAON_NOC_LLCLPI_NOC 0
+#define SLAVE_LPASS_LPI_CC 1
+#define SLAVE_LLCC_ISLAND 2
+#define SLAVE_SERVICE_LLCLPI_NOC 3
+#define SLAVE_SERVICE_LLCLPI_NOC_CHIPCX 4
+
+#define MASTER_LPIAON_NOC 0
+#define SLAVE_LPASS_GEM_NOC 1
+
+#define MASTER_LPASS_LPINOC 0
+#define SLAVE_LPIAON_NOC_LLCLPI_NOC 1
+#define SLAVE_LPIAON_NOC_LPASS_AG_NOC 2
+
+#define MASTER_LPASS_PROC 0
+#define SLAVE_LPICX_NOC_LPIAON_NOC 1
+
+#define MASTER_LLCC 0
+#define MASTER_DDR_RT 1
+#define SLAVE_EBI1 2
+#define SLAVE_DDR_RT 3
+
+#define MASTER_CAMNOC_HF 0
+#define MASTER_CAMNOC_NRT_ICP_SF 1
+#define MASTER_CAMNOC_RT_CDM_SF 2
+#define MASTER_CAMNOC_SF 3
+#define MASTER_MDP 4
+#define MASTER_MDSS_DCP 5
+#define MASTER_CDSP_HCP 6
+#define MASTER_VIDEO_CV_PROC 7
+#define MASTER_VIDEO_EVA 8
+#define MASTER_VIDEO_MVP 9
+#define MASTER_VIDEO_V_PROC 10
+#define SLAVE_MNOC_HF_MEM_NOC 11
+#define SLAVE_MNOC_SF_MEM_NOC 12
+
+#define MASTER_CDSP_PROC 0
+#define SLAVE_CDSP_MEM_NOC 1
+
+#define MASTER_PCIE_ANOC_CFG 0
+#define MASTER_PCIE_0 1
+#define MASTER_PCIE_1 2
+#define SLAVE_ANOC_PCIE_GEM_NOC 3
+#define SLAVE_SERVICE_PCIE_ANOC 4
+
+#define MASTER_CFG_CENTER 0
+#define MASTER_CFG_EAST 1
+#define MASTER_CFG_MM 2
+#define MASTER_CFG_NORTH 3
+#define MASTER_CFG_SOUTH 4
+#define MASTER_CFG_SOUTHWEST 5
+#define SLAVE_AHB2PHY_SOUTH 6
+#define SLAVE_BOOT_ROM 7
+#define SLAVE_CAMERA_CFG 8
+#define SLAVE_CLK_CTL 9
+#define SLAVE_CRYPTO_CFG 10
+#define SLAVE_DISPLAY_CFG 11
+#define SLAVE_EVA_CFG 12
+#define SLAVE_GFX3D_CFG 13
+#define SLAVE_I2C 14
+#define SLAVE_IMEM_CFG 15
+#define SLAVE_IPC_ROUTER_CFG 16
+#define SLAVE_IRIS_CFG 17
+#define SLAVE_CNOC_MSS 18
+#define SLAVE_PCIE_0_CFG 19
+#define SLAVE_PCIE_1_CFG 20
+#define SLAVE_PRNG 21
+#define SLAVE_QSPI_0 22
+#define SLAVE_QUP_1 23
+#define SLAVE_QUP_2 24
+#define SLAVE_QUP_3 25
+#define SLAVE_QUP_4 26
+#define SLAVE_SDCC_2 27
+#define SLAVE_SDCC_4 28
+#define SLAVE_TLMM 29
+#define SLAVE_UFS_MEM_CFG 30
+#define SLAVE_USB3 31
+#define SLAVE_VSENSE_CTRL_CFG 32
+#define SLAVE_PCIE_ANOC_CFG 33
+#define SLAVE_QDSS_CFG 34
+#define SLAVE_QDSS_STM 35
+#define SLAVE_TCSR 36
+#define SLAVE_TCU 37
+
+#define MASTER_CNOC_STARDUST 0
+#define SLAVE_STARDUST_CENTER_CFG 1
+#define SLAVE_STARDUST_EAST_CFG 2
+#define SLAVE_STARDUST_MM_CFG 3
+#define SLAVE_STARDUST_NORTH_CFG 4
+#define SLAVE_STARDUST_SOUTH_CFG 5
+#define SLAVE_STARDUST_SOUTHWEST_CFG 6
+
+#define MASTER_A1NOC_SNOC 0
+#define MASTER_APSS_NOC 1
+#define MASTER_CNOC_SNOC 2
+#define SLAVE_SNOC_GEM_NOC_SF 3
+
+#endif
diff --git a/include/dt-bindings/interconnect/qcom,nord-rpmh.h b/include/dt-bindings/interconnect/qcom,nord-rpmh.h
new file mode 100644
index 0000000000000..5bdce6a9bab79
--- /dev/null
+++ b/include/dt-bindings/interconnect/qcom,nord-rpmh.h
@@ -0,0 +1,217 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_NORD_H
+#define __DT_BINDINGS_INTERCONNECT_QCOM_NORD_H
+
+#define MASTER_QSPI_0 0
+#define MASTER_SAILSS_MD1 1
+#define MASTER_QUP_3 2
+#define SLAVE_A1NOC_SNOC 3
+
+#define MASTER_QUP_2 0
+#define MASTER_CRYPTO_CORE0 1
+#define MASTER_CRYPTO_CORE1 2
+#define MASTER_CRYPTO_CORE2 3
+#define MASTER_SDCC_4 4
+#define MASTER_UFS_MEM 5
+#define MASTER_USB2 6
+#define MASTER_USB3_0 7
+#define MASTER_USB3_1 8
+#define SLAVE_A1NOC_HSCNOC 9
+
+#define MASTER_IPA 0
+#define MASTER_SOCCP_AGGR_NOC 1
+#define MASTER_QDSS_ETR 2
+#define MASTER_QDSS_ETR_1 3
+#define SLAVE_A2NOC_SNOC 4
+
+#define MASTER_QUP_0 0
+#define MASTER_QUP_1 1
+#define MASTER_EMAC_0 2
+#define MASTER_EMAC_1 3
+#define SLAVE_A2NOC_HSCNOC 4
+
+#define MASTER_QUP_CORE_0 0
+#define MASTER_QUP_CORE_1 1
+#define MASTER_QUP_CORE_2 2
+#define MASTER_QUP_CORE_3 3
+#define SLAVE_QUP_CORE_0 4
+#define SLAVE_QUP_CORE_1 5
+#define SLAVE_QUP_CORE_2 6
+#define SLAVE_QUP_CORE_3 7
+
+#define MASTER_CNOC_CFG 0
+#define SLAVE_PS_ETH_0 1
+#define SLAVE_PS_ETH_1 2
+#define SLAVE_SHS_SERVER 3
+#define SLAVE_AHB2PHY_0 4
+#define SLAVE_AHB2PHY_1 5
+#define SLAVE_AHB2PHY_2 6
+#define SLAVE_AHB2PHY_3 7
+#define SLAVE_AHB2PHY_ETH_0 8
+#define SLAVE_AHB2PHY_ETH_1 9
+#define SLAVE_CAMERA_CFG 10
+#define SLAVE_CLK_CTL 11
+#define SLAVE_CRYPTO_0_CFG 12
+#define SLAVE_CRYPTO_1_CFG 13
+#define SLAVE_CRYPTO_2_CFG 14
+#define SLAVE_DISPLAY_1_CFG 15
+#define SLAVE_DISPLAY_CFG 16
+#define SLAVE_DPRX0 17
+#define SLAVE_DPRX1 18
+#define SLAVE_EVA_CFG 19
+#define SLAVE_GFX3D_CFG 20
+#define SLAVE_GFX3D_1_CFG 21
+#define SLAVE_I2C 22
+#define SLAVE_IMEM_CFG 23
+#define SLAVE_MCW_PCIE 24
+#define SLAVE_MM_RSCC 25
+#define SLAVE_NE_CLK_CTL 26
+#define SLAVE_NSPSS0_CFG 27
+#define SLAVE_NSPSS1_CFG 28
+#define SLAVE_NSPSS2_CFG 29
+#define SLAVE_NSPSS3_CFG 30
+#define SLAVE_NW_CLK_CTL 31
+#define SLAVE_PRNG 32
+#define SLAVE_QDSS_CFG 33
+#define SLAVE_QSPI_0 34
+#define SLAVE_QUP_0 35
+#define SLAVE_QUP_3 36
+#define SLAVE_QUP_1 37
+#define SLAVE_QUP_2 38
+#define SLAVE_SAFEDMA_CFG 39
+#define SLAVE_SDCC_4 40
+#define SLAVE_SE_CLK_CTL 41
+#define SLAVE_TCSR 42
+#define SLAVE_TLMM 43
+#define SLAVE_TSC_CFG 44
+#define SLAVE_UFS_MEM_CFG 45
+#define SLAVE_USB2 46
+#define SLAVE_USB3_0 47
+#define SLAVE_USB3_1 48
+#define SLAVE_VENUS_CFG 49
+#define SLAVE_COMPUTENOC_CFG 50
+#define SLAVE_PCIE_NOC_CFG 51
+#define SLAVE_QTC_CFG 52
+#define SLAVE_QDSS_STM 53
+#define SLAVE_SYS_TCU0_CFG 54
+#define SLAVE_SYS_TCU1_CFG 55
+#define SLAVE_SYS_TCU2_CFG 56
+
+#define MASTER_MM_RSCC 0
+#define MASTER_HSCNOC_CNOC 1
+#define SLAVE_AOSS 2
+#define SLAVE_HBCU 3
+#define SLAVE_IPA_CFG 4
+#define SLAVE_IPC_ROUTER_CFG 5
+#define SLAVE_SOCCP 6
+#define SLAVE_TME_CFG 7
+#define SLAVE_PCIE_DMA 8
+#define SLAVE_CNOC_CFG 9
+#define SLAVE_DDRSS_CFG 10
+#define SLAVE_IMEM 11
+
+#define MASTER_HPASS_PROC_0 0
+#define MASTER_HPASS_PROC_1 1
+#define MASTER_HPASS_PROC_2 2
+#define SLAVE_HPASS_AGNOC_AUDIO 3
+
+#define MASTER_GPU_TCU 0
+#define MASTER_QTC_TCU 1
+#define MASTER_SYS_TCU_0 2
+#define MASTER_SYS_TCU_1 3
+#define MASTER_SYS_TCU_2 4
+#define MASTER_APPSS_PROC 5
+#define MASTER_A1NOC_TILE_HSCNOC 6
+#define MASTER_A2NOC_TILE_HSCNOC 7
+#define MASTER_GFX3D 8
+#define MASTER_GFX3D_1 9
+#define MASTER_HPASS_ADAS_HSCNOC 10
+#define MASTER_HPASS_AUDIO_HSCNOC 11
+#define MASTER_MNOC_HF_MEM_NOC 12
+#define MASTER_MNOC_SF_MEM_NOC 13
+#define MASTER_NSP0_HSCNOC 14
+#define MASTER_NSP1_HSCNOC 15
+#define MASTER_NSP2_HSCNOC 16
+#define MASTER_NSP3_HSCNOC 17
+#define MASTER_ANOC_PCIE_GEM_NOC 18
+#define MASTER_SAILSS_MD0_HSCNOC 19
+#define MASTER_SNOC_SF_MEM_NOC 20
+#define MASTER_GIC 21
+#define SLAVE_HSCNOC_CNOC 22
+#define SLAVE_LLCC 23
+#define SLAVE_MEM_NOC_PCIE_SNOC 24
+
+#define MASTER_LLCC 0
+#define SLAVE_EBI1 1
+
+#define MASTER_CAMNOC_HF 0
+#define MASTER_CAMNOC_NRT_ICP_SF 1
+#define MASTER_CAMNOC_RT_CDM_SF 2
+#define MASTER_CAMNOC_SF 3
+#define MASTER_DPRX0 4
+#define MASTER_DPRX1 5
+#define MASTER_MDP0 6
+#define MASTER_MDP1 7
+#define MASTER_VIDEO_CV_PROC 8
+#define MASTER_VIDEO_EVA 9
+#define MASTER_VIDEO_MVP0 10
+#define MASTER_VIDEO_MVP1 11
+#define MASTER_VIDEO_V_PROC 12
+#define SLAVE_MNOC_HF_MEM_NOC 13
+#define SLAVE_MNOC_SF_MEM_NOC 14
+
+#define MASTER_NSP0_PROC 0
+#define SLAVE_NSP0_HSC_NOC 1
+
+#define MASTER_NSP1_PROC 0
+#define SLAVE_NSP1_HSC_NOC 1
+
+#define MASTER_NSP2_PROC 0
+#define SLAVE_NSP2_HSC_NOC 1
+
+#define MASTER_NSP3_PROC 0
+#define SLAVE_NSP3_HSC_NOC 1
+
+#define MASTER_PCIE_NOC_CFG 0
+#define SLAVE_PCIE_AHB2PHY_CFG 1
+#define SLAVE_PCIE_CFG_0 2
+#define SLAVE_PCIE_CFG_1 3
+#define SLAVE_PCIE_CFG_2 4
+#define SLAVE_PCIE_CFG_3 5
+#define SLAVE_PCIE_DMA_0_CFG 6
+#define SLAVE_PCIE_DMA_1_CFG 7
+#define SLAVE_PCIE_DMA_2_CFG 8
+
+#define MASTER_PCIE_DMA_0 0
+#define MASTER_PCIE_DMA_1 1
+#define MASTER_PCIE_DMA_2 2
+#define MASTER_PCIE_0 3
+#define MASTER_PCIE_1 4
+#define MASTER_PCIE_2 5
+#define MASTER_PCIE_3 6
+#define SLAVE_PCIE_HSCNOC 7
+#define SLAVE_PCIE_OBNOC_DMA 8
+
+#define MASTER_CNOC_PCIE_DMA 0
+#define MASTER_ANOC_PCIE_HSCNOC 1
+#define MASTER_PCIE_IBNOC_DMA 2
+#define SLAVE_PCIE_DMA_0 3
+#define SLAVE_PCIE_DMA_1 4
+#define SLAVE_PCIE_DMA_2 5
+#define SLAVE_PCIE_0 6
+#define SLAVE_PCIE_1 7
+#define SLAVE_PCIE_2 8
+#define SLAVE_PCIE_3 9
+
+#define MASTER_A1NOC_SNOC 0
+#define MASTER_A2NOC_SNOC 1
+#define MASTER_CNOC_SNOC 2
+#define MASTER_NSINOC_SNOC 3
+#define MASTER_SAFE_DMA 4
+#define SLAVE_SNOC_HSCNOC_SF 5
+
+#endif
diff --git a/include/dt-bindings/interconnect/qcom,shikra.h b/include/dt-bindings/interconnect/qcom,shikra.h
new file mode 100644
index 0000000000000..a42ea22ee162c
--- /dev/null
+++ b/include/dt-bindings/interconnect/qcom,shikra.h
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_SHIKRA_H
+#define __DT_BINDINGS_INTERCONNECT_QCOM_SHIKRA_H
+
+#define MASTER_QUP_CORE_0 0
+#define SLAVE_QUP_CORE_0 1
+
+#define SNOC_CNOC_MAS 0
+#define MASTER_QDSS_DAP 1
+#define SLAVE_AHB2PHY_USB 2
+#define SLAVE_APSS_THROTTLE_CFG 3
+#define SLAVE_AUDIO 4
+#define SLAVE_BOOT_ROM 5
+#define SLAVE_CAMERA_NRT_THROTTLE_CFG 6
+#define SLAVE_CAMERA_CFG 7
+#define SLAVE_CDSP_THROTTLE_CFG 8
+#define SLAVE_CLK_CTL 9
+#define SLAVE_DSP_CFG 10
+#define SLAVE_RBCPR_CX_CFG 11
+#define SLAVE_RBCPR_MX_CFG 12
+#define SLAVE_CRYPTO_0_CFG 13
+#define SLAVE_DDR_SS_CFG 14
+#define SLAVE_DISPLAY_CFG 15
+#define SLAVE_EMAC0_CFG 16
+#define SLAVE_EMAC1_CFG 17
+#define SLAVE_GPU_CFG 18
+#define SLAVE_GPU_THROTTLE_CFG 19
+#define SLAVE_HWKM 20
+#define SLAVE_IMEM_CFG 21
+#define SLAVE_MAPSS 22
+#define SLAVE_MDSP_MPU_CFG 23
+#define SLAVE_MESSAGE_RAM 24
+#define SLAVE_MSS 25
+#define SLAVE_PCIE_CFG 26
+#define SLAVE_PDM 27
+#define SLAVE_PIMEM_CFG 28
+#define SLAVE_PKA_WRAPPER_CFG 29
+#define SLAVE_PMIC_ARB 30
+#define SLAVE_QDSS_CFG 31
+#define SLAVE_QM_CFG 32
+#define SLAVE_QM_MPU_CFG 33
+#define SLAVE_QPIC 34
+#define SLAVE_QUP_0 35
+#define SLAVE_RPM 36
+#define SLAVE_SDCC_1 37
+#define SLAVE_SDCC_2 38
+#define SLAVE_SECURITY 39
+#define SLAVE_SNOC_CFG 40
+#define SNOC_SF_THROTTLE_CFG 41
+#define SLAVE_TLMM 42
+#define SLAVE_TSCSS 43
+#define SLAVE_USB2 44
+#define SLAVE_USB3 45
+#define SLAVE_VENUS_CFG 46
+#define SLAVE_VENUS_THROTTLE_CFG 47
+#define SLAVE_VSENSE_CTRL_CFG 48
+#define SLAVE_SERVICE_CNOC 49
+
+#define MASTER_LLCC 0
+#define SLAVE_EBI_CH0 1
+
+#define MASTER_GRAPHICS_3D 0
+#define MASTER_MNOC_HF_MEM_NOC 1
+#define MASTER_ANOC_PCIE_MEM_NOC 2
+#define MASTER_SNOC_SF_MEM_NOC 3
+#define MASTER_AMPSS_M0 4
+#define MASTER_SYS_TCU 5
+#define SLAVE_LLCC 6
+#define SLAVE_MEMNOC_SNOC 7
+#define SLAVE_MEM_NOC_PCIE_SNOC 8
+
+#define MASTER_CAMNOC_SF 0
+#define MASTER_VIDEO_P0 1
+#define MASTER_VIDEO_PROC 2
+#define SLAVE_MMNRT_VIRT 3
+
+#define MASTER_CAMNOC_HF 0
+#define MASTER_MDP_PORT0 1
+#define MASTER_MMRT_VIRT 2
+#define SLAVE_MM_MEMNOC 3
+
+#define MASTER_SNOC_CFG 0
+#define MASTER_TIC 1
+#define MASTER_ANOC_SNOC 2
+#define MASTER_MEMNOC_PCIE 3
+#define MASTER_MEMNOC_SNOC 4
+#define MASTER_PIMEM 5
+#define MASTER_PCIE2_0 6
+#define MASTER_QDSS_BAM 7
+#define MASTER_QPIC 8
+#define MASTER_QUP_0 9
+#define CNOC_SNOC_MAS 10
+#define MASTER_AUDIO 11
+#define MASTER_EMAC_0 12
+#define MASTER_EMAC_1 13
+#define MASTER_QDSS_ETR 14
+#define MASTER_SDCC_1 15
+#define MASTER_SDCC_2 16
+#define MASTER_USB2_0 17
+#define MASTER_USB3 18
+#define MASTER_CRYPTO_CORE0 19
+#define SLAVE_APPSS 20
+#define SLAVE_MCUSS 21
+#define SLAVE_WCSS 22
+#define SLAVE_MEMNOC_SF 23
+#define SNOC_CNOC_SLV 24
+#define SLAVE_BOOTIMEM 25
+#define SLAVE_OCIMEM 26
+#define SLAVE_PIMEM 27
+#define SLAVE_SERVICE_SNOC 28
+#define SLAVE_PCIE2_0 29
+#define SLAVE_QDSS_STM 30
+#define SLAVE_TCU 31
+#define SLAVE_PCIE_MEMNOC 32
+#define SLAVE_ANOC_SNOC 33
+
+#endif
diff --git a/include/linux/coresight.h b/include/linux/coresight.h
index 1cf85d772bea1..ddf18c970e343 100644
--- a/include/linux/coresight.h
+++ b/include/linux/coresight.h
@@ -141,6 +141,8 @@ struct csdev_access {
.base = (_addr), \
})
+#define CORESIGHT_DESC_CPU_BOUND BIT(0)
+
/**
* struct coresight_desc - description of a component required from drivers
* @type: as defined by @coresight_dev_type.
@@ -153,6 +155,8 @@ struct csdev_access {
* in the component's sysfs sub-directory.
* @name: name for the coresight device, also shown under sysfs.
* @access: Describe access to the device
+ * @flags: The descritpion flags.
+ * @cpu: The CPU this component is affined to.
*/
struct coresight_desc {
enum coresight_dev_type type;
@@ -163,6 +167,8 @@ struct coresight_desc {
const struct attribute_group **groups;
const char *name;
struct csdev_access access;
+ u32 flags;
+ int cpu;
};
/**
@@ -251,6 +257,7 @@ struct coresight_trace_id_map {
* by @coresight_ops.
* @access: Device i/o access abstraction for this device.
* @dev: The device entity associated to this component.
+ * @path: Activated path pointer (only used for source device).
* @mode: The device mode, i.e sysFS, Perf or disabled. This is actually
* an 'enum cs_mode' but stored in an atomic type. Access is always
* through atomic APIs, ensuring SMP-safe synchronisation between
@@ -260,6 +267,7 @@ struct coresight_trace_id_map {
* device's spinlock when the coresight_mutex held and mode ==
* CS_MODE_SYSFS. Otherwise it must be accessed from inside the
* spinlock.
+ * @cpu: The CPU this component is affined to (-1 for not CPU bound).
* @orphan: true if the component has connections that haven't been linked.
* @sysfs_sink_activated: 'true' when a sink has been selected for use via sysfs
* by writing a 1 to the 'enable_sink' file. A sink can be
@@ -284,8 +292,10 @@ struct coresight_device {
const struct coresight_ops *ops;
struct csdev_access access;
struct device dev;
+ struct coresight_path *path;
atomic_t mode;
int refcnt;
+ int cpu;
bool orphan;
/* sink specific fields */
bool sysfs_sink_activated;
@@ -334,9 +344,9 @@ struct coresight_path {
};
enum cs_mode {
- CS_MODE_DISABLED,
- CS_MODE_SYSFS,
- CS_MODE_PERF,
+ CS_MODE_DISABLED = 0,
+ CS_MODE_SYSFS = BIT(0),
+ CS_MODE_PERF = BIT(1),
};
#define coresight_ops(csdev) csdev->ops
@@ -387,15 +397,12 @@ struct coresight_ops_link {
/**
* struct coresight_ops_source - basic operations for a source
* Operations available for sources.
- * @cpu_id: returns the value of the CPU number this component
- * is associated to.
* @enable: enables tracing for a source.
* @disable: disables tracing for a source.
* @resume_perf: resumes tracing for a source in perf session.
* @pause_perf: pauses tracing for a source in perf session.
*/
struct coresight_ops_source {
- int (*cpu_id)(struct coresight_device *csdev);
int (*enable)(struct coresight_device *csdev, struct perf_event *event,
enum cs_mode mode, struct coresight_path *path);
void (*disable)(struct coresight_device *csdev,
@@ -433,6 +440,8 @@ struct coresight_ops_panic {
struct coresight_ops {
int (*trace_id)(struct coresight_device *csdev, enum cs_mode mode,
struct coresight_device *sink);
+ int (*pm_save_disable)(struct coresight_device *csdev);
+ void (*pm_restore_enable)(struct coresight_device *csdev);
const struct coresight_ops_sink *sink_ops;
const struct coresight_ops_link *link_ops;
const struct coresight_ops_source *source_ops;
@@ -602,6 +611,12 @@ static inline bool coresight_is_percpu_source(struct coresight_device *csdev)
(csdev->subtype.source_subtype == CORESIGHT_DEV_SUBTYPE_SOURCE_PROC);
}
+static inline bool coresight_is_software_source(struct coresight_device *csdev)
+{
+ return csdev && coresight_is_device_source(csdev) &&
+ (csdev->subtype.source_subtype == CORESIGHT_DEV_SUBTYPE_SOURCE_SOFTWARE);
+}
+
static inline bool coresight_is_percpu_sink(struct coresight_device *csdev)
{
return csdev && (csdev->type == CORESIGHT_DEV_TYPE_SINK) &&
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index 22ba327ec2278..0fb3a2a62eb00 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -180,7 +180,6 @@ enum cpuhp_state {
CPUHP_AP_DUMMY_TIMER_STARTING,
CPUHP_AP_ARM_XEN_STARTING,
CPUHP_AP_ARM_XEN_RUNSTATE_STARTING,
- CPUHP_AP_ARM_CORESIGHT_STARTING,
CPUHP_AP_ARM_CORESIGHT_CTI_STARTING,
CPUHP_AP_ARM64_ISNDEP_STARTING,
CPUHP_AP_SMPCFD_DYING,
@@ -200,6 +199,7 @@ enum cpuhp_state {
CPUHP_AP_IRQ_AFFINITY_ONLINE,
CPUHP_AP_BLK_MQ_ONLINE,
CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS,
+ CPUHP_AP_ARM_CORESIGHT_ONLINE,
CPUHP_AP_X86_INTEL_EPB_ONLINE,
CPUHP_AP_PERF_ONLINE,
CPUHP_AP_PERF_X86_ONLINE,
diff --git a/include/linux/dtlk.h b/include/linux/dtlk.h
deleted file mode 100644
index 27b95e70bde3d..0000000000000
--- a/include/linux/dtlk.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#define DTLK_MINOR 0
-#define DTLK_IO_EXTENT 0x02
-
- /* ioctl's use magic number of 0xa3 */
-#define DTLK_INTERROGATE 0xa390 /* get settings from the DoubleTalk */
-#define DTLK_STATUS 0xa391 /* get status from the DoubleTalk */
-
-
-#define DTLK_CLEAR 0x18 /* stops speech */
-
-#define DTLK_MAX_RETRIES (loops_per_jiffy/(10000/HZ))
-
- /* TTS Port Status Flags */
-#define TTS_READABLE 0x80 /* mask for bit which is nonzero if a
- byte can be read from the TTS port */
-#define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero
- while DoubleTalk is producing
- output with TTS, PCM or CVSD
- synthesizers or tone generators
- (that is, all but LPC) */
-#define TTS_SPEAKING2 0x20 /* mask for SYNC2 bit,
- which falls to zero up to 0.4 sec
- before speech stops */
-#define TTS_WRITABLE 0x10 /* mask for RDY bit, which when set to
- 1, indicates the TTS port is ready
- to accept a byte of data. The RDY
- bit goes zero 2-3 usec after
- writing, and goes 1 again 180-190
- usec later. */
-#define TTS_ALMOST_FULL 0x08 /* mask for AF bit: When set to 1,
- indicates that less than 300 free
- bytes are available in the TTS
- input buffer. AF is always 0 in the
- PCM, TGN and CVSD modes. */
-#define TTS_ALMOST_EMPTY 0x04 /* mask for AE bit: When set to 1,
- indicates that less than 300 bytes
- of data remain in DoubleTalk's
- input (TTS or PCM) buffer. AE is
- always 1 in the TGN and CVSD
- modes. */
-
- /* LPC speak commands */
-#define LPC_5220_NORMAL 0x60 /* 5220 format decoding table, normal rate */
-#define LPC_5220_FAST 0x64 /* 5220 format decoding table, fast rate */
-#define LPC_D6_NORMAL 0x20 /* D6 format decoding table, normal rate */
-#define LPC_D6_FAST 0x24 /* D6 format decoding table, fast rate */
-
- /* LPC Port Status Flags (valid only after one of the LPC
- speak commands) */
-#define LPC_SPEAKING 0x80 /* mask for TS bit: When set to 1,
- indicates the LPC synthesizer is
- producing speech.*/
-#define LPC_BUFFER_LOW 0x40 /* mask for BL bit: When set to 1,
- indicates that the hardware LPC
- data buffer has less than 30 bytes
- remaining. (Total internal buffer
- size = 4096 bytes.) */
-#define LPC_BUFFER_EMPTY 0x20 /* mask for BE bit: When set to 1,
- indicates that the LPC data buffer
- ran out of data (error condition if
- TS is also 1). */
-
- /* data returned by Interrogate command */
-struct dtlk_settings
-{
- unsigned short serial_number; /* 0-7Fh:0-7Fh */
- unsigned char rom_version[24]; /* null terminated string */
- unsigned char mode; /* 0=Character; 1=Phoneme; 2=Text */
- unsigned char punc_level; /* nB; 0-7 */
- unsigned char formant_freq; /* nF; 0-9 */
- unsigned char pitch; /* nP; 0-99 */
- unsigned char speed; /* nS; 0-9 */
- unsigned char volume; /* nV; 0-9 */
- unsigned char tone; /* nX; 0-2 */
- unsigned char expression; /* nE; 0-9 */
- unsigned char ext_dict_loaded; /* 1=exception dictionary loaded */
- unsigned char ext_dict_status; /* 1=exception dictionary enabled */
- unsigned char free_ram; /* # pages (truncated) remaining for
- text buffer */
- unsigned char articulation; /* nA; 0-9 */
- unsigned char reverb; /* nR; 0-9 */
- unsigned char eob; /* 7Fh value indicating end of
- parameter block */
- unsigned char has_indexing; /* nonzero if indexing is implemented */
-};
diff --git a/include/linux/firmware/intel/stratix10-smc.h b/include/linux/firmware/intel/stratix10-smc.h
index 935dba3633b5b..9116512169dc1 100644
--- a/include/linux/firmware/intel/stratix10-smc.h
+++ b/include/linux/firmware/intel/stratix10-smc.h
@@ -515,6 +515,25 @@ INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_COMPLETED_WRITE)
INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_SVC_FUNCID_VERSION)
/**
+ * Request INTEL_SIP_SMC_ATF_BUILD_VER
+ *
+ * Sync call used to query the ATF Build Version
+ *
+ * Call register usage:
+ * a0 INTEL_SIP_SMC_ATF_BUILD_VER
+ * a1-a7 not used
+ *
+ * Return status:
+ * a0 INTEL_SIP_SMC_STATUS_OK
+ * a1 Major
+ * a2 Minor
+ * a3 Patch
+ */
+#define INTEL_SIP_SMC_ATF_BUILD_VERSION 155
+#define INTEL_SIP_SMC_ATF_BUILD_VER \
+ INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_ATF_BUILD_VERSION)
+
+/**
* SMC call protocol for FPGA Crypto Service (FCS)
* FUNCID starts from 90
*/
@@ -605,25 +624,21 @@ INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_FUNCID_FPGA_CONFIG_COMPLETED_WRITE)
/**
* Request INTEL_SIP_SMC_FCS_GET_PROVISION_DATA
- * Sync call to dump all the fuses and key hashes
+ * Async call to dump all the fuses and key hashes
*
* Call register usage:
* a0 INTEL_SIP_SMC_FCS_GET_PROVISION_DATA
- * a1 the physical address for firmware to write structure of fuse and
- * key hashes
- * a2-a7 not used
+ * a1-a7 not used
*
* Return status:
* a0 INTEL_SIP_SMC_STATUS_OK, INTEL_SIP_SMC_FCS_ERROR or
* INTEL_SIP_SMC_FCS_REJECTED
- * a1 mailbox error
- * a2 physical address for the structure of fuse and key hashes
- * a3 the size of structure
+ * a1-a3 not used
*
*/
#define INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA 94
#define INTEL_SIP_SMC_FCS_GET_PROVISION_DATA \
- INTEL_SIP_SMC_FAST_CALL_VAL(INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA)
+ INTEL_SIP_SMC_STD_CALL_VAL(INTEL_SIP_SMC_FUNCID_FCS_GET_PROVISION_DATA)
/**
* Request INTEL_SIP_SMC_HWMON_READTEMP
diff --git a/include/linux/firmware/intel/stratix10-svc-client.h b/include/linux/firmware/intel/stratix10-svc-client.h
index 91013161e9db9..3edd93502bf84 100644
--- a/include/linux/firmware/intel/stratix10-svc-client.h
+++ b/include/linux/firmware/intel/stratix10-svc-client.h
@@ -154,6 +154,10 @@ struct stratix10_svc_chan;
*
* @COMMAND_HWMON_READVOLT: query the voltage from the hardware monitor,
* return status is SVC_STATUS_OK or SVC_STATUS_ERROR
+ *
+ * @COMMAND_SMC_ATF_BUILD_VER: Non-mailbox SMC ATF Build Version,
+ * return status is SVC_STATUS_OK
+ *
*/
enum stratix10_svc_command_code {
/* for FPGA */
@@ -187,7 +191,8 @@ enum stratix10_svc_command_code {
COMMAND_SMC_SVC_VERSION = 200,
/* for HWMON */
COMMAND_HWMON_READTEMP,
- COMMAND_HWMON_READVOLT
+ COMMAND_HWMON_READVOLT,
+ COMMAND_SMC_ATF_BUILD_VER
};
/**
diff --git a/include/linux/iio/backend.h b/include/linux/iio/backend.h
index 4d15c2a9802c1..3f95ed1fdf9eb 100644
--- a/include/linux/iio/backend.h
+++ b/include/linux/iio/backend.h
@@ -261,6 +261,7 @@ int iio_backend_extend_chan_spec(struct iio_backend *back,
bool iio_backend_has_caps(struct iio_backend *back, u32 caps);
void *iio_backend_get_priv(const struct iio_backend *conv);
struct iio_backend *devm_iio_backend_get(struct device *dev, const char *name);
+struct iio_backend *devm_iio_backend_get_by_index(struct device *dev, unsigned int index);
struct iio_backend *devm_iio_backend_fwnode_get(struct device *dev,
const char *name,
struct fwnode_handle *fwnode);
diff --git a/include/linux/iio/buffer.h b/include/linux/iio/buffer.h
index d37f82678f716..745c98ef4e04c 100644
--- a/include/linux/iio/buffer.h
+++ b/include/linux/iio/buffer.h
@@ -34,8 +34,16 @@ static inline int iio_push_to_buffers_with_timestamp(struct iio_dev *indio_dev,
void *data, int64_t timestamp)
{
if (ACCESS_PRIVATE(indio_dev, scan_timestamp)) {
- size_t ts_offset = indio_dev->scan_bytes / sizeof(int64_t) - 1;
- ((int64_t *)data)[ts_offset] = timestamp;
+ size_t ts_offset = ACCESS_PRIVATE(indio_dev, scan_timestamp_offset);
+
+ /*
+ * The size of indio_dev->scan_bytes is always aligned to the
+ * largest scan element's alignment (see iio_compute_scan_bytes()).
+ * So there may be padding after the timestamp. ts_offset contains
+ * the offset in bytes that was already computed for correctly
+ * aligning the timestamp.
+ */
+ *(int64_t *)(data + ts_offset) = timestamp;
}
return iio_push_to_buffers(indio_dev, data);
@@ -71,7 +79,7 @@ static inline int iio_push_to_buffers_with_ts(struct iio_dev *indio_dev,
int iio_push_to_buffers_with_ts_unaligned(struct iio_dev *indio_dev,
const void *data, size_t data_sz,
- int64_t timestamp);
+ s64 timestamp);
bool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev,
const unsigned long *mask);
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 2c91b7659ce93..711c00f673713 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -177,8 +177,31 @@ struct iio_event_spec {
};
/**
+ * define IIO_SCAN_FORMAT_SIGNED_INT - signed integer data format
+ *
+ * &iio_scan_type.format value for signed integers (two's complement).
+ */
+#define IIO_SCAN_FORMAT_SIGNED_INT 's'
+
+/**
+ * define IIO_SCAN_FORMAT_UNSIGNED_INT - unsigned integer data format
+ *
+ * &iio_scan_type.format value for unsigned integers.
+ */
+#define IIO_SCAN_FORMAT_UNSIGNED_INT 'u'
+
+/**
+ * define IIO_SCAN_FORMAT_FLOAT - floating-point data format
+ *
+ * &iio_scan_type.format value for IEEE 754 floating-point numbers.
+ */
+#define IIO_SCAN_FORMAT_FLOAT 'f'
+
+/**
* struct iio_scan_type - specification for channel data format in buffer
- * @sign: 's' or 'u' to specify signed or unsigned
+ * @sign: Deprecated, use @format instead.
+ * @format: Data format, can have any of the IIO_SCAN_FORMAT_*
+ * values.
* @realbits: Number of valid bits of data
* @storagebits: Realbits + padding
* @shift: Shift right by this before masking out realbits.
@@ -189,7 +212,10 @@ struct iio_event_spec {
* @endianness: little or big endian
*/
struct iio_scan_type {
- char sign;
+ union {
+ char sign;
+ char format;
+ };
u8 realbits;
u8 storagebits;
u8 shift;
@@ -327,15 +353,15 @@ static inline bool iio_channel_has_available(const struct iio_chan_spec *chan,
(chan->info_mask_shared_by_all_available & BIT(type));
}
-#define IIO_CHAN_SOFT_TIMESTAMP(_si) { \
+#define IIO_CHAN_SOFT_TIMESTAMP(_si) (struct iio_chan_spec) { \
.type = IIO_TIMESTAMP, \
.channel = -1, \
.scan_index = _si, \
.scan_type = { \
.sign = 's', \
- .realbits = 64, \
+ .realbits = 64, \
.storagebits = 64, \
- }, \
+ }, \
}
s64 iio_get_time_ns(const struct iio_dev *indio_dev);
@@ -584,6 +610,8 @@ struct iio_buffer_setup_ops {
* and owner
* @buffer: [DRIVER] any buffer present
* @scan_bytes: [INTERN] num bytes captured to be fed to buffer demux
+ * @scan_timestamp_offset: [INTERN] cache of the offset (in bytes) for the
+ * timestamp in the scan buffer
* @available_scan_masks: [DRIVER] optional array of allowed bitmasks. Sort the
* array in order of preference, the most preferred
* masks first.
@@ -610,6 +638,7 @@ struct iio_dev {
struct iio_buffer *buffer;
int scan_bytes;
+ unsigned int __private scan_timestamp_offset;
const unsigned long *available_scan_masks;
unsigned int __private masklength;
diff --git a/include/linux/platform_data/apds990x.h b/include/linux/platform_data/apds990x.h
deleted file mode 100644
index 37684f68c04f6..0000000000000
--- a/include/linux/platform_data/apds990x.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * This file is part of the APDS990x sensor driver.
- * Chip is combined proximity and ambient light sensor.
- *
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
- *
- * Contact: Samu Onkalo <samu.p.onkalo@nokia.com>
- */
-
-#ifndef __APDS990X_H__
-#define __APDS990X_H__
-
-
-#define APDS_IRLED_CURR_12mA 0x3
-#define APDS_IRLED_CURR_25mA 0x2
-#define APDS_IRLED_CURR_50mA 0x1
-#define APDS_IRLED_CURR_100mA 0x0
-
-/**
- * struct apds990x_chip_factors - defines effect of the cover window
- * @ga: Total glass attenuation
- * @cf1: clear channel factor 1 for raw to lux conversion
- * @irf1: IR channel factor 1 for raw to lux conversion
- * @cf2: clear channel factor 2 for raw to lux conversion
- * @irf2: IR channel factor 2 for raw to lux conversion
- * @df: device factor for conversion formulas
- *
- * Structure for tuning ALS calculation to match with environment.
- * Values depend on the material above the sensor and the sensor
- * itself. If the GA is zero, driver will use uncovered sensor default values
- * format: decimal value * APDS_PARAM_SCALE except df which is plain integer.
- */
-struct apds990x_chip_factors {
- int ga;
- int cf1;
- int irf1;
- int cf2;
- int irf2;
- int df;
-};
-#define APDS_PARAM_SCALE 4096
-
-/**
- * struct apds990x_platform_data - platform data for apsd990x.c driver
- * @cf: chip factor data
- * @pdrive: IR-led driving current
- * @ppcount: number of IR pulses used for proximity estimation
- * @setup_resources: interrupt line setup call back function
- * @release_resources: interrupt line release call back function
- *
- * Proximity detection result depends heavily on correct ppcount, pdrive
- * and cover window.
- *
- */
-
-struct apds990x_platform_data {
- struct apds990x_chip_factors cf;
- u8 pdrive;
- u8 ppcount;
- int (*setup_resources)(void);
- int (*release_resources)(void);
-};
-
-#endif
diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h
index 6d269b8442713..c9295c707041b 100644
--- a/include/uapi/linux/iio/types.h
+++ b/include/uapi/linux/iio/types.h
@@ -53,6 +53,7 @@ enum iio_chan_type {
IIO_CHROMATICITY,
IIO_ATTENTION,
IIO_ALTCURRENT,
+ IIO_COVERAGE,
};
enum iio_modifier {
@@ -113,6 +114,7 @@ enum iio_modifier {
IIO_MOD_ACTIVE,
IIO_MOD_REACTIVE,
IIO_MOD_APPARENT,
+ IIO_MOD_QUATERNION_AXIS,
};
enum iio_event_type {