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

Commit 04f65062 authored by Ashwini Muduganti's avatar Ashwini Muduganti Committed by Gerrit - the friendly Code Review server
Browse files

Revert "Revert "drivercore: Avoid adding devices without pm_ops to dpm list""



This reverts commit 6a4f7b3f due to observed
regression on CXPC on V1 4k & V2.

CRs-Fixed: 2115217
Change-Id: I48502e6116b03d6250041728df172ef8fed6ccfb
Signed-off-by: default avatarAshwini Muduganti <amudug@codeaurora.org>
parent cfacd692
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1116,7 +1116,13 @@ int device_add(struct device *dev)
	error = dpm_sysfs_add(dev);
	if (error)
		goto DPMError;
	if ((dev->pm_domain) || (dev->type && dev->type->pm)
		|| (dev->class && (dev->class->pm || dev->class->resume))
		|| (dev->bus && (dev->bus->pm || dev->bus->resume)) ||
		(dev->driver && dev->driver->pm)) {
		device_pm_add(dev);
	}


	if (MAJOR(dev->devt)) {
		error = device_create_file(dev, &dev_attr_dev);
+12 −0
Original line number Diff line number Diff line
@@ -162,6 +162,12 @@ void device_pm_move_before(struct device *deva, struct device *devb)
	pr_debug("PM: Moving %s:%s before %s:%s\n",
		 deva->bus ? deva->bus->name : "No Bus", dev_name(deva),
		 devb->bus ? devb->bus->name : "No Bus", dev_name(devb));
	if (!((devb->pm_domain) || (devb->type && devb->type->pm)
		|| (devb->class && (devb->class->pm || devb->class->resume))
		|| (devb->bus && (devb->bus->pm || devb->bus->resume)) ||
		(devb->driver && devb->driver->pm))) {
		device_pm_add(devb);
	}
	/* Delete deva from dpm_list and reinsert before devb. */
	list_move_tail(&deva->power.entry, &devb->power.entry);
}
@@ -176,6 +182,12 @@ void device_pm_move_after(struct device *deva, struct device *devb)
	pr_debug("PM: Moving %s:%s after %s:%s\n",
		 deva->bus ? deva->bus->name : "No Bus", dev_name(deva),
		 devb->bus ? devb->bus->name : "No Bus", dev_name(devb));
	if (!((devb->pm_domain) || (devb->type && devb->type->pm)
		|| (devb->class && (devb->class->pm || devb->class->resume))
		|| (devb->bus && (devb->bus->pm || devb->bus->resume)) ||
		(devb->driver && devb->driver->pm))) {
		device_pm_add(devb);
	}
	/* Delete deva from dpm_list and reinsert after devb. */
	list_move(&deva->power.entry, &devb->power.entry);
}