[ECOS] Device driver open & close

Frank Pagliughi fpagliughi@mindspring.com
Wed Aug 27 05:22:00 GMT 2008

Frank Pagliughi wrote:
> Andrew Lunn wrote:
>> On Mon, Aug 25, 2008 at 07:31:09PM -0400, Frank Pagliughi wrote:
>>> Hey All,
>>> Is there a mechanism by which a device driver can be notified when 
>>> the  application opens or closes the device. For example, I have an 
>>> LCD in my  system, and I would like to turn it on when the 
>>> application opens the  device and turn it off when it gets closed. 
>>> Then turn it back on again  if it gets re-opened, etc.
>> open() should result in the lookup function being called on the
>> device.
> This gets called for each open?
>> Close is a problem, since there is no device close function.
>> You might be better using cyg_io_set_config() mechanism to turn it on
>> and off.
> This is unfortunate. For another example, the system will have the 
> ability to power down the compact flash drive(s). Which order should 
> the power down happen?
> flush() the buffers, then cyg_io_set_config() to  power down the 
> drive, *then* close() ?  I assume you can't use the handle to 
> set_config after the close(). Right?

Oh, sorry, the disk drive is a bad example, and a whole different 
problem, I suppose. Maybe a drive can power up/down when its filesystem 
is mounted/unmounted?

I'm just doing the OS port & device drivers for a board that has to 
really conserve power and thus turn devices off and on a lot. Someone 
else will write the application, so I'm trying to make the interface as 
simple and familiar as possible (therefore standard I/O api). It seems 
that the eCos device API assumes that devices will be initialized then 
stay on forever. So, any ideas are appreciated.


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list