gmac read mac form eeprom
| .. | .. |
|---|
| 2565 | 2565 | .of_match_table = rk_gmac_dwmac_match, |
|---|
| 2566 | 2566 | }, |
|---|
| 2567 | 2567 | }; |
|---|
| 2568 | | -module_platform_driver(rk_gmac_dwmac_driver); |
|---|
| 2568 | +module_platform_driver1(rk_gmac_dwmac_driver); |
|---|
| 2569 | 2569 | |
|---|
| 2570 | 2570 | MODULE_AUTHOR("Chen-Zhi (Roger Chen) <roger.chen@rock-chips.com>"); |
|---|
| 2571 | 2571 | MODULE_DESCRIPTION("Rockchip RK3288 DWMAC specific glue layer"); |
|---|
| .. | .. |
|---|
| 2159 | 2159 | */ |
|---|
| 2160 | 2160 | static void stmmac_check_ether_addr(struct stmmac_priv *priv) |
|---|
| 2161 | 2161 | { |
|---|
| 2162 | | - if (!is_valid_ether_addr(priv->dev->dev_addr)) { |
|---|
| 2162 | +// if (!is_valid_ether_addr(priv->dev->dev_addr)) { |
|---|
| 2163 | + if(1) { |
|---|
| 2163 | 2164 | stmmac_get_umac_addr(priv, priv->hw, priv->dev->dev_addr, 0); |
|---|
| 2164 | 2165 | if (likely(priv->plat->get_eth_addr)) |
|---|
| 2165 | 2166 | priv->plat->get_eth_addr(priv->plat->bsp_priv, |
|---|
| .. | .. |
|---|
| 1711 | 1711 | } \ |
|---|
| 1712 | 1712 | module_exit(__driver##_exit); |
|---|
| 1713 | 1713 | |
|---|
| 1714 | + |
|---|
| 1715 | + |
|---|
| 1716 | +#define module_driver1(__driver, __register, __unregister, ...) \ |
|---|
| 1717 | +static int __init __driver##_init(void) \ |
|---|
| 1718 | +{ \ |
|---|
| 1719 | + return __register(&(__driver) , ##__VA_ARGS__); \ |
|---|
| 1720 | +} \ |
|---|
| 1721 | +arch_initcall(__driver##_init); \ |
|---|
| 1722 | +static void __exit __driver##_exit(void) \ |
|---|
| 1723 | +{ \ |
|---|
| 1724 | + __unregister(&(__driver) , ##__VA_ARGS__); \ |
|---|
| 1725 | +} \ |
|---|
| 1726 | +module_exit(__driver##_exit); |
|---|
| 1727 | + |
|---|
| 1714 | 1728 | /** |
|---|
| 1715 | 1729 | * builtin_driver() - Helper macro for drivers that don't do anything |
|---|
| 1716 | 1730 | * special in init and have no exit. This eliminates some boilerplate. |
|---|
| .. | .. |
|---|
| 234 | 234 | module_driver(__platform_driver, platform_driver_register, \ |
|---|
| 235 | 235 | platform_driver_unregister) |
|---|
| 236 | 236 | |
|---|
| 237 | +#define module_platform_driver1(__platform_driver) \ |
|---|
| 238 | + module_driver1(__platform_driver, platform_driver_register, \ |
|---|
| 239 | + platform_driver_unregister) |
|---|
| 240 | + |
|---|
| 237 | 241 | /* builtin_platform_driver() - Helper macro for builtin drivers that |
|---|
| 238 | 242 | * don't do anything special in driver init. This eliminates some |
|---|
| 239 | 243 | * boilerplate. Each driver may only use this macro once, and |
|---|