From nobody Sun Jun 14 11:27:29 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 5AAD31FF7C7 for ; Tue, 7 Apr 2026 07:21:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775546490; cv=none; b=cT/wYyqHpbjQ+EI6+UZP3/2ci90QSqiiar3u7hAjApGgaiCM54f3GzxzpTBXOCovX+w5rXcreFOnAF/lwBOHJYQxzJRyRbk2jG440N8BRt/7krDAumzbWO81FpCLJW/ShSZ9toB5H60VjI+Cr98mI5+0bKyH+gP/ygKYJKgDlyg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775546490; c=relaxed/simple; bh=Nj3PdkS9eg1BsdVDKzqGJFpFq7uhiaGo1Ep0coBcvYQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LkRv1p9PcIahjg5omqlcPzk/OSrhUoWjuu4kkn7T/noWZYnc20EVZv7E4lrZzkNHm+KPpWqYGTLE3be2jthB9w/V3yecRWOgwFW5YEZRQnaOy282JFdBG+lsa0BKbFaWZ+eD/lYwzgaMZdijxwNciDmWC4VsvSRfYMFKhogxuhM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=mechasystems.com; spf=fail smtp.mailfrom=mechasystems.com; dkim=pass (2048-bit key) header.d=mechasystems-com.20251104.gappssmtp.com header.i=@mechasystems-com.20251104.gappssmtp.com header.b=01Ap6rT3; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=mechasystems.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=mechasystems.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mechasystems-com.20251104.gappssmtp.com header.i=@mechasystems-com.20251104.gappssmtp.com header.b="01Ap6rT3" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2ad9a9be502so30505155ad.0 for ; Tue, 07 Apr 2026 00:21:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mechasystems-com.20251104.gappssmtp.com; s=20251104; t=1775546488; x=1776151288; 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=yY2N78iQFWA7p362ELoyXOxPQGSjqtrv+lYs7m3FdxQ=; b=01Ap6rT3UlUmbPeN8VN+JfBLKXr+5/BwwKrYTftzSFTBcJRmIQCpEpOGIUxyXtOZqy 4omstR9rAqMyiA5zeEixXW+4XxuFXNF1x8835KXjSys1etGqm/BnXesld1qQIrfb0Ykm LVKVbDZVxxVcclu/Y8Qo2dSLaoev6zdmZTrCq4w+PheLq7BoSuKxGGHW2jqBDHGkpm7H bEGUJPZB58hasFiJBBsTXzhCR8mjMjwIQnUiwi1Z5rZSitRuqTnbajAbSeoRgMwNqpnz a5GCfpWj7ryIz4YmrW/jvEBNFDFN2btdEChlV9REesxLkKHE+Ay8FsJbNI95/fXD3795 JXyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775546488; x=1776151288; 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=yY2N78iQFWA7p362ELoyXOxPQGSjqtrv+lYs7m3FdxQ=; b=WfBU2CWzC6Y42HMCFIG4Z02EGimbqz+archmL6SBIfMZmS6taJOnvBZXPhIYgr77bz cS0/wCTZNXJijRNzKDRYvq7PHSa3a/MKlYDR0BE47SG7T5ThrqZJEK4shOwdgLtVUsDE LA0hbZ0vKkRcShkEtJ7dJVGDGcKPOOKdqkM7Di1gGQW2C1aB8sSPiIUkjoTDW9FSD/Lm nQc4XiSAZHlIsINeFo2xqe4Z242DzDc08JcMrZzHgksDg6befjA4vyGgmPkBPiL6oy+9 NpePySAeYxSHmPuT/lR5BDFSYmchHBAybb2kdg11PnFCn/lz1vC/MzuiSUUJmeuMknk7 /U+Q== X-Forwarded-Encrypted: i=1; AJvYcCWZGkBZ1W4Jnq5ToYABlkcu1QT/lf4hhioHMNchdeQ37OJneUa740F6IBPozj/J5ToJ62s3idfkNSOEqIU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/WpxR7e+qkZCgsj1fCDAfT3llPyYNFTpF3bVxnqJLZ3RSYFrh lxWPEWhaKGuckuTBhS4yo8nMETV1bhgO7fVkfRQT340I+m9kjByEWEI6DgY5FOMpH8qvGxhMzm+ shEvc X-Gm-Gg: AeBDiesgPcMghzxjj0uDjbDm7AXAiOnbYOk430Avi6lXq4p/sBcQYLDLS678OVQ5adk waClps20LQ0GsnhpGdAwcA+cbKEWmZsRTxVCiU81NLjTczNr5xZ6pm21I04oOHsOvMiU7+uaZtx v3rasjFusG33SZihpr84CgDQ/1fW0TMPTMj582YGLEEYuTP49UJlbGUL3HaIDcjMGC1kPqWxCMq b9bwW9ovx3AP+fnaa3ahz1OlwevwQ2YLNYiE3e6xOk59kptF9kuAxBcWYXFD8IG/LQRb4lvB2aB HFjxvzujI2W9nNwW+tgOMD21SGnqoaBL6CKsvdUitAWAeLcb1P9bzL+G4r9SeT6EHyH/K2P/1R5 yzZdqeYiNPtnGC/TOAGF7n/7q95/2YUIklFRG1UIAQI49y8In4Ux7vpthfHeTLb8mXRvYiE3AS3 3d44AqWT2+KsYaFjWw+8mcRQoRjVU76MsZdoLJ X-Received: by 2002:a17:902:d2c8:b0:2b2:523f:50d with SMTP id d9443c01a7336-2b281802cacmr166840765ad.29.1775546487680; Tue, 07 Apr 2026 00:21:27 -0700 (PDT) Received: from advait-work.lan ([2001:df0:e1c0:3414:82e3:d51:5a33:fe5d]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2747a7115sm151884005ad.36.2026.04.07.00.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 00:21:27 -0700 (PDT) From: Advait Dhamorikar To: jic23@kernel.org Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Advait Dhamorikar Subject: [PATCH v2] iio: magnetometer: st_magn: fix default DRDY pin selection for LIS2MDL Date: Tue, 7 Apr 2026 12:50:59 +0530 Message-ID: <20260407072059.222597-1-advaitd@mechasystems.com> X-Mailer: git-send-email 2.43.0 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 device tree binding for st,lis2mdl does not support st,drdy-int-pin property. However, when no platform data is provided and the property is absent, the driver falls back to default_magn_pdata which hardcodes drdy_int_pin =3D 2. This causes `st_sensors_set_drdy_int_pin` to fail with -EINVAL because the LIS2MDL sensor settings have no INT2 DRDY mask defined. Fix this by checking the sensor's INT2 DRDY mask availability at probe time and selecting the appropriate default pin. Sensors that do not support INT2 DRDY will default to INT1, while all others retain the existing default of INT2. Fixes: 38934daf7b5c ("iio: magnetometer: st_magn: Provide default platform = data") Signed-off-by: Advait Dhamorikar Reviewed-by: Andy Shevchenko --- v1->v2: - Fix trailing whitespace in commit message - Add Fixes tag - Use positive conditional for DRDY selection drivers/iio/magnetometer/st_magn_core.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/iio/magnetometer/st_magn_core.c b/drivers/iio/magnetom= eter/st_magn_core.c index ef348d316c00..7644bd04654b 100644 --- a/drivers/iio/magnetometer/st_magn_core.c +++ b/drivers/iio/magnetometer/st_magn_core.c @@ -506,6 +506,11 @@ static const struct st_sensors_platform_data default_m= agn_pdata =3D { .drdy_int_pin =3D 2, }; =20 +/* LIS2MDL only supports DRDY on INT1 */ +static const struct st_sensors_platform_data alt_magn_pdata =3D { + .drdy_int_pin =3D 1, +}; + static int st_magn_read_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *ch, int *val, int *val2, long mask) @@ -628,8 +633,12 @@ int st_magn_common_probe(struct iio_dev *indio_dev) mdata->current_fullscale =3D &mdata->sensor_settings->fs.fs_avl[0]; mdata->odr =3D mdata->sensor_settings->odr.odr_avl[0].hz; =20 - if (!pdata) - pdata =3D (struct st_sensors_platform_data *)&default_magn_pdata; + if (!pdata) { + if (mdata->sensor_settings->drdy_irq.int2.mask) + pdata =3D (struct st_sensors_platform_data *)&default_magn_pdata; + else + pdata =3D (struct st_sensors_platform_data *)&alt_magn_pdata; + } =20 err =3D st_sensors_init_sensor(indio_dev, pdata); if (err < 0) --=20 2.43.0