This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
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