Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp2420269rwj; Mon, 19 Dec 2022 04:28:18 -0800 (PST) X-Google-Smtp-Source: AA0mqf6YDVYIjoMh81GazPh2UA3X4jUAtXqmHhNkgGTe2LfVW0IUbuJkKlnAo5wo4uff0X+6pErd X-Received: by 2002:a17:906:4b18:b0:7c0:dac1:ebcf with SMTP id y24-20020a1709064b1800b007c0dac1ebcfmr36885364eju.58.1671452898359; Mon, 19 Dec 2022 04:28:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671452898; cv=none; d=google.com; s=arc-20160816; b=LcNAHXluaPK4N+WOQOvASFm+M9xdfsbl8l8aF7AlFnnm0yss0M9KT8ekdvzdOu2PHF TrScz8KYcwxXSi38N5pHUCfJMUb3TpJQL9zdvkQgKDOvfya1MC/NYlnbBQINljmbEFM/ Ujgi3GUJfMJwpXDjtDDMM8ofBF8H2P+rvNdzz12L8ZLjh5dNcB/Ntr5HEQPhJsIhweuh epTP1r5O9dper8cSFteZhafOBjeSZUU2PhTjFFn7qy7IcxuwQqHF+f5w3tnwigwyJ2/A nyuuelJES4mW79r8dt7PfT7MzdsFwESQuVvseka1W7RzJARs3E7g8frhf8ud0/73ikYq 8jOQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=/tluQ4TFrQ3TOyrt0gts8VOJdh/QSCw6IFv5qhZrYGo=; b=vkPZcxF5zBS8SSLp4MUsduULbrGFrGXNOML5dqaZd+7qJMAw2H8QNvFkGkLYf3mXzE SFcYuvRkoRu8gwp1tV/fjan9kIukw01oh7udpBbWVVq4OTx6Zd6/SYwrqP7SbE7rAXnU J7fqIDwWUGZ7pE2ORFbAj92kEAGbW/4rdIKQQguhAKffWDJ8FfETwz+/CZAMjAbsBmUg lwjith7h+wz/wcimAQ5s5qY6PfS5tFlrsMoESZrXD0IH5W+4tT2L5vrySmbAG0TgHADh z+5pIKHVmcN6tv0h2YeTGh+G5Ah5BHzrwhGMJ6YEXQqI/g0/D5wkZKD4RJBu+wNyRwv/ RycA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=puVSV3sD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id js9-20020a17090797c900b007c0a9cff536si10150411ejc.510.2022.12.19.04.28.01; Mon, 19 Dec 2022 04:28:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=puVSV3sD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231771AbiLSMHu (ORCPT + 70 others); Mon, 19 Dec 2022 07:07:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231712AbiLSMHD (ORCPT ); Mon, 19 Dec 2022 07:07:03 -0500 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0496026D for ; Mon, 19 Dec 2022 04:07:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=/tluQ4TFrQ3TOyrt0gts8VOJdh/QSCw6IFv5qhZrYGo=; b=puVSV3sDX1xa9WZfvCJhiypw2B QN7QKBziPoObhy+nWLHx12qSk2dYzqLv2GnYHTISTiWcQZVuaw++8miFp4AONAChwgqhb5nOh5hLu bNla3xQGXizq9vph1J/SUF2VO0rigzmsdjEIZGF6tICIx0HUe09pKh0MbwGpLkWOQjk6HWu/W6T9X wWYHItTgqqe/vJT8ve/S6O5pHXb9sNM3O4BVhEQ8HfbmcaZu8pIH6UNX4vFM8n0s9Uj2baimPx/t4 kMajJtxWuurwpcOiQ7fl5gIv4fhGOiijjS23ttsarADNDInF14HXE5ZcLThlppu32EzddHF8hIuHs zQ6L42Ig==; Received: from [177.34.169.227] (helo=bowie..) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1p7Euq-006HsS-3O; Mon, 19 Dec 2022 13:06:44 +0100 From: =?UTF-8?q?Ma=C3=ADra=20Canal?= To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Oded Gabbay , Jani Nikula Cc: Melissa Wen , =?UTF-8?q?Andr=C3=A9=20Almeida?= , Emma Anholt , Rodrigo Siqueira , Wambui Karuga , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Ma=C3=ADra=20Canal?= Subject: [PATCH v4 0/7] Introduce debugfs device-centered functions Date: Mon, 19 Dec 2022 09:06:14 -0300 Message-Id: <20221219120621.15086-1-mcanal@igalia.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series introduces the initial structure to make DRM debugfs more device-centered and it is the first step to drop the drm_driver->debugfs_init hooks in the future [1]. Currently, DRM debugfs files are created using drm_debugfs_create_files() on request. The first patch of this series makes it possible for DRM devices for creating debugfs files during drm_dev_register(). For it, it introduces two new functions that can be used by the drivers: drm_debugfs_add_files() and drm_debugfs_add_file(). The requests are added to a list and are created all at once during drm_dev_register(). Moreover, the first patch was based on this RFC series [2]. The main difference between the RFC series and the current series is the creation of a new fops structure to accommodate the new structs and, also, the creation of a new drm_debugfs_open. Moreover, the new series uses device-managed allocation, returns memory allocation errors, and converts more drivers to the new structure. Moreover, since v3, the ability to create debugfs files at late_register hooks was added. In previous versions, modeset components weren't able to create debugfs files at late_register hooks as the registration of drm_minor happens before the registration of the modeset abstractions. So, the third patch fixes this problem by adding a drm_debugfs_late_register() function. Thanks to Melissa Wen for catching this problem! Apart from the third patch, the series looks similiar from its last version. [1] https://cgit.freedesktop.org/drm/drm/tree/Documentation/gpu/todo.rst#n506 [2] https://lore.kernel.org/dri-devel/20200513114130.28641-2-wambui.karugax@gmail.com/ Best Regards, - Maíra Canal --- v1 -> v2: https://lore.kernel.org/dri-devel/20221122190314.185015-1-mcanal@igalia.com/T/#t - Fix compilation errors in the second patch (kernel test robot). - Drop debugfs_init hook from vkms (Maíra Canal). - Remove return values and error handling to debugfs related functions (Jani Nikula). - Remove entry from list after the file is created, so that drm_debugfs_init can be called more than once (Maíra Canal). v2 -> v3: https://lore.kernel.org/dri-devel/20221123220725.1272155-1-mcanal@igalia.com/ - Rebase on top of drm-misc-next v3 -> v4: https://lore.kernel.org/dri-devel/20221207132325.140393-1-mcanal@igalia.com/ - Add Maxime's Reviewed-by tags - Add the ability to create debugfs files at late_register hooks (Melissa Wen). --- Maíra Canal (7): drm/debugfs: create device-centered debugfs functions drm: use new debugfs device-centered functions on DRM core files drm/debugfs: create debugfs late register functions drm/vc4: use new debugfs device-centered functions drm/v3d: use new debugfs device-centered functions drm/vkms: use new debugfs device-centered functions drm/todo: update the debugfs clean up task Documentation/gpu/todo.rst | 9 +-- drivers/gpu/drm/drm_atomic.c | 11 ++- drivers/gpu/drm/drm_client.c | 11 ++- drivers/gpu/drm/drm_debugfs.c | 102 +++++++++++++++++++++++--- drivers/gpu/drm/drm_drv.c | 3 + drivers/gpu/drm/drm_framebuffer.c | 11 ++- drivers/gpu/drm/drm_gem_vram_helper.c | 11 ++- drivers/gpu/drm/drm_internal.h | 5 ++ drivers/gpu/drm/drm_mode_config.c | 2 + drivers/gpu/drm/v3d/v3d_debugfs.c | 22 +++--- drivers/gpu/drm/vc4/vc4_bo.c | 10 +-- drivers/gpu/drm/vc4/vc4_crtc.c | 7 +- drivers/gpu/drm/vc4/vc4_debugfs.c | 36 ++------- drivers/gpu/drm/vc4/vc4_dpi.c | 5 +- drivers/gpu/drm/vc4/vc4_drv.c | 1 - drivers/gpu/drm/vc4/vc4_drv.h | 32 ++------ drivers/gpu/drm/vc4/vc4_dsi.c | 6 +- drivers/gpu/drm/vc4/vc4_hdmi.c | 12 +-- drivers/gpu/drm/vc4/vc4_hvs.c | 24 ++---- drivers/gpu/drm/vc4/vc4_v3d.c | 14 +--- drivers/gpu/drm/vc4/vc4_vec.c | 6 +- drivers/gpu/drm/vkms/vkms_drv.c | 17 ++--- include/drm/drm_debugfs.h | 41 +++++++++++ include/drm/drm_device.h | 15 ++++ 24 files changed, 233 insertions(+), 180 deletions(-) -- 2.38.1