struct dpu_kms *dpu_kms;
 };
 
-static int _dpu_debugfs_show_regset32(struct seq_file *s, void *data)
+static int dpu_regset32_show(struct seq_file *s, void *data)
 {
        struct dpu_debugfs_regset32 *regset = s->private;
        struct dpu_kms *dpu_kms = regset->dpu_kms;
 
        return 0;
 }
-
-static int dpu_debugfs_open_regset32(struct inode *inode,
-               struct file *file)
-{
-       return single_open(file, _dpu_debugfs_show_regset32, inode->i_private);
-}
-
-static const struct file_operations dpu_fops_regset32 = {
-       .open =         dpu_debugfs_open_regset32,
-       .read =         seq_read,
-       .llseek =       seq_lseek,
-       .release =      single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(dpu_regset32);
 
 void dpu_debugfs_create_regset32(const char *name, umode_t mode,
                void *parent,
        regset->blk_len = length;
        regset->dpu_kms = dpu_kms;
 
-       debugfs_create_file(name, mode, parent, regset, &dpu_fops_regset32);
+       debugfs_create_file(name, mode, parent, regset, &dpu_regset32_fops);
 }
 
 static int dpu_kms_debugfs_init(struct msm_kms *kms, struct drm_minor *minor)