From nobody Mon Sep 28 07:17:19 2026 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (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 202BC3EAC6D for ; Tue, 25 Aug 2026 08:52:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647943; cv=none; b=KxHA3jK9xR7Wy3K2l2Jv8K459su4pm6SDPD4LYj6oC9i2459CHEdGC+wAQ1yqDSdSvaqDFf3ySnP1R5lamwjUO8GvIrO0NToQu97ElwkXIE/Nh+jx2hF5Gkmui2kp3/U9tytQ8v8jBhlwBBoK0lSH/UEZoqVa3i+L8UnijyQQjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647943; c=relaxed/simple; bh=TZ0Tk02P9YLuRvbKHnx8xQeRXeHOdPj+cyqR0h2JZfI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dNRsq564L9G3Q8zhnrELZE6MlVUW9v3xYFv+BaFmKvol2UTu4KCVmZm+pT9MBoMZxpU6kVynfqjTu3+YMsOb8jYNjb1tHpc46BWzD0oXruKvpcD3CVwPtBGUtrMevmsiA13rrNCzf6ZfMAVQ414rYrORhy9guQGJ4m6ZwJj8pCA= 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=PK42kcs9; arc=none smtp.client-ip=209.85.210.177 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="PK42kcs9" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-8485ef63b68so4455744b3a.1 for ; Tue, 25 Aug 2026 01:52:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787647941; x=1788252741; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Gu7Nc99xk/nLbpeUOexaTxz8Q5kk/2EyCmw8FRDGVrU=; b=PK42kcs9HGikPZT9TW5bh3Fpu4VX7Zkub0R5/TVpgXPUMXFHEBOZ7b0hPPIRZcS6tT c6cZ/VkE2z1eubGas8F7Prz6MNfB4kiUb6PG4UX+wjRWZ0oAu/dEmJzqkTXmb5TU+tEC yCSfA9539z00hEValD1afhjvCPnUPb7MNvMkM8FVRXWEDFm2xZX5OEcQECfLtHvQscSM sXvnKbgAXuI46jpAZJz/8g2Qop1J+UUcB4QgrZSkK6OPWbxLoONgviYDm+Vm9ffTTQoP jsgEae4tY0j7iG2QkgPFQvp1DMIJULVFt2fPajtbjcgl6e/MdSFGpl9W5F7Da68HFLck 2K1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787647941; x=1788252741; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Gu7Nc99xk/nLbpeUOexaTxz8Q5kk/2EyCmw8FRDGVrU=; b=EzmB0mriZQfNTq3QE1Z78RtCFgnwFv2jyh4O+5ge65JN+JczFUZyR+iJloUE/wAdZi i2TRCeggxG0J3+juFna3IE2AvDhLH3Zg4Rf/1iUaHz8BUdT+pLWq1gWBbu0bjqennOn0 19jQH96whOX2Jk61EKnNiD+z+IRkqNBgqTIGG00W/MeOW20J191dJC1Bcu/PiGLq5WLD ks8JtD69uu98evDuRdnPyNUb3N1Av/Y029adKRniWs0G3b/dZgnNHGtNuM8qXGJxrGez pmhTAAcoAX1XUgaK6PNXGOLQi7mOLrMc5tpq5UIWF82Vm+RmfKEzRHjY8rQ6Gwo7lhCh HsIQ== X-Forwarded-Encrypted: i=1; AHgh+RrdXVTr7OKLUs1MIdz5civ4caBkYV8slSdawDqVBxhKmVuFVHcBFpVDN6IRcrnCq3RaOlVF1giHHF54waA=@vger.kernel.org X-Gm-Message-State: AFuF++nhMPokdVJgyg7Dgvkt/zh7+Lm5BZD0nPGVnqYsNUWrmr2nTfZX Lz9Ypzk24i8FnsT0bEtvRD8Y6xkLo/cbV+vTgcfNcQgdXU/OOkhLn9X5 X-Gm-Gg: AR+sD10w29gmSvr+bjOOv74kAb1rJq0owPBOPN/SIxHlXe70o9gR0bqv+6SBoIpprdV GAxPVdMFuWZhRLjvwwJTDZd+YXtrLsnWe8hI6SvETi2w5dKXl03mwSNpjDLlbOaJ0fXzFe0geyA SlDw9vlK5SS4L+bpXcXncU1SkcCMNXENnJIM+PahkxuE6zzeRRUHGaD5sNCjRaxwJfDLLtu6QKR +ya8UKHfFyH1Cw5FgKpEM27HSChEc+oYQR4jNSUdCBozmkY3myLwPeLTyDUFh195NfJGa0NyCjK kQNW/NlK7iIFe6OccUG6ngCwhUeSJItO53e045vaT3LaIMOXmVCnFUIaxpyMBmzQivQVqwZ0KDO 5k/hmMK9vlleXsEVmYYbr98yO3MZmpY9n1MO6LdAP37hqSq1KFckwCFPtkMvTbX3k+svwklVWmy gCqCMVeYHdym5hWiWEenS5Uh20c+SpMo6brXTFOxtPgk8TW41N/5I12X6W/F80f9eEHe2R X-Received: by 2002:a05:6a21:6010:b0:3c3:f371:1ea9 with SMTP id adf61e73a8af0-3cd3009ca00mr63740804637.10.1787647941193; Tue, 25 Aug 2026 01:52:21 -0700 (PDT) Received: from shrey-Mi.local ([106.51.251.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327f90c0a59sm42032202eec.9.2026.08.25.01.52.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 01:52:20 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, andriy.shevchenko@intel.com, grondon@gmail.com, linusw@kernel.org, hexlabsecurity@proton.me, sakari.ailus@linux.intel.com, srinivas.pandruvada@linux.intel.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Yash Suthar Subject: [PATCH v3 1/3] iio: accel: bmc150: use aligned scan buffer for both trigger and fifo Date: Tue, 25 Aug 2026 14:21:54 +0530 Message-ID: <20260825085156.212042-2-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260825085156.212042-1-yashsuthar983@gmail.com> References: <20260825085156.212042-1-yashsuthar983@gmail.com> 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" Drop buffer as duplicate and s16 is not correct we needed __le16 as little endian, keep scan at the end of the bmc150_accel_data struct with IIO_DMA_MINALIGN, and use it for both paths. In trigger handle, replaced AXIS_MAX with sizeof(data->scan.channels). Additionally, ensure mutex is held across both read and push to get DMA safety for the scan buffer. Fixes: bd7fe5b71918 ("iio: accel: BMC150 accel support") Suggested-by: Jonathan Cameron Signed-off-by: Yash Suthar Reviewed-by: Andy Shevchenko --- drivers/iio/accel/bmc150-accel-core.c | 8 ++++---- drivers/iio/accel/bmc150-accel.h | 14 +++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index dc8a6285cf3d..1472e0d1ef65 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -131,7 +131,6 @@ enum bmc150_accel_axis { AXIS_X, AXIS_Y, AXIS_Z, - AXIS_MAX, }; =20 enum bmc150_power_modes { @@ -1191,14 +1190,15 @@ static irqreturn_t bmc150_accel_trigger_handler(int= irq, void *p) =20 mutex_lock(&data->mutex); ret =3D regmap_bulk_read(data->regmap, BMC150_ACCEL_REG_XOUT_L, - data->buffer, AXIS_MAX * 2); - mutex_unlock(&data->mutex); + data->scan.channels, + sizeof(data->scan.channels)); if (ret < 0) goto err_read; =20 - iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, pf->timestamp); err_read: + mutex_unlock(&data->mutex); iio_trigger_notify_done(indio_dev->trig); =20 return IRQ_HANDLED; diff --git a/drivers/iio/accel/bmc150-accel.h b/drivers/iio/accel/bmc150-ac= cel.h index e8f26198359f..9deff256aed5 100644 --- a/drivers/iio/accel/bmc150-accel.h +++ b/drivers/iio/accel/bmc150-accel.h @@ -64,15 +64,6 @@ struct bmc150_accel_data { struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; struct mutex mutex; u8 fifo_mode, watermark; - s16 buffer[8]; - /* - * Ensure there is sufficient space and correct alignment for - * the timestamp if enabled - */ - struct { - __le16 channels[3]; - aligned_s64 ts; - } scan; u8 bw_bits; u32 slope_dur; u32 slope_thres; @@ -85,6 +76,11 @@ struct bmc150_accel_data { void (*resume_callback)(struct device *dev); struct delayed_work resume_work; struct iio_mount_matrix orientation; + /* Ensure correct alignment of timestamp and DMA safety */ + struct { + __le16 channels[3]; + aligned_s64 ts; + } scan __aligned(IIO_DMA_MINALIGN); }; =20 int bmc150_accel_core_probe(struct device *dev, struct regmap *regmap, int= irq, --=20 2.43.0 From nobody Mon Sep 28 07:17:19 2026 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 A0B563E274C for ; Tue, 25 Aug 2026 08:52:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647950; cv=none; b=iVtsCOT4RwEWW51seksDjZwICnFhRF2CKFYYm/MOC68A+a1Y23X/2VSN8kzEuyOw1gcK/myy68MyEzsgmySBqqqowcwfr4oFEw7KPpE1nyyGVMcO+fUyMX41xXPVLU4Z/hXLCFJVaReS6So0JEaXEcTWxj4AjpwhuamnJmfHAe8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647950; c=relaxed/simple; bh=MwuS9impfger2vse9ZSVY2mpFCX+U2Vi3yKXuzCx+a0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kg90b39Vi6Loz8ShqzKiCU+xLvnqwHmjqOND5Y9JHS8JymeOxEcz12poQKIhErLTGSuFfPiMVp8+lUWOQOfGpjd5PXXlLR293jElQUTv7s2cWeEw+7BO8YX1jtY6i/i2bTYGUR10IAT5B9OcshZMEFnQKxbVAZMuJulyYGVrJQA= 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=jrgbtuHC; arc=none smtp.client-ip=209.85.216.42 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="jrgbtuHC" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-3964b061528so747110a91.1 for ; Tue, 25 Aug 2026 01:52:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787647948; x=1788252748; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=s1gRFgntTce8MDNVMMnpHWytndgh7o6BOfxI/dHF7rE=; b=jrgbtuHCf/croigKNcPqHt+ZytNOV99PbI6PHLiW9x+NLUCATduU/p45BHMyAWjymG fwdl3CEGaBreOJ+D4SWrtnqLI795w8K4cfJ15o0joIH7dKgyrTmyvQkBwjwhQqnwz0B0 4WZWfIxDjgR20+pqdgJDE6oOPIsUrWkYrOfuWvFDWYS1FaFkiWBTiX1SetZUFEZiRBdf 1wEWlcfJgKmC2ttSzCCHWlrWsg9QrfQNrzq0ee0OL3KWRVaEsuS5lNxoaPDDcbOMEaWM +RZOz0S0uw13cIFmQ5sUivZJE/xgo8qizednHrxPXtBIp+9PowjMn9R/Jgrsj5HMTeko Ba7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787647948; x=1788252748; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=s1gRFgntTce8MDNVMMnpHWytndgh7o6BOfxI/dHF7rE=; b=MjFOaeRolIOJjdd1vy6fJ/mSRXw0fKaUbX4J5O+LzQorH8/peWOk+n6Vc5UHapdv6k zptmVkcN70Rco5T1JGusMtAzgH0ZBXmerUjJArQbotsr/VkvgCbJsfDZF4T9v5WVe+Nr cL767rIrMJPQuaOQgoVyTKDZXRMw1nqvYlMRlDmTq3oVyJfLYz2dorMupmnW5z7+S3sN rOWQoHBWyUQGU6nSI7i93U5oEzl3/9+spb+gjFG2V/e6W+mz5ortiyVNgBePDdGGSfmQ xg4aWsOe1USRRFjEWsf8Z9jna4vfiZrTNlGxBkC5ceLkvzNnMXtK9XZpTlinVkxEHDDl d2Lg== X-Forwarded-Encrypted: i=1; AHgh+RoSNqr/NXVsn09GlvX2Awu61Awt2wSjKR01Nnj03827TQoyNQxdpEZ9lhsxgMUKWLSEWGGfH+D9jrBfNn4=@vger.kernel.org X-Gm-Message-State: AFuF++m9dgRirZ/He2vHp1hUf75dJshop9+PuOll2fYEMasttC+c7ELP BNzE1Tv0pJL6erZN8xHFDu0OACe/2OB8Fcjg/njXCUnPI38PXAxqQ4LG X-Gm-Gg: AR+sD11zqvnBxFjD3sIDZeQudPbRFE+x1zrDQVLHgiaJ8Cu9P17ldSO0zuq8APwfEKa EZHzBWOB3TciRukOAt++WC7QIcq1WyE3qaE7Lj5iqiMqAs8t25VHBjRG4MqeQxfdL0JqHiwRmuL w5EFVlsPzy7kA6BMB9LtzAcULDHFAFOztnF3ZwWTWet3Sl1We0I9z4ptcCvbwZi33gCk+22ehGB 3UFQHAlN1B6fCRfm2Vz2dXVe/XOWj9UUc2OXzQUOk9sd7mNsZbILdkFj810U+zJWZPHYmPnJLgN HTf/ir3tyt38aIZJiQWRd7GuQTWZaQ5zrDcc2dEkDBk3DHgxaVFTqR8j8M75D65U0xdlG4k4IYt iVxiuS2ifn9L6/FNO5t5jd6wtfxYhBtpSzNYNf89PnOVoia/x6IHToQilP1aVBX0m8KZhcGwhsj 0yGbOb3KBIkLspk3kQJzgeFR0WwBcjTYxSRgYir3fh1sbRTWTo+cF/ZHR4dbgO4mjmtSqD X-Received: by 2002:a17:90a:d44d:b0:38f:bbc:6a0f with SMTP id 98e67ed59e1d1-395dee7e2eamr47660577a91.1.1787647947864; Tue, 25 Aug 2026 01:52:27 -0700 (PDT) Received: from shrey-Mi.local ([106.51.251.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327f90c0a59sm42032202eec.9.2026.08.25.01.52.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 01:52:27 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, andriy.shevchenko@intel.com, grondon@gmail.com, linusw@kernel.org, hexlabsecurity@proton.me, sakari.ailus@linux.intel.com, srinivas.pandruvada@linux.intel.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Yash Suthar Subject: [PATCH v3 2/3] iio: accel: bmc150: use DMA-safe buffers for regmap bulk reads Date: Tue, 25 Aug 2026 14:21:55 +0530 Message-ID: <20260825085156.212042-3-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260825085156.212042-1-yashsuthar983@gmail.com> References: <20260825085156.212042-1-yashsuthar983@gmail.com> 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" The FIFO and read_raw buffers are passed to regmap bulk/raw reads, which is not DMA-safe. Moved them into struct bmc150_accel_data after scan, each buffer are protected by mutex, placing them after ensure DMA safety. Suggested-by: Jonathan Cameron Signed-off-by: Yash Suthar --- drivers/iio/accel/bmc150-accel-core.c | 14 ++++++-------- drivers/iio/accel/bmc150-accel.h | 5 +++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index 1472e0d1ef65..4c98f840e626 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -125,7 +125,6 @@ #define BMC150_ACCEL_REG_FIFO_CONFIG0 0x30 #define BMC150_ACCEL_REG_FIFO_CONFIG1 0x3E #define BMC150_ACCEL_REG_FIFO_DATA 0x3F -#define BMC150_ACCEL_FIFO_LENGTH 32 =20 enum bmc150_accel_axis { AXIS_X, @@ -621,7 +620,6 @@ static int bmc150_accel_get_axis(struct bmc150_accel_da= ta *data, struct device *dev =3D regmap_get_device(data->regmap); int ret; int axis =3D chan->scan_index; - __le16 raw_val; =20 mutex_lock(&data->mutex); ret =3D bmc150_accel_set_power_state(data, true); @@ -631,14 +629,14 @@ static int bmc150_accel_get_axis(struct bmc150_accel_= data *data, } =20 ret =3D regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis), - &raw_val, sizeof(raw_val)); + &data->regval, sizeof(data->regval)); if (ret < 0) { dev_err(dev, "Error reading axis %d\n", axis); bmc150_accel_set_power_state(data, false); mutex_unlock(&data->mutex); return ret; } - *val =3D sign_extend32(le16_to_cpu(raw_val) >> chan->scan_type.shift, + *val =3D sign_extend32(le16_to_cpu(data->regval) >> chan->scan_type.shift, chan->scan_type.realbits - 1); ret =3D bmc150_accel_set_power_state(data, false); mutex_unlock(&data->mutex); @@ -917,7 +915,7 @@ static int bmc150_accel_set_watermark(struct iio_dev *i= ndio_dev, unsigned val) * frame data is discarded. */ static int bmc150_accel_fifo_transfer(struct bmc150_accel_data *data, - char *buffer, int samples) + void *buffer, int samples) { struct device *dev =3D regmap_get_device(data->regmap); int sample_length =3D 3 * 2; @@ -940,7 +938,6 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *in= dio_dev, struct device *dev =3D regmap_get_device(data->regmap); int ret, i; u8 count; - u16 buffer[BMC150_ACCEL_FIFO_LENGTH * 3]; int64_t tstamp; uint64_t sample_period; unsigned int val; @@ -992,7 +989,7 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *in= dio_dev, =20 count =3D min_t(u8, count, BMC150_ACCEL_FIFO_LENGTH); =20 - ret =3D bmc150_accel_fifo_transfer(data, (u8 *)buffer, count); + ret =3D bmc150_accel_fifo_transfer(data, data->fifo_buff, count); if (ret) return ret; =20 @@ -1007,7 +1004,8 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *= indio_dev, =20 j =3D 0; iio_for_each_active_channel(indio_dev, bit) - memcpy(&data->scan.channels[j++], &buffer[i * 3 + bit], + memcpy(&data->scan.channels[j++], + &data->fifo_buff[i * 3 + bit], sizeof(data->scan.channels[0])); =20 iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, diff --git a/drivers/iio/accel/bmc150-accel.h b/drivers/iio/accel/bmc150-ac= cel.h index 9deff256aed5..40f9d25a3d4e 100644 --- a/drivers/iio/accel/bmc150-accel.h +++ b/drivers/iio/accel/bmc150-accel.h @@ -56,6 +56,8 @@ enum bmc150_accel_trigger_id { BMC150_ACCEL_TRIGGERS, }; =20 +#define BMC150_ACCEL_FIFO_LENGTH 32 + struct bmc150_accel_data { struct regmap *regmap; int irq; @@ -81,6 +83,9 @@ struct bmc150_accel_data { __le16 channels[3]; aligned_s64 ts; } scan __aligned(IIO_DMA_MINALIGN); + /* DMA-safe buffers for bulk/raw reads */ + __le16 fifo_buff[BMC150_ACCEL_FIFO_LENGTH * 3]; + __le16 regval; }; =20 int bmc150_accel_core_probe(struct device *dev, struct regmap *regmap, int= irq, --=20 2.43.0 From nobody Mon Sep 28 07:17:19 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (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 EEFA93E95A8 for ; Tue, 25 Aug 2026 08:52:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647956; cv=none; b=ArZ6yuB50PE7CEnS5PnFFDrndmWPW1npWOyqN6ZYLYCztK/yuakPJoyrQbRM5wi17KIcAAc5LpJRHGrbynGMrn7ETbXQ89dKiaYn+ExenGQ5OI6+3GYo6rXC4Kj89NiY55lKYgojpkFOYhAbfynTEhxZ2kZwU+SVfIRuznqCCVE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787647956; c=relaxed/simple; bh=BOTNlYapMiABhZgQe0I0QMEYl4Xnxo0DQZXWMi8S8l8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rxYTkaEuqsihG+vm77dOF1+3ekqtraJ5mcVJ6AHrk6gu+Wac6TvfPoFwSYh5c9pmCus/1Yb2BoX4W8MOi8e103/x6EoeeM+59mblhhHcsRScfZncBmfFQs7NWeaaNny56SW+x2yKHVNZ9BiFCyr+eKvZxgXGlQ2pCcsEabVLrdw= 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=jPMVpLLA; arc=none smtp.client-ip=209.85.216.41 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="jPMVpLLA" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-38dc69c74b8so4974736a91.0 for ; Tue, 25 Aug 2026 01:52:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787647954; x=1788252754; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=VrZUTcKkClqO90iogm2znVhlvjPPwZ7DuB3jYH85axk=; b=jPMVpLLAgUWHKCItLQkLvXox+SI0H6xvDN4ZfCV3OwimmRciOwAyAyxrEdtlJ7PM2I LB2I1JlPRxmKPHzPgjF5Y0am9XwzUDHAKCvrONP/oivzTQPrQHVxblMcaw0xrZP6LSPs hx9l/8MkkRfualm59BVOBzfgt1FLlR70FXwr1UyTRQV79zqIhIz6DcAO7PsxWXDD20Nv R4VsR6p177OaUg8TBjngR7EO2Dqi//OM7mGHKL06th5PfNqZ8vgBqAKj4OKyyKMfJgi/ RqgATy8GMGTTTPbiIzJOLBYY0g1AHnTT1+q2XCcuacDhciKcner6cWTLkX5SbRsY/y7y P3uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787647954; x=1788252754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=VrZUTcKkClqO90iogm2znVhlvjPPwZ7DuB3jYH85axk=; b=qfOrgItvFfCsIJnYLpU4d+W2BDKSkn5LfvS9H04dzK6VRdpGeImKt0XXc2jpDezqRl XqrD1r/5E0tS1n+cBJOr+D8a5eqqHaNtbgDMeUjDko22tpSdxU6IcEJcPjYDDrBPN/6X jkBAWeL0Z08GRKwaRwOT1J4w+HwTV6NmcZ9yso2Yccp6M3YhXXj7rXF2SwqDHcMcZhLh VlgLTZg78axjqXC8+iWw32RDAFD4xfrEC6FTL702UUlHWIoidvr6pzhE64XlUIGz056U i5RLu1quBf2PfpCOVa8ohHnEq1sLwKdQp2Kvg73Vzu0eO52yV3yzSUNfNDOzQ31dPHfL zZbQ== X-Forwarded-Encrypted: i=1; AHgh+RpMli9XADAq8yuJich0EkQ/woi9rhUgYphYE/PfsIUtXbL1pQjbmr7CJHFyrEP07AsfgFJwbM0DnpzX+IA=@vger.kernel.org X-Gm-Message-State: AFuF++mLZLb8n4Oz4lMPTRVOyYkWsbH8PdGxZsLcmuku0mhysrsvvlIb 9VmLMor6/YdycdVHU7tBM82m61y0hUegiCdAr1SzpP9ntcw7CwSAaLKq X-Gm-Gg: AR+sD100zjJecr5Dp45HjKAsUylU0lkLjHe9fIBhmVCHiQ12eCUqQSF1IMXveF60kRj O9rkOq9DroTkv8Q4MIvmgZ77Asuo/G7Mkd4gu6+CHxJOxKvLqmVIkRQ91bRwZs2UbLyxL4ke869 P6fL+iujOVy7yQ4F8TD34aal7VR9qCy+24jXkTcbKmJu/crk+RcTsMJAypiasDM1XgsMiVJxwK7 auQQOHhUVe8hHgVl1MHP15Fsn/uaZbaAqlYnWzcCC1Rvt4Db08M5Hi4fgs2D7j6Cy7/W7IE0ipi T/Pto37dNSAGB4rC3gajv3tg631Y8NFu7nVEo5fISx20yoaoGgUJ9h1AoFoeX9xfrSAem/4xpyW InM4eIKaA2U4CPL+N1HLjeQOSfYawB53EqYQsvzOUiWr4eJoibdrTn2xXxwgqeKlksT89V8q4Q8 xaVs9l4omoTgeowsOPbmqKITOY1W28/IvUoTSMbxpJDF+wFlRo1WeMNZ39XEXPZ9r0G0op X-Received: by 2002:a17:90a:c50:b0:396:4729:43fa with SMTP id 98e67ed59e1d1-3964729461amr6906207a91.0.1787647954324; Tue, 25 Aug 2026 01:52:34 -0700 (PDT) Received: from shrey-Mi.local ([106.51.251.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327f90c0a59sm42032202eec.9.2026.08.25.01.52.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 01:52:33 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, andriy.shevchenko@intel.com, grondon@gmail.com, linusw@kernel.org, hexlabsecurity@proton.me, sakari.ailus@linux.intel.com, srinivas.pandruvada@linux.intel.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Yash Suthar Subject: [PATCH v3 3/3] iio: accel: bmc150: use iio_push_to_buffers_with_ts() Date: Tue, 25 Aug 2026 14:21:56 +0530 Message-ID: <20260825085156.212042-4-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260825085156.212042-1-yashsuthar983@gmail.com> References: <20260825085156.212042-1-yashsuthar983@gmail.com> 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" Replace deprecated iio_push_to_buffers_with_timestamp() with iio_push_to_buffers_with_ts() to allow source size runtime checks. Suggested-by: David Lechner Signed-off-by: Yash Suthar --- drivers/iio/accel/bmc150-accel-core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index 4c98f840e626..e487e1b9239b 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -1008,8 +1008,8 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *= indio_dev, &data->fifo_buff[i * 3 + bit], sizeof(data->scan.channels[0])); =20 - iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, - tstamp); + iio_push_to_buffers_with_ts(indio_dev, &data->scan, + sizeof(data->scan), tstamp); =20 tstamp +=3D sample_period; } @@ -1193,8 +1193,8 @@ static irqreturn_t bmc150_accel_trigger_handler(int i= rq, void *p) if (ret < 0) goto err_read; =20 - iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, - pf->timestamp); + iio_push_to_buffers_with_ts(indio_dev, &data->scan, + sizeof(data->scan), pf->timestamp); err_read: mutex_unlock(&data->mutex); iio_trigger_notify_done(indio_dev->trig); --=20 2.43.0