Hello Thank you anish for the reply, the code is I pasted below. [code-starts] #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/device.h> #include <linux/sysdev.h> #include <linux/major.h> #include <asm/uaccess.h> #include <linux/slab.h> #include <linux/cdev.h> #include <linux/kdev_t.h> static char *gvar = "BeHonest"; // Store and Show functions...... static ssize_t attr1_store(struct class *cls, struct class_attribute *attr, const char *buf, size_t count); static ssize_t attr1_show(struct class *cls, struct class_attribute *attr, char *buf); static struct class_attribute pwm_class_attrs[] = { __ATTR(attr1, S_IRUGO | S_IWUSR , attr1_show, attr1_store), __ATTR_NULL }; static struct class pwm_class = { .name = "dev_jes", .owner = THIS_MODULE, .class_attrs = pwm_class_attrs }; static int hello_init(void) { class_register(&pwm_class); printk("In hello_init function \n"); return 0; } static ssize_t attr1_show(struct class *cls, struct class_attribute *attr, char *buf) { printk("In attr1_show function\n"); return sprintf(buf, "%s\n", gvar); } static ssize_t attr1_store(struct class *cls, struct class_attribute *attr, const char *buf, size_t count) { printk("the string is : %s\n",buf); printk("In attr1_store function\n"); return 1; //return sprintf(gvar, "%s\n", buf); --- If I put this line I am getting ERROR :( } static void hello_exit(void) { class_unregister(&pwm_class); printk("In hello_exit function \n"); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Jeshwanth"); MODULE_DESCRIPTION("Learning sysfs"); [code-ends] echo "jeshu" > /sys/class/dev_jes/attr1 And If I pass the command to atttribute I got result below in dmesg. [ 3435.613057] the string is : jeshu [ 3435.613061] [ 3435.613066] In attr1_store function [ 3435.613072] the string is : eshu [ 3435.613074] [ 3435.613078] In attr1_store function [ 3435.613083] the string is : shu [ 3435.613085] [ 3435.613088] In attr1_store function [ 3435.613093] the string is : hu [ 3435.613095] [ 3435.613098] In attr1_store function [ 3435.613103] the string is : u [ 3435.613105] [ 3435.613108] In attr1_store function [ 3435.613113] the string is : [ 3435.613115] [ 3435.613118] In attr1_store function So please help me how to read the attribute in store function.. Thanks :) On Tue, Jun 19, 2012 at 4:02 PM, anish singh <anish198519851985@gmail.com>wrote:
On Tue, Jun 19, 2012 at 3:14 PM, jeshwanth Kumar N K <jeshkumar555@gmail.com> wrote:
Hello all
I am new to sysfs interface ans I read about in mochel's documentation. And doing some experiements on it. Let's come to Tue problem, in my module I have a global variable type char* myglobal and it s static, I am putting that value in my one and only class attribute using show function. But for the same if I a user put some value in to the using echo or something, the attribute value is not changing. And one more thing s after I passed the value to the attribute my system not shutting down :( . Please help me how to read values. Why don't you post your code?As that will really help and moreover as this is your code you won't be breakign any law set by your company.
// in store function I am doing this: Myglobal = bus;
Sent from my HTC
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Regards Jeshwanth Kumar N K +91-7411483498