On Mon, Oct 26, 2015 at 09:56:24AM +0000, Srinivas Kandagatla wrote:Good point, Yes, you are right. If MTK has possibility of having more than one efuse we can leave the code as it is.
+ .val_bits = 32,Why not use static econfig variable?
+ .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;
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 theIt would indeed.