Commit graph

1,412,004 commits

Author SHA1 Message Date
Bartosz Golaszewski
72eb5b1f5d Reset/GPIO/swnode changes for v6.19 (v2)
* Fix chtwc_int33fe build issue since commit d7cdbbc93c ("software
   node: allow referencing firmware nodes").
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYKADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCaSB5ZBcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwP8NAQC3CR1DqnUU6vlX3DeoXVrch/IB
 FwQNe8PNWYUFahc6+AD+PlUHY+0osW2eZ8sUZzoW0FdIHETPKVnRbTUadTzSRgI=
 =LNsT
 -----END PGP SIGNATURE-----

Merge tag 'reset-gpio-for-v6.19-2' of https://git.pengutronix.de/git/pza/linux into gpio/for-next

Reset/GPIO/swnode changes for v6.19 (v2)

* Fix chtwc_int33fe build issue since commit d7cdbbc93c ("software
  node: allow referencing firmware nodes").
2025-11-21 16:33:03 +01:00
Arnd Bergmann
156c42c7fc Renesas DTS updates for v6.19
- Add thermal support for the RZ/G3S and RZ/G3E SoCs,
   - Add DT overlay support for the Raspberry Pi Display 2 and Argon40
     fan hats on the Retronix Sparrow Hawk board,
   - Add eMMC support for the Eagle Function expansion board,
   - Add initial support for the R-Car X5H (R8A78000) SoC and the
     Ironhide development board,
   - Move interrupt-parent properties to root nodes,
   - Add system watchdog timer support for R-Car Gen3 and Gen4 SoCs,
     which is reserved for secure firmware on R-Car Gen3 boards,
   - Add ADC support for the RZ/T2H and RZ/N2H SoCs and their evaluation
     boards,
   - Add watchdog timer support on the R-Car V3M Starter Kit board,
   - Add Cortex-A55 PMU support on the RZ/V2H, RZ/V2N, RZ/T2H, and RZ/N2H
     SoCs,
   - Add Imagination Technologies PowerVR Series 6XT GX6250 GPU support
     on the R-Car M3-W and M3-W+ SoCs,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCaQSHowAKCRCKwlD9ZEnx
 cJSMAP0ejaSo8LMqtL1rSMrPWz07J/H3xNQDsEgbWHdybNCp2wD/XQhBQpmtnIJb
 dk1rw+nNHXowyGN6VfQ7FV57J1KKaAc=
 =wcHD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgheMACgkQmmx57+YA
 GNnXNg//Scu2l2KUmZiiGFLL3NLVRVQM4hvr/bRxcYLboUtyQTvQtRdkCm41EU0Y
 GK7ObO+Bj+Oy9+q4jmfQ4MkWj48CNABkPVNxRk+1yJt27bZ2xkcktP6oPldsdJOM
 pTOHibLdG5r9W4KyACQjhNXqFkYrUzbHbNToWU0XEaHLGBw+5Ix+9Fh92oKrvfEe
 qXCyU4KDFQHxBnjmvySJq0HDMY5f677EXuq7IkWRQmHkmF6vazW3k2F3rZjoXHsV
 PQlS3frcMLMVHx+rq+sc4BWMj9YRKMFAUaVuurjdCGrvFf6clyKNcXZ992rV0oX5
 LSuOmncdYY5mCLB04RPsHWxWln2wt1T7rwDSqGNknb4ZJUsfodDgstGocKm7XfPm
 WzIl7SVc3KaJRpNbTNwtDceyloN6Dpycp0mcbLCYpBGSELa/oJWc36crST4TvcCE
 zqmIHw9Y5tFqKTIV14CwlpYuVDJ1YLDVUc5Ij3HCsuB0GUHgeYSr2vQTGPc3mHjC
 mbrMw5uy5Vy0jgaNkvyUuW0BaiSpDTZNB9KJrO9awR4KOGMUmrqJeg3RK6zAYcjz
 8qRkSPZ7hYz8Av6wWSdqWj4KgQLbQK82Qk3xfU1o2F4C89ZLCIYBG5+VONW+odoG
 CTNL9YGau9+AU/s5QK8K8UgR0vr0GxVFZMQ+/gJ3kdQjggx+p7c=
 =0Lcz
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.19

  - Add thermal support for the RZ/G3S and RZ/G3E SoCs,
  - Add DT overlay support for the Raspberry Pi Display 2 and Argon40
    fan hats on the Retronix Sparrow Hawk board,
  - Add eMMC support for the Eagle Function expansion board,
  - Add initial support for the R-Car X5H (R8A78000) SoC and the
    Ironhide development board,
  - Move interrupt-parent properties to root nodes,
  - Add system watchdog timer support for R-Car Gen3 and Gen4 SoCs,
    which is reserved for secure firmware on R-Car Gen3 boards,
  - Add ADC support for the RZ/T2H and RZ/N2H SoCs and their evaluation
    boards,
  - Add watchdog timer support on the R-Car V3M Starter Kit board,
  - Add Cortex-A55 PMU support on the RZ/V2H, RZ/V2N, RZ/T2H, and RZ/N2H
    SoCs,
  - Add Imagination Technologies PowerVR Series 6XT GX6250 GPU support
    on the R-Car M3-W and M3-W+ SoCs,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (80 commits)
  arm64: dts: renesas: sparrow-hawk: Fix full-size DP connector node name and labels
  arm64: dts: renesas: r8a77961: Add GX6250 GPU node
  arm64: dts: renesas: r8a77960: Add GX6250 GPU node
  ARM: dts: renesas: kzm9g: Name interrupts for accelerometer
  arm64: dts: renesas: r9a09g087: Add Cortex-A55 PMU node
  arm64: dts: renesas: r9a09g077: Add Cortex-A55 PMU node
  arm64: dts: renesas: r9a09g056: Add Cortex-A55 PMU node
  arm64: dts: renesas: r9a09g057: Add Cortex-A55 PMU node
  ARM: dts: renesas: r9a06g032-rzn1d400-db: Drop invalid #cells properties
  arm64: dts: renesas: v3msk: Enable watchdog timer
  arm64: dts: renesas: r8a779h0: Add SWDT node
  arm64: dts: renesas: r8a779g0: Add SWDT node
  arm64: dts: renesas: r8a779f0: Add SWDT node
  arm64: dts: renesas: r8a779a0: Add SWDT node
  arm64: dts: renesas: rzt2h/rzn2h-evk: Enable ADCs
  arm64: dts: renesas: r9a09g087: Add ADCs support
  arm64: dts: renesas: r9a09g077: Add ADCs support
  ARM: dts: renesas: koelsch: Update ADV7180 binding
  ARM: dts: renesas: r9a06g032: Move interrupt-parent to root node
  ARM: dts: renesas: r8a7794: Move interrupt-parent to root node
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21 16:30:48 +01:00
Denis Benato
a9b0869720
platform/x86: asus-armoury: add support for FA507UV
Add TDP data for laptop mode FA507UV.

Signed-off-by: Denis Benato <denis.benato@linux.dev>
Link: https://patch.msgid.link/20251120025413.1686540-1-denis.benato@linux.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:29:18 +02:00
Arnd Bergmann
7ab4745858 First batch of ASPEED Arm devicetree changes for 6.19
Significant changes:
 
 - The IBM Power11 FSI DTSIs have been rearranged to accommodate new systems
 
 New platforms:
 
 - IBM Balcones
 
   The Balcones system is similar to Bonnell but with a POWER11 processor.
   Like POWER10, the POWER11 is a dual-chip module, so a dual chip FSI
   tree is needed.
 
 - Meta Yosemite5
 
   The Yosemite5 platform provides monitoring of voltages, power,
   temperatures, and other critical parameters across the motherboard,
   CXL board, E1.S expansion board, and NIC components.
 
 Updated platforms:
 
 - clemente (Meta): LEDs, shunt resistor configuration
 - santabarbara (Meta): AMD APML, EEPROMs, LEDs, GPIO line names, MCTP for NICs
 
 There are a scattering of one-off changes and devicetree cleanups for other
 platforms as well.
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYKADoWIQSoUT1x3bOSX/nAa8ajM9GZTrjhpgUCaQPvIxwcYW5kcmV3QGNv
 ZGVjb25zdHJ1Y3QuY29tLmF1AAoJEKMz0ZlOuOGmWf4A/0xN2+KOIfqkVSut5IP2
 Y54gRoSR9xhEeoaOq1xHrvJpAQCqo6V5j1dmx21qTDhFbxGxU4KH6SUBhVpIMNYj
 vGZhCA==
 =e3/X
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkghTsACgkQmmx57+YA
 GNka7Q/7BVAkUmHTXMfxP+VWDYzqhV5G4LjrdaW01heQC3j1mTv4qL5KGQTrrEQU
 gC2tZ/rpIpOvc1PdTubh/B1sMdRPb/c0+NVpYTbfjrEMSFSLWLxyNOVhFD3fBxMz
 8jj1YS4o8Z0KmgHQNuhy6+nPUiez8aPyYBWk6r6ZsgB4kmGyThRAhUB75wwgd8gl
 DDINQe/mPlOKY3YwIniS7pT53z7fyKfXXOVvTWGYQOB79ykUpNdppK1POVsywueT
 +2g0juDD/SELCf4TP7eq/JKts4SDMlePlt5pKqIchRdzAucaNnl1220T31Y2aHEd
 rj1Nyf8Ad0uGsLwizGnvoremtfhCo0yOlVPotB1nbR/spadNU8IcX61RNd6eS98B
 VWrZBTsUSKcrxgE/+gDDGipSOpR5b0dmH+ignJuhWH8uiDwfT1urYUIB8Nnuueeh
 udkPraSM+yQr0HfajQrJPeIIQaxP/7VnQr5yNfFIQk3aD5TR92cFFviI8lsJybVt
 uhKb9vd4mdeE0V1EIrWjSWX757Zcvbo8xWULYdLdex21JJ2adYXu7DHO8vntGckC
 /EzF+z1wCjHKNOYnNAV7rqD6LT8IKb4lbxS6GWSupI4aicoLZsrQhp0FlS7H+KLg
 NYz6ClQJstwC58B+lEU6wEE3SU+P3Bp9UU7N9Zzhih9zayrRiN0=
 =8yf0
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.19-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt

First batch of ASPEED Arm devicetree changes for 6.19

Significant changes:

- The IBM Power11 FSI DTSIs have been rearranged to accommodate new systems

New platforms:

- IBM Balcones

  The Balcones system is similar to Bonnell but with a POWER11 processor.
  Like POWER10, the POWER11 is a dual-chip module, so a dual chip FSI
  tree is needed.

- Meta Yosemite5

  The Yosemite5 platform provides monitoring of voltages, power,
  temperatures, and other critical parameters across the motherboard,
  CXL board, E1.S expansion board, and NIC components.

Updated platforms:

- clemente (Meta): LEDs, shunt resistor configuration
- santabarbara (Meta): AMD APML, EEPROMs, LEDs, GPIO line names, MCTP for NICs

There are a scattering of one-off changes and devicetree cleanups for other
platforms as well.

* tag 'aspeed-6.19-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux:
  ARM: dts: aspeed: santabarbara: Add eeprom device node for PRoT module
  ARM: dts: aspeed: santabarbara: Add AMD APML interface support
  ARM: dts: aspeed: santabarbara: Add gpio line name
  ARM: dts: aspeed: santabarbara: Add bmc_ready_noled Led
  ARM: dts: aspeed: santabarbara: Enable MCTP for frontend NIC
  ARM: dts: aspeed: santabarbara: Add sensor support for extension boards
  ARM: dts: aspeed: santabarbara: Add blank lines between nodes for readability
  ARM: dts: aspeed: yosemite5: Add Meta Yosemite5 BMC
  dt-bindings: arm: aspeed: add Meta Yosemite5 board
  ARM: dts: aspeed: clemente: Add HDD LED GPIO
  ARM: dts: aspeed: Fix max31785 fan properties
  ARM: dts: aspeed: Add Balcones system
  dt-bindings: arm: aspeed: add IBM Bonnell board
  dt-bindings: arm: aspeed: add IBM Balcones board
  ARM: dts: aspeed: harma: Add MCTP I2C controller node
  ARM: dts: aspeed: yosemite4: allocate ramoops for kernel panic
  ARM: dts: aspeed: clemente: add shunt-resistor-micro-ohms for LM5066i

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21 16:28:43 +01:00
Denis Benato
6b87f7ea74
platform/x86: asus-armoury: fix mini-led mode show
Perform the actual check of the mini-led mode against supported modes
and do not return the first one regardless of the WMI devstate.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/aR1xbxEQyQPEvB9o@stanley.mountain/
Signed-off-by: Denis Benato <denis.benato@linux.dev>
Link: https://patch.msgid.link/20251120024059.1341326-1-denis.benato@linux.dev
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:28:29 +02:00
Arnd Bergmann
6ef9a6fca7 PXA1908 DT changes for 6.19
Rollup of hardware support which has accumulated since support for the
 SoC and coreprimevelte board was merged. This most notably includes
 eMMC, PMIC, backlight and touchscreen. A few QoL fixes are also
 included.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRt/0HWDfMUtbdrpjCtMZNSRY+tAwUCaOz5IwAKCRCtMZNSRY+t
 A/JXAPsGp+81P4vgINVTfceFPqbcqd1gnFk/ZCqBJjvdGvR73AD/R6Se5lwtSIq6
 sfcm47LpbZ+Bv/9UbZMA7D0il67tcwY=
 =NjpT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkghKoACgkQmmx57+YA
 GNkBIg//WKaHWlNKGJAMmjnNSkorAoTpEyEETppiLZIXqsxYuS5zfbYXO7bMDKao
 o2yioNyLtD4ZEcjgw+cx4v0gkbdwmAfNwKLuSBsRsg1MbxgxNjAbgF8QKyMp6/Iu
 nEFbHi8zf/Ypb9Su5G4pteHVJQNJe1glU0DiV7Oi/x/g1y7va3tjQgys6LnPQ1Z4
 V5dshWcbklcODFMDkFkmJ12d6iXV7AYFhkjtaemqq+F1j4M92rBRAlOHIWuhB5Wh
 BH5dZG0c8AGg0394smwOe9LjqN0jVWu+/GeWr3fs8GS2nSQS1rhZfewkR5YAl7nL
 K1MzuvzwXQ9r1A113Yu7LyzBkIl2K795L/AKDOHMtfLZHaqG4LVUVwSbCqwZsUvt
 mThZq6v0bbs4YdMLN+RrTCH/Z9vhe+5I/kG0JXiUcvQbDyBAw50aGBQBG5uAuzrT
 Gyvs8Fl7cqzpjIWfKHZdc/5HRNlufFHzyykPmoBhfZAfpTShfJ4917KAaTctzNSf
 GCZzYPMHO1E/Y1d3hyRGUsHGD8JaPzl4Ki75EnKvSexs5rGBYLBeJCDONuV9Dkp0
 9scvpWo8Sr7LlzBhYpOkJERxMcRY5L7K5CZKkYABFENvdw3mOKctaVEtdNE4Uhe+
 C6ga3GP8vC/iytnFRl7Xnf/1HYgK9xyz80UhzvVNysMW7Fc8NFE=
 =n+0B
 -----END PGP SIGNATURE-----

Merge tag 'pxa1908-dt-for-6.19' of https://gitlab.com/pxa1908-mainline/linux into soc/dt

PXA1908 DT changes for 6.19

Rollup of hardware support which has accumulated since support for the
SoC and coreprimevelte board was merged. This most notably includes
eMMC, PMIC, backlight and touchscreen. A few QoL fixes are also
included.

* tag 'pxa1908-dt-for-6.19' of https://gitlab.com/pxa1908-mainline/linux:
  arm64: dts: marvell: pxa1908: Add power domains
  arm64: dts: marvell: samsung,coreprimevelte: Add USB connector
  arm64: dts: marvell: samsung,coreprimevelte: Fill in memory node
  arm64: dts: marvell: samsung,coreprimevelte: Drop some reserved memory
  arm64: dts: marvell: pxa1908: Move ramoops to SoC dtsi
  arm64: dts: marvell: samsung,coreprimevelte: Add vibrator
  arm64: dts: marvell: pxa1908: Add PWMs
  arm64: dts: marvell: samsung,coreprimevelte: Enable eMMC
  arm64: dts: marvell: samsung,coreprimevelte: Correct CD GPIO
  arm64: dts: marvell: samsung,coreprimevelte: Add backlight
  arm64: dts: samsung,coreprimevelte: add SDIO
  arm64: dts: samsung,coreprimevelte: add touchscreen
  arm64: dts: samsung,coreprimevelte: add PMIC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21 16:26:26 +01:00
Dan Carpenter
0a69fe8f09
platform/x86: asus-armoury: Fix error code in mini_led_mode_current_value_store()
There are two return statements in a row here.  The first one is wrong
so delete that one.  This changes the return value to -ENODEV.

Fixes: f99eb09809 ("platform/x86: asus-armoury: move existing tunings to asus-armoury module")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/aSBqRHs256Tz7EKr@stanley.mountain
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:24:05 +02:00
Arnd Bergmann
2bab99283d Tenstorrent device tree for v6.19
Add Tenstorrent as a vendor and enable support for the Blackhole SoC
 in Blackhole P100 and P150 PCIe cards. The SoC contains four RISC-V
 CPU tiles consisting of 4x SiFive X280 cores.
 
 There is a virtual UART implemented in OpenSBI firmware that allows a
 console program on the PCIe host to communicate through shared memory
 with Linux running on the Blackhole card.
 
 Link: https://github.com/tenstorrent/tt-bh-linux
 Link: https://github.com/tenstorrent/opensbi/
 Signed-off-by: Drew Fustini <fustini@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSy8G7QpEpV9aCf6Lbb7CzD2SixDAUCaPPUxQAKCRDb7CzD2Six
 DPcCAQDtzzCHclFzG1GwQj5zaX7dGVoCjFkzmgiUiA+ju4gD9AEA60g+6DgksxRC
 juAX9aflgWCkRCdLQVuSf7jBFii0hg0=
 =pJ7i
 -----END PGP SIGNATURE-----

Merge tag 'tenstorrent-dt-for-v6.19' of https://github.com/tenstorrent/linux into soc/newsoc

Tenstorrent device tree for v6.19

Add Tenstorrent as a vendor and enable support for the Blackhole SoC
in Blackhole P100 and P150 PCIe cards. The SoC contains four RISC-V
CPU tiles consisting of 4x SiFive X280 cores.

There is a virtual UART implemented in OpenSBI firmware that allows a
console program on the PCIe host to communicate through shared memory
with Linux running on the Blackhole card.

Link: https://github.com/tenstorrent/tt-bh-linux
Link: https://github.com/tenstorrent/opensbi/
Signed-off-by: Drew Fustini <fustini@kernel.org>

* tag 'tenstorrent-dt-for-v6.19' of https://github.com/tenstorrent/linux:
  riscv: defconfig: Enable Tenstorrent SoCs
  riscv: Kconfig.socs: Add ARCH_TENSTORRENT for Tenstorrent SoCs
  riscv: dts: Add Tenstorrent Blackhole SoC PCIe cards
  dt-bindings: interrupt-controller: Add Tenstorrent Blackhole compatible
  dt-bindings: timers: Add Tenstorrent Blackhole compatible
  dt-bindings: riscv: cpus: Add SiFive X280 compatible
  dt-bindings: riscv: Add Tenstorrent Blackhole compatible
  dt-bindings: vendor-prefixes: Add Tenstorrent AI ULC
2025-11-21 16:22:33 +01:00
Shyam Sundar S K
7ec374c6b8
platform/x86/amd/pmf: Replace magic table id with METRICS_TABLE_ID
Add METRICS_TABLE_ID (7) and use it when requesting the metrics
transfer table instead of the hard-coded literal. This clarifies the
meaning of the argument to amd_pmf_send_cmd() and centralizes the table
ID definition for easier maintenance.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://patch.msgid.link/20251120105210.3945710-4-Shyam-sundar.S-k@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:18:12 +02:00
Shyam Sundar S K
83f0442a40
platform/x86/amd/pmf: Use explicit SET_CMD/GET_CMD flags in amd_pmf_send_cmd()
Add SET_CMD and GET_CMD constants and replace boolean values passed as the
get/set argument to amd_pmf_send_cmd() with the new explicit flags. This
improves readability, avoids ambiguity around true/false and 0/1 usage.
There is no functional change.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://patch.msgid.link/20251120105210.3945710-3-Shyam-sundar.S-k@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:18:10 +02:00
Shyam Sundar S K
bc3c0a3231
platform/x86/amd/pmf: Rename IPU metrics fields to NPU for consistency
Update smu_pmf_metrics_v2 to use NPU terminology instead of IPU. This
aligns the driver with current firmware/hardware naming and fixes the
mismatch. There is no functional change and no impact to the struct layout
and only field names are updated.

Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by:
Link: https://patch.msgid.link/20251120105210.3945710-2-Shyam-sundar.S-k@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21 17:17:15 +02:00
Devarsh Thakkar
d6732ef4ab drm/bridge: sii902x: Fix HDMI detection with DRM_BRIDGE_ATTACH_NO_CONNECTOR
The sii902x driver was caching HDMI detection state in a sink_is_hdmi field
and checking it in mode_set() to determine whether to set HDMI or DVI
output mode. This approach had two problems:

1. With DRM_BRIDGE_ATTACH_NO_CONNECTOR (used by modern display drivers like
TIDSS), the bridge's get_modes() is never called. Instead, the
drm_bridge_connector helper calls the bridge's edid_read() and updates the
connector itself. This meant sink_is_hdmi was never populated, causing the
driver to default to DVI mode and breaking HDMI audio.

2. The mode_set() callback doesn't receive atomic state or connector
pointer, making it impossible to check connector->display_info.is_hdmi
directly at that point.

Fix this by moving the HDMI vs DVI decision from mode_set() to
atomic_enable(), where we can access the connector via
drm_atomic_get_new_connector_for_encoder(). This works for both connector
models:

- With DRM_BRIDGE_ATTACH_NO_CONNECTOR: Returns the drm_bridge_connector
  created by the display driver, which has already been updated by the
helper's call to drm_edid_connector_update()

- Without DRM_BRIDGE_ATTACH_NO_CONNECTOR (legacy): Returns the connector
  embedded in sii902x struct, which gets updated by the bridge's own
get_modes()

Fixes: 3de47e1309 ("drm/bridge: sii902x: use display info is_hdmi")
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251030151635.3019864-1-devarsht@ti.com
2025-11-21 15:59:21 +01:00
Nishanth Menon
715cbb21c6 drm/bridge: it66121: Add minimal it66122 support
The IT66122 is a pin compatible replacement for the IT66122. Based on
empirical testing, the new device looks to be compatible with IT66121.
However due to a lack of public data sheet at this time beyond overall
feature list[1] (which seems to add additional features vs ITT66121),
it is hard to determine that additional register operations required
to enable additional features.

So, introduce the device as a new compatible that we will detect based
on vid/pid match, with explicit id that can be used to extend the
driver capability as information becomes available later on.

[1] https://www.ite.com.tw/en/product/cate1/IT66122

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251029150636.3118628-6-nm@ti.com
2025-11-21 15:48:48 +01:00
Nishanth Menon
a8811c0bb7 drm/bridge: it66121: Use vid/pid to detect the type of chip
The driver knows exactly which version of the chip is present since
the vid/pid is used to enforce a compatibility. Given that some
devices like IT66121 has potentially been replaced with IT66122 mid
production for many platforms, it makes no sense to use the vid/pid
as an enforcement for compatibility. Instead, detect the ID of the
actual chip in use by matching the corresponding vid/pid and drop the
compatible specific lookup table.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251029150636.3118628-5-nm@ti.com
2025-11-21 15:48:47 +01:00
Nishanth Menon
a1df28b5f4 drm/bridge: it66121: Sort the compatibles
Keep the compatibles sorted alpha-numerically.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251029150636.3118628-4-nm@ti.com
2025-11-21 15:48:47 +01:00
Nishanth Menon
1ba36afa66 drm/bridge: it66121: Drop ftrace like dev_dbg() prints
Drop the ftrace like dev_dbg() that checkpatch --strict complains about:

WARNING: Unnecessary ftrace-like logging - prefer using ftrace
+	dev_dbg(dev, "%s\n", __func__);

WARNING: Unnecessary ftrace-like logging - prefer using ftrace
+	dev_dbg(dev, "%s\n", __func__);

WARNING: Unnecessary ftrace-like logging - prefer using ftrace
+	dev_dbg(dev, "%s\n", __func__);

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251029150636.3118628-3-nm@ti.com
2025-11-21 15:48:46 +01:00
Nishanth Menon
e902d2c38a dt-bindings: display: bridge: it66121: Add compatible string for IT66122
Add a new ite,it66122 compatible string to the IT66121 binding
documentation, since the two chips are practically same except for id
register difference.

Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Andrew Davis <afd@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251029150636.3118628-2-nm@ti.com
2025-11-21 15:48:46 +01:00
Dan Carpenter
670500b41e
regulator: pca9450: Fix error code in probe()
Return "PTR_ERR(pca9450->sd_vsel_gpio)" instead of "ret".  The "ret"
variable is success at this point.

Fixes: 3ce6f4f943 ("regulator: pca9450: Fix control register for LDO5")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/aSBqnPoBrsNB1Ale@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-11-21 14:39:49 +00:00
Bartosz Golaszewski
527250cd90 platform/x86: intel: chtwc_int33fe: don't dereference swnode args
Members of struct software_node_ref_args should not be dereferenced
directly but set using the provided macros. Commit d7cdbbc93c
("software node: allow referencing firmware nodes") changed the name of
the software node member and caused a build failure. Remove all direct
dereferences of the ref struct as a fix.

However, this driver also seems to abuse the software node interface by
waiting for a node with an arbitrary name "intel-xhci-usb-sw" to appear
in the system before setting up the reference for the I2C device, while
the actual software node already exists in the intel-xhci-usb-role-switch
module and should be used to set up a static reference. Add a FIXME for
a future improvement.

Fixes: d7cdbbc93c ("software node: allow referencing firmware nodes")
Fixes: 53c24c2932 ("platform/x86: intel_cht_int33fe: use inline reference properties")
Cc: stable@vger.kernel.org
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/all/20251121111534.7cdbfe5c@canb.auug.org.au/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2025-11-21 15:31:43 +01:00
Alexandre Chartre
be5ee60ac5 objtool: Provide access to feature and flags of group alternatives
Each alternative of a group alternative depends on a specific
feature and flags. Provide access to the feature/flags for each
alternative as an attribute (feature) in struct alt_group.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-26-alexandre.chartre@oracle.com
2025-11-21 15:30:14 +01:00
Alexandre Chartre
4aae0d3f77 objtool: Fix address references in alternatives
When using the --disas option, alternatives are disassembled but
address references in non-default alternatives can be incorrect.

The problem is that alternatives are shown as if they were replacing the
original code of the alternative. So if an alternative is referencing
an address inside the alternative then the reference has to be
adjusted to the location of the original code.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-25-alexandre.chartre@oracle.com
2025-11-21 15:30:14 +01:00
Alexandre Chartre
7e017720aa objtool: Disassemble jump table alternatives
When using the --disas option, also disassemble jump tables.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-24-alexandre.chartre@oracle.com
2025-11-21 15:30:14 +01:00
Alexandre Chartre
78df4590c5 objtool: Disassemble exception table alternatives
When using the --disas option, also disassemble exception tables
(EX_TABLE).

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-23-alexandre.chartre@oracle.com
2025-11-21 15:30:14 +01:00
Alexandre Chartre
15e7ad8667 objtool: Print addresses with alternative instructions
All alternatives are disassemble side-by-side when using the --disas
option. However the address of each instruction is not printed because
instructions from different alternatives are not necessarily aligned.

Change this behavior to print the address of each instruction. Spaces
will appear between instructions from the same alternative when
instructions from different alternatives do not have the same alignment.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-22-alexandre.chartre@oracle.com
2025-11-21 15:30:13 +01:00
Alexandre Chartre
a4f1599672 objtool: Disassemble group alternatives
When using the --disas option, disassemble all group alternatives.
Jump tables and exception tables (which are handled as alternatives)
are not disassembled at the moment.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-21-alexandre.chartre@oracle.com
2025-11-21 15:30:13 +01:00
Alexandre Chartre
87343e6642 objtool: Print headers for alternatives
When using the --disas option, objtool doesn't currently disassemble
any alternative. Print an header for each alternative. This identifies
places where alternatives are present but alternative code is still
not disassembled at the moment.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-20-alexandre.chartre@oracle.com
2025-11-21 15:30:13 +01:00
Alexandre Chartre
7ad7a4a720 objtool: Preserve alternatives order
Preserve the order in which alternatives are defined. Currently
objtool stores alternatives in a list in reverse order.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-19-alexandre.chartre@oracle.com
2025-11-21 15:30:12 +01:00
Alexandre Chartre
5f326c8897 objtool: Add the --disas=<function-pattern> action
Add the --disas=<function-pattern> actions to disassemble the specified
functions. The function pattern can be a single function name (e.g.
--disas foo to disassemble the function with the name "foo"), or a shell
wildcard pattern (e.g. --disas foo* to disassemble all functions with a
name starting with "foo").

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-18-alexandre.chartre@oracle.com
2025-11-21 15:30:12 +01:00
Alexandre Chartre
c3b7d044fc objtool: Do not validate IBT for .return_sites and .call_sites
The .return_sites and .call_sites sections reference text addresses,
but not with the intent to indirect branch to them, so they don't
need to be validated for IBT.

This is useful when running objtool on object files which already
have .return_sites or .call_sites sections, for example to re-run
objtool after it has reported an error or a warning.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-17-alexandre.chartre@oracle.com
2025-11-21 15:30:12 +01:00
Alexandre Chartre
350c7ab857 objtool: Improve tracing of alternative instructions
When tracing function validation, improve the reporting of
alternative instruction by more clearly showing the different
alternatives beginning and end.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-16-alexandre.chartre@oracle.com
2025-11-21 15:30:11 +01:00
Alexandre Chartre
9b580accac objtool: Add functions to better name alternatives
Add the disas_alt_name() and disas_alt_type_name() to provide a
name and a type name for an alternative. This will be used to
better name alternatives when tracing their execution.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-15-alexandre.chartre@oracle.com
2025-11-21 15:30:11 +01:00
Alexandre Chartre
d490aa2197 objtool: Identify the different types of alternatives
Alternative code, including jump table and exception table, is represented
with the same struct alternative structure. But there is no obvious way to
identify whether the struct represents alternative instructions, a jump
table or an exception table.

So add a type to struct alternative to clearly identify the type of
alternative.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-14-alexandre.chartre@oracle.com
2025-11-21 15:30:11 +01:00
Alexandre Chartre
26a453fb56 objtool: Improve register reporting during function validation
When tracing function validation, instruction state changes can
report changes involving registers. These registers are reported
with the name "r<num>" (e.g. "r3"). Print the CPU specific register
name instead of a generic name (e.g. print "rbx" instead of "r3"
on x86).

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-13-alexandre.chartre@oracle.com
2025-11-21 15:30:10 +01:00
Alexandre Chartre
fcb268b47a objtool: Trace instruction state changes during function validation
During function validation, objtool maintains a per-instruction state,
in particular to track call frame information. When tracing validation,
print any instruction state changes.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-12-alexandre.chartre@oracle.com
2025-11-21 15:30:10 +01:00
Alexandre Chartre
70589843b3 objtool: Add option to trace function validation
Add an option to trace and have information during the validation
of specified functions. Functions are specified with the --trace
option which can be a single function name (e.g. --trace foo to
trace the function with the name "foo"), or a shell wildcard
pattern (e.g. --trace foo* to trace all functions with a name
starting with "foo").

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-11-alexandre.chartre@oracle.com
2025-11-21 15:30:09 +01:00
Alexandre Chartre
de0248fbbf objtool: Record symbol name max length
Keep track of the maximum length of symbol names. This will help
formatting the code flow between different functions.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-10-alexandre.chartre@oracle.com
2025-11-21 15:30:09 +01:00
Alexandre Chartre
a0e5bf9fd6 objtool: Extract code to validate instruction from the validate branch loop
The code to validate a branch loops through all instructions of the
branch and validate each instruction. Move the code to validate an
instruction to a separated function.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-9-alexandre.chartre@oracle.com
2025-11-21 15:30:08 +01:00
Alexandre Chartre
0bb080ba64 objtool: Disassemble instruction on warning or backtrace
When an instruction warning (WARN_INSN) or backtrace (BT_INSN) is issued,
disassemble the instruction to provide more context.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-8-alexandre.chartre@oracle.com
2025-11-21 15:30:08 +01:00
Alexandre Chartre
d4e13c2149 objtool: Store instruction disassembly result
When disassembling an instruction store the result instead of directly
printing it.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-7-alexandre.chartre@oracle.com
2025-11-21 15:30:08 +01:00
Alexandre Chartre
5d859dff26 objtool: Print symbol during disassembly
Print symbols referenced during disassembly instead of just printing
raw addresses. Also handle address relocation.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-6-alexandre.chartre@oracle.com
2025-11-21 15:30:07 +01:00
Alexandre Chartre
f348a44c10 tool build: Remove annoying newline in build output
Remove the newline which is printed during feature discovery
when nothing else is printed.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-5-alexandre.chartre@oracle.com
2025-11-21 15:30:07 +01:00
Alexandre Chartre
5995330382 objtool: Disassemble code with libopcodes instead of running objdump
objtool executes the objdump command to disassemble code. Use libopcodes
instead to have more control about the disassembly scope and output.
If libopcodes is not present then objtool is built without disassembly
support.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-4-alexandre.chartre@oracle.com
2025-11-21 15:30:07 +01:00
Alexandre Chartre
1013f2e37b objtool: Create disassembly context
Create a structure to store information for disassembling functions.
For now, it is just a wrapper around an objtool file.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-3-alexandre.chartre@oracle.com
2025-11-21 15:30:06 +01:00
Alexandre Chartre
55d2a473f3 objtool: Move disassembly functions to a separated file
objtool disassembles functions which have warnings. Move the code
to do that to a dedicated file. The code is just moved, it is not
changed.

Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://patch.msgid.link/20251121095340.464045-2-alexandre.chartre@oracle.com
2025-11-21 15:30:06 +01:00
Greg Kroah-Hartman
e354cc78f7 IIO: New device support, features and cleanup for 6.19
The usual bunch of new device support, but also quite a bit of cleanup
 of the core and older drivers which is always good to see.
 
 New device support
 ------------------
 
 adi,ad4080
 - Add support for AD4081, AD4083, AD4084, AD4086 and AD4087 ADCs with
   slightly different features to existing supported parts (max CNV clock
   count, resolution etc)
 adi,adxl380
 - Add support for ADXL318 and ADXL319 which have reduced functionality
   compared to other supported parts, particularly around event detection.
 aosong,adp810
 - New driver for this differential pressure and temperature sensor.
 aspeed,adc
 - Add support for the AST2700 SoC ADCs which differ in small ways from
   already supported parts.
 bosch,sm330
 - New driver for this IMU (accelerometer + gyroscop) with I2C and SPI bus
   support.
 invensense,icm45600
 - New driver for this family of IMUs with sub drivers for accelerometer
   and gyroscope elements. I2C, I3C and SPI busses all supported.
   * Supports ICM45605, ICM45606, ICM45608, ICM45634, ICM45686, ICM45687,
     ICM45688P, ICM45689.
   * Support basic features and FIFO.
 maxim,max14001
 - New driver for the MAX14001 and MAX14002 ADCs.
 renesas,rzt2h
 - New driver supporting the RZ/T2H and RZ/N2H ADCs found in various SoCs.
 renesas,rznl
 - New driver supporting the RZ/NL ADC found in various SoCs.
 
 Features
 --------
 
 adi,ad5446
 - Add a DT binding doc for the 29 variants currently covered by the driver.
 - Add adi,ad5542 which is compatiable with the adi,ad5542a which was
   already supported.
 bosch,bma220
 - I2C support including an I2C bus watchdog.
 - Power supply control
 - Data ready trigger.
 - Low pass filter control.
 - Debugfs register access.
 - Add Petre Rodan as a maintainer of this driver (thanks!)
 bosch,bmi270
 - Add support for motion events.
 fsl,mpl3115
 - Add a dataready trigger and related sampling frequency control.
 - Add threshold events.
 infineon,dps310
 - Add a specific device tree binding.
 maxim,max30100
 - Allow control of LED pulse-width in dt-binding. Optimum value depends
   on physical characteristics of the device which contains this sensor.
 mediatek,mt2701
 - Add dt compatible for the mt8189.
 rockchip,saradc
 - Add rk3506 compatible which is functionally the same as the already
   supported rk3528 (which is therefore the fallback)
 st,lsm6dsx
 - Make sampling more flexible when both fifo and events are of interest
   by decoupling the FIFO fill rate from actual sampling.
 
 Cleanup and minor fixes
 -----------------------
 
 core
 - Document and add might_sleep() to iio_push_to_buffers_with_ts_unaligned()
   as it allocates a buffer, typically just on 1st call.
 - Add documentation for iio_push_to_buffers_with_ts() which is being used
   to replace iio_push_to_buffers_with_timestamp() in new code as it
   validates the buffer size.  Make the deprecation of the old function
   clear.
 - Document that the store_to() callback in struct iio_buffer_access_funcs
   may be called from contexts that cannot sleep.
 - Document that the cb() provided to a callback buffer may be called
   from contexts that cannot sleep.
 - Cleanup up industrialio-backend.c comments.
 - Call mutex_destroy() in cleanup of buffers.
 - Call device_initialize() later to avoid having to call device_put()
   before configuration is otherwise complete.
 - Use mutex_init_with_key() to replace opencoded version.
 - Use dma_buf_unmap_attachment_unlocked() to replace opencoded version.
 - Reorder Makefile for pressure sensors.
 various
 - Uses sysfs_emit() to replace sprintf() in read_label() and other
   callbacks that typically are used to write data to sysfs buffers.
 - Switch to REGCACHE_MAPLE in various drivers.
 adi,docs
 - Fix up formatting of cross references and other kernel-doc issues.
 adi,ad4080
 - Fix wrong masking of product IDs.
 adi,ad5446
 - Use DMA safe buffers as needed for SPI.
 - Drop a duplicate device chip specific data structure where two parts
   are functionally identical.
 - Fail probe if reference is not available.
 - Split up the massive array of chip type specific structures into
   separate structures as this tends to be easier to read and maintain.
 - Add explicit of_device_id entries for all supported parts.
 - Split I2C and SPI parts away from core to avoid ifdef complexity.
 - Switch to devm_mutex_init().
 - Make use of guard() to simplify code.
 - Applying IWYU principles and reorder headers.
 - Various other minor cleanup.
 adi,ad7124
 - Add debugfs to support single cycle mode, typically only used for cases
   such as validate performance of the ADC.
 - Various other minor cleanup including removing some layers of indirection
   that weren't necessary.
 - Add extended attributes to the temperature channel which follows the same
   signal path as other channels.
 - Replace the setup register allocation strategy with a simpler more
   predictable one (a fix for OOB from this code follows later in this pull
   request).
 adi,adxl345
 - Ensure dt-binding allows for both interrupt wired at the same time.
 arm,scmi
 - Replace const_ilog2() with the resulting value which ends up simpler
   to read.
 bosch,bma220
 - Add correct SPI mode specification to the device tree binding.
 - Fix up interrupt type in dt binding example to match that the driver
   expects.
 - Relax hard constraint on matching chip ID with a message only so as to
   enable fallback DT compatibles to work.
 - Use local struct device *dev to replaces lots of indirect look ups.
 - Improve includes on approximate IWYU basis.
 - Explicit of_match_table.
 - Reset some registers during probe.
 - Move to regmap.
 - Ensure a timestamp is available when filling the buffer by using a
   locally acquired one rather than relying on trigger top half running.
 - Add a utility function to search value pair tables for a match.
 - Various other minor improvements.
 - Move code to avoid a false dependency of the core code on the I2C module.
 bosch,bma400
 - Improve register and field naming + organization. Use with FIELD_GET()
   and FIELD_PREP() to allow dropping of shift defines.
 - Use macros to define event related fields.
 - Switch to an address lookup based on an index variable to replace lots of
   very similar register macros.
 - Rename activity_event_en() to generic_event_en() to better reflect what
   it does.
 - Improve comments around interrupt register handling.
 fsl,mpl3115
 - Factor out code for triggered buffer data collection.
 - Use more consistent register field naming style.
 - Use get_unaligned_be24() to get the pressure.
 invensense,mpu6050
 - Drop false requirement in DT binding for the interrupt. The driver will
   be able to do less if one is not provided, but some features are still
   available.
 invensense,icm45600_i3c
 - Fix missing return on failure to match part.
 linear,ltc2688
 - Use devm_mutex_init() so mutex_destroy() is called in tear down path.
 - Use guard() to simplify lock handling in error return paths.
 qcom,vadc
 - Fix up some kernel-doc related warnings.
 rohm,bd79112 and bd79124
 - Use regmap_reg_range() helper to set the ranges.
 st,lsm6dsx
 - Fix units of ODR in structure documentation.
 ti,am335x
 - Add range checks to avoid a compiler warning.
 ti,pac1934
 - Switch to system_percpu_wq.
 
 Various other minor typo fixes etc.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmkctU0RHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0FoieRRAAhW5u/hpDIer1qEOINzvGnU/rKD1annkb
 d1S+aX6fTz78uJE6OdRYyO+DQoNZhjpFfAtRoq2JHb37NEPOrCQMGhgdwbZ9KPPQ
 1nSX15q1FQUWAWdBWFJ2GA8domB8GcUUP9RHtD+g5LYOhHsnvAdNa6PdC0G180yq
 RA20Otb963l0n+sGLa3uB8AdB1QLh5uYUfnlwvY4zfjI7LySKb2YBpEozvMzdTrr
 M+GGO7J9DtLv+siBi3GHBrjsXM2mgVu4X40NC5YfLLfVcn/1SJHifPr4j4CE1bO1
 7KyXIht1QBceKUzO2pj8G3rlbkMqJ7HtLvgrChHAYzjit5q/dgCfdkpCEJOD9Y0g
 ujmR29Kpfjpv+70HMMEw45HNCl+HcmrUy2OGRvRcP29aqJF4Z5NJGPU6TKuwREXL
 JiFggvNllYqJE2pMPjIA+jq0QHOBsTvY5z3am2vvrYss8mb5qK8szJy7L6PM8Sq2
 xXo+0Vp2ynsVLGep42D332ZWgdkBGQWMnyiTrldPYV4I0OIC9dW8qgVUF7pGQunZ
 wRq4YdmC08f75xPkLuQ0IGk4j80f1cWcOGRye76BlsYWkbndY2FvwS4YzE4ubeGI
 +UOOWHH0/zglrMKDScLXJS53Pww1dCArM6X1NP4RPiKrYTXsMfDV6JjPhyuoBGgG
 jZk+BKwIIHo=
 =/XOC
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-6.19a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Jonathan writes:

IIO: New device support, features and cleanup for 6.19

The usual bunch of new device support, but also quite a bit of cleanup
of the core and older drivers which is always good to see.

New device support
------------------

adi,ad4080
- Add support for AD4081, AD4083, AD4084, AD4086 and AD4087 ADCs with
  slightly different features to existing supported parts (max CNV clock
  count, resolution etc)
adi,adxl380
- Add support for ADXL318 and ADXL319 which have reduced functionality
  compared to other supported parts, particularly around event detection.
aosong,adp810
- New driver for this differential pressure and temperature sensor.
aspeed,adc
- Add support for the AST2700 SoC ADCs which differ in small ways from
  already supported parts.
bosch,sm330
- New driver for this IMU (accelerometer + gyroscop) with I2C and SPI bus
  support.
invensense,icm45600
- New driver for this family of IMUs with sub drivers for accelerometer
  and gyroscope elements. I2C, I3C and SPI busses all supported.
  * Supports ICM45605, ICM45606, ICM45608, ICM45634, ICM45686, ICM45687,
    ICM45688P, ICM45689.
  * Support basic features and FIFO.
maxim,max14001
- New driver for the MAX14001 and MAX14002 ADCs.
renesas,rzt2h
- New driver supporting the RZ/T2H and RZ/N2H ADCs found in various SoCs.
renesas,rznl
- New driver supporting the RZ/NL ADC found in various SoCs.

Features
--------

adi,ad5446
- Add a DT binding doc for the 29 variants currently covered by the driver.
- Add adi,ad5542 which is compatiable with the adi,ad5542a which was
  already supported.
bosch,bma220
- I2C support including an I2C bus watchdog.
- Power supply control
- Data ready trigger.
- Low pass filter control.
- Debugfs register access.
- Add Petre Rodan as a maintainer of this driver (thanks!)
bosch,bmi270
- Add support for motion events.
fsl,mpl3115
- Add a dataready trigger and related sampling frequency control.
- Add threshold events.
infineon,dps310
- Add a specific device tree binding.
maxim,max30100
- Allow control of LED pulse-width in dt-binding. Optimum value depends
  on physical characteristics of the device which contains this sensor.
mediatek,mt2701
- Add dt compatible for the mt8189.
rockchip,saradc
- Add rk3506 compatible which is functionally the same as the already
  supported rk3528 (which is therefore the fallback)
st,lsm6dsx
- Make sampling more flexible when both fifo and events are of interest
  by decoupling the FIFO fill rate from actual sampling.

Cleanup and minor fixes
-----------------------

core
- Document and add might_sleep() to iio_push_to_buffers_with_ts_unaligned()
  as it allocates a buffer, typically just on 1st call.
- Add documentation for iio_push_to_buffers_with_ts() which is being used
  to replace iio_push_to_buffers_with_timestamp() in new code as it
  validates the buffer size.  Make the deprecation of the old function
  clear.
- Document that the store_to() callback in struct iio_buffer_access_funcs
  may be called from contexts that cannot sleep.
- Document that the cb() provided to a callback buffer may be called
  from contexts that cannot sleep.
- Cleanup up industrialio-backend.c comments.
- Call mutex_destroy() in cleanup of buffers.
- Call device_initialize() later to avoid having to call device_put()
  before configuration is otherwise complete.
- Use mutex_init_with_key() to replace opencoded version.
- Use dma_buf_unmap_attachment_unlocked() to replace opencoded version.
- Reorder Makefile for pressure sensors.
various
- Uses sysfs_emit() to replace sprintf() in read_label() and other
  callbacks that typically are used to write data to sysfs buffers.
- Switch to REGCACHE_MAPLE in various drivers.
adi,docs
- Fix up formatting of cross references and other kernel-doc issues.
adi,ad4080
- Fix wrong masking of product IDs.
adi,ad5446
- Use DMA safe buffers as needed for SPI.
- Drop a duplicate device chip specific data structure where two parts
  are functionally identical.
- Fail probe if reference is not available.
- Split up the massive array of chip type specific structures into
  separate structures as this tends to be easier to read and maintain.
- Add explicit of_device_id entries for all supported parts.
- Split I2C and SPI parts away from core to avoid ifdef complexity.
- Switch to devm_mutex_init().
- Make use of guard() to simplify code.
- Applying IWYU principles and reorder headers.
- Various other minor cleanup.
adi,ad7124
- Add debugfs to support single cycle mode, typically only used for cases
  such as validate performance of the ADC.
- Various other minor cleanup including removing some layers of indirection
  that weren't necessary.
- Add extended attributes to the temperature channel which follows the same
  signal path as other channels.
- Replace the setup register allocation strategy with a simpler more
  predictable one (a fix for OOB from this code follows later in this pull
  request).
adi,adxl345
- Ensure dt-binding allows for both interrupt wired at the same time.
arm,scmi
- Replace const_ilog2() with the resulting value which ends up simpler
  to read.
bosch,bma220
- Add correct SPI mode specification to the device tree binding.
- Fix up interrupt type in dt binding example to match that the driver
  expects.
- Relax hard constraint on matching chip ID with a message only so as to
  enable fallback DT compatibles to work.
- Use local struct device *dev to replaces lots of indirect look ups.
- Improve includes on approximate IWYU basis.
- Explicit of_match_table.
- Reset some registers during probe.
- Move to regmap.
- Ensure a timestamp is available when filling the buffer by using a
  locally acquired one rather than relying on trigger top half running.
- Add a utility function to search value pair tables for a match.
- Various other minor improvements.
- Move code to avoid a false dependency of the core code on the I2C module.
bosch,bma400
- Improve register and field naming + organization. Use with FIELD_GET()
  and FIELD_PREP() to allow dropping of shift defines.
- Use macros to define event related fields.
- Switch to an address lookup based on an index variable to replace lots of
  very similar register macros.
- Rename activity_event_en() to generic_event_en() to better reflect what
  it does.
- Improve comments around interrupt register handling.
fsl,mpl3115
- Factor out code for triggered buffer data collection.
- Use more consistent register field naming style.
- Use get_unaligned_be24() to get the pressure.
invensense,mpu6050
- Drop false requirement in DT binding for the interrupt. The driver will
  be able to do less if one is not provided, but some features are still
  available.
invensense,icm45600_i3c
- Fix missing return on failure to match part.
linear,ltc2688
- Use devm_mutex_init() so mutex_destroy() is called in tear down path.
- Use guard() to simplify lock handling in error return paths.
qcom,vadc
- Fix up some kernel-doc related warnings.
rohm,bd79112 and bd79124
- Use regmap_reg_range() helper to set the ranges.
st,lsm6dsx
- Fix units of ODR in structure documentation.
ti,am335x
- Add range checks to avoid a compiler warning.
ti,pac1934
- Switch to system_percpu_wq.

Various other minor typo fixes etc.

* tag 'iio-for-6.19a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (150 commits)
  staging: iio: adt7316: replace sprintf() with sysfs_emit()
  iio: pressure: Arrange Makefile alphabetically
  iio: ABI: document pressure event attributes
  iio: mpl3115: add threshold events support
  iio: mpl3115: use get_unaligned_be24() to retrieve pressure data
  iio: buffer: use dma_buf_unmap_attachment_unlocked() helper
  iio: core: Replace lockdep_set_class() + mutex_init() by combined call
  iio: core: Clean up device correctly on iio_device_alloc() failure
  iio: core: add missing mutex_destroy in iio_dev_release()
  iio: accel: adxl380: add support for ADXL318 and ADXL319
  dt-bindings: iio: accel: adxl380: add new supported parts
  iio: imu: inv_icm45600: Initializes inv_icm45600_buffer_postdisable() sleep
  iio: adc: pac1934: replace use of system_wq with system_percpu_wq
  iio: dac: ad5446: Add AD5542 to the spi id table
  iio: dac: ad5446: Fix coding style issues
  iio: dac: ad5446: Refactor header inclusion
  iio: dac: ad5446: Make use of the cleanup helpers
  iio: dac: ad5446: Make use of devm_mutex_init()
  iio: dac: ad5446: Separate I2C/SPI into different drivers
  iio: dac: ad5456: Add missing DT compatibles
  ...
2025-11-21 15:25:20 +01:00
Greg Kroah-Hartman
623db9a1dd 1-Wire bus drivers for v6.19
Just a bunch of cleanups for few 1-Wire drivers: use sysfs_emit() in
 sysfs show, avoid strcpy() and strcat(), and drop unneeded
 pm_runtime_mark_last_busy() because core runtime PM handles it.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmka/d4QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14SYD/0Z2pZUZoCWKIDkf4nSEcX62SshgBFN988k
 1MIoQGyjFIswnO9b73nF5S+IOxcotIshkQllrZJhKXLGXmtO1oPRDqZq4phs40FM
 rpwDiBf2z/0u9NRlKT8D5uPNQk3yYYvP8+5Y3DFvAoUcva7gfbrzupcdfTQhL1gQ
 iEcSbxQFdoj3NyMpRIuE0t1wQ5D5bR0i+7IPnO4i3ylXAUsrDogdv6b3AV4vmkO/
 sHn4jlahU27VdTPXYTQUW9a2ylSar+BKbISb7CvZEaCZmfup9pY8mDMwZAGEhxSu
 bdXTQ5kKfCFnUCA012MybBTBu8enk7qiHo9SdUOZVqE5PAh/HjHXi5lppCQZ5/el
 WISSBl3//U4Lpme5ave3mVFDpOUuJADni5Jzpp2YBW8bqNST589qVwt4H24D+thv
 ChrsJXLpuC3WawOy73WVvnXADnwgsBkFJzNs13TOnTG51MN7yP0rFW4tv5xHNAfD
 Rrji6rWt9JLofxE78C+Nmfi2YKQvyuk5uhKrqkcBL+okc5Qlhk3nL50rXVdGuTvN
 sjRYq7oU5a+gQoEucFD3JDdRCN/S/gpvLDsZdcH5okFUragJeXU7O8e6Jdou2eP/
 QSf3GNDrJ8+FHvczKySAfaKKQTpHpsDMRe3y+bu5cy7ZQLpexrtXOtDv3S0zpjZK
 A9VX5augAg==
 =nP4E
 -----END PGP SIGNATURE-----

Merge tag 'w1-drv-6.19' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/krzk/linux-w1 into char-misc-next

Krzysztof writes:

1-Wire bus drivers for v6.19

Just a bunch of cleanups for few 1-Wire drivers: use sysfs_emit() in
sysfs show, avoid strcpy() and strcat(), and drop unneeded
pm_runtime_mark_last_busy() because core runtime PM handles it.

* tag 'w1-drv-6.19' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/krzk/linux-w1:
  w1: omap-hdq: Remove redundant pm_runtime_mark_last_busy() calls
  w1: ds28e17: Replace deprecated strcpy + strcat in w1_f19_add_slave
  w1: use sysfs_emit() in sysfs show() callbacks
2025-11-21 15:23:46 +01:00
Carlos Song
9f0c21bac5
spi: spi-fsl-lpspi: fix watermark truncation caused by type cast
't->len' is an unsigned integer, while 'watermark' and 'txfifosize' are
u8. Using min_t with typeof(watermark) forces both values to be cast to
u8, which truncates len when it exceeds 255. For example, len = 4096
becomes 0 after casting, resulting in an incorrect watermark value.

Use a wider type in min_t to avoid truncation and ensure the correct
minimum value is applied.

Fixes: a750050349 ("spi: spi-fsl-lpspi: use min_t() to improve code")
Signed-off-by: Carlos Song <carlos.song@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://patch.msgid.link/20251117030355.1359081-1-carlos.song@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-11-21 14:23:45 +00:00
Greg Kroah-Hartman
5abeedad72 FPGA Manager changes for 6.17-rc1
- Matthew hands over the maintainership of Intel MAX10 BMC secure
   update to Yilun.
 
 - Fabio adds missing spi_device_id table for xilinx-spi
 
 - Dihn updates link for Altera & AMD's dt-bindings.
 
 - Andy uses pci_find_vsec_capability() instead of open-codes for
   altera-cvp.
 
 All patches have been reviewed on the mailing list, and have been in the
 last linux-next releases (as part of our for-next branch).
 
 Signed-off-by: Xu Yilun <yilun.xu@intel.com>
 -----BEGIN PGP SIGNATURE-----
 
 iIkEABYIADEWIQSgSJpClIeaArXyudb8twOBpKCM2gUCaRcHYRMceWlsdW4ueHVA
 aW50ZWwuY29tAAoJEPy3A4GkoIzarEABANDrOqtK7Qxy5qv77tc3UR5nI1GvTktZ
 koVHQboOdG9TAP96E+OT2UwjFyjWCyi7OxsOb9zofqxIX/5Akn7L/p7mBQ==
 =msIb
 -----END PGP SIGNATURE-----

Merge tag 'fpga-for-6.19-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga into char-misc-next

Xu writes:

FPGA Manager changes for 6.17-rc1

- Matthew hands over the maintainership of Intel MAX10 BMC secure
  update to Yilun.

- Fabio adds missing spi_device_id table for xilinx-spi

- Dihn updates link for Altera & AMD's dt-bindings.

- Andy uses pci_find_vsec_capability() instead of open-codes for
  altera-cvp.

All patches have been reviewed on the mailing list, and have been in the
last linux-next releases (as part of our for-next branch).

Signed-off-by: Xu Yilun <yilun.xu@intel.com>

* tag 'fpga-for-6.19-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga:
  fpga: altera-cvp: Use pci_find_vsec_capability() when probing FPGA device
  dt-bindings: fpga: update link for Altera's and AMD partial recon
  fpga: xilinx-spi: Add missing spi_device_id table
  MAINTAINERS: change maintainer for Intel MAX10 BMC secure updates
2025-11-21 15:22:48 +01:00
Chen Changcheng
955a48a535 usb: usb-storage: No additional quirks need to be added to the EL-R12 optical drive.
The optical drive of EL-R12 has the same vid and pid as INIC-3069,
as follows:
T:  Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=13fd ProdID=3940 Rev= 3.10
S:  Manufacturer=HL-DT-ST
S:  Product= DVD+-RW GT80N
S:  SerialNumber=423349524E4E38303338323439202020
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=144mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=02 Prot=50 Driver=usb-storage
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

This will result in the optical drive device also adding
the quirks of US_FL_NO_ATA_1X. When performing an erase operation,
it will fail, and the reason for the failure is as follows:
[  388.967742] sr 5:0:0:0: [sr0] tag#0 Send: scmd 0x00000000d20c33a7
[  388.967742] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
[  388.967773] sr 5:0:0:0: [sr0] tag#0 Done: SUCCESS Result: hostbyte=DID_TARGET_FAILURE driverbyte=DRIVER_OK cmd_age=0s
[  388.967773] sr 5:0:0:0: [sr0] tag#0 CDB: ATA command pass through(12)/Blank a1 11 00 00 00 00 00 00 00 00 00 00
[  388.967803] sr 5:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current]
[  388.967803] sr 5:0:0:0: [sr0] tag#0 Add. Sense: Invalid field in cdb
[  388.967803] sr 5:0:0:0: [sr0] tag#0 scsi host busy 1 failed 0
[  388.967803] sr 5:0:0:0: Notifying upper driver of completion (result 8100002)
[  388.967834] sr 5:0:0:0: [sr0] tag#0 0 sectors total, 0 bytes done.

For the EL-R12 standard optical drive, all operational commands
and usage scenarios were tested without adding the IGNORE_RESIDUE quirks,
and no issues were encountered. It can be reasonably concluded
that removing the IGNORE_RESIDUE quirks has no impact.

Signed-off-by: Chen Changcheng <chenchangcheng@kylinos.cn>
Link: https://patch.msgid.link/20251121064020.29332-1-chenchangcheng@kylinos.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21 15:18:54 +01:00
Krishna Kurapati
f8d2bf7c0c usb: typec: hd3ss3220: Enable VBUS based on ID pin state
There is a ID pin present on HD3SS3220 controller that can be routed
to SoC. As per the datasheet:

"Upon detecting a UFP device, HD3SS3220 will keep ID pin high if VBUS is
not at VSafe0V. Once VBUS is at VSafe0V, the HD3SS3220 will assert ID pin
low. This is done to enforce Type-C requirement that VBUS must be at
VSafe0V before re-enabling VBUS"

Add support to read the ID pin state and enable VBUS accordingly.

Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20251111072025.2199142-3-krishna.kurapati@oss.qualcomm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21 15:17:40 +01:00