// SPDX-License-Identifier: GPL-2.0 /* * sysfs.c - MediaLB sysfs information * * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG */ /* Author: Andrey Shvetsov */ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include #include "sysfs.h" #include 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); }