Loading...
// SPDX-License-Identifier: GPL-2.0 /* * sysfs.c - MediaLB sysfs information * * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG */ /* Author: Andrey Shvetsov <andrey.shvetsov@k2l.de> */ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include <linux/kernel.h> #include "sysfs.h" #include <linux/device.h> static ssize_t state_show(struct device *dev, struct device_attribute *attr, char *buf) { bool state = dim2_sysfs_get_state_cb(); return sprintf(buf, "%s\n", state ? "locked" : ""); } static DEVICE_ATTR_RO(state); static struct attribute *dev_attrs[] = { &dev_attr_state.attr, NULL, }; static struct attribute_group dev_attr_group = { .attrs = dev_attrs, }; static const struct attribute_group *dev_attr_groups[] = { &dev_attr_group, NULL, }; int dim2_sysfs_probe(struct device *dev) { dev->groups = dev_attr_groups; return device_register(dev); } void dim2_sysfs_destroy(struct device *dev) { device_unregister(dev); } |