mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 21:35:07 +00:00
pwm: Drop useless member .of_pwm_n_cells of struct pwm_chip
Apart from the two of_xlate implementations this member is write-only. In the of_xlate functions of_pwm_xlate_with_flags() and of_pwm_single_xlate() it's more sensible to check for args->args_count because this is what is actually used in the device tree. Acked-by: Douglas Anderson <dianders@chromium.org> Link: https://lore.kernel.org/r/53d8c545aa8f79a920358be9e72e382b3981bdc4.1704835845.git.u.kleine-koenig@pengutronix.de Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This commit is contained in:
parent
7cfce2b80d
commit
4e77431cda
@ -1591,7 +1591,6 @@ static int ti_sn_pwm_probe(struct auxiliary_device *adev,
|
||||
pdata->pchip.ops = &ti_sn_pwm_ops;
|
||||
pdata->pchip.npwm = 1;
|
||||
pdata->pchip.of_xlate = of_pwm_single_xlate;
|
||||
pdata->pchip.of_pwm_n_cells = 1;
|
||||
|
||||
devm_pm_runtime_enable(&adev->dev);
|
||||
|
||||
|
@ -107,9 +107,6 @@ of_pwm_xlate_with_flags(struct pwm_chip *chip, const struct of_phandle_args *arg
|
||||
{
|
||||
struct pwm_device *pwm;
|
||||
|
||||
if (chip->of_pwm_n_cells < 2)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
/* flags in the third cell are optional */
|
||||
if (args->args_count < 2)
|
||||
return ERR_PTR(-EINVAL);
|
||||
@ -124,10 +121,8 @@ of_pwm_xlate_with_flags(struct pwm_chip *chip, const struct of_phandle_args *arg
|
||||
pwm->args.period = args->args[1];
|
||||
pwm->args.polarity = PWM_POLARITY_NORMAL;
|
||||
|
||||
if (chip->of_pwm_n_cells >= 3) {
|
||||
if (args->args_count > 2 && args->args[2] & PWM_POLARITY_INVERTED)
|
||||
pwm->args.polarity = PWM_POLARITY_INVERSED;
|
||||
}
|
||||
if (args->args_count > 2 && args->args[2] & PWM_POLARITY_INVERTED)
|
||||
pwm->args.polarity = PWM_POLARITY_INVERSED;
|
||||
|
||||
return pwm;
|
||||
}
|
||||
@ -138,9 +133,6 @@ of_pwm_single_xlate(struct pwm_chip *chip, const struct of_phandle_args *args)
|
||||
{
|
||||
struct pwm_device *pwm;
|
||||
|
||||
if (chip->of_pwm_n_cells < 1)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
/* validate that one cell is specified, optionally with flags */
|
||||
if (args->args_count != 1 && args->args_count != 2)
|
||||
return ERR_PTR(-EINVAL);
|
||||
@ -164,16 +156,8 @@ static void of_pwmchip_add(struct pwm_chip *chip)
|
||||
if (!chip->dev || !chip->dev->of_node)
|
||||
return;
|
||||
|
||||
if (!chip->of_xlate) {
|
||||
u32 pwm_cells;
|
||||
|
||||
if (of_property_read_u32(chip->dev->of_node, "#pwm-cells",
|
||||
&pwm_cells))
|
||||
pwm_cells = 2;
|
||||
|
||||
if (!chip->of_xlate)
|
||||
chip->of_xlate = of_pwm_xlate_with_flags;
|
||||
chip->of_pwm_n_cells = pwm_cells;
|
||||
}
|
||||
|
||||
of_node_get(chip->dev->of_node);
|
||||
}
|
||||
|
@ -103,7 +103,6 @@ static int clps711x_pwm_probe(struct platform_device *pdev)
|
||||
priv->chip.dev = &pdev->dev;
|
||||
priv->chip.npwm = 2;
|
||||
priv->chip.of_xlate = clps711x_pwm_xlate;
|
||||
priv->chip.of_pwm_n_cells = 1;
|
||||
|
||||
spin_lock_init(&priv->lock);
|
||||
|
||||
|
@ -279,7 +279,6 @@ static int cros_ec_pwm_probe(struct platform_device *pdev)
|
||||
chip->dev = dev;
|
||||
chip->ops = &cros_ec_pwm_ops;
|
||||
chip->of_xlate = cros_ec_pwm_xlate;
|
||||
chip->of_pwm_n_cells = 1;
|
||||
|
||||
if (ec_pwm->use_pwm_type) {
|
||||
chip->npwm = CROS_EC_PWM_DT_COUNT;
|
||||
|
@ -180,10 +180,8 @@ static int pwm_probe(struct platform_device *pdev)
|
||||
pc->chip.ops = &pxa_pwm_ops;
|
||||
pc->chip.npwm = (id->driver_data & HAS_SECONDARY_PWM) ? 2 : 1;
|
||||
|
||||
if (IS_ENABLED(CONFIG_OF)) {
|
||||
if (IS_ENABLED(CONFIG_OF))
|
||||
pc->chip.of_xlate = of_pwm_single_xlate;
|
||||
pc->chip.of_pwm_n_cells = 1;
|
||||
}
|
||||
|
||||
pc->mmio_base = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(pc->mmio_base))
|
||||
|
@ -271,7 +271,6 @@ struct pwm_ops {
|
||||
* @id: unique number of this PWM chip
|
||||
* @npwm: number of PWMs controlled by this chip
|
||||
* @of_xlate: request a PWM device given a device tree PWM specifier
|
||||
* @of_pwm_n_cells: number of cells expected in the device tree PWM specifier
|
||||
* @atomic: can the driver's ->apply() be called in atomic context
|
||||
* @pwms: array of PWM devices allocated by the framework
|
||||
*/
|
||||
@ -284,7 +283,6 @@ struct pwm_chip {
|
||||
|
||||
struct pwm_device * (*of_xlate)(struct pwm_chip *chip,
|
||||
const struct of_phandle_args *args);
|
||||
unsigned int of_pwm_n_cells;
|
||||
bool atomic;
|
||||
|
||||
/* only used internally by the PWM framework */
|
||||
|
Loading…
x
Reference in New Issue
Block a user