From patchwork Tue Jun 6 00:01:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 771530 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3whX1b4nqlz9s7f for ; Tue, 6 Jun 2017 10:02:27 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="C9ghoaYF"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751313AbdFFAC0 (ORCPT ); Mon, 5 Jun 2017 20:02:26 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:36605 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751266AbdFFACY (ORCPT ); Mon, 5 Jun 2017 20:02:24 -0400 Received: by mail-pf0-f182.google.com with SMTP id m17so90021927pfg.3 for ; Mon, 05 Jun 2017 17:02:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=hRAtl6RS5ImMkpTc+7WjnH1yPrFtb05PLev7VuHbBdU=; b=C9ghoaYFQpNXEj4sZ3zWyz7tmWX2zVtLd3psrkqyeaLfr0fVXUWLQlX9ssGVfAQFHj CvXdaDLG9td7GzxkmCelR6Zpn14tGKvoO0LyoF4rgKVxHilsoxJINwGW381BI6/mNQv8 zgf0rM0bcw+fQOXVhVRYrVfvRi5nCr72SEEohwdBEnIQdY5vlFRmGPg/eg9Sqgild/hy cG273Qadu0Fl62wywDqoIxjd32H4YzxgcVLpREdnW1NMW9aZ66+SgVdv+c4w0jIY0wJz rHKINKrbWQbxmQmmGx3pOPXDtfcv95sVa0BSZq9tZNyDgki41SOaUsERoN5z8IejhiLq y9og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=hRAtl6RS5ImMkpTc+7WjnH1yPrFtb05PLev7VuHbBdU=; b=TAL8gp63fO3ewTVkRvOaRtDs/8E3RmqfahgEUw1DfKkgZde6cWF8tPctVY/DXChUgc FJuc7wvLsHAsMfHy8Puxc25dDEfSvW0v543ZkEbEOJSIG9fOiCPF93khu7y0QGK5ZATe PgNzKPfvBjnI91i8CZuhv2uOPVnqR6IAgQNtVb3ypGtA61HghJ3SQ5FU8GBtD+OzmgV0 aifB384+yTfOPSQKEu+ndxfxoDCcH16vSRJrPnqxXxJwxOAhViRnNOjnly39iV3EzxCI yYHUeRGSy30rZ620E8HaNdaVp5BbYYNVbqjCFW0e1TdBNJPpAhqW5d9R4CDbsq4uYrnT 4xZQ== X-Gm-Message-State: AODbwcD9XjxAaD51yHbKEpTQI9xmQ4JzjWDlYlGhglGlS7hDssLrRNoo 5BECiyq127SDeiBKfhM= X-Received: by 10.98.80.152 with SMTP id g24mr22478664pfj.222.1496707338554; Mon, 05 Jun 2017 17:02:18 -0700 (PDT) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id e76sm58274519pfb.92.2017.06.05.17.02.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 05 Jun 2017 17:02:18 -0700 (PDT) From: Jakub Kicinski To: netdev@vger.kernel.org Cc: oss-drivers@netronome.com, Jakub Kicinski Subject: [PATCH net-next 05/16] nfp: prepare print macros for use without netdev Date: Mon, 5 Jun 2017 17:01:46 -0700 Message-Id: <20170606000157.17556-6-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170606000157.17556-1-jakub.kicinski@netronome.com> References: <20170606000157.17556-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org To be able to reuse print macros easily with control vNICs make the macros check if netdev pointer is populated and use dev_* print functions otherwise. Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/netronome/nfp/nfp_net.h | 33 +++++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net.h b/drivers/net/ethernet/netronome/nfp/nfp_net.h index 2e526338f678..b14aa31d494a 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net.h +++ b/drivers/net/ethernet/netronome/nfp/nfp_net.h @@ -50,15 +50,32 @@ #include "nfp_net_ctrl.h" -#define nn_err(nn, fmt, args...) netdev_err((nn)->dp.netdev, fmt, ## args) -#define nn_warn(nn, fmt, args...) netdev_warn((nn)->dp.netdev, fmt, ## args) -#define nn_info(nn, fmt, args...) netdev_info((nn)->dp.netdev, fmt, ## args) -#define nn_dbg(nn, fmt, args...) netdev_dbg((nn)->dp.netdev, fmt, ## args) +#define nn_pr(nn, lvl, fmt, args...) \ + ({ \ + struct nfp_net *__nn = (nn); \ + \ + if (__nn->dp.netdev) \ + netdev_printk(lvl, __nn->dp.netdev, fmt, ## args); \ + else \ + dev_printk(lvl, __nn->dp.dev, "ctrl: " fmt, ## args); \ + }) + +#define nn_err(nn, fmt, args...) nn_pr(nn, KERN_ERR, fmt, ## args) +#define nn_warn(nn, fmt, args...) nn_pr(nn, KERN_WARNING, fmt, ## args) +#define nn_info(nn, fmt, args...) nn_pr(nn, KERN_INFO, fmt, ## args) +#define nn_dbg(nn, fmt, args...) nn_pr(nn, KERN_DEBUG, fmt, ## args) + #define nn_dp_warn(dp, fmt, args...) \ - do { \ - if (unlikely(net_ratelimit())) \ - netdev_warn((dp)->netdev, fmt, ## args); \ - } while (0) + ({ \ + struct nfp_net_dp *__dp = (dp); \ + \ + if (unlikely(net_ratelimit())) { \ + if (__dp->netdev) \ + netdev_warn(__dp->netdev, fmt, ## args); \ + else \ + dev_warn(__dp->dev, fmt, ## args); \ + } \ + }) /* Max time to wait for NFP to respond on updates (in seconds) */ #define NFP_NET_POLL_TIMEOUT 5