Path: blob/master/arch/avr32/boards/merisc/merisc_sysfs.c
10819 views
/*1* Merisc sysfs exports2*3* Copyright (C) 2008 Martinsson Elektronik AB4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License version 2 as7* published by the Free Software Foundation.8*/9#include <linux/module.h>10#include <linux/kernel.h>11#include <linux/init.h>12#include <linux/list.h>13#include <linux/spinlock.h>14#include <linux/device.h>15#include <linux/sysdev.h>16#include <linux/timer.h>17#include <linux/err.h>18#include <linux/ctype.h>19#include "merisc.h"2021static ssize_t merisc_model_show(struct class *class, char *buf)22{23ssize_t ret = 0;2425sprintf(buf, "%s\n", merisc_model());26ret = strlen(buf) + 1;2728return ret;29}3031static ssize_t merisc_revision_show(struct class *class, char *buf)32{33ssize_t ret = 0;3435sprintf(buf, "%s\n", merisc_revision());36ret = strlen(buf) + 1;3738return ret;39}4041static struct class_attribute merisc_class_attrs[] = {42__ATTR(model, S_IRUGO, merisc_model_show, NULL),43__ATTR(revision, S_IRUGO, merisc_revision_show, NULL),44__ATTR_NULL,45};4647struct class merisc_class = {48.name = "merisc",49.owner = THIS_MODULE,50.class_attrs = merisc_class_attrs,51};5253static int __init merisc_sysfs_init(void)54{55int status;5657status = class_register(&merisc_class);58if (status < 0)59return status;6061return 0;62}6364postcore_initcall(merisc_sysfs_init);656667