From: Linus Torvalds Date: Thu, 18 Jul 2024 00:42:20 +0000 (-0700) Subject: Merge tag 'mfd-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd X-Git-Tag: v6.11-rc1~147 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1200af3ac16489d9f0b86000362a044ed7521cf6;p=thirdparty%2Flinux.git Merge tag 'mfd-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd 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 ".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 ... --- 1200af3ac16489d9f0b86000362a044ed7521cf6 diff --cc MAINTAINERS index 1cfe0509873d8,5d13fe1a91879..f8efed52d123c --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -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 +S: Maintained +F: drivers/power/supply/cros_charge-control.c + +CHROMEOS EC HARDWARE MONITORING +M: Thomas Weißschuh +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 + S: Maintained + F: drivers/leds/leds-cros_ec.c + CHROMEOS EC SUBDRIVERS M: Benson Leung R: Guenter Roeck diff --cc include/linux/platform_data/tmio.h index 0000000000000,1cf418643da98..b060124ba1aef mode 000000,100644..100644 --- a/include/linux/platform_data/tmio.h +++ b/include/linux/platform_data/tmio.h @@@ -1,0 -1,64 +1,62 @@@ + /* SPDX-License-Identifier: GPL-2.0 */ + #ifndef MFD_TMIO_H + #define MFD_TMIO_H + + #include + #include + + /* 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; - void (*set_pwr)(struct platform_device *host, int state); - void (*set_clk_div)(struct platform_device *host, int state); + }; + #endif