On Tue, 18 Mar 2014 16:25:11 +0100, Tomasz Figa wrote: > On 18.03.2014 11:52, Cho KyongHo wrote: > > On Fri, 14 Mar 2014 14:39:33 +0100, Tomasz Figa wrote: > >>> @@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct > >>> platform_device *pdev) > >>> return 0; > >>> } > >>> > >>> -static struct platform_driver exynos_sysmmu_driver = { > >>> - .probe = exynos_sysmmu_probe, > >>> - .driver = { > >>> +#ifdef CONFIG_OF > >>> +static struct of_device_id sysmmu_of_match[] __initconst = { > >>> + { .compatible = "samsung,sysmmu-v1", }, > >>> + { .compatible = "samsung,sysmmu-v2", }, > >>> + { .compatible = "samsung,sysmmu-v3.1", }, > >>> + { .compatible = "samsung,sysmmu-v3.2", }, > >>> + { .compatible = "samsung,sysmmu-v3.3", }, > >> > >> Do you need all these compatible strings? I mean, are there any > >> implementation differences that can't be identified by reading IP > >> registers, such as REG_MMU_VERSION? > >> > > > > Unfortunately, there is a SoC which overrides REG_MMU_VERSION with > > a value for RTL designers and it is not related to System MMU > > versions. > > OK. > > What about having a generic compatible string for Samsung SysMMU then, > but an additional property that can override the version to account for > such brokenness? If not provided, the version would be read from > REG_MMU_VERSION. >
Yes it is one of possible idea. Let me think what better way is. Thank you. KyongHo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/