From 4623441a2af66effbb86f048c92ad110ec5f0506 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Thu, 30 Jul 2015 17:32:03 +0000 Subject: [PATCH] ib_srpt: RHEL 7.1 build fix (merge r6331 from trunk) git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x@6449 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/Makefile | 5 +++-- srpt/conftest/register_mad_agent/Makefile | 3 +++ .../register_mad_agent/register_mad_agent.c | 13 +++++++++++++ srpt/src/ib_srpt.c | 3 ++- 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 srpt/conftest/register_mad_agent/Makefile create mode 100644 srpt/conftest/register_mad_agent/register_mad_agent.c diff --git a/srpt/Makefile b/srpt/Makefile index b20139108..d595d52bd 100644 --- a/srpt/Makefile +++ b/srpt/Makefile @@ -77,8 +77,9 @@ endif OFED_MODULE_SYMVERS:=$(OFED_KERNEL_DIR)/$(MODULE_SYMVERS) endif -AUTOCONF_FLAGS = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/gid_change PRE_CFLAGS="$(OFED_CFLAGS)" >/dev/null 2>&1 && echo -DHAVE_IB_EVENT_GID_CHANGE) -PRE_CFLAGS=$(OFED_CFLAGS) $(AUTOCONF_FLAGS) -DOFED_FLAVOR=$(OFED_FLAVOR) +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) $(GID_CHANGE_FLAG) $(REGISTER_MAD_AGENT_FLAG) -DOFED_FLAVOR=$(OFED_FLAVOR) all: src/$(MODULE_SYMVERS) $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src \ diff --git a/srpt/conftest/register_mad_agent/Makefile b/srpt/conftest/register_mad_agent/Makefile new file mode 100644 index 000000000..11f6f4506 --- /dev/null +++ b/srpt/conftest/register_mad_agent/Makefile @@ -0,0 +1,3 @@ +LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) + +obj-m += register_mad_agent.o diff --git a/srpt/conftest/register_mad_agent/register_mad_agent.c b/srpt/conftest/register_mad_agent/register_mad_agent.c new file mode 100644 index 000000000..fe0421c2b --- /dev/null +++ b/srpt/conftest/register_mad_agent/register_mad_agent.c @@ -0,0 +1,13 @@ +#include +#include + +static int modinit(void) +{ + struct ib_mad_agent *a; + + a = ib_register_mad_agent(NULL, 0, 0, NULL, 0, NULL, NULL, NULL, 0); + + return a!= 0; +} + +module_init(modinit); diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 2c741260b..54b1f9ee5 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -690,7 +690,8 @@ static int srpt_refresh_port(struct srpt_port *sport) srpt_mad_send_handler, srpt_mad_recv_handler, sport -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0) || \ + defined(REGISTER_MAD_AGENT_HAS_FLAGS_ARG) , 0 #endif );