#include <linux/stmmac.h>
#include <linux/clk.h>
#include <linux/module.h>
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <linux/of_net.h>
#include <linux/regulator/consumer.h>
#include "stmmac_platform.h"
struct sunxi_priv_data { … };
#define SUN7I_GMAC_GMII_RGMII_RATE …
#define SUN7I_GMAC_MII_RATE …
static int sun7i_gmac_init(struct platform_device *pdev, void *priv)
{ … }
static void sun7i_gmac_exit(struct platform_device *pdev, void *priv)
{ … }
static void sun7i_fix_speed(void *priv, unsigned int speed, unsigned int mode)
{ … }
static int sun7i_gmac_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id sun7i_dwmac_match[] = …;
MODULE_DEVICE_TABLE(of, sun7i_dwmac_match);
static struct platform_driver sun7i_dwmac_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;