aboutsummaryrefslogtreecommitdiffstats
path: root/include/os/linux/spl/sys/sysmacros.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/os/linux/spl/sys/sysmacros.h')
-rw-r--r--include/os/linux/spl/sys/sysmacros.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/os/linux/spl/sys/sysmacros.h b/include/os/linux/spl/sys/sysmacros.h
index be1f77e43..99e3a6fb4 100644
--- a/include/os/linux/spl/sys/sysmacros.h
+++ b/include/os/linux/spl/sys/sysmacros.h
@@ -120,6 +120,16 @@ extern uint32_t zone_get_hostid(void *zone);
extern void spl_setup(void);
extern void spl_cleanup(void);
+/*
+ * Only handles the first 4096 majors and first 256 minors. We don't have a
+ * libc for the kernel module so we define this inline.
+ */
+static inline dev_t
+makedev(unsigned int major, unsigned int minor)
+{
+ return ((major & 0xFFF) << 8) | (minor & 0xFF);
+}
+
#define highbit(x) __fls(x)
#define lowbit(x) __ffs(x)