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

Commit 97a9ea84 authored by Bart Van Assche's avatar Bart Van Assche Committed by Doug Ledford
Browse files

IB/core: Initialize ib_device.dev.parent earlier



Move the ib_device.dev.parent initialization code from
ib_device_register_sysfs() to ib_register_device(). Additionally,
allow HBA drivers to set ib_device.dev.parent without setting
ib_device.dma_device. This is the first step towards removing
ib_device.dma_device.

Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 5f0cb801
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -334,6 +334,14 @@ int ib_register_device(struct ib_device *device,
	struct ib_client *client;
	struct ib_udata uhw = {.outlen = 0, .inlen = 0};

	WARN_ON_ONCE(!device->dev.parent && !device->dma_device);
	WARN_ON_ONCE(device->dev.parent && device->dma_device
		     && device->dev.parent != device->dma_device);
	if (!device->dev.parent)
		device->dev.parent = device->dma_device;
	if (!device->dma_device)
		device->dma_device = device->dev.parent;

	mutex_lock(&device_mutex);

	if (strchr(device->name, '%')) {
+1 −1
Original line number Diff line number Diff line
@@ -1258,7 +1258,7 @@ int ib_device_register_sysfs(struct ib_device *device,
	int ret;
	int i;

	device->dev.parent = device->dma_device;
	WARN_ON_ONCE(!device->dev.parent);
	ret = dev_set_name(class_dev, "%s", device->name);
	if (ret)
		return ret;