brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 3b77cfd Raw
38 lines · c
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */2/*3 * Copyright (c) 2021 Mellanox Technologies Ltd.  All rights reserved.4 */5#ifndef DEF_RDMA_IB_SYSFS_H6#define DEF_RDMA_IB_SYSFS_H7 8#include <linux/sysfs.h>9 10struct ib_device;11 12struct ib_port_attribute {13	struct attribute attr;14	ssize_t (*show)(struct ib_device *ibdev, u32 port_num,15			struct ib_port_attribute *attr, char *buf);16	ssize_t (*store)(struct ib_device *ibdev, u32 port_num,17			 struct ib_port_attribute *attr, const char *buf,18			 size_t count);19};20 21#define IB_PORT_ATTR_RW(_name)                                                 \22	struct ib_port_attribute ib_port_attr_##_name = __ATTR_RW(_name)23 24#define IB_PORT_ATTR_ADMIN_RW(_name)                                           \25	struct ib_port_attribute ib_port_attr_##_name =                        \26		__ATTR_RW_MODE(_name, 0600)27 28#define IB_PORT_ATTR_RO(_name)                                                 \29	struct ib_port_attribute ib_port_attr_##_name = __ATTR_RO(_name)30 31#define IB_PORT_ATTR_WO(_name)                                                 \32	struct ib_port_attribute ib_port_attr_##_name = __ATTR_WO(_name)33 34struct ib_device *ib_port_sysfs_get_ibdev_kobj(struct kobject *kobj,35					       u32 *port_num);36 37#endif38