diff options
| author | Chen-Yu Tsai <wens@csie.org> | 2014-01-17 08:24:42 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-01-19 23:02:02 -0500 |
| commit | 938dfdaa3c0f92e9a490d324f3bce43bbaef7632 (patch) | |
| tree | da3396dd24faaa4898790d3e995bfb7ecb5ea0fb /include/linux | |
| parent | c5e4ddbdfa1134a36589c1466ed4abb85fe6f976 (diff) | |
net: stmmac: Allocate and pass soc/board specific data to callbacks
The current .init and .exit callbacks requires access to driver
private data structures. This is not a good seperation and abstraction.
Instead, we add a new .setup callback for allocating private data, and
pass the returned pointer to the other callbacks.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/stmmac.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 33ace712e7e8..0a5a7aca562e 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h | |||
| @@ -113,8 +113,10 @@ struct plat_stmmacenet_data { | |||
| 113 | int max_speed; | 113 | int max_speed; |
| 114 | void (*fix_mac_speed)(void *priv, unsigned int speed); | 114 | void (*fix_mac_speed)(void *priv, unsigned int speed); |
| 115 | void (*bus_setup)(void __iomem *ioaddr); | 115 | void (*bus_setup)(void __iomem *ioaddr); |
| 116 | int (*init)(struct platform_device *pdev); | 116 | void *(*setup)(struct platform_device *pdev); |
| 117 | void (*exit)(struct platform_device *pdev); | 117 | void (*free)(struct platform_device *pdev, void *priv); |
| 118 | int (*init)(struct platform_device *pdev, void *priv); | ||
| 119 | void (*exit)(struct platform_device *pdev, void *priv); | ||
| 118 | void *custom_cfg; | 120 | void *custom_cfg; |
| 119 | void *custom_data; | 121 | void *custom_data; |
| 120 | void *bsp_priv; | 122 | void *bsp_priv; |
