diff options
-rw-r--r-- | drivers/staging/iio/trigger/iio-trig-periodic-rtc.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c index a24caf73ae0b..89df1d32874d 100644 --- a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c +++ b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c | |||
@@ -24,7 +24,7 @@ static DEFINE_MUTEX(iio_prtc_trigger_list_lock); | |||
24 | 24 | ||
25 | struct iio_prtc_trigger_info { | 25 | struct iio_prtc_trigger_info { |
26 | struct rtc_device *rtc; | 26 | struct rtc_device *rtc; |
27 | int frequency; | 27 | unsigned int frequency; |
28 | struct rtc_task task; | 28 | struct rtc_task task; |
29 | bool state; | 29 | bool state; |
30 | }; | 30 | }; |
@@ -36,7 +36,7 @@ static int iio_trig_periodic_rtc_set_state(struct iio_trigger *trig, bool state) | |||
36 | 36 | ||
37 | if (trig_info->frequency == 0 && state) | 37 | if (trig_info->frequency == 0 && state) |
38 | return -EINVAL; | 38 | return -EINVAL; |
39 | dev_dbg(&trig_info->rtc->dev, "trigger frequency is %d\n", | 39 | dev_dbg(&trig_info->rtc->dev, "trigger frequency is %u\n", |
40 | trig_info->frequency); | 40 | trig_info->frequency); |
41 | ret = rtc_irq_set_state(trig_info->rtc, &trig_info->task, state); | 41 | ret = rtc_irq_set_state(trig_info->rtc, &trig_info->task, state); |
42 | if (ret == 0) | 42 | if (ret == 0) |
@@ -62,10 +62,10 @@ static ssize_t iio_trig_periodic_write_freq(struct device *dev, | |||
62 | { | 62 | { |
63 | struct iio_trigger *trig = to_iio_trigger(dev); | 63 | struct iio_trigger *trig = to_iio_trigger(dev); |
64 | struct iio_prtc_trigger_info *trig_info = iio_trigger_get_drvdata(trig); | 64 | struct iio_prtc_trigger_info *trig_info = iio_trigger_get_drvdata(trig); |
65 | int val; | 65 | unsigned int val; |
66 | int ret; | 66 | int ret; |
67 | 67 | ||
68 | ret = kstrtoint(buf, 10, &val); | 68 | ret = kstrtouint(buf, 10, &val); |
69 | if (ret) | 69 | if (ret) |
70 | goto error_ret; | 70 | goto error_ret; |
71 | 71 | ||
@@ -74,10 +74,8 @@ static ssize_t iio_trig_periodic_write_freq(struct device *dev, | |||
74 | if (ret == 0 && trig_info->state && trig_info->frequency == 0) | 74 | if (ret == 0 && trig_info->state && trig_info->frequency == 0) |
75 | ret = rtc_irq_set_state(trig_info->rtc, | 75 | ret = rtc_irq_set_state(trig_info->rtc, |
76 | &trig_info->task, 1); | 76 | &trig_info->task, 1); |
77 | } else if (val == 0) { | ||
78 | ret = rtc_irq_set_state(trig_info->rtc, &trig_info->task, 0); | ||
79 | } else | 77 | } else |
80 | ret = -EINVAL; | 78 | ret = rtc_irq_set_state(trig_info->rtc, &trig_info->task, 0); |
81 | if (ret) | 79 | if (ret) |
82 | goto error_ret; | 80 | goto error_ret; |
83 | 81 | ||