From patchwork Mon Jun 18 15:31:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 139018 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp4091111lji; Mon, 18 Jun 2018 08:32:52 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKznXUa9+N6S20Z+80/s/5Faj/wTwzEexN+1e78nK8X20W39IzwWXZwudMsXloIFVAIc8Qh X-Received: by 2002:a65:510c:: with SMTP id f12-v6mr11191599pgq.288.1529335972272; Mon, 18 Jun 2018 08:32:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529335972; cv=none; d=google.com; s=arc-20160816; b=cxcj78KX6vmRYuItJOCwm8MYHi3YHlfCfW5JLvkS3tx79QtF+6jyb9vLBz1rqZyyJU q3L/e5nb0O7octHmkD5jYOw4XruhsaG5nBixVwEyXlrhbFLeKrX/jX5IJD7vnRIhcUiW KkqWa9hJrs4xUNDdol5RNGpwXxwtYuOnLlJJiC34yjdUMsRpXCrJeGTO6geBCO1NiQtG oAdoXPPv/qFQwO40QxdshAy47j9QWB5keGFYoVxTvgdI7vHR6lekPwjyyas32RTl1jR4 4XuVsoDY4/bYbzle04fREKR7uhydKt5hiIWmu7InQZqJRpGGc30V08ctKaXcAI/9lauJ 0jpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=2COxEKdBLDgAXEwvgEYDhYTaXU8CMEC3WMVwtmbYq68=; b=zeSQVE1x6dK44GGk5ZuHXGaRom8bzp45MeybAeG60Qjo4EnzHbYMzltgWcSpF9vRSa Jhx0px2zIf5vU8xYzKsiWUNKq62QWsrDyVpuwLO370ToJQSSmCDYL4+ZzYl/taKPh2xC tSKjj4VXJhxEC8v+ZeniaD9ZoYCdlIYROFx+AglZx+WpM+dvLg3kpAcWtLJz1xLJ2wp4 3uRlC/cLfuUOor5nyVkk48ufGs4L5S1MjYLWLJYuq/3dW5Ko2bmphX2mPneeyfzghSRC 3oShe2ACFRJETwuA93IgxPtZJLJchjrInVhQgKGrP/SxsnEooBbGnhPQyp+RksinzIt5 rUCA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b75-v6si15143097pfd.41.2018.06.18.08.32.51; Mon, 18 Jun 2018 08:32:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754662AbeFRPct (ORCPT + 30 others); Mon, 18 Jun 2018 11:32:49 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:35377 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752849AbeFRPcr (ORCPT ); Mon, 18 Jun 2018 11:32:47 -0400 Received: from wuerfel.lan ([95.208.111.237]) by mrelayeu.kundenserver.de (mreue102 [212.227.15.145]) with ESMTPA (Nemesis) id 0MMWH0-1fZssn3R3G-008KPX; Mon, 18 Jun 2018 17:31:55 +0200 From: Arnd Bergmann To: Jonathan Cameron Cc: y2038@lists.linaro.org, Arnd Bergmann , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Randy Dunlap , "Gustavo A. R. Silva" , Matt Fornero , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: use timespec64 based interfaces for iio_get_time_ns() Date: Mon, 18 Jun 2018 17:31:36 +0200 Message-Id: <20180618153153.1903178-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K1:mcVjUPaouPYX8LBmLB4N/DAIM1SQrK8yU+5IYHU2SjZwChs2ZYp 1YUoMQTfpYGViNv4kmfDzuSoXobf9YThAYUMXCTQDDnJR5e/bN0JzbGX77cJgof0Cf9ZZNW tbCfO2SaYDZODmNXgGzeMYLlJ/EOeT2UTY5RCZn9KQR1PbTiFzl5406goiYEXAS4F9UCULI OJBlOUkmhhkmUT/NpBbyw== X-UI-Out-Filterresults: notjunk:1; V01:K0:mrrPjxwudeo=:Nq6hfxiNernp9T9dXexccy +Ilo5cxXNpGft7uMsmoSJxf1F0cOJOHM/vyKZUqXcD1M7aR+oI3ksVhrnAU+T1kRxYRBsHhHu 62qjBzVLZLLMkDjX0diI/f3ICheCk8E3WF8LYJTzFMmbck9sMmtuImv4ktURPr+oBwyiBS3ii LYSpsHxGMDf+smzavNhcdzMpD+/7kyU+F4WEqmNx+jUFATCifZ/UyAmzLqk/dKmgArXOFJa/C KM/eRjN2tTeI/lpku/TmWpLatFBGzmd+hWxjc2wX5puVDVV5udYc1sJ2gV84gLsm4JBitSify K5wSuT3ru0ukvP0Qm+44T6QfbKhhwVlBhKtah6gtfvPjc3WfGtsdxdXlUo9U2zf0nCUxiEsNA 4VopLqh7SJj7v29cj3kHoWw8g4AhCdADHBF6xJtbU4qv0njXf50y39d+ZQZpK7GbyVCUknIG7 /XzU6M4rdVWs9uTJLCxECas+u3Oiu2whlLBQpheKYQppFaILEEupwgHZR5560WhJZl1Iuiehb abXpwkuJTJgbM2m+HnVpKRRVo1tr1cy0oblqS/tjyuy81U+rbbIieOnQ8Tyjnihdg5t2GKKyv E07kFF8CZc3yelXZcAblhcJILhKdOzp6AWSQBHryT1YqVXCld9taZthxSu/twU5daPvPI/EJB tRG1GZF6Y5NX/3F+o6tJqEd79qdDDQTnmPnoK7gI7NnMq5xt/edW1mxDx2i+iUZaJyvw= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We have replacements for all the deprecated timespec based interfaces now, so this can finally convert iio_get_time_ns() to consistently use the nanosecond or timespec64 based interfaces instead, avoiding the y2038 overflow. Signed-off-by: Arnd Bergmann --- drivers/iio/industrialio-core.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) -- 2.9.0 diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c index 19bdf3d2962a..fcbe92c34a3d 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -207,35 +207,27 @@ static int iio_device_set_clock(struct iio_dev *indio_dev, clockid_t clock_id) */ s64 iio_get_time_ns(const struct iio_dev *indio_dev) { - struct timespec tp; + struct timespec64 tp; switch (iio_device_get_clock(indio_dev)) { case CLOCK_REALTIME: - ktime_get_real_ts(&tp); - break; + return ktime_get_real_ns(); case CLOCK_MONOTONIC: - ktime_get_ts(&tp); - break; + return ktime_get_ns(); case CLOCK_MONOTONIC_RAW: - getrawmonotonic(&tp); - break; + return ktime_get_raw_ns(); case CLOCK_REALTIME_COARSE: - tp = current_kernel_time(); - break; + return ktime_to_ns(ktime_get_coarse_real()); case CLOCK_MONOTONIC_COARSE: - tp = get_monotonic_coarse(); - break; + ktime_get_coarse_ts64(&tp); + return timespec64_to_ns(&tp); case CLOCK_BOOTTIME: - get_monotonic_boottime(&tp); - break; + return ktime_get_boot_ns(); case CLOCK_TAI: - timekeeping_clocktai(&tp); - break; + return ktime_get_tai_ns(); default: BUG(); } - - return timespec_to_ns(&tp); } EXPORT_SYMBOL(iio_get_time_ns);