On Mon, Oct 26, 2015 at 09:56:24AM +0000, Srinivas Kandagatla wrote: > >+ .val_bits = 32, > >+ .reg_stride = 4, > >+}; > >+ > >+static int mtk_efuse_probe(struct platform_device *pdev) > >+{ > >+ struct device *dev = &pdev->dev; > >+ struct resource *res; > >+ struct nvmem_device *nvmem; > >+ struct nvmem_config *econfig; > >+ struct regmap *regmap; > >+ void __iomem *base; > >+ > >+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >+ base = devm_ioremap_resource(dev, res); > >+ if (IS_ERR(base)) > >+ return PTR_ERR(base); > >+ > >+ econfig = devm_kzalloc(dev, sizeof(*econfig), GFP_KERNEL); > >+ if (!econfig) > >+ return -ENOMEM; > Why not use static econfig variable? Because drivers should not assume there is only one instance of them in the system. The qfprom driver does this and it's only a matter of putting a second qcom,qfprom node into the device tree to break the driver. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html