fscrypt: correct collision claim for digested names
[sfrench/cifs-2.6.git] / arch / avr32 / boards / merisc / merisc_sysfs.c
1 /*
2  * Merisc sysfs exports
3  *
4  * Copyright (C) 2008 Martinsson Elektronik AB
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10 #include <linux/module.h>
11 #include <linux/kernel.h>
12 #include <linux/init.h>
13 #include <linux/list.h>
14 #include <linux/spinlock.h>
15 #include <linux/device.h>
16 #include <linux/timer.h>
17 #include <linux/err.h>
18 #include <linux/ctype.h>
19 #include "merisc.h"
20
21 static ssize_t merisc_model_show(struct class *class, char *buf)
22 {
23         ssize_t ret = 0;
24
25         sprintf(buf, "%s\n", merisc_model());
26         ret = strlen(buf) + 1;
27
28         return ret;
29 }
30
31 static ssize_t merisc_revision_show(struct class *class, char *buf)
32 {
33         ssize_t ret = 0;
34
35         sprintf(buf, "%s\n", merisc_revision());
36         ret = strlen(buf) + 1;
37
38         return ret;
39 }
40
41 static 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 };
46
47 struct class merisc_class = {
48         .name =         "merisc",
49         .owner =        THIS_MODULE,
50         .class_attrs =  merisc_class_attrs,
51 };
52
53 static int __init merisc_sysfs_init(void)
54 {
55         int status;
56
57         status = class_register(&merisc_class);
58         if (status < 0)
59                 return status;
60
61         return 0;
62 }
63
64 postcore_initcall(merisc_sysfs_init);