xref: /linux/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*******************************************************************************
3   Copyright (C) 2007-2009  STMicroelectronics Ltd
4 
5 
6   Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
7 *******************************************************************************/
8 
9 #ifndef __STMMAC_PLATFORM_H__
10 #define __STMMAC_PLATFORM_H__
11 
12 #include "stmmac.h"
13 
14 struct plat_stmmacenet_data *
15 devm_stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac);
16 
17 int stmmac_get_platform_resources(struct platform_device *pdev,
18 				  struct stmmac_resources *stmmac_res);
19 
20 int stmmac_pltfr_probe(struct platform_device *pdev,
21 		       struct plat_stmmacenet_data *plat,
22 		       struct stmmac_resources *res);
23 int devm_stmmac_pltfr_probe(struct platform_device *pdev,
24 			    struct plat_stmmacenet_data *plat,
25 			    struct stmmac_resources *res);
26 void stmmac_pltfr_remove(struct platform_device *pdev);
27 extern const struct dev_pm_ops stmmac_pltfr_pm_ops;
28 
get_stmmac_bsp_priv(struct device * dev)29 static inline void *get_stmmac_bsp_priv(struct device *dev)
30 {
31 	struct net_device *ndev = dev_get_drvdata(dev);
32 	struct stmmac_priv *priv = netdev_priv(ndev);
33 
34 	return priv->plat->bsp_priv;
35 }
36 
37 #endif /* __STMMAC_PLATFORM_H__ */
38