Lines Matching refs:lp3943_pwm
25 struct lp3943_pwm { struct
31 static inline struct lp3943_pwm *to_lp3943_pwm(struct pwm_chip *_chip) in to_lp3943_pwm() argument
33 return container_of(_chip, struct lp3943_pwm, chip); in to_lp3943_pwm()
37 lp3943_pwm_request_map(struct lp3943_pwm *lp3943_pwm, int hwpwm) in lp3943_pwm_request_map() argument
39 struct lp3943_platform_data *pdata = lp3943_pwm->pdata; in lp3943_pwm_request_map()
40 struct lp3943 *lp3943 = lp3943_pwm->lp3943; in lp3943_pwm_request_map()
66 struct lp3943_pwm *lp3943_pwm = to_lp3943_pwm(chip); in lp3943_pwm_request() local
69 pwm_map = lp3943_pwm_request_map(lp3943_pwm, pwm->hwpwm); in lp3943_pwm_request()
76 static void lp3943_pwm_free_map(struct lp3943_pwm *lp3943_pwm, in lp3943_pwm_free_map() argument
79 struct lp3943 *lp3943 = lp3943_pwm->lp3943; in lp3943_pwm_free_map()
92 struct lp3943_pwm *lp3943_pwm = to_lp3943_pwm(chip); in lp3943_pwm_free() local
95 lp3943_pwm_free_map(lp3943_pwm, pwm_map); in lp3943_pwm_free()
101 struct lp3943_pwm *lp3943_pwm = to_lp3943_pwm(chip); in lp3943_pwm_config() local
102 struct lp3943 *lp3943 = lp3943_pwm->lp3943; in lp3943_pwm_config()
136 static int lp3943_pwm_set_mode(struct lp3943_pwm *lp3943_pwm, in lp3943_pwm_set_mode() argument
140 struct lp3943 *lp3943 = lp3943_pwm->lp3943; in lp3943_pwm_set_mode()
158 struct lp3943_pwm *lp3943_pwm = to_lp3943_pwm(chip); in lp3943_pwm_enable() local
172 return lp3943_pwm_set_mode(lp3943_pwm, pwm_map, val); in lp3943_pwm_enable()
177 struct lp3943_pwm *lp3943_pwm = to_lp3943_pwm(chip); in lp3943_pwm_disable() local
185 lp3943_pwm_set_mode(lp3943_pwm, pwm_map, LP3943_GPIO_OUT_HIGH); in lp3943_pwm_disable()
198 struct lp3943_pwm *lp3943_pwm) in lp3943_pwm_parse_dt() argument
252 lp3943_pwm->pdata = pdata; in lp3943_pwm_parse_dt()
259 struct lp3943_pwm *lp3943_pwm; in lp3943_pwm_probe() local
262 lp3943_pwm = devm_kzalloc(&pdev->dev, sizeof(*lp3943_pwm), GFP_KERNEL); in lp3943_pwm_probe()
263 if (!lp3943_pwm) in lp3943_pwm_probe()
266 lp3943_pwm->pdata = lp3943->pdata; in lp3943_pwm_probe()
267 if (!lp3943_pwm->pdata) { in lp3943_pwm_probe()
269 ret = lp3943_pwm_parse_dt(&pdev->dev, lp3943_pwm); in lp3943_pwm_probe()
277 lp3943_pwm->lp3943 = lp3943; in lp3943_pwm_probe()
278 lp3943_pwm->chip.dev = &pdev->dev; in lp3943_pwm_probe()
279 lp3943_pwm->chip.ops = &lp3943_pwm_ops; in lp3943_pwm_probe()
280 lp3943_pwm->chip.npwm = LP3943_NUM_PWMS; in lp3943_pwm_probe()
281 lp3943_pwm->chip.can_sleep = true; in lp3943_pwm_probe()
283 platform_set_drvdata(pdev, lp3943_pwm); in lp3943_pwm_probe()
285 return pwmchip_add(&lp3943_pwm->chip); in lp3943_pwm_probe()
290 struct lp3943_pwm *lp3943_pwm = platform_get_drvdata(pdev); in lp3943_pwm_remove() local
292 return pwmchip_remove(&lp3943_pwm->chip); in lp3943_pwm_remove()