|
@@ -106,6 +106,7 @@ struct psmouse_attribute {
|
|
|
ssize_t (*show)(struct psmouse *psmouse, void *data, char *buf);
|
|
|
ssize_t (*set)(struct psmouse *psmouse, void *data,
|
|
|
const char *buf, size_t count);
|
|
|
+ int protect;
|
|
|
};
|
|
|
#define to_psmouse_attr(a) container_of((a), struct psmouse_attribute, dattr)
|
|
|
|
|
@@ -114,7 +115,7 @@ ssize_t psmouse_attr_show_helper(struct device *dev, struct device_attribute *at
|
|
|
ssize_t psmouse_attr_set_helper(struct device *dev, struct device_attribute *attr,
|
|
|
const char *buf, size_t count);
|
|
|
|
|
|
-#define PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set) \
|
|
|
+#define __PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set, _protect) \
|
|
|
static ssize_t _show(struct psmouse *, void *data, char *); \
|
|
|
static ssize_t _set(struct psmouse *, void *data, const char *, size_t); \
|
|
|
static struct psmouse_attribute psmouse_attr_##_name = { \
|
|
@@ -129,6 +130,10 @@ static struct psmouse_attribute psmouse_attr_##_name = { \
|
|
|
.data = _data, \
|
|
|
.show = _show, \
|
|
|
.set = _set, \
|
|
|
+ .protect = _protect, \
|
|
|
}
|
|
|
|
|
|
+#define PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set) \
|
|
|
+ __PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set, 1)
|
|
|
+
|
|
|
#endif /* _PSMOUSE_H */
|