From nobody Mon Jun 8 04:15:25 2026 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.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 3152030F534 for ; Tue, 2 Jun 2026 16:44:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780418651; cv=none; b=PVvJQIQ61KKGHm7QROeIb0/1nrEeYMV55j/unap8timHtB4jO94NKyiogToaya3URAo13P+IgoDkhzVJMOzc8qLmaQQp1O/NiJfHzFyfsdsUwYjFAQjIy7oy0AHwZxg2TAOzFakPpGQn+5s69TuuEJooy1bz+v6z4JSeQtUFaVc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780418651; c=relaxed/simple; bh=Gfnvv9jauhLw0g/6Sqp+by/gM7jrvT3jVf7MXmFf6qw=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=PjHhCT/orIBhEFafGG7jXofp15seYeEIL8DLd8zMyI89woVDViV8mT9VF9qvw8a0rSIxhlpiSQ7Q3jzZaMSy5MZ2FGduLOTGMCpBe6SiQ3oNoqJ2VLt63IsFtowpKF8w1F17AN8VJdfUW15Dv4mcLvYCfI6oUzowy2eCAQ7nF9E= 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=A51XQS19; arc=none smtp.client-ip=209.85.210.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="A51XQS19" Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-7e6b5dfde3cso1303360a34.3 for ; Tue, 02 Jun 2026 09:44:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780418649; x=1781023449; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Nl9gnAlZvSXj7skqkDE40kDRW0ZjxZNCsBSk0n8CYLk=; b=A51XQS19Wul3jKdLr18B7262hgTKkYJyj47BDUPcJvb9LnvVquSjPGCiiuwQzwA1S6 0/HKM7DI1s8i3DnfsSZNF5KIwVUs1XveTrHdStyFsWUIvkeEtKmGIdc3PJcctT/5Li4Q hKV1zJvDtegvkySTXjZFxtjcoio6KJ5Wk4nW/DFWu+0g4vA/XM1FwZR0g/7NV5P22Eab +hRVzlBNn5ONTfZ5EctG8qp+gu3TEI9eoU1++muRz+2TO5zbe+DQgP3n0ppUNAhv3QFO DTKMu+avG8XM0PNzCciJkS3JFoPoSYeqh7p5Rb9NVEgr3aqKWUXwYcwWzU8qlilU/wj7 XqVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780418649; x=1781023449; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Nl9gnAlZvSXj7skqkDE40kDRW0ZjxZNCsBSk0n8CYLk=; b=Fb6XMvMwXU4ulw5l3elVkWCIekZyzTJqDmt8K3naq+134uvCsnSB5EH3KAflDN1tZc rxHiOhb2+4aEx0mOPl9ggaN35KnzySYfklZ/jUU5i660lPmB3YC69JmnqmvHWb+07Q2u 5CqUaKo0Drrb5kwAY2eGR7XYcaVtAsLGbtufq6HMuXLHD8V/Z4In7ihceiHmsLYalIpv VpRqHBZUVR93DZvZmsE6wE3DNAXxLzYKUU8ICmEQNFrnpzOIeiq8gMDh+e/AHhGYGYhu 8xdH305m0sECTQZRGg8tv/8n6iAfyxD6D26VyYDk62fdgxKND5w/Y8v/KI5wpsOYXtWC dZig== X-Forwarded-Encrypted: i=1; AFNElJ8vJ4x5Dua8/tUjFteUvAPI7ukQv2s/i6jpBNpdXY2VJugrIwu05dpSUC4sxj0IJn+XxyYxlBKG4zIackc=@vger.kernel.org X-Gm-Message-State: AOJu0Yybv1CdHkPLLUxHPInhBmzYsdoe02jwXKIHe3HkMMhE2ZaHCZdf LIIcvrkGptPi8vgBdwb5kLXBUV/T9mSKGXfS+GDcrujCp+8rcOaZg7GhsjmH0/0l59Q= X-Gm-Gg: Acq92OE9VzN+bcwE/yDw9MGJJUcU2mjVDH8xfAKM8onk7uU6DMCrLnFfm6qZL0cfyKd s3pDYSqjbEvYXnkHfbE+nnrAvX5lQ2NJ5D+Fxd9/E4AN7vjrlFjD/la6w9F+OweQ80Z5pyEoCLo 2OYc3B9fWFsXYc50Oa7XbsO7eEDlQs6T7dTwDOTbR5Wbg35HYj8yBXFCcvG5L8oFg6HckVTtgYA hftroQJf8mRmCvttpytOQ9gvEADdExBlTNfEFVdVP9HUPP3PF1g2r1zSlW2tlNfapZiOk2GYmSl u1CJ8vnLMawGD1q/j0mNzMYsf2UCja1zDnhTlkKDkxMBZD6Bgy2wStma6LDD57S/o/oSlojL/66 y6s5/pzbcMMSYjadJVs7+aKQixlg4/jVWpwsWg/gElXsszwcNAYU2NUJtBko7/jb56bz13J9pBA HBbcE5SA8vRqHxrxhkAfXPy8SaV5BCtkRAK4ApJURVwp4EaexjHg6wPOqgt94hC5mmRJEO X-Received: by 2002:a05:6830:6010:b0:7e6:d58d:b62f with SMTP id 46e09a7af769-7e6e6427b15mr73792a34.19.1780418649061; Tue, 02 Jun 2026 09:44:09 -0700 (PDT) Received: from linuxescape.lan (23-88-128-2.fttp.usinternet.com. [23.88.128.2]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e695a1d33dsm11504068a34.0.2026.06.02.09.44.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 09:44:08 -0700 (PDT) From: Maxwell Doose To: Peter Rosin , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3] mux: core: Replace manual put_device() with __free(put_device) Date: Tue, 2 Jun 2026 11:44:07 -0500 Message-ID: <20260602164407.343565-1-m32285159@gmail.com> X-Mailer: git-send-email 2.54.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 current code for returning on failure in mux_get() uses manual put_device() calls. Refactor and replace them with a new variable for the pointer to the underlying device and __free(put_device). Signed-off-by: Maxwell Doose --- drivers/mux/core.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/mux/core.c b/drivers/mux/core.c index 23538de2c91b..2c8d380fd81a 100644 --- a/drivers/mux/core.c +++ b/drivers/mux/core.c @@ -9,6 +9,7 @@ =20 #define pr_fmt(fmt) "mux-core: " fmt =20 +#include #include #include #include @@ -586,13 +587,13 @@ static struct mux_control *mux_get(struct device *dev= , const char *mux_name, if (!mux_chip) return ERR_PTR(-EPROBE_DEFER); =20 + struct device *mux_dev __free(put_device) =3D &mux_chip->dev; controller =3D 0; if (state) { if (args.args_count > 2 || args.args_count =3D=3D 0 || (args.args_count < 2 && mux_chip->controllers > 1)) { dev_err(dev, "%pOF: wrong #mux-state-cells for %pOF\n", np, args.np); - put_device(&mux_chip->dev); return ERR_PTR(-EINVAL); } =20 @@ -608,7 +609,6 @@ static struct mux_control *mux_get(struct device *dev, = const char *mux_name, (!args.args_count && mux_chip->controllers > 1)) { dev_err(dev, "%pOF: wrong #mux-control-cells for %pOF\n", np, args.np); - put_device(&mux_chip->dev); return ERR_PTR(-EINVAL); } =20 @@ -619,10 +619,11 @@ static struct mux_control *mux_get(struct device *dev= , const char *mux_name, if (controller >=3D mux_chip->controllers) { dev_err(dev, "%pOF: bad mux controller %u specified in %pOF\n", np, controller, args.np); - put_device(&mux_chip->dev); return ERR_PTR(-EINVAL); } =20 + struct device *prev_mux_dev __maybe_unused =3D no_free_ptr(mux_dev); + return &mux_chip->mux[controller]; } =20 --=20 2.54.0