Hi,

On Wednesday, September 17, 2014, Dong Aisheng Wrote,
> >
> > +static struct syscon *of_syscon_register(struct device_node *np) {
> > +   struct syscon *syscon;
> > +   struct regmap *regmap;
> > +   void __iomem *base;
> > +
> > +   if (!of_device_is_compatible(np, "syscon"))
> > +           return ERR_PTR(-EINVAL);
> > +
> > +   syscon = kzalloc(sizeof(*syscon), GFP_KERNEL);
> > +   if (!syscon)
> > +           return ERR_PTR(-ENOMEM);
> > +
> > +   base = of_iomap(np, 0);
> > +   if (!base)
> > +           return ERR_PTR(-ENOMEM);
> > +
> > +   regmap = regmap_init_mmio(NULL, base, &syscon_regmap_config);
> 
> Does a NULL device pointer work?

Yes, it is safe, at least we are able to test on Exynos based SoC. 
I have tested it with kgene/for-next kernel on Exynos3250.
Also it has been tested on Exynos5250 based Snow board with 3.17-rc5 based
kernel
by Vivek Gautam. 

Patch V2 also has been tested by "Borris Brezillon" on AT91 platform.


> I just tested on MX6SX SDB board and it seemed crashed at here in
regmap_init
> function.
> 

Can you please provide crash log which can give more information about the
crash?


Thanks,
Pankaj Dubey

> Regards
> Dong Aisheng
> 
> > +   if (IS_ERR(regmap)) {
> > +           pr_err("regmap init failed\n");
> > +           return ERR_CAST(regmap);
> > +   }
> > +
> > +   syscon->regmap = regmap;
> > +   syscon->np = np;
> > +
> > +   spin_lock(&syscon_list_slock);
> > +   list_add_tail(&syscon->list, &syscon_list);
> > +   spin_unlock(&syscon_list_slock);
> > +
> > +   return syscon;
> > +}
> > +
> >  static int syscon_probe(struct platform_device *pdev)  {
> >     struct device *dev = &pdev->dev;
> > @@ -167,7 +204,6 @@ static struct platform_driver syscon_driver = {
> >     .driver = {
> >             .name = "syscon",
> >             .owner = THIS_MODULE,
> > -           .of_match_table = of_syscon_match,
> >     },
> >     .probe          = syscon_probe,
> >     .id_table       = syscon_ids,
> > --
> > 1.7.9.5
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-ker...@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
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/

Reply via email to