Merge tag 'mfd-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 18 Jul 2024 00:42:20 +0000 (17:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 18 Jul 2024 00:42:20 +0000 (17:42 -0700)
Pull MFD updates from Lee Jones:
 "New Drivers:
   - ROHM BD96801 Power Management IC
   - Cirrus Logic CS40L50 Haptic Driver with Waveform Memory
   - Marvell 88PM886 Power Management IC

  New Device Support:
   - Keyboard Backlight to ChromeOS Embedded Controller
   - LEDs to ChromeOS Embedded Controller
   - Charge Control to ChromeOS Embedded Controller
   - HW Monitoring Service to ChromeOS Embedded Controller
   - AUXADCs to MediaTek MT635{7,8,9} Power Management ICs

  New Functionality:
   - Allow Syscon consumers to supply their own Regmaps on registration

  Fix-ups:
   - Constify/staticise applicable data structures
   - Remove superfluous/duplicated/unused sections
   - Device Tree binding adaptions/conversions/creation
   - Trivial; spelling, whitespace, coding-style adaptions
   - Utilise centrally provided helpers and macros to aid
     simplicity/duplication
   - Drop i2c_device_id::driver_data where the value is unused
   - Replace ACPI/DT firmware helpers with agnostic variants
   - Move over to GPIOD (descriptor-based) APIs
   - Annotate a bunch of __counted_by() cases
   - Straighten out some includes

  Bug Fixes:
   - Ensure potentially asserted recent lines are deasserted during
     initialisation
   - Avoid "<module>.ko is added to multiple modules" warnings
   - Supply a bunch of MODULE_DESCRIPTIONs to silence modpost warnings
   - Fix Wvoid-pointer-to-enum-cast warnings"

* tag 'mfd-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (87 commits)
  mfd: timberdale: Attach device properties to TSC2007 board info
  mfd: tmio: Move header to platform_data
  mfd: tmio: Sanitize comments
  mfd: tmio: Update include files
  mmc: tmio/sdhi: Fix includes
  mfd: tmio: Remove obsolete io accessors
  mfd: tmio: Remove obsolete platform_data
  watchdog: bd96801_wdt: Add missing include for FIELD_*()
  dt-bindings: mfd: syscon: Add APM poweroff mailbox
  dt-bindings: mfd: syscon: Split and enforce documenting MFD children
  dt-bindings: mfd: rk817: Merge support for RK809
  dt-bindings: mfd: rk817: Fixup clocks and reference dai-common
  dt-bindings: mfd: syscon: Add TI's opp table compatible
  mfd: omap-usb-tll: Use struct_size to allocate tll
  dt-bindings: mfd: Explain lack of child dependency in simple-mfd
  dt-bindings: mfd: Dual licensing for st,stpmic1 bindings
  mfd: omap-usb-tll: Annotate struct usbtll_omap with __counted_by
  mfd: tps6594-core: Remove unneeded semicolon in tps6594_check_crc_mode()
  mfd: lm3533: Move to new GPIO descriptor-based APIs
  mfd: tps65912: Use devm helper functions to simplify probe
  ...

13 files changed:
1  2 
MAINTAINERS
drivers/firmware/cirrus/cs_dsp.c
drivers/leds/led-class.c
drivers/mmc/host/renesas_sdhi_core.c
drivers/mmc/host/renesas_sdhi_internal_dmac.c
drivers/mmc/host/renesas_sdhi_sys_dmac.c
drivers/mmc/host/tmio_mmc_core.c
drivers/mmc/host/uniphier-sd.c
drivers/regulator/Kconfig
drivers/regulator/Makefile
drivers/soc/samsung/exynos-pmu.c
drivers/watchdog/Kconfig
include/linux/platform_data/tmio.h

diff --cc MAINTAINERS
index 1cfe0509873d8f1b7cd89d21e0ef74cb36402d1b,5d13fe1a9187919109276e931d77d6b75e9efe85..f8efed52d123c2a125aaa88f94a6c45509447a58
@@@ -5200,19 -5135,11 +5200,24 @@@ S:   Maintaine
  F:    Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
  F:    sound/soc/codecs/cros_ec_codec.*
  
 +CHROMEOS EC CHARGE CONTROL
 +M:    Thomas Weißschuh <thomas@weissschuh.net>
 +S:    Maintained
 +F:    drivers/power/supply/cros_charge-control.c
 +
 +CHROMEOS EC HARDWARE MONITORING
 +M:    Thomas Weißschuh <thomas@weissschuh.net>
 +L:    chrome-platform@lists.linux.dev
 +L:    linux-hwmon@vger.kernel.org
 +S:    Maintained
 +F:    Documentation/hwmon/cros_ec_hwmon.rst
 +F:    drivers/hwmon/cros_ec_hwmon.c
 +
+ CHROMEOS EC LED DRIVER
+ M:    Thomas Weißschuh <thomas@weissschuh.net>
+ S:    Maintained
+ F:    drivers/leds/leds-cros_ec.c
  CHROMEOS EC SUBDRIVERS
  M:    Benson Leung <bleung@chromium.org>
  R:    Guenter Roeck <groeck@chromium.org>
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 0000000000000000000000000000000000000000,1cf418643da98a1db785a9954d2f9dafe4016f22..b060124ba1aef833e35696c5484bdefb3e0b6309
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,64 +1,62 @@@
 -      void (*set_pwr)(struct platform_device *host, int state);
 -      void (*set_clk_div)(struct platform_device *host, int state);
+ /* SPDX-License-Identifier: GPL-2.0 */
+ #ifndef MFD_TMIO_H
+ #define MFD_TMIO_H
+ #include <linux/platform_device.h>
+ #include <linux/types.h>
+ /* TMIO MMC platform flags */
+ /*
+  * Some controllers can support a 2-byte block size when the bus width is
+  * configured in 4-bit mode.
+  */
+ #define TMIO_MMC_BLKSZ_2BYTES         BIT(1)
+ /* Some controllers can support SDIO IRQ signalling */
+ #define TMIO_MMC_SDIO_IRQ             BIT(2)
+ /* Some features are only available or tested on R-Car Gen2 or later */
+ #define TMIO_MMC_MIN_RCAR2            BIT(3)
+ /*
+  * Some controllers require waiting for the SD bus to become idle before
+  * writing to some registers.
+  */
+ #define TMIO_MMC_HAS_IDLE_WAIT                BIT(4)
+ /*
+  * Use the busy timeout feature. Probably all TMIO versions support it. Yet,
+  * we don't have documentation for old variants, so we enable only known good
+  * variants with this flag. Can be removed once all variants are known good.
+  */
+ #define TMIO_MMC_USE_BUSY_TIMEOUT     BIT(5)
+ /* Some controllers have CMD12 automatically issue/non-issue register */
+ #define TMIO_MMC_HAVE_CMD12_CTRL      BIT(7)
+ /* Controller has some SDIO status bits which must be 1 */
+ #define TMIO_MMC_SDIO_STATUS_SETBITS  BIT(8)
+ /* Some controllers have a 32-bit wide data port register */
+ #define TMIO_MMC_32BIT_DATA_PORT      BIT(9)
+ /* Some controllers allows to set SDx actual clock */
+ #define TMIO_MMC_CLK_ACTUAL           BIT(10)
+ /* Some controllers have a CBSY bit */
+ #define TMIO_MMC_HAVE_CBSY            BIT(11)
+ struct tmio_mmc_data {
+       void                            *chan_priv_tx;
+       void                            *chan_priv_rx;
+       unsigned int                    hclk;
+       unsigned long                   capabilities;
+       unsigned long                   capabilities2;
+       unsigned long                   flags;
+       u32                             ocr_mask;       /* available voltages */
+       dma_addr_t                      dma_rx_offset;
+       unsigned int                    max_blk_count;
+       unsigned short                  max_segs;
+ };
+ #endif