Received: by 2002:ab2:7988:0:b0:1f4:b336:87c4 with SMTP id g8csp29903lqj; Thu, 11 Apr 2024 09:04:19 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW0gsX2PlFCiIar41HjpOf+iIptUbArPdJl3u2Iw3jS7+rm4+U6WRdkkRaIAUeV4LAUW7mtOuLE/hj7Ic/jS5pNXnCqxulIOI7tjoXTDw== X-Google-Smtp-Source: AGHT+IGAxSp4kc6Xn1qsNv2NO7JEkHyKMyfwyd4A/5SBRCG4YQoXTDFn71j3P9ycEnCroux6C0rN X-Received: by 2002:a05:622a:1356:b0:434:787b:89a2 with SMTP id w22-20020a05622a135600b00434787b89a2mr194852qtk.19.1712851459344; Thu, 11 Apr 2024 09:04:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712851459; cv=pass; d=google.com; s=arc-20160816; b=LlooOwl55QlFxIz/9kWSAkTdezB6VnTJ3Rh6bfPCCQrLCL0AHDI4eLWf9Bs1WHOXzV dnm7khchcnIlCEOSVKLPs1dzkJn5GbyCYMeHVhbJVVpC49Eb4aNbi+irrmUBbLtNg1Ii wdAo0E5YmQPMM7t9BW5zJr3Wnd1WlfHyfh8qA+bTu9gdYM975jOeNhtaBGArrSiyKX4n GKaTfCZXI7CaWjcsCWXEQ00wOU4j3ALJs+Z0ccRmqVG+7nBmz7joNGJHNyGVLEdI5+cN dv4Tc9wI9xPcJ1JscAZnfap0hec2BNUbeHlbQVQxb/TCo+cO5IZQEhqENdSBZUxHapHS v7Og== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=X69VkKRBRS4SFDGlDKAfZ/Z/En9tZp2QBRLJAwyAOQw=; fh=2FInBIgEh7xt9W7JS1z2wQ7fUhvLHtwfAfkXluU3JoI=; b=YyjecEMUx4pM3e6J5PlS5OZRnKjbeL1LSVvXCtVZtmYuBWKlp2FQAApx0j4k66f62Y Z8a4lwh6BSFER2GyDCfVoSY7doIMOdPDoiy09YcV7Zgenia4Hzyvdpwb0167q9f54hKQ Rfp+4XMnUhNdFbxORIbABdsqvYvuv9krn2sHsqEfQLXFdUK72nDmzzWbIFAsBFho/1j4 lrVMlAS/Flx6ITvOdmy8JDfHziAT0wox4AhDQ0elEVRVKmVxaUxWLj80jgkyX3SQAY/P WAlq7Oh1eGF0AB6UrEpyCXBQbrjNc+t/VRxYtpKjTI7n9L7jFY4/n+XW2dEl+4/8oFUe YsTg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=09yiS8Cc; arc=pass (i=1 spf=pass spfdomain=kernel.dk dkim=pass dkdomain=kernel-dk.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-140870-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-140870-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id v19-20020a05622a131300b0043659515ffesi1875169qtk.265.2024.04.11.09.04.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 09:04:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-140870-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=09yiS8Cc; arc=pass (i=1 spf=pass spfdomain=kernel.dk dkim=pass dkdomain=kernel-dk.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-140870-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-140870-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id F35521C20C30 for ; Thu, 11 Apr 2024 16:04:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9998814F9F9; Thu, 11 Apr 2024 15:34:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="09yiS8Cc" Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FFFA14EC6A for ; Thu, 11 Apr 2024 15:34:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712849685; cv=none; b=UJMrpVQGB9hHWRXiQhly1gCNEItTHWwg7aMHWj15rvy+jXb7WVGP/6oE/jkI1CrmYERaouBJiII6q3HUG6KbguJd0FbX4XjyPBsjhRANK8d9nqjkKroU424XmJrSNfQqhlqdPrALGHTVel4rtcbN93Y923fInMKMLV311qo+ZGU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712849685; c=relaxed/simple; bh=EvF9GK5fbHclBik/U1ZhjLcyJWbBmhwlfutDJHY9YgA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sWZ2iYvyfbTp69ovre1/Y0g1v/gWw2ZOYr7PPh4AKLNEZhZbFLY1tdXFCtbgt03yBKCyPjm2AOY0BJyBa9sarUtxOGBhTXX2z/txWnBDt5zoI/l2weIna4vapEecIUTavpSs9UEueg0ji3xu+RkC3tT2NOXmORcOi+4dKYUmSxw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=09yiS8Cc; arc=none smtp.client-ip=209.85.166.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-7d6812b37a6so8913039f.0 for ; Thu, 11 Apr 2024 08:34:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1712849680; x=1713454480; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=X69VkKRBRS4SFDGlDKAfZ/Z/En9tZp2QBRLJAwyAOQw=; b=09yiS8CcWQbJtgcH3fYbx+4F/FAEiTFz0FdSd+JmMMpIxqqgWhZ/IMbmwNFzQN5gUa 43L7x0kUTPhyBxpVYxJDgjZWAUcI/X8U51OMSj58eB1Q9dbJMr1fQfNL8fBSY5yBo3kJ 39HlNHnytEbAKqNaZROgQIS78wW3/io148f1KOwFHUIedxLSpz3SihNoKLs7H4D45lON 6NKQvVNBU3mi8Is8ZZJ31Ur/lqvGMug2mcA6/ZjeGFjztULH5ssqqAvXJDxyQn16fkdn nDXhl3UflHPjLdwWI1OfTBJOe2Vaoke+YkYXBkNgqYQe68x1rAVuMxrIE1oVH1VZFD2p rCKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712849680; x=1713454480; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X69VkKRBRS4SFDGlDKAfZ/Z/En9tZp2QBRLJAwyAOQw=; b=HQuqKSR8n8IGXZJWeKcrh0Od21MEjwxcSO0SvOjIbI1HM7ruywBbn4ppGdt71h0rqG V/FolsjA5tDpryz8XEbzkDJwVC+p1EWrPg15ZOp5gFQmAw3uuZQCWPt+Nn5rLYEY185q 8QY1Oo7xlcF9qh1GW26UX3shvunAW7HnYgQfbLH7CG3m5NgY9D5RqTlqu9TrqGkr0KaF 9GzeFP/g32fuGLHl7IsnKYh9f4Tj5pZJ/yhE3oKtGelZvtRp+V7ngP99brk2ubln91cm P5/5JiZD33hhlbrwi7VWywtb0ZAcH8IgcHyQzYo+XTA+lVF7k7517kCYfTQyC/2GDqIc VZDg== X-Gm-Message-State: AOJu0YwKqM5VtsLAYuKeBUgrt4I3imYDO6MrUM6I935FMXUO8hfrZz8P BrkrDsx1Tk0ac2CQdSSA6X4gkvMJBaOcQ6lk9BTZRyK1/ZLbUo7N75E4WBtCuFn5yhdIjHEQODA n X-Received: by 2002:a92:2912:0:b0:36a:f9aa:5757 with SMTP id l18-20020a922912000000b0036af9aa5757mr3578832ilg.2.1712849680519; Thu, 11 Apr 2024 08:34:40 -0700 (PDT) Received: from localhost.localdomain ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id jc25-20020a056638891900b0047f14b7f6c0sm457056jab.5.2024.04.11.08.34.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 08:34:38 -0700 (PDT) From: Jens Axboe To: linux-kernel@vger.kernel.org Cc: Jens Axboe Subject: [PATCH 106/437] crypto: hisilicon: convert to read/write iterators Date: Thu, 11 Apr 2024 09:14:06 -0600 Message-ID: <20240411153126.16201-107-axboe@kernel.dk> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240411153126.16201-1-axboe@kernel.dk> References: <20240411153126.16201-1-axboe@kernel.dk> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Signed-off-by: Jens Axboe --- drivers/crypto/hisilicon/debugfs.c | 51 +++++++++++------------ drivers/crypto/hisilicon/hpre/hpre_main.c | 23 +++++----- drivers/crypto/hisilicon/qm.c | 22 +++++----- drivers/crypto/hisilicon/sec2/sec_main.c | 23 +++++----- drivers/crypto/hisilicon/zip/zip_main.c | 23 +++++----- 5 files changed, 68 insertions(+), 74 deletions(-) diff --git a/drivers/crypto/hisilicon/debugfs.c b/drivers/crypto/hisilicon/debugfs.c index cd67fa348ca7..6dd67b0fcf36 100644 --- a/drivers/crypto/hisilicon/debugfs.c +++ b/drivers/crypto/hisilicon/debugfs.c @@ -137,8 +137,7 @@ static struct hisi_qm *file_to_qm(struct debugfs_file *file) return container_of(debug, struct hisi_qm, debug); } -static ssize_t qm_cmd_read(struct file *filp, char __user *buffer, - size_t count, loff_t *pos) +static ssize_t qm_cmd_read(struct kiocb *iocb, struct iov_iter *to) { char buf[QM_DBG_READ_LEN]; int len; @@ -146,7 +145,7 @@ static ssize_t qm_cmd_read(struct file *filp, char __user *buffer, len = scnprintf(buf, QM_DBG_READ_LEN, "%s\n", "Please echo help to cmd to get help information"); - return simple_read_from_buffer(buffer, count, pos, buf, len); + return simple_copy_to_iter(buf, &iocb->ki_pos, len, to); } static void dump_show(struct hisi_qm *qm, void *info, @@ -502,14 +501,14 @@ static int qm_cmd_write_dump(struct hisi_qm *qm, const char *cmd_buf) return ret; } -static ssize_t qm_cmd_write(struct file *filp, const char __user *buffer, - size_t count, loff_t *pos) +static ssize_t qm_cmd_write(struct kiocb *iocb, struct iov_iter *from) { - struct hisi_qm *qm = filp->private_data; + struct hisi_qm *qm = iocb->ki_filp->private_data; + size_t count = iov_iter_count(from); char *cmd_buf, *cmd_buf_tmp; int ret; - if (*pos) + if (iocb->ki_pos) return 0; ret = hisi_qm_get_dfx_access(qm); @@ -527,7 +526,7 @@ static ssize_t qm_cmd_write(struct file *filp, const char __user *buffer, goto put_dfx_access; } - cmd_buf = memdup_user_nul(buffer, count); + cmd_buf = iterdup_nul(from, count); if (IS_ERR(cmd_buf)) { ret = PTR_ERR(cmd_buf); goto put_dfx_access; @@ -557,8 +556,8 @@ static ssize_t qm_cmd_write(struct file *filp, const char __user *buffer, static const struct file_operations qm_cmd_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = qm_cmd_read, - .write = qm_cmd_write, + .read_iter = qm_cmd_read, + .write_iter = qm_cmd_write, }; /** @@ -704,10 +703,9 @@ static int current_qm_write(struct hisi_qm *qm, u32 val) return 0; } -static ssize_t qm_debug_read(struct file *filp, char __user *buf, - size_t count, loff_t *pos) +static ssize_t qm_debug_read(struct kiocb *iocb, struct iov_iter *to) { - struct debugfs_file *file = filp->private_data; + struct debugfs_file *file = iocb->ki_filp->private_data; enum qm_debug_file index = file->index; struct hisi_qm *qm = file_to_qm(file); char tbuf[QM_DBG_TMP_BUF_LEN]; @@ -736,7 +734,7 @@ static ssize_t qm_debug_read(struct file *filp, char __user *buf, hisi_qm_put_dfx_access(qm); ret = scnprintf(tbuf, QM_DBG_TMP_BUF_LEN, "%u\n", val); - return simple_read_from_buffer(buf, count, pos, tbuf, ret); + return simple_copy_to_iter(tbuf, &iocb->ki_pos, ret, to); err_input: mutex_unlock(&file->lock); @@ -744,24 +742,24 @@ static ssize_t qm_debug_read(struct file *filp, char __user *buf, return -EINVAL; } -static ssize_t qm_debug_write(struct file *filp, const char __user *buf, - size_t count, loff_t *pos) +static ssize_t qm_debug_write(struct kiocb *iocb, struct iov_iter *from) { - struct debugfs_file *file = filp->private_data; + struct debugfs_file *file = iocb->ki_filp->private_data; enum qm_debug_file index = file->index; struct hisi_qm *qm = file_to_qm(file); + size_t count = iov_iter_count(from); unsigned long val; char tbuf[QM_DBG_TMP_BUF_LEN]; int len, ret; - if (*pos != 0) + if (iocb->ki_pos != 0) return 0; if (count >= QM_DBG_TMP_BUF_LEN) return -ENOSPC; - len = simple_write_to_buffer(tbuf, QM_DBG_TMP_BUF_LEN - 1, pos, buf, - count); + len = simple_copy_from_iter(tbuf, &iocb->ki_pos, QM_DBG_TMP_BUF_LEN - 1, + from); if (len < 0) return len; @@ -800,8 +798,8 @@ static ssize_t qm_debug_write(struct file *filp, const char __user *buf, static const struct file_operations qm_debug_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = qm_debug_read, - .write = qm_debug_write, + .read_iter = qm_debug_read, + .write_iter = qm_debug_write, }; static void dfx_regs_uninit(struct hisi_qm *qm, @@ -1051,23 +1049,22 @@ static int qm_state_show(struct seq_file *s, void *unused) DEFINE_SHOW_ATTRIBUTE(qm_state); -static ssize_t qm_status_read(struct file *filp, char __user *buffer, - size_t count, loff_t *pos) +static ssize_t qm_status_read(struct kiocb *iocb, struct iov_iter *to) { - struct hisi_qm *qm = filp->private_data; + struct hisi_qm *qm = iocb->ki_filp->private_data; char buf[QM_DBG_READ_LEN]; int val, len; val = atomic_read(&qm->status.flags); len = scnprintf(buf, QM_DBG_READ_LEN, "%s\n", qm_s[val]); - return simple_read_from_buffer(buffer, count, pos, buf, len); + return simple_copy_to_iter(buf, &iocb->ki_pos, len, to); } static const struct file_operations qm_status_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = qm_status_read, + .read_iter = qm_status_read, }; static void qm_create_debugfs_file(struct hisi_qm *qm, struct dentry *dir, diff --git a/drivers/crypto/hisilicon/hpre/hpre_main.c b/drivers/crypto/hisilicon/hpre/hpre_main.c index d93aa6630a57..b9257a368aa9 100644 --- a/drivers/crypto/hisilicon/hpre/hpre_main.c +++ b/drivers/crypto/hisilicon/hpre/hpre_main.c @@ -829,10 +829,9 @@ static void hpre_cluster_inqry_write(struct hpre_debugfs_file *file, u32 val) writel(val, qm->io_base + offset + HPRE_CLUSTER_INQURY); } -static ssize_t hpre_ctrl_debug_read(struct file *filp, char __user *buf, - size_t count, loff_t *pos) +static ssize_t hpre_ctrl_debug_read(struct kiocb *iocb, struct iov_iter *to) { - struct hpre_debugfs_file *file = filp->private_data; + struct hpre_debugfs_file *file = iocb->ki_filp->private_data; struct hisi_qm *qm = hpre_file_to_qm(file); char tbuf[HPRE_DBGFS_VAL_MAX_LEN]; u32 val; @@ -857,7 +856,7 @@ static ssize_t hpre_ctrl_debug_read(struct file *filp, char __user *buf, hisi_qm_put_dfx_access(qm); ret = snprintf(tbuf, HPRE_DBGFS_VAL_MAX_LEN, "%u\n", val); - return simple_read_from_buffer(buf, count, pos, tbuf, ret); + return simple_copy_to_iter(tbuf, &iocb->ki_pos, ret, to); err_input: spin_unlock_irq(&file->lock); @@ -865,23 +864,23 @@ static ssize_t hpre_ctrl_debug_read(struct file *filp, char __user *buf, return -EINVAL; } -static ssize_t hpre_ctrl_debug_write(struct file *filp, const char __user *buf, - size_t count, loff_t *pos) +static ssize_t hpre_ctrl_debug_write(struct kiocb *iocb, struct iov_iter *from) { - struct hpre_debugfs_file *file = filp->private_data; + struct hpre_debugfs_file *file = iocb->ki_filp->private_data; struct hisi_qm *qm = hpre_file_to_qm(file); + size_t count = iov_iter_count(from); char tbuf[HPRE_DBGFS_VAL_MAX_LEN]; unsigned long val; int len, ret; - if (*pos != 0) + if (iocb->ki_pos != 0) return 0; if (count >= HPRE_DBGFS_VAL_MAX_LEN) return -ENOSPC; - len = simple_write_to_buffer(tbuf, HPRE_DBGFS_VAL_MAX_LEN - 1, - pos, buf, count); + len = simple_copy_from_iter(tbuf, &iocb->ki_pos, + HPRE_DBGFS_VAL_MAX_LEN - 1, from); if (len < 0) return len; @@ -919,8 +918,8 @@ static ssize_t hpre_ctrl_debug_write(struct file *filp, const char __user *buf, static const struct file_operations hpre_ctrl_debug_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = hpre_ctrl_debug_read, - .write = hpre_ctrl_debug_write, + .read_iter = hpre_ctrl_debug_read, + .write_iter = hpre_ctrl_debug_write, }; static int hpre_debugfs_atomic64_get(void *data, u64 *val) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 92f0a1d9b4a6..604cff89f0c8 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -3591,10 +3591,9 @@ static int qm_vf_read_qos(struct hisi_qm *qm) return ret; } -static ssize_t qm_algqos_read(struct file *filp, char __user *buf, - size_t count, loff_t *pos) +static ssize_t qm_algqos_read(struct kiocb *iocb, struct iov_iter *to) { - struct hisi_qm *qm = filp->private_data; + struct hisi_qm *qm = iocb->ki_filp->private_data; char tbuf[QM_DBG_READ_LEN]; u32 qos_val, ir; int ret; @@ -3622,7 +3621,7 @@ static ssize_t qm_algqos_read(struct file *filp, char __user *buf, qos_val = ir / QM_QOS_RATE; ret = scnprintf(tbuf, QM_DBG_READ_LEN, "%u\n", qos_val); - ret = simple_read_from_buffer(buf, count, pos, tbuf, ret); + ret = simple_copy_to_iter(tbuf, &iocb->ki_pos, ret, to); err_get_status: clear_bit(QM_RESETTING, &qm->misc_ctl); @@ -3665,22 +3664,23 @@ static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf, return 0; } -static ssize_t qm_algqos_write(struct file *filp, const char __user *buf, - size_t count, loff_t *pos) +static ssize_t qm_algqos_write(struct kiocb *iocb, struct iov_iter *from) { - struct hisi_qm *qm = filp->private_data; + struct hisi_qm *qm = iocb->ki_filp->private_data; + size_t count = iov_iter_count(from); char tbuf[QM_DBG_READ_LEN]; unsigned int fun_index; unsigned long val; int len, ret; - if (*pos != 0) + if (iocb->ki_pos != 0) return 0; if (count >= QM_DBG_READ_LEN) return -ENOSPC; - len = simple_write_to_buffer(tbuf, QM_DBG_READ_LEN - 1, pos, buf, count); + len = simple_copy_from_iter(tbuf, &iocb->ki_pos, QM_DBG_READ_LEN - 1, + from); if (len < 0) return len; @@ -3722,8 +3722,8 @@ static ssize_t qm_algqos_write(struct file *filp, const char __user *buf, static const struct file_operations qm_algqos_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = qm_algqos_read, - .write = qm_algqos_write, + .read_iter = qm_algqos_read, + .write_iter = qm_algqos_write, }; /** diff --git a/drivers/crypto/hisilicon/sec2/sec_main.c b/drivers/crypto/hisilicon/sec2/sec_main.c index c290d8937b19..bb168d97de30 100644 --- a/drivers/crypto/hisilicon/sec2/sec_main.c +++ b/drivers/crypto/hisilicon/sec2/sec_main.c @@ -718,10 +718,9 @@ static int sec_clear_enable_write(struct hisi_qm *qm, u32 val) return 0; } -static ssize_t sec_debug_read(struct file *filp, char __user *buf, - size_t count, loff_t *pos) +static ssize_t sec_debug_read(struct kiocb *iocb, struct iov_iter *to) { - struct sec_debug_file *file = filp->private_data; + struct sec_debug_file *file = iocb->ki_filp->private_data; char tbuf[SEC_DBGFS_VAL_MAX_LEN]; struct hisi_qm *qm = file->qm; u32 val; @@ -745,7 +744,7 @@ static ssize_t sec_debug_read(struct file *filp, char __user *buf, hisi_qm_put_dfx_access(qm); ret = snprintf(tbuf, SEC_DBGFS_VAL_MAX_LEN, "%u\n", val); - return simple_read_from_buffer(buf, count, pos, tbuf, ret); + return simple_copy_to_iter(tbuf, &iocb->ki_pos, ret, to); err_input: spin_unlock_irq(&file->lock); @@ -753,23 +752,23 @@ static ssize_t sec_debug_read(struct file *filp, char __user *buf, return -EINVAL; } -static ssize_t sec_debug_write(struct file *filp, const char __user *buf, - size_t count, loff_t *pos) +static ssize_t sec_debug_write(struct kiocb *iocb, struct iov_iter *from) { - struct sec_debug_file *file = filp->private_data; + struct sec_debug_file *file = iocb->ki_filp->private_data; + size_t count = iov_iter_count(from); char tbuf[SEC_DBGFS_VAL_MAX_LEN]; struct hisi_qm *qm = file->qm; unsigned long val; int len, ret; - if (*pos != 0) + if (iocb->ki_pos != 0) return 0; if (count >= SEC_DBGFS_VAL_MAX_LEN) return -ENOSPC; - len = simple_write_to_buffer(tbuf, SEC_DBGFS_VAL_MAX_LEN - 1, - pos, buf, count); + len = simple_copy_from_iter(tbuf, &iocb->ki_pos, + SEC_DBGFS_VAL_MAX_LEN - 1, from); if (len < 0) return len; @@ -805,8 +804,8 @@ static ssize_t sec_debug_write(struct file *filp, const char __user *buf, static const struct file_operations sec_dbg_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = sec_debug_read, - .write = sec_debug_write, + .read_iter = sec_debug_read, + .write_iter = sec_debug_write, }; static int sec_debugfs_atomic64_get(void *data, u64 *val) diff --git a/drivers/crypto/hisilicon/zip/zip_main.c b/drivers/crypto/hisilicon/zip/zip_main.c index c065fd867161..47319ba13873 100644 --- a/drivers/crypto/hisilicon/zip/zip_main.c +++ b/drivers/crypto/hisilicon/zip/zip_main.c @@ -689,10 +689,9 @@ static int clear_enable_write(struct hisi_qm *qm, u32 val) return 0; } -static ssize_t hisi_zip_ctrl_debug_read(struct file *filp, char __user *buf, - size_t count, loff_t *pos) +static ssize_t hisi_zip_ctrl_debug_read(struct kiocb *iocb, struct iov_iter *to) { - struct ctrl_debug_file *file = filp->private_data; + struct ctrl_debug_file *file = iocb->ki_filp->private_data; struct hisi_qm *qm = file_to_qm(file); char tbuf[HZIP_BUF_SIZE]; u32 val; @@ -714,7 +713,7 @@ static ssize_t hisi_zip_ctrl_debug_read(struct file *filp, char __user *buf, hisi_qm_put_dfx_access(qm); ret = scnprintf(tbuf, sizeof(tbuf), "%u\n", val); - return simple_read_from_buffer(buf, count, pos, tbuf, ret); + return simple_copy_to_iter(tbuf, &iocb->ki_pos, ret, to); err_input: spin_unlock_irq(&file->lock); @@ -722,23 +721,23 @@ static ssize_t hisi_zip_ctrl_debug_read(struct file *filp, char __user *buf, return -EINVAL; } -static ssize_t hisi_zip_ctrl_debug_write(struct file *filp, - const char __user *buf, - size_t count, loff_t *pos) +static ssize_t hisi_zip_ctrl_debug_write(struct kiocb *iocb, + struct iov_iter *from) { - struct ctrl_debug_file *file = filp->private_data; + struct ctrl_debug_file *file = iocb->ki_filp->private_data; struct hisi_qm *qm = file_to_qm(file); + size_t count = iov_iter_count(from); char tbuf[HZIP_BUF_SIZE]; unsigned long val; int len, ret; - if (*pos != 0) + if (iocb->ki_pos != 0) return 0; if (count >= HZIP_BUF_SIZE) return -ENOSPC; - len = simple_write_to_buffer(tbuf, HZIP_BUF_SIZE - 1, pos, buf, count); + len = simple_copy_from_iter(tbuf, &iocb->ki_pos, HZIP_BUF_SIZE - 1, from); if (len < 0) return len; @@ -774,8 +773,8 @@ static ssize_t hisi_zip_ctrl_debug_write(struct file *filp, static const struct file_operations ctrl_debug_fops = { .owner = THIS_MODULE, .open = simple_open, - .read = hisi_zip_ctrl_debug_read, - .write = hisi_zip_ctrl_debug_write, + .read_iter = hisi_zip_ctrl_debug_read, + .write_iter = hisi_zip_ctrl_debug_write, }; static int zip_debugfs_atomic64_set(void *data, u64 val) -- 2.43.0