From 8de1733ca506dc7b7d4b66dca1b33c22e76dc855 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Mon, 20 May 2024 15:41:29 +0200 Subject: add device class attributes (9.6) --- driver/platform.h | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) (limited to 'driver/platform.h') diff --git a/driver/platform.h b/driver/platform.h index cee82a7..ecac681 100644 --- a/driver/platform.h +++ b/driver/platform.h @@ -2,19 +2,42 @@ #include #include +#include -ssize_t attr_show(struct device_driver*, char*); -ssize_t attr_store(struct device_driver*, const char*, size_t); +int lork_probe(struct platform_device*); +int lork_remove(struct platform_device*); -static struct driver_attribute attr = { + +ssize_t drv_attr_int_show(struct device_driver*, char*); +ssize_t drv_attr_int_store(struct device_driver*, const char*, size_t); +static const struct driver_attribute drv_attr_int = { .attr = { - .name = "attr", + .name = "int", .mode = 0644, }, - .show = attr_show, - .store = attr_store, + .show = drv_attr_int_show, + .store = drv_attr_int_store, }; -int lork_probe(struct platform_device*); -int lork_remove(struct platform_device*); +ssize_t dev_attr_int_show(struct device*, struct device_attribute*, char*); +ssize_t dev_attr_int_store(struct device*, struct device_attribute*, const char*, size_t); +static const struct device_attribute dev_attr_int = { + .attr = { + .name = "int", + .mode = 0644, + }, + .show = dev_attr_int_show, + .store = dev_attr_int_store, +}; + +ssize_t dev_attr_str_show(struct device*, struct device_attribute*, char*); +ssize_t dev_attr_str_store(struct device*, struct device_attribute*, const char*, size_t); +static const struct device_attribute dev_attr_str = { + .attr = { + .name = "str", + .mode = 0644, + }, + .show = dev_attr_str_show, + .store = dev_attr_str_store, +}; -- cgit v1.2.3