#include <linux/bitfield.h>
#include <linux/delay.h>
#include <linux/mdio.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_mdio.h>
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/mdio/mdio-regmap.h>
#define DRV_NAME …
struct mdio_regmap_priv { … };
static int mdio_regmap_read_c22(struct mii_bus *bus, int addr, int regnum)
{ … }
static int mdio_regmap_write_c22(struct mii_bus *bus, int addr, int regnum,
u16 val)
{ … }
struct mii_bus *devm_mdio_regmap_register(struct device *dev,
const struct mdio_regmap_config *config)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;