[lkml]   [2006]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: AVR32 architecture patch against Linux 2.6.18-rc1 available
On Thu, 6 Jul 2006 02:19:06 -0700
Andrew Morton <> wrote:

> On Thu, 6 Jul 2006 10:52:27 +0200
> Haavard Skinnemoen <> wrote:
> > Hi everyone,
> >
> > I've put up an updated set of patches for AVR32 support at
> >
> >
> > The most interesting patch probably is
> >
> >
> > which, at 544K, is too large to attach here. Please let me know if
> > you want me to do it anyway.
> >
> > Anyone want to have a look at this? I understand that a full review
> > is a huge job, but I'd appreciate a pointer or two in the general
> > direction that I need to take this in order to get it acceptable for
> > mainline.
> >
> Looks pretty sane from a quick scan.
> - request_irq() can use GFP_KERNEL?

Probably, but the genirq implementation also uses GFP_ATOMIC.

> - show_interrupts() should use for_each_online_cpu()

Indeed. Haven't really touched that code for a while.

> <wow, kprobes support>
> - do you really need __udivdi3() and friends? We struggle hard to
> avoid the necessity on x86 and you should be able to leverage that
> advantage.

__avr32_udiv64 has only one caller, in time_init(). I'll see if I can
eliminate it.

The 64-bit shift functions are called from architecture-independent
code, so that will be harder.

> - What are these for?
> +EXPORT_SYMBOL(register_dma_controller);
> +EXPORT_SYMBOL(find_dma_controller);

An attempt at a DMA controller framework, which is used by our MMC
driver as well as a couple of sound drivers. I can remove it from the
patchset if you want, as I haven't forward-ported any of the users yet.

> +EXPORT_SYMBOL(clk_get);
> +EXPORT_SYMBOL(clk_put);
> +EXPORT_SYMBOL(clk_enable);
> +EXPORT_SYMBOL(clk_disable);
> +EXPORT_SYMBOL(clk_get_rate);
> +EXPORT_SYMBOL(clk_round_rate);
> +EXPORT_SYMBOL(clk_set_rate);
> +EXPORT_SYMBOL(clk_set_parent);
> +EXPORT_SYMBOL(clk_get_parent);

Implementation of the linux/clk.h API. David Brownell convinced me to
implement it for AVR32, as it is used by a lot of ARM drivers,
especially the AT91 ones which could mostly be shared with AVR32.

> - Was there a ./MAINTAINERS patch? I didn't see one.

Sorry, I missed that one. Appended below.

> - Who stands behind this port? How do we know this isn't a
> patch-n-run exercise? How do we know that the code won't rot?

Atmel, or more precisely Atmel Norway, which is the design center
that designed the AVR and AVR32 architectures, stands behind it. Atmel
Applications Engineers have received a fair amount of Linux training
already, so I don't think we'll be dropping this on the floor any time

> - How does one build a something->avr32 cross-toolchain?

I've started writing up a "Getting Started" guide at It's mostly
complete, although I haven't actually uploaded the toolchain patches.
I'll do that in a couple of minutes.


index 196a31c..f7ab4ff 100644
@@ -422,6 +422,23 @@ W:
T: git
S: Maintained

+P: Atmel AVR32 Support Team
+P: Haavard Skinnemoen
+S: Supported
+P: Atmel AVR32 Support Team
+P: Haavard Skinnemoen
+S: Supported
P: Ralf Baechle
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2006-07-06 12:05    [W:0.145 / U:3.596 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site