Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Character Devices DDK - Private messages: (4 Items)
   
Character Devices DDK - Private messages  
I have found another area of concern/interest.
As noted in the Topic "Character Devices DDK - termination", I am writing a character device driver that communicates 
with another resource manager as the data source/sink.

The communications with this manager can be asynchronous, and I would like to get event notifications from the other 
resource manager when operations are complete.

However, the io-char library, has no facility to allow the driver to get private messages (pulses, etc.,) from the 
clients of the Character device.

It does set up its own private messages (pulses in this case) with the resource manager framework, but has no facility 
to extend this option to the driver (through the io-char library).

Again, I could add this to my version of the io-char library, but am unsure of the potential nasty ramifications.

Helpful thoughts would be appreciated.
Any guidance from QSS on how benign or egregious the acts of modifying the io-char library are also solicited.  :)
Re: Character Devices DDK - Private messages  
On Thu, Oct 09, 2008 at 12:20:49PM -0400, Stephen Munnings wrote:
> I have found another area of concern/interest.
> As noted in the Topic "Character Devices DDK - termination", I am writing a character device driver that communicates 
with another resource manager as the data source/sink.
> 
> The communications with this manager can be asynchronous, and I would like to get event notifications from the other 
resource manager when operations are complete.
> 
> However, the io-char library, has no facility to allow the driver to get private messages (pulses, etc.,) from the 
clients of the Character device.
> 
> It does set up its own private messages (pulses in this case) with the resource manager framework, but has no facility
 to extend this option to the driver (through the io-char library).
> 
> Again, I could add this to my version of the io-char library, but am unsure of the potential nasty ramifications.
> 
> Helpful thoughts would be appreciated.
> Any guidance from QSS on how benign or egregious the acts of modifying the io-char library are also solicited.  :)
> 

Character devices handle poll(), select() which are based
on _IO_NOTIFY messages.  You might be able to use that
method.

-seanb
Re: Character Devices DDK - Private messages  
> On Thu, Oct 09, 2008 at 12:20:49PM -0400, Stephen Munnings wrote:
> > I have found another area of concern/interest.
> > As noted in the Topic "Character Devices DDK - termination", I am writing a 
> character device driver that communicates with another resource manager as the
>  data source/sink.
> > 
> > The communications with this manager can be asynchronous, and I would like 
> to get event notifications from the other resource manager when operations are
>  complete.
> > 
> > However, the io-char library, has no facility to allow the driver to get 
> private messages (pulses, etc.,) from the clients of the Character device.
> > 
> > It does set up its own private messages (pulses in this case) with the 
> resource manager framework, but has no facility to extend this option to the 
> driver (through the io-char library).
> > 
> > Again, I could add this to my version of the io-char library, but am unsure 
> of the potential nasty ramifications.
> > 
> > Helpful thoughts would be appreciated.
> > Any guidance from QSS on how benign or egregious the acts of modifying the 
> io-char library are also solicited.  :)
> > 
> 
> Character devices handle poll(), select() which are based
> on _IO_NOTIFY messages.  You might be able to use that
> method.
> 
> -seanb

Hmmm..

Unless I am missing something, that is the wrong direction for the communication.
I am looking for the other (lower level in this case) resource manager to notify the device driver that an operation has
 completed so that the driver can then take the appropriate action in sourcing/sinking additional characters to the 
client task (via the io-char library routines).
This is also something that (on the conceptual level) is communication to the device driver, and not to an individual 
device.

I noticed on reviewing what I wrote, that I said "to allow the driver to get 
private messages (pulses, etc.,) from the clients of the Character device".

What I really meant (sorry) is "to allow the driver to get private messages  from resource managers for which the device
 driver is a client"

Re: Character Devices DDK - Private messages  
As a follow-up and closure on this issue:
I solved this problem by multi-threading my character device driver and having a separate thread handle these details.