Concerning the sensor issue, you can now use the new sensor driver generator to get the new architecture.
The read and init functions changed. It should returns the following execution status:
- 0: success
- Other values; error occured.
- Init function: a non-zero value means that init fails, In this case, it is called again before reading a value.
- Read function: a non-zero value means that the read fails. In this case, the sensor value is not updated and threshold is not checked.
Finally, a pointer to the value variable is passed as a parameter of the read function. The value shall be updated as shown in the example.
I hope it helps. If you already followed the previous driver generator, the changes shall not be too difficult to apply (re-use the init and read function of your previous driver in the new template. You just have to change the way to return the value)