Message ID | 1447514867-798-1-git-send-email-sjg@chromium.org |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
>>>>> "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
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
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