Re: [RFC/RFT][PATCH -mm 2/5] swsusp: userland interface (rev. 2)

Pavel Machek
2006-01-05T00:54:03Z

[-- Attachment #1: Type: text/plain, Size: 1593 bytes --]

On St 04-01-06 16:26:19, Greg KH wrote:
> On Thu, Jan 05, 2006 at 01:18:37AM +0100, Pavel Machek wrote:
> > Hi!
> >
> > > > +static int __init snapshot_dev_init(void)
> > > > +{
> > > > + int error;
> > > > +
> > > > + error = alloc_chrdev_region(&interface.devno, 0, 1, interface.name);
> > > > + if (error)
> > > > + return error;
> > > > + cdev_init(&interface.cdev, &snapshot_fops);
> > > > + interface.cdev.ops = &snapshot_fops;
> > > > + error = cdev_add(&interface.cdev, interface.devno, 1);
> > > > + if (error)
> > > > + goto Unregister;
> > > > + error = sysfs_create_file(&power_subsys.kset.kobj, &snapshot_attr.attr);
> > >
> > > Heh, that's a neat hack, register a sysfs file that contains the
> > > major:minor (there is a function that will print that the correct way,
> > > if you really want to do that), in sysfs. It's better to just register
> > > a misc character device with the name "snapshot", and then udev will
> > > create your userspace node with the proper major:minor all automatically
> > > for you.
> > >
> > > Unless you want to turn these into syscalls :)
> >
> > Well, I think we simply want to get static major/minor allocated for
> > this device. It really uses read/write, IIRC, so no, I do not think we
> > want to make it a syscall.
>
> Ok, then I'd recommend using the misc device, dynamic for now, and
> reserve one when you get a bit closer to merging into mainline.

I'd say that "memory devices", character, major 1 is appropriate for
this. 13 seems to be free ("swsusp can be unlucky for your data"? :-).

Pavel
--
Thanks, Sharp!