From 68ce2d0ce42fcffa8e796af2d843b9ff1764b59f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 8 Sep 2015 16:18:27 +0000 Subject: [PATCH] ib_srpt: Port to MOFED 3.0 git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6497 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/Makefile | 7 ++++--- srpt/conftest/query_gid/Makefile | 3 +++ srpt/conftest/query_gid/query_gid.c | 9 +++++++++ srpt/src/ib_srpt.c | 6 +++++- 4 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 srpt/conftest/query_gid/Makefile create mode 100644 srpt/conftest/query_gid/query_gid.c diff --git a/srpt/Makefile b/srpt/Makefile index df2cf832b..370b308b2 100644 --- a/srpt/Makefile +++ b/srpt/Makefile @@ -84,7 +84,8 @@ ifeq ($(CREATE_SEND_MAD_AH_FLAG),) endif GID_CHANGE_FLAG = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/gid_change PRE_CFLAGS="$(OFED_CFLAGS)" >/dev/null 2>&1 && echo -DHAVE_IB_EVENT_GID_CHANGE) REGISTER_MAD_AGENT_FLAG = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/register_mad_agent PRE_CFLAGS="$(OFED_CFLAGS) -Werror" >/dev/null 2>&1 && echo -DREGISTER_MAD_AGENT_HAS_FLAGS_ARG) -PRE_CFLAGS=$(OFED_CFLAGS) $(CREATE_CQ_FLAG) $(CREATE_SEND_MAD_AH_FLAG) $(CREATE_SEND_MAD_BASE_FLAG) $(GID_CHANGE_FLAG) $(REGISTER_MAD_AGENT_FLAG) -DOFED_FLAVOR=$(OFED_FLAVOR) +QUERY_GID_FLAG = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/query_gid PRE_CFLAGS="$(OFED_CFLAGS)" >/dev/null 2>&1 && echo -DIB_QUERY_GID_HAS_ATTR_ARG) +PRE_CFLAGS=$(OFED_CFLAGS) $(CREATE_CQ_FLAG) $(CREATE_SEND_MAD_AH_FLAG) $(CREATE_SEND_MAD_BASE_FLAG) $(GID_CHANGE_FLAG) $(REGISTER_MAD_AGENT_FLAG) $(QUERY_GID_FLAG) -DOFED_FLAVOR=$(OFED_FLAVOR) all: src/$(MODULE_SYMVERS) $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src \ @@ -137,11 +138,11 @@ src/$(MODULE_SYMVERS): $(SCST_SYMVERS_DIR)/$(MODULE_SYMVERS) \ fi clean: - for d in conftest/gid_change conftest/register_mad_agent src; do \ + rm -rf conftest/pre_cflags conftest/kcflags + for d in conftest/* src; do \ $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/$$d clean; \ done rm -f src/$(MODULE_SYMVERS) src/Module.markers src/modules.order - rm -rf conftest/pre_cflags conftest/kcflags extraclean: clean rm -f *.orig *.rej diff --git a/srpt/conftest/query_gid/Makefile b/srpt/conftest/query_gid/Makefile new file mode 100644 index 000000000..7a7bba1f2 --- /dev/null +++ b/srpt/conftest/query_gid/Makefile @@ -0,0 +1,3 @@ +LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) + +obj-m += query_gid.o diff --git a/srpt/conftest/query_gid/query_gid.c b/srpt/conftest/query_gid/query_gid.c new file mode 100644 index 000000000..2db08ef62 --- /dev/null +++ b/srpt/conftest/query_gid/query_gid.c @@ -0,0 +1,9 @@ +#include +#include + +static int modinit(void) +{ + return ib_query_gid(NULL, 0, 0, NULL, NULL); +} + +module_init(modinit); diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 6901099fe..c6845c5cf 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -701,7 +701,11 @@ static int srpt_refresh_port(struct srpt_port *sport) sport->sm_lid = port_attr.sm_lid; sport->lid = port_attr.lid; - ret = ib_query_gid(sport->sdev->device, sport->port, 0, &sport->gid); + ret = ib_query_gid(sport->sdev->device, sport->port, 0, &sport->gid +#ifdef IB_QUERY_GID_HAS_ATTR_ARG + , NULL +#endif + ); if (ret) goto err_query_port;