fpga: fpga-mgr: wrap the status() op
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. [mdf@kernel.org: Reworded first line] Signed-off-by: Tom Rix <trix@redhat.com> Signed-off-by: Moritz Fischer <mdf@kernel.org>
This commit is contained in:
@@ -25,6 +25,13 @@ struct fpga_mgr_devres {
|
|||||||
struct fpga_manager *mgr;
|
struct fpga_manager *mgr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline u64 fpga_mgr_status(struct fpga_manager *mgr)
|
||||||
|
{
|
||||||
|
if (mgr->mops->status)
|
||||||
|
return mgr->mops->status(mgr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static inline int fpga_mgr_write(struct fpga_manager *mgr, const char *buf, size_t count)
|
static inline int fpga_mgr_write(struct fpga_manager *mgr, const char *buf, size_t count)
|
||||||
{
|
{
|
||||||
if (mgr->mops->write)
|
if (mgr->mops->write)
|
||||||
@@ -434,10 +441,7 @@ static ssize_t status_show(struct device *dev,
|
|||||||
u64 status;
|
u64 status;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
if (!mgr->mops->status)
|
status = fpga_mgr_status(mgr);
|
||||||
return -ENOENT;
|
|
||||||
|
|
||||||
status = mgr->mops->status(mgr);
|
|
||||||
|
|
||||||
if (status & FPGA_MGR_STATUS_OPERATION_ERR)
|
if (status & FPGA_MGR_STATUS_OPERATION_ERR)
|
||||||
len += sprintf(buf + len, "reconfig operation error\n");
|
len += sprintf(buf + len, "reconfig operation error\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user