From nobody Tue Apr 21 22:27:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g0cRK3VD9z6Zkb3 for ; Tue, 21 Apr 2026 22:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g0cRK0GtFz3Psv for ; Tue, 21 Apr 2026 22:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776810429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XESLj8q3z0baF9ln4c4hf1/B6XYKnQICSTrOAaI+z24=; b=jhawUYpMK6gQXAfYPIe8nJi/EPnExULpOJu58Pea/3lLo7E/DJrjjRQKsymJDAb0NuYH7x bKTPYpQvmV8aNFIPOXwG43pUsCoxSJoLNrjIGi7fCVWRHwK2ZqcoYt+dBLmuxSRrnJMWaN 1uyHQtuhJ8PAqhIasPOjv66lxEGFKMl0NLDMyqJLs7hGuPTxE2e/OJqLA64pZ4oSkrV4Pw tK/UzHbRsqxp4b2EnGWJwx8izlQcA93VemOZc1di0bVhZt4Yznzx10s43zwXltF+GPpFme 4cSZtISWCGTebR0DflOP3MJdKYn2FHzNCpS8Ll0Nb6IaoFi4d3B60q4WuyqsLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776810429; a=rsa-sha256; cv=none; b=wWh68+cCQI9Iq3FPqcz/geoTVtWDZb8nevyvNCWMG607v9Pum6NPKFQ3VibiMHGKOVWXN1 CV/ms/h8cS+q+msLSPcRFvYFGtBRyfDxyyVWkzgJZvbZuONrDCF+BF6aoTfOu8JM4IYtY5 oSU8ZfYzOwUlkVR2D+XeVHIVlJ2SIDlrk4qvDvJpyf1Fyl5fBqiYPMyfpH4+hVYZtj3jiU Ersj8/99NibnVVwwZ7h4gvApH199gO0fwDh8OQY9JNFPsoj23MqgSY8nn3q9Z+tKLqm8Bh ON1b9k48KZN8RvmrPkh1+az+Di2vG+AiXwwverSE2v/dhBLQ5G4Lg7t1KwI4KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776810429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XESLj8q3z0baF9ln4c4hf1/B6XYKnQICSTrOAaI+z24=; b=FjvIEyzi5T7Qgqctj7T12LnRKfuP7e7M6ij7sdZ9SSGP1Jz43hF601ZSntI7kVR0ocBhq+ /E+fk8z5rIjLvqy7CSyEx6ovAmWM1VIebBuS8DhOpvgmx/NcZrPF8ALBaIjdAB7yy0m1Z+ G2e94z4l1JU3NivDLCU8asyWHz1pmhgGtL0QGoSbCmLsgPsFoLzzt2oUsq2M0i6o9HQs4j /Hm2nO5JIcaJtRrNKLU5o2Y92QZk85GnhoiJ4iNtOcuUwzV/G+JAuPNmr/TqfKz9WEhSNe paDKTt6ZEWPdtPkkNKylK0XhvTKgJotaIXhFhmyBJAxaRT3dY/lrZUqHhlLsuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g0cRJ6QRqz13HV for ; Tue, 21 Apr 2026 22:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38987 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 21 Apr 2026 22:27:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 2357de8ea14f - main - linuxkpi: Define `dev_err_probe*()` List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2357de8ea14f9ee6193eb9e31a9c208e1541163a Auto-Submitted: auto-generated Date: Tue, 21 Apr 2026 22:27:08 +0000 Message-Id: <69e7f9bc.38987.1b8fb735@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=2357de8ea14f9ee6193eb9e31a9c208e1541163a commit 2357de8ea14f9ee6193eb9e31a9c208e1541163a Author: Jean-Sébastien Pédron AuthorDate: 2026-04-11 09:40:39 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-21 22:18:24 +0000 linuxkpi: Define `dev_err_probe*()` They differ from other `dev_*()` logging functions by returning the passed error code. The error code is also used to determine if the message should be logged in the first place and at which log level. The DRM generic code started to use it in Linux 6.12. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56435 --- sys/compat/linuxkpi/common/include/linux/device.h | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index 030e9b127540..2913810923f1 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -267,6 +267,30 @@ show_class_attr_string(struct class *class, dev_dbg(dev, __VA_ARGS__); \ } while (0) +static inline int +dev_err_probe(const struct device *dev, int err, const char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + + /* + * On Linux, they look at the error code to determine if the message + * should be logged (not logged if -ENOMEM) and at which log level. + */ + device_printf(dev->bsddev, fmt, args); + + va_end(args); + + return (err); +} + +#define dev_err_ptr_probe(dev, err, fmt, ...) \ + ERR_PTR(dev_err_probe((dev), (err), fmt, ##__VA_ARGS__) + +#define dev_err_cast_probe(dev, err, fmt, ...) \ + ERR_PTR(dev_err_probe((dev), PTR_ERR(err), fmt, ##__VA_ARGS__) + /* Public and LinuxKPI internal devres functions. */ void *lkpi_devres_alloc(void(*release)(struct device *, void *), size_t, gfp_t); void lkpi_devres_add(struct device *, void *);