Re: [PATCH 2/6] staging: ft1000: Use misc device instead self createddevice.

From: Jiri Slaby
Date: Tue Nov 23 2010 - 16:28:58 EST


On 11/23/2010 03:00 PM, Belisko Marek wrote:
> On Tue, Nov 23, 2010 at 2:53 PM, Jiri Slaby <jirislaby@xxxxxxxxx> wrote:
>> On 11/23/2010 01:29 PM, Marek Belisko wrote:
>>> Use simple misc device for ioctl driver funtionality testing.
>>>
>>> Signed-off-by: Marek Belisko <marek.belisko@xxxxxxxxxxxxxxx>
>>> ---
>>> drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c | 90 ++++++++++++++++++---
>>> 1 files changed, 77 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c b/drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c
>>> index 1aec926..d1784a3 100644
>>> --- a/drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c
>>> +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_chdev.c
>>> @@ -32,6 +32,7 @@
>>> #include <linux/poll.h>
>>> #include <linux/netdevice.h>
>>> #include <linux/delay.h>
>>> +#include <linux/miscdevice.h>
>>>
>>> #include <linux/fs.h>
>>> #include <linux/kmod.h>
>>> @@ -78,6 +79,47 @@ static struct file_operations ft1000fops =
>>> .llseek = no_llseek,
>>> };
>>>
>>> +struct ft1000_misc_device {
>>> + struct miscdevice dev;
>>> + int inf_id;
>>> +};
>>> +
>>> +#define FREE_ID (0xFF)
>>> +
>>> +/* we support just 3 devices */
>>> +#define MAX_DEVICE 3
>>
>> No, why this should be converted to miscdevice? Leave it as chrdev.
> Is there any problem with using miscdev?

Yes, if you want more than a single device per system.

> Old interface create /dev nodes with
> calling kernel thread and some usermode_helper or whatever.

Yes, that's crap indeed. But doesn't judge for miscdevice.

> Just convert to misc dev
> where this is done automatically.

So the only thing you need to do is to send a uevent to udev appropriately.

regards,
--
js
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/