[U-Boot] [PATCH v2] dm: Add timeline and guide for porting serial drivers

Add a README with a brief guide to porting serial drivers over to use driver model.
Add a timeline also. All serial drivers should be converted by the end of January 2015.
Signed-off-by: Simon Glass sjg@chromium.org --- To avoid anyone missing out on this, I have added to Cc the all U-Boot maintainers using this:
(for f in $(find . -name MAINTAINERS); do grep ^M: $f; done) | \ awk '{$1=""; print "Series-cc:" $0}' |sort | uniq
This is about 229 email address, of which 217 seem to be different people.
Changes in v2: - Copy the patch to all maintainers - Move the timeline back to January
doc/driver-model/serial-howto.txt | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 doc/driver-model/serial-howto.txt
diff --git a/doc/driver-model/serial-howto.txt b/doc/driver-model/serial-howto.txt new file mode 100644 index 0000000..7a72a32 --- /dev/null +++ b/doc/driver-model/serial-howto.txt @@ -0,0 +1,58 @@ +How to port a serial driver to driver model +=========================================== + +About 16 of 33 serial drivers have been converted as at September 2015. It +is time for maintainers to start converting over the remaining serial drivers: + + altera_jtag_uart.c + altera_uart.c + arm_dcc.c + lpc32xx_hsuart.c + mcfuart.c + mxs_auart.c + opencores_yanu.c + serial_bfin.c + serial_imx.c + serial_lpuart.c + serial_max3100.c + serial_pxa.c + serial_s3c24x0.c + serial_sa1100.c + serial_stm32.c + serial_xuartlite.c + usbtty.c + +You should complete this by the end of January 2015. + +Here is a suggested approach for converting your serial driver over to driver +model. Please feel free to update this file with your ideas and suggestions. + +- #ifdef out all your own serial driver code (#ifndef CONFIG_DM_SERIAL) +- Define CONFIG_DM_SERIAL for your board, vendor or architecture +- If the board does not already use driver model, you need CONFIG_DM also +- Your board should then build, but will not boot since there will be no serial + driver +- Add the U_BOOT_DRIVER piece at the end (e.g. copy serial_s5p.c for example) +- Add a private struct for the driver data - avoid using static variables +- Implement each of the driver methods, perhaps by calling your old methods +- You may need to adjust the function parameters so that the old and new + implementations can share most of the existing code +- If you convert all existing users of the driver, remove the pre-driver-model + code + +In terms of patches a conversion series typically has these patches: +- clean up / prepare the driver for conversion +- add driver model code +- convert at least one existing board to use driver model serial +- (if no boards remain that don't use driver model) remove the old code + +This may be a good time to move your board to use device tree also. Mostly +this involves these steps: + +- define CONFIG_OF_CONTROL and CONFIG_OF_SEPARATE +- add your device tree files to arch/<arch>/dts +- update the Makefile there +- Add stdout-path to your /chosen device tree node if it is not already there +- build and get u-boot-dtb.bin so you can test it +- Your drivers can now use device tree +- For device tree in SPL, define CONFIG_SPL_OF_CONTROL

"Simon" == Simon Glass sjg@chromium.org writes:
Add a README with a brief guide to porting serial drivers over to use driver model.
Add a timeline also. All serial drivers should be converted by the end of January 2015.
2015?

Hi Simon,
On 2015年11月14日 23:27, Simon Glass wrote:
Add a README with a brief guide to porting serial drivers over to use driver model.
Add a timeline also. All serial drivers should be converted by the end of January 2015.
January 2016
Signed-off-by: Simon Glass sjg@chromium.org
To avoid anyone missing out on this, I have added to Cc the all U-Boot maintainers using this:
(for f in $(find . -name MAINTAINERS); do grep ^M: $f; done) | \ awk '{$1=""; print "Series-cc:" $0}' |sort | uniq
This is about 229 email address, of which 217 seem to be different people.
Changes in v2:
Copy the patch to all maintainers
Move the timeline back to January
doc/driver-model/serial-howto.txt | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 doc/driver-model/serial-howto.txt
diff --git a/doc/driver-model/serial-howto.txt b/doc/driver-model/serial-howto.txt new file mode 100644 index 0000000..7a72a32 --- /dev/null +++ b/doc/driver-model/serial-howto.txt @@ -0,0 +1,58 @@ +How to port a serial driver to driver model +===========================================
+About 16 of 33 serial drivers have been converted as at September 2015. It +is time for maintainers to start converting over the remaining serial drivers:
- altera_jtag_uart.c
- altera_uart.c
altera_jtag_uart.c and altera_uart.c are converted to driver model. :)
- arm_dcc.c
- lpc32xx_hsuart.c
- mcfuart.c
- mxs_auart.c
- opencores_yanu.c
- serial_bfin.c
- serial_imx.c
- serial_lpuart.c
- serial_max3100.c
- serial_pxa.c
- serial_s3c24x0.c
- serial_sa1100.c
- serial_stm32.c
- serial_xuartlite.c
- usbtty.c
+You should complete this by the end of January 2015.
2016.
Best regards, Thomas
participants (3)
-
Peter Korsgaard
-
Simon Glass
-
Thomas Chou