To avoid adding copy and pasted strcmp codes in the future, this patch adds an array "rcar_gen3_slave_whitelist" to check whether the device can work with the IPMMU or not. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> --- drivers/iommu/ipmmu-vmsa.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c index 1c38538..1f65469 100644 --- a/drivers/iommu/ipmmu-vmsa.c +++ b/drivers/iommu/ipmmu-vmsa.c @@ -773,8 +773,13 @@ static int ipmmu_init_platform_device(struct device *dev, { /* sentinel */ } }; +static const char * const rcar_gen3_slave_whitelist[] = { +}; + static bool ipmmu_slave_whitelist(struct device *dev) { + int i; + /* * For R-Car Gen3 use a white list to opt-in slave devices. * For Other SoCs, this returns true anyway. @@ -786,7 +791,13 @@ static bool ipmmu_slave_whitelist(struct device *dev) if (!soc_device_match(soc_rcar_gen3_whitelist)) return false; - /* By default, do not allow use of IPMMU */ + /* Check whether this slave device can work with the IPMMU */ + for (i = 0; i < ARRAY_SIZE(rcar_gen3_slave_whitelist); i++) { + if (!strcmp(dev_name(dev), rcar_gen3_slave_whitelist[i])) + return true; + } + + /* Otherwise, do not allow use of IPMMU */ return false; } -- 1.9.1