Skip to content

Commit d073cf7

Browse files
Use <linux/unaligned.h> instead of <asm/unaligned.h> for kernel >=6.12 (#14)
* Rename <asm/unaligned.h> to <linux/unaligned.h> for kernel 6.12 * add comment explaining the unaligned.h header rename * Use link to the commit itself instead
1 parent a73447d commit d073cf7

3 files changed

Lines changed: 26 additions & 5 deletions

File tree

u3v_control.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,18 @@
4343
#include <linux/usb.h>
4444
#include <linux/types.h>
4545
#include <linux/uaccess.h>
46-
#include <linux/version.h>
47-
#include <asm/unaligned.h>
46+
#ifdef VERSION_COMPATIBILITY
47+
#include <linux/version.h>
48+
#else
49+
#include <generated/uapi/linux/version.h>
50+
#endif
51+
// In the kernel version >= 6.12.0, <asm/unaligned.h> is removed and replaced with <linux/unaligned.h>.
52+
// See this commit: https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576
53+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
54+
#include <linux/unaligned.h>
55+
#else
56+
#include <asm/unaligned.h>
57+
#endif
4858

4959
/*
5060
* u3v_create_control - Initializes the control interface.

u3v_core.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,18 @@
4747
#include <linux/types.h>
4848
#include <linux/uaccess.h>
4949
#include <linux/usb.h>
50-
#include <asm/unaligned.h>
5150
#ifdef VERSION_COMPATIBILITY
5251
#include <linux/version.h>
5352
#else
5453
#include <generated/uapi/linux/version.h>
5554
#endif
55+
// In the kernel version >= 6.12.0, <asm/unaligned.h> is removed and replaced with <linux/unaligned.h>.
56+
// See this commit: https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576
57+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
58+
#include <linux/unaligned.h>
59+
#else
60+
#include <asm/unaligned.h>
61+
#endif
5662

5763

5864
enum direction_t {

u3v_stream.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,18 @@
5151
#include <linux/uaccess.h>
5252
#include <linux/usb.h>
5353
#include <linux/vmalloc.h>
54-
#include <asm/unaligned.h>
5554
#ifdef VERSION_COMPATIBILITY
5655
#include <linux/version.h>
5756
#else
5857
#include <generated/uapi/linux/version.h>
5958
#endif
60-
59+
// In the kernel version >= 6.12.0, <asm/unaligned.h> is removed and replaced with <linux/unaligned.h>.
60+
// See this commit: https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576
61+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
62+
#include <linux/unaligned.h>
63+
#else
64+
#include <asm/unaligned.h>
65+
#endif
6166

6267
/* Internal stream structs and enums */
6368

0 commit comments

Comments
 (0)