#include <linux/module.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regmap.h>
#define CMD_OTG …
#define OTG_EN …
#define OTG_CURRENT_LIMIT_CFG …
#define OTG_CURRENT_LIMIT_MASK …
#define OTG_CFG …
#define OTG_EN_SRC_CFG …
static const unsigned int curr_table[] = …;
static const struct regulator_ops qcom_usb_vbus_reg_ops = …;
static struct regulator_desc qcom_usb_vbus_rdesc = …;
static int qcom_usb_vbus_regulator_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id qcom_usb_vbus_regulator_match[] = …;
MODULE_DEVICE_TABLE(of, qcom_usb_vbus_regulator_match);
static struct platform_driver qcom_usb_vbus_regulator_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;