From patchwork Mon Sep 11 13:01:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 112182 Delivered-To: patch@linaro.org Received: by 10.100.153.131 with SMTP id 3csp5760277pji; Mon, 11 Sep 2017 06:02:37 -0700 (PDT) X-Google-Smtp-Source: ADKCNb5HUQQO+n0Jhg3AqLPZZaLGsDFzZdSQM8Sh/LxdZn4k+aUU91Oiz98LPB1THEmDJhcJqVh8 X-Received: by 10.159.218.7 with SMTP id v7mr14040507plp.322.1505134957317; Mon, 11 Sep 2017 06:02:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505134957; cv=none; d=google.com; s=arc-20160816; b=TJWk9/m5+VujbMZ3DpvY8Q9ibw47ylanZqvhmF9uETX48tjN5mY+y/zyjGgwZh8G0w GZ4pdnqsTNrgc5EmWZR6flCAsQWmFekuzqT1srm0cHnaCGzM+uo+zukj9z6IYydao0sE +cu+Pt72Uy5vCZmYzvLTg+PJy5Vpjb9Ph8B5PmsSIVDjthPXg59/9e0i4IMW7e4XNwc4 tCPJp0Jcv0c5v1ByZs2mp0wgXK7mcJhU5dtx5HvmK7HHwub8Cn6h5T/VLcbLNgMzVNu7 zwrZHhgfRL5s+rqLCLWK7YBptVLrWrxuJycbsdZxrWkKNI6pVdWRSUzUXlA4PTek/Ef4 Vx7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter :arc-authentication-results; bh=X52ca2UoLyliDphAC/BBOhOi9nkkHyWNjTnaUBEjfuU=; b=C8+Qr6vGb4C7f3eJo5GznmectqYpD2WMFepiAfsBVClnrm4iAff8sr888+XKGyCcRk TTz7EiBYwjE+LGZ/U7X413o5L3zDXoPR5+2huozYEZCWfNPqP/GTWKEomnlzdmMxyZuK t+6mgtt3CUkGc5+cBSFKF6yslh+2QedxXcnUuvoOQS4hNIm3Lv3rOC/r/65K51cgfw4C AVQ/U00ZoW/L5FrJ3qEEWnrIZ3I0R8+IIkynIilZaxdMQGa4SwaMWc50+phuMI/7z1HJ n6wtdIaBSKnMnLTpXkxPU82XBQfqSESJycjS6ekQEC/kK92vTEz4IDosD9HO6Qc6ojzi zwbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=mg7IGa0z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p4si5904940pgc.459.2017.09.11.06.02.37; Mon, 11 Sep 2017 06:02:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=mg7IGa0z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752019AbdIKNCf (ORCPT + 26 others); Mon, 11 Sep 2017 09:02:35 -0400 Received: from conuserg-12.nifty.com ([210.131.2.79]:43565 "EHLO conuserg-12.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751253AbdIKNCd (ORCPT ); Mon, 11 Sep 2017 09:02:33 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-12.nifty.com with ESMTP id v8BD1I4Y001997; Mon, 11 Sep 2017 22:01:20 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-12.nifty.com v8BD1I4Y001997 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1505134881; bh=X52ca2UoLyliDphAC/BBOhOi9nkkHyWNjTnaUBEjfuU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mg7IGa0z0vyikbs77/pFU6hFd+4npdwN63QZ/luczRe+ZrcSyBpuqFfnG566SvjYs YHsW+828Fr0/kHK5c2yC0/fv6QTF747CYVp2ySmSuratQVbWAEmO+VdoZ/TTU62/CZ zoHAvttuSDhTvk7mCmuNkLq/W3C1oQJtfP6PzIXHCt0udhP8dXZ8Y8ecvZn2cVOjbO I/WfLB4Bk9KiwIr+Rlwm9nMfiSDHH0jWbpSzv2W8QzyPejuEEsBvorc9wlsSsCImU6 m5P1tSE3MGZ7naYrnWyvtCjQmENUOcy/gCA69kAeHY9eoHgvArAs1TxdzY5I2riDt3 bQ4xacP9Jy2fA== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: Srinivas Kandagatla Cc: Keiji Hayashibara , Masami Hiramatsu , Jassi Brar , Masahiro Yamada , linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Matthias Brugger Subject: [PATCH 2/5] nvmem: mtk-efuse: use stack for nvmem_config instead of malloc'ing it Date: Mon, 11 Sep 2017 22:01:01 +0900 Message-Id: <1505134864-11975-3-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1505134864-11975-1-git-send-email-yamada.masahiro@socionext.com> References: <1505134864-11975-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: Masahiro Yamada --- drivers/nvmem/mtk-efuse.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) -- 2.7.4 Acked-by: Sean Wang diff --git a/drivers/nvmem/mtk-efuse.c b/drivers/nvmem/mtk-efuse.c index 32fd572..fa7a0f6 100644 --- a/drivers/nvmem/mtk-efuse.c +++ b/drivers/nvmem/mtk-efuse.c @@ -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);