#include <linux/err.h>
#include <linux/mfd/lp3943.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
#define LP3943_MAX_DUTY …
#define LP3943_MIN_PERIOD …
#define LP3943_MAX_PERIOD …
struct lp3943_pwm { … };
static inline struct lp3943_pwm *to_lp3943_pwm(struct pwm_chip *chip)
{ … }
static struct lp3943_pwm_map *
lp3943_pwm_request_map(struct lp3943_pwm *lp3943_pwm, int hwpwm)
{ … }
static int lp3943_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm)
{ … }
static void lp3943_pwm_free_map(struct lp3943_pwm *lp3943_pwm,
struct lp3943_pwm_map *pwm_map)
{ … }
static void lp3943_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
{ … }
static int lp3943_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
u64 duty_ns, u64 period_ns)
{ … }
static int lp3943_pwm_set_mode(struct lp3943_pwm *lp3943_pwm,
struct lp3943_pwm_map *pwm_map,
u8 val)
{ … }
static int lp3943_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
{ … }
static void lp3943_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
{ … }
static int lp3943_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
const struct pwm_state *state)
{ … }
static const struct pwm_ops lp3943_pwm_ops = …;
static int lp3943_pwm_parse_dt(struct device *dev,
struct lp3943_pwm *lp3943_pwm)
{ … }
static int lp3943_pwm_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id lp3943_pwm_of_match[] = …;
MODULE_DEVICE_TABLE(of, lp3943_pwm_of_match);
#endif
static struct platform_driver lp3943_pwm_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;