forked from Minki/linux
pwm: Simplify all drivers with explicit of_pwm_n_cells = 3
With the previous commit there is no need for the lowlevel driver any more to specify it it uses two or three cells. So simplify accordingly. The only non-trival change affects the pwm-rockchip driver: It used to only support three cells if the hardware supports polarity. Now the default number depends on the device tree which has to match hardware anyhow (and if it doesn't the error is just a bit delayed as a PWM handle with an inverted setting is catched when pwm_apply_state() is called). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
69230cfac3
commit
e9fdf122cf
@ -266,8 +266,6 @@ static int atmel_hlcdc_pwm_probe(struct platform_device *pdev)
|
||||
chip->chip.ops = &atmel_hlcdc_pwm_ops;
|
||||
chip->chip.dev = dev;
|
||||
chip->chip.npwm = 1;
|
||||
chip->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
chip->chip.of_pwm_n_cells = 3;
|
||||
|
||||
ret = pwmchip_add(&chip->chip);
|
||||
if (ret) {
|
||||
|
@ -469,8 +469,6 @@ static int atmel_tcb_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
tcbpwm->chip.dev = &pdev->dev;
|
||||
tcbpwm->chip.ops = &atmel_tcb_pwm_ops;
|
||||
tcbpwm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
tcbpwm->chip.of_pwm_n_cells = 3;
|
||||
tcbpwm->chip.npwm = NPWM;
|
||||
tcbpwm->channel = channel;
|
||||
tcbpwm->regmap = regmap;
|
||||
|
@ -436,8 +436,6 @@ static int atmel_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
atmel_pwm->chip.dev = &pdev->dev;
|
||||
atmel_pwm->chip.ops = &atmel_pwm_ops;
|
||||
atmel_pwm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
atmel_pwm->chip.of_pwm_n_cells = 3;
|
||||
atmel_pwm->chip.npwm = 4;
|
||||
|
||||
ret = pwmchip_add(&atmel_pwm->chip);
|
||||
|
@ -210,8 +210,6 @@ static int iproc_pwmc_probe(struct platform_device *pdev)
|
||||
ip->chip.dev = &pdev->dev;
|
||||
ip->chip.ops = &iproc_pwm_ops;
|
||||
ip->chip.npwm = 4;
|
||||
ip->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
ip->chip.of_pwm_n_cells = 3;
|
||||
|
||||
ip->base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(ip->base))
|
||||
|
@ -272,8 +272,6 @@ static int kona_pwmc_probe(struct platform_device *pdev)
|
||||
kp->chip.dev = &pdev->dev;
|
||||
kp->chip.ops = &kona_pwm_ops;
|
||||
kp->chip.npwm = 6;
|
||||
kp->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
kp->chip.of_pwm_n_cells = 3;
|
||||
|
||||
kp->base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(kp->base))
|
||||
|
@ -159,8 +159,6 @@ static int bcm2835_pwm_probe(struct platform_device *pdev)
|
||||
pc->chip.dev = &pdev->dev;
|
||||
pc->chip.ops = &bcm2835_pwm_ops;
|
||||
pc->chip.npwm = 2;
|
||||
pc->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pc->chip.of_pwm_n_cells = 3;
|
||||
|
||||
platform_set_drvdata(pdev, pc);
|
||||
|
||||
|
@ -207,8 +207,6 @@ static int berlin_pwm_probe(struct platform_device *pdev)
|
||||
pwm->chip.dev = &pdev->dev;
|
||||
pwm->chip.ops = &berlin_pwm_ops;
|
||||
pwm->chip.npwm = 4;
|
||||
pwm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pwm->chip.of_pwm_n_cells = 3;
|
||||
|
||||
ret = pwmchip_add(&pwm->chip);
|
||||
if (ret < 0) {
|
||||
|
@ -451,8 +451,6 @@ static int fsl_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
|
||||
fpc->chip.ops = &fsl_pwm_ops;
|
||||
fpc->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
fpc->chip.of_pwm_n_cells = 3;
|
||||
fpc->chip.npwm = 8;
|
||||
|
||||
ret = pwmchip_add(&fpc->chip);
|
||||
|
@ -206,8 +206,6 @@ static int hibvt_pwm_probe(struct platform_device *pdev)
|
||||
pwm_chip->chip.ops = &hibvt_pwm_ops;
|
||||
pwm_chip->chip.dev = &pdev->dev;
|
||||
pwm_chip->chip.npwm = soc->num_pwms;
|
||||
pwm_chip->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pwm_chip->chip.of_pwm_n_cells = 3;
|
||||
pwm_chip->soc = soc;
|
||||
|
||||
pwm_chip->base = devm_platform_ioremap_resource(pdev, 0);
|
||||
|
@ -363,8 +363,6 @@ static int pwm_imx_tpm_probe(struct platform_device *pdev)
|
||||
|
||||
tpm->chip.dev = &pdev->dev;
|
||||
tpm->chip.ops = &imx_tpm_pwm_ops;
|
||||
tpm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
tpm->chip.of_pwm_n_cells = 3;
|
||||
|
||||
/* get number of channels */
|
||||
val = readl(tpm->base + PWM_IMX_TPM_PARAM);
|
||||
|
@ -329,9 +329,6 @@ static int pwm_imx27_probe(struct platform_device *pdev)
|
||||
imx->chip.dev = &pdev->dev;
|
||||
imx->chip.npwm = 1;
|
||||
|
||||
imx->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
imx->chip.of_pwm_n_cells = 3;
|
||||
|
||||
imx->mmio_base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(imx->mmio_base))
|
||||
return PTR_ERR(imx->mmio_base);
|
||||
|
@ -244,8 +244,6 @@ static int jz4740_pwm_probe(struct platform_device *pdev)
|
||||
jz4740->chip.dev = dev;
|
||||
jz4740->chip.ops = &jz4740_pwm_ops;
|
||||
jz4740->chip.npwm = info->num_pwms;
|
||||
jz4740->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
jz4740->chip.of_pwm_n_cells = 3;
|
||||
|
||||
platform_set_drvdata(pdev, jz4740);
|
||||
|
||||
|
@ -371,8 +371,6 @@ static int lpc18xx_pwm_probe(struct platform_device *pdev)
|
||||
lpc18xx_pwm->chip.dev = &pdev->dev;
|
||||
lpc18xx_pwm->chip.ops = &lpc18xx_pwm_ops;
|
||||
lpc18xx_pwm->chip.npwm = 16;
|
||||
lpc18xx_pwm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
lpc18xx_pwm->chip.of_pwm_n_cells = 3;
|
||||
|
||||
/* SCT counter must be in unify (32 bit) mode */
|
||||
lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_CONFIG,
|
||||
|
@ -551,8 +551,6 @@ static int meson_pwm_probe(struct platform_device *pdev)
|
||||
meson->chip.dev = &pdev->dev;
|
||||
meson->chip.ops = &meson_pwm_ops;
|
||||
meson->chip.npwm = MESON_NUM_PWMS;
|
||||
meson->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
meson->chip.of_pwm_n_cells = 3;
|
||||
|
||||
meson->data = of_device_get_match_data(&pdev->dev);
|
||||
|
||||
|
@ -138,8 +138,6 @@ static int mxs_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
mxs->chip.dev = &pdev->dev;
|
||||
mxs->chip.ops = &mxs_pwm_ops;
|
||||
mxs->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
mxs->chip.of_pwm_n_cells = 3;
|
||||
|
||||
ret = of_property_read_u32(np, "fsl,pwm-number", &mxs->chip.npwm);
|
||||
if (ret < 0) {
|
||||
|
@ -404,8 +404,6 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
|
||||
omap->chip.dev = &pdev->dev;
|
||||
omap->chip.ops = &pwm_omap_dmtimer_ops;
|
||||
omap->chip.npwm = 1;
|
||||
omap->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
omap->chip.of_pwm_n_cells = 3;
|
||||
|
||||
mutex_init(&omap->mutex);
|
||||
|
||||
|
@ -408,8 +408,6 @@ static int tpu_probe(struct platform_device *pdev)
|
||||
|
||||
tpu->chip.dev = &pdev->dev;
|
||||
tpu->chip.ops = &tpu_pwm_ops;
|
||||
tpu->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
tpu->chip.of_pwm_n_cells = 3;
|
||||
tpu->chip.npwm = TPU_CHANNEL_MAX;
|
||||
|
||||
pm_runtime_enable(&pdev->dev);
|
||||
|
@ -354,11 +354,6 @@ static int rockchip_pwm_probe(struct platform_device *pdev)
|
||||
pc->chip.ops = &rockchip_pwm_ops;
|
||||
pc->chip.npwm = 1;
|
||||
|
||||
if (pc->data->supports_polarity) {
|
||||
pc->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pc->chip.of_pwm_n_cells = 3;
|
||||
}
|
||||
|
||||
enable_conf = pc->data->enable_conf;
|
||||
ctrl = readl_relaxed(pc->base + pc->data->regs.ctrl);
|
||||
enabled = (ctrl & enable_conf) == enable_conf;
|
||||
|
@ -526,9 +526,6 @@ static int pwm_samsung_probe(struct platform_device *pdev)
|
||||
ret = pwm_samsung_parse_dt(chip);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
chip->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
chip->chip.of_pwm_n_cells = 3;
|
||||
} else {
|
||||
if (!pdev->dev.platform_data) {
|
||||
dev_err(&pdev->dev, "no platform data specified\n");
|
||||
|
@ -242,8 +242,6 @@ static int pwm_sifive_probe(struct platform_device *pdev)
|
||||
chip = &ddata->chip;
|
||||
chip->dev = dev;
|
||||
chip->ops = &pwm_sifive_ops;
|
||||
chip->of_xlate = of_pwm_xlate_with_flags;
|
||||
chip->of_pwm_n_cells = 3;
|
||||
chip->npwm = 4;
|
||||
|
||||
ddata->regs = devm_platform_ioremap_resource(pdev, 0);
|
||||
|
@ -208,8 +208,6 @@ static int stm32_pwm_lp_probe(struct platform_device *pdev)
|
||||
priv->chip.dev = &pdev->dev;
|
||||
priv->chip.ops = &stm32_pwm_lp_ops;
|
||||
priv->chip.npwm = 1;
|
||||
priv->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
priv->chip.of_pwm_n_cells = 3;
|
||||
|
||||
ret = pwmchip_add(&priv->chip);
|
||||
if (ret < 0)
|
||||
|
@ -621,8 +621,6 @@ static int stm32_pwm_probe(struct platform_device *pdev)
|
||||
priv->regmap = ddata->regmap;
|
||||
priv->clk = ddata->clk;
|
||||
priv->max_arr = ddata->max_arr;
|
||||
priv->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
priv->chip.of_pwm_n_cells = 3;
|
||||
|
||||
if (!priv->regmap || !priv->clk)
|
||||
return -EINVAL;
|
||||
|
@ -460,8 +460,6 @@ static int sun4i_pwm_probe(struct platform_device *pdev)
|
||||
pwm->chip.dev = &pdev->dev;
|
||||
pwm->chip.ops = &sun4i_pwm_ops;
|
||||
pwm->chip.npwm = pwm->data->npwm;
|
||||
pwm->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pwm->chip.of_pwm_n_cells = 3;
|
||||
|
||||
spin_lock_init(&pwm->ctrl_lock);
|
||||
|
||||
|
@ -224,8 +224,6 @@ static int ecap_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
pc->chip.dev = &pdev->dev;
|
||||
pc->chip.ops = &ecap_pwm_ops;
|
||||
pc->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pc->chip.of_pwm_n_cells = 3;
|
||||
pc->chip.npwm = 1;
|
||||
|
||||
pc->mmio_base = devm_platform_ioremap_resource(pdev, 0);
|
||||
|
@ -447,8 +447,6 @@ static int ehrpwm_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
pc->chip.dev = &pdev->dev;
|
||||
pc->chip.ops = &ehrpwm_pwm_ops;
|
||||
pc->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
pc->chip.of_pwm_n_cells = 3;
|
||||
pc->chip.npwm = NUM_PWM_CHANNEL;
|
||||
|
||||
pc->mmio_base = devm_platform_ioremap_resource(pdev, 0);
|
||||
|
@ -207,8 +207,6 @@ static int vt8500_pwm_probe(struct platform_device *pdev)
|
||||
|
||||
chip->chip.dev = &pdev->dev;
|
||||
chip->chip.ops = &vt8500_pwm_ops;
|
||||
chip->chip.of_xlate = of_pwm_xlate_with_flags;
|
||||
chip->chip.of_pwm_n_cells = 3;
|
||||
chip->chip.npwm = VT8500_NR_PWMS;
|
||||
|
||||
chip->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user