All of lore.kernel.org
 help / color / mirror / Atom feed
From: trix@redhat.com
To: hao.wu@intel.com, mdf@kernel.org, michal.simek@xilinx.com
Cc: linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Tom Rix <trix@redhat.com>
Subject: [PATCH v2 4/7] fpga-mgr: wrap the status() op
Date: Tue,  8 Jun 2021 12:55:03 -0700	[thread overview]
Message-ID: <20210608195506.3022550-6-trix@redhat.com> (raw)
In-Reply-To: <20210608195506.3022550-1-trix@redhat.com>

From: Tom Rix <trix@redhat.com>

An FPGA manager is not required to provide a status() op.
Add a wrapper consistent with the other op wrappers.
Move the op check to the wrapper.
Default to 0, no errors to report.

Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/fpga/fpga-mgr.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
index c484b4309b2f4..cc531f0537acf 100644
--- a/drivers/fpga/fpga-mgr.c
+++ b/drivers/fpga/fpga-mgr.c
@@ -426,6 +426,14 @@ static ssize_t state_show(struct device *dev,
 	return sprintf(buf, "%s\n", state_str[mgr->state]);
 }
 
+static u64 fpga_mgr_status(struct fpga_manager *mgr)
+{
+	if (mgr->mops && mgr->mops->status)
+		return mgr->mops->status(mgr);
+
+	return 0;
+}
+
 static ssize_t status_show(struct device *dev,
 			   struct device_attribute *attr, char *buf)
 {
@@ -433,10 +441,7 @@ static ssize_t status_show(struct device *dev,
 	u64 status;
 	int len = 0;
 
-	if (!mgr->mops->status)
-		return -ENOENT;
-
-	status = mgr->mops->status(mgr);
+	status = fpga_mgr_status(mgr);
 
 	if (status & FPGA_MGR_STATUS_OPERATION_ERR)
 		len += sprintf(buf + len, "reconfig operation error\n");
-- 
2.26.3


WARNING: multiple messages have this Message-ID (diff)
From: trix@redhat.com
To: hao.wu@intel.com, mdf@kernel.org, michal.simek@xilinx.com
Cc: linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Tom Rix <trix@redhat.com>
Subject: [PATCH v2 4/7] fpga-mgr: wrap the status() op
Date: Tue,  8 Jun 2021 12:55:03 -0700	[thread overview]
Message-ID: <20210608195506.3022550-6-trix@redhat.com> (raw)
In-Reply-To: <20210608195506.3022550-1-trix@redhat.com>

From: Tom Rix <trix@redhat.com>

An FPGA manager is not required to provide a status() op.
Add a wrapper consistent with the other op wrappers.
Move the op check to the wrapper.
Default to 0, no errors to report.

Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/fpga/fpga-mgr.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
index c484b4309b2f4..cc531f0537acf 100644
--- a/drivers/fpga/fpga-mgr.c
+++ b/drivers/fpga/fpga-mgr.c
@@ -426,6 +426,14 @@ static ssize_t state_show(struct device *dev,
 	return sprintf(buf, "%s\n", state_str[mgr->state]);
 }
 
+static u64 fpga_mgr_status(struct fpga_manager *mgr)
+{
+	if (mgr->mops && mgr->mops->status)
+		return mgr->mops->status(mgr);
+
+	return 0;
+}
+
 static ssize_t status_show(struct device *dev,
 			   struct device_attribute *attr, char *buf)
 {
@@ -433,10 +441,7 @@ static ssize_t status_show(struct device *dev,
 	u64 status;
 	int len = 0;
 
-	if (!mgr->mops->status)
-		return -ENOENT;
-
-	status = mgr->mops->status(mgr);
+	status = fpga_mgr_status(mgr);
 
 	if (status & FPGA_MGR_STATUS_OPERATION_ERR)
 		len += sprintf(buf + len, "reconfig operation error\n");
-- 
2.26.3


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-06-08 19:55 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 19:54 [PATCH v2 0/7] wrappers for fpga_manager_ops trix
2021-06-08 19:54 ` trix
2021-06-08 19:54 ` trix
2021-06-08 19:54   ` trix
2021-06-08 19:55 ` [PATCH v2 1/7] fpga-mgr: wrap the write_init() op trix
2021-06-08 19:55   ` trix
2021-06-08 19:55 ` [PATCH v2 2/7] fpga-mgr: make write_complete() op optional trix
2021-06-08 19:55   ` trix
2021-06-08 19:55 ` [PATCH v2 3/7] fpga-mgr: wrap the write() op trix
2021-06-08 19:55   ` trix
2021-06-08 19:55 ` trix [this message]
2021-06-08 19:55   ` [PATCH v2 4/7] fpga-mgr: wrap the status() op trix
2021-06-08 19:55 ` [PATCH v2 5/7] fpga-mgr: wrap the state() op trix
2021-06-08 19:55   ` trix
2021-06-08 19:55 ` [PATCH v2 6/7] fpga-mgr: wrap the fpga_remove() op trix
2021-06-08 19:55   ` trix
2021-06-08 19:55 ` [PATCH v2 7/7] fpga-mgr: collect wrappers and change to inline trix
2021-06-08 19:55   ` trix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210608195506.3022550-6-trix@redhat.com \
    --to=trix@redhat.com \
    --cc=hao.wu@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdf@kernel.org \
    --cc=michal.simek@xilinx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.