This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Device driver open & close


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.

Thanks,
Frank

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]