public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] RFC: dm: Add proposed timeline and guide for porting serial drivers
Date: Sat, 5 Sep 2015 15:52:03 +0200	[thread overview]
Message-ID: <55EAF383.60101@redhat.com> (raw)
In-Reply-To: <1441460717-23318-1-git-send-email-sjg@chromium.org>

Hi,

On 05-09-15 15:45, Simon Glass wrote:
> Add a README with a brief guide to porting serial drivers over to use
> driver model.
>
> Add a timeline also.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>

I assume that the purpose of the timeline is to retire the non dm
serial drivers ?

What about SPL use ?

I do not see the SPL for sunxi move to dm / devicetree anytime soon,
there simply does not seem to be enough space.

With the new nand SPL support we have already been hitting the 24k
limit without bringing in dm + a dtb + a dtb parser ...

Which reminds me I still need to look at your version of the
patch for only using malloc_simple.c in the SPL and not build
in dl_malloc.c, that saves about 1k which we could use really
well. I still have this on my todo list.

Regards,

Hans





> ---
> I intend to cc the final patch to all U-Boot maintainers using something
> like 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.
>
>   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..76a75da
> --- /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 Christmas 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
>

  reply	other threads:[~2015-09-05 13:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-05 13:45 [U-Boot] [PATCH] RFC: dm: Add proposed timeline and guide for porting serial drivers Simon Glass
2015-09-05 13:52 ` Hans de Goede [this message]
2015-09-05 23:47   ` Simon Glass
2015-09-06  4:26   ` Siarhei Siamashka
2015-09-09 18:06     ` Simon Glass
2015-10-18 12:18       ` Simon Glass
2015-10-19  8:28         ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55EAF383.60101@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox