Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4dd5f60e authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Greg Kroah-Hartman
Browse files

nvmem: mtk-efuse: use stack for nvmem_config instead of malloc'ing it



nvmem_register() copies all the members of nvmem_config to
nvmem_device.  So, nvmem_config is one-time use data during
probing.  There is no point to keep it until the driver detach.
Using stack should be no problem because nvmem_config is pretty
small.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: default avatarSean Wang <sean.wang@mediatek.com>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 01d35cab
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ 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 nvmem_config econfig = {};
	void __iomem *base;

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -57,19 +57,15 @@ static int mtk_efuse_probe(struct platform_device *pdev)
	if (IS_ERR(base))
		return PTR_ERR(base);

	econfig = devm_kzalloc(dev, sizeof(*econfig), GFP_KERNEL);
	if (!econfig)
		return -ENOMEM;

	econfig->stride = 4;
	econfig->word_size = 4;
	econfig->reg_read = mtk_reg_read;
	econfig->reg_write = mtk_reg_write;
	econfig->size = resource_size(res);
	econfig->priv = base;
	econfig->dev = dev;
	econfig->owner = THIS_MODULE;
	nvmem = nvmem_register(econfig);
	econfig.stride = 4;
	econfig.word_size = 4;
	econfig.reg_read = mtk_reg_read;
	econfig.reg_write = mtk_reg_write;
	econfig.size = resource_size(res);
	econfig.priv = base;
	econfig.dev = dev;
	econfig.owner = THIS_MODULE;
	nvmem = nvmem_register(&econfig);
	if (IS_ERR(nvmem))
		return PTR_ERR(nvmem);