From patchwork Mon Aug 27 16:52:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 43915 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C9ECD5942; Mon, 27 Aug 2018 18:52:45 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 3635F58F6 for ; Mon, 27 Aug 2018 18:52:44 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id v16-v6so14265635wro.11 for ; Mon, 27 Aug 2018 09:52:44 -0700 (PDT) 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=8jA1rguQNQsWxOIHsHF/vAjDwGqJikL8hM7ycAKTsa4=; b=qt0ARvISzgIXzzEzLy/IPRW5HF6JZ+pzCMGDoDg2W6uAYH8aHuac7/4W8bP4hgXDeo nayDhHK5VN2tUjmgsif+JRLXVI+Sp/sj57jaAPzxyWS2HBQTHrZac2wr39GLKe7+fHzI gU73qdKieVcULHTSk+GX1OAuLa0WShBKI2dlCCD5iStHI2VjMQHsn0idmgtYOW5YzhBj oaI1y2gAoMA+BWnkYOBp6AGxyXNvC58t/hSiysybMQoyxchxsGpGxGIqxCHKG/qGZERo /HXethrHUL10EAaGLZSfpHLYCv7fvteQMYZFIEmF5wkAM502QNb/KEz6FWvWjdpl3G8J hUmg== X-Gm-Message-State: APzg51C+zI5taKrXA8nc0h03Gs31YjAgwofc8b3hSGIcV8t95dNjPUgV a7GVXqGkgTitxkG3kiflq72k9g2o X-Google-Smtp-Source: ANB0VdbFRZjJxUIkbDuGVBssAVkDw4PeU2A1aPcP8X3+by5Z3X2QaM7+PhQ8JqJ64bZBOr+k00pjhg== X-Received: by 2002:a5d:448d:: with SMTP id j13-v6mr9437505wrq.236.1535388763570; Mon, 27 Aug 2018 09:52:43 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id 75-v6sm19040373wml.21.2018.08.27.09.52.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Aug 2018 09:52:42 -0700 (PDT) From: Luca Boccassi To: dev@dpdk.org Cc: maxime.coquelin@redhat.com, zhihong.wang@intel.com, tiwei.bie@intel.com, bruce.richardson@intel.com, Luca Boccassi Date: Mon, 27 Aug 2018 17:52:39 +0100 Message-Id: <20180827165240.28322-1-bluca@debian.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180824171420.31246-1-bluca@debian.org> References: <20180824171420.31246-1-bluca@debian.org> Subject: [dpdk-dev] [PATCH v5 1/2] bus/pci: harmonize and document rte_pci_read_config return value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Linux, rte_pci_read_config on success returns the number of read bytes, but on BSD it returns 0. Document the return values, and have BSD behave as Linux does. At least one case (bnx2x PMD) treats 0 as an error, so the change makes sense also for that. Signed-off-by: Luca Boccassi --- drivers/bus/pci/bsd/pci.c | 4 +++- drivers/bus/pci/rte_bus_pci.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/bus/pci/bsd/pci.c b/drivers/bus/pci/bsd/pci.c index 655b34b7e4..175d83cf1b 100644 --- a/drivers/bus/pci/bsd/pci.c +++ b/drivers/bus/pci/bsd/pci.c @@ -439,6 +439,8 @@ int rte_pci_read_config(const struct rte_pci_device *dev, { int fd = -1; int size; + /* Copy Linux implementation's behaviour */ + const int return_len = len; struct pci_io pi = { .pi_sel = { .pc_domain = dev->addr.domain, @@ -469,7 +471,7 @@ int rte_pci_read_config(const struct rte_pci_device *dev, } close(fd); - return 0; + return return_len; error: if (fd >= 0) diff --git a/drivers/bus/pci/rte_bus_pci.h b/drivers/bus/pci/rte_bus_pci.h index 0d1955ffe0..df8f64798d 100644 --- a/drivers/bus/pci/rte_bus_pci.h +++ b/drivers/bus/pci/rte_bus_pci.h @@ -219,6 +219,8 @@ void rte_pci_unregister(struct rte_pci_driver *driver); * The length of the data buffer. * @param offset * The offset into PCI config space + * @return + * Number of bytes read on success, negative on error. */ int rte_pci_read_config(const struct rte_pci_device *device, void *buf, size_t len, off_t offset);