All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.