37 lines · 1.2 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause *//* * Copyright (c) 2021 Mellanox Technologies Ltd.  All rights reserved. */#ifndef DEF_RDMA_IB_SYSFS_H#define DEF_RDMA_IB_SYSFS_H #include <linux/sysfs.h> struct ib_device; struct ib_port_attribute {	struct attribute attr;	ssize_t (*show)(struct ib_device *ibdev, u32 port_num,			struct ib_port_attribute *attr, char *buf);	ssize_t (*store)(struct ib_device *ibdev, u32 port_num,			 struct ib_port_attribute *attr, const char *buf,			 size_t count);}; #define IB_PORT_ATTR_RW(_name)                                                 \	struct ib_port_attribute ib_port_attr_##_name = __ATTR_RW(_name) #define IB_PORT_ATTR_ADMIN_RW(_name)                                           \	struct ib_port_attribute ib_port_attr_##_name =                        \		__ATTR_RW_MODE(_name, 0600) #define IB_PORT_ATTR_RO(_name)                                                 \	struct ib_port_attribute ib_port_attr_##_name = __ATTR_RO(_name) #define IB_PORT_ATTR_WO(_name)                                                 \	struct ib_port_attribute ib_port_attr_##_name = __ATTR_WO(_name) struct ib_device *ib_port_sysfs_get_ibdev_kobj(struct kobject *kobj,					       u32 *port_num); #endif