Lines Matching refs:chip
59 struct pwm_chip chip; member
64 #define to_vt8500_chip(chip) container_of(chip, struct vt8500_chip, chip) argument
76 dev_warn(vt8500->chip.dev, "Waiting for status bits 0x%x to clear timed out\n", in pwm_busy_wait()
80 static int vt8500_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in vt8500_pwm_config() argument
83 struct vt8500_chip *vt8500 = to_vt8500_chip(chip); in vt8500_pwm_config()
91 dev_err(chip->dev, "failed to enable clock\n"); in vt8500_pwm_config()
134 static int vt8500_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in vt8500_pwm_enable() argument
136 struct vt8500_chip *vt8500 = to_vt8500_chip(chip); in vt8500_pwm_enable()
142 dev_err(chip->dev, "failed to enable clock\n"); in vt8500_pwm_enable()
154 static void vt8500_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in vt8500_pwm_disable() argument
156 struct vt8500_chip *vt8500 = to_vt8500_chip(chip); in vt8500_pwm_disable()
167 static int vt8500_pwm_set_polarity(struct pwm_chip *chip, in vt8500_pwm_set_polarity() argument
171 struct vt8500_chip *vt8500 = to_vt8500_chip(chip); in vt8500_pwm_set_polarity()
203 struct vt8500_chip *chip; in vt8500_pwm_probe() local
213 chip = devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL); in vt8500_pwm_probe()
214 if (chip == NULL) in vt8500_pwm_probe()
217 chip->chip.dev = &pdev->dev; in vt8500_pwm_probe()
218 chip->chip.ops = &vt8500_pwm_ops; in vt8500_pwm_probe()
219 chip->chip.of_xlate = of_pwm_xlate_with_flags; in vt8500_pwm_probe()
220 chip->chip.of_pwm_n_cells = 3; in vt8500_pwm_probe()
221 chip->chip.base = -1; in vt8500_pwm_probe()
222 chip->chip.npwm = VT8500_NR_PWMS; in vt8500_pwm_probe()
224 chip->clk = devm_clk_get(&pdev->dev, NULL); in vt8500_pwm_probe()
225 if (IS_ERR(chip->clk)) { in vt8500_pwm_probe()
227 return PTR_ERR(chip->clk); in vt8500_pwm_probe()
231 chip->base = devm_ioremap_resource(&pdev->dev, r); in vt8500_pwm_probe()
232 if (IS_ERR(chip->base)) in vt8500_pwm_probe()
233 return PTR_ERR(chip->base); in vt8500_pwm_probe()
235 ret = clk_prepare(chip->clk); in vt8500_pwm_probe()
241 ret = pwmchip_add(&chip->chip); in vt8500_pwm_probe()
247 platform_set_drvdata(pdev, chip); in vt8500_pwm_probe()
253 struct vt8500_chip *chip; in vt8500_pwm_remove() local
255 chip = platform_get_drvdata(pdev); in vt8500_pwm_remove()
256 if (chip == NULL) in vt8500_pwm_remove()
259 clk_unprepare(chip->clk); in vt8500_pwm_remove()
261 return pwmchip_remove(&chip->chip); in vt8500_pwm_remove()