All of lore.kernel.org
 help / color / mirror / Atom feed
From: ryan@bluewatersys.com (Ryan Mallon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/14] at91: use structure to store the current soc
Date: Wed, 27 Apr 2011 15:41:03 +1200	[thread overview]
Message-ID: <4DB7904F.80005@bluewatersys.com> (raw)
In-Reply-To: <20110427031808.GE29103@game.jcrosoft.org>

On 04/27/2011 03:18 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 13:47 Wed 27 Apr     , Ryan Mallon wrote:
>> On 04/27/2011 01:27 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>>>>>
>>>>>> This way the cpu detection code is much clearer and easier to read and
>>>>>> only one set of __cpu_is macros are needed. The values for
>>>>>> ARCH_ID_AT91RM9200, etc can be moved into soc.c since they are not
>>>>>> needed elsewhere.
>>>>> This will never work you do not listen
>>>>>
>>>>> the DBUG is at DIFFERENT base address on the AT91
>>>>> you need to check them one by one
>>>>>
>>>>> I keep the structure to keep more imformation inside and do not want to be
>>>>> limited by a 32bit and complex encoding to maintain
>>>>>
>>>>> Best Regards,
>>>>> J.
>>>> You can only be running one machine at a time. Are you implying that
>>>> this change breaks at91_sys_read in such a way that it reads the wrong
>>>> registers? If so, then its definitely a NAK.
>>> Certernly not ALL of the current work is too allow in a UNIQUE kernel to have
>>> all the atmel inside and other vendors and boards in the same kernel
>>
>> Agreed. At the moment we still have a situation where we can only
>> compile one at91 SoC variant into the kernel. So, at the moment, we do
>> not need to deal with the fact that the DBGU exists at different
>> locations, we can just read it for the board that we are booting on.
> This patch series goal is to allow to have a UNIQUE kernel so all the drivers
> and new code are write with this requirement
> 
> so no the double implementation is needed
> 
> no new code will accepted if it's does have this in considaration

I understand that the goal is to get a single kernel supporting all of
the at91 soc variants. This is one of the goals for the devices patch
series I posted also.

I am objecting to the implementation, not the goal. I believe there is a
better, cleaner way to handle this.

>> What I am objecting to is adding two entire sets of cpu_is macros which
>> is just needless extra code with no benefit. We should determine the
>> cpu/SoC type _once_ inside a single function (at91_initialize) and the
>> the cpu_is macros should just read the shadow value. There is no reason
>> to have two sets of macros.
> Those two macro set does not have the same constrains
> 
> cpu_is is to be soc agnostic
> __cpu_is is to be soc specific

Yes. But if the __cpu_is versions are not needed outside of the
at91_initialize function (in order to first determine the cpu/soc type)
then why not move all of the code into at91_initialize (i.e. the switch
statement I proposed) and do away with the __cpu_is macros. This would
be functionally the same but doesn't add a second copy of the cpu_is macros.

> so yes they are needed

The code _inside_ them is needed, but does not need to be in the form of
the __cpu_is macros, it can be moved directly into at91_initialize which
is cleaner and simpler.

> and I'll update the __cpu_is soon so they will not use at91_sys_read anymore

When will users ever need to use the __cpu_is macros and how will they
know when to use cpu_is and when to use __cpu_is?

~Ryan

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon         		5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com         	PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com	New Zealand
Phone: +64 3 3779127		Freecall: Australia 1800 148 751
Fax:   +64 3 3779135			  USA 1800 261 2934

  reply	other threads:[~2011-04-27  3:41 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-25 18:08 [PATCH 0/14] at91: factorize soc init and switch to early platform Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 01/14] at91rm9200: introduce at91rm9200_set_type to specficy cpu package Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 02/14] at91: introduce commom AT91_BASE_SYS Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 21:48   ` Ryan Mallon
2011-04-26  4:27     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 03/14] at91: factorize at91 interrupts init to soc Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 21:52   ` Ryan Mallon
2011-04-25 22:11   ` H Hartley Sweeten
2011-04-26 17:29     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-26 22:04       ` Andrew Victor
2011-04-26 23:39         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28 11:43   ` Russell King - ARM Linux
2011-04-25 18:31 ` [PATCH 04/14 v2] at91: merge board usb-a9260 and usb-a9263 together Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 05/14] at91: use structure to store the current soc Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 22:08   ` Ryan Mallon
2011-04-26  4:21     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-26  4:44       ` Ryan Mallon
2011-04-26  6:42         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-26 20:22           ` Ryan Mallon
2011-04-26 23:45             ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-27  0:13               ` Ryan Mallon
2011-04-27  1:27                 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-27  1:47                   ` Ryan Mallon
2011-04-27  3:18                     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-27  3:41                       ` Ryan Mallon [this message]
2011-04-28 14:04       ` Andrew Victor
2011-04-28 14:10         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28 20:20           ` Ryan Mallon
2011-04-28 23:06             ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28 23:24               ` Ryan Mallon
2011-04-29  2:10                 ` Ryan Mallon
2011-04-29  8:32                   ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-29  8:35                 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-29  8:50                   ` Ryan Mallon
2011-05-02 15:38         ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 20:25           ` Ryan Mallon
2011-05-02 20:24             ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 20:38               ` Ryan Mallon
2011-05-02 20:51                 ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 21:27                   ` Ryan Mallon
2011-05-02 21:29                     ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 22:05                       ` Ryan Mallon
2011-05-02 22:06                         ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 22:32                           ` Ryan Mallon
2011-05-02 22:41                             ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-02 23:16                     ` Russell King - ARM Linux
2011-05-02 23:16                       ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 06/14 v3] at91: switch to CLKDEV_LOOKUP Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 07/14] at91: switch gpio to early platfrom device Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 22:51   ` Ryan Mallon
2011-04-26  4:11     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 08/14] at91: move gpio to drivers/gpio Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 09/14] at91: switch pit timer to early platform devices Jean-Christophe PLAGNIOL-VILLARD
2011-04-28  5:07   ` Ryan Mallon
2011-04-28 11:23   ` Andrew Victor
2011-04-28 11:34     ` Russell King - ARM Linux
2011-04-28 13:15       ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28 16:56         ` Andrew Victor
2011-04-28 17:33           ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28 18:15           ` Russell King - ARM Linux
2011-04-28 20:47             ` Andrew Victor
2011-04-28 21:46               ` Russell King - ARM Linux
2011-04-28 23:38                 ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-29  9:28                   ` Russell King - ARM Linux
2011-04-30  1:36                     ` Jean-Christophe PLAGNIOL-VILLARD
2011-05-08 10:08                       ` Russell King - ARM Linux
2011-05-08 10:44                         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-29  7:55               ` Greg Ungerer
2011-04-29  6:08       ` Tony Lindgren
2011-04-29  8:31         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:31 ` [PATCH 10/14] at91: switch st " Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 18:40 ` [PATCH 11/14] at91: move pit timer to drivers/clocksource Jean-Christophe PLAGNIOL-VILLARD
2011-04-25 19:14 ` [PATCH 12/14] at91: move st " Jean-Christophe PLAGNIOL-VILLARD
2011-04-26  1:11 ` [PATCH 13/14] at91: move register clocks to soc generic init Jean-Christophe PLAGNIOL-VILLARD
2011-04-26  3:13   ` Ryan Mallon
2011-04-26  1:11 ` [PATCH 14/14] at91: move clock subsystem init " Jean-Christophe PLAGNIOL-VILLARD
2011-04-26  3:13   ` Ryan Mallon
2011-04-26  4:13     ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-26  4:32       ` Ryan Mallon
2011-04-26  4:32         ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-27 21:13 ` [PATCH 0/14] at91: factorize soc init and switch to early platform Ryan Mallon
2011-04-28  2:26   ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28  2:41   ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-28  3:59     ` Ryan Mallon
2011-04-28  4:14       ` Jean-Christophe PLAGNIOL-VILLARD

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=4DB7904F.80005@bluewatersys.com \
    --to=ryan@bluewatersys.com \
    --cc=linux-arm-kernel@lists.infradead.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.