From nobody Tue Sep 29 00:31:20 2026 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (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 A954043D501 for ; Fri, 14 Aug 2026 10:19:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702748; cv=none; b=aWOhoBXcH28ztKLFsQRVraodmSmPT0ardcQ9YM1/N7+JbcRu0K/AmpeJieGigS9I/wWpn87m66ZpOcTpeEKvux2ayVIFlNAXHgJsAmcd9dJOOsmpVg7SxvPxIn8lUd0EtyEx2GHud8JLbJMvDKzDFcZiYiuolB/0Lev8BZTYRkQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702748; c=relaxed/simple; bh=sjRxSOQ4VFvx+8lAtTY/KAcWMBg150hKkv/kJBdwaY4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qc30/l9GQYP3GT2f5fo0I/KKLN7ghI6tICI28SRzyVc5tiburP5cItj7s3c2a42hm1XmjYtNGDUOP9MQ0J4tFjQ4RH/v8cWr9w2SvFX332TO1dWK4uKJoupfyNM2HQcNrKvzyADhwX0AvOdrnbCKmfiiq0sAcQ4kVljmbg2MP7w= 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=LEulqq7j; arc=none smtp.client-ip=209.85.216.47 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="LEulqq7j" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-3810c5d691bso598105a91.1 for ; Fri, 14 Aug 2026 03:19:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786702738; x=1787307538; 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=00KFuqOaLqNGyqP39XavbZiyVtoK/fjrOzIbJr0n9VM=; b=LEulqq7jM4tVvlTE9gjIZJWB2TZuKQVRcOVvsXMe6QumZ7hBQRxewzFOL9f+fCqnBF vydLHU3h/eRvNOy8potQ7juhwNLxH4I1jHp/ddnVh7Ds02plOc8ObgowRapXr9UZ6CkV rchRsyMrMSHkVFnN6wjdf46q0G2kfkdeP/78z1SWrbViQdvU0vnJQSTV9C/eJo2dlZag bM1f2jxiGtDWqhB4x72HiAPYdajgfpZ7LpVF3BzcdRzAky4EkkzIiB20AhvUczf4Q45G ddZcFunmU/E8If3NJYgYchmDZmsp4W+CW6uC3ZjM6uRdAHAsHsADhNcwqTDtqrr8Rxmj Jr4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786702738; x=1787307538; 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=00KFuqOaLqNGyqP39XavbZiyVtoK/fjrOzIbJr0n9VM=; b=T+Nxq8HECpXqJ4sucQyqlZjr2QKmxDD5tl8Bxt8AB3z5sHB0H1/EQSZnXtlDyHTjjb rLS2u6dMUPD+yNI1fxzmK5Y4DEO6y0ve7DFMy6UPpmwqj/NEQPwgjjhdb/3z3+6I3TWS 4R+1E/8D3Khl+GMt0PdQv1UgSihcFdWOUQ8gBTuhTxJl2V6QEk5qHDOK/Q3r3pBqFZKV stoSrm5pII/Hqed841++nPWpVsOloblgPi+joFfUp+bPL6Ys89LkNKSRRmpSQFxwXsjy OBBtFL0OjRjitl9QBHlGYwIxOSzvamwxALEiCBxqe4cmiA8Pf9vVf0edrVz3bGxwUvfu SO7g== X-Forwarded-Encrypted: i=1; AHgh+RqhxjTvsZuD65ggGF9Hw/urBunpGTjiDYfYt+8vy3AhXJ3DKwPGm0ILWJdWgzoJGjrnY1yed1xbbKU7Wdk=@vger.kernel.org X-Gm-Message-State: AOJu0YwyOMGdgczKDI1eYDJxkUeo5SqCill7S9XkitQXU545r3z424lA c8plUTP1UNslahkm7kHRxokJ5fGU6N6HJsE8wCEPkvoVLFTJwkqfx4FH X-Gm-Gg: AR+sD10WZWUpkIV/fH2c0fhzfL7jxm8lzl3vrnlVHKzfddP5vSef8sxcDkVikcwXhcP oq3SX396YUjCsH/fKU11il0FNlS6NnxrnWNFaC0PAJHaxQ9VracdJBZPbxyy+gWL2F8jadkf6Bm xRey5Jtm22wdIvXurI4CsuG2tZmbL8r8fo+PXwCs0hnsHFzIPpzhQqQcBG2dySmHzD8MgED/h8q ITClhBLABi1xSGjJh+wLQ422FgrBVRRweLE8vfhQa5SzxgSTdUtFl6yqaBb2RzIzvGLoS4i6iKp vS9MAZIzq8su95iYlfPv1TbUW/ozy4vqcu1UXOnP6F3/vhGcwpNRZrvxt6LVCKf+MaTppRu5tQM jniUf2nU5fXBi0kxWiRgLPAVitTNO/1kKQ9v1vU+U7T5ZEBATa1F/lAflQBJDPvQcWNwc+K6JYi hpP8RjG0yYbLBA2jppG0GCNaQlMRki/eeynXEZbAA/b8B9HugnFsjrfQOuY+RgCQg3MFvMZFxVT b85iyzw X-Received: by 2002:a17:90b:48c9:b0:37f:fdc8:71b4 with SMTP id 98e67ed59e1d1-3933b6ea768mr5561433a91.2.1786702737700; Fri, 14 Aug 2026 03:18:57 -0700 (PDT) Received: from yash-Bravo-15-B5DD.. ([2409:40d4:124c:2e49:6997:3d3f:909e:c279]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-394e920ba18sm2074218a91.0.2026.08.14.03.18.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 03:18:57 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, yashsuthar983@gmail.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 Subject: [PATCH 1/3] iio: accel: bmc150: use aligned scan buffer for both trigger and fifo Date: Fri, 14 Aug 2026 15:48:42 +0530 Message-ID: <20260814101845.301769-2-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260814101845.301769-1-yashsuthar983@gmail.com> References: <20260814101845.301769-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. Fixes: bd7fe5b71918 ("iio: accel: BMC150 accel support") Suggested-by: Jonathan Cameron Signed-off-by: Yash Suthar Reviewed-by: Linus Walleij --- drivers/iio/accel/bmc150-accel-core.c | 10 ++++------ drivers/iio/accel/bmc150-accel.h | 14 +++++--------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index dc8a6285cf3d..596ff8267ead 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -1191,14 +1191,12 @@ 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); + data->scan.channels, AXIS_MAX * 2); + if (!ret) + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, + pf->timestamp); mutex_unlock(&data->mutex); - if (ret < 0) - goto err_read; =20 - iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, - pf->timestamp); -err_read: 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 Tue Sep 29 00:31:20 2026 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (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 E61A44582D4 for ; Fri, 14 Aug 2026 10:19:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702757; cv=none; b=U2OkAOavlKMbp+zqh/xGHzBwVru59lhqeZwTpEtlQr4s97XHWyrHpPv5PxOXrSzNxLTIdqv8mUip5YP5dSmelGqnZaQqTpzwdkJojaqqWhGYB1fJvR4uZGN29IdZ0tV705HcIlxp2A/ZQ2lQnkO9jkAueSaip4n6aqB4hrTlUbE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702757; c=relaxed/simple; bh=N1zYGwn3lS/lHxK27p6fiV8lb49hdDwVYs4y5wTr/U0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OVWMbqOQOVJQ/PsxVMXXJS4p7YfUcmi4KdPFOWmzIPdNEINSuGrURZDwY8wnzpYuCpktNGTDbgZRvEdPdA9SUvhIzHOZ87clzimmZhLvoJHyb+3OYr+QrJbDMohpaTyDWP6B+EVy1WVnWe5WQGJLLJhqAEvyl14IF7qJMtHUjYE= 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=CkGgzrm7; arc=none smtp.client-ip=209.85.216.43 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="CkGgzrm7" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-38dc69c74b8so846551a91.0 for ; Fri, 14 Aug 2026 03:19:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786702743; x=1787307543; 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=4LB4D7prrJKar32PuQlOy+F4uxxxhz/ejXYg/JbcjVI=; b=CkGgzrm7IL7n37A8aWp25Y6V2Uc8Mf/z2F156geP5IxWO7vC9RWtr6732AeD2fsqit git8+HN9lG3PaXeDaOdb8cUeSD/3x87zwR6P5+gEUaMSw+/SPtFCQ/GVRe/cINkmrsc/ d/Uwfmxw+aop1rETYHQbN0Wd7Ls7IQ5mY6D6sWnlyu8VAUjvPu+EpjiiiyVYQy9bxMJ2 PnvULt+fni7Qbr4wWwrZuOSuAwCnJnv7etjKXF7rq3rRvSUodcaeF2m234VTXQCdLsSs vR49e2lsi/LcmdwM56Y9B6ebWCmC+54jFv4t4dIScYAdNGDIbFjvwn0AGa6rjmCJftoN Zn+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786702743; x=1787307543; 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=4LB4D7prrJKar32PuQlOy+F4uxxxhz/ejXYg/JbcjVI=; b=T9tJniEYAlOuFH7AGdKt5G08Fby8VvXwR2Ow9Vtoet2kTUEfFMe3MndSxGmtQPjMeT ZwgLoq0KmupZOsTiuiRA3lrZ/jbwB4t9VVyG+L5uBpVGaWEv0TCAlcd58uLb6i/bTjmx hM/e6GduPMAcIulGm2M+bQ7VYmNBgXos3I+bCYc7Tx5D+X+CDjTym4MOHy+HGvjxujpx VxYWj6EXM8HUbumZyB921RsFcna/e4VIWBCyJDeEQq0kNGgcJsDCCXe4zutYosBjWFZ5 VuKNHaI46C1qodRm8gb2iNdz+mpRuSi0Tz4l5h4ceEHT3MQgKxtxajAeH95Q9p/jYdWs aXkg== X-Forwarded-Encrypted: i=1; AHgh+RrNoNnD58Zq0OvVKhnVg6ici4jpxehDdPEbryq4B7ZBVA6uuvUI6+NqYIoV+QVrqQBfWIw1rigyxBCPv6k=@vger.kernel.org X-Gm-Message-State: AOJu0YxYaB/cuwofjjIcILdP+a2xcF0bOrv4O5xrrGEIgN70O4jNfg7a UFkyYEBRRgrtgDYr3NFrZ0VViHXKVX5unsNdWBKy68q/U8oFp0083oBM X-Gm-Gg: AR+sD10vsLnIqMUV7mZT8IWwNFzL+4QMcpy6zTSORUmx2s2zBdtmmKvojkux3KlQRwa ZM3dA7y9hUsL4jSQiHZ2rjlk7rK3gWKsFZW8LxLYMt/H8RMuElDimLGesyl8zoi4ZonhIOfbx/1 acBke2/TFD15Ci818UjQoamLhHp4Tnuf2qfYtD9Sb0CfMB5yu+vf7XuCbVVd2WFb1uZSpIfLOOu H27DIAKgSWsUkuji21v7t+9oHy9r3TtBL1qATiY+iETNoDDjsT8u6WFDNxKzYKSQtEhTFaVfRws gRahpiUeQB74VQyFT7/DoOB9JuHGV24ZJ3r14Ksgv7yUw86myVPAX5lvVSuyt4X9bRtCmBzqZVu moY+YLeLHT0R3ZFoDMCrgZL9pzIA/2EoGhjSSDBaiV59qRRfKi+kTdt2Gq7X7iaDheyFZEygNIF gf2cxdDDFJyVkCd0O3tL7FTACFATCjaYGjZNm0gbBfb4MZlFPTzubA6Gv2k4ALEflK8sSFvbz4i oV3QZA3 X-Received: by 2002:a17:90a:d006:b0:38e:75f3:ad4d with SMTP id 98e67ed59e1d1-3933cae6243mr5172951a91.7.1786702742910; Fri, 14 Aug 2026 03:19:02 -0700 (PDT) Received: from yash-Bravo-15-B5DD.. ([2409:40d4:124c:2e49:6997:3d3f:909e:c279]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-394e920ba18sm2074218a91.0.2026.08.14.03.18.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 03:19:02 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, yashsuthar983@gmail.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 Subject: [PATCH 2/3] iio: accel: bmc150: use DMA-safe buffers for regmap bulk reads Date: Fri, 14 Aug 2026 15:48:43 +0530 Message-ID: <20260814101845.301769-3-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260814101845.301769-1-yashsuthar983@gmail.com> References: <20260814101845.301769-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 aligned to IIO_DMA_MINALIGN. Suggested-by: Jonathan Cameron Signed-off-by: Yash Suthar Reviewed-by: Linus Walleij --- drivers/iio/accel/bmc150-accel-core.c | 14 ++++++-------- drivers/iio/accel/bmc150-accel.h | 6 ++++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index 596ff8267ead..30d91d417ac4 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, @@ -622,7 +621,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); @@ -632,14 +630,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); @@ -918,7 +916,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; @@ -941,7 +939,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; @@ -993,7 +990,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 @@ -1008,7 +1005,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..a1734f5d30a4 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,10 @@ 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] + __aligned(IIO_DMA_MINALIGN); + __le16 regval __aligned(IIO_DMA_MINALIGN); }; =20 int bmc150_accel_core_probe(struct device *dev, struct regmap *regmap, int= irq, --=20 2.43.0 From nobody Tue Sep 29 00:31:20 2026 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (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 AB7D643934B for ; Fri, 14 Aug 2026 10:19:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702766; cv=none; b=Ws0LtQzefNYIatFyudOuLogkPETTZG5wU04piKXAZ3sQwSITVVdxDgt+kbE1A1yoRG+uQ8U620FZqnvauXhm8BL0sVCDhbBvwo5hr1ZnKqdpViFmM9gwAROy7eAYY9AKmbnBnXzNYaq7oid4iyZn5ho0ELISIhstuT0qfZCaMjk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786702766; c=relaxed/simple; bh=gr2vkX2WytW2dclIDo6x+kCceMO3WjL7tTKzxEI7Zlg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ly8WxhVNegxd49SyVSF5njmbUCePvx2GIaojeI/hkIfXBg6Ozr12twd1A9dqbj07PQkz6Fesslf5zLouabe/+/IEl1h9djATzKz7Aq6ZGmEc/VIP8RVnLdR8X0v1aZ7rgDQtOFQAHujUsuJY3XEONdndnPzSugNNgJia6R33Tjc= 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=Cm0TXp80; arc=none smtp.client-ip=209.85.216.47 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="Cm0TXp80" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-38e347638adso994046a91.0 for ; Fri, 14 Aug 2026 03:19:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786702748; x=1787307548; 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=8X2DzoqFH7matdonUd7YA/b7NIXmlkIfIulsDTFoluM=; b=Cm0TXp80SMWVMbEfUieXOQHZcsB05uxzppfaz9nfYqB8RO6tfE8vxcw1/sRtjId2mS mXdv3FZQsm6gJ6kVQ4rAaROOkt+dNL4Ng4mv28+VlKnr0cZy36t2bEGRykXSDE/9509e YLy4AwZdatQjvsUBKZBrB8BkXq7HzcwcGSCmaUXz0HTqfJOhBTs9mHs5QOxNibIT13kq EfDSJinBgPqc+nPdg9ivxD4tw+tpZJ0hOFpDNo7gn8ZDLmpi4pnrZsZ9jQu+sU01ofHp NPUdM+B7DFOt3Xm+tPMuy3hRXV5tTIAZwo9aH2ObSxXqw6Ybs/nW+AVU2yP5g3SnBFSf zubA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786702748; x=1787307548; 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=8X2DzoqFH7matdonUd7YA/b7NIXmlkIfIulsDTFoluM=; b=TIgnvhm6gRO9X93cpxBqF6rooqdv9kGsKUE2nmA/XXCPOmHAOOY7+hdlaNd9LDRJkg 0yqOc9iT+OsAhE6lG7vjY/9cR9IpVT7+9XPfn3ZhPYJXCnRyh4eQvPCH6h4k4jkXmMyD QJbeBax8NdBSuQP2HhcUxmkxSddz9bWotVgbc5pMmnFGqRS9F8AtEi5iw0uofDipvzQA pZ0dABv9FD5f9+y6Dx9H75ZDif4Q50lmtZeKY5yc+0r4SN5SrfdoioATSH23uajeMShz qiNlQdBLmen4EKzS04EQhVbOGPVEpFYrhc4RLPIxZB5CB5O3hK9sIHAJWqKH4HubZ2Yq WJDg== X-Forwarded-Encrypted: i=1; AHgh+Rr0bXlIRfCvVtSZZ8tULWw6QKk6fBLT77ttLixr8njOl7ta1Kvtz6ZG/1X/ytNDIfdF+rumvE8RhXa6zSs=@vger.kernel.org X-Gm-Message-State: AOJu0YxyqBjMEpT9A6LuvAMioY4rt5k1+3eNfpv3VSEB6UqGhbt35Qt0 zzMAymDMKYMTcy09G3Zck5QvFVnZIgCPg6us1mOZpGaW2IpKl3rS4b9l X-Gm-Gg: AR+sD10teZP5G6kl/PK3wGraqOTdwB5Al0TL7B+JLnjTe5rSiiMDvqSqs3c4DT5WKE2 HrQstz+zubPOee+sWlKavUrRyykuBo6i9WzNR7/ul2oqzcXx/M1wYInWbFw6PrR0uwmf8AYPs31 cpgpsZSL49vGExCtR9Qt4Vll7oo3s93Xfv6vrgredte68Sxp1j84kijJEdYOO9SxLWyzoTggCNu CuuZK8KLaj8v3Q9t6tjobQCbG9nJ8qM9b+q7PJ2hYIL3fAYgXR6KcAfQX4b3m1DApE3lEe3GjbL R8+k/coB+/5zLrWvN1SYKju1gSOhHtDrlIZfMV7kG7va7nWJ7oyEHYH1C28p0WLgd/tWZDkUCFD 6gtlGMk5kVSzIFhXXgZXkwkmKQrZhXhY4ie6Yi9iomhhSamnZNrDjXDYRUIY2aCxe5nMbsAADAQ l36teU49A6tt8rxPUhHBJGXUdq9Zu0OA0dPBEKDSMgnV0K8RSISncoxiTiib5ovlQWOyhqxxewC 6ET8bXK X-Received: by 2002:a17:90b:1c01:b0:381:a766:efcc with SMTP id 98e67ed59e1d1-3933b8c67camr4164703a91.14.1786702747852; Fri, 14 Aug 2026 03:19:07 -0700 (PDT) Received: from yash-Bravo-15-B5DD.. ([2409:40d4:124c:2e49:6997:3d3f:909e:c279]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-394e920ba18sm2074218a91.0.2026.08.14.03.19.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Aug 2026 03:19:07 -0700 (PDT) From: Yash Suthar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, yashsuthar983@gmail.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 Subject: [PATCH 3/3] iio: accel: bmc150: use iio_push_to_buffers_with_ts() Date: Fri, 14 Aug 2026 15:48:44 +0530 Message-ID: <20260814101845.301769-4-yashsuthar983@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260814101845.301769-1-yashsuthar983@gmail.com> References: <20260814101845.301769-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 Reviewed-by: Linus Walleij --- 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 30d91d417ac4..476c020c41f0 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -1009,8 +1009,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; } @@ -1191,8 +1191,8 @@ static irqreturn_t bmc150_accel_trigger_handler(int i= rq, void *p) ret =3D regmap_bulk_read(data->regmap, BMC150_ACCEL_REG_XOUT_L, data->scan.channels, AXIS_MAX * 2); if (!ret) - 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); mutex_unlock(&data->mutex); =20 iio_trigger_notify_done(indio_dev->trig); --=20 2.43.0