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