git: bf0e7356855b - stable/15 - mthca: apply upstream changes to convert to timer_setup() LinuxKPI

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Sat, 19 Sep 2026 14:40:18 UTC
The branch stable/15 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=bf0e7356855b7084a5ea978e7ae16995b5a1b93b

commit bf0e7356855b7084a5ea978e7ae16995b5a1b93b
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-09-14 22:27:26 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-09-19 09:34:08 +0000

    mthca: apply upstream changes to convert to timer_setup() LinuxKPI
    
    Apply upstream changes b9eaf18722221 init_timer() -> setup_timer(),
    and 86cb30ec07cdc7 setup_timer() -> timer_setup() to get us out of
    Linux version 4.15 (and earlier) KPIs.
    Also apply 41cb08555c416 from_timer -> timer_container_of.
    
    Reviewed by:    jhb, emaste
    Differential Revision: https://reviews.freebsd.org/D59677
    
    (cherry picked from commit 9d467dfa31922b3b2fbb145f202200bf66ca550a)
---
 sys/dev/mthca/mthca_catas.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/sys/dev/mthca/mthca_catas.c b/sys/dev/mthca/mthca_catas.c
index 9a66e87a5822..67ab6b6a43ff 100644
--- a/sys/dev/mthca/mthca_catas.c
+++ b/sys/dev/mthca/mthca_catas.c
@@ -132,9 +132,9 @@ static void handle_catas(struct mthca_dev *dev)
 	spin_unlock_irqrestore(&catas_lock, flags);
 }
 
-static void poll_catas(unsigned long dev_ptr)
+static void poll_catas(struct timer_list *t)
 {
-	struct mthca_dev *dev = (struct mthca_dev *) dev_ptr;
+	struct mthca_dev *dev = timer_container_of(dev, t, catas_err.timer);
 	int i;
 
 	for (i = 0; i < dev->catas_err.size; ++i)
@@ -151,7 +151,7 @@ void mthca_start_catas_poll(struct mthca_dev *dev)
 {
 	phys_addr_t addr;
 
-	init_timer(&dev->catas_err.timer);
+	timer_setup(&dev->catas_err.timer, poll_catas, 0);
 	dev->catas_err.map  = NULL;
 
 	addr = pci_resource_start(dev->pdev, 0) +
@@ -166,8 +166,6 @@ void mthca_start_catas_poll(struct mthca_dev *dev)
 		return;
 	}
 
-	dev->catas_err.timer.data     = (unsigned long) dev;
-	dev->catas_err.timer.function = poll_catas;
 	dev->catas_err.timer.expires  = jiffies + MTHCA_CATAS_POLL_INTERVAL;
 	INIT_LIST_HEAD(&dev->catas_err.list);
 	add_timer(&dev->catas_err.timer);