]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/hns: Add write support to debugfs
authorJunxian Huang <huangjunxian6@hisilicon.com>
Thu, 7 May 2026 01:21:47 +0000 (09:21 +0800)
committerLeon Romanovsky <leon@kernel.org>
Mon, 18 May 2026 08:58:41 +0000 (04:58 -0400)
Add write support to debugfs.

Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20260507012148.1079712-3-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hns/hns_roce_debugfs.c
drivers/infiniband/hw/hns/hns_roce_debugfs.h

index db32c5897640fbb32973b27a0495baf1dc8acd37..724d5ad90bfe34ebf410e9480b8e88fc8e5101ca 100644 (file)
@@ -18,11 +18,31 @@ static int hns_debugfs_seqfile_open(struct inode *inode, struct file *f)
        return single_open(f, seqfile->read, seqfile->data);
 }
 
+static ssize_t hns_debugfs_seqfile_write(struct file *file,
+                                        const char __user *buffer,
+                                        size_t count, loff_t *ppos)
+{
+       struct hns_debugfs_seqfile *seqfile = file_inode(file)->i_private;
+       char buf[16] = {};
+
+       if (!seqfile->write)
+               return -EOPNOTSUPP;
+
+       if (count >= sizeof(buf))
+               return -EINVAL;
+
+       if (copy_from_user(buf, buffer, count))
+               return -EFAULT;
+
+       return seqfile->write(buf, count, seqfile->data);
+}
+
 static const struct file_operations hns_debugfs_seqfile_fops = {
        .owner = THIS_MODULE,
        .open = hns_debugfs_seqfile_open,
        .release = single_release,
        .read = seq_read,
+       .write = hns_debugfs_seqfile_write,
        .llseek = seq_lseek
 };
 
index 98e87bd3161ee426a436bbde85d1f7d1f6f26e63..4e77dea0fbf6cbb0a23c7fcee219ca8e21ffb62f 100644 (file)
@@ -9,6 +9,7 @@
 /* debugfs seqfile */
 struct hns_debugfs_seqfile {
        int (*read)(struct seq_file *seq, void *data);
+       ssize_t (*write)(char *buf, size_t count, void *data);
        void *data;
 };