From nobody Tue Sep 29 04:09:42 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.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 610A840EBA8 for ; Wed, 12 Aug 2026 15:26:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548379; cv=none; b=btTMHjiNYVaO2U8oiseIua/ElPmRdrEAAEKiVWDG8nYZPEWo7c3RjU/5LyZ56W+zdfxAfbNR6bgP2/JBHwTQHBu+T+ZozezrYa9UgYQh7lv84y20Q/I87L7SPlC8t6epIAvJkmmRORe+v67S7OrRGf9S4c+kvHbeWQQeNnUZntA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548379; c=relaxed/simple; bh=BmIb+Il++CIpxZKB2uXHCgCc4EQx4Pr42FwpW3tzSIo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ulB2Xz3B4758JfITDdi+aICTWAVMi3d34+cmINkTq4thMsXXkuXtgUba9Pgf8/BdPQ/xV2mjyODsT4U+krmVD67yJAu1O6bSewhuhulI8NYV+Y2sdAdaeTiCOe/ZlbBPe18Vw93qO3Dh1K9EfRjI3eLFMGJyyIyhp/Dmw+YeS3o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=HEndYoic; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="HEndYoic" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4921eed3fa2so9670105e9.0 for ; Wed, 12 Aug 2026 08:26:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1786548371; x=1787153171; darn=vger.kernel.org; h=content-transfer-encoding:content-type: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=pftv9JGp6xMI49TVDTVgdPdSmdnZso7cRiQFK4VWNtQ=; b=HEndYoicFJeGNi5hv0W7xpZ5hQ1VPfYEamkYQSbjRDTfh9bNIQYokNQAS60OpS79TA OTxDUyqK31IoE3wHZepbt8dx1y5x8Wk54++ayXD9wqrkmF2SL1eSPT6E3Uqh2eKgWjbB ZdKrhLio1Wk26R1iNMV5sxC4i79J9o5r7VTzO2XXbt4t+0Nm5WNSb/1TjmwFL4wCnKqN IemZHPl4kFf7MeQVtWnzXxQurk0Vjbj+mhR0v/gk6Q9MQphd8pk/Yl69aEmihmrWa6zW Bp8Pk1F53sXUuVRf976BjwrPmOM4aD0fqVkCkifZQBwMyRsqWOszZHLDiY9Th/XHdyBi P7Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786548371; x=1787153171; h=content-transfer-encoding:content-type: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=pftv9JGp6xMI49TVDTVgdPdSmdnZso7cRiQFK4VWNtQ=; b=oyQpJnnX6ekS1aZnKofGrw5wBbbZ0JH/esdOdhY1jQ/Uot+cO5xjQcuzZaBUEgr4KY 1mhg2CkIiZsdRLDOi2i7kZuhI6gkXpOXGKx78HX11TxamKS3jBuqExCcignxjs2KLuS5 fyxKUWKT9VUKGl8PyGg02FzFASVxg5WUmE8xYTl7eMDgQr6EraQLsgYB5Ai7oBdewR20 tJyCEEgcdpsAavF/ycNtaECOMujALxpSiCj4zJumCNjwZaxDQO7bQE8hEbtxhhhtRTND Bz09tgE9m7FFFSZOJoJ5TgUEi+ANi9REXQonDr9WooEIR9hkuTAbxKJ4PQAagQhhvxSH 274g== X-Gm-Message-State: AOJu0YzwBMdJVLLXrgmki+pej4wH3wev1lpETuGxw/gOainaUhX4HOmo 3+dS4OTqADSVouUSZn+iXMG0juaJi7IM99vtMIklniGKQ2mmKAGONe57cxhQtjtjzsRittd7qwM s1z4M3GA= X-Gm-Gg: AR+sD12Dw3zTbRLRcp7UbsSjI1Q9DCkQJYl66FYCbDFUcjYyLaRZRw0MceGZ1iTto0a cd6fEl28UDdLSFFNy16QkkEZWeV+J1mcvX8vntFW5U6NKdiqyMdikvabNW8jWQEFcGK9RtK9mEc VFeox6YhzahbmnRvl/b0FrV8LaMOV+RQRrBf9igUfUJCXyQ9bBWplYmt0esT3SpRtzKrEHjD/NC NJJZGUan3VqVkI4BNUD1sqV8GnwzHNeST0gKgcZ6KHJHusSLAbJRCRnKT9w2vc5G6ZT45s+WfP+ 4ADffv6YOq3/NL4VSp5Ec+33ixnbhfsQW5Dik5n14GNS6YUO1e87oTeBYkbYOvDUQh93EYpwvI3 78UhRl3HPYzrXwMy2+/SC8YUzZX19OzruXre9bHEKKK+3ROkM3rUu3aikYLpx0zXtxBDLjJJj16 cXnIW1GR2sWAvGZ8tzZvIkc6TzdYPFssGKKLE+ojdl2zdR2IFxbqdQUSRb4SodpDzy1J24ANu5U f/Hn960FPg3W9x6Nv95TndY5knit75xyuUmBpWOhk/pcfh22GWSalqgUeZQhg== X-Received: by 2002:a05:600c:354a:b0:499:8158:6993 with SMTP id 5b1f17b1804b1-499815869e7mr13424355e9.18.1786548370660; Wed, 12 Aug 2026 08:26:10 -0700 (PDT) Received: from localhost (p200300f65f017104d1b8d865063c5703.dip0.t-ipconnect.de. [2003:f6:5f01:7104:d1b8:d865:63c:5703]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-48150d4e29bsm7793920f8f.24.2026.08.12.08.26.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 08:26:10 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Jassi Brar Cc: linux-kernel@vger.kernel.org Subject: [PATCH v1 1/3] mailbox: Provide devm variants for mbox_request_channel{,_byname}() Date: Wed, 12 Aug 2026 17:25:52 +0200 Message-ID: <986b6e23bb2008ee9a45e678b6a56e44d11683d1.1786547950.git.u.kleine-koenig@baylibre.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=3048; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=BmIb+Il++CIpxZKB2uXHCgCc4EQx4Pr42FwpW3tzSIo=; b=kA0DAAoBj4D7WH0S/k4ByyZiAGp8kIKiQjCDZdeBbfCm5aih5E9gxHayraNbULg1JvpoPEkH/ IkBMwQAAQoAHRYhBD+BrGk6eh5Zia3+04+A+1h9Ev5OBQJqfJCCAAoJEI+A+1h9Ev5OuYsH+wWJ UClIegUrMxqn1mlhhaeyAqdvLU1IXpIqyx4IFGhPocHbhJVuFpI8tE74zHlM75ObmCfRjs19mgD iHHe/2LgF9bOEFpfNdPvWRgwxLekai0Dxc7F4eYsCc0LYVaPvOqu2iZZOUNwnsuWPli0YDwGnhi /GAE27IVEChl4kafpy/DFUGqEYvSKDlbdxiMEC2wER6cW21FN5pu2OHgeqTCyUWRx12Mw7cbTsc dJCuHC1umVuYaQhVj7Z3fBIhPpPV8DDSbws+AZAlav3GK1Hh9B6dQUMZbNMUhz5o0uBQQkrcRf7 afAZ3JDNwe5PiherOXdr4/m1THJXEER5M06xddU= X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable The new functions devm_mbox_request_channel() and devm_mbox_request_channel_byname() allow to simplify resource management for callers in their .probe() and .remove() functions. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/mailbox/mailbox.c | 44 ++++++++++++++++++++++++++++++++++ include/linux/mailbox_client.h | 5 ++++ 2 files changed, 49 insertions(+) diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c index efacd24a085d..f51b4ca02041 100644 --- a/drivers/mailbox/mailbox.c +++ b/drivers/mailbox/mailbox.c @@ -490,6 +490,31 @@ struct mbox_chan *mbox_request_channel(struct mbox_cli= ent *cl, int index) } EXPORT_SYMBOL_GPL(mbox_request_channel); =20 +static void devm_mbox_free_channel(void *data) +{ + struct mbox_chan *chan =3D data; + + mbox_free_channel(chan); +} + +struct mbox_chan *devm_mbox_request_channel(struct device *dev, + struct mbox_client *cl, int index) +{ + struct mbox_chan *chan; + int ret; + + chan =3D mbox_request_channel(cl, index); + if (IS_ERR(chan)) + return chan; + + ret =3D devm_add_action_or_reset(dev, devm_mbox_free_channel, chan); + if (ret) + return ERR_PTR(ret); + + return chan; +} +EXPORT_SYMBOL_GPL(devm_mbox_request_channel); + struct mbox_chan *mbox_request_channel_byname(struct mbox_client *cl, const char *name) { @@ -504,6 +529,25 @@ struct mbox_chan *mbox_request_channel_byname(struct m= box_client *cl, } EXPORT_SYMBOL_GPL(mbox_request_channel_byname); =20 +struct mbox_chan *devm_mbox_request_channel_byname(struct device *dev, + struct mbox_client *cl, + const char *name) +{ + struct mbox_chan *chan; + int ret; + + chan =3D mbox_request_channel_byname(cl, name); + if (IS_ERR(chan)) + return chan; + + ret =3D devm_add_action_or_reset(dev, devm_mbox_free_channel, chan); + if (ret) + return ERR_PTR(ret); + + return chan; +} +EXPORT_SYMBOL_GPL(devm_mbox_request_channel_byname); + /** * mbox_free_channel - The client relinquishes control of a mailbox * channel by this call. diff --git a/include/linux/mailbox_client.h b/include/linux/mailbox_client.h index e5997120f45c..ce550a93bf61 100644 --- a/include/linux/mailbox_client.h +++ b/include/linux/mailbox_client.h @@ -40,7 +40,12 @@ struct mbox_client { int mbox_bind_client(struct mbox_chan *chan, struct mbox_client *cl); struct mbox_chan *mbox_request_channel_byname(struct mbox_client *cl, const char *name); +struct mbox_chan *devm_mbox_request_channel_byname(struct device *dev, + struct mbox_client *cl, + const char *name); struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index); +struct mbox_chan *devm_mbox_request_channel(struct device *dev, + struct mbox_client *cl, int index); int mbox_send_message(struct mbox_chan *chan, void *mssg); int mbox_flush(struct mbox_chan *chan, unsigned long timeout); void mbox_client_txdone(struct mbox_chan *chan, int r); /* atomic */ --=20 2.47.3 From nobody Tue Sep 29 04:09:42 2026 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.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 86719473C7C for ; Wed, 12 Aug 2026 15:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548391; cv=none; b=XqmFwWnpV5h6ZFJDhN26nfo76fify6iXPqGWI42TWYapBeXFj5OGERX+YHhRjFlsz9ZWhh/zFBXG8jFAadEKIZ3Q1Qd/Qc9JL9bZtIN9/oPk61oZwHyFw9+x7a3+c8V2SGKJ0kxcDOS39+QeQfCciulITqQE4dKUXkOPahfLlaw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548391; c=relaxed/simple; bh=mIEIYQbxzNIkZ3zcjSnONFWqLSp6osN6SN3mzfx33Xk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=A5vtUDr4JlfrG1ETqW58mOsAvcTO5VkGw8Kf0mdK9ZhC3IdmPt9fetJV0YIykwFeGO/YsjzbxbgpwObfc/L6u5HlpwNTmTO3BvAij7W/uH/C22sT1Cttqh0NgdyUnEeklWxtLaPDRqGwXkqAZ4ahPoBk4EAG+ypJujhiRPwDIMU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=DecKbe3q; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="DecKbe3q" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-47fecbbafdaso343021f8f.0 for ; Wed, 12 Aug 2026 08:26:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1786548373; x=1787153173; darn=vger.kernel.org; h=content-transfer-encoding:content-type: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=J92dMQs6IMyTDyAGWTnLdC2/ApicW6giGlkFuqEPXcY=; b=DecKbe3q6NAyJGvTBifchrb5MjXNKdFtIDsZgec5NEeZqnb8CyOoeDFEDlVJB/jALP Bi5IgQdRVgMR940txmb4GL0oD9KJ3KB1xma73EjE1JjlHq/gSRFdyxYtHTWbyI5ve93X Xsne2KciZQEx6Cnv0iXI8YCQqS33VRML8ZuzqZ9jrSL/vrmwjF6hbAX5cayVD8dj6b9y TlamzNm3iA61KSDAW0sXQ6xnpcaqyAoMUBE9AWhrk7K4Jh3xvq+AV52RB4HsBIP2J8Va 8oWOdzGk6taOcBxsJLvU3btOKcTC4N+ROHR/90ntf2OOqLKZRzpn8vkz2Ut+X8aE5yE9 rVbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786548373; x=1787153173; h=content-transfer-encoding:content-type: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=J92dMQs6IMyTDyAGWTnLdC2/ApicW6giGlkFuqEPXcY=; b=L07t7i7iRwBtjYleKtinomnzHjF6j5kerq0+jihMIPPxd91lwnlB/a1b4QT6vv4LVZ orZyhTEfFLwR7yA3l5443ZKu5Cw111BfL89h/3Vmi+tTgQ6nIujkrHwtB8wDE0XJ+e+j 0+BVPaZh4G22l2TOAr1XT8td/4CZvLWt/bGgim8N4I5i1NoNuuBN9UIvEFbYN1p3xBRt vEse1bsAOg+mwvu1gaoNAQwJM1bvJ0Ff4hYpJIfxgNCvoJIJzG/TZDQQ03d8Odom3q1W HmZnJI/hM5U43GXmE9HwAoa8fvK2nHmX4wuAhSFJMl9EHvLA2GwQMaosq5TnloMB2ABP c25g== X-Forwarded-Encrypted: i=1; AHgh+RpSo9pdKD9IT68xXf8VW/wYXl/oqkQ+tHe5PG7Cy07Cv6AjnwJGmfq6IjhqFzRVheLL/8ztUKbtxS4/Tic=@vger.kernel.org X-Gm-Message-State: AOJu0YxKGJSQjWdN4okafhsxHdUSHkdVQuUupuH581XJ/AOIrs1bHMV2 t/qXiIBworrL9Pb7lQZxNz8tSPfrMm+bLz2voyiRLefaIU3nQf5OvJ1laCoIMMlCkP0= X-Gm-Gg: AR+sD11oP2Psi9ko0P+bUiLqHExy3Nt2ikZgrAOo9crgQMGHCHbI/ZbY3294l9fygLn 6+UomctuYYkgROJGPIW1TnhmuzvH4xnfJeB8VeGX1MgqIvFNaKeghZzbEivvvWZEpc0bMOc3av3 z0XTeYG62RUG5jztImbzsRH/1kbknW92Gz5nVIARZxfa0iWc6JDqI4TbYBrjAdgJQ3QI6RBPafm iSILut3lYOWKH85CzjmwA2plAekCF+7vZoUuhIVTTiV0akk4xNbpeUsgDt3ImDh+uPoPf/COnzD gE0TwuJTBjqq5KYck+CSFEGyg7rt7TAp62PPQw1pGj5UzqLTM6a1QRUSYY7BnxHL7gaTUyZu95h QtLDFDhrKWlcm8Ldziu01hngerch9ukzj/9yOp1cPDYRWzYO/EVrGe1iQkbDs94UXZuMYJi2P61 VybyYJ1k9MhYXNivomdZb611KqQo/oB0OMOegnuuQz0hSVdB3Vu3ddZFlHZ8Vz+PwbDf7RDsGjW 5wGtVnkR1vJT7vQ8MoUvt0aRMw0quk3TE1/sjwOXOb+/ZaFbRM= X-Received: by 2002:a05:6000:2a0c:b0:47d:ea8a:d224 with SMTP id ffacd0b85a97d-48152b10331mr7156134f8f.23.1786548372494; Wed, 12 Aug 2026 08:26:12 -0700 (PDT) Received: from localhost (p200300f65f017104d1b8d865063c5703.dip0.t-ipconnect.de. [2003:f6:5f01:7104:d1b8:d865:63c:5703]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-48150d4e3f5sm8088682f8f.22.2026.08.12.08.26.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 08:26:11 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Jassi Brar Cc: Greg Kroah-Hartman , Jiri Slaby , Thierry Reding , Jonathan Hunter , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v1 2/3] serial: tegra-tcu: Make use of dev_err_probe() in .probe() Date: Wed, 12 Aug 2026 17:25:53 +0200 Message-ID: X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=2716; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=mIEIYQbxzNIkZ3zcjSnONFWqLSp6osN6SN3mzfx33Xk=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBqfJCEBLM6FoaOCMow0JlUmDXcZnMO3v90qiKo0 R6NLHlaYpeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCanyQhAAKCRCPgPtYfRL+ Tu1/CAC5Jp/w5ghH9LWrObkngzLmqfCUxpWMs8xqi7KPxprHgYlu59s3evVCVUEPX3S8IiTFeoe 9PHOWGJ4iGzXVFbu9yCk+i1brPxmWkNV8MCMaog/karEzt8Qg8qdurcFOIoJHLSX91P/HaFwhkX Gsx+YjxvpV22hgO2dkjxGeNtvAImWpduVuibxBT1eyLaVTcKF2Qo25jDEvLtSVlZ8rzvvvm7SLe A/yhY2vN4bRbJ15W8O2+hrrSGFXGiSKP/wBvr+eARi8vR+jx1aFdDjb2BQxjts/zK9uxMZ+DBx9 UopMsiwi40s0+AB3b5/JSlkIqrc79PYoXHR/CGAM7UxUPOns X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Usage of dev_err_probe() is (sometimes) a bit more compact than dev_err(), it properly handles ENOMEM and EPROBE_DEFER and emits the error code symbolically. Also introduce a variable to hold &pdev->dev to reduce line length a bit. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/tty/serial/tegra-tcu.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/tegra-tcu.c b/drivers/tty/serial/tegra-tcu.c index 7033dbfe8ba1..077023ce1842 100644 --- a/drivers/tty/serial/tegra-tcu.c +++ b/drivers/tty/serial/tegra-tcu.c @@ -179,9 +179,10 @@ static int tegra_tcu_probe(struct platform_device *pde= v) { struct uart_port *port; struct tegra_tcu *tcu; + struct device *dev =3D &pdev->dev; int err; =20 - tcu =3D devm_kzalloc(&pdev->dev, sizeof(*tcu), GFP_KERNEL); + tcu =3D devm_kzalloc(dev, sizeof(*tcu), GFP_KERNEL); if (!tcu) return -ENOMEM; =20 @@ -190,11 +191,9 @@ static int tegra_tcu_probe(struct platform_device *pde= v) tcu->rx_client.rx_callback =3D tegra_tcu_receive; =20 tcu->tx =3D mbox_request_channel_byname(&tcu->tx_client, "tx"); - if (IS_ERR(tcu->tx)) { - err =3D PTR_ERR(tcu->tx); - dev_err(&pdev->dev, "failed to get tx mailbox: %d\n", err); - return err; - } + if (IS_ERR(tcu->tx)) + return dev_err_probe(dev, PTR_ERR(tcu->tx), + "failed to get tx mailbox\n"); =20 #if IS_ENABLED(CONFIG_SERIAL_TEGRA_TCU_CONSOLE) /* setup the console */ @@ -218,15 +217,14 @@ static int tegra_tcu_probe(struct platform_device *pd= ev) =20 err =3D uart_register_driver(&tcu->driver); if (err) { - dev_err(&pdev->dev, "failed to register UART driver: %d\n", - err); + dev_err_probe(dev, err, "failed to register UART driver\n"); goto free_tx; } =20 /* setup the port */ port =3D &tcu->port; spin_lock_init(&port->lock); - port->dev =3D &pdev->dev; + port->dev =3D dev; port->type =3D PORT_TEGRA_TCU; port->ops =3D &tegra_tcu_uart_ops; port->fifosize =3D 1; @@ -236,7 +234,7 @@ static int tegra_tcu_probe(struct platform_device *pdev) =20 err =3D uart_add_one_port(&tcu->driver, port); if (err) { - dev_err(&pdev->dev, "failed to add UART port: %d\n", err); + dev_err_probe(dev, err, "failed to add UART port\n"); goto unregister_uart; } =20 @@ -246,8 +244,8 @@ static int tegra_tcu_probe(struct platform_device *pdev) */ tcu->rx =3D mbox_request_channel_byname(&tcu->rx_client, "rx"); if (IS_ERR(tcu->rx)) { - err =3D PTR_ERR(tcu->rx); - dev_err(&pdev->dev, "failed to get rx mailbox: %d\n", err); + err =3D dev_err_probe(dev, PTR_ERR(tcu->rx), + "failed to get rx mailbox\n"); goto remove_uart_port; } =20 --=20 2.47.3 From nobody Tue Sep 29 04:09:42 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 821664734F8 for ; Wed, 12 Aug 2026 15:26:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548385; cv=none; b=qCNwWlf2uO5W6s3spdmIHZBxy8S/J5WCCtXAfk2XWV+Z9YpKpKbtrlOJHIhxSCDOaUbSlVul/BYOnJIcZl/nkdx3fZanzuYGLWFH1e1oViracBlAdkJNwnJpk6e64Blq/ukvDXYAsFUW3DmTUWycSuWFuYT456vUnMNZYUhWJew= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786548385; c=relaxed/simple; bh=XSnigZ+8lXrN+h1DK2jDpYLe1HS1P10Q0jBZkBu9EDM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cEbeI+ANyT+WXasfM3TohC8Z1r+b99Yx8MqWRH1oUzOI1n2HF3s71XVuTgIo5wNhHgzhMNK2pdV5WzHojcb24OTFcQWVGcw6Vil2ht4aYYV6dcPNDFVSTaMx9XqbgZKku4HAwjhWbHG4WcuZuqOSOsgL4+8x1wmAVm4MXd9p2uM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=Uq31LRWE; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="Uq31LRWE" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-471eeac43bfso878545f8f.3 for ; Wed, 12 Aug 2026 08:26:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1786548374; x=1787153174; darn=vger.kernel.org; h=content-transfer-encoding:content-type: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=cxaMCj/rMllaU9X27TX8pfm9p2Xu7HVXmrHtmXljmm0=; b=Uq31LRWE8sGvyZ3MDKVIankghp5dwvHfXpEZX1D8ZOvwxsNZWhBY8/nllRv07ISPSY pPBXYuvyVDBmpJDQ6flkfCxHo9UGkSX/RFiMaXAMSitETgtEFIGR24qvo6jLEUoduJ2E tBFlOob3xyoVY3TwhHOoUHjLzgD4cvONdx/if9Ryhz8an5mVbOS86mdBDTjDSXuvzbTR M2EcTlwmrdJTrWyBVBThob+M1IENg8I4LF/3loHXF9xvsl+nq+PxsPOz20tSWRxF4NzU AQtJF/VQRli+Ec4GxU63ofRpeOlcnxOt8mMpqYYxWC9IfyKNQ/m4Chwnhl6mic3ZWo7e 2RRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786548374; x=1787153174; h=content-transfer-encoding:content-type: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=cxaMCj/rMllaU9X27TX8pfm9p2Xu7HVXmrHtmXljmm0=; b=crl82VyKs84WN98CRpS5JPHxdZ42DSaR+c6YHH7jKP2CN1I1BSdlYvoxOhES8tE1gi mE+4PeQZWRl6KXX944YaEa1yOvc+9Sm6PV8gYET/315MkpZ0xUdbJMnjiuAPfuiHU8j2 skn2fRKa91MsryYvhYdKFpoTBonYls5IC0IM+Y/A0REjvYKc6EN1d1wITO3qKhmHD3P9 pJ8fC2g+yzR8UNthW3NlwKHqQWYRJxg3YiZKTMDnDeffnpg5J/RyFswD2eb0s82U881T mZVhwoFTlPhVQ1LisAXhoXCTMMyYlwoM0qKuICQO4kmr7PTw+0b3pdIEGfg8lf7bmEFH Sh+Q== X-Forwarded-Encrypted: i=1; AHgh+RqHxrsjd/hbyHtN87Wzcn+ww/qT//gBTbDp4yKrgp3DsDDzWMXGnC/dmXLOGxPbwaMMVHRnjSZN9jrlKHQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yxfjj4eI6OopIetMos98+xiCs3fbFhIjSWnAxpmJKGr7ZaLU2j+ 4mxeajY4zSoJexy/kBj+z063NIttYrHZeUrYTe0VKaP5d4f3C2pDU7QE/KWnP/w8IKU= X-Gm-Gg: AR+sD10ifT67j4adgmezN3o/9P7raw7zgMCQ4a+WyxTfMuzERaY6vOg/XwsANqpK1MM f0Ji5CtItMPFV+eYF4nHE3YBpy+AybpaABWn+LPQYPzKlwKEC9JwFwUdX8MPXZvGPi/xr5RpYue zBMELWATW6Zeq5fypG2v1ZutK35w90Td3uo0IMRHe6unM7LRLxV2ZCbaufINgp5+rNPqtVtxkat J+Z/AHLb4VBP5cOT1EouKQCQyv+g1NRBVa1FW4FfS8gwlazxi1K4omrkJfn8wA49NGWaJ3u7pQu Rq8EQ5URrzjwwYIhSz8bc31GZ0qKbR8NGt7K92ONV7RWe8W429yTikvEtLhV6ydU7PANbFGToMs ET2ngfmRLI0XKZgdprv5DfHLxNXTOqGRb7Eq7PNXF0BjdsTcA7PmhCX9dLurLG9zU2QjEwQAT/H 26g5w/M+38TigsBnqrdlBZX6ypDTABDVp/Wojc93nnBgxMS5wi+2mUPFW79fpKos5y4VvT26SXw u2AgBr7qy+t0TR4VO/Hr+U0BXhQNntJ5CMNFuvlSqc3loQ2TPo= X-Received: by 2002:a05:6000:4607:b0:47f:9283:1fb3 with SMTP id ffacd0b85a97d-48152775015mr8986415f8f.0.1786548373922; Wed, 12 Aug 2026 08:26:13 -0700 (PDT) Received: from localhost (p200300f65f017104d1b8d865063c5703.dip0.t-ipconnect.de. [2003:f6:5f01:7104:d1b8:d865:63c:5703]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-48150d5eb2csm7883241f8f.30.2026.08.12.08.26.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 08:26:13 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= To: Jassi Brar Cc: Greg Kroah-Hartman , Jiri Slaby , Thierry Reding , Jonathan Hunter , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v1 3/3] serial: tegra-tcu: Make use of devm_mbox_request_channel_byname() Date: Wed, 12 Aug 2026 17:25:54 +0200 Message-ID: X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Developer-Signature: v=1; a=openpgp-sha256; l=1952; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=XSnigZ+8lXrN+h1DK2jDpYLe1HS1P10Q0jBZkBu9EDM=; b=owGbwMvMwMXY3/A7olbonx/jabUkhqyaCW05MloPOQubfn23d2jb+0LTJa867t2Mp9Led1mdP Rc5n5HvZDRmYWDkYpAVU2Sxb1yTaVUlF9m59t9lmEGsTCBTGLg4BWAiJjHs/6xUnUyKfsdoqjGE pKae2nmkPWz9qqO2lV89+ruLW7ua8yY4GoTn/bCS3zg7+bfCjflnM8+aBqYvvnlcLP64eQhDeqp K9p0lPltkcng9TjzllxVeXbPhY+n8zZsXF9/TlJt69vnat3MyQ7tjg+5k8J5aVqwR+8yxMX/HzK zNKa/arHMEXKseNHL3nC7ZUjvhSubyz/zTH821c7J9byJuKGb4sbhX2UrykqA7m4ZVq9wdC9WzZ hmOBRv+JsbP4Q5onHjjL0PR6r+anq4XdF0zGuXc9fwnK8lXsk54MaEgYJ9r97/MdUVpkTVdNQUX H0ziXh7AeOuDpt6Pv3L9vgUTBSJd7tZteiNWonAr5SMA X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: quoted-printable Simplify tegra_tcu_probe() a bit by using the devm managed variant of mbox_request_channel_byname(). For the rx channel the function cannot be used without confusing the order of resource freeing. Signed-off-by: Uwe Kleine-K=C3=B6nig --- drivers/tty/serial/tegra-tcu.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/tty/serial/tegra-tcu.c b/drivers/tty/serial/tegra-tcu.c index 077023ce1842..a3596ec24d34 100644 --- a/drivers/tty/serial/tegra-tcu.c +++ b/drivers/tty/serial/tegra-tcu.c @@ -190,7 +190,7 @@ static int tegra_tcu_probe(struct platform_device *pdev) tcu->rx_client.dev =3D &pdev->dev; tcu->rx_client.rx_callback =3D tegra_tcu_receive; =20 - tcu->tx =3D mbox_request_channel_byname(&tcu->tx_client, "tx"); + tcu->tx =3D devm_mbox_request_channel_byname(dev, &tcu->tx_client, "tx"); if (IS_ERR(tcu->tx)) return dev_err_probe(dev, PTR_ERR(tcu->tx), "failed to get tx mailbox\n"); @@ -216,10 +216,9 @@ static int tegra_tcu_probe(struct platform_device *pde= v) tcu->driver.nr =3D 1; =20 err =3D uart_register_driver(&tcu->driver); - if (err) { - dev_err_probe(dev, err, "failed to register UART driver\n"); - goto free_tx; - } + if (err) + return dev_err_probe(dev, err, + "failed to register UART driver\n"); =20 /* setup the port */ port =3D &tcu->port; @@ -260,8 +259,6 @@ static int tegra_tcu_probe(struct platform_device *pdev) uart_remove_one_port(&tcu->driver, &tcu->port); unregister_uart: uart_unregister_driver(&tcu->driver); -free_tx: - mbox_free_channel(tcu->tx); =20 return err; } @@ -276,7 +273,6 @@ static void tegra_tcu_remove(struct platform_device *pd= ev) mbox_free_channel(tcu->rx); uart_remove_one_port(&tcu->driver, &tcu->port); uart_unregister_driver(&tcu->driver); - mbox_free_channel(tcu->tx); } =20 static const struct of_device_id tegra_tcu_match[] =3D { --=20 2.47.3