#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>
#include <linux/regmap.h>
#include <linux/of.h>
#include <linux/phy/phy.h>
#define EUSB2_RPTR_STATUS …
#define RPTR_OK …
#define EUSB2_EN_CTL1 …
#define EUSB2_RPTR_EN …
#define EUSB2_FORCE_EN_5 …
#define F_CLK_19P2M_EN …
#define EUSB2_FORCE_VAL_5 …
#define V_CLK_19P2M_EN …
#define EUSB2_TUNE_USB2_CROSSOVER …
#define EUSB2_TUNE_IUSB2 …
#define EUSB2_TUNE_RES_FSDIF …
#define EUSB2_TUNE_HSDISC …
#define EUSB2_TUNE_SQUELCH_U …
#define EUSB2_TUNE_USB2_SLEW …
#define EUSB2_TUNE_USB2_EQU …
#define EUSB2_TUNE_USB2_PREEM …
#define EUSB2_TUNE_USB2_HS_COMP_CUR …
#define EUSB2_TUNE_EUSB_SLEW …
#define EUSB2_TUNE_EUSB_EQU …
#define EUSB2_TUNE_EUSB_HS_COMP_CUR …
enum eusb2_reg_layout { … };
struct eusb2_repeater_cfg { … };
struct eusb2_repeater { … };
static const char * const pm8550b_vreg_l[] = …;
static const u32 pm8550b_init_tbl[NUM_TUNE_FIELDS] = …;
static const u32 smb2360_init_tbl[NUM_TUNE_FIELDS] = …;
static const struct eusb2_repeater_cfg pm8550b_eusb2_cfg = …;
static const struct eusb2_repeater_cfg smb2360_eusb2_cfg = …;
static int eusb2_repeater_init_vregs(struct eusb2_repeater *rptr)
{ … }
static int eusb2_repeater_init(struct phy *phy)
{ … }
static int eusb2_repeater_set_mode(struct phy *phy,
enum phy_mode mode, int submode)
{ … }
static int eusb2_repeater_exit(struct phy *phy)
{ … }
static const struct phy_ops eusb2_repeater_ops = …;
static int eusb2_repeater_probe(struct platform_device *pdev)
{ … }
static void eusb2_repeater_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id eusb2_repeater_of_match_table[] = …;
MODULE_DEVICE_TABLE(of, eusb2_repeater_of_match_table);
static struct platform_driver eusb2_repeater_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;