All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@grandegger.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linuxppc-dev@ozlabs.org, devicetree-discuss@ozlabs.org
Subject: Re: [PATCH 5/8] powerpc: i2c-mpc: make I2C bus speed configurable
Date: Wed, 01 Apr 2009 15:41:51 +0200	[thread overview]
Message-ID: <49D36F1F.2050107@grandegger.com> (raw)
In-Reply-To: <fa686aa40904010630l798528efh465a7543a15f50e5@mail.gmail.com>

Grant Likely wrote:
> On Wed, Apr 1, 2009 at 1:51 AM, Wolfgang Grandegger <wg@grandegger.com> wrote:
>> Grant Likely wrote:
>>> The table definition is more verbose this way, but I think it results
>>> in more understandable and easier to extend code.  It also adds lets
>>> the compiler do more type checking for you.
>> OK but I don't like the callback function to do the settings. We need
>> backward compatibility with old DTS files including the ugly "dfsrr"
>> property, right? Then it seems consequent to continue using i2c->flags
>> for that purpose and not to introduce another method. If we don't need
>> backward compatibility, we could drop the flags completely and just use
>> callback functions.
> 
> I don't understand why you don't like it.  It's an elegant solution
> and it simplifies the code somewhat.  After grabbing the callback
> pointer the compatibility code can simply override it.  But I won't
> belabor the point or oppose the patch if you stick with the flags
> pointer.

I changed my mind ;-). Have a look to PATCH v2 I sent out a few minutes ago.

>>>> --- linux-2.6.orig/arch/powerpc/platforms/52xx/mpc52xx_common.c 2009-03-31 13:25:08.000000000 +0200
>>>> +++ linux-2.6/arch/powerpc/platforms/52xx/mpc52xx_common.c      2009-03-31 13:28:54.309718526 +0200
>>>> +int fsl_i2c_get_fdr(struct device_node *node, u32 i2c_clock, u32 i2c_flags)
>>>> +{
>>>> [...]
>>>> +}
>>>> +EXPORT_SYMBOL(fsl_i2c_get_fdr);
>>> does not work on a multiplatform kernel.  Both 8xxx and 52xx support
>>> can be selected at the same time.
>> OK, then we need different functions including stubs.
> 
> I've been thinking about this more.  These tables are only ever going
> to be used by the i2c_mpc driver and so really they are a part of the
> i2c_mpc driver itself.  Putting them into common code doesn't make any
> sense because it is not common code.  I will not merge a patch that
> puts them into mpc5200 common code.

It's not common code, I agree. How about putting it into mpc52xx_i2c.c
and use:

  $ cat Makefile
  obj-$(CONFIG_I2C_MPC) += mpc52xx_i2c.o

Or it could be moved back to the i2c_mpc driver and we add stubs for the
functions to get the bus frequency, or use #ifdef's.

Wolfgang.

WARNING: multiple messages have this Message-ID (diff)
From: Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH 5/8] powerpc: i2c-mpc: make I2C bus speed configurable
Date: Wed, 01 Apr 2009 15:41:51 +0200	[thread overview]
Message-ID: <49D36F1F.2050107@grandegger.com> (raw)
In-Reply-To: <fa686aa40904010630l798528efh465a7543a15f50e5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Grant Likely wrote:
> On Wed, Apr 1, 2009 at 1:51 AM, Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org> wrote:
>> Grant Likely wrote:
>>> The table definition is more verbose this way, but I think it results
>>> in more understandable and easier to extend code.  It also adds lets
>>> the compiler do more type checking for you.
>> OK but I don't like the callback function to do the settings. We need
>> backward compatibility with old DTS files including the ugly "dfsrr"
>> property, right? Then it seems consequent to continue using i2c->flags
>> for that purpose and not to introduce another method. If we don't need
>> backward compatibility, we could drop the flags completely and just use
>> callback functions.
> 
> I don't understand why you don't like it.  It's an elegant solution
> and it simplifies the code somewhat.  After grabbing the callback
> pointer the compatibility code can simply override it.  But I won't
> belabor the point or oppose the patch if you stick with the flags
> pointer.

I changed my mind ;-). Have a look to PATCH v2 I sent out a few minutes ago.

>>>> --- linux-2.6.orig/arch/powerpc/platforms/52xx/mpc52xx_common.c 2009-03-31 13:25:08.000000000 +0200
>>>> +++ linux-2.6/arch/powerpc/platforms/52xx/mpc52xx_common.c      2009-03-31 13:28:54.309718526 +0200
>>>> +int fsl_i2c_get_fdr(struct device_node *node, u32 i2c_clock, u32 i2c_flags)
>>>> +{
>>>> [...]
>>>> +}
>>>> +EXPORT_SYMBOL(fsl_i2c_get_fdr);
>>> does not work on a multiplatform kernel.  Both 8xxx and 52xx support
>>> can be selected at the same time.
>> OK, then we need different functions including stubs.
> 
> I've been thinking about this more.  These tables are only ever going
> to be used by the i2c_mpc driver and so really they are a part of the
> i2c_mpc driver itself.  Putting them into common code doesn't make any
> sense because it is not common code.  I will not merge a patch that
> puts them into mpc5200 common code.

It's not common code, I agree. How about putting it into mpc52xx_i2c.c
and use:

  $ cat Makefile
  obj-$(CONFIG_I2C_MPC) += mpc52xx_i2c.o

Or it could be moved back to the i2c_mpc driver and we add stubs for the
functions to get the bus frequency, or use #ifdef's.

Wolfgang.

  reply	other threads:[~2009-04-01 13:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-31 12:37 [PATCH 0/8] powerpc: i2c-mpc: make I2C bus speed configurable Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 1/8] [PATCH 3/4] powerpc/85xx: Move gianfar mdio nodes under the Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 2/8] [PATCH 01/28] RTC: Add support for RX8025 chip Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 3/8] powerpc/85xx: Add support for the "socrates" board (MPC8544) Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 15:57   ` Grant Likely
2009-03-31 15:57     ` Grant Likely
2009-03-31 19:20     ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 4/8] powerpc: i2c-mpc: preserve I2C clocking Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 5/8] powerpc: i2c-mpc: make I2C bus speed configurable Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 15:41   ` Grant Likely
2009-03-31 15:41     ` Grant Likely
2009-04-01  7:51     ` Wolfgang Grandegger
2009-04-01 13:30       ` Grant Likely
2009-04-01 13:30         ` Grant Likely
2009-04-01 13:41         ` Wolfgang Grandegger [this message]
2009-04-01 13:41           ` Wolfgang Grandegger
2009-04-01 13:55           ` Wolfgang Grandegger
     [not found]           ` <49D36F1F.2050107-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2009-04-01 13:55             ` Grant Likely
2009-04-01 13:55               ` Grant Likely
     [not found]               ` <fa686aa40904010655i73819214m795939e784889267-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-02  6:55                 ` Wolfgang Grandegger
2009-04-02  6:55                   ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 6/8] --- arch/powerpc/boot/dts/socrates.dts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 23:04   ` David Gibson
2009-04-01  7:31     ` Wolfgang Grandegger
2009-04-01 11:09       ` David Gibson
2009-04-01 11:09         ` David Gibson
2009-04-01 11:59         ` Wolfgang Grandegger
2009-04-01 23:57           ` David Gibson
2009-04-01 12:30         ` Anton Vorontsov
2009-04-01 23:58           ` David Gibson
2009-03-31 12:37 ` [PATCH 7/8] Re: [PATCH 1/2] NAND: Add support for oob size 128 Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 12:37 ` [PATCH 8/8] NAND: Add support for NAND on the Socrates board Wolfgang Grandegger
2009-03-31 12:37   ` Wolfgang Grandegger
2009-03-31 12:49 ` [PATCH 0/8] powerpc: i2c-mpc: make I2C bus speed configurable Wolfgang Grandegger
2009-03-31 16:23   ` Grant Likely

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=49D36F1F.2050107@grandegger.com \
    --to=wg@grandegger.com \
    --cc=devicetree-discuss@ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linuxppc-dev@ozlabs.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 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.