From nobody Tue Apr 7 17:51:53 2026 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC61838C40D for ; Thu, 12 Mar 2026 06:34:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773297272; cv=none; b=RKEcyVsVCIQhz6u4Dav57zgh1JcaAA4fRU2af/9sNj4u5K1Ezu9O99Y9ovC9UBxXkSXAwrUIiysCrNjoBg25CDWOQmitVyPNOLjC9IS0tV2LYAgAob+k1UcijFbzLWllYxPBITGIcDRrr7xOW5mdiLTgtekvaYad/E0z4CD64cM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773297272; c=relaxed/simple; bh=u6RgrTM5nGdaNIIJs8dQi6CpfAbt4BCxv0+23K1ivQc=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=mUE6OciD9WOmwpunYnPGVIMz7suLIDz9A/l2XgWxPCCp6kIdlIheQzoV5c1NiidWvnD2vOL++ZwqqHU06KgRxhcWm7ZNEkWVLl/ymu0QW2ciDtTO3n/BRbwOQEOvuT4Zj162C7QxHPhTN+4Q83pqXx76e7hwQ+ZnKntYgEqqVfY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jywgYDsK; arc=none smtp.client-ip=209.85.215.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jywgYDsK" Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-c73bb6662d8so150022a12.1 for ; Wed, 11 Mar 2026 23:34:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773297270; x=1773902070; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=eC4j+QkdYIhkea2GOsCrDBLrX9/9TUq5R1IgUZKPzSc=; b=jywgYDsK8YTbUzfr0coXV7Ul4DvqFFt+nE8BeOTT48Lv0C6lMl1U1LhefWddj/YOD5 YEiF2xcimR15hA4iUoTSsz4VKAzyRlMOEaP37QVWxt90+4CAhqbACwQ4ol3dd2zygGqk j2PGVQPuM+r6LPQ74Sgl8YBk5D8Xu1Y1xD5ffXfkbnYf4PySg5l1ERKWCHgu+cJ70IKA mmTFkKlHemFhacDCx0SwnasLpYuXQCAqXKdSr4kTpVoS1HNLdCDQu6SJJng6VHXy13tM OiX6G4XMnWOvxekHMtpb4oc0jcpbHPMLw/Q3Y1A/CLdh4oXOb9oLTTaiUkAlXv1mKUGr kpOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773297270; x=1773902070; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=eC4j+QkdYIhkea2GOsCrDBLrX9/9TUq5R1IgUZKPzSc=; b=uoeaHw8X0hQWFV47R73SUZZ6xHJyzfeCYhoqbevj0tqplpIPj+3Cl52yrwVh+LkbvA jeDU+Z9ogmaHbPzk15kFkXhs3f3AgxcGwtEGrYAE6Ic2mfxzhNIhatLTJEGk+JCJ9U+0 z0t3nj8ctmtzO4cqpKWhmFOgmOSSsBcaOz5lhSq9hIFAE2o+jtjZdjOPMPne6ei3gDLQ XxuGgTMn9ZYN495+1OU9ivA5MbtkPn3GNBlkAurieBw0dIeug9l3EcrSPfwjSDYinG47 hTn2CPYAiUYjWQGRLYlNeJMGPiGBIppF6fgkFvMtDd159JYiTUzTqFAY6g7UiNilav72 JJyw== X-Forwarded-Encrypted: i=1; AJvYcCVO6i0W6m5E/CuywuL5MHivDU2rLvUlgTbnmDieMltZvAOesICZroHE32pbHijVpKmhangvBBPi3k21+Ms=@vger.kernel.org X-Gm-Message-State: AOJu0Yx2NXOJKtu8+nkoXZ5hmAqm5vbVnGzJ4CV/u7DJf7cLOCN2cE3V /0+iJppv5b5CSZVB9iWGngre1XF9qb1PcXgaYU09ZfnCO4nE+L5FwF9Z7Xoi3uyZ X-Gm-Gg: ATEYQzxH4Sz6Jo3jgtMgZsegVNC0ALPkx4+oijSPZpq3992mMR/gW5RymRuqQEtILqZ SWlFUIyXKaSkfRWxgDDT+Eam5cRgp0ROkCm/2+/PylSTHaBjpmJuDwX9wuBt4i31J3vGgN9W8u6 RS9WIEYAyUZVZT8qwhGIz4ywG8A1LOcQLClrN+qniWJtozqHB4G2+NwFrkWbl+K/OqgvPqIEGIB FPW1h4FDwPipDHMHuyaPe4HgE1qQXVTrSKBMz5XPspuSY3hqtt7DtzxfTg5vQSvSycCM/feO8SG hyNI7NVB2yI7mzgfF7b/mv+qS9sZRLaFxbX2uyexqk2S4rGyKEFYdlfBA8dXG+AcDg2p1hwcgci iPWWLClZTh1N/zgkv6344QkMYiJSNkElXwI/s2L5lNqscYhZJrEaGSBDqzX5/hUW3KWBkbow7VA BPqnxUTpAHnNwNDAGxU8wlUGF04Nr3xu057V/1BlVmMwQhOsP1 X-Received: by 2002:a05:6a21:7016:b0:398:c3c3:8686 with SMTP id adf61e73a8af0-398c5e60587mr4571507637.4.1773297270223; Wed, 11 Mar 2026 23:34:30 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c73cdf0e498sm4062548a12.3.2026.03.11.23.34.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Mar 2026 23:34:29 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org Cc: kees@kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, sanjayembeddedse@gmail.com Subject: [PATCH v3] iio: st_sensors: drop temporary kmalloc buffer and reuse buffer_data Date: Thu, 12 Mar 2026 12:04:24 +0530 Message-Id: <20260312063424.3846945-1-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sanjay Chitroda Replace the per-call kmalloc() scratch buffer with the statically allocated buffer_data[] field present in struct st_sensor_data. The existing buffer is DMA-aligned and sufficiently sized for all channel widths, so using it avoids unnecessary dynamic memory allocation on each read. This simplifies the code, removes redundant allocation and cleanup. No functional change intended. Signed-off-by: Sanjay Chitroda Reviewed-by: David Lechner --- Changes in v3: - fix variable declartion placement to follow kernel coding style - Link to v2 https://lore.kernel.org/all/20260311182050.3467471-1-sanjayemb= edded@gmail.com/ Changes in v2: - split series to individual patch - address review comment from David Lechner and reuse exising buffer instea= d of allocation - Link to v1 https://lore.kernel.org/all/20260310200513.2162018-4-sanjayemb= edded@gmail.com/ --- drivers/iio/common/st_sensors/st_sensors_core.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/= common/st_sensors/st_sensors_core.c index dac593be5695..dbc5e16fbde4 100644 --- a/drivers/iio/common/st_sensors/st_sensors_core.c +++ b/drivers/iio/common/st_sensors/st_sensors_core.c @@ -501,14 +501,12 @@ static int st_sensors_read_axis_data(struct iio_dev *= indio_dev, =20 byte_for_channel =3D DIV_ROUND_UP(ch->scan_type.realbits + ch->scan_type.shift, 8); - outdata =3D kmalloc(byte_for_channel, GFP_DMA | GFP_KERNEL); - if (!outdata) - return -ENOMEM; + outdata =3D sdata->buffer_data; =20 err =3D regmap_bulk_read(sdata->regmap, ch->address, outdata, byte_for_channel); if (err < 0) - goto st_sensors_free_memory; + return err; =20 if (byte_for_channel =3D=3D 1) *data =3D (s8)*outdata; @@ -517,10 +515,7 @@ static int st_sensors_read_axis_data(struct iio_dev *i= ndio_dev, else if (byte_for_channel =3D=3D 3) *data =3D (s32)sign_extend32(get_unaligned_le24(outdata), 23); =20 -st_sensors_free_memory: - kfree(outdata); - - return err; + return 0; } =20 int st_sensors_read_info_raw(struct iio_dev *indio_dev, --=20 2.34.1