return 0;
 }
-
-static int aspeed_video_proc_open(struct inode *inode, struct file *file)
-{
-       return single_open(file, aspeed_video_debugfs_show, inode->i_private);
-}
-
-static const struct file_operations aspeed_video_debugfs_ops = {
-       .owner   = THIS_MODULE,
-       .open    = aspeed_video_proc_open,
-       .read    = seq_read,
-       .llseek  = seq_lseek,
-       .release = single_release,
-};
+DEFINE_SHOW_ATTRIBUTE(aspeed_video_debugfs);
 
 static struct dentry *debugfs_entry;
 
 {
        debugfs_entry = debugfs_create_file(DEVICE_NAME, 0444, NULL,
                                            video,
-                                           &aspeed_video_debugfs_ops);
+                                           &aspeed_video_debugfs_fops);
        if (!debugfs_entry)
                aspeed_video_debugfs_remove(video);