Thread (3 messages) flat view 3 messages, 2 authors, 2010-12-21

Help with cleaning CNS21xx code

From: Russell King - ARM Linux <hidden>
Date: 2010-12-21 11:39:12

On Tue, Dec 21, 2010 at 12:26:39PM +0100, Damjan Marion wrote:
Cavium Networks provided SDK for CNS21XX SoCs which is actually patched
2.6.24 kernel. It is Faraday FA526 based platform with some embedded
peripherals (http://www.caviumnetworks.com/ECONA_CNS2XXX.html).
I'm trying to clean up the code and submit this as a new architecture,
and I have few issues. Seems that they patched some common code, and
this doesn't look to me like something what I should do.

I will appreciate any comments/hints how to address it. Diffs are below
and here is summary:

1. modification of irq_handler when VIC is enabled [arch/arm/kernel/entry-armv.S] 
That looks like someone's been lazy when writing their get_irqnr_and_base
implementation.  Without seeing the implementation of that macro, it's
not really possible to make much more comments than that.
2. redefinition of PROCINFO_INITFUNC=12 in [arch/arm/kernel/head.S]
This should not be necessary - this symbol is generated from the C
structure, which must match the layout of the structures in the
proc-*.S files.

My guess is that the record in proc-fa526.S that's in your 2.6.24 was not
updated, and the above is a bodge to make it sort-of work, rather than
fixing it properly.  My guess is that this is actually causing some subtle
breakage in 2.6.24 (such as screwed ELF hwcaps.)
3. 4 extra nops in __turn_mmu_on in [arch/arm/kernel/head.S]
Again, not necessary, as we have setup a 1:1 mapping.
4. excluded code [drivers/usb/core/buffer.c]
5. 250ms delay in ehci_run [drivers/usb/host/ehci-hcd.c]
I can't answer these.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help