Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1c1b6a3 authored by Bryan O'Sullivan's avatar Bryan O'Sullivan Committed by Roland Dreier
Browse files

IB/ipath: merge ipath_core and ib_ipath drivers



There is little point in keeping the two drivers separate, so we are
merging them.

Signed-off-by: default avatarBryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 367fe711
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
obj-$(CONFIG_INFINIBAND)		+= core/
obj-$(CONFIG_INFINIBAND_MTHCA)		+= hw/mthca/
obj-$(CONFIG_IPATH_CORE)		+= hw/ipath/
obj-$(CONFIG_INFINIBAND_IPATH)		+= hw/ipath/
obj-$(CONFIG_INFINIBAND_EHCA)		+= hw/ehca/
obj-$(CONFIG_INFINIBAND_IPOIB)		+= ulp/ipoib/
obj-$(CONFIG_INFINIBAND_SRP)		+= ulp/srp/
+7 −14
Original line number Diff line number Diff line
config IPATH_CORE
	tristate "QLogic InfiniPath Driver"
	depends on 64BIT && PCI_MSI && NET
	---help---
	This is a low-level driver for QLogic InfiniPath host channel
	adapters (HCAs) based on the HT-400 and PE-800 chips.

config INFINIBAND_IPATH
	tristate "QLogic InfiniPath Verbs Driver"
	depends on IPATH_CORE && INFINIBAND
	tristate "QLogic InfiniPath Driver"
	depends on PCI_MSI && 64BIT && INFINIBAND
	---help---
	This is a driver that provides InfiniBand verbs support for
	QLogic InfiniPath host channel adapters (HCAs).  This
	allows these devices to be used with both kernel upper level
	protocols such as IP-over-InfiniBand as well as with userspace
	applications (in conjunction with InfiniBand userspace access).
	This is a driver for QLogic InfiniPath host channel adapters,
	including InfiniBand verbs support.  This driver allows these
	devices to be used with both kernel upper level protocols such
	as IP-over-InfiniBand as well as with userspace applications
	(in conjunction with InfiniBand userspace access).
+12 −15
Original line number Diff line number Diff line
EXTRA_CFLAGS += -DIPATH_IDSTR='"QLogic kernel.org driver"' \
	-DIPATH_KERN_TYPE=0

obj-$(CONFIG_IPATH_CORE) += ipath_core.o
obj-$(CONFIG_INFINIBAND_IPATH) += ib_ipath.o

ipath_core-y := \
ib_ipath-y := \
	ipath_cq.o \
	ipath_diag.o \
	ipath_driver.o \
	ipath_eeprom.o \
@@ -13,26 +13,23 @@ ipath_core-y := \
	ipath_ht400.o \
	ipath_init_chip.o \
	ipath_intr.o \
	ipath_layer.o \
	ipath_pe800.o \
	ipath_stats.o \
	ipath_sysfs.o \
	ipath_user_pages.o

ipath_core-$(CONFIG_X86_64) += ipath_wc_x86_64.o
ipath_core-$(CONFIG_PPC64) += ipath_wc_ppc64.o

ib_ipath-y := \
	ipath_cq.o \
	ipath_keys.o \
	ipath_layer.o \
	ipath_mad.o \
	ipath_mmap.o \
	ipath_mr.o \
	ipath_pe800.o \
	ipath_qp.o \
	ipath_rc.o \
	ipath_ruc.o \
	ipath_srq.o \
	ipath_stats.o \
	ipath_sysfs.o \
	ipath_uc.o \
	ipath_ud.o \
	ipath_verbs.o \
	ipath_verbs_mcast.o
	ipath_user_pages.o \
	ipath_verbs_mcast.o \
	ipath_verbs.o

ib_ipath-$(CONFIG_X86_64) += ipath_wc_x86_64.o
ib_ipath-$(CONFIG_PPC64) += ipath_wc_ppc64.o
+5 −8
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@

#include "ipath_kernel.h"
#include "ipath_layer.h"
#include "ipath_verbs.h"
#include "ipath_common.h"

static void ipath_update_pio_bufs(struct ipath_devdata *);
@@ -51,8 +52,6 @@ const char *ipath_get_unit_name(int unit)
	return iname;
}

EXPORT_SYMBOL_GPL(ipath_get_unit_name);

#define DRIVER_LOAD_MSG "QLogic " IPATH_DRV_NAME " loaded: "
#define PFX IPATH_DRV_NAME ": "

@@ -510,6 +509,7 @@ static int __devinit ipath_init_one(struct pci_dev *pdev,
	ipath_user_add(dd);
	ipath_diag_add(dd);
	ipath_layer_add(dd);
	ipath_register_ib_device(dd);

	goto bail;

@@ -538,6 +538,7 @@ static void __devexit ipath_remove_one(struct pci_dev *pdev)
		return;

	dd = pci_get_drvdata(pdev);
	ipath_unregister_ib_device(dd->verbs_dev);
	ipath_layer_remove(dd);
	ipath_diag_remove(dd);
	ipath_user_remove(dd);
@@ -978,12 +979,8 @@ void ipath_kreceive(struct ipath_devdata *dd)
		if (unlikely(eflags))
			ipath_rcv_hdrerr(dd, eflags, l, etail, rc);
		else if (etype == RCVHQ_RCV_TYPE_NON_KD) {
				int ret = __ipath_verbs_rcv(dd, rc + 1,
							    ebuf, tlen);
				if (ret == -ENODEV)
					ipath_cdbg(VERBOSE,
						   "received IB packet, "
						   "not SMA (QP=%x)\n", qp);
				ipath_ib_rcv(dd->verbs_dev, rc + 1, ebuf,
					     tlen);
				if (dd->ipath_lli_counter)
					dd->ipath_lli_counter--;

+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@

#include "ipath_kernel.h"
#include "ipath_layer.h"
#include "ipath_verbs.h"
#include "ipath_common.h"

/* These are all rcv-related errors which we want to count for stats */
@@ -712,7 +713,7 @@ static void handle_layer_pioavail(struct ipath_devdata *dd)
	if (ret > 0)
		goto set;

	ret = __ipath_verbs_piobufavail(dd);
	ret = ipath_ib_piobufavail(dd->verbs_dev);
	if (ret > 0)
		goto set;

Loading