linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Figa <tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Lu Jingchang-B35083
	<B35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org"
	<wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
	Estevam Fabio-R49496
	<r49496-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	Li Xiaochun-B41219
	<B41219-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Jin Zhengxiong-R64188
	<R64188-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	pawel.moll-5wv7dgnIgG8@public.gmane.org,
	swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
	ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org,
	grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org,
	galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
Subject: Re: 答复: [PATCH v3 2/2] i2c: imx: Add Vybrid VF610 I2C controller support
Date: Mon, 12 Aug 2013 18:59:53 +0200	[thread overview]
Message-ID: <1672769.GMC6E5TsBH@flatron> (raw)
In-Reply-To: <20130812164354.GF27165-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>

On Monday 12 of August 2013 17:43:54 Mark Rutland wrote:
> [Adding other devicetree maintainers to Cc]
> 
> On Mon, Aug 12, 2013 at 01:56:07PM +0100, Lu Jingchang-B35083 wrote:
> > ________________________________________
> > 
> > >发件人: Mark Rutland [mark.rutland-5wv7dgnIgG8@public.gmane.org]
> > >发送时间: 2013年8月10日 22:08
> > >收件人: Lu Jingchang-B35083
> > >抄送: wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org; Estevam Fabio-R49496; Li Xiaochun-B41219;
> > >s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org; linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Jin
> > >Zhengxiong-R64188; shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org;
> > >linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org 主题: Re: [PATCH v3 2/2] i2c:
> > >imx: Add Vybrid VF610 I2C controller support> >
> > >On Fri, Aug 02, 2013 at 05:44:08AM +0100, Jingchang Lu wrote:
> > >>   Add Freescale Vybrid VF610 I2C controller support to
> > >> 
> > >> imx I2C driver framework.
> > >> 
> > >>   Some operation is different from imx I2C controller.
> > >> 
> > >> The register offset, the i2c clock divider value table,
> > >> the module enabling(I2CR_IEN) which is just invert with imx,
> > >> and the interrupt flag(I2SR) clearing opcode is w1c on VF610
> > >> but w0c on imx.
> > >> 
> > >> Signed-off-by: Jason Jin <Jason.jin-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> > >> Signed-off-by: Xiaochun Li <b41219-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> > >> Signed-off-by: Jingchang Lu <b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> > >> ---
> > >> 
> > >> changes in v3:
> > >>   Using struct naming the i2c clock {div, regval} pair.
> > >>  
> > >>  Using address shift handling registers address difference.
> > >> 
> > >> changes in v2:
> > >>   Fix building section mismatch(es) warning.
> > >>  
> > >>  drivers/i2c/busses/i2c-imx.c | 146
> > >>  ++++++++++++++++++++++++++++++++++++------- 1 file changed, 122
> > >>  insertions(+), 24 deletions(-)
> > >
> > >[...]
> > >
> > >> @@ -145,6 +233,7 @@ MODULE_DEVICE_TABLE(platform, imx_i2c_devtype);
> > >> 
> > >>  static const struct of_device_id i2c_imx_dt_ids[] = {
> > >>  
> > >>         { .compatible = "fsl,imx1-i2c", .data =
> > >>         &imx_i2c_devtype[IMX1_I2C], },
> > >>         { .compatible = "fsl,imx21-i2c", .data =
> > >>         &imx_i2c_devtype[IMX21_I2C], },> >> 
> > >> +       { .compatible = "fsl,vf610-i2c", .data =
> > >> &imx_i2c_devtype[VF610_I2C], },> >> 
> > >>         { /* sentinel */ }
> > >>  
> > >>  };
> > >
> > >That string doesn't seem to be documented anywhere (from a quick grep
> > >of Documentation/devicetree), and there's no binding update included
> > >here. It would be nice for that to be fixed :)
> > 
> > [Lu Jingchang]
> > The binding string for i2c-imx driver in
> > Documentation/devicetree/bindings/i2c/i2c-imx.txt use a wildcard
> > format of "- compatible : Should be "fsl,<chip>-i2c" " for device
> > using this driver. Neither fsl,imx1-i2c nor fsl,imx21-i2c is
> > described in the binding document. So I just leave the vf610 i2c
> > compatible with this.
> I'm not a big fan on wildcards in bindings, as it leaves people free to
> put anything in and claim it's a documented binding, and makes it far
> harder for an os to actually implement drivers for said binding, as
> there's no canonical reference for the set of valid variations.
> 
> Obviously there is some precedent, but I'm not sure it's something we
> want to stick with, and we can prevent it my updating the documentation
> now.
> 
> Does anyone else have an opinion?

In case of Samsung platforms we decided to always use the name of first 
SoC in which given IP appeared and list all compatible SoCs in binding 
documentation. This is IMHO the most consistent way, as there is no 
confusion about IP versions (not always listed in documentation, not even 
saying about unavailable documentation) or potential problems with new 
SoCs matching the wildcard, but having different IP.

In this particular case, the <chip> wildcard can be easily transformed 
into a non-wildcard binding, by listing all supported <chip> values, i.e. 
adding following text to binding documentation:

8<--
The <chip> can be one of:
 - imx1 - for i.MX1 and compatible SoCs,
 - imx21 - for i.MX21 and compatible SoCs,
 - vf610 - for Vybrid VF610 and compatible SoCs.
-->8

Best regards,
Tomasz

  parent reply	other threads:[~2013-08-12 16:59 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-02  4:44 [PATCH RESEND 1/2] ARM: dts: vf610-twr: enable i2c0 device Jingchang Lu
     [not found] ` <1375418648-22760-1-git-send-email-b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-08-02  4:44   ` [PATCH v3 2/2] i2c: imx: Add Vybrid VF610 I2C controller support Jingchang Lu
     [not found]     ` <1375418648-22760-2-git-send-email-b35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-08-05  8:30       ` Sascha Hauer
     [not found]         ` <20130805083050.GN26614-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-08-05  9:32           ` Lu Jingchang-B35083
     [not found]             ` <B56CDBE15CE27145A4B77D2D24263E851FC075-TcFNo7jSaXM0vywKSws3iq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-08-05  9:53               ` Sascha Hauer
     [not found]                 ` <20130805095322.GP26614-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-08-05 15:51                   ` 答复: " Lu Jingchang-B35083
2013-08-10 14:08       ` Mark Rutland
2013-08-12 12:56         ` 答复: " Lu Jingchang-B35083
     [not found]           ` <B56CDBE15CE27145A4B77D2D24263E851FE7AC-TcFNo7jSaXM0vywKSws3iq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2013-08-12 16:43             ` Mark Rutland
     [not found]               ` <20130812164354.GF27165-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-08-12 16:59                 ` Tomasz Figa [this message]
2013-08-12 17:04                   ` Kumar Gala
2013-08-12 23:23                 ` 答复: " Stephen Warren
     [not found]                   ` <52096E77.4040003-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-08-13  7:46                     ` s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ
     [not found]                       ` <20130813074620.GR26614-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-08-13 15:48                         ` Stephen Warren
     [not found]                           ` <520A5558.708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-08-13 16:12                             ` s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ
2013-08-14  3:29                               ` Shawn Guo
     [not found]                               ` <20130813161214.GV26614-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-08-15  9:48                                 ` Wolfram Sang
2013-08-04 13:30   ` [PATCH RESEND 1/2] ARM: dts: vf610-twr: enable i2c0 device Shawn Guo

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=1672769.GMC6E5TsBH@flatron \
    --to=tomasz.figa-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=B35083-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=B41219-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=R64188-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=r49496-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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).