Linux backports project
 help / color / mirror / Atom feed
From: Yi Cong <cong.yi@linux.dev>
To: hauke@hauke-m.de, backports@vger.kernel.org
Cc: Yi Cong <yicong@kylinos.cn>
Subject: [PATCH 19/20] headers: add led_trigger_blink/oneshot value-to-pointer backport for kernels < 6.5
Date: Wed, 24 Jun 2026 15:38:43 +0800	[thread overview]
Message-ID: <20260624073844.2097504-20-cong.yi@linux.dev> (raw)
In-Reply-To: <20260624073844.2097504-1-cong.yi@linux.dev>

From: Yi Cong <yicong@kylinos.cn>

In v6.5 led_trigger_blink() and led_trigger_blink_oneshot() changed
their delay_on/delay_off parameters from 'unsigned long *' to
'unsigned long'. mac80211/led.h and led.c call these with value
arguments (v6.5 style). For older kernels that still expect pointers,
provide wrappers that accept values and forward them via pointers to
the original functions.

Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
 backport/backport-include/linux/leds.h | 39 ++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 backport/backport-include/linux/leds.h

diff --git a/backport/backport-include/linux/leds.h b/backport/backport-include/linux/leds.h
new file mode 100644
index 00000000..c922c5df
--- /dev/null
+++ b/backport/backport-include/linux/leds.h
@@ -0,0 +1,39 @@
+#ifndef __BACKPORT_LINUX_LEDS_H
+#define __BACKPORT_LINUX_LEDS_H
+#include_next <linux/leds.h>
+#include <linux/version.h>
+
+/*
+ * In v6.5 led_trigger_blink() and led_trigger_blink_oneshot() changed
+ * their delay_on/delay_off parameters from pointer to value:
+ *   v5.4: led_trigger_blink(trigger, unsigned long *delay_on, ...)
+ *   v6.5: led_trigger_blink(trigger, unsigned long delay_on, ...)
+ *
+ * mac80211/led.h and mac80211/led.c call these with value arguments
+ * (v6.5 style).  For older kernels that still expect pointers, provide
+ * wrappers that accept values and forward them via pointers.
+ */
+#if LINUX_VERSION_IS_LESS(6,5,0)
+#undef led_trigger_blink
+static inline void LINUX_BACKPORT(led_trigger_blink)(
+	struct led_trigger *trigger,
+	unsigned long delay_on,
+	unsigned long delay_off)
+{
+	led_trigger_blink(trigger, &delay_on, &delay_off);
+}
+#define led_trigger_blink LINUX_BACKPORT(led_trigger_blink)
+
+#undef led_trigger_blink_oneshot
+static inline void LINUX_BACKPORT(led_trigger_blink_oneshot)(
+	struct led_trigger *trigger,
+	unsigned long delay_on,
+	unsigned long delay_off,
+	int invert)
+{
+	led_trigger_blink_oneshot(trigger, &delay_on, &delay_off, invert);
+}
+#define led_trigger_blink_oneshot LINUX_BACKPORT(led_trigger_blink_oneshot)
+#endif
+
+#endif /* __BACKPORT_LINUX_LEDS_H */
-- 
2.43.0


  parent reply	other threads:[~2026-06-24  7:40 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-24  7:38 [PATCH 00/20] backports: add missing backport-include header definitions Yi Cong
2026-06-24  7:38 ` [PATCH 01/20] headers: Add timer_shutdown_sync() Yi Cong
2026-06-24  7:38 ` [PATCH 02/20] headers: include linux/module.h from backport.h Yi Cong
2026-06-24  7:38 ` [PATCH 03/20] headers: add kstrtox.h backport Yi Cong
2026-06-24  7:38 ` [PATCH 04/20] headers: add get_random_u32_inclusive() for kernels < 6.2 Yi Cong
2026-06-24  7:38 ` [PATCH 05/20] headers: add genl_split_ops compat " Yi Cong
2026-06-24  7:38 ` [PATCH 06/20] headers: add thermal_zone_device_register_with_trips backport Yi Cong
2026-06-24  7:38 ` [PATCH 07/20] headers: add trace_sk_data_ready no-op for kernels < 6.0 Yi Cong
2026-06-24  7:38 ` [PATCH 08/20] headers: add dropreason-core.h backport for kernels < 5.17 Yi Cong
2026-06-24  7:38 ` [PATCH 09/20] headers: add dropreason.h backport for kernels < 6.0 Yi Cong
2026-06-24  7:38 ` [PATCH 10/20] headers: add kfree_skb_reason() backport for kernels < 5.17 Yi Cong
2026-06-24  7:38 ` [PATCH 11/20] headers: add thermal_zone_device_priv() backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 12/20] headers: add genl_small_ops backport for kernels < 5.10 Yi Cong
2026-06-24  7:38 ` [PATCH 13/20] headers: add class_create() single-argument backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 14/20] headers: add list_count_nodes() backport for kernels < 6.5 Yi Cong
2026-06-24  7:38 ` [PATCH 15/20] headers: add net/gso.h " Yi Cong
2026-06-24  7:38 ` [PATCH 16/20] headers: add vcalloc() backport for kernels < 5.18 Yi Cong
2026-06-24  7:38 ` [PATCH 17/20] headers: add __counted_by macro for kernels < 6.6 Yi Cong
2026-06-24  7:38 ` [PATCH 18/20] headers: add crypto/utils.h redirect " Yi Cong
2026-06-24  7:38 ` Yi Cong [this message]
2026-06-24  7:38 ` [PATCH 20/20] headers: add of_property_present backport for kernels < 5.18 Yi Cong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260624073844.2097504-20-cong.yi@linux.dev \
    --to=cong.yi@linux.dev \
    --cc=backports@vger.kernel.org \
    --cc=hauke@hauke-m.de \
    --cc=yicong@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox