-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Some of the timer functions in the kernel have had their names changed. I have managed to get DECnet working in 6.17.9 (on Arch, btw) by changing:
timer_from()totimer_container_of()del_timer()totimer_delete()
Thus:
diff --git a/kernel/dnet_dev.c b/kernel/dnet_dev.c
index 86fff87..7cc8e02 100644
--- a/kernel/dnet_dev.c
+++ b/kernel/dnet_dev.c
@@ -49,7 +49,7 @@ void dn_dev_timer(
struct timer_list *t
)
{
- struct dn_device *device = from_timer(device, t, timer);
+ struct dn_device *device = timer_container_of(device, t, timer);
/*
* If we have been asked to unregister this device, shut down the
diff --git a/kernel/dnet_next.c b/kernel/dnet_next.c
index 180a707..f46fa08 100644
--- a/kernel/dnet_next.c
+++ b/kernel/dnet_next.c
@@ -564,7 +564,7 @@ int __init dn_next_init(void)
void __exit dn_next_cleanup(void)
{
- del_timer(&dn_next_timer);
+ timer_delete(&dn_next_timer);
refcount_dec(&loop->refcount);
dn_next_scan(1);
diff --git a/kernel/dnet_node.c b/kernel/dnet_node.c
index 589aa20..1f6693e 100644
--- a/kernel/dnet_node.c
...skipping...
diff --git a/kernel/dnet_dev.c b/kernel/dnet_dev.c
index 86fff87..7cc8e02 100644
--- a/kernel/dnet_dev.c
+++ b/kernel/dnet_dev.c
@@ -49,7 +49,7 @@ void dn_dev_timer(
struct timer_list *t
)
{
- struct dn_device *device = from_timer(device, t, timer);
+ struct dn_device *device = timer_container_of(device, t, timer);
/*
* If we have been asked to unregister this device, shut down the
diff --git a/kernel/dnet_next.c b/kernel/dnet_next.c
index 180a707..f46fa08 100644
--- a/kernel/dnet_next.c
+++ b/kernel/dnet_next.c
@@ -564,7 +564,7 @@ int __init dn_next_init(void)
void __exit dn_next_cleanup(void)
{
- del_timer(&dn_next_timer);
+ timer_delete(&dn_next_timer);
refcount_dec(&loop->refcount);
dn_next_scan(1);
diff --git a/kernel/dnet_node.c b/kernel/dnet_node.c
index 589aa20..1f6693e 100644
--- a/kernel/dnet_node.c
+++ b/kernel/dnet_node.c
@@ -359,7 +359,7 @@ int __init dn_node_init(void)
void __exit dn_node_cleanup(void)
{
- del_timer(&dn_node_timer);
+ timer_delete(&dn_node_timer);
/*** Flush node db entries ***/
#ifdef CONFIG_PROC_FS
diff --git a/kernel/dnet_timr.c b/kernel/dnet_timr.c
index 8f2beba..883db47 100644
--- a/kernel/dnet_timr.c
+++ b/kernel/dnet_timr.c
@@ -26,7 +26,7 @@ static void dn_slow_timer(
struct timer_list *t
)
{
- struct sock *sk = from_timer(sk, t, sk_timer);
+ struct sock *sk = timer_container_of(sk, t, sk_timer);
struct dn_scp *scp = DN_SK(sk);
bh_lock_sock(sk);
Of course this will need some version-checking magic to decide which function names to use.
Metadata
Metadata
Assignees
Labels
No labels