Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/pm: do not use drm middle layer for debugfs

Use debugfs API directly instead of drm middle layer.

v2: * checkpatch.pl: use '0444' instead of S_IRUGO.
* remove S_IFREG from mode.
* remove mode variable.

Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Nirmoy Das and committed by
Alex Deucher
373720f7 afd3a359

+14 -19
+1 -5
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
··· 1619 1619 return r; 1620 1620 } 1621 1621 1622 - r = amdgpu_debugfs_pm_init(adev); 1623 - if (r) { 1624 - DRM_ERROR("Failed to register debugfs file for dpm!\n"); 1625 - return r; 1626 - } 1622 + amdgpu_debugfs_pm_init(adev); 1627 1623 1628 1624 if (amdgpu_debugfs_sa_init(adev)) { 1629 1625 dev_err(adev->dev, "failed to register debugfs file for SA\n");
+12 -13
drivers/gpu/drm/amd/pm/amdgpu_pm.c
··· 23 23 * Alex Deucher <alexdeucher@gmail.com> 24 24 */ 25 25 26 - #include <drm/drm_debugfs.h> 27 - 28 26 #include "amdgpu.h" 29 27 #include "amdgpu_drv.h" 30 28 #include "amdgpu_pm.h" ··· 3782 3784 (flags & clocks[i].flag) ? "On" : "Off"); 3783 3785 } 3784 3786 3785 - static int amdgpu_debugfs_pm_info(struct seq_file *m, void *data) 3787 + static int amdgpu_debugfs_pm_info_show(struct seq_file *m, void *unused) 3786 3788 { 3787 - struct drm_info_node *node = (struct drm_info_node *) m->private; 3788 - struct drm_device *dev = node->minor->dev; 3789 - struct amdgpu_device *adev = drm_to_adev(dev); 3789 + struct amdgpu_device *adev = (struct amdgpu_device *)m->private; 3790 + struct drm_device *dev = adev_to_drm(adev); 3790 3791 u32 flags = 0; 3791 3792 int r; 3792 3793 ··· 3833 3836 return r; 3834 3837 } 3835 3838 3836 - static const struct drm_info_list amdgpu_pm_info_list[] = { 3837 - {"amdgpu_pm_info", amdgpu_debugfs_pm_info, 0, NULL}, 3838 - }; 3839 + DEFINE_SHOW_ATTRIBUTE(amdgpu_debugfs_pm_info); 3840 + 3839 3841 #endif 3840 3842 3841 - int amdgpu_debugfs_pm_init(struct amdgpu_device *adev) 3843 + void amdgpu_debugfs_pm_init(struct amdgpu_device *adev) 3842 3844 { 3843 3845 #if defined(CONFIG_DEBUG_FS) 3844 - return amdgpu_debugfs_add_files(adev, amdgpu_pm_info_list, ARRAY_SIZE(amdgpu_pm_info_list)); 3845 - #else 3846 - return 0; 3846 + struct drm_minor *minor = adev_to_drm(adev)->primary; 3847 + struct dentry *root = minor->debugfs_root; 3848 + 3849 + debugfs_create_file("amdgpu_pm_info", 0444, root, adev, 3850 + &amdgpu_debugfs_pm_info_fops); 3851 + 3847 3852 #endif 3848 3853 }
+1 -1
drivers/gpu/drm/amd/pm/inc/amdgpu_pm.h
··· 84 84 void amdgpu_pm_sysfs_fini(struct amdgpu_device *adev); 85 85 void amdgpu_pm_virt_sysfs_fini(struct amdgpu_device *adev); 86 86 87 - int amdgpu_debugfs_pm_init(struct amdgpu_device *adev); 87 + void amdgpu_debugfs_pm_init(struct amdgpu_device *adev); 88 88 89 89 #endif