lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250902102036.GE2163762@google.com>
Date: Tue, 2 Sep 2025 11:20:36 +0100
From: Lee Jones <lee@...nel.org>
To: Alexander Kurz <akurz@...la.de>
Cc: Alexandre Belloni <alexandre.belloni@...tlin.com>,
	Dmitry Torokhov <dmitry.torokhov@...il.com>,
	Uwe Kleine-König <u.kleine-koenig@...libre.com>,
	linux-input@...r.kernel.or, linux-kernel@...r.kernel.org,
	linux-rtc@...r.kernel.org
Subject: Re: [PATCH] Drivers: mc13783: remove deprecated mc13xxx_irq_ack()

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@...la.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 [李琼斯]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ