Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2848940pxb; Mon, 19 Apr 2021 16:00:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEUXU5Ss1HMnXzRadoj3fFwdo2dTtXqtzwX5nyyNsSje/6ZN3ksohaNBsSdNHP+knjYj3h X-Received: by 2002:a65:5c4a:: with SMTP id v10mr8335267pgr.73.1618873201754; Mon, 19 Apr 2021 16:00:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618873201; cv=none; d=google.com; s=arc-20160816; b=TG1p87NMjYkzoPvFYj5uPIqi0Kzpla1PsDRE6fEP953S384vbIG+CNk7GJBnsxK4u8 CFqsXaYaw4xlQIMjg2d28VWZqmeix3ZqcM/9NDbJBjj2m5iuxuv7fZr1QozYtqvs8Eoz 7ZkHLrFihbSu/8D+AcxlB4xvLAELA0Lo8EZQXY5tCg/qcbgwwG5JaBqhOGyQP9FSgQ9y flSrGQkPyIxktRLQUWuOmP64DP4YQmwXTOsyasrahT/UmXOUMmPbuCNjmpVnwiAyJ/9t rT0HLKbUcmE+x3gFO4gLvrxQxNUZCSF0+opjgbAWAibemKbEN3RkJnTsDyBagU+ScRCM IEkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=cXRIHgrm2ahBtgKOQiueG74NlG9d46yHGX/Bv1Bp5Ak=; b=d0PnRaCgrcc7ytl0c3OTPZnTVXYhorIQ1PwNTCT5D3kzA2nnFFoqdwZskTeRZptWhQ d6gmz6wTZU7Z1iCoo8vcdjQxhENcwedcoSxz8MJJYFUufBF686igPrdNrj4QIZsO4uVF kJaG63gvtFM2Ib3HsqlrzkLwcJgJP1o7YEjgwWtY0hYs6/IRJMN+xha/ETpw86BDWHLT Le7JbsiGLwkLV0Se8m+PzgvG82fTKRGRdhdZ2UPhXgTiH3IVqCglqJ9XgM5IkVW3aBKG 2XEk0b9JJ1wn6YwRABk1Z03F338xZ1zHPicjQJI53VwPzlBiIyFHqT/yHw+xxRn8VEkj SeeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=HrN3QamL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y184si15328145pgd.79.2021.04.19.15.59.49; Mon, 19 Apr 2021 16:00:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=HrN3QamL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232825AbhDSW63 (ORCPT + 99 others); Mon, 19 Apr 2021 18:58:29 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:39647 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232415AbhDSW6O (ORCPT ); Mon, 19 Apr 2021 18:58:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618873064; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cXRIHgrm2ahBtgKOQiueG74NlG9d46yHGX/Bv1Bp5Ak=; b=HrN3QamLTN4vblL7NwYIIZN9FfFeHaqRQxn5lTXK4EHkv1s/jWs5Wa4nOFYXLhkYXGl5oV St9BPeqeS/M5T2y2M+0RPmVgeO1UI4TG5EFl82keq8GIN7JLtjswSaWkXr21e7s8TdcBPQ ihtb10pm0n18vYVPyZsBpHbMEPcGaeA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-346-MtXxREvKPq6AwR4kbZfqnw-1; Mon, 19 Apr 2021 18:57:42 -0400 X-MC-Unique: MtXxREvKPq6AwR4kbZfqnw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 23EF118397A5; Mon, 19 Apr 2021 22:57:41 +0000 (UTC) Received: from Ruby.lyude.net (ovpn-119-153.rdu2.redhat.com [10.10.119.153]) by smtp.corp.redhat.com (Postfix) with ESMTP id 906BC5C1C4; Mon, 19 Apr 2021 22:57:39 +0000 (UTC) From: Lyude Paul To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Jani Nikula , Rodrigo Vivi , Thomas Zimmermann , Thierry Reding Cc: Maarten Lankhorst , Maxime Ripard , David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 17/20] drm/print: Handle potentially NULL drm_devices in drm_dbg_* Date: Mon, 19 Apr 2021 18:55:19 -0400 Message-Id: <20210419225523.184856-18-lyude@redhat.com> In-Reply-To: <20210419225523.184856-1-lyude@redhat.com> References: <20210419225523.184856-1-lyude@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While this shouldn't really be something that happens all that often, since we're going to be using the drm_dbg_* log helpers in DRM helpers it's technically possible that a driver could use an AUX adapter before it's been associated with it's respective drm_device. While drivers should take care to avoid this, there's likely going to be situations where it's difficult to workaround. And since other logging helpers in the kernel tend to be OK with NULL pointers (for instance, passing a NULL pointer to a "%s" argument for a printk-like function in the kernel doesn't break anything), we should do the same for ours. Signed-off-by: Lyude Paul --- include/drm/drm_print.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h index a3c58c941bdc..9b66be54dd16 100644 --- a/include/drm/drm_print.h +++ b/include/drm/drm_print.h @@ -443,25 +443,25 @@ void drm_dev_dbg(const struct device *dev, enum drm_debug_category category, #define drm_dbg_core(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_CORE, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_CORE, fmt, ##__VA_ARGS__) #define drm_dbg(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_DRIVER, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_DRIVER, fmt, ##__VA_ARGS__) #define drm_dbg_kms(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_KMS, fmt, ##__VA_ARGS__) #define drm_dbg_prime(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_PRIME, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_PRIME, fmt, ##__VA_ARGS__) #define drm_dbg_atomic(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__) #define drm_dbg_vbl(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_VBL, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_VBL, fmt, ##__VA_ARGS__) #define drm_dbg_state(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_STATE, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_STATE, fmt, ##__VA_ARGS__) #define drm_dbg_lease(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_LEASE, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_LEASE, fmt, ##__VA_ARGS__) #define drm_dbg_dp(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_DP, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_DP, fmt, ##__VA_ARGS__) #define drm_dbg_drmres(drm, fmt, ...) \ - drm_dev_dbg((drm)->dev, DRM_UT_DRMRES, fmt, ##__VA_ARGS__) + drm_dev_dbg((drm) ? (drm)->dev : NULL, DRM_UT_DRMRES, fmt, ##__VA_ARGS__) /* -- 2.30.2