greybus: loopback: functionally decompose calculation of turn-around times
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Tue, 11 Aug 2015 12:50:53 +0000 (13:50 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 12 Aug 2015 03:06:58 +0000 (20:06 -0700)
We have a pattern similar to this over and over again gb->elapsed_nsecs =
timeval_to_ns(&te) - timeval_to_ns(&ts); good software practice dictates we
functionally decompose this. This patch decomposes into
gb_loopback_calc_latency().

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/loopback.c

index 88c329afd3ea08d554fe3a7aec15ed00bc4525b5..ac38644c4a4818e6e0fe822b5af3e1da8a53cb5d 100644 (file)
@@ -219,6 +219,16 @@ static struct attribute *loopback_attrs[] = {
 };
 ATTRIBUTE_GROUPS(loopback);
 
+static void gb_loopback_calc_latency(struct gb_loopback *gb,
+                                    struct timeval *ts, struct timeval *te)
+{
+       u64 t1, t2;
+
+       t1 = timeval_to_ns(ts);
+       t2 = timeval_to_ns(te);
+       gb->elapsed_nsecs = t2 - t1;
+}
+
 static int gb_loopback_sink(struct gb_loopback *gb, u32 len)
 {
        struct timeval ts, te;
@@ -236,7 +246,7 @@ static int gb_loopback_sink(struct gb_loopback *gb, u32 len)
                                   request, len + sizeof(*request), NULL, 0);
 
        do_gettimeofday(&te);
-       gb->elapsed_nsecs = timeval_to_ns(&te) - timeval_to_ns(&ts);
+       gb_loopback_calc_latency(gb, &ts, &te);
 
        kfree(request);
        return retval;
@@ -265,7 +275,7 @@ static int gb_loopback_transfer(struct gb_loopback *gb, u32 len)
                                   request, len + sizeof(*request),
                                   response, len + sizeof(*response));
        do_gettimeofday(&te);
-       gb->elapsed_nsecs = timeval_to_ns(&te) - timeval_to_ns(&ts);
+       gb_loopback_calc_latency(gb, &ts, &te);
 
        if (retval)
                goto gb_error;
@@ -289,7 +299,7 @@ static int gb_loopback_ping(struct gb_loopback *gb)
        retval = gb_operation_sync(gb->connection, GB_LOOPBACK_TYPE_PING,
                                   NULL, 0, NULL, 0);
        do_gettimeofday(&te);
-       gb->elapsed_nsecs = timeval_to_ns(&te) - timeval_to_ns(&ts);
+       gb_loopback_calc_latency(gb, &ts, &te);
 
        return retval;
 }