linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wolfram Sang <w.sang@pengutronix.de>
To: Lee Jones <lee.jones@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linus.walleij@stericsson.com,
	arnd@arndb.de, grant.likely@secretlab.ca,
	linux-i2c@vger.kernel.org
Subject: Re: [PATCH 09/14] i2c: Add Device Tree support to the Nomadik I2C driver
Date: Mon, 11 Jun 2012 21:05:50 +0200	[thread overview]
Message-ID: <20120611190550.GK3887@pengutronix.de> (raw)
In-Reply-To: <1339428307-3850-10-git-send-email-lee.jones@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 3495 bytes --]

On Mon, Jun 11, 2012 at 04:25:02PM +0100, Lee Jones wrote:
> Here we move the i2c-nomadik's default settings into the driver
> rather than specifying them from platform code. At the time of
> this writing we only have one user, the u8500. As new users are
> added, it is expected that they will be Device Tree compliant.
> If this is the case, we will look up their initialisation values
> by compatible entry, then apply them forthwith.
> 
> Cc: linux-i2c@vger.kernel.org
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  drivers/i2c/busses/i2c-nomadik.c |   40 +++++++++++++++++++++++++++++++++++++-
>  1 file changed, 39 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
> index a92440d..1ffdf67 100644
> --- a/drivers/i2c/busses/i2c-nomadik.c
> +++ b/drivers/i2c/busses/i2c-nomadik.c
> @@ -23,6 +23,7 @@
>  #include <linux/io.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/pm_runtime.h>
> +#include <linux/of_device.h>
>  
>  #include <plat/i2c.h>
>  
> @@ -899,15 +900,51 @@ static const struct i2c_algorithm nmk_i2c_algo = {
>  	.functionality	= nmk_i2c_functionality
>  };
>  
> +static struct nmk_i2c_controller u8500_i2c = {
> +       /*
> +        * slave data setup time, which is
> +        * 250 ns,100ns,10ns which is 14,6,2
> +        * respectively for a 48 Mhz
> +        * i2c clock
> +        */
> +       .slsu           = 0xe,
> +       /* Tx FIFO threshold */

Please put these comments directly after the members they describe.

And make sure you use tabs for indentation all over the patch instead of
spaces. checkpatch.pl will help you to get the formal things right.

> +       .tft            = 1,
> +       /* Rx FIFO threshold */
> +       .rft            = 8,
> +       /* std. mode operation */
> +       .clk_freq       = 100000,
> +       .timeout        = 200,	/* Slave response timeout(ms) */
> +       .sm             = I2C_FREQ_MODE_FAST,
> +};
> +
> +
> +static const struct of_device_id nmk_gpio_match[] = {
> +	{ .compatible = "st,nomadik-i2c", .data = &u8500_i2c, },
> +	{}
> +};
> +
>  static int __devinit nmk_i2c_probe(struct platform_device *pdev)
>  {
>  	int ret = 0;
>  	struct resource *res;
> -	struct nmk_i2c_controller *pdata =
> +	const struct nmk_i2c_controller *pdata =
>  			pdev->dev.platform_data;
> +        const struct of_device_id *of_id =
> +                        of_match_device(nmk_gpio_match, &pdev->dev);
>  	struct nmk_i2c_dev	*dev;
>  	struct i2c_adapter *adap;
>  
> +	if (!pdata) {
> +		if (of_id && of_id->data)
> +			/* Looks like we're booting via Device Tree. */
> +			pdata = of_id->data;
> +		else
> +			/* No i2c configuration found, using the default. */
> +			pdata = &u8500_i2c;
> +	}
> +
>  	dev = kzalloc(sizeof(struct nmk_i2c_dev), GFP_KERNEL);
>  	if (!dev) {
>  		dev_err(&pdev->dev, "cannot allocate memory\n");
> @@ -1043,6 +1080,7 @@ static struct platform_driver nmk_i2c_driver = {
>  		.owner = THIS_MODULE,
>  		.name = DRIVER_NAME,
>  		.pm = &nmk_i2c_pm,
> +		.of_match_table = nmk_gpio_match,
>  	},
>  	.probe = nmk_i2c_probe,
>  	.remove = __devexit_p(nmk_i2c_remove),
> -- 

Thanks,

   Wolfram

-- 
Pengutronix e.K.                           | Wolfram Sang                |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2012-06-11 19:05 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1339428307-3850-1-git-send-email-lee.jones@linaro.org>
2012-06-11 15:25 ` [PATCH 09/14] i2c: Add Device Tree support to the Nomadik I2C driver Lee Jones
2012-06-11 19:05   ` Wolfram Sang [this message]
2012-06-12  7:23     ` Lee Jones
     [not found]     ` <20120611190550.GK3887-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-06-12  8:52       ` Lee Jones
     [not found]         ` <4FD70357.9060905-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-12  8:57           ` Wolfram Sang
     [not found]   ` <1339428307-3850-10-git-send-email-lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-11 20:37     ` Linus Walleij
2012-06-13 16:08       ` [PATCH 2/3] ARM: ux500: Add i2c configurations to the Device Tree for DB8500 based devices Lee Jones
     [not found]         ` <4FD8BAE4.4050606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-14 17:13           ` Linus Walleij
2012-06-18 11:29         ` Linus Walleij
     [not found]           ` <CACRpkda2pH1by2hajpP20CJgdg+mWFF=QaGbeNdY=c8iOVtLUQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-18 11:37             ` Lee Jones
     [not found]       ` <CACRpkdaMDbH4NkiHRLAfbJZ_j4QXbwg94bvaWsdYRPH+dSfc8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-12  7:34         ` [PATCH 09/14] i2c: Add Device Tree support to the Nomadik I2C driver Lee Jones
     [not found]           ` <4FD6F0E8.5040606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-13  5:40             ` Linus Walleij
     [not found]               ` <CACRpkdYxiT-0x4aetMxB2x8SkB+Mmy8rk8uSzgU_anemSayhMw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-13  7:01                 ` Lee Jones
2012-06-13  8:12                   ` Linus Walleij
     [not found]                     ` <CACRpkdZC8E6izDpdnWy6DMjOdA6KsqTaPoaq9pErWoNW0Ewytw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-13 12:28                       ` Lee Jones
     [not found]                         ` <4FD88761.9050703-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-14 18:36                           ` Mark Brown
     [not found]                             ` <20120614183636.GB30185-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2012-06-14 18:46                               ` Mark Brown
2012-06-14 18:59                                 ` Lee Jones
2012-06-14 18:57                               ` Lee Jones
     [not found]                                 ` <4FDA341C.8010501-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-15  9:32                                   ` Mark Brown
2012-06-15 10:00                                     ` Lee Jones
2012-06-15 10:32                                 ` Russell King - ARM Linux
     [not found]                                   ` <20120615103233.GA19046-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-06-15 11:43                                     ` Lee Jones
2012-06-13 16:07         ` [PATCH 1/3] " Lee Jones
     [not found]           ` <4FD8BAD2.50703-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-14 17:12             ` Linus Walleij
     [not found]               ` <CACRpkdZFi34nChnMEo6yik67zk9owZLk-6zcdP7mmOXyLz8uqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-15  9:02                 ` Lee Jones
     [not found]                   ` <CAE2-_9rRYxjU9QQgtBv9ReMY5x+oRiJG1cDQahYHanjDrwVUYA@mail.gmail.com>
     [not found]                     ` <CAE2-_9rRYxjU9QQgtBv9ReMY5x+oRiJG1cDQahYHanjDrwVUYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-15 11:50                       ` Fwd: " Srinidhi Kasagar
2012-06-15 12:45                         ` Lee Jones
     [not found]                           ` <4FDB2E57.4030904-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-15 13:05                             ` Srinidhi Kasagar
2012-06-15 13:18                               ` Lee Jones
     [not found]                                 ` <4FDB3642.5030804-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-15 13:37                                   ` Srinidhi Kasagar
2012-06-15 13:58                                     ` Lee Jones
2012-06-17 17:43                                 ` Linus Walleij
     [not found]                                   ` <CACRpkdZ7ESKhokk8Z+6sC9Kq+jPztFNwzger0Db7nCD1fPnG1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-06-18  7:18                                     ` Lee Jones
2012-06-18  7:58                                       ` Srinidhi Kasagar
2012-06-18  8:41                                         ` Lee Jones
2012-06-13 16:08         ` [PATCH 3/3] Documentation: Device Tree binding information for i2c-nomadik driver Lee Jones
     [not found]           ` <4FD8BAF8.10806-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-06-14 17:13             ` Linus Walleij

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=20120611190550.GK3887@pengutronix.de \
    --to=w.sang@pengutronix.de \
    --cc=arnd@arndb.de \
    --cc=grant.likely@secretlab.ca \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).