dm: sandbox: pwm: add test for pwm_set_invert()
Add test case for new interface set_invert(). Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Acked-by: Simon Glass <sjg@chromium.org> Fix typo in subject and build error in sandbox_pwm_set_invert(): Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
1df7ee573e
commit
5540e25aeb
@ -21,6 +21,7 @@ struct sandbox_pwm_chan {
|
|||||||
uint period_ns;
|
uint period_ns;
|
||||||
uint duty_ns;
|
uint duty_ns;
|
||||||
bool enable;
|
bool enable;
|
||||||
|
bool polarity;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sandbox_pwm_priv {
|
struct sandbox_pwm_priv {
|
||||||
@ -56,9 +57,24 @@ static int sandbox_pwm_set_enable(struct udevice *dev, uint channel,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int sandbox_pwm_set_invert(struct udevice *dev, uint channel,
|
||||||
|
bool polarity)
|
||||||
|
{
|
||||||
|
struct sandbox_pwm_priv *priv = dev_get_priv(dev);
|
||||||
|
struct sandbox_pwm_chan *chan;
|
||||||
|
|
||||||
|
if (channel >= NUM_CHANNELS)
|
||||||
|
return -ENOSPC;
|
||||||
|
chan = &priv->chan[channel];
|
||||||
|
chan->polarity = polarity;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct pwm_ops sandbox_pwm_ops = {
|
static const struct pwm_ops sandbox_pwm_ops = {
|
||||||
.set_config = sandbox_pwm_set_config,
|
.set_config = sandbox_pwm_set_config,
|
||||||
.set_enable = sandbox_pwm_set_enable,
|
.set_enable = sandbox_pwm_set_enable,
|
||||||
|
.set_invert = sandbox_pwm_set_invert,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct udevice_id sandbox_pwm_ids[] = {
|
static const struct udevice_id sandbox_pwm_ids[] = {
|
||||||
|
@ -23,6 +23,7 @@ static int dm_test_pwm_base(struct unit_test_state *uts)
|
|||||||
ut_assertok(pwm_set_enable(dev, 1, true));
|
ut_assertok(pwm_set_enable(dev, 1, true));
|
||||||
ut_assertok(pwm_set_enable(dev, 2, true));
|
ut_assertok(pwm_set_enable(dev, 2, true));
|
||||||
ut_asserteq(-ENOSPC, pwm_set_enable(dev, 3, true));
|
ut_asserteq(-ENOSPC, pwm_set_enable(dev, 3, true));
|
||||||
|
ut_assertok(pwm_set_invert(dev, 0, true));
|
||||||
|
|
||||||
ut_assertok(uclass_get_device(UCLASS_PWM, 1, &dev));
|
ut_assertok(uclass_get_device(UCLASS_PWM, 1, &dev));
|
||||||
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_PWM, 2, &dev));
|
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_PWM, 2, &dev));
|
||||||
|
Loading…
Reference in New Issue
Block a user