From 7dd40d07c00c6cf14e61961118244e34a89a5c6c Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Sun, 12 Oct 2008 13:34:11 +0000 Subject: [PATCH] --- yaml --- r: 113390 b: refs/heads/master c: 14835a3325c1f84c3ae6eaf81102a3917e84809e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/kernel-parameters.txt | 26 +- .../alsa/DocBook/writing-an-alsa-driver.tmpl | 3 +- trunk/Documentation/sparc/sbus_drivers.txt | 309 ++++ trunk/MAINTAINERS | 5 - .../arm/mach-orion5x/include/mach/orion5x.h | 2 - trunk/arch/arm/plat-omap/devices.c | 21 +- trunk/arch/avr32/boards/atngw100/setup.c | 19 +- trunk/arch/avr32/boards/atstk1000/atstk1002.c | 23 +- trunk/arch/avr32/boards/atstk1000/atstk1003.c | 15 +- trunk/arch/avr32/boards/atstk1000/atstk1004.c | 18 +- trunk/arch/avr32/include/asm/atmel-mci.h | 32 +- trunk/arch/avr32/include/asm/byteorder.h | 22 +- trunk/arch/avr32/include/asm/io.h | 8 - trunk/arch/avr32/kernel/process.c | 3 +- trunk/arch/avr32/kernel/setup.c | 19 - trunk/arch/avr32/mach-at32ap/at32ap700x.c | 460 +++--- trunk/arch/avr32/mach-at32ap/clock.c | 52 +- trunk/arch/avr32/mach-at32ap/clock.h | 8 +- .../mach-at32ap/include/mach/at32ap700x.h | 128 -- .../avr32/mach-at32ap/include/mach/board.h | 2 +- .../arch/avr32/mach-at32ap/include/mach/io.h | 3 +- .../avr32/mach-at32ap/include/mach/portmux.h | 5 +- trunk/arch/avr32/mach-at32ap/pdc.c | 3 +- trunk/arch/avr32/mach-at32ap/pio.c | 63 +- trunk/arch/avr32/oprofile/Makefile | 2 +- trunk/arch/avr32/oprofile/backtrace.c | 81 - trunk/arch/avr32/oprofile/op_model_avr32.c | 4 - trunk/arch/ia64/include/asm/siginfo.h | 5 + trunk/arch/powerpc/include/asm/siginfo.h | 5 + trunk/arch/sparc/Kconfig | 26 +- trunk/arch/sparc/include/asm/Kbuild | 2 + trunk/arch/sparc/include/asm/asmmacro.h | 5 + trunk/arch/sparc/include/asm/bpp.h | 73 + trunk/arch/sparc/include/asm/bugs.h | 7 + trunk/arch/sparc/include/asm/cpudata_64.h | 1 + trunk/arch/sparc/include/asm/dma-mapping_32.h | 59 +- trunk/arch/sparc/include/asm/dma.h | 141 +- trunk/arch/sparc/include/asm/dma_32.h | 288 ++++ trunk/arch/sparc/include/asm/dma_64.h | 205 +++ trunk/arch/sparc/include/asm/ebus.h | 8 + trunk/arch/sparc/include/asm/ebus_32.h | 99 ++ trunk/arch/sparc/include/asm/ebus_64.h | 95 ++ trunk/arch/sparc/include/asm/ebus_dma.h | 35 - trunk/arch/sparc/include/asm/elf_32.h | 7 +- trunk/arch/sparc/include/asm/fhc.h | 43 +- trunk/arch/sparc/include/asm/floppy_32.h | 16 +- trunk/arch/sparc/include/asm/floppy_64.h | 130 +- trunk/arch/sparc/include/asm/gpio.h | 36 - trunk/arch/sparc/include/asm/io-unit.h | 4 + trunk/arch/sparc/include/asm/io_32.h | 19 +- trunk/arch/sparc/include/asm/io_64.h | 22 +- trunk/arch/sparc/include/asm/iommu_64.h | 3 - trunk/arch/sparc/include/asm/irq_64.h | 1 + trunk/arch/sparc/include/asm/mc146818rtc_64.h | 10 +- trunk/arch/sparc/include/asm/memctrl.h | 9 - trunk/arch/sparc/include/asm/mostek.h | 8 + trunk/arch/sparc/include/asm/mostek_32.h | 171 +++ trunk/arch/sparc/include/asm/mostek_64.h | 143 ++ trunk/arch/sparc/include/asm/obio.h | 11 + trunk/arch/sparc/include/asm/of_device.h | 2 - trunk/arch/sparc/include/asm/of_platform.h | 3 + trunk/arch/sparc/include/asm/oplib_32.h | 1 + trunk/arch/sparc/include/asm/page_32.h | 5 +- trunk/arch/sparc/include/asm/page_64.h | 2 - trunk/arch/sparc/include/asm/parport.h | 4 +- trunk/arch/sparc/include/asm/pci_32.h | 2 - trunk/arch/sparc/include/asm/pgtable_32.h | 4 + trunk/arch/sparc/include/asm/pgtable_64.h | 2 - trunk/arch/sparc/include/asm/prom.h | 12 - trunk/arch/sparc/include/asm/ptrace_64.h | 3 - trunk/arch/sparc/include/asm/reboot.h | 6 + trunk/arch/sparc/include/asm/rtc.h | 26 + trunk/arch/sparc/include/asm/sbus.h | 8 + trunk/arch/sparc/include/asm/sbus_32.h | 153 ++ trunk/arch/sparc/include/asm/sbus_64.h | 190 +++ trunk/arch/sparc/include/asm/spinlock_32.h | 2 + trunk/arch/sparc/include/asm/spinlock_64.h | 2 + trunk/arch/sparc/include/asm/sstate.h | 13 + trunk/arch/sparc/include/asm/starfire.h | 1 + trunk/arch/sparc/include/asm/sun4paddr.h | 56 + trunk/arch/sparc/include/asm/sun4prom.h | 83 + trunk/arch/sparc/include/asm/system_32.h | 9 +- trunk/arch/sparc/include/asm/system_64.h | 6 +- trunk/arch/sparc/include/asm/thread_info_32.h | 4 + trunk/arch/sparc/include/asm/timer_32.h | 87 ++ trunk/arch/sparc/include/asm/vac-ops.h | 7 + trunk/arch/sparc/include/asm/vfc_ioctls.h | 58 + trunk/arch/sparc/include/asm/visasm.h | 1 - trunk/arch/sparc/kernel/Makefile | 4 +- trunk/arch/sparc/kernel/apc.c | 72 +- trunk/arch/sparc/kernel/auxio.c | 6 +- trunk/arch/sparc/kernel/devices.c | 2 +- trunk/arch/sparc/kernel/dma.c | 227 --- trunk/arch/sparc/kernel/dma.h | 14 - trunk/arch/sparc/kernel/ebus.c | 393 +++++ trunk/arch/sparc/kernel/entry.S | 94 +- trunk/arch/sparc/kernel/head.S | 28 +- trunk/arch/sparc/kernel/idprom.c | 7 + trunk/arch/sparc/kernel/ioport.c | 227 ++- trunk/arch/sparc/kernel/irq.h | 6 + trunk/arch/sparc/kernel/of_device.c | 74 +- trunk/arch/sparc/kernel/pcic.c | 15 +- trunk/arch/sparc/kernel/pmc.c | 59 +- trunk/arch/sparc/kernel/process.c | 2 +- trunk/arch/sparc/kernel/prom.c | 7 +- trunk/arch/sparc/kernel/setup.c | 32 +- trunk/arch/sparc/kernel/sparc_ksyms.c | 25 + trunk/arch/sparc/kernel/sun4c_irq.c | 156 +- trunk/arch/sparc/kernel/sun4d_irq.c | 286 ++-- trunk/arch/sparc/kernel/sun4d_smp.c | 12 +- trunk/arch/sparc/kernel/sun4m_irq.c | 495 +++--- trunk/arch/sparc/kernel/sun4m_smp.c | 4 +- trunk/arch/sparc/kernel/sun4setup.c | 75 + trunk/arch/sparc/kernel/sys_sparc.c | 8 +- trunk/arch/sparc/kernel/tick14.c | 47 + trunk/arch/sparc/kernel/time.c | 382 ++++- trunk/arch/sparc/kernel/traps.c | 17 + trunk/arch/sparc/mm/Makefile | 9 +- trunk/arch/sparc/mm/btfixup.c | 6 +- trunk/arch/sparc/mm/fault.c | 2 +- trunk/arch/sparc/mm/init.c | 14 +- trunk/arch/sparc/mm/io-unit.c | 136 +- trunk/arch/sparc/mm/iommu.c | 113 +- trunk/arch/sparc/mm/nosrmmu.c | 59 + trunk/arch/sparc/mm/srmmu.c | 1 + trunk/arch/sparc/mm/sun4c.c | 204 ++- trunk/arch/sparc/prom/Makefile | 2 + trunk/arch/sparc/prom/bootstr.c | 4 + trunk/arch/sparc/prom/console.c | 3 + trunk/arch/sparc/prom/init.c | 12 + trunk/arch/sparc/prom/memory.c | 14 + trunk/arch/sparc/prom/ranges.c | 1 + trunk/arch/sparc/prom/sun4prom.c | 161 ++ trunk/arch/sparc64/Kconfig | 23 - trunk/arch/sparc64/Makefile | 2 +- trunk/arch/sparc64/kernel/Makefile | 9 +- trunk/arch/sparc64/kernel/auxio.c | 2 +- trunk/arch/sparc64/kernel/central.c | 617 +++++--- trunk/arch/sparc64/kernel/chmc.c | 817 +++------- trunk/arch/sparc64/kernel/cpu.c | 208 ++- trunk/arch/sparc64/kernel/ds.c | 4 +- trunk/arch/sparc64/kernel/ebus.c | 299 +++- trunk/arch/sparc64/kernel/entry.h | 7 +- trunk/arch/sparc64/kernel/head.S | 1 - trunk/arch/sparc64/kernel/hvapi.c | 3 + trunk/arch/sparc64/kernel/hvcalls.S | 354 +++-- trunk/arch/sparc64/kernel/irq.c | 1 + trunk/arch/sparc64/kernel/of_device.c | 62 +- trunk/arch/sparc64/kernel/pci.c | 172 ++- trunk/arch/sparc64/kernel/pci_common.c | 8 +- trunk/arch/sparc64/kernel/pci_fire.c | 254 ++-- trunk/arch/sparc64/kernel/pci_impl.h | 27 +- trunk/arch/sparc64/kernel/pci_msi.c | 18 +- trunk/arch/sparc64/kernel/pci_psycho.c | 750 +++++++-- trunk/arch/sparc64/kernel/pci_sabre.c | 507 +++++-- trunk/arch/sparc64/kernel/pci_schizo.c | 368 +++-- trunk/arch/sparc64/kernel/pci_sun4v.c | 197 ++- trunk/arch/sparc64/kernel/pci_sun4v_asm.S | 99 +- trunk/arch/sparc64/kernel/power.c | 55 +- trunk/arch/sparc64/kernel/process.c | 35 + trunk/arch/sparc64/kernel/prom.c | 91 +- trunk/arch/sparc64/kernel/psycho_common.c | 470 ------ trunk/arch/sparc64/kernel/psycho_common.h | 48 - trunk/arch/sparc64/kernel/ptrace.c | 38 +- trunk/arch/sparc64/kernel/reboot.c | 53 - trunk/arch/sparc64/kernel/sbus.c | 166 +- trunk/arch/sparc64/kernel/sparc64_ksyms.c | 23 +- trunk/arch/sparc64/kernel/sstate.c | 67 +- trunk/arch/sparc64/kernel/starfire.c | 5 + trunk/arch/sparc64/kernel/sys_sparc32.c | 8 + trunk/arch/sparc64/kernel/syscalls.S | 20 +- trunk/arch/sparc64/kernel/systbls.S | 2 +- trunk/arch/sparc64/kernel/time.c | 1187 +++++++++++++-- trunk/arch/sparc64/kernel/traps.c | 69 +- trunk/arch/sparc64/kernel/vio.c | 8 +- trunk/arch/sparc64/kernel/visemul.c | 12 +- trunk/arch/sparc64/mm/fault.c | 37 + trunk/arch/sparc64/mm/init.c | 84 +- trunk/arch/sparc64/mm/init.h | 49 - trunk/arch/sparc64/mm/tlb.c | 2 +- trunk/arch/x86/Kconfig | 90 +- trunk/arch/x86/Kconfig.cpu | 64 +- trunk/arch/x86/Kconfig.debug | 13 - trunk/arch/x86/Makefile_32.cpu | 5 - trunk/arch/x86/boot/Makefile | 5 +- trunk/arch/x86/boot/compressed/Makefile | 8 +- trunk/arch/x86/boot/edd.c | 7 +- trunk/arch/x86/boot/video-vesa.c | 2 +- trunk/arch/x86/configs/i386_defconfig | 1 + trunk/arch/x86/configs/x86_64_defconfig | 1 + trunk/arch/x86/ia32/ia32_signal.c | 68 +- trunk/arch/x86/kernel/Makefile | 10 +- trunk/arch/x86/kernel/acpi/boot.c | 12 +- trunk/arch/x86/kernel/amd_iommu_init.c | 4 +- trunk/arch/x86/kernel/cpu/common.c | 11 + trunk/arch/x86/kernel/doublefault_32.c | 2 +- trunk/arch/x86/kernel/early-quirks.c | 48 - trunk/arch/x86/kernel/early_printk.c | 748 +-------- trunk/arch/x86/kernel/i387.c | 14 - trunk/arch/x86/kernel/io_apic_64.c | 4 +- trunk/arch/x86/kernel/ldt.c | 9 +- trunk/arch/x86/kernel/microcode.c | 853 +++++++++++ trunk/arch/x86/kernel/microcode_amd.c | 435 ------ trunk/arch/x86/kernel/microcode_core.c | 508 ------- trunk/arch/x86/kernel/microcode_intel.c | 480 ------ trunk/arch/x86/kernel/paravirt-spinlocks.c | 37 - trunk/arch/x86/kernel/paravirt.c | 27 +- trunk/arch/x86/kernel/process_32.c | 39 +- trunk/arch/x86/kernel/process_64.c | 26 +- trunk/arch/x86/kernel/ptrace.c | 44 +- trunk/arch/x86/kernel/setup.c | 196 +-- trunk/arch/x86/kernel/signal_32.c | 222 ++- trunk/arch/x86/kernel/signal_64.c | 207 +-- trunk/arch/x86/kernel/smp.c | 6 +- trunk/arch/x86/kernel/smpboot.c | 77 +- trunk/arch/x86/kernel/tlb_32.c | 8 - trunk/arch/x86/kernel/traps_32.c | 4 +- trunk/arch/x86/kernel/traps_64.c | 2 +- trunk/arch/x86/kernel/vmlinux_64.lds.S | 2 +- trunk/arch/x86/kernel/xsave.c | 33 +- trunk/arch/x86/mm/fault.c | 14 +- trunk/arch/x86/mm/init_32.c | 3 - trunk/arch/x86/mm/init_64.c | 3 - trunk/arch/x86/mm/ioremap.c | 35 +- trunk/arch/x86/xen/Kconfig | 12 +- trunk/arch/x86/xen/Makefile | 12 +- trunk/arch/x86/xen/debugfs.c | 123 -- trunk/arch/x86/xen/debugfs.h | 10 - trunk/arch/x86/xen/enlighten.c | 252 ++- trunk/arch/x86/xen/irq.c | 143 -- trunk/arch/x86/xen/mmu.c | 314 +--- trunk/arch/x86/xen/mmu.h | 3 + trunk/arch/x86/xen/multicalls.c | 115 +- trunk/arch/x86/xen/smp.c | 245 ++- trunk/arch/x86/xen/spinlock.c | 428 ------ trunk/arch/x86/xen/time.c | 12 +- trunk/arch/x86/xen/xen-asm_32.S | 2 +- trunk/arch/x86/xen/xen-asm_64.S | 22 +- trunk/arch/x86/xen/xen-ops.h | 8 - trunk/drivers/acpi/glue.c | 3 +- trunk/drivers/ata/Kconfig | 1 + trunk/drivers/atm/fore200e.c | 410 ++--- trunk/drivers/atm/fore200e.h | 7 +- trunk/drivers/block/sunvdc.c | 4 +- trunk/drivers/block/xen-blkfront.c | 2 +- trunk/drivers/char/hvc_xen.c | 6 +- trunk/drivers/char/hw_random/n2-drv.c | 2 +- trunk/drivers/char/rtc.c | 30 +- trunk/drivers/hwmon/Kconfig | 7 - trunk/drivers/hwmon/Makefile | 1 - trunk/drivers/hwmon/ultra45_env.c | 320 ---- trunk/drivers/input/misc/sparcspkr.c | 4 +- trunk/drivers/input/serio/i8042-sparcio.h | 2 +- trunk/drivers/input/xen-kbdfront.c | 4 +- trunk/drivers/leds/Kconfig | 8 - trunk/drivers/leds/Makefile | 1 - trunk/drivers/leds/leds-sunfire.c | 273 ---- trunk/drivers/mmc/Kconfig | 9 +- trunk/drivers/mmc/card/Kconfig | 3 +- trunk/drivers/mmc/card/block.c | 46 +- trunk/drivers/mmc/card/queue.c | 23 +- trunk/drivers/mmc/core/mmc_ops.c | 8 +- trunk/drivers/mmc/core/sdio.c | 52 +- trunk/drivers/mmc/core/sdio_irq.c | 16 +- trunk/drivers/mmc/host/Kconfig | 30 +- trunk/drivers/mmc/host/atmel-mci-regs.h | 6 +- trunk/drivers/mmc/host/atmel-mci.c | 1352 +++++------------ trunk/drivers/mmc/host/mmc_spi.c | 32 +- trunk/drivers/mmc/host/sdhci-pci.c | 3 +- trunk/drivers/mmc/host/sdhci.c | 46 +- trunk/drivers/mmc/host/sdhci.h | 2 - trunk/drivers/mtd/maps/sun_uflash.c | 75 +- trunk/drivers/net/e1000/e1000_main.c | 5 - trunk/drivers/net/myri_sbus.c | 196 +-- trunk/drivers/net/myri_sbus.h | 2 +- trunk/drivers/net/niu.c | 2 +- trunk/drivers/net/smc911x.c | 3 - trunk/drivers/net/sunbmac.c | 204 +-- trunk/drivers/net/sunbmac.h | 4 +- trunk/drivers/net/sunhme.c | 322 ++-- trunk/drivers/net/sunhme.h | 7 +- trunk/drivers/net/sunlance.c | 180 ++- trunk/drivers/net/sunqe.c | 162 +- trunk/drivers/net/sunqe.h | 4 +- trunk/drivers/net/sunvnet.c | 4 +- trunk/drivers/net/xen-netfront.c | 6 +- trunk/drivers/parport/parport_sunbpp.c | 49 +- trunk/drivers/power/Kconfig | 2 +- trunk/drivers/rtc/Kconfig | 32 +- trunk/drivers/rtc/Makefile | 3 - trunk/drivers/rtc/rtc-bq4802.c | 230 --- trunk/drivers/rtc/rtc-cmos.c | 5 +- trunk/drivers/rtc/rtc-m48t59.c | 68 +- trunk/drivers/rtc/rtc-starfire.c | 120 -- trunk/drivers/rtc/rtc-sun4v.c | 153 -- trunk/drivers/sbus/Makefile | 4 + trunk/drivers/sbus/char/Kconfig | 29 +- trunk/drivers/sbus/char/Makefile | 6 + trunk/drivers/sbus/char/bbc_envctrl.c | 121 +- trunk/drivers/sbus/char/bbc_i2c.c | 267 ++-- trunk/drivers/sbus/char/bbc_i2c.h | 75 +- trunk/drivers/sbus/char/bpp.c | 1055 +++++++++++++ trunk/drivers/sbus/char/cpwatchdog.c | 858 +++++++++++ trunk/drivers/sbus/char/display7seg.c | 251 ++- trunk/drivers/sbus/char/envctrl.c | 147 +- trunk/drivers/sbus/char/flash.c | 130 +- .../riowd.c => sbus/char/riowatchdog.c} | 236 +-- trunk/drivers/sbus/char/rtc.c | 275 ++++ trunk/drivers/sbus/char/uctrl.c | 216 ++- trunk/drivers/sbus/char/vfc.h | 171 +++ trunk/drivers/sbus/char/vfc_dev.c | 736 +++++++++ trunk/drivers/sbus/char/vfc_i2c.c | 335 ++++ trunk/drivers/sbus/char/vfc_i2c.h | 44 + trunk/drivers/sbus/dvma.c | 136 ++ trunk/drivers/sbus/sbus.c | 316 ++++ trunk/drivers/scsi/esp_scsi.h | 3 +- trunk/drivers/scsi/qlogicpti.c | 146 +- trunk/drivers/scsi/qlogicpti.h | 2 +- trunk/drivers/scsi/sun_esp.c | 267 ++-- trunk/drivers/serial/sunhv.c | 2 +- trunk/drivers/serial/sunsab.c | 2 +- trunk/drivers/serial/sunsu.c | 2 +- trunk/drivers/serial/sunzilog.c | 2 +- trunk/drivers/usb/host/ehci.h | 138 +- trunk/drivers/video/Kconfig | 2 + trunk/drivers/video/bw2.c | 2 +- trunk/drivers/video/cg14.c | 2 +- trunk/drivers/video/cg3.c | 2 +- trunk/drivers/video/cg6.c | 38 +- trunk/drivers/video/console/Kconfig | 16 + trunk/drivers/video/ffb.c | 2 +- trunk/drivers/video/leo.c | 96 +- trunk/drivers/video/p9100.c | 2 +- trunk/drivers/video/tcx.c | 2 +- trunk/drivers/video/xen-fbfront.c | 4 +- trunk/drivers/watchdog/Kconfig | 43 - trunk/drivers/watchdog/Makefile | 7 - trunk/drivers/watchdog/at91sam9_wdt.c | 328 ---- trunk/drivers/watchdog/cpwd.c | 695 --------- trunk/drivers/watchdog/it87_wdt.c | 725 --------- trunk/drivers/watchdog/omap_wdt.c | 337 ++-- trunk/drivers/watchdog/omap_wdt.h | 28 +- trunk/drivers/watchdog/orion5x_wdt.c | 245 --- trunk/drivers/watchdog/w83697ug_wdt.c | 392 ----- trunk/drivers/xen/Makefile | 1 - trunk/drivers/xen/balloon.c | 175 ++- trunk/drivers/xen/cpu_hotplug.c | 90 -- trunk/drivers/xen/events.c | 40 +- trunk/drivers/xen/grant-table.c | 2 +- trunk/drivers/xen/xenbus/xenbus_probe.c | 8 +- trunk/fs/cifs/misc.c | 2 - trunk/fs/ioctl.c | 4 - trunk/include/asm-generic/siginfo.h | 2 - trunk/include/asm-parisc/siginfo.h | 5 + trunk/include/asm-x86/bios_ebda.h | 17 - trunk/include/asm-x86/boot.h | 2 + trunk/include/asm-x86/desc.h | 15 +- trunk/include/asm-x86/microcode.h | 47 - trunk/include/asm-x86/mmzone_64.h | 3 +- trunk/include/asm-x86/page_32.h | 5 - trunk/include/asm-x86/paravirt.h | 20 - trunk/include/asm-x86/processor.h | 35 + trunk/include/asm-x86/ptrace.h | 6 +- trunk/include/asm-x86/smp.h | 34 +- trunk/include/asm-x86/spinlock.h | 67 +- trunk/include/asm-x86/tlbflush.h | 10 - trunk/include/asm-x86/traps.h | 12 - trunk/include/asm-x86/xen/hypervisor.h | 14 +- trunk/include/linux/elf.h | 1 - trunk/include/linux/kernel.h | 2 +- trunk/include/linux/key.h | 1 - trunk/include/linux/mm.h | 13 +- trunk/include/linux/mm_types.h | 10 +- trunk/include/linux/mmc/host.h | 2 +- trunk/include/linux/mmdebug.h | 18 - trunk/include/linux/rtc/m48t59.h | 47 +- trunk/include/linux/sched.h | 6 +- trunk/include/linux/usb/ehci_def.h | 160 -- trunk/include/sound/core.h | 3 + trunk/include/sound/memalloc.h | 2 + trunk/include/xen/balloon.h | 61 + trunk/include/xen/events.h | 2 - trunk/kernel/sysctl.c | 8 +- trunk/lib/Kconfig.debug | 9 - trunk/lib/cmdline.c | 2 +- trunk/mm/vmalloc.c | 7 - trunk/net/ipv4/ip_gre.c | 2 +- trunk/net/netfilter/ipvs/Kconfig | 4 +- trunk/scripts/Kbuild.include | 4 +- trunk/sound/core/memalloc.c | 48 +- trunk/sound/sparc/amd7930.c | 85 +- trunk/sound/sparc/cs4231.c | 199 ++- trunk/sound/sparc/dbri.c | 89 +- 394 files changed, 18276 insertions(+), 17336 deletions(-) create mode 100644 trunk/Documentation/sparc/sbus_drivers.txt delete mode 100644 trunk/arch/avr32/oprofile/backtrace.c create mode 100644 trunk/arch/sparc/include/asm/bpp.h create mode 100644 trunk/arch/sparc/include/asm/dma_32.h create mode 100644 trunk/arch/sparc/include/asm/dma_64.h create mode 100644 trunk/arch/sparc/include/asm/ebus.h create mode 100644 trunk/arch/sparc/include/asm/ebus_32.h create mode 100644 trunk/arch/sparc/include/asm/ebus_64.h delete mode 100644 trunk/arch/sparc/include/asm/ebus_dma.h delete mode 100644 trunk/arch/sparc/include/asm/gpio.h delete mode 100644 trunk/arch/sparc/include/asm/memctrl.h create mode 100644 trunk/arch/sparc/include/asm/mostek.h create mode 100644 trunk/arch/sparc/include/asm/mostek_32.h create mode 100644 trunk/arch/sparc/include/asm/mostek_64.h create mode 100644 trunk/arch/sparc/include/asm/reboot.h create mode 100644 trunk/arch/sparc/include/asm/rtc.h create mode 100644 trunk/arch/sparc/include/asm/sbus.h create mode 100644 trunk/arch/sparc/include/asm/sbus_32.h create mode 100644 trunk/arch/sparc/include/asm/sbus_64.h create mode 100644 trunk/arch/sparc/include/asm/sstate.h create mode 100644 trunk/arch/sparc/include/asm/sun4paddr.h create mode 100644 trunk/arch/sparc/include/asm/sun4prom.h create mode 100644 trunk/arch/sparc/include/asm/vfc_ioctls.h delete mode 100644 trunk/arch/sparc/kernel/dma.c delete mode 100644 trunk/arch/sparc/kernel/dma.h create mode 100644 trunk/arch/sparc/kernel/ebus.c create mode 100644 trunk/arch/sparc/kernel/sun4setup.c create mode 100644 trunk/arch/sparc/mm/nosrmmu.c create mode 100644 trunk/arch/sparc/prom/sun4prom.c delete mode 100644 trunk/arch/sparc64/kernel/psycho_common.c delete mode 100644 trunk/arch/sparc64/kernel/psycho_common.h delete mode 100644 trunk/arch/sparc64/kernel/reboot.c delete mode 100644 trunk/arch/sparc64/mm/init.h create mode 100644 trunk/arch/x86/kernel/microcode.c delete mode 100644 trunk/arch/x86/kernel/microcode_amd.c delete mode 100644 trunk/arch/x86/kernel/microcode_core.c delete mode 100644 trunk/arch/x86/kernel/microcode_intel.c delete mode 100644 trunk/arch/x86/kernel/paravirt-spinlocks.c delete mode 100644 trunk/arch/x86/xen/debugfs.c delete mode 100644 trunk/arch/x86/xen/debugfs.h delete mode 100644 trunk/arch/x86/xen/irq.c delete mode 100644 trunk/arch/x86/xen/spinlock.c delete mode 100644 trunk/drivers/hwmon/ultra45_env.c delete mode 100644 trunk/drivers/leds/leds-sunfire.c delete mode 100644 trunk/drivers/rtc/rtc-bq4802.c delete mode 100644 trunk/drivers/rtc/rtc-starfire.c delete mode 100644 trunk/drivers/rtc/rtc-sun4v.c create mode 100644 trunk/drivers/sbus/char/bpp.c create mode 100644 trunk/drivers/sbus/char/cpwatchdog.c rename trunk/drivers/{watchdog/riowd.c => sbus/char/riowatchdog.c} (51%) create mode 100644 trunk/drivers/sbus/char/rtc.c create mode 100644 trunk/drivers/sbus/char/vfc.h create mode 100644 trunk/drivers/sbus/char/vfc_dev.c create mode 100644 trunk/drivers/sbus/char/vfc_i2c.c create mode 100644 trunk/drivers/sbus/char/vfc_i2c.h create mode 100644 trunk/drivers/sbus/dvma.c create mode 100644 trunk/drivers/sbus/sbus.c delete mode 100644 trunk/drivers/watchdog/at91sam9_wdt.c delete mode 100644 trunk/drivers/watchdog/cpwd.c delete mode 100644 trunk/drivers/watchdog/it87_wdt.c delete mode 100644 trunk/drivers/watchdog/orion5x_wdt.c delete mode 100644 trunk/drivers/watchdog/w83697ug_wdt.c delete mode 100644 trunk/drivers/xen/cpu_hotplug.c delete mode 100644 trunk/include/asm-x86/microcode.h delete mode 100644 trunk/include/linux/mmdebug.h delete mode 100644 trunk/include/linux/usb/ehci_def.h create mode 100644 trunk/include/xen/balloon.h diff --git a/[refs] b/[refs] index bee632320a8f..480563b528c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e4c5f4c64902870552d4c15325d9e7d1a39884d +refs/heads/master: 14835a3325c1f84c3ae6eaf81102a3917e84809e diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 2443f5bb4364..25efbaf1f59b 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -658,12 +658,11 @@ and is between 256 and 4096 characters. It is defined in the file earlyprintk= [X86-32,X86-64,SH,BLACKFIN] earlyprintk=vga earlyprintk=serial[,ttySn[,baudrate]] - earlyprintk=dbgp Append ",keep" to not disable it when the real console takes over. - Only vga or serial or usb debug port at a time. + Only vga or serial at a time, not both. Currently only ttyS0 and ttyS1 are supported. @@ -1232,29 +1231,6 @@ and is between 256 and 4096 characters. It is defined in the file or memmap=0x10000$0x18690000 - memory_corruption_check=0/1 [X86] - Some BIOSes seem to corrupt the first 64k of - memory when doing things like suspend/resume. - Setting this option will scan the memory - looking for corruption. Enabling this will - both detect corruption and prevent the kernel - from using the memory being corrupted. - However, its intended as a diagnostic tool; if - repeatable BIOS-originated corruption always - affects the same memory, you can use memmap= - to prevent the kernel from using that memory. - - memory_corruption_check_size=size [X86] - By default it checks for corruption in the low - 64k, making this memory unavailable for normal - use. Use this parameter to scan for - corruption in more or less memory. - - memory_corruption_check_period=seconds [X86] - By default it checks for corruption every 60 - seconds. Use this parameter to check at some - other rate. 0 disables periodic checking. - memtest= [KNL,X86] Enable memtest Format: range: 0,4 : pattern number diff --git a/trunk/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/trunk/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 87a7c07ab658..b54cb5048dfa 100644 --- a/trunk/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/trunk/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl @@ -5073,7 +5073,8 @@ struct _snd_pcm_runtime { with SNDRV_DMA_TYPE_CONTINUOUS type and the snd_dma_continuous_data(GFP_KERNEL) device pointer, where GFP_KERNEL is the kernel allocation flag to - use. + use. For the SBUS, SNDRV_DMA_TYPE_SBUS and + snd_dma_sbus_data(sbus_dev) are used instead. For the PCI scatter-gather buffers, use SNDRV_DMA_TYPE_DEV_SG with snd_dma_pci_data(pci) diff --git a/trunk/Documentation/sparc/sbus_drivers.txt b/trunk/Documentation/sparc/sbus_drivers.txt new file mode 100644 index 000000000000..eb1e28ad8822 --- /dev/null +++ b/trunk/Documentation/sparc/sbus_drivers.txt @@ -0,0 +1,309 @@ + + Writing SBUS Drivers + + David S. Miller (davem@redhat.com) + + The SBUS driver interfaces of the Linux kernel have been +revamped completely for 2.4.x for several reasons. Foremost were +performance and complexity concerns. This document details these +new interfaces and how they are used to write an SBUS device driver. + + SBUS drivers need to include to get access +to functions and structures described here. + + Probing and Detection + + Each SBUS device inside the machine is described by a +structure called "struct sbus_dev". Likewise, each SBUS bus +found in the system is described by a "struct sbus_bus". For +each SBUS bus, the devices underneath are hung in a tree-like +fashion off of the bus structure. + + The SBUS device structure contains enough information +for you to implement your device probing algorithm and obtain +the bits necessary to run your device. The most commonly +used members of this structure, and their typical usage, +will be detailed below. + + Here is a piece of skeleton code for performing a device +probe in an SBUS driver under Linux: + + static int __devinit mydevice_probe_one(struct sbus_dev *sdev) + { + struct mysdevice *mp = kzalloc(sizeof(*mp), GFP_KERNEL); + + if (!mp) + return -ENODEV; + + ... + dev_set_drvdata(&sdev->ofdev.dev, mp); + return 0; + ... + } + + static int __devinit mydevice_probe(struct of_device *dev, + const struct of_device_id *match) + { + struct sbus_dev *sdev = to_sbus_device(&dev->dev); + + return mydevice_probe_one(sdev); + } + + static int __devexit mydevice_remove(struct of_device *dev) + { + struct sbus_dev *sdev = to_sbus_device(&dev->dev); + struct mydevice *mp = dev_get_drvdata(&dev->dev); + + return mydevice_remove_one(sdev, mp); + } + + static struct of_device_id mydevice_match[] = { + { + .name = "mydevice", + }, + {}, + }; + + MODULE_DEVICE_TABLE(of, mydevice_match); + + static struct of_platform_driver mydevice_driver = { + .match_table = mydevice_match, + .probe = mydevice_probe, + .remove = __devexit_p(mydevice_remove), + .driver = { + .name = "mydevice", + }, + }; + + static int __init mydevice_init(void) + { + return of_register_driver(&mydevice_driver, &sbus_bus_type); + } + + static void __exit mydevice_exit(void) + { + of_unregister_driver(&mydevice_driver); + } + + module_init(mydevice_init); + module_exit(mydevice_exit); + + The mydevice_match table is a series of entries which +describes what SBUS devices your driver is meant for. In the +simplest case you specify a string for the 'name' field. Every +SBUS device with a 'name' property matching your string will +be passed one-by-one to your .probe method. + + You should store away your device private state structure +pointer in the drvdata area so that you can retrieve it later on +in your .remove method. + + Any memory allocated, registers mapped, IRQs registered, +etc. must be undone by your .remove method so that all resources +of your device are released by the time it returns. + + You should _NOT_ use the for_each_sbus(), for_each_sbusdev(), +and for_all_sbusdev() interfaces. They are deprecated, will be +removed, and no new driver should reference them ever. + + Mapping and Accessing I/O Registers + + Each SBUS device structure contains an array of descriptors +which describe each register set. We abuse struct resource for that. +They each correspond to the "reg" properties provided by the OBP firmware. + + Before you can access your device's registers you must map +them. And later if you wish to shutdown your driver (for module +unload or similar) you must unmap them. You must treat them as +a resource, which you allocate (map) before using and free up +(unmap) when you are done with it. + + The mapping information is stored in an opaque value +typed as an "unsigned long". This is the type of the return value +of the mapping interface, and the arguments to the unmapping +interface. Let's say you want to map the first set of registers. +Perhaps part of your driver software state structure looks like: + + struct mydevice { + unsigned long control_regs; + ... + struct sbus_dev *sdev; + ... + }; + + At initialization time you then use the sbus_ioremap +interface to map in your registers, like so: + + static void init_one_mydevice(struct sbus_dev *sdev) + { + struct mydevice *mp; + ... + + mp->control_regs = sbus_ioremap(&sdev->resource[0], 0, + CONTROL_REGS_SIZE, "mydevice regs"); + if (!mp->control_regs) { + /* Failure, cleanup and return. */ + } + } + + Second argument to sbus_ioremap is an offset for +cranky devices with broken OBP PROM. The sbus_ioremap uses only +a start address and flags from the resource structure. +Therefore it is possible to use the same resource to map +several sets of registers or even to fabricate a resource +structure if driver gets physical address from some private place. +This practice is discouraged though. Use whatever OBP PROM +provided to you. + + And here is how you might unmap these registers later at +driver shutdown or module unload time, using the sbus_iounmap +interface: + + static void mydevice_unmap_regs(struct mydevice *mp) + { + sbus_iounmap(mp->control_regs, CONTROL_REGS_SIZE); + } + + Finally, to actually access your registers there are 6 +interface routines at your disposal. Accesses are byte (8 bit), +word (16 bit), or longword (32 bit) sized. Here they are: + + u8 sbus_readb(unsigned long reg) /* read byte */ + u16 sbus_readw(unsigned long reg) /* read word */ + u32 sbus_readl(unsigned long reg) /* read longword */ + void sbus_writeb(u8 value, unsigned long reg) /* write byte */ + void sbus_writew(u16 value, unsigned long reg) /* write word */ + void sbus_writel(u32 value, unsigned long reg) /* write longword */ + + So, let's say your device has a control register of some sort +at offset zero. The following might implement resetting your device: + + #define CONTROL 0x00UL + + #define CONTROL_RESET 0x00000001 /* Reset hardware */ + + static void mydevice_reset(struct mydevice *mp) + { + sbus_writel(CONTROL_RESET, mp->regs + CONTROL); + } + + Or perhaps there is a data port register at an offset of +16 bytes which allows you to read bytes from a fifo in the device: + + #define DATA 0x10UL + + static u8 mydevice_get_byte(struct mydevice *mp) + { + return sbus_readb(mp->regs + DATA); + } + + It's pretty straightforward, and clueful readers may have +noticed that these interfaces mimick the PCI interfaces of the +Linux kernel. This was not by accident. + + WARNING: + + DO NOT try to treat these opaque register mapping + values as a memory mapped pointer to some structure + which you can dereference. + + It may be memory mapped, it may not be. In fact it + could be a physical address, or it could be the time + of day xor'd with 0xdeadbeef. :-) + + Whatever it is, it's an implementation detail. The + interface was done this way to shield the driver + author from such complexities. + + Doing DVMA + + SBUS devices can perform DMA transactions in a way similar +to PCI but dissimilar to ISA, e.g. DMA masters supply address. +In contrast to PCI, however, that address (a bus address) is +translated by IOMMU before a memory access is performed and therefore +it is virtual. Sun calls this procedure DVMA. + + Linux supports two styles of using SBUS DVMA: "consistent memory" +and "streaming DVMA". CPU view of consistent memory chunk is, well, +consistent with a view of a device. Think of it as an uncached memory. +Typically this way of doing DVMA is not very fast and drivers use it +mostly for control blocks or queues. On some CPUs we cannot flush or +invalidate individual pages or cache lines and doing explicit flushing +over ever little byte in every control block would be wasteful. + +Streaming DVMA is a preferred way to transfer large amounts of data. +This process works in the following way: +1. a CPU stops accessing a certain part of memory, + flushes its caches covering that memory; +2. a device does DVMA accesses, then posts an interrupt; +3. CPU invalidates its caches and starts to access the memory. + +A single streaming DVMA operation can touch several discontiguous +regions of a virtual bus address space. This is called a scatter-gather +DVMA. + +[TBD: Why do not we neither Solaris attempt to map disjoint pages +into a single virtual chunk with the help of IOMMU, so that non SG +DVMA masters would do SG? It'd be very helpful for RAID.] + + In order to perform a consistent DVMA a driver does something +like the following: + + char *mem; /* Address in the CPU space */ + u32 busa; /* Address in the SBus space */ + + mem = (char *) sbus_alloc_consistent(sdev, MYMEMSIZE, &busa); + + Then mem is used when CPU accesses this memory and u32 +is fed to the device so that it can do DVMA. This is typically +done with an sbus_writel() into some device register. + + Do not forget to free the DVMA resources once you are done: + + sbus_free_consistent(sdev, MYMEMSIZE, mem, busa); + + Streaming DVMA is more interesting. First you allocate some +memory suitable for it or pin down some user pages. Then it all works +like this: + + char *mem = argumen1; + unsigned int size = argument2; + u32 busa; /* Address in the SBus space */ + + *mem = 1; /* CPU can access */ + busa = sbus_map_single(sdev, mem, size); + if (busa == 0) ....... + + /* Tell the device to use busa here */ + /* CPU cannot access the memory without sbus_dma_sync_single() */ + + sbus_unmap_single(sdev, busa, size); + if (*mem == 0) .... /* CPU can access again */ + + It is possible to retain mappings and ask the device to +access data again and again without calling sbus_unmap_single. +However, CPU caches must be invalidated with sbus_dma_sync_single +before such access. + +[TBD but what about writeback caches here... do we have any?] + + There is an equivalent set of functions doing the same thing +only with several memory segments at once for devices capable of +scatter-gather transfers. Use the Source, Luke. + + Examples + + drivers/net/sunhme.c + This is a complicated driver which illustrates many concepts +discussed above and plus it handles both PCI and SBUS boards. + + drivers/scsi/esp.c + Check it out for scatter-gather DVMA. + + drivers/sbus/char/bpp.c + A non-DVMA device. + + drivers/net/sunlance.c + Lance driver abuses consistent mappings for data transfer. +It is a nifty trick which we do not particularly recommend... +Just check it out and know that it's legal. diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 8bf72d378332..587f418ed00d 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -390,11 +390,6 @@ L: iommu@lists.linux-foundation.org T: git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git S: Supported -AMD MICROCODE UPDATE SUPPORT -P: Peter Oruba -M: peter.oruba@amd.com -S: Supported - AMS (Apple Motion Sensor) DRIVER P: Stelian Pop M: stelian@popies.net diff --git a/trunk/arch/arm/mach-orion5x/include/mach/orion5x.h b/trunk/arch/arm/mach-orion5x/include/mach/orion5x.h index 9f5ce1ce5840..e67c843baa02 100644 --- a/trunk/arch/arm/mach-orion5x/include/mach/orion5x.h +++ b/trunk/arch/arm/mach-orion5x/include/mach/orion5x.h @@ -157,11 +157,9 @@ #define CPU_CONF ORION5X_BRIDGE_REG(0x100) #define CPU_CTRL ORION5X_BRIDGE_REG(0x104) #define CPU_RESET_MASK ORION5X_BRIDGE_REG(0x108) -#define WDT_RESET 0x0002 #define CPU_SOFT_RESET ORION5X_BRIDGE_REG(0x10c) #define POWER_MNG_CTRL_REG ORION5X_BRIDGE_REG(0x11C) #define BRIDGE_CAUSE ORION5X_BRIDGE_REG(0x110) -#define WDT_INT_REQ 0x0008 #define BRIDGE_MASK ORION5X_BRIDGE_REG(0x114) #define BRIDGE_INT_TIMER0 0x0002 #define BRIDGE_INT_TIMER1 0x0004 diff --git a/trunk/arch/arm/plat-omap/devices.c b/trunk/arch/arm/plat-omap/devices.c index 97187fa0ae52..a716ecd1db27 100644 --- a/trunk/arch/arm/plat-omap/devices.c +++ b/trunk/arch/arm/plat-omap/devices.c @@ -441,8 +441,16 @@ static inline void omap_init_uwire(void) {} #if defined(CONFIG_OMAP_WATCHDOG) || defined(CONFIG_OMAP_WATCHDOG_MODULE) +#ifdef CONFIG_ARCH_OMAP24XX +#define OMAP_WDT_BASE 0x48022000 +#else +#define OMAP_WDT_BASE 0xfffeb000 +#endif + static struct resource wdt_resources[] = { { + .start = OMAP_WDT_BASE, + .end = OMAP_WDT_BASE + 0x4f, .flags = IORESOURCE_MEM, }, }; @@ -456,19 +464,6 @@ static struct platform_device omap_wdt_device = { static void omap_init_wdt(void) { - if (cpu_is_omap16xx()) - wdt_resources[0].start = 0xfffeb000; - else if (cpu_is_omap2420()) - wdt_resources[0].start = 0x48022000; /* WDT2 */ - else if (cpu_is_omap2430()) - wdt_resources[0].start = 0x49016000; /* WDT2 */ - else if (cpu_is_omap343x()) - wdt_resources[0].start = 0x48314000; /* WDT2 */ - else - return; - - wdt_resources[0].end = wdt_resources[0].start + 0x4f; - (void) platform_device_register(&omap_wdt_device); } #else diff --git a/trunk/arch/avr32/boards/atngw100/setup.c b/trunk/arch/avr32/boards/atngw100/setup.c index 6c54580a66df..b8286f1ce854 100644 --- a/trunk/arch/avr32/boards/atngw100/setup.c +++ b/trunk/arch/avr32/boards/atngw100/setup.c @@ -9,7 +9,6 @@ */ #include #include -#include #include #include #include @@ -54,11 +53,8 @@ static struct spi_board_info spi0_board_info[] __initdata = { }; static struct mci_platform_data __initdata mci0_data = { - .slot[0] = { - .bus_width = 4, - .detect_pin = GPIO_PIN_PC(25), - .wp_pin = GPIO_PIN_PE(0), - }, + .detect_pin = GPIO_PIN_PC(25), + .wp_pin = GPIO_PIN_PE(0), }; /* @@ -194,7 +190,7 @@ static int __init atngw100_init(void) * PB28/EXTINT3 doesn't; it should be SMBALERT# (for PMBus), * but it's not available off-board. */ - at32_select_periph(GPIO_PIOB_BASE, 1 << 28, 0, AT32_GPIOF_PULLUP); + at32_select_periph(GPIO_PIN_PB(28), 0, AT32_GPIOF_PULLUP); at32_select_gpio(i2c_gpio_data.sda_pin, AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH); at32_select_gpio(i2c_gpio_data.scl_pin, @@ -208,15 +204,6 @@ postcore_initcall(atngw100_init); static int __init atngw100_arch_init(void) { - /* PB30 is the otherwise unused jumper on the mainboard, with an - * external pullup; the jumper grounds it. Use it however you - * like, including letting U-Boot or Linux tweak boot sequences. - */ - at32_select_gpio(GPIO_PIN_PB(30), 0); - gpio_request(GPIO_PIN_PB(30), "j15"); - gpio_direction_input(GPIO_PIN_PB(30)); - gpio_export(GPIO_PIN_PB(30), false); - /* set_irq_type() after the arch_initcall for EIC has run, and * before the I2C subsystem could try using this IRQ. */ diff --git a/trunk/arch/avr32/boards/atstk1000/atstk1002.c b/trunk/arch/avr32/boards/atstk1000/atstk1002.c index 29e5b51a7fd2..dfc3443e23aa 100644 --- a/trunk/arch/avr32/boards/atstk1000/atstk1002.c +++ b/trunk/arch/avr32/boards/atstk1000/atstk1002.c @@ -232,7 +232,7 @@ static void __init atstk1002_setup_extdac(void) goto err_set_clk; } - at32_select_periph(GPIO_PIOA_BASE, (1 << 30), GPIO_PERIPH_A, 0); + at32_select_periph(GPIO_PIN_PA(30), GPIO_PERIPH_A, 0); at73c213_data.dac_clk = gclk; err_set_clk: @@ -264,20 +264,16 @@ void __init setup_board(void) #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM -static struct mci_platform_data __initdata mci0_data = { - .slot[0] = { - .bus_width = 4, - /* MMC card detect requires MACB0 *NOT* be used */ #ifdef CONFIG_BOARD_ATSTK1002_SW6_CUSTOM - .detect_pin = GPIO_PIN_PC(14), /* gpio30/sdcd */ - .wp_pin = GPIO_PIN_PC(15), /* gpio31/sdwp */ +static struct mci_platform_data __initdata mci0_data = { + .detect_pin = GPIO_PIN_PC(14), /* gpio30/sdcd */ + .wp_pin = GPIO_PIN_PC(15), /* gpio31/sdwp */ +}; +#define MCI_PDATA &mci0_data #else - .detect_pin = -ENODEV, - .wp_pin = -ENODEV, +#define MCI_PDATA NULL #endif /* SW6 for sd{cd,wp} routing */ - }, -}; #endif /* SW2 for MMC signal routing */ @@ -330,14 +326,13 @@ static int __init atstk1002_init(void) at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM - at32_add_device_mci(0, &mci0_data); + at32_add_device_mci(0, MCI_PDATA); #endif #ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM set_hw_addr(at32_add_device_eth(1, ð_data[1])); #else at32_add_device_lcdc(0, &atstk1000_lcdc_data, - fbmem_start, fbmem_size, - ATMEL_LCDC_PRI_24BIT | ATMEL_LCDC_PRI_CONTROL); + fbmem_start, fbmem_size, 0); #endif at32_add_device_usba(0, NULL); #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM diff --git a/trunk/arch/avr32/boards/atstk1000/atstk1003.c b/trunk/arch/avr32/boards/atstk1000/atstk1003.c index be089d7f37eb..0cf664174c17 100644 --- a/trunk/arch/avr32/boards/atstk1000/atstk1003.c +++ b/trunk/arch/avr32/boards/atstk1000/atstk1003.c @@ -19,7 +19,6 @@ #include #include -#include #include #include @@ -67,16 +66,6 @@ static struct spi_board_info spi1_board_info[] __initdata = { { } }; #endif -#ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM -static struct mci_platform_data __initdata mci0_data = { - .slot[0] = { - .bus_width = 4, - .detect_pin = -ENODEV, - .wp_pin = -ENODEV, - }, -}; -#endif - #ifdef CONFIG_BOARD_ATSTK1000_EXTDAC static void __init atstk1003_setup_extdac(void) { @@ -95,7 +84,7 @@ static void __init atstk1003_setup_extdac(void) goto err_set_clk; } - at32_select_periph(GPIO_PIOA_BASE, (1 << 30), GPIO_PERIPH_A, 0); + at32_select_periph(GPIO_PIN_PA(30), GPIO_PERIPH_A, 0); at73c213_data.dac_clk = gclk; err_set_clk: @@ -165,7 +154,7 @@ static int __init atstk1003_init(void) at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM - at32_add_device_mci(0, &mci0_data); + at32_add_device_mci(0, NULL); #endif at32_add_device_usba(0, NULL); #ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM diff --git a/trunk/arch/avr32/boards/atstk1000/atstk1004.c b/trunk/arch/avr32/boards/atstk1000/atstk1004.c index 248ef237c167..50a5273e5916 100644 --- a/trunk/arch/avr32/boards/atstk1000/atstk1004.c +++ b/trunk/arch/avr32/boards/atstk1000/atstk1004.c @@ -21,7 +21,6 @@ #include