Hello Anish <br><br>Thank you for the changes. Ya now I understoor dealing with store function. :) <br>And I did small change in ur code.<br><br>I have declared the show and store function as I declared before.<br><br>static ssize_t attr1_store(struct class *cls, struct class_attribute *attr, const char *buf, size_t count);<br>


static ssize_t attr1_show(struct class *cls, struct class_attribute *attr,  char *buf);<br><br>instead.<br><br>static ssize_t attr1_store(struct class *cls, const char *buf, size_t count);<br>
static ssize_t attr1_show(struct class *cls, char *buf);<br><br>After this its working fine.<br><br><br><br><br><br><div class="gmail_quote">On Thu, Jun 21, 2012 at 9:04 AM, anish singh <span dir="ltr">&lt;<a href="mailto:anish198519851985@gmail.com" target="_blank">anish198519851985@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Jun 20, 2012 at 11:32 PM, Jeshwanth Kumar N K Jeshu<br>
&lt;<a href="mailto:jeshkumar555@gmail.com">jeshkumar555@gmail.com</a>&gt; wrote:<br>
&gt; Hello<br>
&gt;<br>
&gt; Thank you anish for the reply, the code is I pasted below.<br>
&gt; [code-starts]<br>
&gt;<br>
&gt; #include &lt;linux/init.h&gt;<br>
&gt; #include &lt;linux/module.h&gt;<br>
&gt; #include &lt;linux/kernel.h&gt;<br>
&gt; #include &lt;linux/fs.h&gt;<br>
&gt; #include &lt;linux/device.h&gt;<br>
&gt; #include &lt;linux/sysdev.h&gt;<br>
&gt; #include &lt;linux/major.h&gt;<br>
&gt; #include &lt;asm/uaccess.h&gt;<br>
&gt; #include &lt;linux/slab.h&gt;<br>
&gt; #include &lt;linux/cdev.h&gt;<br>
&gt; #include &lt;linux/kdev_t.h&gt;<br>
&gt;<br>
&gt; static char *gvar = &quot;BeHonest&quot;;<br>
&gt; // Store and Show functions......<br>
&gt;  static ssize_t attr1_store(struct class *cls, struct class_attribute *attr,<br>
&gt; const char *buf, size_t count);<br>
&gt;  static ssize_t attr1_show(struct class *cls, struct class_attribute *attr,<br>
&gt; char *buf);<br>
&gt;<br>
&gt; static struct class_attribute pwm_class_attrs[] = {<br>
&gt;     __ATTR(attr1, S_IRUGO | S_IWUSR , attr1_show, attr1_store),<br>
&gt;     __ATTR_NULL<br>
&gt; };<br>
&gt;<br>
&gt; static struct class pwm_class =<br>
&gt; {<br>
&gt;     .name = &quot;dev_jes&quot;,<br>
&gt;     .owner = THIS_MODULE,<br>
&gt;     .class_attrs = pwm_class_attrs<br>
&gt; };<br>
&gt;<br>
&gt;<br>
&gt; static int hello_init(void)<br>
&gt; {<br>
&gt;     class_register(&amp;pwm_class);<br>
&gt;     printk(&quot;In hello_init function \n&quot;);<br>
&gt;<br>
&gt;     return 0;<br>
&gt; }<br>
&gt;<br>
&gt; static ssize_t attr1_show(struct class *cls, struct class_attribute *attr,<br>
&gt; char *buf)<br>
&gt; {<br>
&gt;<br>
&gt;     printk(&quot;In attr1_show function\n&quot;);<br>
&gt;     return sprintf(buf, &quot;%s\n&quot;, gvar);<br>
&gt; }<br>
&gt;<br>
&gt; static ssize_t attr1_store(struct class *cls, struct class_attribute *attr,<br>
&gt; const char *buf, size_t count)<br>
&gt; {<br>
&gt;             printk(&quot;the string is : %s\n&quot;,buf);<br>
&gt;             printk(&quot;In attr1_store function\n&quot;);<br>
&gt;             return 1;<br>
&gt;             //return sprintf(gvar, &quot;%s\n&quot;, buf);  --- If I put this line I<br>
&gt; am getting ERROR :(<br>
&gt; }<br>
&gt;<br>
&gt;<br>
&gt; static void  hello_exit(void)<br>
&gt; {<br>
&gt;     class_unregister(&amp;pwm_class);<br>
&gt;     printk(&quot;In hello_exit function \n&quot;);<br>
&gt; }<br>
&gt;<br>
&gt; module_init(hello_init);<br>
&gt; module_exit(hello_exit);<br>
&gt;<br>
&gt; MODULE_LICENSE(&quot;GPL&quot;);<br>
&gt; MODULE_AUTHOR(&quot;Jeshwanth&quot;);<br>
&gt; MODULE_DESCRIPTION(&quot;Learning sysfs&quot;);<br>
&gt;<br>
&gt; [code-ends]<br>
&gt;<br>
&gt; echo &quot;jeshu&quot; &gt; /sys/class/dev_jes/attr1<br>
&gt;<br>
&gt; And If I pass the command to atttribute I got result below in dmesg.<br>
&gt;<br>
&gt; <a href="tel:%5B%203435.613057" value="+913435613057">[ 3435.613057</a>] the string is : jeshu<br>
&gt; <a href="tel:%5B%203435.613061" value="+913435613061">[ 3435.613061</a>]<br>
&gt; <a href="tel:%5B%203435.613066" value="+913435613066">[ 3435.613066</a>] In attr1_store function<br>
&gt; <a href="tel:%5B%203435.613072" value="+913435613072">[ 3435.613072</a>] the string is : eshu<br>
&gt; <a href="tel:%5B%203435.613074" value="+913435613074">[ 3435.613074</a>]<br>
&gt; <a href="tel:%5B%203435.613078" value="+913435613078">[ 3435.613078</a>] In attr1_store function<br>
&gt; <a href="tel:%5B%203435.613083" value="+913435613083">[ 3435.613083</a>] the string is : shu<br>
&gt; <a href="tel:%5B%203435.613085" value="+913435613085">[ 3435.613085</a>]<br>
&gt; <a href="tel:%5B%203435.613088" value="+913435613088">[ 3435.613088</a>] In attr1_store function<br>
&gt; <a href="tel:%5B%203435.613093" value="+913435613093">[ 3435.613093</a>] the string is : hu<br>
&gt; <a href="tel:%5B%203435.613095" value="+913435613095">[ 3435.613095</a>]<br>
&gt; <a href="tel:%5B%203435.613098" value="+913435613098">[ 3435.613098</a>] In attr1_store function<br>
&gt; <a href="tel:%5B%203435.613103" value="+913435613103">[ 3435.613103</a>] the string is : u<br>
&gt; <a href="tel:%5B%203435.613105" value="+913435613105">[ 3435.613105</a>]<br>
&gt; <a href="tel:%5B%203435.613108" value="+913435613108">[ 3435.613108</a>] In attr1_store function<br>
&gt; <a href="tel:%5B%203435.613113" value="+913435613113">[ 3435.613113</a>] the string is :<br>
&gt; <a href="tel:%5B%203435.613115" value="+913435613115">[ 3435.613115</a>]<br>
&gt; <a href="tel:%5B%203435.613118" value="+913435613118">[ 3435.613118</a>] In attr1_store function<br>
&gt;<br>
&gt;<br>
&gt; So please help me how to read the attribute in store function.. Thanks :)<br>
#include &lt;linux/init.h&gt;<br>
#include &lt;linux/module.h&gt;<br>
#include &lt;linux/kernel.h&gt;<br>
#include &lt;linux/fs.h&gt;<br>
#include &lt;linux/device.h&gt;<br>
#include &lt;linux/sysdev.h&gt;<br>
#include &lt;linux/major.h&gt;<br>
#include &lt;asm/uaccess.h&gt;<br>
#include &lt;linux/slab.h&gt;<br>
#include &lt;linux/cdev.h&gt;<br>
#include &lt;linux/kdev_t.h&gt;<br>
<br>
</div></div>static char *gvar = NULL;<br>
static ssize_t attr1_store(struct class *cls, const char *buf, size_t count);<br>
static ssize_t attr1_show(struct class *cls, char *buf);<br>
<div class="im"><br>
static struct class_attribute pwm_class_attrs[] = {<br>
</div>        __ATTR(attr1, 0666, attr1_show, attr1_store), //use macro for permission<br>
<div class="im">        __ATTR_NULL<br>
};<br>
<br>
static struct class pwm_class =<br>
{<br>
        .name = &quot;dev_jes&quot;,<br>
        .owner = THIS_MODULE,<br>
        .class_attrs = pwm_class_attrs<br>
};<br>
<br>
<br>
static int hello_init(void)<br>
{<br>
</div>        char string[] = &quot;nothing&quot;;<br>
        gvar = kmalloc(sizeof(char)*strlen(string), GFP_KERNEL);<br>
        class_register(&amp;pwm_class);<br>
        snprintf(gvar, sizeof(char)*strlen(string)+1, &quot;%s&quot;, string);<br>
        printk(&quot;anish In hello_init function \n&quot;);<br>
        return 0;<br>
}<br>
<br>
static ssize_t attr1_show(struct class *cls, char *buf)<br>
<div class="im">{<br>
<br>
        printk(&quot;In attr1_show function\n&quot;);<br>
</div>        printk(&quot;%s\n&quot;, gvar);<br>
<div class="im">        printk(&quot;In attr1_show function\n&quot;);<br>
</div>        return sprintf(buf, &quot;%s&quot;, gvar);<br>
}<br>
<br>
static ssize_t attr1_store(struct class *cls, const char *buf, size_t count)<br>
{<br>
        printk(&quot;the string is : %s count %d\n&quot;, buf, count);<br>
        return snprintf(gvar, count, &quot;%s\n&quot;, buf);<br>
<div class="im">}<br>
<br>
<br>
static void  hello_exit(void)<br>
{<br>
        class_unregister(&amp;pwm_class);<br>
        printk(&quot;In hello_exit function \n&quot;);<br>
}<br>
<br>
module_init(hello_init);<br>
module_exit(hello_exit);<br>
<br>
MODULE_LICENSE(&quot;GPL&quot;);<br>
MODULE_AUTHOR(&quot;Jeshwanth&quot;);<br>
MODULE_DESCRIPTION(&quot;Learning sysfs&quot;);<br>
</div>======================================================<br>
Hope you got the point.<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Jun 19, 2012 at 4:02 PM, anish singh &lt;<a href="mailto:anish198519851985@gmail.com">anish198519851985@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jun 19, 2012 at 3:14 PM, jeshwanth Kumar N K<br>
&gt;&gt; &lt;<a href="mailto:jeshkumar555@gmail.com">jeshkumar555@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hello all<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am new to sysfs interface ans I read about in mochel&#39;s documentation.<br>
&gt;&gt; &gt; And<br>
&gt;&gt; &gt; doing some experiements on it. Let&#39;s come to Tue problem, in my module I<br>
&gt;&gt; &gt; have a global variable type char* myglobal and it s static, I am putting<br>
&gt;&gt; &gt; that value in my one and only class attribute using show function. But<br>
&gt;&gt; &gt; for<br>
&gt;&gt; &gt; the same if I a user put some value in to the using echo or something,<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; attribute value is not changing. And one more thing s after I passed the<br>
&gt;&gt; &gt; value to the attribute my system not shutting down :( . Please help me<br>
&gt;&gt; &gt; how<br>
&gt;&gt; &gt; to read values.<br>
&gt;&gt; Why don&#39;t you post your code?As that will really help and moreover as<br>
&gt;&gt; this is your code<br>
&gt;&gt; you won&#39;t be breakign any law set by your company.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; // in store function I am doing this:<br>
&gt;&gt; &gt; Myglobal = bus;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Sent from my HTC<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Kernelnewbies mailing list<br>
&gt;&gt; &gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt;&gt; &gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Regards<br>
&gt; Jeshwanth Kumar N K<br>
&gt; <a href="tel:%2B91-7411483498" value="+917411483498">+91-7411483498</a><br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Regards<br>Jeshwanth Kumar N K<br>+91-7411483498<br><br>