summaryrefslogtreecommitdiff
path: root/backport-include/linux/of_net.h
diff options
context:
space:
mode:
Diffstat (limited to 'backport-include/linux/of_net.h')
-rw-r--r--backport-include/linux/of_net.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/backport-include/linux/of_net.h b/backport-include/linux/of_net.h
new file mode 100644
index 0000000..18becf5
--- /dev/null
+++ b/backport-include/linux/of_net.h
@@ -0,0 +1,31 @@
+#ifndef _BP_OF_NET_H
+#define _BP_OF_NET_H
+#include_next <linux/of_net.h>
+#include <linux/version.h>
+
+#ifndef CONFIG_OF
+#if LINUX_VERSION_IS_LESS(3,10,0)
+static inline const void *of_get_mac_address(struct device_node *np)
+{
+ return NULL;
+}
+#endif
+#endif
+
+/* The behavior of of_get_mac_address() changed in kernel 5.2, it now
+ * returns an error code and not NULL in case of an error.
+ */
+#if LINUX_VERSION_IS_LESS(5,2,0)
+static inline const void *backport_of_get_mac_address(struct device_node *np)
+{
+ const void *mac = of_get_mac_address(np);
+
+ if (!mac)
+ return ERR_PTR(-ENODEV);
+
+ return mac;
+}
+#define of_get_mac_address LINUX_BACKPORT(of_get_mac_address)
+#endif /* < 5.2 */
+
+#endif /* _BP_OF_NET_H */