Help with cleaning CNS21xx code
Russell King - ARM Linux
linux at arm.linux.org.uk
Tue Dec 21 06:39:12 EST 2010
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.
More information about the linux-arm-kernel
mailing list