| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef ICR_CORE_H | |
| #define ICR_CORE_H | |
| #include <linux/device.h> | |
| struct icr_ops { | |
| ssize_t (*open_show)(struct device *dev, struct device_attribute *attr, char *buf); | |
| ssize_t (*open_store)(struct device *dev, struct device_attribute *attr, const char *buf, | |
| size_t count); | |
| }; | |
| struct icr_data { | |
| int id; | |
| const struct icr_ops *ops; | |
| }; | |
| struct device *icr_core_register(struct device *dev, const struct icr_ops *ops); | |
| void icr_core_unregister(struct device *icr_dev); | |
| #endif |