Hi, On Saturday, December 10, 2016 06:38:36 PM Pankaj Dubey wrote: > Exynos SoCs have Chipid, for identification of product IDs and SoC revisions. > This patch intends to provide initialization code for all these functionalities, > at the same time it provides some sysfs entries for accessing these information > to user-space. > > This driver uses existing binding for exynos-chipid. > > CC: Grant Likely <grant.likely@xxxxxxxxxx> > CC: Rob Herring <robh+dt@xxxxxxxxxx> > CC: Linus Walleij <linus.walleij@xxxxxxxxxx> > Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> > [m.szyprowski: for suggestion and code snippet of product_id_to_soc_id] > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > drivers/soc/samsung/Kconfig | 5 ++ > drivers/soc/samsung/Makefile | 1 + > drivers/soc/samsung/exynos-chipid.c | 116 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 122 insertions(+) > create mode 100644 drivers/soc/samsung/exynos-chipid.c [...] > diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c > new file mode 100644 > index 0000000..cf0128b > --- /dev/null > +++ b/drivers/soc/samsung/exynos-chipid.c [...] > +/** > + * exynos_chipid_early_init: Early chipid initialization > + */ > +int __init exynos_chipid_early_init(void) > +{ > + struct soc_device_attribute *soc_dev_attr; > + struct soc_device *soc_dev; > + struct device_node *root; > + struct device_node *np; > + void __iomem *exynos_chipid_base; > + const struct of_device_id *match; > + u32 product_id; > + u32 revision; > + > + np = of_find_matching_node_and_match(NULL, > + of_exynos_chipid_ids, &match); > + if (!np) > + return -ENODEV; > + > + exynos_chipid_base = of_iomap(np, 0); of_node_put(np) is missing here. > + if (!exynos_chipid_base) > + return PTR_ERR(exynos_chipid_base); PTR_ERR use here is incorrect - of_iomap() returns valid pointer or NULL. Please just return -NODEV on of_iomap() failure. Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html