net: stmmac: platform: provide stmmac_pltfr_remove_no_dt()
[platform/kernel/linux-starfive.git] / drivers / net / ethernet / stmicro / stmmac / stmmac_platform.h
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 stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac);
16 void stmmac_remove_config_dt(struct platform_device *pdev,
17                              struct plat_stmmacenet_data *plat);
18
19 int stmmac_get_platform_resources(struct platform_device *pdev,
20                                   struct stmmac_resources *stmmac_res);
21
22 int stmmac_pltfr_init(struct platform_device *pdev,
23                       struct plat_stmmacenet_data *plat);
24 void stmmac_pltfr_exit(struct platform_device *pdev,
25                        struct plat_stmmacenet_data *plat);
26
27 int stmmac_pltfr_probe(struct platform_device *pdev,
28                        struct plat_stmmacenet_data *plat,
29                        struct stmmac_resources *res);
30 void stmmac_pltfr_remove_no_dt(struct platform_device *pdev);
31 void stmmac_pltfr_remove(struct platform_device *pdev);
32 extern const struct dev_pm_ops stmmac_pltfr_pm_ops;
33
34 static inline void *get_stmmac_bsp_priv(struct device *dev)
35 {
36         struct net_device *ndev = dev_get_drvdata(dev);
37         struct stmmac_priv *priv = netdev_priv(ndev);
38
39         return priv->plat->bsp_priv;
40 }
41
42 #endif /* __STMMAC_PLATFORM_H__ */