atmel_pwm         116 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
atmel_pwm         120 drivers/pwm/pwm-atmel.c 	cycles *= clk_get_rate(atmel_pwm->clk);
atmel_pwm         123 drivers/pwm/pwm-atmel.c 	for (*pres = 0; cycles > atmel_pwm->data->cfg.max_period; cycles >>= 1)
atmel_pwm         126 drivers/pwm/pwm-atmel.c 	if (*pres > atmel_pwm->data->cfg.max_pres) {
atmel_pwm         149 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
atmel_pwm         152 drivers/pwm/pwm-atmel.c 	if (atmel_pwm->data->regs.duty_upd ==
atmel_pwm         153 drivers/pwm/pwm-atmel.c 	    atmel_pwm->data->regs.period_upd) {
atmel_pwm         154 drivers/pwm/pwm-atmel.c 		val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR);
atmel_pwm         156 drivers/pwm/pwm-atmel.c 		atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWM_CMR, val);
atmel_pwm         159 drivers/pwm/pwm-atmel.c 	atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm,
atmel_pwm         160 drivers/pwm/pwm-atmel.c 			    atmel_pwm->data->regs.duty_upd, cdty);
atmel_pwm         167 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
atmel_pwm         169 drivers/pwm/pwm-atmel.c 	atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm,
atmel_pwm         170 drivers/pwm/pwm-atmel.c 			    atmel_pwm->data->regs.duty, cdty);
atmel_pwm         171 drivers/pwm/pwm-atmel.c 	atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm,
atmel_pwm         172 drivers/pwm/pwm-atmel.c 			    atmel_pwm->data->regs.period, cprd);
atmel_pwm         178 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
atmel_pwm         185 drivers/pwm/pwm-atmel.c 	mutex_lock(&atmel_pwm->isr_lock);
atmel_pwm         186 drivers/pwm/pwm-atmel.c 	atmel_pwm->updated_pwms |= atmel_pwm_readl(atmel_pwm, PWM_ISR);
atmel_pwm         188 drivers/pwm/pwm-atmel.c 	while (!(atmel_pwm->updated_pwms & (1 << pwm->hwpwm)) &&
atmel_pwm         191 drivers/pwm/pwm-atmel.c 		atmel_pwm->updated_pwms |= atmel_pwm_readl(atmel_pwm, PWM_ISR);
atmel_pwm         194 drivers/pwm/pwm-atmel.c 	mutex_unlock(&atmel_pwm->isr_lock);
atmel_pwm         195 drivers/pwm/pwm-atmel.c 	atmel_pwm_writel(atmel_pwm, PWM_DIS, 1 << pwm->hwpwm);
atmel_pwm         203 drivers/pwm/pwm-atmel.c 	while ((atmel_pwm_readl(atmel_pwm, PWM_SR) & (1 << pwm->hwpwm)) &&
atmel_pwm         208 drivers/pwm/pwm-atmel.c 		clk_disable(atmel_pwm->clk);
atmel_pwm         214 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = to_atmel_pwm_chip(chip);
atmel_pwm         226 drivers/pwm/pwm-atmel.c 			cprd = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm,
atmel_pwm         227 drivers/pwm/pwm-atmel.c 						  atmel_pwm->data->regs.period);
atmel_pwm         246 drivers/pwm/pwm-atmel.c 			ret = clk_enable(atmel_pwm->clk);
atmel_pwm         254 drivers/pwm/pwm-atmel.c 		val = atmel_pwm_ch_readl(atmel_pwm, pwm->hwpwm, PWM_CMR);
atmel_pwm         260 drivers/pwm/pwm-atmel.c 		atmel_pwm_ch_writel(atmel_pwm, pwm->hwpwm, PWM_CMR, val);
atmel_pwm         262 drivers/pwm/pwm-atmel.c 		mutex_lock(&atmel_pwm->isr_lock);
atmel_pwm         263 drivers/pwm/pwm-atmel.c 		atmel_pwm->updated_pwms |= atmel_pwm_readl(atmel_pwm, PWM_ISR);
atmel_pwm         264 drivers/pwm/pwm-atmel.c 		atmel_pwm->updated_pwms &= ~(1 << pwm->hwpwm);
atmel_pwm         265 drivers/pwm/pwm-atmel.c 		mutex_unlock(&atmel_pwm->isr_lock);
atmel_pwm         266 drivers/pwm/pwm-atmel.c 		atmel_pwm_writel(atmel_pwm, PWM_ENA, 1 << pwm->hwpwm);
atmel_pwm         342 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm;
atmel_pwm         346 drivers/pwm/pwm-atmel.c 	atmel_pwm = devm_kzalloc(&pdev->dev, sizeof(*atmel_pwm), GFP_KERNEL);
atmel_pwm         347 drivers/pwm/pwm-atmel.c 	if (!atmel_pwm)
atmel_pwm         350 drivers/pwm/pwm-atmel.c 	mutex_init(&atmel_pwm->isr_lock);
atmel_pwm         351 drivers/pwm/pwm-atmel.c 	atmel_pwm->data = of_device_get_match_data(&pdev->dev);
atmel_pwm         352 drivers/pwm/pwm-atmel.c 	atmel_pwm->updated_pwms = 0;
atmel_pwm         355 drivers/pwm/pwm-atmel.c 	atmel_pwm->base = devm_ioremap_resource(&pdev->dev, res);
atmel_pwm         356 drivers/pwm/pwm-atmel.c 	if (IS_ERR(atmel_pwm->base))
atmel_pwm         357 drivers/pwm/pwm-atmel.c 		return PTR_ERR(atmel_pwm->base);
atmel_pwm         359 drivers/pwm/pwm-atmel.c 	atmel_pwm->clk = devm_clk_get(&pdev->dev, NULL);
atmel_pwm         360 drivers/pwm/pwm-atmel.c 	if (IS_ERR(atmel_pwm->clk))
atmel_pwm         361 drivers/pwm/pwm-atmel.c 		return PTR_ERR(atmel_pwm->clk);
atmel_pwm         363 drivers/pwm/pwm-atmel.c 	ret = clk_prepare(atmel_pwm->clk);
atmel_pwm         369 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.dev = &pdev->dev;
atmel_pwm         370 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.ops = &atmel_pwm_ops;
atmel_pwm         371 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.of_xlate = of_pwm_xlate_with_flags;
atmel_pwm         372 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.of_pwm_n_cells = 3;
atmel_pwm         373 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.base = -1;
atmel_pwm         374 drivers/pwm/pwm-atmel.c 	atmel_pwm->chip.npwm = 4;
atmel_pwm         376 drivers/pwm/pwm-atmel.c 	ret = pwmchip_add(&atmel_pwm->chip);
atmel_pwm         382 drivers/pwm/pwm-atmel.c 	platform_set_drvdata(pdev, atmel_pwm);
atmel_pwm         387 drivers/pwm/pwm-atmel.c 	clk_unprepare(atmel_pwm->clk);
atmel_pwm         393 drivers/pwm/pwm-atmel.c 	struct atmel_pwm_chip *atmel_pwm = platform_get_drvdata(pdev);
atmel_pwm         395 drivers/pwm/pwm-atmel.c 	clk_unprepare(atmel_pwm->clk);
atmel_pwm         396 drivers/pwm/pwm-atmel.c 	mutex_destroy(&atmel_pwm->isr_lock);
atmel_pwm         398 drivers/pwm/pwm-atmel.c 	return pwmchip_remove(&atmel_pwm->chip);