cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ib_sysfs.h (1257B)


      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_H
      6#define DEF_RDMA_IB_SYSFS_H
      7
      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#endif