[PATCH] nvme: nvme.h helper cleanup
Chaitanya Kulkarni
kch at nvidia.com
Sun Feb 11 17:48:03 PST 2024
nvme_ns_head_multipath() is only used in host/core.c :-
File Function
0 drivers/nvme/host/core.c nvme_ns_open
1 drivers/nvme/host/core.c nvme_update_ns_info_generic
2 drivers/nvme/host/core.c nvme_update_ns_info_block
3 drivers/nvme/host/core.c nvme_alloc_ns
4 drivers/nvme/host/core.c nvme_alloc_ns
5 drivers/nvme/host/core.c nvme_ns_remove
6 drivers/nvme/host/nvme.h nvme_ns_head_multipath
nvme_print_defice_info() is only used in host/core.c :-
File Function
0 drivers/nvme/host/core.c nvme_init_ns_head
1 drivers/nvme/host/nvme.h nvme_print_device_info
nvme_is_ana_error() is only used in host/core.c :-
File Function
0 drivers/nvme/host/multipath.c nvme_failover_req
1 drivers/nvme/host/nvme.h nvme_is_ana_error
nvme_cid_to_rq() is only used in host/tcp.c :-
File Function
0 drivers/nvme/host/nvme.h nvme_cid_to_rq
1 drivers/nvme/host/tcp.c nvme_tcp_recv_data
2 drivers/nvme/host/tcp.c nvme_tcp_recv_ddgst
3 drivers/nvme/host/tcp.c nvme_tcp_recv_ddgst
Move these functions to respective files instead of bloating the header.
Signed-off-by: Chaitanya Kulkarni <kch at nvidia.com>
---
drivers/nvme/host/core.c | 22 +++++++++++++++++++
drivers/nvme/host/multipath.c | 12 +++++++++++
drivers/nvme/host/nvme.h | 40 -----------------------------------
drivers/nvme/host/tcp.c | 6 ++++++
4 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 60537c9224bf..20c0c141fcc0 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -127,6 +127,28 @@ static void nvme_remove_invalid_namespaces(struct nvme_ctrl *ctrl,
static void nvme_update_keep_alive(struct nvme_ctrl *ctrl,
struct nvme_command *cmd);
+static inline bool nvme_ns_head_multipath(struct nvme_ns_head *head)
+{
+ return IS_ENABLED(CONFIG_NVME_MULTIPATH) && head->disk;
+}
+
+static inline void nvme_print_device_info(struct nvme_ctrl *ctrl)
+{
+ struct nvme_subsystem *subsys = ctrl->subsys;
+
+ if (ctrl->ops->print_device_info) {
+ ctrl->ops->print_device_info(ctrl);
+ return;
+ }
+
+ dev_err(ctrl->device,
+ "VID:%04x model:%.*s firmware:%.*s\n", subsys->vendor_id,
+ nvme_strlen(subsys->model, sizeof(subsys->model)),
+ subsys->model, nvme_strlen(subsys->firmware_rev,
+ sizeof(subsys->firmware_rev)),
+ subsys->firmware_rev);
+}
+
void nvme_queue_scan(struct nvme_ctrl *ctrl)
{
/*
diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index 74de1e64aeea..5b2581ccb160 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -21,6 +21,18 @@ static const char *nvme_iopolicy_names[] = {
static int iopolicy = NVME_IOPOLICY_NUMA;
+static inline bool nvme_is_ana_error(u16 status)
+{
+ switch (status & 0x7ff) {
+ case NVME_SC_ANA_TRANSITION:
+ case NVME_SC_ANA_INACCESSIBLE:
+ case NVME_SC_ANA_PERSISTENT_LOSS:
+ return true;
+ default:
+ return false;
+ }
+}
+
static int nvme_set_iopolicy(const char *val, const struct kernel_param *kp)
{
if (!val)
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 7b87763e2f8a..3ca486fe927c 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -489,11 +489,6 @@ struct nvme_ns_head {
#endif
};
-static inline bool nvme_ns_head_multipath(struct nvme_ns_head *head)
-{
- return IS_ENABLED(CONFIG_NVME_MULTIPATH) && head->disk;
-}
-
enum nvme_ns_features {
NVME_NS_EXT_LBAS = 1 << 0, /* support extended LBA format */
NVME_NS_METADATA_SUPPORTED = 1 << 1, /* support getting generated md */
@@ -590,12 +585,6 @@ static inline struct request *nvme_find_rq(struct blk_mq_tags *tags,
return rq;
}
-static inline struct request *nvme_cid_to_rq(struct blk_mq_tags *tags,
- u16 command_id)
-{
- return blk_mq_tag_to_rq(tags, nvme_tag_from_cid(command_id));
-}
-
/*
* Return the length of the string without the space padding
*/
@@ -606,23 +595,6 @@ static inline int nvme_strlen(char *s, int len)
return len;
}
-static inline void nvme_print_device_info(struct nvme_ctrl *ctrl)
-{
- struct nvme_subsystem *subsys = ctrl->subsys;
-
- if (ctrl->ops->print_device_info) {
- ctrl->ops->print_device_info(ctrl);
- return;
- }
-
- dev_err(ctrl->device,
- "VID:%04x model:%.*s firmware:%.*s\n", subsys->vendor_id,
- nvme_strlen(subsys->model, sizeof(subsys->model)),
- subsys->model, nvme_strlen(subsys->firmware_rev,
- sizeof(subsys->firmware_rev)),
- subsys->firmware_rev);
-}
-
#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS
void nvme_fault_inject_init(struct nvme_fault_inject *fault_inj,
const char *dev_name);
@@ -682,18 +654,6 @@ static inline u32 nvme_bytes_to_numd(size_t len)
return (len >> 2) - 1;
}
-static inline bool nvme_is_ana_error(u16 status)
-{
- switch (status & 0x7ff) {
- case NVME_SC_ANA_TRANSITION:
- case NVME_SC_ANA_INACCESSIBLE:
- case NVME_SC_ANA_PERSISTENT_LOSS:
- return true;
- default:
- return false;
- }
-}
-
static inline bool nvme_is_path_error(u16 status)
{
/* check for a status code type of 'path related status' */
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index a6d596e05602..0bc6bd377c87 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -84,6 +84,12 @@ static void nvme_tcp_reclassify_socket(struct socket *sock)
static void nvme_tcp_reclassify_socket(struct socket *sock) { }
#endif
+static inline struct request *nvme_cid_to_rq(struct blk_mq_tags *tags,
+ u16 command_id)
+{
+ return blk_mq_tag_to_rq(tags, nvme_tag_from_cid(command_id));
+}
+
enum nvme_tcp_send_state {
NVME_TCP_SEND_CMD_PDU = 0,
NVME_TCP_SEND_H2C_PDU,
--
2.40.0
More information about the Linux-nvme
mailing list