From nobody Tue Apr 7 06:19:57 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 2B88B1E515 for ; Sun, 15 Mar 2026 12:16:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773576994; cv=none; b=QvHIsXdjM86kF8tBPdtyGF+EuWv6GN7EjuQgBrJ/7VxRcG9u4NUygnHBJY5EnTFeDicui4vBiEej7w6wufn2YoSpbNp12Oo5UhSo8nxKbE+ausMqGAiVFLPz/0+iDJj6PDQV8ei5dtq1n26rjIOhalxJyxYBgKpUtMiffK9Flsc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773576994; c=relaxed/simple; bh=o6NEd9Qnd0g7VXaH4C7X9rM2Y51BJxI8kXsEauLUPA8=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=bcLX47jlfpT+LgDf19zA8xQtffS3kQ2/XwbyK+UH4d8p7L8oMQOcAbdm2HmUKivdS4IQiN6ALqEvrtLQ6pSi1r2Ud9mfDTHC3VNHJhZRbuBn8hVAeqISsHV5gCia+nFdozuPfzR8EcP5MJ8gJKgpgzSBOfn1x/IVM8IuqkBpV8w= 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=ML+FY1J7; arc=none smtp.client-ip=209.85.214.173 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="ML+FY1J7" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2a7a9b8ed69so45289385ad.2 for ; Sun, 15 Mar 2026 05:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773576991; x=1774181791; 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=ENF5X6gQPPCvifGOM8Ukl253KdBOejJZcQzWq1vd7AE=; b=ML+FY1J7XbtqtqdVX3WHWlaIm21Qiyv6/djpE9Qc15IXK9wSDvDQbQ9LGQ7Sv/jCnz eSObeITxaRu/8py7nqABh6CFMRKMtvP9iSkHlww4kzvovSzbqbCbgEzTdhOIk1kUIgFa +85RBXUKBVquDnb2tNv41aZSelf94VnGpXbX4YgpJOJALCrK08UTE5UP+oMA/3EHzZwE WDqLX31aOFulfjaqzr6YJ/Qg02a9c9vfPbdv/AeG+3riMy+ADH70B6pLCQ8sDHMsUXoc 9dW/Lt+ZdE6U3xAxtV7820G5QYMejW9HQYXvdXaexL2VdZAKU6nrE3744c4dDtLSPZS8 E72Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773576991; x=1774181791; 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=ENF5X6gQPPCvifGOM8Ukl253KdBOejJZcQzWq1vd7AE=; b=KXJn/B7tGUSSocnrYkLj9EWnTixSW6FO3ngZX2eyiC++fYtqtqoqKtyfsGl9wIisFG UZEOFgi/IMOlZzYufqdF92ZIgbeaoF9UVbRyaN0pqa0E7tcfNiTi6of88WUFYVG/uhDb S1Suu74bT9ap3o/t7XB2+HkreoN2vGTXB4zdplGqEQDa+X8iPXUT5My6SGc2rdJuosXs O3c+lATqOdu0R0qQmI+F16TDCu5FCbFoUMzcj3Tj1iNCebM+QaJ7SwH7BVqgv8sDZu03 YuPr52GNTTcar/M5a6SCFZdE6gWKsIbD4//irsfat7Iy6/d4QpXcgy9rld8SELXTX0C8 oD/w== X-Forwarded-Encrypted: i=1; AJvYcCXzZMu3JgZnWb1wiSoAJcM473Kxs7/mGUvXz3m+RToWq5J/MxCAhZoCp3/2FTFfK4zjtQ87qM5hSCtDw2I=@vger.kernel.org X-Gm-Message-State: AOJu0Ywgz3L2hAzj8l92A8nMf2T7cb8J3Zru5K7xnYww4Z3jC0PekXHj kWNamJYBJRSfeNY7I//u1AMIr8D4s9WOTrnGh0DIJa5G1LBLcORAW30k X-Gm-Gg: ATEYQzzwwhE9LOkLDHqnxszbdz2vXal0pAbaldOac5IruatVDUd1UtTcimT+VgFDbrw aWtCCHqTGksgDnZUugVMPVZ9vus/7XrXRMiOI94mNzO+EhO53pPwf0kHnFB1OqurX32TkxVBLEM az0fjrWPijmoPdXAhbFylvho6KBbb06lGX3LGw5rql4esVyOLSNhuTB1sMIFPuOoQs7R2QxTupo CQ6qHWpWWeHG/lVY4+VeEhQZj7nsVrz7YC2AhJPiqDCI4Av5VXzL0CuC6C94LEXV57Yje4W71Kd Wb9gBXuCO9BebVL4WLgkZKybbW+6JmU+f8ShIcGGCni0gvwIQTFOhISCulCOAk/fC/C+l9LV+gf RTSxBjON5PLZawBDB6zFDyuY4vqPWCw/Q0AzDxQcBvb3fFmD+l43CQpzbqjTjuTiue6GYcqaTSb RVQ750tt8uzDGGEqPciy4PqPSzdVJoZTrGC3+vzNqIw8T38LZa X-Received: by 2002:a17:902:ced2:b0:2ae:5776:45f8 with SMTP id d9443c01a7336-2aeca91d8acmr99613065ad.3.1773576991515; Sun, 15 Mar 2026 05:16:31 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b04e5cb3dbsm25883095ad.25.2026.03.15.05.16.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2026 05:16:30 -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 v4] iio: st_sensors: drop temporary kmalloc buffer and reuse buffer_data Date: Sun, 15 Mar 2026 17:46:25 +0530 Message-Id: <20260315121625.840769-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 existing 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 v4: - Rectify commit message review by David Lechner - Link to v3 https://lore.kernel.org/all/20260312063424.3846945-1-sanjayemb= edded@gmail.com/ 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