Commit d857e1f3faf9 for kernel

commit d857e1f3faf998f2614dcdb52a90a27bc83bd71d
Merge: fb2c3f44a7e1 c8132247fe4d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Oct 26 08:38:17 2026 -1000

    Merge tag 'mfd-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

    Pull MFD updates from Lee Jones:
     "New Support & Features:
       - Cirrus Logic CS42L43: Add support for the CS42L44 variant
       - Khadas MCU: Add support for the VIM4 MCU variant along with
         per-variant fan duty-cycle levels and optional fan supply regulator
         support
       - Maxim MAX77705: Add support for the PASS2 hardware revision
       - MediaTek MT6397: Add AUXADC sub-device support for MT6397
       - Motorola CPCAP: Support per-board sub-device compositions and add
         the Tegra20 Mot composition
       - ROHM BD73800: Add support for the BD73800 PMIC core, regulator,
         RTC, clock gate, and GPIO sub-devices
       - TI LM3533: Add VIN regulator supply support, configure initial
         backlight mapping mode from Device Tree, and implement the
         `backlight_scale` property
       - X-Powers AC200: Add support for the AC200 I2C mixed-signal companion IC

      Improvements & Fixes:
       - Cirrus Logic CS42L43: Synchronize SoundWire enumeration work in
         `remove()` before devres cleanup begins
       - Dialog DA903x: Manage IRQ work cancellation and sub-device removal
         via devres to prevent use-after-free during teardown
       - Dialog DA9150: Balance `enable_irq_wake()` with
         `disable_irq_wake()` during probe failure and driver removal
       - Intel LPSS: Add DMI quirks for Dell Latitude 5285 and 7275 to
         ignore ACPI resource conflicts on the I2C4 controller
       - Intel Quark I2C/GPIO: Manage the fixed-rate clock and its clkdev
         lookup with devres to fix a resource leak on unbind
       - Maxim MAX77705: Select `REGMAP_I2C` and `REGMAP_IRQ` in Kconfig to
         fix build errors
       - Qualcomm WCD934x: Initialize the parent DMA mask to suppress "DMA
         mask not set" warnings on child devices
       - Qualcomm WCD934x: Pass the valid device pointer to
         `dev_err_probe()` on IRQ lookup failure to avoid a NULL pointer
         dereference
       - Rockchip RK8xx: Register the poweroff handler in the atomic
         `SYS_OFF_MODE_POWER_OFF` phase so polling I2C transfers complete
         during shutdown
       - ST-Ericsson AB8500: Use `devm_mfd_add_devices()` to prevent leaking
         child devices on probe failure
       - TI BQ257xx: Mark self-modifying BQ25792 configuration registers as
         volatile
       - TI LM3533: Set `coherent_dma_mask` to zero to suppress "DMA mask
         not set" warnings
       - TI TPS65217: Check for errors during IRQ initialization and
         masking, and manage IRQ domain and wake teardown with devres
       - TI TWL: Unregister the auxiliary platform device via a devres
         action on probe failure and driver unbind

      Cleanups & Refactoring
       - Core: Convert drivers from deprecated `SIMPLE_DEV_PM_OPS()` to
         `DEFINE_SIMPLE_DEV_PM_OPS()` and `pm_sleep_ptr()`
       - Core: Fix spelling mistakes in comments across various MFD drivers
         and headers
       - Maintainers: Add ROHM BD73800 PMIC files under the ROHM PMIC entry
       - Maintainers: Specify the `for-mfd-next` branch for the MFD and
         Syscon git trees
       - Dialog DA9062: Use `DEFINE_RES_IRQ_NAMED()` for IRQ resource
         definitions
       - Intel LPSS: Simplify DebugFS handling by dropping redundant error
         checks and intermediate dentry variables, using octal permissions,
         and switching to
        `debugfs_remove()`
       - Khadas MCU: Convert MFD cell arrays to `const` and use
         `MFD_CELL_NAME()`
       - ST-Ericsson AB8500: Fix a spelling typo in a comment
       - TI LM3533: Convert from platform data to Device Tree bindings and
         pass only regmap and light sensor presence to child devices
       - TI LM3533: Remove driver-specific regmap wrappers, redundant pdata
         helpers, and unnecessary `extern` qualifiers, and use `dev_groups`
         for sysfs attributes
       - Wolfson WM831x: Fix a spelling typo in a comment

      Device Tree Binding Updates
       - HiSilicon Hi6421 SPMI: Fix the compatible string to match
         `hisilicon,hi6421-spmi`
       - MediaTek MT6357: Allow an `adc` child node
       - MediaTek MT6360: Allow two-cell interrupt specifiers with trigger
         flags
       - MediaTek MT6397: Document the `#sound-dai-cells` property
       - MediaTek MT6397: Document the battery-backed NVMEM layout under the
         RTC child node
       - MediaTek MT6397: Document the MT6323 PMIC EFUSE child node
       - Motorola CPCAP: Convert MFD and power button bindings to DT schema
         and document the Mapphone and Mot compositions
       - Qualcomm SPMI PMIC: Document the PM4125 audio codec compatible
       - Qualcomm SPMI PMIC: Document the PMAU0102 PMIC compatible
       - Qualcomm TCSR: Document the MSM8952 TCSR compatible
       - Rockchip RK805: Fold the pin controller binding into the RK805 PMIC
         DT schema
       - ROHM BD73800: Document the BD73800 PMIC and its regulators
       - ROHM PMIC: Factor out common pin properties into
         `rohm,pmic-pins.yaml` and reference them across BD71815, BD71828,
         and BD72720 bindings
       - ST-Ericsson AB8500: Document AB8500 and AB8505 buck converter
         regulators
       - ST-Ericsson AB8500: Document codec audio graph ports, sound DAI
         cells, and analog microphone wiring properties
       - ST-Ericsson DB8500 PRCMU: Deprecate the `db8500-prcmu-regulators`
         child node and make it optional
       - Syscon: Document the Ambarella CV75 secure scratchpad compatible
       - TI BQ25703A: Add the BQ25798 compatible with fallback to BQ25792
       - TI Keystone: Convert Device State Control bindings to DT schema
       - TI LM3533: Document the LM3533 LED controller, backlight, and
         indicator LED bindings
       - TI LP3943: Convert MFD and PWM bindings to DT schema
       - TI TPS61050: Convert bindings to DT schema
       - TI TPS65086: Make the `regulators` child node optional
       - TI TPS65910: Document `wakeup-source` and GPIO hog child nodes
       - TI TWL6040: Convert bindings to DT schema and align property names
         with the driver
       - X-Powers AC200: Document the AC200 mixed-signal companion IC"

    * tag 'mfd-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (74 commits)
      dt-bindings: mfd: db8500-prcmu: Deprecate EPOD regulators
      dt-bindings: mfd: syscon: Add Ambarella CV75 secure scratchpad
      dt-bindings: mfd: rockchip,rk805: Convert pinctrl to DT schema
      mfd: intel-lpss: Add Dell Latitude 7275 to the resource conflict quirk
      mfd: intel-lpss: Add resource conflict quirk for Dell Latitude 5285
      mfd: tps65217: Use devres for IRQ domain and wake teardown
      mfd: tps65217: Check return value when masking interrupt sources
      mfd: tps65217: Fix NULL pointer dereference on IRQ init failure
      dt-bindings: mfd: qcom,spmi-pmic: Add compatibles for pm4125-codec
      mfd: bq257xx: Mark self-modifying BQ25792 registers volatile
      dt-bindings: mfd: mediatek: mt6397: describe the RTC's nvmem layout
      mfd: mt6397-core: Add mt6397 AUXADC support
      mfd: max77705: Mark PASS2 revision as supported
      mfd: ab8500: Fix child device leaks on probe failure
      dt-bindings: mfd: Add MT6397 sound DAI cells
      dt-bindings: mfd: mediatek: mt6397: Add mt6323 PMIC EFUSE
      dt-bindings: mfd: hisilicon: Fix Hi6421 SPMI compatible
      dt-bindings: mfd: ti,bq25703a: Expand to include BQ25798
      dt-bindings: mfd: Allow MT6360 interrupt flags
      dt-bindings: mfd: mediatek: Allow MT6357 ADC
      ...

diff --cc drivers/iio/light/lm3533-als.c
index 5db9591a85b9,4870e8050088..218cb93b4cf9
--- a/drivers/iio/light/lm3533-als.c
+++ b/drivers/iio/light/lm3533-als.c
@@@ -432,12 -430,11 +431,12 @@@ static ssize_t store_thresh_either_en(s
  	u8 zone;
  	int ret;

- 	if (!als->irq)
+ 	if (als->irq <= 0)
  		return -EBUSY;

 -	if (kstrtoul(buf, 0, &enable))
 -		return -EINVAL;
 +	ret = kstrtoul(buf, 0, &enable);
 +	if (ret)
 +		return ret;

  	int_enabled = test_bit(LM3533_ALS_FLAG_INT_ENABLED, &als->flags);