Re: [PATCH v3 2/9] soc: samsung: Convert exynos-chipid driver to use the regmap API
From: Krzysztof Kozlowski
Date: Wed Aug 21 2019 - 03:49:52 EST
On Tue, 20 Aug 2019 at 23:38, Sylwester Nawrocki <snawrocki@xxxxxxxxxx> wrote:
>
> On 8/20/19 21:37, Krzysztof Kozlowski wrote:
> >>> diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
>
> >>> @@ -51,29 +48,24 @@ static const char * __init product_id_to_soc_id(unsigned int product_id)
> >>> int __init exynos_chipid_early_init(void)
> >>> {
> >>> struct soc_device_attribute *soc_dev_attr;
> >>> - void __iomem *exynos_chipid_base;
> >>> struct soc_device *soc_dev;
> >>> struct device_node *root;
> >>> - struct device_node *np;
> >>> + struct regmap *regmap;
> >>> u32 product_id;
> >>> u32 revision;
> >>> + int ret;
> >>>
> >>> - /* look up for chipid node */
> >>> - np = of_find_compatible_node(NULL, NULL, "samsung,exynos4210-chipid");
> >>> - if (!np)
> >>> - return -ENODEV;
> >>> -
> >>> - exynos_chipid_base = of_iomap(np, 0);
> >>> - of_node_put(np);
> >>> -
> >>> - if (!exynos_chipid_base) {
> >>> - pr_err("Failed to map SoC chipid\n");
> >>> - return -ENXIO;
> >>> + regmap = syscon_regmap_lookup_by_compatible("samsung,exynos4210-chipid");
> >>> + if (IS_ERR(regmap)) {
> >>> + pr_err("Failed to get CHIPID regmap\n");
> >>> + return PTR_ERR(regmap);
> >>> }
> >> Following this change, I am now seeing the above error on our Tegra
> >> boards where this driver is enabled. This is triggering a kernel
> >> warnings test we have to fail. Hence, I don't think that you can remove
> >> the compatible node test here, unless you have a better way to determine
> >> if this is a samsung device.
> >
> > Right, this is really wrong... I missed that it is not a probe but
> > early init. And this init will be called on every board... Probably it
> > should be converted to a regular driver.
>
> I'm also inclined to have it converted to a regular driver. We already
> have "exynos-asv" driver matching on the chipid node (patch 3/9).
> The ASV patches will not be merged soon anyway, all this needs some more
> thought. Krzysztof, can we abandon the chipid patches for now? Your
> pull request doesn't appear to be merged to arm-soc yet. Sorry about
> that.
Yes, let's abandon the pull request and rework the concept.
Best regards,
Krzysztof