drivers/input/misc/mc13783-pwrbutton.c | 1 - drivers/input/touchscreen/mc13783_ts.c | 4 ---- drivers/rtc/rtc-mc13xxx.c | 13 ------------- include/linux/mfd/mc13xxx.h | 6 ------ 4 files changed, 24 deletions(-)
mc13xxx_irq_ack() got deprecated and became dead code with commit
10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
It should be safe to remove it now.
Signed-off-by: Alexander Kurz <akurz@blala.de>
---
drivers/input/misc/mc13783-pwrbutton.c | 1 -
drivers/input/touchscreen/mc13783_ts.c | 4 ----
drivers/rtc/rtc-mc13xxx.c | 13 -------------
include/linux/mfd/mc13xxx.h | 6 ------
4 files changed, 24 deletions(-)
diff --git a/drivers/input/misc/mc13783-pwrbutton.c b/drivers/input/misc/mc13783-pwrbutton.c
index 1c7faa9b7afe..b83d762ae2e9 100644
--- a/drivers/input/misc/mc13783-pwrbutton.c
+++ b/drivers/input/misc/mc13783-pwrbutton.c
@@ -57,7 +57,6 @@ static irqreturn_t button_irq(int irq, void *_priv)
struct mc13783_pwrb *priv = _priv;
int val;
- mc13xxx_irq_ack(priv->mc13783, irq);
mc13xxx_reg_read(priv->mc13783, MC13783_REG_INTERRUPT_SENSE_1, &val);
switch (irq) {
diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c
index 33635da85079..47b8da00027f 100644
--- a/drivers/input/touchscreen/mc13783_ts.c
+++ b/drivers/input/touchscreen/mc13783_ts.c
@@ -42,8 +42,6 @@ static irqreturn_t mc13783_ts_handler(int irq, void *data)
{
struct mc13783_ts_priv *priv = data;
- mc13xxx_irq_ack(priv->mc13xxx, irq);
-
/*
* Kick off reading coordinates. Note that if work happens already
* be queued for future execution (it rearms itself) it will not
@@ -137,8 +135,6 @@ static int mc13783_ts_open(struct input_dev *dev)
mc13xxx_lock(priv->mc13xxx);
- mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TS);
-
ret = mc13xxx_irq_request(priv->mc13xxx, MC13XXX_IRQ_TS,
mc13783_ts_handler, MC13783_TS_NAME, priv);
if (ret)
diff --git a/drivers/rtc/rtc-mc13xxx.c b/drivers/rtc/rtc-mc13xxx.c
index e7b87130e624..2494d13fd767 100644
--- a/drivers/rtc/rtc-mc13xxx.c
+++ b/drivers/rtc/rtc-mc13xxx.c
@@ -137,10 +137,6 @@ static int mc13xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
}
if (!priv->valid) {
- ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
- if (unlikely(ret))
- goto out;
-
ret = mc13xxx_irq_unmask(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
}
@@ -208,10 +204,6 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
if (unlikely(ret))
goto out;
- ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TODA);
- if (unlikely(ret))
- goto out;
-
s1970 = rtc_tm_to_time64(&alarm->time);
dev_dbg(dev, "%s: %s %lld\n", __func__, alarm->enabled ? "on" : "off",
@@ -239,12 +231,9 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
static irqreturn_t mc13xxx_rtc_alarm_handler(int irq, void *dev)
{
struct mc13xxx_rtc *priv = dev;
- struct mc13xxx *mc13xxx = priv->mc13xxx;
rtc_update_irq(priv->rtc, 1, RTC_IRQF | RTC_AF);
- mc13xxx_irq_ack(mc13xxx, irq);
-
return IRQ_HANDLED;
}
@@ -293,8 +282,6 @@ static int __init mc13xxx_rtc_probe(struct platform_device *pdev)
mc13xxx_lock(mc13xxx);
- mc13xxx_irq_ack(mc13xxx, MC13XXX_IRQ_RTCRST);
-
ret = mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_RTCRST,
mc13xxx_rtc_reset_handler, DRIVER_NAME, priv);
if (ret)
diff --git a/include/linux/mfd/mc13xxx.h b/include/linux/mfd/mc13xxx.h
index f372926d5894..dd46fe424a80 100644
--- a/include/linux/mfd/mc13xxx.h
+++ b/include/linux/mfd/mc13xxx.h
@@ -31,12 +31,6 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx,
unsigned int mode, unsigned int channel,
u8 ato, bool atox, unsigned int *sample);
-/* Deprecated calls */
-static inline int mc13xxx_irq_ack(struct mc13xxx *mc13xxx, int irq)
-{
- return 0;
-}
-
static inline int mc13xxx_irq_request_nounmask(struct mc13xxx *mc13xxx, int irq,
irq_handler_t handler,
const char *name, void *dev)
--
2.39.5
On Mon, 11 Aug 2025 06:43:58 +0000, Alexander Kurz wrote:
> mc13xxx_irq_ack() got deprecated and became dead code with commit
> 10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
> It should be safe to remove it now.
>
>
Applied, thanks!
[1/1] Drivers: mc13783: remove deprecated mc13xxx_irq_ack()
commit: f0addd325ef692c92c522a2ba4d9db13fc90e664
--
Lee Jones [李琼斯]
Enjoy!
The following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585:
Linux 6.17-rc1 (2025-08-10 19:41:16 +0300)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-input-rtc-v6.18
for you to fetch changes up to f0addd325ef692c92c522a2ba4d9db13fc90e664:
mfd: input: rtc: mc13783: Remove deprecated mc13xxx_irq_ack() (2025-09-11 11:39:31 +0100)
----------------------------------------------------------------
Immutable branch between MFD, Input and RTC due for the v6.18 merge window
----------------------------------------------------------------
Alexander Kurz (1):
mfd: input: rtc: mc13783: Remove deprecated mc13xxx_irq_ack()
drivers/input/misc/mc13783-pwrbutton.c | 1 -
drivers/input/touchscreen/mc13783_ts.c | 4 ----
drivers/rtc/rtc-mc13xxx.c | 13 -------------
include/linux/mfd/mc13xxx.h | 6 ------
4 files changed, 24 deletions(-)
--
Lee Jones [李琼斯]
On Mon, 11 Aug 2025, Alexander Kurz wrote:
> mc13xxx_irq_ack() got deprecated and became dead code with commit
> 10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
> It should be safe to remove it now.
>
> Signed-off-by: Alexander Kurz <akurz@blala.de>
> ---
> drivers/input/misc/mc13783-pwrbutton.c | 1 -
> drivers/input/touchscreen/mc13783_ts.c | 4 ----
> drivers/rtc/rtc-mc13xxx.c | 13 -------------
RTC review / Ack please.
> include/linux/mfd/mc13xxx.h | 6 ------
> 4 files changed, 24 deletions(-)
>
> diff --git a/drivers/input/misc/mc13783-pwrbutton.c b/drivers/input/misc/mc13783-pwrbutton.c
> index 1c7faa9b7afe..b83d762ae2e9 100644
> --- a/drivers/input/misc/mc13783-pwrbutton.c
> +++ b/drivers/input/misc/mc13783-pwrbutton.c
> @@ -57,7 +57,6 @@ static irqreturn_t button_irq(int irq, void *_priv)
> struct mc13783_pwrb *priv = _priv;
> int val;
>
> - mc13xxx_irq_ack(priv->mc13783, irq);
> mc13xxx_reg_read(priv->mc13783, MC13783_REG_INTERRUPT_SENSE_1, &val);
>
> switch (irq) {
> diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c
> index 33635da85079..47b8da00027f 100644
> --- a/drivers/input/touchscreen/mc13783_ts.c
> +++ b/drivers/input/touchscreen/mc13783_ts.c
> @@ -42,8 +42,6 @@ static irqreturn_t mc13783_ts_handler(int irq, void *data)
> {
> struct mc13783_ts_priv *priv = data;
>
> - mc13xxx_irq_ack(priv->mc13xxx, irq);
> -
> /*
> * Kick off reading coordinates. Note that if work happens already
> * be queued for future execution (it rearms itself) it will not
> @@ -137,8 +135,6 @@ static int mc13783_ts_open(struct input_dev *dev)
>
> mc13xxx_lock(priv->mc13xxx);
>
> - mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TS);
> -
> ret = mc13xxx_irq_request(priv->mc13xxx, MC13XXX_IRQ_TS,
> mc13783_ts_handler, MC13783_TS_NAME, priv);
> if (ret)
> diff --git a/drivers/rtc/rtc-mc13xxx.c b/drivers/rtc/rtc-mc13xxx.c
> index e7b87130e624..2494d13fd767 100644
> --- a/drivers/rtc/rtc-mc13xxx.c
> +++ b/drivers/rtc/rtc-mc13xxx.c
> @@ -137,10 +137,6 @@ static int mc13xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
> }
>
> if (!priv->valid) {
> - ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
> - if (unlikely(ret))
> - goto out;
> -
> ret = mc13xxx_irq_unmask(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
> }
>
> @@ -208,10 +204,6 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
> if (unlikely(ret))
> goto out;
>
> - ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TODA);
> - if (unlikely(ret))
> - goto out;
> -
> s1970 = rtc_tm_to_time64(&alarm->time);
>
> dev_dbg(dev, "%s: %s %lld\n", __func__, alarm->enabled ? "on" : "off",
> @@ -239,12 +231,9 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
> static irqreturn_t mc13xxx_rtc_alarm_handler(int irq, void *dev)
> {
> struct mc13xxx_rtc *priv = dev;
> - struct mc13xxx *mc13xxx = priv->mc13xxx;
>
> rtc_update_irq(priv->rtc, 1, RTC_IRQF | RTC_AF);
>
> - mc13xxx_irq_ack(mc13xxx, irq);
> -
> return IRQ_HANDLED;
> }
>
> @@ -293,8 +282,6 @@ static int __init mc13xxx_rtc_probe(struct platform_device *pdev)
>
> mc13xxx_lock(mc13xxx);
>
> - mc13xxx_irq_ack(mc13xxx, MC13XXX_IRQ_RTCRST);
> -
> ret = mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_RTCRST,
> mc13xxx_rtc_reset_handler, DRIVER_NAME, priv);
> if (ret)
> diff --git a/include/linux/mfd/mc13xxx.h b/include/linux/mfd/mc13xxx.h
> index f372926d5894..dd46fe424a80 100644
> --- a/include/linux/mfd/mc13xxx.h
> +++ b/include/linux/mfd/mc13xxx.h
> @@ -31,12 +31,6 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx,
> unsigned int mode, unsigned int channel,
> u8 ato, bool atox, unsigned int *sample);
>
> -/* Deprecated calls */
> -static inline int mc13xxx_irq_ack(struct mc13xxx *mc13xxx, int irq)
> -{
> - return 0;
> -}
> -
> static inline int mc13xxx_irq_request_nounmask(struct mc13xxx *mc13xxx, int irq,
> irq_handler_t handler,
> const char *name, void *dev)
> --
> 2.39.5
>
--
Lee Jones [李琼斯]
On 02/09/2025 11:20:36+0100, Lee Jones wrote:
> On Mon, 11 Aug 2025, Alexander Kurz wrote:
>
> > mc13xxx_irq_ack() got deprecated and became dead code with commit
> > 10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
> > It should be safe to remove it now.
> >
> > Signed-off-by: Alexander Kurz <akurz@blala.de>
> > ---
> > drivers/input/misc/mc13783-pwrbutton.c | 1 -
> > drivers/input/touchscreen/mc13783_ts.c | 4 ----
>
> > drivers/rtc/rtc-mc13xxx.c | 13 -------------
>
> RTC review / Ack please.
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
>
> > include/linux/mfd/mc13xxx.h | 6 ------
> > 4 files changed, 24 deletions(-)
> >
> > diff --git a/drivers/input/misc/mc13783-pwrbutton.c b/drivers/input/misc/mc13783-pwrbutton.c
> > index 1c7faa9b7afe..b83d762ae2e9 100644
> > --- a/drivers/input/misc/mc13783-pwrbutton.c
> > +++ b/drivers/input/misc/mc13783-pwrbutton.c
> > @@ -57,7 +57,6 @@ static irqreturn_t button_irq(int irq, void *_priv)
> > struct mc13783_pwrb *priv = _priv;
> > int val;
> >
> > - mc13xxx_irq_ack(priv->mc13783, irq);
> > mc13xxx_reg_read(priv->mc13783, MC13783_REG_INTERRUPT_SENSE_1, &val);
> >
> > switch (irq) {
> > diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c
> > index 33635da85079..47b8da00027f 100644
> > --- a/drivers/input/touchscreen/mc13783_ts.c
> > +++ b/drivers/input/touchscreen/mc13783_ts.c
> > @@ -42,8 +42,6 @@ static irqreturn_t mc13783_ts_handler(int irq, void *data)
> > {
> > struct mc13783_ts_priv *priv = data;
> >
> > - mc13xxx_irq_ack(priv->mc13xxx, irq);
> > -
> > /*
> > * Kick off reading coordinates. Note that if work happens already
> > * be queued for future execution (it rearms itself) it will not
> > @@ -137,8 +135,6 @@ static int mc13783_ts_open(struct input_dev *dev)
> >
> > mc13xxx_lock(priv->mc13xxx);
> >
> > - mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TS);
> > -
> > ret = mc13xxx_irq_request(priv->mc13xxx, MC13XXX_IRQ_TS,
> > mc13783_ts_handler, MC13783_TS_NAME, priv);
> > if (ret)
> > diff --git a/drivers/rtc/rtc-mc13xxx.c b/drivers/rtc/rtc-mc13xxx.c
> > index e7b87130e624..2494d13fd767 100644
> > --- a/drivers/rtc/rtc-mc13xxx.c
> > +++ b/drivers/rtc/rtc-mc13xxx.c
> > @@ -137,10 +137,6 @@ static int mc13xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
> > }
> >
> > if (!priv->valid) {
> > - ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
> > - if (unlikely(ret))
> > - goto out;
> > -
> > ret = mc13xxx_irq_unmask(priv->mc13xxx, MC13XXX_IRQ_RTCRST);
> > }
> >
> > @@ -208,10 +204,6 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
> > if (unlikely(ret))
> > goto out;
> >
> > - ret = mc13xxx_irq_ack(priv->mc13xxx, MC13XXX_IRQ_TODA);
> > - if (unlikely(ret))
> > - goto out;
> > -
> > s1970 = rtc_tm_to_time64(&alarm->time);
> >
> > dev_dbg(dev, "%s: %s %lld\n", __func__, alarm->enabled ? "on" : "off",
> > @@ -239,12 +231,9 @@ static int mc13xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
> > static irqreturn_t mc13xxx_rtc_alarm_handler(int irq, void *dev)
> > {
> > struct mc13xxx_rtc *priv = dev;
> > - struct mc13xxx *mc13xxx = priv->mc13xxx;
> >
> > rtc_update_irq(priv->rtc, 1, RTC_IRQF | RTC_AF);
> >
> > - mc13xxx_irq_ack(mc13xxx, irq);
> > -
> > return IRQ_HANDLED;
> > }
> >
> > @@ -293,8 +282,6 @@ static int __init mc13xxx_rtc_probe(struct platform_device *pdev)
> >
> > mc13xxx_lock(mc13xxx);
> >
> > - mc13xxx_irq_ack(mc13xxx, MC13XXX_IRQ_RTCRST);
> > -
> > ret = mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_RTCRST,
> > mc13xxx_rtc_reset_handler, DRIVER_NAME, priv);
> > if (ret)
> > diff --git a/include/linux/mfd/mc13xxx.h b/include/linux/mfd/mc13xxx.h
> > index f372926d5894..dd46fe424a80 100644
> > --- a/include/linux/mfd/mc13xxx.h
> > +++ b/include/linux/mfd/mc13xxx.h
> > @@ -31,12 +31,6 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx,
> > unsigned int mode, unsigned int channel,
> > u8 ato, bool atox, unsigned int *sample);
> >
> > -/* Deprecated calls */
> > -static inline int mc13xxx_irq_ack(struct mc13xxx *mc13xxx, int irq)
> > -{
> > - return 0;
> > -}
> > -
> > static inline int mc13xxx_irq_request_nounmask(struct mc13xxx *mc13xxx, int irq,
> > irq_handler_t handler,
> > const char *name, void *dev)
> > --
> > 2.39.5
> >
>
> --
> Lee Jones [李琼斯]
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Mon, Aug 11, 2025 at 06:43:58AM +0000, Alexander Kurz wrote:
> mc13xxx_irq_ack() got deprecated and became dead code with commit
> 10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
> It should be safe to remove it now.
>
> Signed-off-by: Alexander Kurz <akurz@blala.de>
LGTM
Acked-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Best regards
Uwe
On Mon, Aug 11, 2025 at 06:43:58AM +0000, Alexander Kurz wrote:
> mc13xxx_irq_ack() got deprecated and became dead code with commit
> 10f9edaeaa30 ("mfd: mc13xxx: Use regmap irq framework for interrupts").
> It should be safe to remove it now.
>
> Signed-off-by: Alexander Kurz <akurz@blala.de>
> ---
> drivers/input/misc/mc13783-pwrbutton.c | 1 -
> drivers/input/touchscreen/mc13783_ts.c | 4 ----
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> # for input
I assume this will go through MFD?
Thanks.
--
Dmitry
© 2016 - 2026 Red Hat, Inc.