On 9/30/2024 10:51 AM, Matteo Golin wrote:
The best idea I can come up with is to have the RN2483 driver perform such an 
`open()` call, so that the registration
function for the device takes the UART output's pathname as an input parameter 
in place of the device struct
(`uart_dev_t`). But this requires that there be a pathname for the UART 
interface as well as the RN2483. I would like to
avoid this so that the RN2483 device takes control of that UART bus and 
arbitrates all communications with the
peripheral.

There is a special set of interfaces that must be used inside of the OS to access device drivers:

 * file_open() and file_close() are the moral equivalent of open() and
   close(), but these return a struct file.  You should use the struct
   file instance to access the driver, not the raw driver interface.

Then there is another set file internal OS interface like:

 * file_read(), file_write(), file_seek(), etc that can be used from
   within the OS to access the file or driver.  These take the the
   struct file instance as a parameter

Reply via email to