.../devicetree/bindings/clock/samsung,s2mps11.yaml | 1 + .../bindings/firmware/google,gs101-acpm-ipc.yaml | 35 ++ .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 26 +- MAINTAINERS | 3 +- arch/arm/configs/exynos_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/pxa_defconfig | 2 +- arch/arm64/configs/defconfig | 2 +- drivers/clk/clk-s2mps11.c | 8 + drivers/mfd/Kconfig | 35 +- drivers/mfd/Makefile | 5 +- drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ drivers/mfd/sec-common.c | 301 +++++++++++++ drivers/mfd/sec-core.c | 481 --------------------- drivers/mfd/sec-core.h | 23 + drivers/mfd/sec-i2c.c | 239 ++++++++++ drivers/mfd/sec-irq.c | 460 +++++++------------- drivers/rtc/rtc-s5m.c | 197 ++++++--- include/linux/mfd/samsung/core.h | 7 +- include/linux/mfd/samsung/irq.h | 103 +++++ include/linux/mfd/samsung/rtc.h | 37 ++ include/linux/mfd/samsung/s2mpg10.h | 454 +++++++++++++++++++ 22 files changed, 2001 insertions(+), 864 deletions(-)
This series adds initial support for the Samsung S2MPG10 PMIC using the
MFD framework. This is a PMIC for mobile applications and is used on
the Google Pixel 6 and 6 Pro (oriole / raven).
*** dependency note ***
To compile, this depends on the Samsung ACPM driver in Linux next with
the following additional patches:
https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/
https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/
https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/
*** dependency note end ***
+++ Kconfig update +++
There is a Kconfig symbol update in this series, because the existing
Samsung S2M driver has been split into core and transport (I2C & ACPM)
parts. CONFIG_MFD_SEC_CORE is now truly a core driver, and
the I2C code that was part of it is now enabled via CONFIG_MFD_SEC_I2C.
This was necessary because unlike the other S2M PMICs, S2MPG10 doesn't
talk via I2C, but via the Samsung ACPM firmware.
+++ Kconfig update end +++
This series must be applied in-order, due to interdependencies of some
of the patches. There are also various cleanup patches to the S2M
drivers. I've kept them ordered as:
* DT bindings (patches 1 ... 3)
* s2m mfd prep for adding S2MPG10 support (patches 4 ... 7)
* split S2M mfd driver into s2m-core and s2m-i2c, including the
kconfig symbol update (patch 8)
* S2MPG10 core driver (patch 9)
* s2m mfd driver cleanup patches (patches 10 ... 23)
* S2MPG10 clock driver (patch 24)
* s2m RTC prep for adding S2MPG10 (patch 25 ... 26)
* S2MPG10 RTC driver (patch 27)
* s2m RTC cleanup patches (patches 28 ... 31)
I realise these are many, but since some prep-work was required to be
able to add S2MPG anyway, I wanted to get the cleanup patches in as
well :-) Let me know if I should postpone them to a later date instead.
The S2MPG10 includes buck converters, various LDOs, power meters, RTC,
clock outputs, and additional GPIOs interfaces.
This series adds support in the top-level device driver, and for the
RTC and clock. Importantly, having the RTC driver allows to do a proper
reset of the system. Drivers or driver updates for the other components
will be added in future patches.
This will need a DT update for Oriole / Raven to enable this device. I
will send that out separately.
Cheers,
Andre'
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Changes in v4:
- various updates to sec-acpm (patch 9, Lee)
- cache enum type in patch 25 (Krzysztof)
- collect tags
- Link to v3: https://lore.kernel.org/r/20250403-s2mpg10-v3-0-b542b3505e68@linaro.org
Changes in v3:
- Krzysztof:
- keep 'regulators' subnode required even for s2mpg10
- drop '$ref' and 'unevaluatedProperties' from pmic subnode, use
'additionalProperties' instead
- add some regulators to examples since s2mpg10 requires them as of
v3
- sec-acpm:
- use an enum for struct sec_acpm_bus_context::type
- consistent name space for all functions sec_pmic_acpm_... to be
similar to i2c and consistent in this file
- Link to v2: https://lore.kernel.org/r/20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org
Changes in v2:
- Rob:
- make PMIC node a child of ACPM, and all related changes (binding,
driver)
- Krzysztof:
- merge defconfig updates into patch changing the symbols (patch 8)
- split MODULE_AUTHOR update into a separate patch
- better alignment fix (patch 11)
- merge two s2dos05/s2mpu05 related patches into one (patch 14)
- myself:
- keep PMIC DT parsing in core, not in transport driver
- several updates in sec-acpm.c, see separate entries in patch 9
- fix typo in patch 17
- collect tags
- Link to v1: https://lore.kernel.org/r/20250323-s2mpg10-v1-0-d08943702707@linaro.org
---
André Draszik (32):
dt-bindings: mfd: samsung,s2mps11: add s2mpg10
dt-bindings: clock: samsung,s2mps11: add s2mpg10
dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node
mfd: sec-core: Drop non-existing forward declarations
mfd: sec: Sort includes alphabetically
mfd: sec: Update includes to add missing and remove superfluous ones
mfd: sec: Move private internal API to internal header
mfd: sec: Split into core and transport (i2c) drivers
mfd: sec: Add support for S2MPG10 PMIC
mfd: sec: Merge separate core and irq modules
mfd: sec-common: Fix multiple trivial whitespace issues
mfd: sec-i2c: Sort struct of_device_id entries and the device type switch
mfd: sec: Use dev_err_probe() where appropriate
mfd: sec-i2c: s2dos05/s2mpu05: Use explicit regmap config and drop default
mfd: sec-irq: s2dos05 doesn't support interrupts
mfd: sec-common: Don't ignore errors from sec_irq_init()
mfd: sec-i2c: Rework platform data and regmap instantiating
mfd: sec: Change device_type to int
mfd: sec: Don't compare against NULL / 0 for errors, use !
mfd: sec-common: Use sizeof(*var), not sizeof(struct type_of_var)
mfd: sec-common: Convert to using MFD_CELL macros
mfd: sec-irq: Convert to using REGMAP_IRQ_REG() macros
mfd: sec: Add myself as module author
clk: s2mps11: add support for S2MPG10 PMIC clock
rtc: s5m: cache device type during probe
rtc: s5m: prepare for external regmap
rtc: s5m: add support for S2MPG10 RTC
rtc: s5m: fix a typo: peding -> pending
rtc: s5m: switch to devm_device_init_wakeup
rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits
rtc: s5m: replace open-coded read/modify/write registers with regmap helpers
MAINTAINERS: add myself as reviewer for Samsung S2M MFD
.../devicetree/bindings/clock/samsung,s2mps11.yaml | 1 +
.../bindings/firmware/google,gs101-acpm-ipc.yaml | 35 ++
.../devicetree/bindings/mfd/samsung,s2mps11.yaml | 26 +-
MAINTAINERS | 3 +-
arch/arm/configs/exynos_defconfig | 2 +-
arch/arm/configs/multi_v7_defconfig | 2 +-
arch/arm/configs/pxa_defconfig | 2 +-
arch/arm64/configs/defconfig | 2 +-
drivers/clk/clk-s2mps11.c | 8 +
drivers/mfd/Kconfig | 35 +-
drivers/mfd/Makefile | 5 +-
drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++
drivers/mfd/sec-common.c | 301 +++++++++++++
drivers/mfd/sec-core.c | 481 ---------------------
drivers/mfd/sec-core.h | 23 +
drivers/mfd/sec-i2c.c | 239 ++++++++++
drivers/mfd/sec-irq.c | 460 +++++++-------------
drivers/rtc/rtc-s5m.c | 197 ++++++---
include/linux/mfd/samsung/core.h | 7 +-
include/linux/mfd/samsung/irq.h | 103 +++++
include/linux/mfd/samsung/rtc.h | 37 ++
include/linux/mfd/samsung/s2mpg10.h | 454 +++++++++++++++++++
22 files changed, 2001 insertions(+), 864 deletions(-)
---
base-commit: f58dd835f82a5dda6c9d3895ee6f15016431fb1f
change-id: 20250321-s2mpg10-ef5d1ebd3043
Best regards,
--
André Draszik <andre.draszik@linaro.org>
On Wed, Apr 09, 2025 at 09:37:21PM GMT, André Draszik wrote: > This series adds initial support for the Samsung S2MPG10 PMIC using the > MFD framework. This is a PMIC for mobile applications and is used on > the Google Pixel 6 and 6 Pro (oriole / raven). > > *** dependency note *** > > To compile, this depends on the Samsung ACPM driver in Linux next with Are you sure these are build time dependencies? Do not look like. Also, if they are, the patchset will wait for quite some time. > the following additional patches: > https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/ > https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/ > https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/ > > *** dependency note end *** > > +++ Kconfig update +++ > > There is a Kconfig symbol update in this series, because the existing > Samsung S2M driver has been split into core and transport (I2C & ACPM) > parts. CONFIG_MFD_SEC_CORE is now truly a core driver, and > the I2C code that was part of it is now enabled via CONFIG_MFD_SEC_I2C. > > This was necessary because unlike the other S2M PMICs, S2MPG10 doesn't > talk via I2C, but via the Samsung ACPM firmware. > > +++ Kconfig update end +++ > > This series must be applied in-order, due to interdependencies of some > of the patches. There are also various cleanup patches to the S2M > drivers. I've kept them ordered as: They should not depend... although actually not my trees, except the firmware. Best regards, Krzysztof
Hi Krzysztof, On Thu, 2025-04-10 at 08:18 +0200, Krzysztof Kozlowski wrote: > On Wed, Apr 09, 2025 at 09:37:21PM GMT, André Draszik wrote: > > This series adds initial support for the Samsung S2MPG10 PMIC using the > > MFD framework. This is a PMIC for mobile applications and is used on > > the Google Pixel 6 and 6 Pro (oriole / raven). > > > > *** dependency note *** > > > > To compile, this depends on the Samsung ACPM driver in Linux next with > > Are you sure these are build time dependencies? Do not look like. Yes, there is a build time dependency on the ACPM driver (also mentioned in Kconfig). In particular the last series mentioned below (acpm-children) adds devm_acpm_get_by_node() which this driver needs. > Also, > if they are, the patchset will wait for quite some time. All the dependencies appear to have landed in linux-next as of writing this. > > > the following additional patches: > > https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/ > > https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/ > > https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/ > > > > *** dependency note end *** > > > > +++ Kconfig update +++ > > > > There is a Kconfig symbol update in this series, because the existing > > Samsung S2M driver has been split into core and transport (I2C & ACPM) > > parts. CONFIG_MFD_SEC_CORE is now truly a core driver, and > > the I2C code that was part of it is now enabled via CONFIG_MFD_SEC_I2C. > > > > This was necessary because unlike the other S2M PMICs, S2MPG10 doesn't > > talk via I2C, but via the Samsung ACPM firmware. > > > > +++ Kconfig update end +++ > > > > This series must be applied in-order, due to interdependencies of some > > of the patches. There are also various cleanup patches to the S2M > > drivers. I've kept them ordered as: > > They should not depend... although actually not my trees, except the > firmware. The s2mpg10 core patch adds enums and register macros for the new PMIC, which the clk and rtc drivers then use, hence I'm calling out this dependency - they can not compile without the core patch in place. Cheers, Andre'
On Wed, 09 Apr 2025, André Draszik wrote: > This series adds initial support for the Samsung S2MPG10 PMIC using the > MFD framework. This is a PMIC for mobile applications and is used on > the Google Pixel 6 and 6 Pro (oriole / raven). > > *** dependency note *** > > To compile, this depends on the Samsung ACPM driver in Linux next with > the following additional patches: > https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/ > https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/ > https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/ > > *** dependency note end *** > > +++ Kconfig update +++ > > There is a Kconfig symbol update in this series, because the existing > Samsung S2M driver has been split into core and transport (I2C & ACPM) > parts. CONFIG_MFD_SEC_CORE is now truly a core driver, and > the I2C code that was part of it is now enabled via CONFIG_MFD_SEC_I2C. > > This was necessary because unlike the other S2M PMICs, S2MPG10 doesn't > talk via I2C, but via the Samsung ACPM firmware. > > +++ Kconfig update end +++ > > This series must be applied in-order, due to interdependencies of some > of the patches. There are also various cleanup patches to the S2M > drivers. I've kept them ordered as: > * DT bindings (patches 1 ... 3) > * s2m mfd prep for adding S2MPG10 support (patches 4 ... 7) > * split S2M mfd driver into s2m-core and s2m-i2c, including the > kconfig symbol update (patch 8) > * S2MPG10 core driver (patch 9) > * s2m mfd driver cleanup patches (patches 10 ... 23) > * S2MPG10 clock driver (patch 24) > * s2m RTC prep for adding S2MPG10 (patch 25 ... 26) > * S2MPG10 RTC driver (patch 27) > * s2m RTC cleanup patches (patches 28 ... 31) > > I realise these are many, but since some prep-work was required to be > able to add S2MPG anyway, I wanted to get the cleanup patches in as > well :-) Let me know if I should postpone them to a later date instead. > > The S2MPG10 includes buck converters, various LDOs, power meters, RTC, > clock outputs, and additional GPIOs interfaces. > > This series adds support in the top-level device driver, and for the > RTC and clock. Importantly, having the RTC driver allows to do a proper > reset of the system. Drivers or driver updates for the other components > will be added in future patches. > > This will need a DT update for Oriole / Raven to enable this device. I > will send that out separately. > > Cheers, > Andre' > > Signed-off-by: André Draszik <andre.draszik@linaro.org> > --- > Changes in v4: > - various updates to sec-acpm (patch 9, Lee) > - cache enum type in patch 25 (Krzysztof) > - collect tags > - Link to v3: https://lore.kernel.org/r/20250403-s2mpg10-v3-0-b542b3505e68@linaro.org > > Changes in v3: > - Krzysztof: > - keep 'regulators' subnode required even for s2mpg10 > - drop '$ref' and 'unevaluatedProperties' from pmic subnode, use > 'additionalProperties' instead > - add some regulators to examples since s2mpg10 requires them as of > v3 > - sec-acpm: > - use an enum for struct sec_acpm_bus_context::type > - consistent name space for all functions sec_pmic_acpm_... to be > similar to i2c and consistent in this file > - Link to v2: https://lore.kernel.org/r/20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org > > Changes in v2: > - Rob: > - make PMIC node a child of ACPM, and all related changes (binding, > driver) > - Krzysztof: > - merge defconfig updates into patch changing the symbols (patch 8) > - split MODULE_AUTHOR update into a separate patch > - better alignment fix (patch 11) > - merge two s2dos05/s2mpu05 related patches into one (patch 14) > - myself: > - keep PMIC DT parsing in core, not in transport driver > - several updates in sec-acpm.c, see separate entries in patch 9 > - fix typo in patch 17 > - collect tags > - Link to v1: https://lore.kernel.org/r/20250323-s2mpg10-v1-0-d08943702707@linaro.org > > --- > André Draszik (32): > dt-bindings: mfd: samsung,s2mps11: add s2mpg10 > dt-bindings: clock: samsung,s2mps11: add s2mpg10 > dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node > mfd: sec-core: Drop non-existing forward declarations > mfd: sec: Sort includes alphabetically > mfd: sec: Update includes to add missing and remove superfluous ones > mfd: sec: Move private internal API to internal header > mfd: sec: Split into core and transport (i2c) drivers > mfd: sec: Add support for S2MPG10 PMIC > mfd: sec: Merge separate core and irq modules > mfd: sec-common: Fix multiple trivial whitespace issues > mfd: sec-i2c: Sort struct of_device_id entries and the device type switch > mfd: sec: Use dev_err_probe() where appropriate > mfd: sec-i2c: s2dos05/s2mpu05: Use explicit regmap config and drop default > mfd: sec-irq: s2dos05 doesn't support interrupts > mfd: sec-common: Don't ignore errors from sec_irq_init() > mfd: sec-i2c: Rework platform data and regmap instantiating > mfd: sec: Change device_type to int > mfd: sec: Don't compare against NULL / 0 for errors, use ! > mfd: sec-common: Use sizeof(*var), not sizeof(struct type_of_var) > mfd: sec-common: Convert to using MFD_CELL macros > mfd: sec-irq: Convert to using REGMAP_IRQ_REG() macros > mfd: sec: Add myself as module author > clk: s2mps11: add support for S2MPG10 PMIC clock > rtc: s5m: cache device type during probe > rtc: s5m: prepare for external regmap > rtc: s5m: add support for S2MPG10 RTC > rtc: s5m: fix a typo: peding -> pending > rtc: s5m: switch to devm_device_init_wakeup > rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits > rtc: s5m: replace open-coded read/modify/write registers with regmap helpers > MAINTAINERS: add myself as reviewer for Samsung S2M MFD > > .../devicetree/bindings/clock/samsung,s2mps11.yaml | 1 + > .../bindings/firmware/google,gs101-acpm-ipc.yaml | 35 ++ > .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 26 +- > MAINTAINERS | 3 +- > arch/arm/configs/exynos_defconfig | 2 +- > arch/arm/configs/multi_v7_defconfig | 2 +- > arch/arm/configs/pxa_defconfig | 2 +- > arch/arm64/configs/defconfig | 2 +- > drivers/clk/clk-s2mps11.c | 8 + > drivers/mfd/Kconfig | 35 +- > drivers/mfd/Makefile | 5 +- > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > drivers/mfd/sec-common.c | 301 +++++++++++++ > drivers/mfd/sec-core.c | 481 --------------------- > drivers/mfd/sec-core.h | 23 + > drivers/mfd/sec-i2c.c | 239 ++++++++++ > drivers/mfd/sec-irq.c | 460 +++++++------------- > drivers/rtc/rtc-s5m.c | 197 ++++++--- MFD parts look okay to me now. With Acks from the Clk and RTC maintainers, I can merge all of the driver stuff together and submit a PR for others to pull from. > include/linux/mfd/samsung/core.h | 7 +- > include/linux/mfd/samsung/irq.h | 103 +++++ > include/linux/mfd/samsung/rtc.h | 37 ++ > include/linux/mfd/samsung/s2mpg10.h | 454 +++++++++++++++++++ > 22 files changed, 2001 insertions(+), 864 deletions(-) > --- > base-commit: f58dd835f82a5dda6c9d3895ee6f15016431fb1f > change-id: 20250321-s2mpg10-ef5d1ebd3043 > > Best regards, > -- > André Draszik <andre.draszik@linaro.org> > -- Lee Jones [李琼斯]
On 15/04/2025 17:02:12+0100, Lee Jones wrote: > > drivers/mfd/Kconfig | 35 +- > > drivers/mfd/Makefile | 5 +- > > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > > drivers/mfd/sec-common.c | 301 +++++++++++++ > > drivers/mfd/sec-core.c | 481 --------------------- > > drivers/mfd/sec-core.h | 23 + > > drivers/mfd/sec-i2c.c | 239 ++++++++++ > > drivers/mfd/sec-irq.c | 460 +++++++------------- > > > drivers/rtc/rtc-s5m.c | 197 ++++++--- > > MFD parts look okay to me now. > > With Acks from the Clk and RTC maintainers, I can merge all of the > driver stuff together and submit a PR for others to pull from. > I don't think the RTC part depends on the MFD one so I was going to apply the patches in my tree if this is fine for everyone. -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Hi Alexandre, On Thu, 2025-04-17 at 17:42 +0200, Alexandre Belloni wrote: > On 15/04/2025 17:02:12+0100, Lee Jones wrote: > > > drivers/mfd/Kconfig | 35 +- > > > drivers/mfd/Makefile | 5 +- > > > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > > > drivers/mfd/sec-common.c | 301 +++++++++++++ > > > drivers/mfd/sec-core.c | 481 --------------------- > > > drivers/mfd/sec-core.h | 23 + > > > drivers/mfd/sec-i2c.c | 239 ++++++++++ > > > drivers/mfd/sec-irq.c | 460 +++++++------------- > > > > > drivers/rtc/rtc-s5m.c | 197 ++++++--- > > > > MFD parts look okay to me now. > > > > With Acks from the Clk and RTC maintainers, I can merge all of the > > driver stuff together and submit a PR for others to pull from. > > > > I don't think the RTC part depends on the MFD one so I was going to > apply the patches in my tree if this is fine for everyone. RTC patch 27 does depend on the s2mpg10 mfd core driver (due to using enums and macros introduced there). Patches 25. 26, 28, 29, 30, 31 indeed don't strictly depend on the MFD changes. Without patch 27 in place, patches 25 & 25 will definitely still apply, and patches 28++ will probably apply. If you want to take them, I can then rebase this series if you think that's better. I'll do whatever is preferred, just let me know :-) Cheers, Andre'
Hi Alexandre, On Mon, 2025-04-28 at 19:17 +0100, André Draszik wrote: > Hi Alexandre, > > On Thu, 2025-04-17 at 17:42 +0200, Alexandre Belloni wrote: > > On 15/04/2025 17:02:12+0100, Lee Jones wrote: > > > > drivers/mfd/Kconfig | 35 +- > > > > drivers/mfd/Makefile | 5 +- > > > > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > > > > drivers/mfd/sec-common.c | 301 +++++++++++++ > > > > drivers/mfd/sec-core.c | 481 --------------------- > > > > drivers/mfd/sec-core.h | 23 + > > > > drivers/mfd/sec-i2c.c | 239 ++++++++++ > > > > drivers/mfd/sec-irq.c | 460 +++++++------------- > > > > > > > drivers/rtc/rtc-s5m.c | 197 ++++++--- > > > > > > MFD parts look okay to me now. > > > > > > With Acks from the Clk and RTC maintainers, I can merge all of the > > > driver stuff together and submit a PR for others to pull from. > > > > > > > I don't think the RTC part depends on the MFD one so I was going to > > apply the patches in my tree if this is fine for everyone. > > RTC patch 27 does depend on the s2mpg10 mfd core driver (due to > using enums and macros introduced there). Lee has kindly merged all the core driver patches. Any chance the rtc changes will make it into the same kernel release? Cheers, Andre'
Hi Alexandre, On Mon, 2025-05-19 at 15:41 +0100, André Draszik wrote: > Hi Alexandre, > > On Mon, 2025-04-28 at 19:17 +0100, André Draszik wrote: > > Hi Alexandre, > > > > On Thu, 2025-04-17 at 17:42 +0200, Alexandre Belloni wrote: > > > On 15/04/2025 17:02:12+0100, Lee Jones wrote: > > > > > drivers/mfd/Kconfig | 35 +- > > > > > drivers/mfd/Makefile | 5 +- > > > > > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > > > > > drivers/mfd/sec-common.c | 301 +++++++++++++ > > > > > drivers/mfd/sec-core.c | 481 --------------------- > > > > > drivers/mfd/sec-core.h | 23 + > > > > > drivers/mfd/sec-i2c.c | 239 ++++++++++ > > > > > drivers/mfd/sec-irq.c | 460 +++++++------------- > > > > > > > > > drivers/rtc/rtc-s5m.c | 197 ++++++--- > > > > > > > > MFD parts look okay to me now. > > > > > > > > With Acks from the Clk and RTC maintainers, I can merge all of the > > > > driver stuff together and submit a PR for others to pull from. > > > > > > > > > > I don't think the RTC part depends on the MFD one so I was going to > > > apply the patches in my tree if this is fine for everyone. > > > > RTC patch 27 does depend on the s2mpg10 mfd core driver (due to > > using enums and macros introduced there). > > Lee has kindly merged all the core driver patches. > > Any chance the rtc changes will make it into the same kernel release? Friendly ping. Cheers, Andre'
On 16/06/2025 12:33:21+0100, André Draszik wrote: > Hi Alexandre, > > On Mon, 2025-05-19 at 15:41 +0100, André Draszik wrote: > > Hi Alexandre, > > > > On Mon, 2025-04-28 at 19:17 +0100, André Draszik wrote: > > > Hi Alexandre, > > > > > > On Thu, 2025-04-17 at 17:42 +0200, Alexandre Belloni wrote: > > > > On 15/04/2025 17:02:12+0100, Lee Jones wrote: > > > > > > drivers/mfd/Kconfig | 35 +- > > > > > > drivers/mfd/Makefile | 5 +- > > > > > > drivers/mfd/sec-acpm.c | 442 +++++++++++++++++++ > > > > > > drivers/mfd/sec-common.c | 301 +++++++++++++ > > > > > > drivers/mfd/sec-core.c | 481 --------------------- > > > > > > drivers/mfd/sec-core.h | 23 + > > > > > > drivers/mfd/sec-i2c.c | 239 ++++++++++ > > > > > > drivers/mfd/sec-irq.c | 460 +++++++------------- > > > > > > > > > > > drivers/rtc/rtc-s5m.c | 197 ++++++--- > > > > > > > > > > MFD parts look okay to me now. > > > > > > > > > > With Acks from the Clk and RTC maintainers, I can merge all of the > > > > > driver stuff together and submit a PR for others to pull from. > > > > > > > > > > > > > I don't think the RTC part depends on the MFD one so I was going to > > > > apply the patches in my tree if this is fine for everyone. > > > > > > RTC patch 27 does depend on the s2mpg10 mfd core driver (due to > > > using enums and macros introduced there). > > > > Lee has kindly merged all the core driver patches. > > > > Any chance the rtc changes will make it into the same kernel release? > > Friendly ping. I've applied the patches, I'll try to send them to Linus but there are no guarantee they will make it for this release. -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
On Tue, 2025-06-24 at 00:19 +0200, Alexandre Belloni wrote: > On 16/06/2025 12:33:21+0100, André Draszik wrote: > > Hi Alexandre, > > > > On Mon, 2025-05-19 at 15:41 +0100, André Draszik wrote: > > > > > > Lee has kindly merged all the core driver patches. > > > > > > Any chance the rtc changes will make it into the same kernel release? > > > > Friendly ping. > > I've applied the patches, I'll try to send them to Linus but there are no > guarantee they will make it for this release. Thank you Alexandre! A.
On Wed, 09 Apr 2025 21:37:21 +0100, André Draszik wrote:
> This series adds initial support for the Samsung S2MPG10 PMIC using the
> MFD framework. This is a PMIC for mobile applications and is used on
> the Google Pixel 6 and 6 Pro (oriole / raven).
>
> *** dependency note ***
>
> To compile, this depends on the Samsung ACPM driver in Linux next with
> the following additional patches:
> https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/
> https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/
> https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/
>
> [...]
Applied, thanks!
[25/32] rtc: s5m: cache device type during probe
https://git.kernel.org/abelloni/c/002cc0ee90e6
[26/32] rtc: s5m: prepare for external regmap
https://git.kernel.org/abelloni/c/a57743bf009e
[27/32] rtc: s5m: add support for S2MPG10 RTC
https://git.kernel.org/abelloni/c/e64180846e7e
[28/32] rtc: s5m: fix a typo: peding -> pending
https://git.kernel.org/abelloni/c/972a3b47f6e1
[29/32] rtc: s5m: switch to devm_device_init_wakeup
https://git.kernel.org/abelloni/c/1dd609587414
[30/32] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits
https://git.kernel.org/abelloni/c/f5adb1fa04d0
[31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers
https://git.kernel.org/abelloni/c/b1248da00836
Best regards,
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Wed, 09 Apr 2025 21:37:21 +0100, André Draszik wrote:
> This series adds initial support for the Samsung S2MPG10 PMIC using the
> MFD framework. This is a PMIC for mobile applications and is used on
> the Google Pixel 6 and 6 Pro (oriole / raven).
>
> *** dependency note ***
>
> To compile, this depends on the Samsung ACPM driver in Linux next with
> the following additional patches:
> https://lore.kernel.org/all/20250324-acpm-atomic-v2-0-7d87746e1765@linaro.org/
> https://lore.kernel.org/all/20250319-acpm-fixes-v2-0-ac2c1bcf322b@linaro.org/
> https://lore.kernel.org/all/20250327-acpm-children-v1-0-0afe15ee2ff7@linaro.org/
>
> [...]
Applied, thanks!
[01/32] dt-bindings: mfd: samsung,s2mps11: add s2mpg10
commit: 702ac7e59d9bf018126d51a2a3c7708e35afd8b0
[04/32] mfd: sec-core: Drop non-existing forward declarations
commit: faaad8c7fa7aca377cb0a2ec2b4a64c0bda6f451
[05/32] mfd: sec: Sort includes alphabetically
commit: 3e18fe35ea16640b53e41e963fb50f8dbd80e004
[06/32] mfd: sec: Update includes to add missing and remove superfluous ones
commit: e4f9f9942e80bc512da2a2ecacf294b603e6f4a8
[07/32] mfd: sec: Move private internal API to internal header
commit: 60ab5a460717ebe8306535cce8a4abba4df99b3c
[08/32] mfd: sec: Split into core and transport (i2c) drivers
commit: 286ee42bcd9b64bf13190769e705620e1d11efb6
[09/32] mfd: sec: Add support for S2MPG10 PMIC
commit: e60189f7863bc47cbdccd8cca235cc159cb153c6
[10/32] mfd: sec: Merge separate core and irq modules
commit: 494fb2908480664ea95c5bff26a174dcb8b072eb
[11/32] mfd: sec-common: Fix multiple trivial whitespace issues
commit: ee5114413def30a79e1892eafe9194c06124e9dd
[12/32] mfd: sec-i2c: Sort struct of_device_id entries and the device type switch
commit: 742d53cd4487792c2d70d5b5ccc8468a7c4bcc33
[13/32] mfd: sec: Use dev_err_probe() where appropriate
commit: a745673725d2a63aef8c8c62b2496e345c5f3b78
[14/32] mfd: sec-i2c: s2dos05/s2mpu05: Use explicit regmap config and drop default
commit: a0164e4ed50bf0cb05d2692a866276a11db0dfa4
[15/32] mfd: sec-irq: s2dos05 doesn't support interrupts
commit: a5ee21c891befdf9b695f17222f246fda14ec580
[16/32] mfd: sec-common: Don't ignore errors from sec_irq_init()
commit: 12933bcf7119ec1b75b8d43f17cb7ed4797aba21
[17/32] mfd: sec-i2c: Rework platform data and regmap instantiating
commit: c206953656074edeabfdf44bbb2bdf89daf6bbe5
[18/32] mfd: sec: Change device_type to int
commit: edd2e1784f620e1302b660e68578aa353253fa2b
[19/32] mfd: sec: Don't compare against NULL / 0 for errors, use !
commit: 079b0fe8185c5a6995b3d3c80a6098f857702048
[20/32] mfd: sec-common: Use sizeof(*var), not sizeof(struct type_of_var)
commit: df7abb6bbc6a75aa0b7829d39f1fe8499d9580c4
[21/32] mfd: sec-common: Convert to using MFD_CELL macros
commit: d4bddf7d284d61331964d5e46405b7afe0e98bf6
[22/32] mfd: sec-irq: Convert to using REGMAP_IRQ_REG() macros
commit: c0d96474f496db3fe286fe8ae2072c321205629e
[23/32] mfd: sec: Add myself as module author
commit: d2bae7c2b23185a71a22f85079461f22143f9b64
[32/32] MAINTAINERS: add myself as reviewer for Samsung S2M MFD
commit: 8a0542753218d260e23c77311cd909f7b38e6daa
--
Lee Jones [李琼斯]
© 2016 - 2026 Red Hat, Inc.