Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1595078pxy; Fri, 23 Apr 2021 11:50:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwZvIO8W+woJCBW1fGwibjAMhX0f2H+EodvcpbTi9yX3e04ZxoIaH00jL4H2coPw438Q+lr X-Received: by 2002:a17:906:4913:: with SMTP id b19mr5804227ejq.439.1619203833586; Fri, 23 Apr 2021 11:50:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619203833; cv=none; d=google.com; s=arc-20160816; b=IqRDOvIMcw8qUUznuHS6kMaeE8vAM7HMFZ+uNMkAzCyUODpbyeDhV8I2tEX3si02LZ P9SZbXg9u82CE3361rPWIw+Tt3ahQ/jdTQymvgMINbr8JHwwPBV/0EHf+ykxY+IXdbAX oFjsiEUBYEkycxi4YWTvOMY04zliU8OF8v0hbFCtRrKVeLa5U7eXWtWUjKR+3aIGXn4s i5WPKklwR+6i/SKJ39cTuF+gNdJEw7GfME1B3fpIMmP9PFob4fxgb7AUg2gW1ugyzaSZ WlRNyuCSV19ifclmUQeac1KcOmRKDrVpCkw80VncEVgU+16V4RmPZ9yiclqn/54NVlek Nyow== 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=aak6WQfXN83ADpmZ8kHRO7eEfqtCwcjMS5MlWOZtK3xMBh4rNBNbCAQT10lSdXbVA4 bIcZlrwBpFOW/ukvz6w8FNPKMpV/5v3+eRa1nG1224+wFwAUeYbyjZTOzNmgWlTY4zlI 4kiBPhzFJrroyGsu8ElhJOba2b0qoaJxJnrHbYWgp6ibk/iC8mxHUzdLoAysL4ICd8o8 JhLdWxPon0gFHbRE5VuvQuepX9cy8Z2vHR+zryAgFTvt6mzrSMi9qcuUQ5JkXWhq+WR0 OtuI5Kcavd+ullt9g6UsJpyU6D8vIpGrkIzjqf41zSSigitfX995gFUuJL9rwSjsUfB8 7/PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="ChdDPt/V"; 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 s18si5747032edd.16.2021.04.23.11.50.09; Fri, 23 Apr 2021 11:50:33 -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="ChdDPt/V"; 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 S243897AbhDWSqt (ORCPT + 99 others); Fri, 23 Apr 2021 14:46:49 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:55670 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243806AbhDWSqj (ORCPT ); Fri, 23 Apr 2021 14:46:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1619203562; 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=ChdDPt/V9FhUzm4Yq/Wr0uJ1/XMqpUPdB4iDh1+S9hG2Yow4QT3Op6OFEpN4Yck4Cap1Wx 7A+o3sZCWkdqGtqFy3lcSL6w1+irpnQa0JfA9jSZap6OewhJf4rfiXVQ08gaURy2fqjEJX LD9+1qgrn/7Bzr5f16ZTUyGBZBG1w1g= 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-459-7Lwr7PFyPAGm4a6tdfqQkg-1; Fri, 23 Apr 2021 14:45:58 -0400 X-MC-Unique: 7Lwr7PFyPAGm4a6tdfqQkg-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 495D7C73BD; Fri, 23 Apr 2021 18:45:09 +0000 (UTC) Received: from Ruby.lyude.net (ovpn-114-74.rdu2.redhat.com [10.10.114.74]) by smtp.corp.redhat.com (Postfix) with ESMTP id B72CD608BA; Fri, 23 Apr 2021 18:45:07 +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 v4 14/17] drm/print: Handle potentially NULL drm_devices in drm_dbg_* Date: Fri, 23 Apr 2021 14:43:06 -0400 Message-Id: <20210423184309.207645-15-lyude@redhat.com> In-Reply-To: <20210423184309.207645-1-lyude@redhat.com> References: <20210423184309.207645-1-lyude@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 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