From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933380AbcHVXfx (ORCPT ); Mon, 22 Aug 2016 19:35:53 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36809 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933284AbcHVXeX (ORCPT ); Mon, 22 Aug 2016 19:34:23 -0400 From: Nicolai Stange To: Thomas Gleixner Cc: John Stultz , linux-kernel@vger.kernel.org, Nicolai Stange Subject: [RFC v4 18/22] timer_list: print_tickdevice(): calculate ->*_delta_ns dynamically Date: Tue, 23 Aug 2016 01:33:16 +0200 Message-Id: <20160822233320.4548-19-nicstange@gmail.com> X-Mailer: git-send-email 2.9.2 In-Reply-To: <20160822233320.4548-1-nicstange@gmail.com> References: <20160822233320.4548-1-nicstange@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org print_tickdevice(), assembling the per-tick device sections in /proc/timer_list, is the last user of struct clock_event_device's ->min_delta_ns and ->max_delta_ns members. In order to make these fully obsolete while retaining userspace ABI, calculate the displayed values of 'min_delta_ns' and 'max_delta_ns' on the fly from ->min_delta_ticks_adjusted and ->max_delta_ticks respectively. Signed-off-by: Nicolai Stange --- kernel/time/timer_list.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c index ba7d8b2..5fba4f3 100644 --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c @@ -206,6 +206,10 @@ static void print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu) { struct clock_event_device *dev = td->evtdev; + unsigned long long min_delta_ns = + clockevent_delta2ns(dev->min_delta_ticks_adjusted, dev); + unsigned long long max_delta_ns = + clockevent_delta2ns(dev->max_delta_ticks, dev); SEQ_printf(m, "Tick Device: mode: %d\n", td->mode); if (cpu < 0) @@ -219,10 +223,8 @@ print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu) return; } SEQ_printf(m, "%s\n", dev->name); - SEQ_printf(m, " max_delta_ns: %llu\n", - (unsigned long long) dev->max_delta_ns); - SEQ_printf(m, " min_delta_ns: %llu\n", - (unsigned long long) dev->min_delta_ns); + SEQ_printf(m, " max_delta_ns: %llu\n", max_delta_ns); + SEQ_printf(m, " min_delta_ns: %llu\n", min_delta_ns); SEQ_printf(m, " mult: %u\n", dev->mult); SEQ_printf(m, " shift: %u\n", dev->shift); SEQ_printf(m, " mode: %d\n", clockevent_get_state(dev)); -- 2.9.2