From mboxrd@z Thu Jan 1 00:00:00 1970 From: kai@gnukai.com (Kai Meyer) Date: Thu, 20 Oct 2011 09:41:41 -0600 Subject: Trouble removing character device In-Reply-To: References: <1318881863.52041.YahooMailNeo@web30802.mail.mud.yahoo.com> <4E9EF508.4000502@gnukai.com> <4E9F3928.4000105@gnukai.com> Message-ID: <4EA04135.6070804@gnukai.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org I do call unregister_chrdev_region. There are 5 functions in my original email that I call during the life of my module. Still no luck. -Kai Meyer On 10/19/2011 09:47 PM, rohan puri wrote: > > > On Thu, Oct 20, 2011 at 2:25 AM, Kai Meyer > wrote: > > Unfortunately I can't share the source code, it belongs to the > company I > work for. > > All of cdev_init, cdev_del, and unregister_chrdev_region are void > functions, so they have no return value. > > I check the return value of alloc_chrdev_region and cdev_add and check > for errors with BUG_ON (for now). > > -Kai Meyer > > On 10/19/2011 02:18 PM, Daniel Baluta wrote: > > On Wed, Oct 19, 2011 at 7:04 PM, Kai Meyer > wrote: > >> I can't seem to get my character device to remove itself from the > >> /proc/devices list. I'm calling all of the following functions > like so: > >> > >> alloc_chrdev_region(&dev, 0, 5, "my_char"); > >> cdev_init(&my_cdev,&my_ops); > >> cdev_add(&my_cdev, MKDEV(my_major, my_minor), 1); > >> cdev_del(&my_cdev); > >> unregister_chrdev_region(my_major, 5); > >> > >> It seems like I'm missing something, but I can't find it. I'm > >> referencing the Linux Device Drivers v3, chapter 3. In the > example code, > >> the scull_cleanup_module function calls cdev_dell and > >> unregister_chrdev_region, just like I do. > >> > >> To be clear, after I unload my module (after calling cdev_del and > >> unregister_chrdev_region), my "my_char" string still shows up in > >> /proc/devices. > > Did you check return codes for all functions? > > Also, can you post a link to the code? > > > > thanks, > > Daniel. > > > > _______________________________________________ > > Kernelnewbies mailing list > > Kernelnewbies at kernelnewbies.org > > > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > > During cleanup i think you need to call function > unregister_chrdev_region(). > > Regards, > Rohan Puri > > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111020/6df5dea6/attachment.html