RE: Using ioctl from with the kernel ???
From: Stephan Linke <hidden>
Date: 2002-11-12 15:57:17
Hi Steve, If you realy like to do so you can call the LEDDRIVER_ioctl() function directly with some dummy parameter (the one of you LED driver, not the one from user space wich is to be called using an file descriptor). But I would prefer to move the functionality into some extra function and call these function from LEDDRIVER_ioctl() and from OTHERDRIVER_change_led() (like Stefano suggested). Regards, Stephveano :)
Hi, the driver is linked to the kernel, so global (not static) functions declared in a driver can be called from the kernel and in particular from another driver, so you can bound the code of your ioctl in a function and call it from the ioctl handler and from the other driver ... using the protection mechanism suggested by Stephan. Bye. Stefano.quoted
-----Messaggio originale----- Da: owner-linuxppc-embedded@lists.linuxppc.org [mailto:owner-linuxppc-embedded@lists.linuxppc.org]Per conto di Steven Scholz Inviato: martedi 12 novembre 2002 16.11 A: Stephan Linke Cc: Linuxppc-Embedded Oggetto: Re: Using ioctl from with the kernel ??? Hi Stephan,quoted
Your right IOCTL is not applicable for this. You can simplycall the driverquoted
functions directly. If these functions are called differentfrom differentquoted
context(s) (like your driver and the IOCTL function) you haveto add somequoted
protection mechanism. (The code is not reentrant right?) You may try spin_lock() for this job (linux/spinlock.h). If you are calling the functions from interrupt contect too some extra protection isrequired... Thanks for your reply. But how could I call the ioctl handler of the driver? I would need some (dummy) inode... Steven
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/