lkml.org 
[lkml]   [2010]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/6] staging: ft1000: Use misc device instead self created device.
From
On Mon, Nov 29, 2010 at 8:44 PM, Greg KH <greg@kroah.com> wrote:
> On Wed, Nov 24, 2010 at 10:16:36AM +0100, Belisko Marek wrote:
>> On Tue, Nov 23, 2010 at 10:28 PM, Jiri Slaby <jirislaby@gmail.com> wrote:
>> > On 11/23/2010 03:00 PM, Belisko Marek wrote:
>> >> On Tue, Nov 23, 2010 at 2:53 PM, Jiri Slaby <jirislaby@gmail.com> 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@open-nandra.com>
>> >>>> ---
>> >>>>  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.
>> Could be used something like:
>> register_chrdev(0,"ft1000", &fops)
>> class = class_create(THIS_MODULE, "ft1000");
>> device_create(class, NULL, MKDEV(major, i), NULL, "ft1000%d", i);
>> Then will be created different devices for every plugged device.
>> This should have effect of automatic device node creation also suppose.
>
> Please don't create new classes.
>
> Is this a USB device?  If so, why not just use the USB major number?
Yes it is USB device.
> Just ask me and I can reserve you a USB minor number for your driver.
Idea behind existing code is that for every plugged device you will have created
/dev node. NUmber of devices was limited by number of plugged devices.
But who will plug more
then one device which just used for internet connection? So maybe I
should implement some
limit and would be nice if you could reserve me some USB minors (lest
say max. 3 devices?).

>
> thanks,
>
> greg k-h
>

thanks,

marek

--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
icq: 290551086
web: http://open-nandra.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2010-11-29 21:11    [W:0.636 / U:0.984 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site