2006-10-31 05:30:39

by Aubrey Li

[permalink] [raw]
Subject: How to add a device file to sysfs?

Hi all,

When a misc device file is registered, there are two files under my
own class directory:

/sys --> class --> misc --> myprog --> dev
--> uevent
--> myprog_show (to be added)

Now, my question is, is it possbile to add the third file
"myprog_show" under "myprog" directory without modify any common code?

I've read the doc under linux-2.6.x/Documentation, I can add it to
some other directory, but not found a way to add it to my own
directory.

Thanks for any help.
-Aubrey


2006-11-03 04:52:41

by Greg KH

[permalink] [raw]
Subject: Re: How to add a device file to sysfs?

On Tue, Oct 31, 2006 at 01:30:36PM +0800, Aubrey wrote:
> Hi all,
>
> When a misc device file is registered, there are two files under my
> own class directory:
>
> /sys --> class --> misc --> myprog --> dev
> --> uevent
> --> myprog_show (to be
> added)
>
> Now, my question is, is it possbile to add the third file
> "myprog_show" under "myprog" directory without modify any common code?

Yes.

> I've read the doc under linux-2.6.x/Documentation, I can add it to
> some other directory, but not found a way to add it to my own
> directory.

After misc_register() has been successfully called, the variable "class"
will be set in the miscdevice structure. Use that pointer to call
class_device_create_file() to create your new file in this directory.

Hope this helps,

greg k-h

2006-11-13 10:46:06

by Brice Goglin

[permalink] [raw]
Subject: Re: How to add a device file to sysfs?

Greg KH wrote:
> On Tue, Oct 31, 2006 at 01:30:36PM +0800, Aubrey wrote:
>
>> I've read the doc under linux-2.6.x/Documentation, I can add it to
>> some other directory, but not found a way to add it to my own
>> directory.
>>
>
> After misc_register() has been successfully called, the variable "class"
> will be set in the miscdevice structure. Use that pointer to call
> class_device_create_file() to create your new file in this directory.
>

How does it work in -mm where miscdevice does not contain a "class"
anymore, but only pointers to some "device"?

Thanks,
Brice

2006-11-13 17:54:32

by Greg KH

[permalink] [raw]
Subject: Re: How to add a device file to sysfs?

On Mon, Nov 13, 2006 at 11:45:54AM +0100, Brice Goglin wrote:
> Greg KH wrote:
> > On Tue, Oct 31, 2006 at 01:30:36PM +0800, Aubrey wrote:
> >
> >> I've read the doc under linux-2.6.x/Documentation, I can add it to
> >> some other directory, but not found a way to add it to my own
> >> directory.
> >>
> >
> > After misc_register() has been successfully called, the variable "class"
> > will be set in the miscdevice structure. Use that pointer to call
> > class_device_create_file() to create your new file in this directory.
> >
>
> How does it work in -mm where miscdevice does not contain a "class"
> anymore, but only pointers to some "device"?

Then use device_create_file() instead :)

Good luck,

greg k-h