{"id":830226,"url":"http://patchwork.ozlabs.org/api/1.2/patches/830226/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20171025105138.GA146561@beast/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20171025105138.GA146561@beast>","list_archive_url":null,"date":"2017-10-25T10:51:38","name":"drivers/net: netronome: Convert timers to use timer_setup()","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"e00b03dec1072b86c48157a44e7aef24a3a58c31","submitter":{"id":10641,"url":"http://patchwork.ozlabs.org/api/1.2/people/10641/?format=json","name":"Kees Cook","email":"keescook@chromium.org"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.2/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20171025105138.GA146561@beast/mbox/","series":[{"id":10135,"url":"http://patchwork.ozlabs.org/api/1.2/series/10135/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=10135","date":"2017-10-25T10:51:38","name":"drivers/net: netronome: Convert timers to use timer_setup()","version":1,"mbox":"http://patchwork.ozlabs.org/series/10135/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/830226/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/830226/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"Lntrw51k\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3yMRlk639wz9t16\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 25 Oct 2017 21:51:46 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S932582AbdJYKvo (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 25 Oct 2017 06:51:44 -0400","from mail-pg0-f65.google.com ([74.125.83.65]:44685 \"EHLO\n\tmail-pg0-f65.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S932554AbdJYKvl (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 25 Oct 2017 06:51:41 -0400","by mail-pg0-f65.google.com with SMTP id j3so17016483pga.1\n\tfor <netdev@vger.kernel.org>; Wed, 25 Oct 2017 03:51:41 -0700 (PDT)","from www.outflux.net\n\t(173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133])\n\tby smtp.gmail.com with ESMTPSA id\n\tn10sm5074223pfk.174.2017.10.25.03.51.39\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 25 Oct 2017 03:51:39 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google;\n\th=date:from:to:cc:subject:message-id:mime-version:content-disposition;\n\tbh=7tH7mUawAZbZOAf7kTD1Ajw2MegLM6BKcwljKrOUxWA=;\n\tb=Lntrw51k/jnaRZcR8ZKvyyCemdHkeUGei7fW32lLZfvhTjUaMbpwY/0oGmjZ/N9VmC\n\tTM28N3JtWomSpANfFKYmG7MIMaabyDKDRF5VIMS7ap5KIgOSCWATCzIfTiouLNHptS0l\n\t9Fo5er1cwM8c+QKZ+rBOowwJ35f00hcaOmvio=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version\n\t:content-disposition;\n\tbh=7tH7mUawAZbZOAf7kTD1Ajw2MegLM6BKcwljKrOUxWA=;\n\tb=AmzAo8w46pqxaXHOpNbecv3S9JZpMgPOsQ9U+rszc3TxOgStV4dCFOwqSFRwJGh4GV\n\treWCJBkV5dj52GEwfpyeVInk0ibPjw6TO7gSKlGSFfo/i8eWmeyZBxeKet+DqZkdaAzN\n\tPSKmvoiiLwOnlKKqFI9jGuQNoCkbSEskSpkKfdktcn20HXWXXIf69sxqQxWTpYTj+E00\n\tBpAHLBeCpR90RgG9tHo8a+OUyVo8qK+8GdbWTdEHC56EPKyWZD6DV/6+VTKhPEOPfmcK\n\tmuERlqxbG9ESNnYIOaZIac3eBN7OZi7CNTHZFk3XCTxgSaPIIs25yMBnMbh9AgcJv0U8\n\tvjdg==","X-Gm-Message-State":"AMCzsaXm1QfHFEKAjUPCwQ9ofdv1eQey9t4T5iPIs1A41t34aQ0FiXPv\n\tUDkQp0ancq4K1Iq2lKMhbWPPpA==","X-Google-Smtp-Source":"ABhQp+Sl6EzpnIzwsuGg8yhROaV6aRItx6UWlBDUelPaURsJVucaBmX2BNyiAP8Ag2HlJ1njyzWv/A==","X-Received":"by 10.99.108.2 with SMTP id h2mr1673062pgc.362.1508928700679;\n\tWed, 25 Oct 2017 03:51:40 -0700 (PDT)","Date":"Wed, 25 Oct 2017 03:51:38 -0700","From":"Kees Cook <keescook@chromium.org>","To":"\"David S. Miller\" <davem@davemloft.net>","Cc":"Jakub Kicinski <jakub.kicinski@netronome.com>,\n\tJiri Pirko <jiri@mellanox.com>, Jamal Hadi Salim <jhs@mojatatu.com>,\n\tSimon Horman <simon.horman@netronome.com>,\n\toss-drivers@netronome.com, netdev@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Subject":"[PATCH] drivers/net: netronome: Convert timers to use timer_setup()","Message-ID":"<20171025105138.GA146561@beast>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"In preparation for unconditionally passing the struct timer_list pointer to\nall timer callbacks, switch to using the new timer_setup() and from_timer()\nto pass the timer pointer explicitly.\n\nCc: Jakub Kicinski <jakub.kicinski@netronome.com>\nCc: \"David S. Miller\" <davem@davemloft.net>\nCc: Jiri Pirko <jiri@mellanox.com>\nCc: Jamal Hadi Salim <jhs@mojatatu.com>\nCc: Simon Horman <simon.horman@netronome.com>\nCc: oss-drivers@netronome.com\nCc: netdev@vger.kernel.org\nSigned-off-by: Kees Cook <keescook@chromium.org>\n---\n drivers/net/ethernet/netronome/nfp/bpf/main.c       | 5 +++--\n drivers/net/ethernet/netronome/nfp/bpf/main.h       | 3 ++-\n drivers/net/ethernet/netronome/nfp/bpf/offload.c    | 9 ++++-----\n drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 7 +++----\n 4 files changed, 12 insertions(+), 12 deletions(-)","diff":"diff --git a/drivers/net/ethernet/netronome/nfp/bpf/main.c b/drivers/net/ethernet/netronome/nfp/bpf/main.c\nindex fa0ac90ed956..f15a186f6c87 100644\n--- a/drivers/net/ethernet/netronome/nfp/bpf/main.c\n+++ b/drivers/net/ethernet/netronome/nfp/bpf/main.c\n@@ -97,8 +97,9 @@ nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id)\n \n \tnn->app_priv = priv;\n \tspin_lock_init(&priv->rx_filter_lock);\n-\tsetup_timer(&priv->rx_filter_stats_timer,\n-\t\t    nfp_net_filter_stats_timer, (unsigned long)nn);\n+\tpriv->nn = nn;\n+\ttimer_setup(&priv->rx_filter_stats_timer,\n+\t\t    nfp_net_filter_stats_timer, 0);\n \n \tret = nfp_app_nic_vnic_alloc(app, nn, id);\n \tif (ret)\ndiff --git a/drivers/net/ethernet/netronome/nfp/bpf/main.h b/drivers/net/ethernet/netronome/nfp/bpf/main.h\nindex 86edc0691a5f..bc604030ff6c 100644\n--- a/drivers/net/ethernet/netronome/nfp/bpf/main.h\n+++ b/drivers/net/ethernet/netronome/nfp/bpf/main.h\n@@ -209,10 +209,11 @@ struct nfp_net_bpf_priv {\n \tstruct nfp_stat_pair rx_filter, rx_filter_prev;\n \tunsigned long rx_filter_change;\n \tstruct timer_list rx_filter_stats_timer;\n+\tstruct nfp_net *nn;\n \tspinlock_t rx_filter_lock;\n };\n \n int nfp_net_bpf_offload(struct nfp_net *nn, struct tc_cls_bpf_offload *cls_bpf);\n-void nfp_net_filter_stats_timer(unsigned long data);\n+void nfp_net_filter_stats_timer(struct timer_list *t);\n \n #endif\ndiff --git a/drivers/net/ethernet/netronome/nfp/bpf/offload.c b/drivers/net/ethernet/netronome/nfp/bpf/offload.c\nindex fbca1ca1f39b..63c8f7847054 100644\n--- a/drivers/net/ethernet/netronome/nfp/bpf/offload.c\n+++ b/drivers/net/ethernet/netronome/nfp/bpf/offload.c\n@@ -51,14 +51,13 @@\n #include \"../nfp_net_ctrl.h\"\n #include \"../nfp_net.h\"\n \n-void nfp_net_filter_stats_timer(unsigned long data)\n+void nfp_net_filter_stats_timer(struct timer_list *t)\n {\n-\tstruct nfp_net *nn = (void *)data;\n-\tstruct nfp_net_bpf_priv *priv;\n+\tstruct nfp_net_bpf_priv *priv = from_timer(priv, t,\n+\t\t\t\t\t\t   rx_filter_stats_timer);\n+\tstruct nfp_net *nn = priv->nn;\n \tstruct nfp_stat_pair latest;\n \n-\tpriv = nn->app_priv;\n-\n \tspin_lock_bh(&priv->rx_filter_lock);\n \n \tif (nn->dp.ctrl & NFP_NET_CFG_CTRL_BPF)\ndiff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\nindex 2c9109b09faf..eddf850a6a7f 100644\n--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\n+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c\n@@ -177,9 +177,9 @@ static int nfp_net_reconfig_wait(struct nfp_net *nn, unsigned long deadline)\n \treturn timed_out ? -EIO : 0;\n }\n \n-static void nfp_net_reconfig_timer(unsigned long data)\n+static void nfp_net_reconfig_timer(struct timer_list *t)\n {\n-\tstruct nfp_net *nn = (void *)data;\n+\tstruct nfp_net *nn = from_timer(nn, t, reconfig_timer);\n \n \tspin_lock_bh(&nn->reconfig_lock);\n \n@@ -3537,8 +3537,7 @@ struct nfp_net *nfp_net_alloc(struct pci_dev *pdev, bool needs_netdev,\n \tspin_lock_init(&nn->reconfig_lock);\n \tspin_lock_init(&nn->link_status_lock);\n \n-\tsetup_timer(&nn->reconfig_timer,\n-\t\t    nfp_net_reconfig_timer, (unsigned long)nn);\n+\ttimer_setup(&nn->reconfig_timer, nfp_net_reconfig_timer, 0);\n \n \treturn nn;\n }\n","prefixes":[]}