forked from luck/tmp_suning_uos_patched
pwm: meson: Unify the parameter list of meson_pwm_{enable, disable}
This is a preparation for a future cleanup. Pass struct pwm_device instead of passing the individual values required by each function as these can be obtained for each struct pwm_device instance. As a nice side-effect the driver now uses "switch (pwm->hwpwm)" everywhere. Before some functions used "switch (id)" while others used "switch (pwm->hwpwm)". No functional changes. Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
6580fd1730
commit
084f137600
|
@ -183,15 +183,14 @@ static int meson_pwm_calc(struct meson_pwm *meson,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void meson_pwm_enable(struct meson_pwm *meson,
|
static void meson_pwm_enable(struct meson_pwm *meson, struct pwm_device *pwm)
|
||||||
struct meson_pwm_channel *channel,
|
|
||||||
unsigned int id)
|
|
||||||
{
|
{
|
||||||
|
struct meson_pwm_channel *channel = pwm_get_chip_data(pwm);
|
||||||
u32 value, clk_shift, clk_enable, enable;
|
u32 value, clk_shift, clk_enable, enable;
|
||||||
unsigned int offset;
|
unsigned int offset;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
switch (id) {
|
switch (pwm->hwpwm) {
|
||||||
case 0:
|
case 0:
|
||||||
clk_shift = MISC_A_CLK_DIV_SHIFT;
|
clk_shift = MISC_A_CLK_DIV_SHIFT;
|
||||||
clk_enable = MISC_A_CLK_EN;
|
clk_enable = MISC_A_CLK_EN;
|
||||||
|
@ -228,12 +227,12 @@ static void meson_pwm_enable(struct meson_pwm *meson,
|
||||||
spin_unlock_irqrestore(&meson->lock, flags);
|
spin_unlock_irqrestore(&meson->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void meson_pwm_disable(struct meson_pwm *meson, unsigned int id)
|
static void meson_pwm_disable(struct meson_pwm *meson, struct pwm_device *pwm)
|
||||||
{
|
{
|
||||||
u32 value, enable;
|
u32 value, enable;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
switch (id) {
|
switch (pwm->hwpwm) {
|
||||||
case 0:
|
case 0:
|
||||||
enable = MISC_A_EN;
|
enable = MISC_A_EN;
|
||||||
break;
|
break;
|
||||||
|
@ -266,7 +265,7 @@ static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!state->enabled) {
|
if (!state->enabled) {
|
||||||
meson_pwm_disable(meson, pwm->hwpwm);
|
meson_pwm_disable(meson, pwm);
|
||||||
channel->state.enabled = false;
|
channel->state.enabled = false;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -293,7 +292,7 @@ static int meson_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state->enabled && !channel->state.enabled) {
|
if (state->enabled && !channel->state.enabled) {
|
||||||
meson_pwm_enable(meson, channel, pwm->hwpwm);
|
meson_pwm_enable(meson, pwm);
|
||||||
channel->state.enabled = true;
|
channel->state.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user