A few days back I posted a patch which gave recent kernel versions the gpio_keys driver and the header for avr32. There's been a bit of interest so here's the official thread!
The patch is reposted below along with a (NOT FULLY FUNCTIONING) sample implementation. I say not fully functioning because it doesn't set up the chosen gpio lines as correctly-pulled inputs with interrupts enabled nor does it correctly program the interrupt controller, it just demonstrates how to set up the gpio_keys side of things.
If you are going to put the setup in a seperate file like this remember to add it to your Makefile ;) otherwise you can add all this stuff to arch/avr32/boards/atstk1000/atstk1002.c and/or call the init function from atstk1002_init rather than registering another postcore_initcall.
As mentioned in the other thread, this driver will be officially in 2.6.21 when that is released, though it probably won't have gpio_keys.h in asm-avr32 as well as asm-arm unless I can get my act together and post a patch to do just that ;)