From nobody Tue Jun 16 19:32:19 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.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 5AFFF413230 for ; Wed, 29 Apr 2026 17:59:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485573; cv=none; b=Uwomf9VQOmGM6Z+TeNGYgX4UG58BA8b6S3P2HH7fRnD84q/sZcze8U7Tbhkjv/2SU7LB6nY5+lGuv75Ume/7KMxSTgsZRdkmaDVD76FGLckqcrbz06qzuo0JzzyU9AJFrjWQ5dywcUfMCYHdx3fK20L2i8pG6bvcBMAD0woBK8g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485573; c=relaxed/simple; bh=qxh9mNsgMQ/xB4BxyREkiTMPAocgmkD2LnOzKtz8rgQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=D5bBV6EGC+Nqm91Gc3AfqiEyhJHLekmX+2sboRiQWsa94RhiPwbCWLFz1ADMBh+4wMjzq90uCVTZHt6x8eyXVXayFnG0xxnHUmb5uQAJuXIw7ZQHJTFzlisyQFgSbTMxhl35rVxszWOt6rXikQ1NR51ShdkZsJuBFwrqm/YBTlI= 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=DPzsaTZ2; arc=none smtp.client-ip=209.85.214.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="DPzsaTZ2" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2b0afa0210bso372215ad.2 for ; Wed, 29 Apr 2026 10:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777485569; x=1778090369; 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; bh=h+/TwTgUKwpqbt6bnwp+kW260JQF+yfn7VRp15dRTeM=; b=DPzsaTZ27h4uLV9NWJi/2UH6Axxrv/sbxocBAR0qs3PJbdpGM3LhiIoZ/K5qSPnlV7 dud8g1y1g6IhM1YhqsF2h+/q4eG+Q3CT4Y5W2k5PIadRLa/vlfBTG90E24A3G+kfmhXs BHUGovRUXDi2m/Ike3KJru4N7B8uwjcctzQ+gpCionhnVYeOFWLoVFgA41vL0r2hvuRr lXckTXIPo9odgHzzs2x/niDRACrm9BDo3DBA94NfpkdpVBCSKMyDpOXi2dALvJx358MI nsreLZ6sK8vEM5Lkw4kW4iD7zZ2Q+AU7kBUoHxFxhVne8w4XvQ+mMtFet7OXimb4lJm7 vtVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777485569; x=1778090369; 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; bh=h+/TwTgUKwpqbt6bnwp+kW260JQF+yfn7VRp15dRTeM=; b=Scuda3fwau2PtFFX+l/cyAIlsZAhj0Obt5Z1dbo5nexz4hd3C/hBIwjVtNHzva/BuZ jGQkSpJ0SVIL25SqgnMKZYqHfiOhlFolC5f4qkxT4a5aKg+uEwTy/ni6aHTDqQZLDg1K XHjoP71LqbDXY07LkG6JhtWLnSXSXS9egygge5uwAVE2UykoxboIRmLN8/3AV7yh7sic dQV45Ddz4GJQHbDwpFZf/pOeAKNZLZnEhmmEBcCqXzx/aJHk2U7hbUss5gN+vjsbexfD Rtmfmgis8Jht2Y43AAK6Jw8CvfKa3XZRMkrUtR2BydcEW0EUFr++2u+nxKYQ1W8yvC6t kzTg== X-Forwarded-Encrypted: i=1; AFNElJ/aQ1yQm0tE11UXma5ZQXb5lQJKxtZ72leibM7jOoBpD/6GFTEl4Qv0G6D0amO2cTtX3p1Wvew5eeOXvtc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/KKQCwc0QHqUiiw3quw0AwIMxdH8xdF6mamlxLWd+0MCwpGTM vluhq1jgEQxr3vze5assIaz3xWQs8YMRoDA8qE5I90NrMqmxrBoxWXn6 X-Gm-Gg: AeBDiev2KvahHN+MJpdsDLvQX4UuSu29t2VfMRhwjta3oBinefkiNHikFkflRnZpkR8 MG1voeGoYVnUeUwctQx2c5TZq45Z1vLAGdWZ6sL3wFQyckW0IdEve4y6yDn8A2+go5lWVT2yUuq i13AcqhtsfW2+f4q0GoyASdb7VH/zKfGIa1uoQx6SnVRI0MCXXatGn9S4bH1hs+DpYtu6KWxyLT p53V5DgvxEz+34I9O8mA9NtryMnYvS0uQ3MbDERM5aKlumC8pcOc4ANWFDDQm19txl+prq7/Aui 9vyGUvsErXPv5ZQTugp85zB8ojPDvZ4Pr/VTk/gzRWhKRQKUnh/unDfySwI9T1dD0jDiSx5qLos ddmuMAQRkNVs288/QtOFrqIH8bxPeB8HG3GFLS7bitmEDiAbedUE3VVOq7cwH9LQdMS5hsfrpLK 5QM6AMlzBN7sCIR2JFmHXMO33pzJpGwZSWR+CUoqlVc9gtkgBva+R/Z6cUqH8= X-Received: by 2002:a17:902:b192:b0:2b0:41bf:ca83 with SMTP id d9443c01a7336-2b9873d96b5mr35027285ad.23.1777485568939; Wed, 29 Apr 2026 10:59:28 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98897edefsm27726805ad.74.2026.04.29.10.59.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 10:59:28 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jikos@kernel.org, jic23@kernel.org, srinivas.pandruvada@linux.intel.com Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, sanjayembeddedse@gmail.com, sakari.ailus@linux.intel.com, linux-input@vger.kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/4] iio: hid-sensors: drop redundant iio_dev argument Date: Wed, 29 Apr 2026 23:29:15 +0530 Message-Id: <20260429175918.2541914-2-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429175918.2541914-1-sanjayembedded@gmail.com> References: <20260429175918.2541914-1-sanjayembedded@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" From: Sanjay Chitroda hid_sensor_remove_trigger() uses struct hid_sensor_common to release resources acquired during trigger setup. Earlier implementations required struct iio_dev to clean up buffers, but with the current code this argument is no longer used and is redundant. Adapt to hid_sensor_remove_trigger() API change across all HID IIO drivers to match updated prototype. Removing it simplifies the API and is a preparatory step toward converting the trigger handling to a devm-based API. Signed-off-by: Sanjay Chitroda --- drivers/iio/accel/hid-sensor-accel-3d.c | 4 ++-- drivers/iio/common/hid-sensors/hid-sensor-trigger.c | 3 +-- drivers/iio/common/hid-sensors/hid-sensor-trigger.h | 3 +-- drivers/iio/gyro/hid-sensor-gyro-3d.c | 4 ++-- drivers/iio/humidity/hid-sensor-humidity.c | 4 ++-- drivers/iio/light/hid-sensor-als.c | 4 ++-- drivers/iio/light/hid-sensor-prox.c | 4 ++-- drivers/iio/magnetometer/hid-sensor-magn-3d.c | 4 ++-- drivers/iio/orientation/hid-sensor-incl-3d.c | 4 ++-- drivers/iio/orientation/hid-sensor-rotation.c | 4 ++-- drivers/iio/position/hid-sensor-custom-intel-hinge.c | 4 ++-- drivers/iio/pressure/hid-sensor-press.c | 4 ++-- drivers/iio/temperature/hid-sensor-temperature.c | 4 ++-- 13 files changed, 24 insertions(+), 26 deletions(-) diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hi= d-sensor-accel-3d.c index 2ff591b3458f..a63dae90dadc 100644 --- a/drivers/iio/accel/hid-sensor-accel-3d.c +++ b/drivers/iio/accel/hid-sensor-accel-3d.c @@ -416,7 +416,7 @@ static int hid_accel_3d_probe(struct platform_device *p= dev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &accel_state->common_attributes); + hid_sensor_remove_trigger(&accel_state->common_attributes); return ret; } =20 @@ -429,7 +429,7 @@ static void hid_accel_3d_remove(struct platform_device = *pdev) =20 sensor_hub_remove_callback(hsdev, hsdev->usage); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &accel_state->common_attributes); + hid_sensor_remove_trigger(&accel_state->common_attributes); } =20 static const struct platform_device_id hid_accel_3d_ids[] =3D { diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c b/drivers/= iio/common/hid-sensors/hid-sensor-trigger.c index 417c4ab8c1b2..28d050b45c74 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c @@ -218,8 +218,7 @@ static const struct iio_buffer_setup_ops hid_sensor_buf= fer_ops =3D { .predisable =3D buffer_predisable, }; =20 -void hid_sensor_remove_trigger(struct iio_dev *indio_dev, - struct hid_sensor_common *attrb) +void hid_sensor_remove_trigger(struct hid_sensor_common *attrb) { if (atomic_read(&attrb->runtime_pm_enable)) pm_runtime_disable(&attrb->pdev->dev); diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.h b/drivers/= iio/common/hid-sensors/hid-sensor-trigger.h index f94fca4f1edf..afec46ecbe71 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.h +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.h @@ -16,8 +16,7 @@ extern const struct dev_pm_ops hid_sensor_pm_ops; =20 int hid_sensor_setup_trigger(struct iio_dev *indio_dev, const char *name, struct hid_sensor_common *attrb); -void hid_sensor_remove_trigger(struct iio_dev *indio_dev, - struct hid_sensor_common *attrb); +void hid_sensor_remove_trigger(struct hid_sensor_common *attrb); int hid_sensor_power_state(struct hid_sensor_common *st, bool state); =20 #endif diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-s= ensor-gyro-3d.c index c340cc899a7c..fe663b19e902 100644 --- a/drivers/iio/gyro/hid-sensor-gyro-3d.c +++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c @@ -354,7 +354,7 @@ static int hid_gyro_3d_probe(struct platform_device *pd= ev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &gyro_state->common_attributes); + hid_sensor_remove_trigger(&gyro_state->common_attributes); return ret; } =20 @@ -367,7 +367,7 @@ static void hid_gyro_3d_remove(struct platform_device *= pdev) =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_GYRO_3D); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &gyro_state->common_attributes); + hid_sensor_remove_trigger(&gyro_state->common_attributes); } =20 static const struct platform_device_id hid_gyro_3d_ids[] =3D { diff --git a/drivers/iio/humidity/hid-sensor-humidity.c b/drivers/iio/humid= ity/hid-sensor-humidity.c index be2338d5f407..e580a2af9562 100644 --- a/drivers/iio/humidity/hid-sensor-humidity.c +++ b/drivers/iio/humidity/hid-sensor-humidity.c @@ -255,7 +255,7 @@ static int hid_humidity_probe(struct platform_device *p= dev) error_remove_callback: sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_HUMIDITY); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &humid_st->common_attributes); + hid_sensor_remove_trigger(&humid_st->common_attributes); return ret; } =20 @@ -268,7 +268,7 @@ static void hid_humidity_remove(struct platform_device = *pdev) =20 iio_device_unregister(indio_dev); sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_HUMIDITY); - hid_sensor_remove_trigger(indio_dev, &humid_st->common_attributes); + hid_sensor_remove_trigger(&humid_st->common_attributes); } =20 static const struct platform_device_id hid_humidity_ids[] =3D { diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sen= sor-als.c index 384572844162..9b57cdced18a 100644 --- a/drivers/iio/light/hid-sensor-als.c +++ b/drivers/iio/light/hid-sensor-als.c @@ -432,7 +432,7 @@ static int hid_als_probe(struct platform_device *pdev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &als_state->common_attributes); + hid_sensor_remove_trigger(&als_state->common_attributes); return ret; } =20 @@ -445,7 +445,7 @@ static void hid_als_remove(struct platform_device *pdev) =20 sensor_hub_remove_callback(hsdev, hsdev->usage); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &als_state->common_attributes); + hid_sensor_remove_trigger(&als_state->common_attributes); } =20 static const struct platform_device_id hid_als_ids[] =3D { diff --git a/drivers/iio/light/hid-sensor-prox.c b/drivers/iio/light/hid-se= nsor-prox.c index efa904a70d0e..473c45626487 100644 --- a/drivers/iio/light/hid-sensor-prox.c +++ b/drivers/iio/light/hid-sensor-prox.c @@ -340,7 +340,7 @@ static int hid_prox_probe(struct platform_device *pdev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &prox_state->common_attributes); + hid_sensor_remove_trigger(&prox_state->common_attributes); return ret; } =20 @@ -353,7 +353,7 @@ static void hid_prox_remove(struct platform_device *pde= v) =20 sensor_hub_remove_callback(hsdev, hsdev->usage); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &prox_state->common_attributes); + hid_sensor_remove_trigger(&prox_state->common_attributes); } =20 static const struct platform_device_id hid_prox_ids[] =3D { diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c b/drivers/iio/ma= gnetometer/hid-sensor-magn-3d.c index b01dd53eb100..8be3dfe4dd58 100644 --- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c +++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c @@ -542,7 +542,7 @@ static int hid_magn_3d_probe(struct platform_device *pd= ev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &magn_state->magn_flux_attributes); + hid_sensor_remove_trigger(&magn_state->magn_flux_attributes); return ret; } =20 @@ -555,7 +555,7 @@ static void hid_magn_3d_remove(struct platform_device *= pdev) =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_COMPASS_3D); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &magn_state->magn_flux_attributes); + hid_sensor_remove_trigger(&magn_state->magn_flux_attributes); } =20 static const struct platform_device_id hid_magn_3d_ids[] =3D { diff --git a/drivers/iio/orientation/hid-sensor-incl-3d.c b/drivers/iio/ori= entation/hid-sensor-incl-3d.c index 4e23a598a3fb..56fd9c53dfc2 100644 --- a/drivers/iio/orientation/hid-sensor-incl-3d.c +++ b/drivers/iio/orientation/hid-sensor-incl-3d.c @@ -378,7 +378,7 @@ static int hid_incl_3d_probe(struct platform_device *pd= ev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &incl_state->common_attributes); + hid_sensor_remove_trigger(&incl_state->common_attributes); return ret; } =20 @@ -391,7 +391,7 @@ static void hid_incl_3d_remove(struct platform_device *= pdev) =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_INCLINOMETER_3D); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &incl_state->common_attributes); + hid_sensor_remove_trigger(&incl_state->common_attributes); } =20 static const struct platform_device_id hid_incl_3d_ids[] =3D { diff --git a/drivers/iio/orientation/hid-sensor-rotation.c b/drivers/iio/or= ientation/hid-sensor-rotation.c index 4a11e4555099..56fdb3412fe3 100644 --- a/drivers/iio/orientation/hid-sensor-rotation.c +++ b/drivers/iio/orientation/hid-sensor-rotation.c @@ -353,7 +353,7 @@ static int hid_dev_rot_probe(struct platform_device *pd= ev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &rot_state->common_attributes); + hid_sensor_remove_trigger(&rot_state->common_attributes); return ret; } =20 @@ -366,7 +366,7 @@ static void hid_dev_rot_remove(struct platform_device *= pdev) =20 sensor_hub_remove_callback(hsdev, hsdev->usage); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &rot_state->common_attributes); + hid_sensor_remove_trigger(&rot_state->common_attributes); } =20 static const struct platform_device_id hid_dev_rot_ids[] =3D { diff --git a/drivers/iio/position/hid-sensor-custom-intel-hinge.c b/drivers= /iio/position/hid-sensor-custom-intel-hinge.c index a26d391661fd..5288b63f4e21 100644 --- a/drivers/iio/position/hid-sensor-custom-intel-hinge.c +++ b/drivers/iio/position/hid-sensor-custom-intel-hinge.c @@ -337,7 +337,7 @@ static int hid_hinge_probe(struct platform_device *pdev) error_remove_callback: sensor_hub_remove_callback(hsdev, hsdev->usage); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &st->common_attributes); + hid_sensor_remove_trigger(&st->common_attributes); return ret; } =20 @@ -350,7 +350,7 @@ static void hid_hinge_remove(struct platform_device *pd= ev) =20 iio_device_unregister(indio_dev); sensor_hub_remove_callback(hsdev, hsdev->usage); - hid_sensor_remove_trigger(indio_dev, &st->common_attributes); + hid_sensor_remove_trigger(&st->common_attributes); } =20 static const struct platform_device_id hid_hinge_ids[] =3D { diff --git a/drivers/iio/pressure/hid-sensor-press.c b/drivers/iio/pressure= /hid-sensor-press.c index 5f1d6abda3e4..2bf5d055e175 100644 --- a/drivers/iio/pressure/hid-sensor-press.c +++ b/drivers/iio/pressure/hid-sensor-press.c @@ -319,7 +319,7 @@ static int hid_press_probe(struct platform_device *pdev) error_iio_unreg: iio_device_unregister(indio_dev); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &press_state->common_attributes); + hid_sensor_remove_trigger(&press_state->common_attributes); return ret; } =20 @@ -332,7 +332,7 @@ static void hid_press_remove(struct platform_device *pd= ev) =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_PRESSURE); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(indio_dev, &press_state->common_attributes); + hid_sensor_remove_trigger(&press_state->common_attributes); } =20 static const struct platform_device_id hid_press_ids[] =3D { diff --git a/drivers/iio/temperature/hid-sensor-temperature.c b/drivers/iio= /temperature/hid-sensor-temperature.c index 9f628a8e5cfb..60d4fcc8043b 100644 --- a/drivers/iio/temperature/hid-sensor-temperature.c +++ b/drivers/iio/temperature/hid-sensor-temperature.c @@ -253,7 +253,7 @@ static int hid_temperature_probe(struct platform_device= *pdev) error_remove_callback: sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_TEMPERATURE); error_remove_trigger: - hid_sensor_remove_trigger(indio_dev, &temp_st->common_attributes); + hid_sensor_remove_trigger(&temp_st->common_attributes); return ret; } =20 @@ -265,7 +265,7 @@ static void hid_temperature_remove(struct platform_devi= ce *pdev) struct temperature_state *temp_st =3D iio_priv(indio_dev); =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_TEMPERATURE); - hid_sensor_remove_trigger(indio_dev, &temp_st->common_attributes); + hid_sensor_remove_trigger(&temp_st->common_attributes); } =20 static const struct platform_device_id hid_temperature_ids[] =3D { --=20 2.34.1 From nobody Tue Jun 16 19:32:19 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 32E5E40FDBE for ; Wed, 29 Apr 2026 17:59:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485579; cv=none; b=Qf+OdtPvgd8djqgfse0guZG94g9XOSNV2pXTw1fj4QVvBOaaQu1IuKfbgKMmA6W7z8Dyawxu+lK2ovopQQNb27NZli8hVied9wO90fidYRyD2bsmO7eX8PYmoxddprDncighYTUgbn7uE1R2kA0X61d0C92u2B79F3HFx4wGYM8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485579; c=relaxed/simple; bh=qLrrmL4AkQqIOhkUpsgjITx9Rs/KUJY+W1QRMNh6928=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VBtt5THVmQIJWJuDqb5DynAwfVqsh8xm4yw4stj/f4UOmD+HOxEZtA0yxekbCKfLtih62aYwTqwlIzPENYjYrQ0H6XO8uWwtD7PwC6K45RTCk57otx1/t+VxqTvTnuqVF43qspnGKz6xz9ZDybIMGX+27pHRsiPkpl+5B1sYUjA= 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=ZVUD85jS; arc=none smtp.client-ip=209.85.214.182 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="ZVUD85jS" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2b23fcf90b2so568985ad.3 for ; Wed, 29 Apr 2026 10:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777485573; x=1778090373; 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; bh=JLr5AK+EwC8gV79FD9GoQQ4ntxH7YLzxoj/qCWXjquY=; b=ZVUD85jSkyDGGSorM8elm8CDuXektUFwPkELUM0tVbPmDIEoyOWGofEbVJ01m4syAh p5/SJwXahpyhw8+7glAGIVpHZNHX0nRztnl5lugljNGw8uxo/GijjO9W+HCirBgpESpk R6jcNEePUCm+avT3tTAWMzL0HnEilPj+sMEVqfYC55i33NyGj2DEVxusDjS0nfvc9C9J ECrCFGi4v0R+qH6DQvtM+0Ll/vqyMI8Bn/sKKTiA5czXcsENhsX4MF2sbfe/ktE+KXsN qMA8Gsq1JfC/QTrxZK10lbg1YdCrN2rRbEn2QbwHUoGutCfnjfG8F+LPUGvAxfY3BAzU n62w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777485573; x=1778090373; 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; bh=JLr5AK+EwC8gV79FD9GoQQ4ntxH7YLzxoj/qCWXjquY=; b=RzSZ/hJ03MBnRWrmXbzATlTn8paYivlWiSggvsY10X+dLJVffibAXSJDUXrpMuCFbA sf/rCUXBUhAG4Dw+MJXuVv70olX0ltCclKIvJ6EW/PWvYOOZDBBGVUgleIU/hxSs6c9S TzVpdjOJ3LDHG04g5bxJ+R/G9dVDiu/uu9lai09v5MVE4ehtvneAEOZSqWnWf6uwlXIH qsO4Tq7zZR8+/VxgIggVKi3ghBc8RjlL6lHq/BNBrsAI7qtjc/EPu4IeSdFgaNn84eyf F5HYP2ypUReyTwm6JDk5Yhf+Rfagu8AcgaQIxjCe5Stt/jPnTyHDLgoEww6T2Un23tJ1 nTXA== X-Forwarded-Encrypted: i=1; AFNElJ9Y6BS7MG+Cty2dIFatHMrp7z1vNTXr8Utrwo/amMBtd3ezUO6aitdCcNL9luRIxIF0DdOCQuRu6NwZ3Dk=@vger.kernel.org X-Gm-Message-State: AOJu0YyNAblHWqF7TMtC110yVO3eWXVZ3Sn3M18SwJlhlNC25HR5CF5J lAAm/p5hsRg/BNjXkjJ0KGuvDB+XVhQvfBQghUdjqs/JebXfVszgITFgYqFb5w== X-Gm-Gg: AeBDiespEUTTEm093PR7FWtby1RAXTo2LOUpYcQOpD3YZ0bc3lgb28ApnYR7h+Ne9ZY hGSRqaJ68z6CoWWgfoWS5uzy/Ly4tXP8we2GtaiuKyijg05E5JxmLD/l7QtL3bD0oOs6a5RDb1C OnR1o4sjDMWDB+Xk5JM/b1YLpFqp9xIB/7C+IbIEGk1Cw9c6xCdmZm15C03W0veCyRotUhEEpDL 7ohJtwq+9VDr/4364eAUaW8+RwkaaTFMrgCRfNisdw59bxhd5Es6ENjf+0PLYkLQjfexRrrv8bT hvBSHD47aMDryA2GxC2WQMPe4T58yVGM6Qm12JKne9IYYQzBiGsVvofRbjXEOY+SvO8icV1ow3U V4pcjrwKW+aMOV3dIiuzpth1RPC/agMlkAKwdY+qReTV+saorZAU7LRqFVdM50tLar6OReXGcI0 DljM3z2porudbGEpUxea6+pjgAkcHlM/r4JJUfYcKp3fihtlyx0ylpT+gE3AM= X-Received: by 2002:a17:903:4585:b0:2b7:bba7:5b07 with SMTP id d9443c01a7336-2b97c49a51bmr87501495ad.36.1777485572911; Wed, 29 Apr 2026 10:59:32 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98897edefsm27726805ad.74.2026.04.29.10.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 10:59:32 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jikos@kernel.org, jic23@kernel.org, srinivas.pandruvada@linux.intel.com Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, sanjayembeddedse@gmail.com, sakari.ailus@linux.intel.com, linux-input@vger.kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/4] iio: hid-sensors: introduce device managed API Date: Wed, 29 Apr 2026 23:29:16 +0530 Message-Id: <20260429175918.2541914-3-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429175918.2541914-1-sanjayembedded@gmail.com> References: <20260429175918.2541914-1-sanjayembedded@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" From: Sanjay Chitroda hid_sensor_setup_trigger() is common API used for the HID IIO drivers, prepare devm API devm_hid_sensor_setup_trigger() to acquire resource during setup and release using device managed framework during drivers fail, unbind or remove path. Register action with devm_add_action_or_reset() to release resource with devres framework. Signed-off-by: Sanjay Chitroda --- .../common/hid-sensors/hid-sensor-trigger.c | 24 +++++++++++++++++++ .../common/hid-sensors/hid-sensor-trigger.h | 2 ++ 2 files changed, 26 insertions(+) diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c b/drivers/= iio/common/hid-sensors/hid-sensor-trigger.c index 28d050b45c74..6692f403c8ec 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c @@ -301,6 +301,30 @@ int hid_sensor_setup_trigger(struct iio_dev *indio_dev= , const char *name, } EXPORT_SYMBOL_NS(hid_sensor_setup_trigger, "IIO_HID"); =20 +static void hid_sensor_remove_trigger_action(void *ptr) +{ + struct hid_sensor_common *attrb =3D ptr; + + hid_sensor_remove_trigger(attrb); +} + +int devm_hid_sensor_setup_trigger(struct device *dev, struct iio_dev *indi= o_dev, + const char *name, struct hid_sensor_common *attrb) +{ + int ret; + + ret =3D hid_sensor_setup_trigger(indio_dev, name, attrb); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(dev, hid_sensor_remove_trigger_action, a= ttrb); + if (ret) + return ret; + + return 0; +} +EXPORT_SYMBOL_NS(devm_hid_sensor_setup_trigger, "IIO_HID"); + static int __maybe_unused hid_sensor_suspend(struct device *dev) { struct iio_dev *indio_dev =3D dev_get_drvdata(dev); diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.h b/drivers/= iio/common/hid-sensors/hid-sensor-trigger.h index afec46ecbe71..6fd7c39a240d 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.h +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.h @@ -17,6 +17,8 @@ extern const struct dev_pm_ops hid_sensor_pm_ops; int hid_sensor_setup_trigger(struct iio_dev *indio_dev, const char *name, struct hid_sensor_common *attrb); void hid_sensor_remove_trigger(struct hid_sensor_common *attrb); +int devm_hid_sensor_setup_trigger(struct device *dev, struct iio_dev *indi= o_dev, + const char *name, struct hid_sensor_common *attrb); int hid_sensor_power_state(struct hid_sensor_common *st, bool state); =20 #endif --=20 2.34.1 From nobody Tue Jun 16 19:32:19 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 EA8C5413235 for ; Wed, 29 Apr 2026 17:59:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485581; cv=none; b=RrU6o62rWYO3gvKfwEPNHVifHLUmRGbKfCZvxgopL/AsaN6wXBWlcemqeOE6/Hmf206pzPlIPL5w8savbYobgP496tSS0FSgqAI3N9rc12g3ivPvHSpQc+JM2G8ZYIoMPs4VGYmbK29PEcCnJuYXbXMa2+anxcw7AIgtlXmlbeA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485581; c=relaxed/simple; bh=f6c88maZQdHExOwwPjrqHTvVCEAdDzIxf195S24WLoI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DHW5bMyi5HgyFI/+IvF97MLliIeJ5p6/0IF9EhkHdC1J9/uJH5kDcJ5Y7l/VVZ8inz9zKS8Vq1knUvHeAy6RNt/9QCtKqa2dWgm0/cFTQ7wVboRRA/P5s63hMBmCLAaaW1k31TayXEHWzFrTqTiJrHtEyqpV7ifzsFun28snaaU= 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=VU0hgu6l; arc=none smtp.client-ip=209.85.214.170 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="VU0hgu6l" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2b24fcc2b5dso539075ad.1 for ; Wed, 29 Apr 2026 10:59:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777485577; x=1778090377; 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; bh=cimAUNVeOWrPFCeKKe+6E1DIuZ7+Wuy1/HLlGLHnGZE=; b=VU0hgu6lXh5irFhULNuMTzv6RQsYqPqNKyLM++5nbCsDRacq4AXJTGPmovyInG+KEc wtygiSW+ycgzexwp7Den79zyIpMkE5FI6Q7ZMIY1uuUm7S3lxq32jz9K/mjDbjAFHo5Z ju4Z/pH9C6ztl/LO/Ayo8EnSRQ5TaYy0JxWjpSHPNVjvp5dmoQx0+Mt70DHe9s17n6zs E4ZXFi3y/sq62QgetmJeCqtkfh+tXnMjLuVGE3JOelILs7b6WTTqe8cRN8d5sfFSjG39 CmYoEmpkC0/N3M1sny7cpxj6VmZzHEoLsPahz6ZgZOIryezmGzcsaCa9CnL/wxAHC+TO PZhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777485577; x=1778090377; 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; bh=cimAUNVeOWrPFCeKKe+6E1DIuZ7+Wuy1/HLlGLHnGZE=; b=eNjZ/tW59zrnqdwuuW/yIgzwYYpuR+vugh7Zv0exXzsbKdSLQiuYJqNIV4GFkLh5NF or/Wb3AYJiq0ncJRHRlZtLd76GOSK0jUe7PEQjo0h6uj4o7bZcmnzzHnSdpXqzBQE0A0 v1hpCb4PMnC8E6iEP+LTVUgl2OTcvMMWE6+uV/WphI+pvlUjjEe+8Dv6t9a9rOfZPysR zr8Thg/leDEGYELZUaJPurIYNKPh+lxm4VKr10MamXfoGfGM18WoIA2U+fMZ6zQscrso WqCLbAyC9VmVh7Hm/8hvAQjBqj/NLF4TeCvoPBVcv5cGaB4Jqp+maT847Zf6I+upYv54 y6KA== X-Forwarded-Encrypted: i=1; AFNElJ/bZCgyhSmgul7RaGv5RNOSGJFK3DTdmPFxU0lpqbYvA88IKG+eqatww6sjGo3iCQg3IrtZL34MLgcWIuQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyEilj/3QAs7TkYXUsrreAQEJz3cZgbVC20pijAzeGJX7FpWczd 1PRQAIr4CzEAADtVCAazZ+VypgH3RmKsog1RvzGy4AvRNkgDFN/iIqxJ X-Gm-Gg: AeBDievrD2gFCH4BuScNkyfj+NYLF2nostQ1aNYQVULIpJ+Rzshcb9rdI6c09pEeMIs SuvQRCUZhB4hpEXvFKn60aPCSFcVygEA2FL080mILi8uc0ES3TnB/c1MVk6MzzCvCYUo5u9kAUT wcvB3+58xBdw169vt0NF7VpYdOD/7kK66w6iixaL/+WrX1gknQ4hXZNXiorAHwPvZnfj7gbIbOz N4zf77OU2qs456y9WPDSrxZXUolNEqWEPt7C70A6zqtcuorp67OGOwCWKZE/DLSCqp0W+3ul5Ig wx6ZX6YpjswQe5oIdMc3cC4+Kqi4cXBglm1H8YyJrpUwq+o78kBAY74uUGRQ6wFHELgilCzE1jS cvOyztdqWiZfMIayL1aAbdLjgsn2VZS+GCveG5ya7WGmkamEX0lGhO/LDGDOgOAAyX7Aq310+S1 v6QHitrrFRaw9seL+Rc4pLOtHUM82qrfkWGgrcM1m6Qox3M10frTSzFcZotXY= X-Received: by 2002:a17:902:708b:b0:2b4:689a:e411 with SMTP id d9443c01a7336-2b97c4798ecmr60756285ad.22.1777485576980; Wed, 29 Apr 2026 10:59:36 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98897edefsm27726805ad.74.2026.04.29.10.59.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 10:59:36 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jikos@kernel.org, jic23@kernel.org, srinivas.pandruvada@linux.intel.com Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, sanjayembeddedse@gmail.com, sakari.ailus@linux.intel.com, linux-input@vger.kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/4] iio: gyro: drop hid_sensor_remove_trigger() using devm API Date: Wed, 29 Apr 2026 23:29:17 +0530 Message-Id: <20260429175918.2541914-4-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429175918.2541914-1-sanjayembedded@gmail.com> References: <20260429175918.2541914-1-sanjayembedded@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" From: Sanjay Chitroda Use devm_hid_sensor_setup_trigger() to automatically release resource during fail, unbind or removal of driver using devres framework. This simplify the setup, remove goto, avoid manual resource cleanup in teardown path. Signed-off-by: Sanjay Chitroda --- drivers/iio/gyro/hid-sensor-gyro-3d.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-s= ensor-gyro-3d.c index fe663b19e902..86c281f2a367 100644 --- a/drivers/iio/gyro/hid-sensor-gyro-3d.c +++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c @@ -326,8 +326,8 @@ static int hid_gyro_3d_probe(struct platform_device *pd= ev) =20 atomic_set(&gyro_state->common_attributes.data_ready, 0); =20 - ret =3D hid_sensor_setup_trigger(indio_dev, name, - &gyro_state->common_attributes); + ret =3D devm_hid_sensor_setup_trigger(&pdev->dev, indio_dev, name, + &gyro_state->common_attributes); if (ret < 0) { dev_err(&pdev->dev, "trigger setup failed\n"); return ret; @@ -336,7 +336,7 @@ static int hid_gyro_3d_probe(struct platform_device *pd= ev) ret =3D iio_device_register(indio_dev); if (ret) { dev_err(&pdev->dev, "device register failed\n"); - goto error_remove_trigger; + return ret; } =20 gyro_state->callbacks.send_event =3D gyro_3d_proc_event; @@ -353,8 +353,6 @@ static int hid_gyro_3d_probe(struct platform_device *pd= ev) =20 error_iio_unreg: iio_device_unregister(indio_dev); -error_remove_trigger: - hid_sensor_remove_trigger(&gyro_state->common_attributes); return ret; } =20 @@ -363,11 +361,9 @@ static void hid_gyro_3d_remove(struct platform_device = *pdev) { struct hid_sensor_hub_device *hsdev =3D dev_get_platdata(&pdev->dev); struct iio_dev *indio_dev =3D platform_get_drvdata(pdev); - struct gyro_3d_state *gyro_state =3D iio_priv(indio_dev); =20 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_GYRO_3D); iio_device_unregister(indio_dev); - hid_sensor_remove_trigger(&gyro_state->common_attributes); } =20 static const struct platform_device_id hid_gyro_3d_ids[] =3D { --=20 2.34.1 From nobody Tue Jun 16 19:32:19 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (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 B33CE41B346 for ; Wed, 29 Apr 2026 17:59:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485583; cv=none; b=tGhG5VxBi5wi1B9XTdWzY6S9HuHQ1KdIR7V6otpYSaYl3AfVlFGRgabvlYyaN1+wSeEQCT26rNUNgKAYTpPp5MTG2JNdXY/5mNR57Y9Ph01acCvAXtvSwoJG/m9oyx0RrcAghCe7wy5YusOPZCXNiImemKeRDDABKWFN/6MtrKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777485583; c=relaxed/simple; bh=8/qcCYzSJnLBTmLbTEfDHsZdZW0SMDQHR6QOpsBp21A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ch6K2l9TpubI9wK96VUaYPabBrofp7w7M2ZZFIJSYxmuEWyhrK/+aWr7akrSzvo3OtkZgK0+1qOgQFuRKIjnQZ5uT8yojR64fq0I8SfELyM/p44rtTPHiYrHnwU1DUrJGZ+rKYP4NHRnG/EHuKa8qi8mWgxbxozCSzI2Mbs0O+c= 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=YD85aaFp; arc=none smtp.client-ip=209.85.214.179 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="YD85aaFp" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2ad9516a653so468935ad.0 for ; Wed, 29 Apr 2026 10:59:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777485581; x=1778090381; 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; bh=UeZsajTGzir0DsezoA/yBicvjNkqNZfG5BhpGutw1+U=; b=YD85aaFp3w0TzcutfWGwDFRDOVpi9vVqd33gPHfntHYCaGt7/k89mDKusYx+8z4JPq 4RISz20+2Y0oSDmjeXNAji8pJEHbLEOAbdsuqgOhKyNthcyUTZbfLtMoeD/BnHdz1jZa 2CfX40p8SJvfK6FUb1XozkAbmzNmIBZdvNdZtCCpFqRP4Q2m/nwEEk1uLGt+Rh88l7bl FlBk46kr2vS5JkenC5osiPD/wrW1K8DnhQMu+mQItVkFTHsgdIWL6AbNIOlqUHBRX+RR OQI8XmOux+QuchBrliOChlsaZ1WDqaK6sKi5Sd/BJUvBrrCZFo9zcnPYC1UuK6aSLLXa eoEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777485581; x=1778090381; 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; bh=UeZsajTGzir0DsezoA/yBicvjNkqNZfG5BhpGutw1+U=; b=LPLo9ehKR2JOyiCx1PEk9GgJxdG11TxwIaIrXiJDQzqergTyzZOOtmwsEGAIAVA1Ey uK1IayFWumYhAxIPJOTq8LlQ3GNndrDseayWkdH7rekdgA/VfjIassPk2J/KNuT0jSKO GOkXGIVhDQyMC1eKacTcujA+a2BnRHofe3oPD3RZgnRb//8t6lavK7eQaO+BBT3v92GD eMKu9QapVigWFbhgt0mv4qDP4Q6oC4aLNBEmvWeqnWSacWFHqmql2rNikXJeOOmSo3Hu 506Sf0Tc/BYghAKISZDpcIMutRBCYZ+aMSOIdOGQSIj5ERIIAk0nes5qzSC+5LnBnY2u UiIg== X-Forwarded-Encrypted: i=1; AFNElJ/qJZQblD4zCzEqV1bd0mSDc9kCdwKulWApDwNT+P/VAUp1NWWGeN+EGz71+Mnqzv7FiQRICzkLOEyQoNk=@vger.kernel.org X-Gm-Message-State: AOJu0YzCDGPVIoY+bcOnp/dX7HBfNqHv7Sy9nwliu+dEHLwdH7Owx/4x WwlHEBUzGCsd9SFJiP9vXxezvK5CXwYj15fbTBLSyj9+XY7uKKBZkGj6 X-Gm-Gg: AeBDietxnHONyhPyBSnNffT/9WrzAlx+eo2l9czJD6mM9SEYxOz7ADLlf6tQDjqOnxF 6xLbWXG2gZUKHummvXcSFc3/4suU7r4UA4pDIXE5grzu1bmFCtgNu5SSFQ41fy7E5OsGkEmaCj4 y3eO3hiRPv8Ye/kw63O6rfZzeh8zYyOql+36R13mJ1MEGRsFDHJbxr63lOtN9GN4EaqRcLcaMKL 1AHU+J31iaLUReefEfjf6zIdJvcdpaU3c3dB5lxhmXx5loR1BYeYzGJtAaSZlI2fBjI4FymNR6T Bc3009q29GsnsRUwoijHsOg79LMSELjfQ/RqgWDWv+aUERU78V2rnM2VI6ESYwwC/STBPfoIX70 gQ3vwG/ZEScuTKhSx+Ase/iopj+gtF7p5FLvMv63UiKa4BEcYiTltoYM0nFETwbjriwzMdOV4Bl 7XTh8fFsTekBb8zPXmjP8PxpYcD0uUlh13EzPVgsVM9HTgM9sClzQmd7jyHzLEWhdzNu+Blg== X-Received: by 2002:a17:903:3583:b0:2b0:59c4:e9dc with SMTP id d9443c01a7336-2b987407cfamr41849745ad.22.1777485580899; Wed, 29 Apr 2026 10:59:40 -0700 (PDT) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b98897edefsm27726805ad.74.2026.04.29.10.59.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 10:59:40 -0700 (PDT) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: jikos@kernel.org, jic23@kernel.org, srinivas.pandruvada@linux.intel.com Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, sanjayembeddedse@gmail.com, sakari.ailus@linux.intel.com, linux-input@vger.kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/4] iio: humidity: drop hid_sensor_remove_trigger() using devm API Date: Wed, 29 Apr 2026 23:29:18 +0530 Message-Id: <20260429175918.2541914-5-sanjayembedded@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260429175918.2541914-1-sanjayembedded@gmail.com> References: <20260429175918.2541914-1-sanjayembedded@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" From: Sanjay Chitroda Use devm_hid_sensor_setup_trigger() to automatically release resource during fail, unbind or removal of driver using devres framework. This simplify the setup, remove goto, avoid manual resource cleanup in teardown path. Signed-off-by: Sanjay Chitroda --- drivers/iio/humidity/hid-sensor-humidity.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/iio/humidity/hid-sensor-humidity.c b/drivers/iio/humid= ity/hid-sensor-humidity.c index e580a2af9562..7ec8a8ba2b38 100644 --- a/drivers/iio/humidity/hid-sensor-humidity.c +++ b/drivers/iio/humidity/hid-sensor-humidity.c @@ -233,8 +233,8 @@ static int hid_humidity_probe(struct platform_device *p= dev) =20 atomic_set(&humid_st->common_attributes.data_ready, 0); =20 - ret =3D hid_sensor_setup_trigger(indio_dev, name, - &humid_st->common_attributes); + ret =3D devm_hid_sensor_setup_trigger(&indio_dev->dev, indio_dev, name, + &humid_st->common_attributes); if (ret) return ret; =20 @@ -244,7 +244,7 @@ static int hid_humidity_probe(struct platform_device *p= dev) ret =3D sensor_hub_register_callback(hsdev, HID_USAGE_SENSOR_HUMIDITY, &humidity_callbacks); if (ret) - goto error_remove_trigger; + return ret; =20 ret =3D iio_device_register(indio_dev); if (ret) @@ -254,8 +254,6 @@ static int hid_humidity_probe(struct platform_device *p= dev) =20 error_remove_callback: sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_HUMIDITY); -error_remove_trigger: - hid_sensor_remove_trigger(&humid_st->common_attributes); return ret; } =20 @@ -264,11 +262,9 @@ static void hid_humidity_remove(struct platform_device= *pdev) { struct hid_sensor_hub_device *hsdev =3D dev_get_platdata(&pdev->dev); struct iio_dev *indio_dev =3D platform_get_drvdata(pdev); - struct hid_humidity_state *humid_st =3D iio_priv(indio_dev); =20 iio_device_unregister(indio_dev); sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_HUMIDITY); - hid_sensor_remove_trigger(&humid_st->common_attributes); } =20 static const struct platform_device_id hid_humidity_ids[] =3D { --=20 2.34.1