drivers/mfd/sec-common.c | 45 ++++++++++++++++++++-------- drivers/mfd/sec-core.h | 2 +- drivers/mfd/sec-irq.c | 63 ++++++++++++++++++---------------------- drivers/rtc/rtc-s5m.c | 21 +++++--------- include/linux/mfd/samsung/core.h | 1 - 5 files changed, 71 insertions(+), 61 deletions(-)
Hi,
With the attached patches the Samsung s5m RTC driver is simplified a
little bit with regards to alarm IRQ acquisition.
The end result is that instead of having a list of IRQ numbers for each
variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver
queries the 'alarm' platform resource from the parent (mfd cell).
Additionally, we can drop a now-useless field from runtime data,
reducing memory consumption slightly.
The attached patches must be applied in-order as patch 2 without 1 will
fail at runtime, and patch 3 without 2 will fail at build time. I would
expect them all to go via the MFD tree. Alternatively, they could be
applied individually to the respective kernel trees during multiple
kernel release cycles, but that seems a needless complication and
delay.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Changes in v2:
- rebase on top of https://lore.kernel.org/r/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org
- return struct regmap_irq_chip_data * in sec_irq_init() (Lee)
- collect tags
- Link to v1: https://lore.kernel.org/r/20251114-s5m-alarm-v1-0-c9b3bebae65f@linaro.org
---
André Draszik (3):
mfd: sec: add rtc alarm IRQ as platform device resource
rtc: s5m: query platform device IRQ resource for alarm IRQ
mfd: sec: drop now unused struct sec_pmic_dev::irq_data
drivers/mfd/sec-common.c | 45 ++++++++++++++++++++--------
drivers/mfd/sec-core.h | 2 +-
drivers/mfd/sec-irq.c | 63 ++++++++++++++++++----------------------
drivers/rtc/rtc-s5m.c | 21 +++++---------
include/linux/mfd/samsung/core.h | 1 -
5 files changed, 71 insertions(+), 61 deletions(-)
---
base-commit: 9ad5de6d54f306b2bbf7ceb27e67a60c58a71224
change-id: 20251114-s5m-alarm-3de705ea53ce
Best regards,
--
André Draszik <andre.draszik@linaro.org>
On Thu, 20 Nov 2025 14:38:03 +0000, André Draszik wrote:
> With the attached patches the Samsung s5m RTC driver is simplified a
> little bit with regards to alarm IRQ acquisition.
>
> The end result is that instead of having a list of IRQ numbers for each
> variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver
> queries the 'alarm' platform resource from the parent (mfd cell).
>
> [...]
Applied, thanks!
[1/3] mfd: sec: add rtc alarm IRQ as platform device resource
(no commit info)
[2/3] rtc: s5m: query platform device IRQ resource for alarm IRQ
commit: c70aee3dd85482c67720eb642d59ebbb9433faa5
[3/3] mfd: sec: drop now unused struct sec_pmic_dev::irq_data
(no commit info)
--
Lee Jones [李琼斯]
On Tue, 20 Jan 2026, Lee Jones wrote: > On Thu, 20 Nov 2025 14:38:03 +0000, André Draszik wrote: > > With the attached patches the Samsung s5m RTC driver is simplified a > > little bit with regards to alarm IRQ acquisition. > > > > The end result is that instead of having a list of IRQ numbers for each > > variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver > > queries the 'alarm' platform resource from the parent (mfd cell). > > > > [...] > > Applied, thanks! > > [1/3] mfd: sec: add rtc alarm IRQ as platform device resource > (no commit info) > [2/3] rtc: s5m: query platform device IRQ resource for alarm IRQ > commit: c70aee3dd85482c67720eb642d59ebbb9433faa5 > [3/3] mfd: sec: drop now unused struct sec_pmic_dev::irq_data > (no commit info) Looks like b4 is having a bad day. I just applied v3, not this set. -- Lee Jones [李琼斯]
On Tue, Jan 20, 2026 at 03:52:41PM +0000, Lee Jones wrote: > On Tue, 20 Jan 2026, Lee Jones wrote: > > [1/3] mfd: sec: add rtc alarm IRQ as platform device resource > > (no commit info) > > [2/3] rtc: s5m: query platform device IRQ resource for alarm IRQ > > commit: c70aee3dd85482c67720eb642d59ebbb9433faa5 > > [3/3] mfd: sec: drop now unused struct sec_pmic_dev::irq_data > > (no commit info) > Looks like b4 is having a bad day. > I just applied v3, not this set. If you fetch a series but don't delete it from the database then (with b4 ty -d) then b4 will remember it and if any commits in what gets applied match it'll generate a mail for b4 ty -a. Usually that's when some commits didn't get changed.
On Tue, 20 Jan 2026, Mark Brown wrote: > On Tue, Jan 20, 2026 at 03:52:41PM +0000, Lee Jones wrote: > > On Tue, 20 Jan 2026, Lee Jones wrote: > > > > [1/3] mfd: sec: add rtc alarm IRQ as platform device resource > > > (no commit info) > > > [2/3] rtc: s5m: query platform device IRQ resource for alarm IRQ > > > commit: c70aee3dd85482c67720eb642d59ebbb9433faa5 > > > [3/3] mfd: sec: drop now unused struct sec_pmic_dev::irq_data > > > (no commit info) > > > Looks like b4 is having a bad day. > > > I just applied v3, not this set. > > If you fetch a series but don't delete it from the database then (with > b4 ty -d) then b4 will remember it and if any commits in what gets > applied match it'll generate a mail for b4 ty -a. Usually that's when > some commits didn't get changed. The last attempt to apply this failed with conflicts. I wonder why b4 stored that as a success? -- Lee Jones [李琼斯]
On Tue, Jan 20, 2026 at 05:24:05PM +0000, Lee Jones wrote: > > If you fetch a series but don't delete it from the database then (with > > b4 ty -d) then b4 will remember it and if any commits in what gets > > applied match it'll generate a mail for b4 ty -a. Usually that's when > > some commits didn't get changed. > > The last attempt to apply this failed with conflicts. > > I wonder why b4 stored that as a success? It doesn't actually know -- it just stores the retrieved series and then checks if it can find any of them in the tree in a commit with your authorship. Sometimes it breaks. My plan is to put in interactive mode where you can do a quick sanity check -- currently it's all of nothing with "b4 ty -a". -K
On Tue, 20 Jan 2026, Konstantin Ryabitsev wrote: > On Tue, Jan 20, 2026 at 05:24:05PM +0000, Lee Jones wrote: > > > If you fetch a series but don't delete it from the database then (with > > > b4 ty -d) then b4 will remember it and if any commits in what gets > > > applied match it'll generate a mail for b4 ty -a. Usually that's when > > > some commits didn't get changed. > > > > The last attempt to apply this failed with conflicts. > > > > I wonder why b4 stored that as a success? > > It doesn't actually know -- it just stores the retrieved series and then > checks if it can find any of them in the tree in a commit with your > authorship. Sometimes it breaks. > > My plan is to put in interactive mode where you can do a quick sanity check -- > currently it's all of nothing with "b4 ty -a". Got it. Thanks for the explanation. -- Lee Jones [李琼斯]
On Tue, Jan 20, 2026 at 05:24:05PM +0000, Lee Jones wrote: > On Tue, 20 Jan 2026, Mark Brown wrote: > > If you fetch a series but don't delete it from the database then (with > > b4 ty -d) then b4 will remember it and if any commits in what gets > > applied match it'll generate a mail for b4 ty -a. Usually that's when > > some commits didn't get changed. > The last attempt to apply this failed with conflicts. > I wonder why b4 stored that as a success? Are you using b4 shazam? I wonder if under the hood it's a mailbox fetch then an apply. I download a mailbox then script my own application after the fact so it's not so surprising that it happens for me, b4 knows nothing about the patches actually being applied until I tell it to go look to send thanks.
On Tue, 20 Jan 2026, Mark Brown wrote:
> On Tue, Jan 20, 2026 at 05:24:05PM +0000, Lee Jones wrote:
> > On Tue, 20 Jan 2026, Mark Brown wrote:
>
> > > If you fetch a series but don't delete it from the database then (with
> > > b4 ty -d) then b4 will remember it and if any commits in what gets
> > > applied match it'll generate a mail for b4 ty -a. Usually that's when
> > > some commits didn't get changed.
>
> > The last attempt to apply this failed with conflicts.
>
> > I wonder why b4 stored that as a success?
>
> Are you using b4 shazam? I wonder if under the hood it's a mailbox
> fetch then an apply. I download a mailbox then script my own
> application after the fact so it's not so surprising that it happens for
> me, b4 knows nothing about the patches actually being applied until I
> tell it to go look to send thanks.
Not using shazam. This is my abbreviated workflow:
b4.sh am -3 -slt ${PATCHES} -o - ${id} > ${MBOX}
cat ${MBOX} | formail -ds ./scripts/checkpatch.pl || true
cat ${MBOX} | git am -3 --reject
kitty -o font_size=12 git rebase -i HEAD~${NOPATCHES}
b4.sh ty -aS --me-too --since=1.day
--
Lee Jones [李琼斯]
On Thu, 20 Nov 2025, André Draszik wrote: > Hi, > > With the attached patches the Samsung s5m RTC driver is simplified a > little bit with regards to alarm IRQ acquisition. > > The end result is that instead of having a list of IRQ numbers for each > variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver > queries the 'alarm' platform resource from the parent (mfd cell). > > Additionally, we can drop a now-useless field from runtime data, > reducing memory consumption slightly. > > The attached patches must be applied in-order as patch 2 without 1 will > fail at runtime, and patch 3 without 2 will fail at build time. I would > expect them all to go via the MFD tree. Alternatively, they could be > applied individually to the respective kernel trees during multiple > kernel release cycles, but that seems a needless complication and > delay. > > Signed-off-by: André Draszik <andre.draszik@linaro.org> > --- > Changes in v2: > - rebase on top of https://lore.kernel.org/r/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org > - return struct regmap_irq_chip_data * in sec_irq_init() (Lee) > - collect tags > - Link to v1: https://lore.kernel.org/r/20251114-s5m-alarm-v1-0-c9b3bebae65f@linaro.org > > --- > André Draszik (3): > mfd: sec: add rtc alarm IRQ as platform device resource > rtc: s5m: query platform device IRQ resource for alarm IRQ > mfd: sec: drop now unused struct sec_pmic_dev::irq_data > > drivers/mfd/sec-common.c | 45 ++++++++++++++++++++-------- > drivers/mfd/sec-core.h | 2 +- > drivers/mfd/sec-irq.c | 63 ++++++++++++++++++---------------------- > drivers/rtc/rtc-s5m.c | 21 +++++--------- > include/linux/mfd/samsung/core.h | 1 - > 5 files changed, 71 insertions(+), 61 deletions(-) The MFD parts look okay to me. Once we have the RTC Ack, I'll merge this and send out a PR. -- Lee Jones [李琼斯]
On Wed, 26 Nov 2025, Lee Jones wrote: > On Thu, 20 Nov 2025, André Draszik wrote: > > > Hi, > > > > With the attached patches the Samsung s5m RTC driver is simplified a > > little bit with regards to alarm IRQ acquisition. > > > > The end result is that instead of having a list of IRQ numbers for each > > variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver > > queries the 'alarm' platform resource from the parent (mfd cell). > > > > Additionally, we can drop a now-useless field from runtime data, > > reducing memory consumption slightly. > > > > The attached patches must be applied in-order as patch 2 without 1 will > > fail at runtime, and patch 3 without 2 will fail at build time. I would > > expect them all to go via the MFD tree. Alternatively, they could be > > applied individually to the respective kernel trees during multiple > > kernel release cycles, but that seems a needless complication and > > delay. > > > > Signed-off-by: André Draszik <andre.draszik@linaro.org> > > --- > > Changes in v2: > > - rebase on top of https://lore.kernel.org/r/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org > > - return struct regmap_irq_chip_data * in sec_irq_init() (Lee) > > - collect tags > > - Link to v1: https://lore.kernel.org/r/20251114-s5m-alarm-v1-0-c9b3bebae65f@linaro.org > > > > --- > > André Draszik (3): > > mfd: sec: add rtc alarm IRQ as platform device resource > > rtc: s5m: query platform device IRQ resource for alarm IRQ > > mfd: sec: drop now unused struct sec_pmic_dev::irq_data > > > > drivers/mfd/sec-common.c | 45 ++++++++++++++++++++-------- > > drivers/mfd/sec-core.h | 2 +- > > drivers/mfd/sec-irq.c | 63 ++++++++++++++++++---------------------- > > drivers/rtc/rtc-s5m.c | 21 +++++--------- > > include/linux/mfd/samsung/core.h | 1 - > > 5 files changed, 71 insertions(+), 61 deletions(-) > > The MFD parts look okay to me. > > Once we have the RTC Ack, I'll merge this and send out a PR. Ah, I see it. Apologies. It's too late in the cycle to take this now anyway. It's on my radar for when -rc1 is released. -- Lee Jones [李琼斯]
On Wed, 26 Nov 2025, Lee Jones wrote:
> On Wed, 26 Nov 2025, Lee Jones wrote:
>
> > On Thu, 20 Nov 2025, André Draszik wrote:
> >
> > > Hi,
> > >
> > > With the attached patches the Samsung s5m RTC driver is simplified a
> > > little bit with regards to alarm IRQ acquisition.
> > >
> > > The end result is that instead of having a list of IRQ numbers for each
> > > variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver
> > > queries the 'alarm' platform resource from the parent (mfd cell).
> > >
> > > Additionally, we can drop a now-useless field from runtime data,
> > > reducing memory consumption slightly.
> > >
> > > The attached patches must be applied in-order as patch 2 without 1 will
> > > fail at runtime, and patch 3 without 2 will fail at build time. I would
> > > expect them all to go via the MFD tree. Alternatively, they could be
> > > applied individually to the respective kernel trees during multiple
> > > kernel release cycles, but that seems a needless complication and
> > > delay.
> > >
> > > Signed-off-by: André Draszik <andre.draszik@linaro.org>
> > > ---
> > > Changes in v2:
> > > - rebase on top of https://lore.kernel.org/r/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org
> > > - return struct regmap_irq_chip_data * in sec_irq_init() (Lee)
> > > - collect tags
> > > - Link to v1: https://lore.kernel.org/r/20251114-s5m-alarm-v1-0-c9b3bebae65f@linaro.org
> > >
> > > ---
> > > André Draszik (3):
> > > mfd: sec: add rtc alarm IRQ as platform device resource
> > > rtc: s5m: query platform device IRQ resource for alarm IRQ
> > > mfd: sec: drop now unused struct sec_pmic_dev::irq_data
> > >
> > > drivers/mfd/sec-common.c | 45 ++++++++++++++++++++--------
> > > drivers/mfd/sec-core.h | 2 +-
> > > drivers/mfd/sec-irq.c | 63 ++++++++++++++++++----------------------
> > > drivers/rtc/rtc-s5m.c | 21 +++++---------
> > > include/linux/mfd/samsung/core.h | 1 -
> > > 5 files changed, 71 insertions(+), 61 deletions(-)
> >
> > The MFD parts look okay to me.
> >
> > Once we have the RTC Ack, I'll merge this and send out a PR.
>
> Ah, I see it. Apologies.
>
> It's too late in the cycle to take this now anyway.
>
> It's on my radar for when -rc1 is released.
This does not seem to apply well on v6.19-rc1.
Please rebase and send as a [RESEND].
-----
% cat drivers/mfd/sec-irq.c.rej
diff a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c (rejected hunks)
@@ -302,27 +304,28 @@ static int sec_irq_init_s2mpg1x(struct sec_pmic_dev *sec_pmic)
chained_pirq = S2MPG10_COMMON_IRQ_PMIC;
break;
default:
- return dev_err_probe(sec_pmic->dev, -EINVAL, "Unsupported device type %d\n",
- sec_pmic->device_type);
+ return dev_err_ptr_probe(sec_pmic->dev, -EINVAL, "Unsupported device type %d\n",
+ sec_pmic->device_type);
};
regmap_common = dev_get_regmap(sec_pmic->dev, "common");
if (!regmap_common)
- return dev_err_probe(sec_pmic->dev, -EINVAL, "No 'common' regmap %d\n",
- sec_pmic->device_type);
+ return dev_err_ptr_probe(sec_pmic->dev, -EINVAL, "No 'common' regmap %d\n",
+ sec_pmic->device_type);
ret = devm_regmap_add_irq_chip(sec_pmic->dev, regmap_common, sec_pmic->irq, IRQF_ONESHOT, 0,
irq_chip, &irq_data);
if (ret)
- return dev_err_probe(sec_pmic->dev, ret, "Failed to add %s IRQ chip\n",
- irq_chip->name);
+ return dev_err_ptr_probe(sec_pmic->dev, ret, "Failed to add %s IRQ chip\n",
+ irq_chip->name);
return s2mpg1x_add_chained_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, chained_pirq,
- irq_data, chained_irq_chip, &sec_pmic->irq_data);
+ irq_data, chained_irq_chip);
}
-int sec_irq_init(struct sec_pmic_dev *sec_pmic)
+struct regmap_irq_chip_data *sec_irq_init(struct sec_pmic_dev *sec_pmic)
{
+ struct regmap_irq_chip_data *sec_irq_chip_data;
const struct regmap_irq_chip *sec_irq_chip;
int ret;
--
Lee Jones [李琼斯]
Hi Lee, On Wed, 2025-11-26 at 11:29 +0000, Lee Jones wrote: > On Thu, 20 Nov 2025, André Draszik wrote: > > > Hi, > > > > With the attached patches the Samsung s5m RTC driver is simplified a > > little bit with regards to alarm IRQ acquisition. > > > > The end result is that instead of having a list of IRQ numbers for each > > variant (and a BUILD_BUG_ON() to ensure consistency), the RTC driver > > queries the 'alarm' platform resource from the parent (mfd cell). > > > > Additionally, we can drop a now-useless field from runtime data, > > reducing memory consumption slightly. > > > > The attached patches must be applied in-order as patch 2 without 1 will > > fail at runtime, and patch 3 without 2 will fail at build time. I would > > expect them all to go via the MFD tree. Alternatively, they could be > > applied individually to the respective kernel trees during multiple > > kernel release cycles, but that seems a needless complication and > > delay. > > > > Signed-off-by: André Draszik <andre.draszik@linaro.org> > > --- > > Changes in v2: > > - rebase on top of https://lore.kernel.org/r/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org > > - return struct regmap_irq_chip_data * in sec_irq_init() (Lee) > > - collect tags > > - Link to v1: https://lore.kernel.org/r/20251114-s5m-alarm-v1-0-c9b3bebae65f@linaro.org > > > > --- > > André Draszik (3): > > mfd: sec: add rtc alarm IRQ as platform device resource > > rtc: s5m: query platform device IRQ resource for alarm IRQ > > mfd: sec: drop now unused struct sec_pmic_dev::irq_data > > > > drivers/mfd/sec-common.c | 45 ++++++++++++++++++++-------- > > drivers/mfd/sec-core.h | 2 +- > > drivers/mfd/sec-irq.c | 63 ++++++++++++++++++---------------------- > > drivers/rtc/rtc-s5m.c | 21 +++++--------- > > include/linux/mfd/samsung/core.h | 1 - > > 5 files changed, 71 insertions(+), 61 deletions(-) > > The MFD parts look okay to me. > > Once we have the RTC Ack, I'll merge this and send out a PR. Thanks Lee. Alexandre kindly acked v1 in https://lore.kernel.org/all/2025111415582194c6ee16@mail.local/ and there was no change to the RTC part in v2 hence I collected it already. So should be good to go? Cheers, Andre'
Enjoy!
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-rtc-v6.20
for you to fetch changes up to b31583a1a9ab32923734ceb5fc95e536dfacccf7:
mfd: sec: Drop now unused struct sec_pmic_dev::irq_data (2026-01-20 15:37:48 +0000)
----------------------------------------------------------------
Immutable branch between MFD and RTC due for the v6.20 merge window
----------------------------------------------------------------
André Draszik (3):
mfd: sec: Add rtc alarm IRQ as platform device resource
rtc: s5m: query platform device IRQ resource for alarm IRQ
mfd: sec: Drop now unused struct sec_pmic_dev::irq_data
drivers/mfd/sec-common.c | 45 ++++++++++++++++++++--------
drivers/mfd/sec-core.h | 2 +-
drivers/mfd/sec-irq.c | 64 ++++++++++++++++++----------------------
drivers/rtc/rtc-s5m.c | 21 +++++--------
include/linux/mfd/samsung/core.h | 1 -
5 files changed, 71 insertions(+), 62 deletions(-)
--
Lee Jones [李琼斯]
On Thu, 22 Jan 2026, Lee Jones wrote: > Enjoy! > > The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8: > > Linux 6.19-rc1 (2025-12-14 16:05:07 +1200) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-rtc-v6.20 > > for you to fetch changes up to b31583a1a9ab32923734ceb5fc95e536dfacccf7: > > mfd: sec: Drop now unused struct sec_pmic_dev::irq_data (2026-01-20 15:37:48 +0000) > > ---------------------------------------------------------------- > Immutable branch between MFD and RTC due for the v6.20 merge window > > ---------------------------------------------------------------- > André Draszik (3): > mfd: sec: Add rtc alarm IRQ as platform device resource > rtc: s5m: query platform device IRQ resource for alarm IRQ > mfd: sec: Drop now unused struct sec_pmic_dev::irq_data > > drivers/mfd/sec-common.c | 45 ++++++++++++++++++++-------- > drivers/mfd/sec-core.h | 2 +- > drivers/mfd/sec-irq.c | 64 ++++++++++++++++++---------------------- > drivers/rtc/rtc-s5m.c | 21 +++++-------- > include/linux/mfd/samsung/core.h | 1 - > 5 files changed, 71 insertions(+), 62 deletions(-) Don't panic! It was actually v3 that I applied. -- Lee Jones [李琼斯]
© 2016 - 2026 Red Hat, Inc.