summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2021-11-19 02:29:52 +0100
committerAlejandro Colomar <alx.manpages@gmail.com>2021-11-19 02:29:52 +0100
commite4b7e977422d0ba749ba49ce16f3ffba7299e933 (patch)
treeb0f5883a968ef8e354e1ae5971daf5d771fc08f5
parent484cc4535fc8984ccde03674bc4fc620bdad1949 (diff)
linux/sizeof_field.h: Move sizeof_field(T, m) to a separate header
Touching files so used for the kernel, forces 'make' to recompile most of the kernel. Having those definitions in more granular files helps avoid recompiling so much of the kernel. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
-rw-r--r--include/linux/efi.h1
-rw-r--r--include/linux/filter.h1
-rw-r--r--include/linux/kvm_host.h1
-rw-r--r--include/linux/phy_led_triggers.h1
-rw-r--r--include/linux/sizeof_field.h14
-rw-r--r--include/linux/slab.h1
-rw-r--r--include/linux/stddef.h9
7 files changed, 20 insertions, 8 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h
index dbd39b20e034..47aecde48326 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -25,6 +25,7 @@
#include <linux/reboot.h>
#include <linux/uuid.h>
#include <linux/screen_info.h>
+#include <linux/sizeof_field.h>
#include <asm/page.h>
diff --git a/include/linux/filter.h b/include/linux/filter.h
index 3b6bd782e1d6..ebb0ae480533 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -18,6 +18,7 @@
#include <linux/kallsyms.h>
#include <linux/if_vlan.h>
#include <linux/offsetof.h>
+#include <linux/sizeof_field.h>
#include <linux/vmalloc.h>
#include <linux/sockptr.h>
#include <crypto/sha1.h>
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 289778b9e6fa..f89a516f3a39 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -30,6 +30,7 @@
#include <linux/nospec.h>
#include <linux/notifier.h>
#include <linux/offsetof.h>
+#include <linux/sizeof_field.h>
#include <asm/signal.h>
#include <linux/kvm.h>
diff --git a/include/linux/phy_led_triggers.h b/include/linux/phy_led_triggers.h
index 5c4d7a755101..86581b985161 100644
--- a/include/linux/phy_led_triggers.h
+++ b/include/linux/phy_led_triggers.h
@@ -10,6 +10,7 @@ struct phy_device;
#include <linux/leds.h>
#include <linux/phy.h>
+#include <linux/sizeof_field.h>
#define PHY_LED_TRIGGER_SPEED_SUFFIX_SIZE 11
diff --git a/include/linux/sizeof_field.h b/include/linux/sizeof_field.h
new file mode 100644
index 000000000000..7ff541cb21af
--- /dev/null
+++ b/include/linux/sizeof_field.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_SIZEOF_FIELD_H
+#define _LINUX_SIZEOF_FIELD_H
+
+/**
+ * sizeof_field() - Report the size of a struct field in bytes
+ *
+ * @TYPE: The structure containing the field of interest
+ * @MEMBER: The field to return the size of
+ */
+#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
+
+
+#endif /* _LINUX_SIZEOF_FIELD_H */
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 61cb3191566f..c2bd24c60803 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -18,6 +18,7 @@
#include <linux/types.h>
#include <linux/workqueue.h>
#include <linux/percpu-refcount.h>
+#include <linux/sizeof_field.h>
/*
diff --git a/include/linux/stddef.h b/include/linux/stddef.h
index 6ab0f57eccde..5c9aedb5e6ad 100644
--- a/include/linux/stddef.h
+++ b/include/linux/stddef.h
@@ -5,6 +5,7 @@
#include <uapi/linux/stddef.h>
#include <linux/NULL.h>
#include <linux/offsetof.h>
+#include <linux/sizeof_field.h>
enum {
@@ -13,14 +14,6 @@ enum {
};
/**
- * sizeof_field() - Report the size of a struct field in bytes
- *
- * @TYPE: The structure containing the field of interest
- * @MEMBER: The field to return the size of
- */
-#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
-
-/**
* offsetofend() - Report the offset of a struct field within the struct
*
* @TYPE: The type of the structure