Message ID | 1448041727-31375-1-git-send-email-sjg@chromium.org |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Friday, November 20, 2015 at 06:48:47 PM, 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 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 v3: > - Fix the date to avoid time machine issues > > 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..60483a4 > --- /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 These are probably already converted. > + arm_dcc.c > + lpc32xx_hsuart.c > + mcfuart.c > + mxs_auart.c ^ This system does not use DM at all. > + opencores_yanu.c > + serial_bfin.c > + serial_imx.c DTTO > + serial_lpuart.c > + serial_max3100.c > + serial_pxa.c DTTO > + serial_s3c24x0.c DTTO > + serial_sa1100.c This driver is probably dead code > + serial_stm32.c > + serial_xuartlite.c > + usbtty.c > + > +You should complete this by the end of January 2016. So what do you suggest to do with boards which do not use DM at all ?
Hi Marek, On 13 December 2015 at 12:55, Marek Vasut <marex@denx.de> wrote: > On Friday, November 20, 2015 at 06:48:47 PM, 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 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 v3: >> - Fix the date to avoid time machine issues >> >> 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..60483a4 >> --- /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 > > These are probably already converted. > >> + arm_dcc.c >> + lpc32xx_hsuart.c >> + mcfuart.c >> + mxs_auart.c > > ^ This system does not use DM at all. > >> + opencores_yanu.c >> + serial_bfin.c >> + serial_imx.c > > DTTO > >> + serial_lpuart.c >> + serial_max3100.c >> + serial_pxa.c > > DTTO > >> + serial_s3c24x0.c > > DTTO > >> + serial_sa1100.c > > This driver is probably dead code > >> + serial_stm32.c >> + serial_xuartlite.c >> + usbtty.c >> + >> +You should complete this by the end of January 2016. > > So what do you suggest to do with boards which do not use DM at all ? I'd say move them over... Regards, Simon
On Sunday, December 20, 2015 at 12:07:22 AM, Simon Glass wrote: > Hi Marek, > > On 13 December 2015 at 12:55, Marek Vasut <marex@denx.de> wrote: > > On Friday, November 20, 2015 at 06:48:47 PM, 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 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 v3: > >> - Fix the date to avoid time machine issues > >> > >> 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..60483a4 > >> --- /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 > > > > These are probably already converted. > > > >> + arm_dcc.c > >> + lpc32xx_hsuart.c > >> + mcfuart.c > >> + mxs_auart.c > > > > ^ This system does not use DM at all. > > > >> + opencores_yanu.c > >> + serial_bfin.c > >> + serial_imx.c > > > > DTTO > > > >> + serial_lpuart.c > >> + serial_max3100.c > >> + serial_pxa.c > > > > DTTO > > > >> + serial_s3c24x0.c > > > > DTTO > > > >> + serial_sa1100.c > > > > This driver is probably dead code > > > >> + serial_stm32.c > >> + serial_xuartlite.c > >> + usbtty.c > >> + > >> +You should complete this by the end of January 2016. > > > > So what do you suggest to do with boards which do not use DM at all ? > > I'd say move them over... That's not doable this late in the RC cycle though. I would suggest to postpone the date.
Hi Marek, On 19 December 2015 at 16:56, Marek Vasut <marex@denx.de> wrote: > On Sunday, December 20, 2015 at 12:07:22 AM, Simon Glass wrote: >> Hi Marek, >> >> On 13 December 2015 at 12:55, Marek Vasut <marex@denx.de> wrote: >> > On Friday, November 20, 2015 at 06:48:47 PM, 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 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 v3: >> >> - Fix the date to avoid time machine issues >> >> >> >> 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..60483a4 >> >> --- /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 >> > >> > These are probably already converted. >> > >> >> + arm_dcc.c >> >> + lpc32xx_hsuart.c >> >> + mcfuart.c >> >> + mxs_auart.c >> > >> > ^ This system does not use DM at all. >> > >> >> + opencores_yanu.c >> >> + serial_bfin.c >> >> + serial_imx.c >> > >> > DTTO >> > >> >> + serial_lpuart.c >> >> + serial_max3100.c >> >> + serial_pxa.c >> > >> > DTTO >> > >> >> + serial_s3c24x0.c >> > >> > DTTO >> > >> >> + serial_sa1100.c >> > >> > This driver is probably dead code >> > >> >> + serial_stm32.c >> >> + serial_xuartlite.c >> >> + usbtty.c >> >> + >> >> +You should complete this by the end of January 2016. >> > >> > So what do you suggest to do with boards which do not use DM at all ? >> >> I'd say move them over... > > That's not doable this late in the RC cycle though. I would suggest to postpone > the date. Well we still have 6 weeks until the end of January for people to produce patches. Merging them might take a while, but hopefully we can finish this for the 2016.07 release. Regards, Simon
On Sunday, December 20, 2015 at 03:40:41 AM, Simon Glass wrote: > Hi Marek, > > On 19 December 2015 at 16:56, Marek Vasut <marex@denx.de> wrote: > > On Sunday, December 20, 2015 at 12:07:22 AM, Simon Glass wrote: > >> Hi Marek, > >> > >> On 13 December 2015 at 12:55, Marek Vasut <marex@denx.de> wrote: > >> > On Friday, November 20, 2015 at 06:48:47 PM, 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 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 v3: > >> >> - Fix the date to avoid time machine issues > >> >> > >> >> 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..60483a4 > >> >> --- /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 > >> > > >> > These are probably already converted. > >> > > >> >> + arm_dcc.c > >> >> + lpc32xx_hsuart.c > >> >> + mcfuart.c > >> >> + mxs_auart.c > >> > > >> > ^ This system does not use DM at all. > >> > > >> >> + opencores_yanu.c > >> >> + serial_bfin.c > >> >> + serial_imx.c > >> > > >> > DTTO > >> > > >> >> + serial_lpuart.c > >> >> + serial_max3100.c > >> >> + serial_pxa.c > >> > > >> > DTTO > >> > > >> >> + serial_s3c24x0.c > >> > > >> > DTTO > >> > > >> >> + serial_sa1100.c > >> > > >> > This driver is probably dead code > >> > > >> >> + serial_stm32.c > >> >> + serial_xuartlite.c > >> >> + usbtty.c > >> >> + > >> >> +You should complete this by the end of January 2016. > >> > > >> > So what do you suggest to do with boards which do not use DM at all ? > >> > >> I'd say move them over... > > > > That's not doable this late in the RC cycle though. I would suggest to > > postpone the date. > > Well we still have 6 weeks until the end of January for people to > produce patches. Merging them might take a while, but hopefully we can > finish this for the 2016.07 release. I see.
diff --git a/doc/driver-model/serial-howto.txt b/doc/driver-model/serial-howto.txt new file mode 100644 index 0000000..60483a4 --- /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 2016. + +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 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 v3: - Fix the date to avoid time machine issues 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