blob: 71bbfcf3adcd9127c61985a3710e102f020f4bb5 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
3 * OF helpers for network devices.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00004 */
5
6#ifndef __LINUX_OF_NET_H
7#define __LINUX_OF_NET_H
8
Olivier Deprez157378f2022-04-04 15:47:50 +02009#include <linux/phy.h>
10
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000011#ifdef CONFIG_OF_NET
12#include <linux/of.h>
13
14struct net_device;
Olivier Deprez157378f2022-04-04 15:47:50 +020015extern int of_get_phy_mode(struct device_node *np, phy_interface_t *interface);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000016extern const void *of_get_mac_address(struct device_node *np);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000017extern struct net_device *of_find_net_device_by_node(struct device_node *np);
18#else
Olivier Deprez157378f2022-04-04 15:47:50 +020019static inline int of_get_phy_mode(struct device_node *np,
20 phy_interface_t *interface)
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000021{
22 return -ENODEV;
23}
24
25static inline const void *of_get_mac_address(struct device_node *np)
26{
David Brazdil0f672f62019-12-10 10:32:29 +000027 return ERR_PTR(-ENODEV);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000028}
29
30static inline struct net_device *of_find_net_device_by_node(struct device_node *np)
31{
32 return NULL;
33}
34#endif
35
36#endif /* __LINUX_OF_NET_H */