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

Commit f3ea404f authored by Patrick Daly's avatar Patrick Daly Committed by Gerrit - the friendly Code Review server
Browse files

iommu: arm-smmu: Ensure tbu driver is registered before arm-smmu



Since the arm-smmu driver may depend on the tbu driver, ensure the later
is available to prevent probe deferral.

Change-Id: I0fd38c945e8fc6b60a7529c776fbebf1e5ccb0d5
Signed-off-by: default avatarPatrick Daly <pdaly@codeaurora.org>
parent 34516845
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -3832,15 +3832,21 @@ static struct platform_driver arm_smmu_driver = {
	.remove	= arm_smmu_device_remove,
};

static struct platform_driver qsmmuv500_tbu_driver;
static int __init arm_smmu_init(void)
{
	static bool registered;
	int ret = 0;

	if (!registered) {
	if (registered)
		return 0;

	ret = platform_driver_register(&qsmmuv500_tbu_driver);
	if (ret)
		return ret;

	ret = platform_driver_register(&arm_smmu_driver);
	registered = !ret;
	}
	return ret;
}

@@ -4124,12 +4130,6 @@ static struct platform_driver qsmmuv500_tbu_driver = {
	.probe	= qsmmuv500_tbu_probe,
};

static int __init qsmmuv500_tbu_init(void)
{
	return platform_driver_register(&qsmmuv500_tbu_driver);
}
subsys_initcall(qsmmuv500_tbu_init);

MODULE_DESCRIPTION("IOMMU API for ARM architected SMMU implementations");
MODULE_AUTHOR("Will Deacon <will.deacon@arm.com>");
MODULE_LICENSE("GPL v2");