All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 6/6] dm: Add timeline and guide for porting I2C drivers
Date: Mon, 5 Dec 2016 13:25:26 +0100	[thread overview]
Message-ID: <58455CB6.2010603@denx.de> (raw)
In-Reply-To: <1479908085-18336-7-git-send-email-sjg@chromium.org>

Hello Simon,

Am 23.11.2016 um 14:34 schrieb Simon Glass:
> Add a README with a brief guide to porting i2c drivers over to use driver
> model.
>
> Add a timeline also. All I2C drivers should be converted by the end
> of June 2017.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>   doc/driver-model/i2c-howto.txt | 56 ++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 56 insertions(+)
>   create mode 100644 doc/driver-model/i2c-howto.txt

Thanks!

Acked-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
>
> diff --git a/doc/driver-model/i2c-howto.txt b/doc/driver-model/i2c-howto.txt
> new file mode 100644
> index 0000000..605d3ef
> --- /dev/null
> +++ b/doc/driver-model/i2c-howto.txt
> @@ -0,0 +1,56 @@
> +How to port a serial driver to driver model
> +===========================================
> +
> +Over half of the I2C drivers have been converted as at November 2016. These
> +ones remain:
> +
> +   adi_i2c
> +   davinci_i2c
> +   fti2c010
> +   ihs_i2c
> +   kona_i2c
> +   lpc32xx_i2c
> +   pca9564_i2c
> +   ppc4xx_i2c
> +   rcar_i2c
> +   sh_i2c
> +   sh_sh7734_i2c
> +   soft_i2c
> +   tsi108_i2c
> +   zynq_i2c
> +
> +The deadline for this work is the end of June 2017. If no one steps
> +forward to convert these, at some point there may come a patch to remove them!
> +
> +Here is a suggested approach for converting your I2C driver over to driver
> +model. Please feel free to update this file with your ideas and suggestions.
> +
> +- #ifdef out all your own I2C driver code (#ifndef CONFIG_DM_I2C)
> +- Define CONFIG_DM_I2C 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 work fully since there will be
> +    no I2C driver
> +- Add the U_BOOT_DRIVER piece at the end (e.g. copy tegra_i2c.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
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  parent reply	other threads:[~2016-12-05 12:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20161123133513epcas2p188fdff5c8a25f7fa796e11fb53becf20@epcas2p1.samsung.com>
2016-11-23 13:34 ` [U-Boot] [PATCH 0/6] dm: i2c: Set a timeline for conversion of i2c drivers Simon Glass
2016-11-23 13:34   ` [U-Boot] [PATCH 1/6] arm: exynos: i2c: Convert exynos boards to use DM_I2C Simon Glass
2016-12-05 12:21     ` Heiko Schocher
2016-11-23 13:34   ` [U-Boot] [PATCH 2/6] arm: samsung: Convert s5p_goni and smdkc100 to DM_I2C Simon Glass
2016-12-05 12:21     ` Heiko Schocher
2016-11-23 13:34   ` [U-Boot] [PATCH 3/6] samsung: i2c: Drop old code from I2C driver Simon Glass
2016-12-05 12:22     ` Heiko Schocher
2016-11-23 13:34   ` [U-Boot] [PATCH 4/6] samsung: i2c: Split the high-speed I2C code into a new driver Simon Glass
2016-12-05 12:23     ` Heiko Schocher
2016-11-23 13:34   ` [U-Boot] [PATCH 5/6] dm: i2c: Add a note to I2C drivers which need conversion Simon Glass
2016-12-05 12:25     ` Heiko Schocher
2016-11-23 13:34   ` [U-Boot] [PATCH 6/6] dm: Add timeline and guide for porting I2C drivers Simon Glass
2016-11-23 14:52     ` Michal Simek
2016-11-23 16:13       ` Simon Glass
2016-12-05 12:25     ` Heiko Schocher [this message]
2016-12-05 22:47   ` [U-Boot] [PATCH 0/6] dm: i2c: Set a timeline for conversion of i2c drivers Jaehoon Chung
2016-12-07  0:53     ` Minkyu Kang

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=58455CB6.2010603@denx.de \
    --to=hs@denx.de \
    --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.