IB/rdmavt: Add device specific info prints
Follow hfi1's example for printing information about the driver and incorporate into rdmavt. This requires two new functions to be provided by the driver, one to get_card_name and one to get_pci_dev. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
aec5778775
commit
b534875d5a
@ -213,9 +213,18 @@ static int rvt_get_port_immutable(struct ib_device *ibdev, u8 port_num,
|
||||
|
||||
int rvt_register_device(struct rvt_dev_info *rdi)
|
||||
{
|
||||
/* Validate that drivers have provided the right information */
|
||||
if (!rdi)
|
||||
return -EINVAL;
|
||||
|
||||
if ((!rdi->driver_f.port_callback) ||
|
||||
(!rdi->driver_f.get_card_name) ||
|
||||
(!rdi->driver_f.get_pci_dev)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Once we get past here we can use the rvt_pr macros */
|
||||
|
||||
/* Dev Ops */
|
||||
CHECK_DRIVER_OVERRIDE(rdi, query_device);
|
||||
CHECK_DRIVER_OVERRIDE(rdi, modify_device);
|
||||
@ -280,9 +289,7 @@ int rvt_register_device(struct rvt_dev_info *rdi)
|
||||
spin_lock_init(&rdi->n_pds_lock);
|
||||
rdi->n_pds_allocated = 0;
|
||||
|
||||
/* Validate that drivers have provided the right functions */
|
||||
if (!rdi->driver_f.port_callback)
|
||||
return -EINVAL;
|
||||
rvt_pr_info(rdi, "Registration with rdmavt done.\n");
|
||||
|
||||
/* We are now good to announce we exist */
|
||||
return ib_register_device(&rdi->ibdev, rdi->driver_f.port_callback);
|
||||
|
@ -49,6 +49,7 @@
|
||||
*/
|
||||
|
||||
#include <rdma/rdma_vt.h>
|
||||
#include <linux/pci.h>
|
||||
#include "dma.h"
|
||||
#include "pd.h"
|
||||
#include "qp.h"
|
||||
@ -59,4 +60,31 @@
|
||||
#include "mmap.h"
|
||||
#include "cq.h"
|
||||
|
||||
#define rvt_pr_info(rdi, fmt, ...) \
|
||||
__rvt_pr_info(rdi->driver_f.get_pci_dev(rdi), \
|
||||
rdi->driver_f.get_card_name(rdi), \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define rvt_pr_warn(rdi, fmt, ...) \
|
||||
__rvt_pr_warn(rdi->driver_f.get_pci_dev(rdi), \
|
||||
rdi->driver_f.get_card_name(rdi), \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define rvt_pr_err(rdi, fmt, ...) \
|
||||
__rvt_pr_err(rdi->driver_f.get_pci_dev(rdi), \
|
||||
rdi->driver_f.get_card_name(rdi), \
|
||||
fmt, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define __rvt_pr_info(pdev, name, fmt, ...) \
|
||||
dev_info(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
|
||||
|
||||
#define __rvt_pr_warn(pdev, name, fmt, ...) \
|
||||
dev_warn(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
|
||||
|
||||
#define __rvt_pr_err(pdev, name, fmt, ...) \
|
||||
dev_err(&pdev->dev, "%s: " fmt, name, ##__VA_ARGS__)
|
||||
|
||||
#endif /* DEF_RDMAVT_H */
|
||||
|
@ -386,6 +386,7 @@ struct rvt_driver_params {
|
||||
/*
|
||||
* Functions that drivers are required to support
|
||||
*/
|
||||
struct rvt_dev_info;
|
||||
struct rvt_driver_provided {
|
||||
/*
|
||||
* The work to create port files in /sys/class Infiniband is different
|
||||
@ -394,6 +395,8 @@ struct rvt_driver_provided {
|
||||
* this.
|
||||
*/
|
||||
int (*port_callback)(struct ib_device *, u8, struct kobject *);
|
||||
const char * (*get_card_name)(struct rvt_dev_info *rdi);
|
||||
struct pci_dev * (*get_pci_dev)(struct rvt_dev_info *rdi);
|
||||
};
|
||||
|
||||
/* Protection domain */
|
||||
|
Loading…
Reference in New Issue
Block a user