Prefer using accessor functions so we are not dependent on the ktime_t
type.

Signed-off-by: Sean Young <s...@mess.org>
---
 drivers/media/rc/gpio-ir-tx.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/media/rc/gpio-ir-tx.c b/drivers/media/rc/gpio-ir-tx.c
index 0b83408a2e18..cd476cab9782 100644
--- a/drivers/media/rc/gpio-ir-tx.c
+++ b/drivers/media/rc/gpio-ir-tx.c
@@ -98,15 +98,17 @@ static int gpio_ir_tx(struct rc_dev *dev, unsigned int 
*txbuf,
                        // pulse
                        ktime_t last = ktime_add_us(edge, txbuf[i]);
 
-                       while (ktime_get() < last) {
+                       while (ktime_before(ktime_get(), last)) {
                                gpiod_set_value(gpio_ir->gpio, 1);
-                               edge += pulse;
-                               delta = edge - ktime_get();
+                               edge = ktime_add_ns(edge, pulse);
+                               delta = ktime_to_ns(ktime_sub(edge,
+                                                             ktime_get()));
                                if (delta > 0)
                                        ndelay(delta);
                                gpiod_set_value(gpio_ir->gpio, 0);
-                               edge += space;
-                               delta = edge - ktime_get();
+                               edge = ktime_add_ns(edge, space);
+                               delta = ktime_to_ns(ktime_sub(edge,
+                                                             ktime_get()));
                                if (delta > 0)
                                        ndelay(delta);
                        }
-- 
2.13.5

Reply via email to