ALSA: intel8x0: Use ktime and ktime_get()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 11 Jun 2014 23:59:15 +0000 (23:59 +0000)
committerTakashi Iwai <tiwai@suse.de>
Thu, 12 Jun 2014 10:58:41 +0000 (12:58 +0200)
do_posix_clock_monotonic_gettime() is a leftover from the initial
posix timer implementation which maps to ktime_get_ts() and returns
the monotonic time in a timespec.

Use ktime based ktime_get() and use the ktime_delta_us() function to
calculate the delta instead of open coding the timespec math.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/intel8x0.c

index 68340d7df76d14cc85bfa534127c60c20db3fada..c91860e0a28d03020ec73f58884f66c1f88d5adb 100644 (file)
@@ -2779,7 +2779,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
        unsigned long port;
        unsigned long pos, pos1, t;
        int civ, timeout = 1000, attempt = 1;
-       struct timespec start_time, stop_time;
+       ktime_t start_time, stop_time;
 
        if (chip->ac97_bus->clock != 48000)
                return; /* specified in module option */
@@ -2813,7 +2813,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
                iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE);
                iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot);
        }
-       do_posix_clock_monotonic_gettime(&start_time);
+       start_time = ktime_get();
        spin_unlock_irq(&chip->reg_lock);
        msleep(50);
        spin_lock_irq(&chip->reg_lock);
@@ -2837,7 +2837,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
                pos += ichdev->position;
        }
        chip->in_measurement = 0;
-       do_posix_clock_monotonic_gettime(&stop_time);
+       stop_time = ktime_get();
        /* stop */
        if (chip->device_type == DEVICE_ALI) {
                iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16));
@@ -2865,9 +2865,7 @@ static void intel8x0_measure_ac97_clock(struct intel8x0 *chip)
        }
 
        pos /= 4;
-       t = stop_time.tv_sec - start_time.tv_sec;
-       t *= 1000000;
-       t += (stop_time.tv_nsec - start_time.tv_nsec) / 1000;
+       t = ktime_us_delta(stop_time, start_time);
        dev_info(chip->card->dev,
                 "%s: measured %lu usecs (%lu samples)\n", __func__, t, pos);
        if (t == 0) {