diff options
-rw-r--r-- | Documentation/cciss.txt | 3 | ||||
-rw-r--r-- | Documentation/email-clients.txt | 25 | ||||
-rw-r--r-- | Documentation/filesystems/vfat.txt | 32 | ||||
-rw-r--r-- | Documentation/io-mapping.txt | 82 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 10 | ||||
-rw-r--r-- | Documentation/sh/new-machine.txt | 4 | ||||
-rw-r--r-- | MAINTAINERS | 2 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | arch/arm/include/asm/memory.h | 12 | ||||
-rw-r--r-- | arch/arm/include/asm/system.h | 4 | ||||
-rw-r--r-- | arch/arm/kernel/elf.c | 6 | ||||
-rw-r--r-- | arch/arm/kernel/module.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-omap2/gpmc.c | 6 | ||||
-rw-r--r-- | arch/arm/mm/cache-xsc3l2.c | 4 | ||||
-rw-r--r-- | arch/arm/mm/mmu.c | 111 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7.S | 12 | ||||
-rw-r--r-- | arch/arm/plat-omap/clock.c | 20 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/mach/entry-macro.S | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/mach/irqs.h | 2 | ||||
-rw-r--r-- | arch/cris/Makefile | 87 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/.gitignore | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/compressed/head.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/compressed/misc.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/rescue/head.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/rescue/kimagerescue.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/boot/rescue/testrescue.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/drivers/axisflashmap.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/drivers/ds1302.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/drivers/gpio.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/drivers/i2c.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/drivers/sync_serial.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/asm-offsets.c | 47 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/crisksyms.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/debugport.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/dma.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/fasttimer.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/io_interface_mux.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/kgdb.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/time.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/mm/fault.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/mm/init.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/mm/tlb.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v10/vmlinux.lds.S | 118 | ||||
-rw-r--r-- | arch/cris/arch-v32/boot/compressed/head.S | 20 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/mach-a3/gpio.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/mach-a3/nandflash.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/mach-fs/nandflash.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/drivers/pci/bios.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/cache.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/crisksyms.c | 8 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/debugport.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/head.S | 22 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/kgdb.c | 8 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/kgdb_asm.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/pinmux.c | 8 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/ptrace.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/lib/nand_init.S | 10 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-a3/dma.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-a3/io.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/cpufreq.c | 6 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/dma.c | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/io.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/mach-fs/vcs_hook.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/mm/init.c | 4 | ||||
-rw-r--r-- | arch/cris/arch-v32/mm/tlb.c | 4 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/Kbuild (renamed from include/asm-cris/arch-v10/Kbuild) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/atomic.h (renamed from include/asm-cris/arch-v10/atomic.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/bitops.h (renamed from include/asm-cris/arch-v10/bitops.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/bug.h (renamed from include/asm-cris/arch-v10/bug.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/byteorder.h (renamed from include/asm-cris/arch-v10/byteorder.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/cache.h (renamed from include/asm-cris/arch-v10/cache.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/checksum.h (renamed from include/asm-cris/arch-v10/checksum.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/delay.h (renamed from include/asm-cris/arch-v10/delay.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/dma.h (renamed from include/asm-cris/arch-v10/dma.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/elf.h (renamed from include/asm-cris/arch-v10/elf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/io.h (renamed from include/asm-cris/arch-v10/io.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/io_interface_mux.h (renamed from include/asm-cris/arch-v10/io_interface_mux.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/irq.h (renamed from include/asm-cris/arch-v10/irq.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/memmap.h (renamed from include/asm-cris/arch-v10/memmap.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/mmu.h (renamed from include/asm-cris/arch-v10/mmu.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/offset.h (renamed from include/asm-cris/arch-v10/offset.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/page.h (renamed from include/asm-cris/arch-v10/page.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/pgtable.h (renamed from include/asm-cris/arch-v10/pgtable.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/processor.h (renamed from include/asm-cris/arch-v10/processor.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/ptrace.h (renamed from include/asm-cris/arch-v10/ptrace.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/sv_addr.agh (renamed from include/asm-cris/arch-v10/sv_addr.agh) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/sv_addr_ag.h (renamed from include/asm-cris/arch-v10/sv_addr_ag.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/svinto.h (renamed from include/asm-cris/arch-v10/svinto.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/system.h (renamed from include/asm-cris/arch-v10/system.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/thread_info.h (renamed from include/asm-cris/arch-v10/thread_info.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/timex.h (renamed from include/asm-cris/arch-v10/timex.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/tlb.h (renamed from include/asm-cris/arch-v10/tlb.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/uaccess.h (renamed from include/asm-cris/arch-v10/uaccess.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/unistd.h (renamed from include/asm-cris/arch-v10/unistd.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v10/arch/user.h (renamed from include/asm-cris/arch-v10/user.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/Kbuild (renamed from include/asm-cris/arch-v32/Kbuild) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/atomic.h (renamed from include/asm-cris/arch-v32/atomic.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/bitops.h (renamed from include/asm-cris/arch-v32/bitops.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/bug.h (renamed from include/asm-cris/arch-v32/bug.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/byteorder.h (renamed from include/asm-cris/arch-v32/byteorder.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/cache.h (renamed from include/asm-cris/arch-v32/cache.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/checksum.h (renamed from include/asm-cris/arch-v32/checksum.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/cryptocop.h (renamed from include/asm-cris/arch-v32/cryptocop.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/delay.h (renamed from include/asm-cris/arch-v32/delay.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/dma.h (renamed from include/asm-cris/arch-v32/dma.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/elf.h (renamed from include/asm-cris/arch-v32/elf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/Makefile (renamed from include/asm-cris/arch-v32/hwregs/Makefile) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h (renamed from include/asm-cris/arch-v32/hwregs/asm/intr_vect.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/ata_defs.h (renamed from include/asm-cris/arch-v32/hwregs/ata_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_core_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_dma_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h (renamed from include/asm-cris/arch-v32/hwregs/bif_slave_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/config_defs.h (renamed from include/asm-cris/arch-v32/hwregs/config_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h (renamed from include/asm-cris/arch-v32/hwregs/cpu_vect.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/dma.h (renamed from include/asm-cris/arch-v32/hwregs/dma.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/dma_defs.h (renamed from include/asm-cris/arch-v32/hwregs/dma_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/eth_defs.h (renamed from include/asm-cris/arch-v32/hwregs/eth_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h (renamed from include/asm-cris/arch-v32/hwregs/extmem_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/Makefile (renamed from include/asm-cris/arch-v32/hwregs/iop/Makefile) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h (renamed from include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h (renamed from include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h (renamed from include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h (renamed from include/asm-cris/arch-v32/hwregs/marb_bp_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/marb_defs.h (renamed from include/asm-cris/arch-v32/hwregs/marb_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h (renamed from include/asm-cris/arch-v32/hwregs/reg_rdwr.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h (renamed from include/asm-cris/arch-v32/hwregs/rt_trace_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/ser_defs.h (renamed from include/asm-cris/arch-v32/hwregs/ser_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/sser_defs.h (renamed from include/asm-cris/arch-v32/hwregs/sser_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/strcop.h (renamed from include/asm-cris/arch-v32/hwregs/strcop.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h (renamed from include/asm-cris/arch-v32/hwregs/strcop_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/hwregs/supp_reg.h (renamed from include/asm-cris/arch-v32/hwregs/supp_reg.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/intmem.h (renamed from include/asm-cris/arch-v32/intmem.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/io.h (renamed from include/asm-cris/arch-v32/io.h) | 4 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/irq.h (renamed from include/asm-cris/arch-v32/irq.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/memmap.h (renamed from include/asm-cris/arch-v32/memmap.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/mmu.h (renamed from include/asm-cris/arch-v32/mmu.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/offset.h (renamed from include/asm-cris/arch-v32/offset.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/page.h (renamed from include/asm-cris/arch-v32/page.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/pgtable.h (renamed from include/asm-cris/arch-v32/pgtable.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/processor.h (renamed from include/asm-cris/arch-v32/processor.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/ptrace.h (renamed from include/asm-cris/arch-v32/ptrace.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/spinlock.h (renamed from include/asm-cris/arch-v32/spinlock.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/system.h (renamed from include/asm-cris/arch-v32/system.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/thread_info.h (renamed from include/asm-cris/arch-v32/thread_info.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/timex.h (renamed from include/asm-cris/arch-v32/timex.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/tlb.h (renamed from include/asm-cris/arch-v32/tlb.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/uaccess.h (renamed from include/asm-cris/arch-v32/uaccess.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/unistd.h (renamed from include/asm-cris/arch-v32/unistd.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/arch/user.h (renamed from include/asm-cris/arch-v32/user.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/arbiter.h (renamed from include/asm-cris/arch-v32/mach-a3/arbiter.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/dma.h (renamed from include/asm-cris/arch-v32/mach-a3/dma.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h (renamed from include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/memmap.h (renamed from include/asm-cris/arch-v32/mach-a3/memmap.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/pinmux.h (renamed from include/asm-cris/arch-v32/mach-a3/pinmux.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-a3/mach/startup.inc (renamed from include/asm-cris/arch-v32/mach-a3/startup.inc) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/arbiter.h (renamed from include/asm-cris/arch-v32/mach-fs/arbiter.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h (renamed from include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/pinmux.h (renamed from include/asm-cris/arch-v32/mach-fs/pinmux.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/arch-v32/mach-fs/mach/startup.inc (renamed from include/asm-cris/arch-v32/mach-fs/startup.inc) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/Kbuild (renamed from include/asm-cris/Kbuild) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/atomic.h (renamed from include/asm-cris/atomic.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/auxvec.h (renamed from include/asm-cris/auxvec.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/axisflashmap.h (renamed from include/asm-cris/axisflashmap.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/bitops.h (renamed from include/asm-cris/bitops.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/bug.h (renamed from include/asm-cris/bug.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/bugs.h (renamed from include/asm-cris/bugs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/byteorder.h (renamed from include/asm-cris/byteorder.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/cache.h (renamed from include/asm-cris/cache.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/cacheflush.h (renamed from include/asm-cris/cacheflush.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/checksum.h (renamed from include/asm-cris/checksum.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/cputime.h (renamed from include/asm-cris/cputime.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/current.h (renamed from include/asm-cris/current.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/delay.h (renamed from include/asm-cris/delay.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/device.h (renamed from include/asm-cris/device.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/div64.h (renamed from include/asm-cris/div64.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/dma-mapping.h (renamed from include/asm-cris/dma-mapping.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/dma.h (renamed from include/asm-cris/dma.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/elf.h (renamed from include/asm-cris/elf.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/emergency-restart.h (renamed from include/asm-cris/emergency-restart.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/errno.h (renamed from include/asm-cris/errno.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/eshlibld.h (renamed from include/asm-cris/eshlibld.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/ethernet.h (renamed from include/asm-cris/ethernet.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/etraxgpio.h (renamed from include/asm-cris/etraxgpio.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/etraxi2c.h (renamed from include/asm-cris/etraxi2c.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/fasttimer.h (renamed from include/asm-cris/fasttimer.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/fb.h (renamed from include/asm-cris/fb.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/fcntl.h (renamed from include/asm-cris/fcntl.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/futex.h (renamed from include/asm-cris/futex.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/hardirq.h (renamed from include/asm-cris/hardirq.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/hw_irq.h (renamed from include/asm-cris/hw_irq.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/io.h (renamed from include/asm-cris/io.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/ioctl.h (renamed from include/asm-cris/ioctl.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/ioctls.h (renamed from include/asm-cris/ioctls.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/ipcbuf.h (renamed from include/asm-cris/ipcbuf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/irq.h (renamed from include/asm-cris/irq.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/irq_regs.h (renamed from include/asm-cris/irq_regs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/kdebug.h (renamed from include/asm-cris/kdebug.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/kmap_types.h (renamed from include/asm-cris/kmap_types.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/linkage.h (renamed from include/asm-cris/linkage.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/local.h (renamed from include/asm-cris/local.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/mman.h (renamed from include/asm-cris/mman.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/mmu.h (renamed from include/asm-cris/mmu.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/mmu_context.h (renamed from include/asm-cris/mmu_context.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/module.h (renamed from include/asm-cris/module.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/msgbuf.h (renamed from include/asm-cris/msgbuf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/mutex.h (renamed from include/asm-cris/mutex.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/page.h (renamed from include/asm-cris/page.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/param.h (renamed from include/asm-cris/param.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/pci.h (renamed from include/asm-cris/pci.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/percpu.h (renamed from include/asm-cris/percpu.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/pgalloc.h (renamed from include/asm-cris/pgalloc.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/pgtable.h (renamed from include/asm-cris/pgtable.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/poll.h (renamed from include/asm-cris/poll.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/posix_types.h (renamed from include/asm-cris/posix_types.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/processor.h (renamed from include/asm-cris/processor.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/ptrace.h (renamed from include/asm-cris/ptrace.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/resource.h (renamed from include/asm-cris/resource.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/rs485.h (renamed from include/asm-cris/rs485.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/rtc.h (renamed from include/asm-cris/rtc.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/scatterlist.h (renamed from include/asm-cris/scatterlist.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/sections.h (renamed from include/asm-cris/sections.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/segment.h (renamed from include/asm-cris/segment.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/sembuf.h (renamed from include/asm-cris/sembuf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/setup.h (renamed from include/asm-cris/setup.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/shmbuf.h (renamed from include/asm-cris/shmbuf.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/shmparam.h (renamed from include/asm-cris/shmparam.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/sigcontext.h (renamed from include/asm-cris/sigcontext.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/siginfo.h (renamed from include/asm-cris/siginfo.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/signal.h (renamed from include/asm-cris/signal.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/smp.h (renamed from include/asm-cris/smp.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/socket.h (renamed from include/asm-cris/socket.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/sockios.h (renamed from include/asm-cris/sockios.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/spinlock.h | 1 | ||||
-rw-r--r-- | arch/cris/include/asm/stat.h (renamed from include/asm-cris/stat.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/statfs.h (renamed from include/asm-cris/statfs.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/string.h (renamed from include/asm-cris/string.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/sync_serial.h (renamed from include/asm-cris/sync_serial.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/system.h (renamed from include/asm-cris/system.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/termbits.h (renamed from include/asm-cris/termbits.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/termios.h (renamed from include/asm-cris/termios.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/thread_info.h (renamed from include/asm-cris/thread_info.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/timex.h (renamed from include/asm-cris/timex.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/tlb.h (renamed from include/asm-cris/tlb.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/tlbflush.h (renamed from include/asm-cris/tlbflush.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/topology.h (renamed from include/asm-cris/topology.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/types.h (renamed from include/asm-cris/types.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/uaccess.h (renamed from include/asm-cris/uaccess.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/ucontext.h (renamed from include/asm-cris/ucontext.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/unaligned.h (renamed from include/asm-cris/unaligned.h) | 0 | ||||
-rw-r--r-- | arch/cris/include/asm/unistd.h (renamed from include/asm-cris/unistd.h) | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/user.h (renamed from include/asm-cris/user.h) | 2 | ||||
-rw-r--r-- | arch/cris/kernel/asm-offsets.c (renamed from arch/cris/arch-v32/kernel/asm-offsets.c) | 51 | ||||
-rw-r--r-- | arch/cris/kernel/vmlinux.lds.S (renamed from arch/cris/arch-v32/vmlinux.lds.S) | 44 | ||||
-rw-r--r-- | arch/cris/mm/ioremap.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/perfmon.c | 5 | ||||
-rw-r--r-- | arch/powerpc/boot/addnote.c | 175 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8313erdb.dts | 39 | ||||
-rw-r--r-- | arch/powerpc/boot/libfdt/fdt_ro.c | 9 | ||||
-rw-r--r-- | arch/powerpc/boot/main.c | 2 | ||||
-rwxr-xr-x | arch/powerpc/boot/wrapper | 9 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/acadia_defconfig | 59 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/ep405_defconfig | 83 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/hcu4_defconfig | 125 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/kilauea_defconfig | 69 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/makalu_defconfig | 69 | ||||
-rw-r--r-- | arch/powerpc/configs/40x/walnut_defconfig | 77 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/arches_defconfig | 51 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/bamboo_defconfig | 77 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/canyonlands_defconfig | 61 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/ebony_defconfig | 77 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/katmai_defconfig | 77 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/rainier_defconfig | 73 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/sam440ep_defconfig | 110 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/sequoia_defconfig | 78 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/taishan_defconfig | 77 | ||||
-rw-r--r-- | arch/powerpc/configs/44x/warp_defconfig | 82 | ||||
-rw-r--r-- | arch/powerpc/configs/linkstation_defconfig | 11 | ||||
-rw-r--r-- | arch/powerpc/configs/ppc40x_defconfig | 106 | ||||
-rw-r--r-- | arch/powerpc/configs/ppc44x_defconfig | 125 | ||||
-rw-r--r-- | arch/powerpc/include/asm/iommu.h | 15 | ||||
-rw-r--r-- | arch/powerpc/include/asm/kdump.h | 8 | ||||
-rw-r--r-- | arch/powerpc/include/asm/mpic.h | 2 | ||||
-rw-r--r-- | arch/powerpc/include/asm/pci.h | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/dma-iommu.c | 34 | ||||
-rw-r--r-- | arch/powerpc/kernel/head_64.S | 30 | ||||
-rw-r--r-- | arch/powerpc/kernel/ibmebus.c | 27 | ||||
-rw-r--r-- | arch/powerpc/kernel/iommu.c | 25 | ||||
-rw-r--r-- | arch/powerpc/kernel/machine_kexec_64.c | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/misc_64.S | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/of_device.c | 1 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 110 | ||||
-rw-r--r-- | arch/powerpc/kernel/pci_64.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/prom_init.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup_64.c | 6 | ||||
-rw-r--r-- | arch/powerpc/kernel/signal_32.c | 36 | ||||
-rw-r--r-- | arch/powerpc/kernel/signal_64.c | 33 | ||||
-rw-r--r-- | arch/powerpc/kernel/vio.c | 25 | ||||
-rw-r--r-- | arch/powerpc/kernel/vmlinux.lds.S | 5 | ||||
-rw-r--r-- | arch/powerpc/oprofile/op_model_cell.c | 13 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/mpc85xx_ds.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/86xx/pic.c | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/iommu.c | 37 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/ras.c | 7 | ||||
-rw-r--r-- | arch/powerpc/platforms/embedded6xx/linkstation.c | 14 | ||||
-rw-r--r-- | arch/powerpc/platforms/iseries/iommu.c | 7 | ||||
-rw-r--r-- | arch/powerpc/platforms/ps3/system-bus.c | 36 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/iommu.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/pci_dlpar.c | 1 | ||||
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 59 | ||||
-rw-r--r-- | arch/powerpc/xmon/xmon.c | 2 | ||||
-rw-r--r-- | arch/sh/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/Makefile | 31 | ||||
-rw-r--r-- | arch/sh/boot/compressed/Makefile_32 | 2 | ||||
-rw-r--r-- | arch/sh/cchips/Kconfig | 33 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/Makefile | 1 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64465/Makefile | 6 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64465/gpio.c | 196 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64465/io.c | 211 | ||||
-rw-r--r-- | arch/sh/cchips/hd6446x/hd64465/setup.c | 181 | ||||
-rw-r--r-- | arch/sh/configs/migor_defconfig | 35 | ||||
-rw-r--r-- | arch/sh/configs/ul2_defconfig | 1169 | ||||
-rw-r--r-- | arch/sh/include/asm/byteorder.h | 36 | ||||
-rw-r--r-- | arch/sh/include/asm/hd64465/gpio.h | 46 | ||||
-rw-r--r-- | arch/sh/include/asm/hd64465/hd64465.h | 256 | ||||
-rw-r--r-- | arch/sh/include/asm/hd64465/io.h | 44 | ||||
-rw-r--r-- | arch/sh/include/asm/serial.h | 17 | ||||
-rw-r--r-- | arch/sh/include/cpu-sh4/cpu/rtc.h | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7366.c | 28 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 34 | ||||
-rw-r--r-- | arch/sh/kernel/entry-common.S | 4 | ||||
-rw-r--r-- | arch/sh/kernel/sh_ksyms_32.c | 13 | ||||
-rw-r--r-- | arch/sh/mm/cache-sh2a.c | 8 | ||||
-rw-r--r-- | arch/sh/oprofile/op_model_sh7750.c | 6 | ||||
-rw-r--r-- | arch/sh/tools/mach-types | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/byteorder.h | 22 | ||||
-rw-r--r-- | arch/sparc/include/asm/kdebug_32.h | 1 | ||||
-rw-r--r-- | arch/sparc/include/asm/processor_64.h | 4 | ||||
-rw-r--r-- | arch/sparc/include/asm/uaccess_64.h | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/time.c | 27 | ||||
-rw-r--r-- | arch/sparc64/kernel/pci.c | 10 | ||||
-rw-r--r-- | arch/sparc64/kernel/time.c | 34 | ||||
-rw-r--r-- | arch/sparc64/lib/PeeCeeI.c | 139 | ||||
-rw-r--r-- | arch/x86/Kconfig | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/cpufeature.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/fixmap.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/fixmap_32.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/highmem.h | 5 | ||||
-rw-r--r-- | arch/x86/include/asm/irq_vectors.h | 20 | ||||
-rw-r--r-- | arch/x86/include/asm/topology.h | 7 | ||||
-rw-r--r-- | arch/x86/include/asm/voyager.h | 1 | ||||
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 9 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 1 | ||||
-rw-r--r-- | arch/x86/kernel/e820.c | 8 | ||||
-rw-r--r-- | arch/x86/kernel/io_apic.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/reboot.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/tlb_32.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/tlb_64.c | 5 | ||||
-rw-r--r-- | arch/x86/kernel/tsc.c | 8 | ||||
-rw-r--r-- | arch/x86/mach-voyager/setup.c | 2 | ||||
-rw-r--r-- | arch/x86/mach-voyager/voyager_smp.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/mm/init_32.c | 3 | ||||
-rw-r--r-- | arch/x86/mm/iomap_32.c | 59 | ||||
-rw-r--r-- | arch/x86/mm/pageattr.c | 8 | ||||
-rw-r--r-- | block/blk-core.c | 4 | ||||
-rw-r--r-- | block/blk-merge.c | 21 | ||||
-rw-r--r-- | block/blk-timeout.c | 20 | ||||
-rw-r--r-- | block/elevator.c | 12 | ||||
-rw-r--r-- | drivers/ata/ata_piix.c | 1 | ||||
-rw-r--r-- | drivers/ata/libata-core.c | 17 | ||||
-rw-r--r-- | drivers/ata/libata-scsi.c | 7 | ||||
-rw-r--r-- | drivers/ata/sata_nv.c | 53 | ||||
-rw-r--r-- | drivers/ata/sata_promise.c | 20 | ||||
-rw-r--r-- | drivers/ata/sata_via.c | 153 | ||||
-rw-r--r-- | drivers/block/cciss.c | 28 | ||||
-rw-r--r-- | drivers/block/cpqarray.c | 7 | ||||
-rw-r--r-- | drivers/bluetooth/bpa10x.c | 4 | ||||
-rw-r--r-- | drivers/cdrom/gdrom.c | 5 | ||||
-rw-r--r-- | drivers/char/hpet.c | 3 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_devintf.c | 2 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_watchdog.c | 1 | ||||
-rw-r--r-- | drivers/char/random.c | 7 | ||||
-rw-r--r-- | drivers/char/rtc.c | 2 | ||||
-rw-r--r-- | drivers/char/sonypi.c | 1 | ||||
-rw-r--r-- | drivers/char/vt.c | 10 | ||||
-rw-r--r-- | drivers/firewire/fw-device.c | 14 | ||||
-rw-r--r-- | drivers/firewire/fw-ohci.c | 2 | ||||
-rw-r--r-- | drivers/firewire/fw-sbp2.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/drm_fops.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/Makefile | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 196 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_cp.c | 15 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.h | 12 | ||||
-rw-r--r-- | drivers/hid/usbhid/hiddev.c | 2 | ||||
-rw-r--r-- | drivers/hwmon/applesmc.c | 36 | ||||
-rw-r--r-- | drivers/ide/alim15x3.c | 2 | ||||
-rw-r--r-- | drivers/ide/hpt366.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-cd.c | 3 | ||||
-rw-r--r-- | drivers/ide/ide-disk.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-gd.c | 7 | ||||
-rw-r--r-- | drivers/ide/ide-iops.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-pci-generic.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-proc.c | 2 | ||||
-rw-r--r-- | drivers/ide/it821x.c | 2 | ||||
-rw-r--r-- | drivers/ide/jmicron.c | 2 | ||||
-rw-r--r-- | drivers/ide/piix.c | 2 | ||||
-rw-r--r-- | drivers/ide/scc_pata.c | 2 | ||||
-rw-r--r-- | drivers/ide/siimage.c | 2 | ||||
-rw-r--r-- | drivers/ide/tx4938ide.c | 41 | ||||
-rw-r--r-- | drivers/ieee1394/dv1394.c | 13 | ||||
-rw-r--r-- | drivers/ieee1394/hosts.c | 4 | ||||
-rw-r--r-- | drivers/ieee1394/nodemgr.c | 14 | ||||
-rw-r--r-- | drivers/ieee1394/raw1394.c | 9 | ||||
-rw-r--r-- | drivers/infiniband/core/uverbs_main.c | 2 | ||||
-rw-r--r-- | drivers/input/evdev.c | 1 | ||||
-rw-r--r-- | drivers/input/joydev.c | 1 | ||||
-rw-r--r-- | drivers/input/misc/hp_sdc_rtc.c | 13 | ||||
-rw-r--r-- | drivers/input/mousedev.c | 1 | ||||
-rw-r--r-- | drivers/input/serio/serio_raw.c | 1 | ||||
-rw-r--r-- | drivers/leds/leds-hp-disk.c | 1 | ||||
-rw-r--r-- | drivers/md/linear.c | 2 | ||||
-rw-r--r-- | drivers/md/md.c | 6 | ||||
-rw-r--r-- | drivers/md/raid10.c | 2 | ||||
-rw-r--r-- | drivers/message/fusion/mptctl.c | 7 | ||||
-rw-r--r-- | drivers/message/i2o/i2o_config.c | 21 | ||||
-rw-r--r-- | drivers/mfd/Kconfig | 4 | ||||
-rw-r--r-- | drivers/misc/panasonic-laptop.c | 1 | ||||
-rw-r--r-- | drivers/misc/sony-laptop.c | 1 | ||||
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0002.c | 13 | ||||
-rw-r--r-- | drivers/mtd/chips/jedec_probe.c | 10 | ||||
-rw-r--r-- | drivers/mtd/onenand/omap2.c | 1 | ||||
-rw-r--r-- | drivers/net/3c509.c | 6 | ||||
-rw-r--r-- | drivers/net/Kconfig | 18 | ||||
-rw-r--r-- | drivers/net/atl1e/atl1e.h | 1 | ||||
-rw-r--r-- | drivers/net/bnx2x_init.h | 9 | ||||
-rw-r--r-- | drivers/net/bnx2x_main.c | 10 | ||||
-rw-r--r-- | drivers/net/cris/eth_v10.c | 4 | ||||
-rw-r--r-- | drivers/net/fs_enet/fs_enet-main.c | 6 | ||||
-rw-r--r-- | drivers/net/irda/ks959-sir.c | 1 | ||||
-rw-r--r-- | drivers/net/irda/ksdazzle-sir.c | 1 | ||||
-rw-r--r-- | drivers/net/mv643xx_eth.c | 9 | ||||
-rw-r--r-- | drivers/net/niu.c | 6 | ||||
-rw-r--r-- | drivers/net/smc911x.c | 2 | ||||
-rw-r--r-- | drivers/net/smc91x.c | 2 | ||||
-rw-r--r-- | drivers/net/tun.c | 2 | ||||
-rw-r--r-- | drivers/net/ucc_geth_ethtool.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ath5k/desc.c | 16 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 15 | ||||
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_usb.c | 2 | ||||
-rw-r--r-- | drivers/of/device.c | 11 | ||||
-rw-r--r-- | drivers/pcmcia/Kconfig | 4 | ||||
-rw-r--r-- | drivers/pcmcia/Makefile | 1 | ||||
-rw-r--r-- | drivers/pcmcia/hd64465_ss.c | 939 | ||||
-rw-r--r-- | drivers/pnp/interface.c | 1 | ||||
-rw-r--r-- | drivers/ps3/ps3-lpm.c | 1 | ||||
-rw-r--r-- | drivers/rtc/interface.c | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-cmos.c | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-dev.c | 3 | ||||
-rw-r--r-- | drivers/rtc/rtc-m48t59.c | 34 | ||||
-rw-r--r-- | drivers/sbus/char/jsflash.c | 1 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.c | 12 | ||||
-rw-r--r-- | drivers/scsi/sg.c | 1 | ||||
-rw-r--r-- | drivers/serial/atmel_serial.c | 17 | ||||
-rw-r--r-- | drivers/serial/crisv10.c | 4 | ||||
-rw-r--r-- | drivers/serial/crisv10.h | 2 | ||||
-rw-r--r-- | drivers/serial/sh-sci.c | 40 | ||||
-rw-r--r-- | drivers/serial/sh-sci.h | 96 | ||||
-rw-r--r-- | drivers/staging/echo/echo.c | 1 | ||||
-rw-r--r-- | drivers/staging/me4000/me4000.c | 4 | ||||
-rw-r--r-- | drivers/telephony/ixj.c | 1 | ||||
-rw-r--r-- | drivers/uio/uio.c | 3 | ||||
-rw-r--r-- | drivers/usb/gadget/inode.c | 1 | ||||
-rw-r--r-- | drivers/video/Kconfig | 32 | ||||
-rw-r--r-- | drivers/video/Makefile | 1 | ||||
-rw-r--r-- | drivers/video/cirrusfb.c | 2 | ||||
-rw-r--r-- | drivers/video/fbmem.c | 63 | ||||
-rw-r--r-- | drivers/video/mb862xx/Makefile | 5 | ||||
-rw-r--r-- | drivers/video/mb862xx/mb862xx_reg.h | 138 | ||||
-rw-r--r-- | drivers/video/mb862xx/mb862xxfb.c | 1061 | ||||
-rw-r--r-- | drivers/video/mb862xx/mb862xxfb.h | 83 | ||||
-rw-r--r-- | drivers/watchdog/Kconfig | 8 | ||||
-rw-r--r-- | drivers/watchdog/at91sam9_wdt.c | 2 | ||||
-rw-r--r-- | drivers/xen/balloon.c | 1 | ||||
-rw-r--r-- | fs/Makefile | 2 | ||||
-rw-r--r-- | fs/autofs4/dev-ioctl.c | 5 | ||||
-rw-r--r-- | fs/autofs4/expire.c | 19 | ||||
-rw-r--r-- | fs/block_dev.c | 23 | ||||
-rw-r--r-- | fs/cifs/CHANGES | 6 | ||||
-rw-r--r-- | fs/cifs/cifsglob.h | 2 | ||||
-rw-r--r-- | fs/cifs/cifsproto.h | 2 | ||||
-rw-r--r-- | fs/cifs/cifssmb.c | 2 | ||||
-rw-r--r-- | fs/cifs/connect.c | 50 | ||||
-rw-r--r-- | fs/cifs/file.c | 2 | ||||
-rw-r--r-- | fs/cifs/inode.c | 4 | ||||
-rw-r--r-- | fs/cifs/transport.c | 48 | ||||
-rw-r--r-- | fs/ext3/super.c | 21 | ||||
-rw-r--r-- | fs/ext4/balloc.c | 77 | ||||
-rw-r--r-- | fs/ext4/ext4.h | 3 | ||||
-rw-r--r-- | fs/ext4/super.c | 11 | ||||
-rw-r--r-- | fs/fat/Makefile | 6 | ||||
-rw-r--r-- | fs/fat/cache.c | 25 | ||||
-rw-r--r-- | fs/fat/dir.c | 20 | ||||
-rw-r--r-- | fs/fat/fat.h | 329 | ||||
-rw-r--r-- | fs/fat/fatent.c | 24 | ||||
-rw-r--r-- | fs/fat/file.c | 49 | ||||
-rw-r--r-- | fs/fat/inode.c | 131 | ||||
-rw-r--r-- | fs/fat/misc.c | 155 | ||||
-rw-r--r-- | fs/fat/namei_msdos.c (renamed from fs/msdos/namei.c) | 42 | ||||
-rw-r--r-- | fs/fat/namei_vfat.c (renamed from fs/vfat/namei.c) | 161 | ||||
-rw-r--r-- | fs/file_table.c | 4 | ||||
-rw-r--r-- | fs/fuse/dev.c | 1 | ||||
-rw-r--r-- | fs/inotify_user.c | 3 | ||||
-rw-r--r-- | fs/jbd2/commit.c | 8 | ||||
-rw-r--r-- | fs/jffs2/background.c | 10 | ||||
-rw-r--r-- | fs/jffs2/compr_lzo.c | 15 | ||||
-rw-r--r-- | fs/jffs2/nodemgmt.c | 2 | ||||
-rw-r--r-- | fs/lockd/svc4proc.c | 1 | ||||
-rw-r--r-- | fs/lockd/svcproc.c | 1 | ||||
-rw-r--r-- | fs/msdos/Makefile | 7 | ||||
-rw-r--r-- | fs/nfsd/vfs.c | 1 | ||||
-rw-r--r-- | fs/pipe.c | 3 | ||||
-rw-r--r-- | fs/proc/uptime.c | 38 | ||||
-rw-r--r-- | fs/vfat/Makefile | 7 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/arbiter.h | 30 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h | 632 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h | 96 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/gio_defs.h | 295 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/intr_vect.h | 39 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/pinmux_defs.h | 357 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/hwregs/strmux_defs.h | 127 | ||||
-rw-r--r-- | include/asm-cris/arch-v32/pinmux.h | 40 | ||||
-rw-r--r-- | include/asm-cris/spinlock.h | 1 | ||||
-rw-r--r-- | include/asm-x86/iomap.h | 30 | ||||
-rw-r--r-- | include/drm/i915_drm.h | 13 | ||||
-rw-r--r-- | include/linux/bio.h | 6 | ||||
-rw-r--r-- | include/linux/hrtimer.h | 2 | ||||
-rw-r--r-- | include/linux/if_vlan.h | 7 | ||||
-rw-r--r-- | include/linux/io-mapping.h | 125 | ||||
-rw-r--r-- | include/linux/libata.h | 3 | ||||
-rw-r--r-- | include/linux/msdos_fs.h | 281 | ||||
-rw-r--r-- | include/linux/mtd/cfi.h | 22 | ||||
-rw-r--r-- | include/linux/sched.h | 2 | ||||
-rw-r--r-- | include/linux/string.h | 2 | ||||
-rw-r--r-- | include/linux/timer.h | 5 | ||||
-rw-r--r-- | include/linux/topology.h | 4 | ||||
-rw-r--r-- | include/net/scm.h | 5 | ||||
-rw-r--r-- | init/do_mounts_md.c | 1 | ||||
-rw-r--r-- | kernel/cgroup.c | 1 | ||||
-rw-r--r-- | kernel/power/Kconfig | 2 | ||||
-rw-r--r-- | kernel/resource.c | 2 | ||||
-rw-r--r-- | kernel/sched.c | 6 | ||||
-rw-r--r-- | kernel/sched_fair.c | 76 | ||||
-rw-r--r-- | kernel/sched_features.h | 1 | ||||
-rw-r--r-- | kernel/smp.c | 18 | ||||
-rw-r--r-- | kernel/timer.c | 129 | ||||
-rw-r--r-- | kernel/trace/Kconfig | 2 | ||||
-rw-r--r-- | kernel/trace/ring_buffer.c | 56 | ||||
-rw-r--r-- | kernel/trace/trace.c | 41 | ||||
-rw-r--r-- | mm/hugetlb.c | 49 | ||||
-rw-r--r-- | mm/internal.h | 29 | ||||
-rw-r--r-- | mm/mempolicy.c | 18 | ||||
-rw-r--r-- | mm/migrate.c | 2 | ||||
-rw-r--r-- | mm/oom_kill.c | 3 | ||||
-rw-r--r-- | mm/page_alloc.c | 28 | ||||
-rw-r--r-- | mm/page_isolation.c | 5 | ||||
-rw-r--r-- | mm/sparse-vmemmap.c | 2 | ||||
-rw-r--r-- | mm/vmalloc.c | 2 | ||||
-rw-r--r-- | net/8021q/vlan_core.c | 43 | ||||
-rw-r--r-- | net/9p/client.c | 59 | ||||
-rw-r--r-- | net/9p/trans_rdma.c | 4 | ||||
-rw-r--r-- | net/core/dev.c | 3 | ||||
-rw-r--r-- | net/core/scm.c | 24 | ||||
-rw-r--r-- | net/core/skbuff.c | 12 | ||||
-rw-r--r-- | net/ipv4/tcp.c | 3 | ||||
-rw-r--r-- | net/ipv4/udp.c | 12 | ||||
-rw-r--r-- | net/ipv4/xfrm4_state.c | 1 | ||||
-rw-r--r-- | net/ipv6/addrconf.c | 4 | ||||
-rw-r--r-- | net/ipv6/udp.c | 36 | ||||
-rw-r--r-- | net/ipv6/xfrm6_state.c | 1 | ||||
-rw-r--r-- | net/key/af_key.c | 1 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_helper.c | 3 | ||||
-rw-r--r-- | net/netfilter/nf_conntrack_proto.c | 5 | ||||
-rw-r--r-- | net/rfkill/rfkill.c | 2 | ||||
-rw-r--r-- | net/socket.c | 1 | ||||
-rw-r--r-- | net/unix/af_unix.c | 2 | ||||
-rw-r--r-- | net/xfrm/xfrm_policy.c | 4 | ||||
-rw-r--r-- | net/xfrm/xfrm_user.c | 2 | ||||
-rw-r--r-- | security/commoncap.c | 6 | ||||
-rw-r--r-- | security/selinux/hooks.c | 8 | ||||
-rw-r--r-- | sound/aoa/soundbus/core.c | 2 | ||||
-rw-r--r-- | sound/core/control.c | 1 | ||||
-rw-r--r-- | sound/core/init.c | 5 | ||||
-rw-r--r-- | sound/core/pcm_native.c | 1 | ||||
-rw-r--r-- | sound/core/rawmidi.c | 8 | ||||
-rw-r--r-- | sound/core/timer.c | 1 | ||||
-rw-r--r-- | sound/drivers/ml403-ac97cr.c | 4 | ||||
-rw-r--r-- | sound/drivers/pcsp/pcsp_input.c | 4 | ||||
-rw-r--r-- | sound/isa/ad1848/ad1848.c | 6 | ||||
-rw-r--r-- | sound/isa/adlib.c | 12 | ||||
-rw-r--r-- | sound/isa/cs423x/cs4231.c | 8 | ||||
-rw-r--r-- | sound/isa/cs423x/cs4236.c | 8 | ||||
-rw-r--r-- | sound/isa/es1688/es1688.c | 9 | ||||
-rw-r--r-- | sound/isa/gus/gusclassic.c | 13 | ||||
-rw-r--r-- | sound/isa/gus/gusextreme.c | 19 | ||||
-rw-r--r-- | sound/isa/sb/sb8.c | 4 | ||||
-rw-r--r-- | sound/oss/dmasound/dmasound.h | 2 | ||||
-rw-r--r-- | sound/oss/dmasound/dmasound_core.c | 4 | ||||
-rw-r--r-- | sound/pci/emu10k1/emu10k1_main.c | 3 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 29 | ||||
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 16 | ||||
-rw-r--r-- | sound/soc/soc-core.c | 4 | ||||
-rw-r--r-- | sound/sparc/dbri.c | 2 |
739 files changed, 7273 insertions, 6642 deletions
diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 8244c6442faa..89698e8df7d4 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt | |||
@@ -21,11 +21,14 @@ This driver is known to work with the following cards: | |||
21 | * SA E200 | 21 | * SA E200 |
22 | * SA E200i | 22 | * SA E200i |
23 | * SA E500 | 23 | * SA E500 |
24 | * SA P700m | ||
24 | * SA P212 | 25 | * SA P212 |
25 | * SA P410 | 26 | * SA P410 |
26 | * SA P410i | 27 | * SA P410i |
27 | * SA P411 | 28 | * SA P411 |
28 | * SA P812 | 29 | * SA P812 |
30 | * SA P712m | ||
31 | * SA P711m | ||
29 | 32 | ||
30 | Detecting drive failures: | 33 | Detecting drive failures: |
31 | ------------------------- | 34 | ------------------------- |
diff --git a/Documentation/email-clients.txt b/Documentation/email-clients.txt index 2ebb94d6ed8e..a618efab7b15 100644 --- a/Documentation/email-clients.txt +++ b/Documentation/email-clients.txt | |||
@@ -213,4 +213,29 @@ TkRat (GUI) | |||
213 | 213 | ||
214 | Works. Use "Insert file..." or external editor. | 214 | Works. Use "Insert file..." or external editor. |
215 | 215 | ||
216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
217 | Gmail (Web GUI) | ||
218 | |||
219 | If you just have to use Gmail to send patches, it CAN be made to work. It | ||
220 | requires a bit of external help, though. | ||
221 | |||
222 | The first problem is that Gmail converts tabs to spaces. This will | ||
223 | totally break your patches. To prevent this, you have to use a different | ||
224 | editor. There is a firefox extension called "ViewSourceWith" | ||
225 | (https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to | ||
226 | edit any text box in the editor of your choice. Configure it to launch | ||
227 | your favorite editor. When you want to send a patch, use this technique. | ||
228 | Once you have crafted your messsage + patch, save and exit the editor, | ||
229 | which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS. | ||
230 | Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will | ||
231 | convert those to spaces upon sending! | ||
232 | |||
233 | The second problem is that Gmail converts tabs to spaces on replies. If | ||
234 | you reply to a patch, don't expect to be able to apply it as a patch. | ||
235 | |||
236 | The last problem is that Gmail will base64-encode any message that has a | ||
237 | non-ASCII character. That includes things like European names. Be aware. | ||
238 | |||
239 | Gmail is not convenient for lkml patches, but CAN be made to work. | ||
240 | |||
216 | ### | 241 | ### |
diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index bbac4f1d9056..3a5ddc96901a 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt | |||
@@ -8,6 +8,12 @@ if you want to format from within Linux. | |||
8 | 8 | ||
9 | VFAT MOUNT OPTIONS | 9 | VFAT MOUNT OPTIONS |
10 | ---------------------------------------------------------------------- | 10 | ---------------------------------------------------------------------- |
11 | uid=### -- Set the owner of all files on this filesystem. | ||
12 | The default is the uid of current process. | ||
13 | |||
14 | gid=### -- Set the group of all files on this filesystem. | ||
15 | The default is the gid of current process. | ||
16 | |||
11 | umask=### -- The permission mask (for files and directories, see umask(1)). | 17 | umask=### -- The permission mask (for files and directories, see umask(1)). |
12 | The default is the umask of current process. | 18 | The default is the umask of current process. |
13 | 19 | ||
@@ -36,7 +42,7 @@ codepage=### -- Sets the codepage number for converting to shortname | |||
36 | characters on FAT filesystem. | 42 | characters on FAT filesystem. |
37 | By default, FAT_DEFAULT_CODEPAGE setting is used. | 43 | By default, FAT_DEFAULT_CODEPAGE setting is used. |
38 | 44 | ||
39 | iocharset=name -- Character set to use for converting between the | 45 | iocharset=<name> -- Character set to use for converting between the |
40 | encoding is used for user visible filename and 16 bit | 46 | encoding is used for user visible filename and 16 bit |
41 | Unicode characters. Long filenames are stored on disk | 47 | Unicode characters. Long filenames are stored on disk |
42 | in Unicode format, but Unix for the most part doesn't | 48 | in Unicode format, but Unix for the most part doesn't |
@@ -86,6 +92,8 @@ check=s|r|n -- Case sensitivity checking setting. | |||
86 | r: relaxed, case insensitive | 92 | r: relaxed, case insensitive |
87 | n: normal, default setting, currently case insensitive | 93 | n: normal, default setting, currently case insensitive |
88 | 94 | ||
95 | nocase -- This was deprecated for vfat. Use shortname=win95 instead. | ||
96 | |||
89 | shortname=lower|win95|winnt|mixed | 97 | shortname=lower|win95|winnt|mixed |
90 | -- Shortname display/create setting. | 98 | -- Shortname display/create setting. |
91 | lower: convert to lowercase for display, | 99 | lower: convert to lowercase for display, |
@@ -99,11 +107,31 @@ shortname=lower|win95|winnt|mixed | |||
99 | tz=UTC -- Interpret timestamps as UTC rather than local time. | 107 | tz=UTC -- Interpret timestamps as UTC rather than local time. |
100 | This option disables the conversion of timestamps | 108 | This option disables the conversion of timestamps |
101 | between local time (as used by Windows on FAT) and UTC | 109 | between local time (as used by Windows on FAT) and UTC |
102 | (which Linux uses internally). This is particuluarly | 110 | (which Linux uses internally). This is particularly |
103 | useful when mounting devices (like digital cameras) | 111 | useful when mounting devices (like digital cameras) |
104 | that are set to UTC in order to avoid the pitfalls of | 112 | that are set to UTC in order to avoid the pitfalls of |
105 | local time. | 113 | local time. |
106 | 114 | ||
115 | showexec -- If set, the execute permission bits of the file will be | ||
116 | allowed only if the extension part of the name is .EXE, | ||
117 | .COM, or .BAT. Not set by default. | ||
118 | |||
119 | debug -- Can be set, but unused by the current implementation. | ||
120 | |||
121 | sys_immutable -- If set, ATTR_SYS attribute on FAT is handled as | ||
122 | IMMUTABLE flag on Linux. Not set by default. | ||
123 | |||
124 | flush -- If set, the filesystem will try to flush to disk more | ||
125 | early than normal. Not set by default. | ||
126 | |||
127 | rodir -- FAT has the ATTR_RO (read-only) attribute. But on Windows, | ||
128 | the ATTR_RO of the directory will be just ignored actually, | ||
129 | and is used by only applications as flag. E.g. it's setted | ||
130 | for the customized folder. | ||
131 | |||
132 | If you want to use ATTR_RO as read-only flag even for | ||
133 | the directory, set this option. | ||
134 | |||
107 | <bool>: 0,1,yes,no,true,false | 135 | <bool>: 0,1,yes,no,true,false |
108 | 136 | ||
109 | TODO | 137 | TODO |
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt new file mode 100644 index 000000000000..473e43b2d588 --- /dev/null +++ b/Documentation/io-mapping.txt | |||
@@ -0,0 +1,82 @@ | |||
1 | The io_mapping functions in linux/io-mapping.h provide an abstraction for | ||
2 | efficiently mapping small regions of an I/O device to the CPU. The initial | ||
3 | usage is to support the large graphics aperture on 32-bit processors where | ||
4 | ioremap_wc cannot be used to statically map the entire aperture to the CPU | ||
5 | as it would consume too much of the kernel address space. | ||
6 | |||
7 | A mapping object is created during driver initialization using | ||
8 | |||
9 | struct io_mapping *io_mapping_create_wc(unsigned long base, | ||
10 | unsigned long size) | ||
11 | |||
12 | 'base' is the bus address of the region to be made | ||
13 | mappable, while 'size' indicates how large a mapping region to | ||
14 | enable. Both are in bytes. | ||
15 | |||
16 | This _wc variant provides a mapping which may only be used | ||
17 | with the io_mapping_map_atomic_wc or io_mapping_map_wc. | ||
18 | |||
19 | With this mapping object, individual pages can be mapped either atomically | ||
20 | or not, depending on the necessary scheduling environment. Of course, atomic | ||
21 | maps are more efficient: | ||
22 | |||
23 | void *io_mapping_map_atomic_wc(struct io_mapping *mapping, | ||
24 | unsigned long offset) | ||
25 | |||
26 | 'offset' is the offset within the defined mapping region. | ||
27 | Accessing addresses beyond the region specified in the | ||
28 | creation function yields undefined results. Using an offset | ||
29 | which is not page aligned yields an undefined result. The | ||
30 | return value points to a single page in CPU address space. | ||
31 | |||
32 | This _wc variant returns a write-combining map to the | ||
33 | page and may only be used with mappings created by | ||
34 | io_mapping_create_wc | ||
35 | |||
36 | Note that the task may not sleep while holding this page | ||
37 | mapped. | ||
38 | |||
39 | void io_mapping_unmap_atomic(void *vaddr) | ||
40 | |||
41 | 'vaddr' must be the the value returned by the last | ||
42 | io_mapping_map_atomic_wc call. This unmaps the specified | ||
43 | page and allows the task to sleep once again. | ||
44 | |||
45 | If you need to sleep while holding the lock, you can use the non-atomic | ||
46 | variant, although they may be significantly slower. | ||
47 | |||
48 | void *io_mapping_map_wc(struct io_mapping *mapping, | ||
49 | unsigned long offset) | ||
50 | |||
51 | This works like io_mapping_map_atomic_wc except it allows | ||
52 | the task to sleep while holding the page mapped. | ||
53 | |||
54 | void io_mapping_unmap(void *vaddr) | ||
55 | |||
56 | This works like io_mapping_unmap_atomic, except it is used | ||
57 | for pages mapped with io_mapping_map_wc. | ||
58 | |||
59 | At driver close time, the io_mapping object must be freed: | ||
60 | |||
61 | void io_mapping_free(struct io_mapping *mapping) | ||
62 | |||
63 | Current Implementation: | ||
64 | |||
65 | The initial implementation of these functions uses existing mapping | ||
66 | mechanisms and so provides only an abstraction layer and no new | ||
67 | functionality. | ||
68 | |||
69 | On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole | ||
70 | range, creating a permanent kernel-visible mapping to the resource. The | ||
71 | map_atomic and map functions add the requested offset to the base of the | ||
72 | virtual address returned by ioremap_wc. | ||
73 | |||
74 | On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses | ||
75 | kmap_atomic_pfn to map the specified page in an atomic fashion; | ||
76 | kmap_atomic_pfn isn't really supposed to be used with device pages, but it | ||
77 | provides an efficient mapping for this usage. | ||
78 | |||
79 | On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and | ||
80 | io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which | ||
81 | performs an IPI to inform all processors about the new mapping. This results | ||
82 | in a significant performance penalty. | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 1bbcaa8982b6..c86c07459712 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -995,13 +995,15 @@ and is between 256 and 4096 characters. It is defined in the file | |||
995 | Format: | 995 | Format: |
996 | <cpu number>,...,<cpu number> | 996 | <cpu number>,...,<cpu number> |
997 | or | 997 | or |
998 | <cpu number>-<cpu number> (must be a positive range in ascending order) | 998 | <cpu number>-<cpu number> |
999 | (must be a positive range in ascending order) | ||
999 | or a mixture | 1000 | or a mixture |
1000 | <cpu number>,...,<cpu number>-<cpu number> | 1001 | <cpu number>,...,<cpu number>-<cpu number> |
1002 | |||
1001 | This option can be used to specify one or more CPUs | 1003 | This option can be used to specify one or more CPUs |
1002 | to isolate from the general SMP balancing and scheduling | 1004 | to isolate from the general SMP balancing and scheduling |
1003 | algorithms. The only way to move a process onto or off | 1005 | algorithms. You can move a process onto or off an |
1004 | an "isolated" CPU is via the CPU affinity syscalls. | 1006 | "isolated" CPU via the CPU affinity syscalls or cpuset. |
1005 | <cpu number> begins at 0 and the maximum value is | 1007 | <cpu number> begins at 0 and the maximum value is |
1006 | "number of CPUs in system - 1". | 1008 | "number of CPUs in system - 1". |
1007 | 1009 | ||
@@ -1470,8 +1472,6 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1470 | Valid arguments: on, off | 1472 | Valid arguments: on, off |
1471 | Default: on | 1473 | Default: on |
1472 | 1474 | ||
1473 | noirqbalance [X86-32,SMP,KNL] Disable kernel irq balancing | ||
1474 | |||
1475 | noirqdebug [X86-32] Disables the code which attempts to detect and | 1475 | noirqdebug [X86-32] Disables the code which attempts to detect and |
1476 | disable unhandled interrupt sources. | 1476 | disable unhandled interrupt sources. |
1477 | 1477 | ||
diff --git a/Documentation/sh/new-machine.txt b/Documentation/sh/new-machine.txt index 5482bf5d005b..f0354164cb0e 100644 --- a/Documentation/sh/new-machine.txt +++ b/Documentation/sh/new-machine.txt | |||
@@ -47,9 +47,7 @@ Next, for companion chips: | |||
47 | `-- sh | 47 | `-- sh |
48 | `-- cchips | 48 | `-- cchips |
49 | `-- hd6446x | 49 | `-- hd6446x |
50 | |-- hd64461 | 50 | `-- hd64461 |
51 | | `-- cchip-specific files | ||
52 | `-- hd64465 | ||
53 | `-- cchip-specific files | 51 | `-- cchip-specific files |
54 | 52 | ||
55 | ... and so on. Headers for the companion chips are treated the same way as | 53 | ... and so on. Headers for the companion chips are treated the same way as |
diff --git a/MAINTAINERS b/MAINTAINERS index 129117fe6490..ca96939b7969 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -721,7 +721,7 @@ W: http://sourceforge.net/projects/acpi4asus | |||
721 | W: http://xf.iksaif.net/acpi4asus | 721 | W: http://xf.iksaif.net/acpi4asus |
722 | S: Maintained | 722 | S: Maintained |
723 | 723 | ||
724 | ASYNCHRONOUS TRANSFERS/TRANSFORMS API | 724 | ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API |
725 | P: Dan Williams | 725 | P: Dan Williams |
726 | M: dan.j.williams@intel.com | 726 | M: dan.j.williams@intel.com |
727 | P: Maciej Sosnowski | 727 | P: Maciej Sosnowski |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 28 | 3 | SUBLEVEL = 28 |
4 | EXTRAVERSION = -rc2 | 4 | EXTRAVERSION = -rc3 |
5 | NAME = Killer Bat of Doom | 5 | NAME = Killer Bat of Doom |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 809ff9ab853a..77764301844b 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -44,10 +44,10 @@ | |||
44 | * The module space lives between the addresses given by TASK_SIZE | 44 | * The module space lives between the addresses given by TASK_SIZE |
45 | * and PAGE_OFFSET - it must be within 32MB of the kernel text. | 45 | * and PAGE_OFFSET - it must be within 32MB of the kernel text. |
46 | */ | 46 | */ |
47 | #define MODULE_END (PAGE_OFFSET) | 47 | #define MODULES_END (PAGE_OFFSET) |
48 | #define MODULE_START (MODULE_END - 16*1048576) | 48 | #define MODULES_VADDR (MODULES_END - 16*1048576) |
49 | 49 | ||
50 | #if TASK_SIZE > MODULE_START | 50 | #if TASK_SIZE > MODULES_VADDR |
51 | #error Top of user space clashes with start of module space | 51 | #error Top of user space clashes with start of module space |
52 | #endif | 52 | #endif |
53 | 53 | ||
@@ -56,7 +56,7 @@ | |||
56 | * Since we use sections to map it, this macro replaces the physical address | 56 | * Since we use sections to map it, this macro replaces the physical address |
57 | * with its virtual address while keeping offset from the base section. | 57 | * with its virtual address while keeping offset from the base section. |
58 | */ | 58 | */ |
59 | #define XIP_VIRT_ADDR(physaddr) (MODULE_START + ((physaddr) & 0x000fffff)) | 59 | #define XIP_VIRT_ADDR(physaddr) (MODULES_VADDR + ((physaddr) & 0x000fffff)) |
60 | 60 | ||
61 | /* | 61 | /* |
62 | * Allow 16MB-aligned ioremap pages | 62 | * Allow 16MB-aligned ioremap pages |
@@ -94,8 +94,8 @@ | |||
94 | /* | 94 | /* |
95 | * The module can be at any place in ram in nommu mode. | 95 | * The module can be at any place in ram in nommu mode. |
96 | */ | 96 | */ |
97 | #define MODULE_END (END_MEM) | 97 | #define MODULES_END (END_MEM) |
98 | #define MODULE_START (PHYS_OFFSET) | 98 | #define MODULES_VADDR (PHYS_OFFSET) |
99 | 99 | ||
100 | #endif /* !CONFIG_MMU */ | 100 | #endif /* !CONFIG_MMU */ |
101 | 101 | ||
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h index 7aad78420f18..568020b34e3e 100644 --- a/arch/arm/include/asm/system.h +++ b/arch/arm/include/asm/system.h | |||
@@ -42,6 +42,10 @@ | |||
42 | #define CR_U (1 << 22) /* Unaligned access operation */ | 42 | #define CR_U (1 << 22) /* Unaligned access operation */ |
43 | #define CR_XP (1 << 23) /* Extended page tables */ | 43 | #define CR_XP (1 << 23) /* Extended page tables */ |
44 | #define CR_VE (1 << 24) /* Vectored interrupts */ | 44 | #define CR_VE (1 << 24) /* Vectored interrupts */ |
45 | #define CR_EE (1 << 25) /* Exception (Big) Endian */ | ||
46 | #define CR_TRE (1 << 28) /* TEX remap enable */ | ||
47 | #define CR_AFE (1 << 29) /* Access flag enable */ | ||
48 | #define CR_TE (1 << 30) /* Thumb exception enable */ | ||
45 | 49 | ||
46 | /* | 50 | /* |
47 | * This is used to ensure the compiler did actually allocate the register we | 51 | * This is used to ensure the compiler did actually allocate the register we |
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c index 513f332f040d..84849098c8e8 100644 --- a/arch/arm/kernel/elf.c +++ b/arch/arm/kernel/elf.c | |||
@@ -21,12 +21,16 @@ int elf_check_arch(const struct elf32_hdr *x) | |||
21 | 21 | ||
22 | eflags = x->e_flags; | 22 | eflags = x->e_flags; |
23 | if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) { | 23 | if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) { |
24 | unsigned int flt_fmt; | ||
25 | |||
24 | /* APCS26 is only allowed if the CPU supports it */ | 26 | /* APCS26 is only allowed if the CPU supports it */ |
25 | if ((eflags & EF_ARM_APCS_26) && !(elf_hwcap & HWCAP_26BIT)) | 27 | if ((eflags & EF_ARM_APCS_26) && !(elf_hwcap & HWCAP_26BIT)) |
26 | return 0; | 28 | return 0; |
27 | 29 | ||
30 | flt_fmt = eflags & (EF_ARM_VFP_FLOAT | EF_ARM_SOFT_FLOAT); | ||
31 | |||
28 | /* VFP requires the supporting code */ | 32 | /* VFP requires the supporting code */ |
29 | if ((eflags & EF_ARM_VFP_FLOAT) && !(elf_hwcap & HWCAP_VFP)) | 33 | if (flt_fmt == EF_ARM_VFP_FLOAT && !(elf_hwcap & HWCAP_VFP)) |
30 | return 0; | 34 | return 0; |
31 | } | 35 | } |
32 | return 1; | 36 | return 1; |
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index 9203ba7d58ee..b8d965dcd6fd 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c | |||
@@ -26,12 +26,12 @@ | |||
26 | /* | 26 | /* |
27 | * The XIP kernel text is mapped in the module area for modules and | 27 | * The XIP kernel text is mapped in the module area for modules and |
28 | * some other stuff to work without any indirect relocations. | 28 | * some other stuff to work without any indirect relocations. |
29 | * MODULE_START is redefined here and not in asm/memory.h to avoid | 29 | * MODULES_VADDR is redefined here and not in asm/memory.h to avoid |
30 | * recompiling the whole kernel when CONFIG_XIP_KERNEL is turned on/off. | 30 | * recompiling the whole kernel when CONFIG_XIP_KERNEL is turned on/off. |
31 | */ | 31 | */ |
32 | extern void _etext; | 32 | extern void _etext; |
33 | #undef MODULE_START | 33 | #undef MODULES_VADDR |
34 | #define MODULE_START (((unsigned long)&_etext + ~PGDIR_MASK) & PGDIR_MASK) | 34 | #define MODULES_VADDR (((unsigned long)&_etext + ~PGDIR_MASK) & PGDIR_MASK) |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | #ifdef CONFIG_MMU | 37 | #ifdef CONFIG_MMU |
@@ -43,7 +43,7 @@ void *module_alloc(unsigned long size) | |||
43 | if (!size) | 43 | if (!size) |
44 | return NULL; | 44 | return NULL; |
45 | 45 | ||
46 | area = __get_vm_area(size, VM_ALLOC, MODULE_START, MODULE_END); | 46 | area = __get_vm_area(size, VM_ALLOC, MODULES_VADDR, MODULES_END); |
47 | if (!area) | 47 | if (!area) |
48 | return NULL; | 48 | return NULL; |
49 | 49 | ||
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 763bdbeaf681..2249049c1d5a 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -429,18 +429,16 @@ void __init gpmc_init(void) | |||
429 | gpmc_l3_clk = clk_get(NULL, ck); | 429 | gpmc_l3_clk = clk_get(NULL, ck); |
430 | if (IS_ERR(gpmc_l3_clk)) { | 430 | if (IS_ERR(gpmc_l3_clk)) { |
431 | printk(KERN_ERR "Could not get GPMC clock %s\n", ck); | 431 | printk(KERN_ERR "Could not get GPMC clock %s\n", ck); |
432 | return -ENODEV; | 432 | BUG(); |
433 | } | 433 | } |
434 | 434 | ||
435 | gpmc_base = ioremap(l, SZ_4K); | 435 | gpmc_base = ioremap(l, SZ_4K); |
436 | if (!gpmc_base) { | 436 | if (!gpmc_base) { |
437 | clk_put(gpmc_l3_clk); | 437 | clk_put(gpmc_l3_clk); |
438 | printk(KERN_ERR "Could not get GPMC register memory\n"); | 438 | printk(KERN_ERR "Could not get GPMC register memory\n"); |
439 | return -ENOMEM; | 439 | BUG(); |
440 | } | 440 | } |
441 | 441 | ||
442 | BUG_ON(IS_ERR(gpmc_l3_clk)); | ||
443 | |||
444 | l = gpmc_read_reg(GPMC_REVISION); | 442 | l = gpmc_read_reg(GPMC_REVISION); |
445 | printk(KERN_INFO "GPMC revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f); | 443 | printk(KERN_INFO "GPMC revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f); |
446 | /* Set smart idle mode and automatic L3 clock gating */ | 444 | /* Set smart idle mode and automatic L3 clock gating */ |
diff --git a/arch/arm/mm/cache-xsc3l2.c b/arch/arm/mm/cache-xsc3l2.c index 10b1bae1a258..464de893a988 100644 --- a/arch/arm/mm/cache-xsc3l2.c +++ b/arch/arm/mm/cache-xsc3l2.c | |||
@@ -98,7 +98,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end) | |||
98 | /* | 98 | /* |
99 | * Clean and invalidate partial last cache line. | 99 | * Clean and invalidate partial last cache line. |
100 | */ | 100 | */ |
101 | if (end & (CACHE_LINE_SIZE - 1)) { | 101 | if (start < end && (end & (CACHE_LINE_SIZE - 1))) { |
102 | xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1)); | 102 | xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1)); |
103 | xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1)); | 103 | xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1)); |
104 | end &= ~(CACHE_LINE_SIZE - 1); | 104 | end &= ~(CACHE_LINE_SIZE - 1); |
@@ -107,7 +107,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end) | |||
107 | /* | 107 | /* |
108 | * Invalidate all full cache lines between 'start' and 'end'. | 108 | * Invalidate all full cache lines between 'start' and 'end'. |
109 | */ | 109 | */ |
110 | while (start != end) { | 110 | while (start < end) { |
111 | xsc3_l2_inv_pa(start); | 111 | xsc3_l2_inv_pa(start); |
112 | start += CACHE_LINE_SIZE; | 112 | start += CACHE_LINE_SIZE; |
113 | } | 113 | } |
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 8ba754064559..e63db11f16a8 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -180,20 +180,20 @@ void adjust_cr(unsigned long mask, unsigned long set) | |||
180 | #endif | 180 | #endif |
181 | 181 | ||
182 | #define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_WRITE | 182 | #define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_WRITE |
183 | #define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_XN|PMD_SECT_AP_WRITE | 183 | #define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_AP_WRITE |
184 | 184 | ||
185 | static struct mem_type mem_types[] = { | 185 | static struct mem_type mem_types[] = { |
186 | [MT_DEVICE] = { /* Strongly ordered / ARMv6 shared device */ | 186 | [MT_DEVICE] = { /* Strongly ordered / ARMv6 shared device */ |
187 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_SHARED | | 187 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_SHARED | |
188 | L_PTE_SHARED, | 188 | L_PTE_SHARED, |
189 | .prot_l1 = PMD_TYPE_TABLE, | 189 | .prot_l1 = PMD_TYPE_TABLE, |
190 | .prot_sect = PROT_SECT_DEVICE | PMD_SECT_UNCACHED, | 190 | .prot_sect = PROT_SECT_DEVICE | PMD_SECT_S, |
191 | .domain = DOMAIN_IO, | 191 | .domain = DOMAIN_IO, |
192 | }, | 192 | }, |
193 | [MT_DEVICE_NONSHARED] = { /* ARMv6 non-shared device */ | 193 | [MT_DEVICE_NONSHARED] = { /* ARMv6 non-shared device */ |
194 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_NONSHARED, | 194 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_NONSHARED, |
195 | .prot_l1 = PMD_TYPE_TABLE, | 195 | .prot_l1 = PMD_TYPE_TABLE, |
196 | .prot_sect = PROT_SECT_DEVICE | PMD_SECT_TEX(2), | 196 | .prot_sect = PROT_SECT_DEVICE, |
197 | .domain = DOMAIN_IO, | 197 | .domain = DOMAIN_IO, |
198 | }, | 198 | }, |
199 | [MT_DEVICE_CACHED] = { /* ioremap_cached */ | 199 | [MT_DEVICE_CACHED] = { /* ioremap_cached */ |
@@ -205,7 +205,7 @@ static struct mem_type mem_types[] = { | |||
205 | [MT_DEVICE_WC] = { /* ioremap_wc */ | 205 | [MT_DEVICE_WC] = { /* ioremap_wc */ |
206 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_WC, | 206 | .prot_pte = PROT_PTE_DEVICE | L_PTE_MT_DEV_WC, |
207 | .prot_l1 = PMD_TYPE_TABLE, | 207 | .prot_l1 = PMD_TYPE_TABLE, |
208 | .prot_sect = PROT_SECT_DEVICE | PMD_SECT_BUFFERABLE, | 208 | .prot_sect = PROT_SECT_DEVICE, |
209 | .domain = DOMAIN_IO, | 209 | .domain = DOMAIN_IO, |
210 | }, | 210 | }, |
211 | [MT_CACHECLEAN] = { | 211 | [MT_CACHECLEAN] = { |
@@ -273,22 +273,23 @@ static void __init build_mem_type_table(void) | |||
273 | #endif | 273 | #endif |
274 | 274 | ||
275 | /* | 275 | /* |
276 | * On non-Xscale3 ARMv5-and-older systems, use CB=01 | 276 | * Strip out features not present on earlier architectures. |
277 | * (Uncached/Buffered) for ioremap_wc() mappings. On XScale3 | 277 | * Pre-ARMv5 CPUs don't have TEX bits. Pre-ARMv6 CPUs or those |
278 | * and ARMv6+, use TEXCB=00100 mappings (Inner/Outer Uncacheable | 278 | * without extended page tables don't have the 'Shared' bit. |
279 | * in xsc3 parlance, Uncached Normal in ARMv6 parlance). | ||
280 | */ | 279 | */ |
281 | if (cpu_is_xsc3() || cpu_arch >= CPU_ARCH_ARMv6) { | 280 | if (cpu_arch < CPU_ARCH_ARMv5) |
282 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1); | 281 | for (i = 0; i < ARRAY_SIZE(mem_types); i++) |
283 | mem_types[MT_DEVICE_WC].prot_sect &= ~PMD_SECT_BUFFERABLE; | 282 | mem_types[i].prot_sect &= ~PMD_SECT_TEX(7); |
284 | } | 283 | if ((cpu_arch < CPU_ARCH_ARMv6 || !(cr & CR_XP)) && !cpu_is_xsc3()) |
284 | for (i = 0; i < ARRAY_SIZE(mem_types); i++) | ||
285 | mem_types[i].prot_sect &= ~PMD_SECT_S; | ||
285 | 286 | ||
286 | /* | 287 | /* |
287 | * ARMv5 and lower, bit 4 must be set for page tables. | 288 | * ARMv5 and lower, bit 4 must be set for page tables (was: cache |
288 | * (was: cache "update-able on write" bit on ARM610) | 289 | * "update-able on write" bit on ARM610). However, Xscale and |
289 | * However, Xscale cores require this bit to be cleared. | 290 | * Xscale3 require this bit to be cleared. |
290 | */ | 291 | */ |
291 | if (cpu_is_xscale()) { | 292 | if (cpu_is_xscale() || cpu_is_xsc3()) { |
292 | for (i = 0; i < ARRAY_SIZE(mem_types); i++) { | 293 | for (i = 0; i < ARRAY_SIZE(mem_types); i++) { |
293 | mem_types[i].prot_sect &= ~PMD_BIT4; | 294 | mem_types[i].prot_sect &= ~PMD_BIT4; |
294 | mem_types[i].prot_l1 &= ~PMD_BIT4; | 295 | mem_types[i].prot_l1 &= ~PMD_BIT4; |
@@ -302,6 +303,64 @@ static void __init build_mem_type_table(void) | |||
302 | } | 303 | } |
303 | } | 304 | } |
304 | 305 | ||
306 | /* | ||
307 | * Mark the device areas according to the CPU/architecture. | ||
308 | */ | ||
309 | if (cpu_is_xsc3() || (cpu_arch >= CPU_ARCH_ARMv6 && (cr & CR_XP))) { | ||
310 | if (!cpu_is_xsc3()) { | ||
311 | /* | ||
312 | * Mark device regions on ARMv6+ as execute-never | ||
313 | * to prevent speculative instruction fetches. | ||
314 | */ | ||
315 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_XN; | ||
316 | mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_XN; | ||
317 | mem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_XN; | ||
318 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_XN; | ||
319 | } | ||
320 | if (cpu_arch >= CPU_ARCH_ARMv7 && (cr & CR_TRE)) { | ||
321 | /* | ||
322 | * For ARMv7 with TEX remapping, | ||
323 | * - shared device is SXCB=1100 | ||
324 | * - nonshared device is SXCB=0100 | ||
325 | * - write combine device mem is SXCB=0001 | ||
326 | * (Uncached Normal memory) | ||
327 | */ | ||
328 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_TEX(1); | ||
329 | mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(1); | ||
330 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_BUFFERABLE; | ||
331 | } else if (cpu_is_xsc3()) { | ||
332 | /* | ||
333 | * For Xscale3, | ||
334 | * - shared device is TEXCB=00101 | ||
335 | * - nonshared device is TEXCB=01000 | ||
336 | * - write combine device mem is TEXCB=00100 | ||
337 | * (Inner/Outer Uncacheable in xsc3 parlance) | ||
338 | */ | ||
339 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_TEX(1) | PMD_SECT_BUFFERED; | ||
340 | mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(2); | ||
341 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1); | ||
342 | } else { | ||
343 | /* | ||
344 | * For ARMv6 and ARMv7 without TEX remapping, | ||
345 | * - shared device is TEXCB=00001 | ||
346 | * - nonshared device is TEXCB=01000 | ||
347 | * - write combine device mem is TEXCB=00100 | ||
348 | * (Uncached Normal in ARMv6 parlance). | ||
349 | */ | ||
350 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED; | ||
351 | mem_types[MT_DEVICE_NONSHARED].prot_sect |= PMD_SECT_TEX(2); | ||
352 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_TEX(1); | ||
353 | } | ||
354 | } else { | ||
355 | /* | ||
356 | * On others, write combining is "Uncached/Buffered" | ||
357 | */ | ||
358 | mem_types[MT_DEVICE_WC].prot_sect |= PMD_SECT_BUFFERABLE; | ||
359 | } | ||
360 | |||
361 | /* | ||
362 | * Now deal with the memory-type mappings | ||
363 | */ | ||
305 | cp = &cache_policies[cachepolicy]; | 364 | cp = &cache_policies[cachepolicy]; |
306 | vecs_pgprot = kern_pgprot = user_pgprot = cp->pte; | 365 | vecs_pgprot = kern_pgprot = user_pgprot = cp->pte; |
307 | 366 | ||
@@ -317,12 +376,8 @@ static void __init build_mem_type_table(void) | |||
317 | * Enable CPU-specific coherency if supported. | 376 | * Enable CPU-specific coherency if supported. |
318 | * (Only available on XSC3 at the moment.) | 377 | * (Only available on XSC3 at the moment.) |
319 | */ | 378 | */ |
320 | if (arch_is_coherent()) { | 379 | if (arch_is_coherent() && cpu_is_xsc3()) |
321 | if (cpu_is_xsc3()) { | 380 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; |
322 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; | ||
323 | mem_types[MT_MEMORY].prot_pte |= L_PTE_SHARED; | ||
324 | } | ||
325 | } | ||
326 | 381 | ||
327 | /* | 382 | /* |
328 | * ARMv6 and above have extended page tables. | 383 | * ARMv6 and above have extended page tables. |
@@ -336,11 +391,6 @@ static void __init build_mem_type_table(void) | |||
336 | mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; | 391 | mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; |
337 | mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; | 392 | mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; |
338 | 393 | ||
339 | /* | ||
340 | * Mark the device area as "shared device" | ||
341 | */ | ||
342 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED; | ||
343 | |||
344 | #ifdef CONFIG_SMP | 394 | #ifdef CONFIG_SMP |
345 | /* | 395 | /* |
346 | * Mark memory with the "shared" attribute for SMP systems | 396 | * Mark memory with the "shared" attribute for SMP systems |
@@ -360,9 +410,6 @@ static void __init build_mem_type_table(void) | |||
360 | mem_types[MT_LOW_VECTORS].prot_pte |= vecs_pgprot; | 410 | mem_types[MT_LOW_VECTORS].prot_pte |= vecs_pgprot; |
361 | mem_types[MT_HIGH_VECTORS].prot_pte |= vecs_pgprot; | 411 | mem_types[MT_HIGH_VECTORS].prot_pte |= vecs_pgprot; |
362 | 412 | ||
363 | if (cpu_arch < CPU_ARCH_ARMv5) | ||
364 | mem_types[MT_MINICLEAN].prot_sect &= ~PMD_SECT_TEX(1); | ||
365 | |||
366 | pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot); | 413 | pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot); |
367 | pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | | 414 | pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | |
368 | L_PTE_DIRTY | L_PTE_WRITE | | 415 | L_PTE_DIRTY | L_PTE_WRITE | |
@@ -654,7 +701,7 @@ static inline void prepare_page_table(struct meminfo *mi) | |||
654 | /* | 701 | /* |
655 | * Clear out all the mappings below the kernel image. | 702 | * Clear out all the mappings below the kernel image. |
656 | */ | 703 | */ |
657 | for (addr = 0; addr < MODULE_START; addr += PGDIR_SIZE) | 704 | for (addr = 0; addr < MODULES_VADDR; addr += PGDIR_SIZE) |
658 | pmd_clear(pmd_off_k(addr)); | 705 | pmd_clear(pmd_off_k(addr)); |
659 | 706 | ||
660 | #ifdef CONFIG_XIP_KERNEL | 707 | #ifdef CONFIG_XIP_KERNEL |
@@ -766,7 +813,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
766 | */ | 813 | */ |
767 | #ifdef CONFIG_XIP_KERNEL | 814 | #ifdef CONFIG_XIP_KERNEL |
768 | map.pfn = __phys_to_pfn(CONFIG_XIP_PHYS_ADDR & SECTION_MASK); | 815 | map.pfn = __phys_to_pfn(CONFIG_XIP_PHYS_ADDR & SECTION_MASK); |
769 | map.virtual = MODULE_START; | 816 | map.virtual = MODULES_VADDR; |
770 | map.length = ((unsigned long)&_etext - map.virtual + ~SECTION_MASK) & SECTION_MASK; | 817 | map.length = ((unsigned long)&_etext - map.virtual + ~SECTION_MASK) & SECTION_MASK; |
771 | map.type = MT_ROM; | 818 | map.type = MT_ROM; |
772 | create_mapping(&map); | 819 | create_mapping(&map); |
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 07f82db70945..4d3c0a73e7fb 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -115,7 +115,7 @@ ENTRY(cpu_v7_set_pte_ext) | |||
115 | orr r3, r3, r2 | 115 | orr r3, r3, r2 |
116 | orr r3, r3, #PTE_EXT_AP0 | 2 | 116 | orr r3, r3, #PTE_EXT_AP0 | 2 |
117 | 117 | ||
118 | tst r2, #1 << 4 | 118 | tst r1, #1 << 4 |
119 | orrne r3, r3, #PTE_EXT_TEX(1) | 119 | orrne r3, r3, #PTE_EXT_TEX(1) |
120 | 120 | ||
121 | tst r1, #L_PTE_WRITE | 121 | tst r1, #L_PTE_WRITE |
@@ -192,11 +192,11 @@ __v7_setup: | |||
192 | mov pc, lr @ return to head.S:__ret | 192 | mov pc, lr @ return to head.S:__ret |
193 | ENDPROC(__v7_setup) | 193 | ENDPROC(__v7_setup) |
194 | 194 | ||
195 | /* | 195 | /* AT |
196 | * V X F I D LR | 196 | * TFR EV X F I D LR |
197 | * .... ...E PUI. .T.T 4RVI ZFRS BLDP WCAM | 197 | * .EEE ..EE PUI. .T.T 4RVI ZFRS BLDP WCAM |
198 | * rrrr rrrx xxx0 0101 xxxx xxxx x111 xxxx < forced | 198 | * rxxx rrxx xxx0 0101 xxxx xxxx x111 xxxx < forced |
199 | * 0 110 0011 1.00 .111 1101 < we want | 199 | * 1 0 110 0011 1.00 .111 1101 < we want |
200 | */ | 200 | */ |
201 | .type v7_crval, #object | 201 | .type v7_crval, #object |
202 | v7_crval: | 202 | v7_crval: |
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index bf6a10c5fc4f..be6aab9c6834 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c | |||
@@ -428,23 +428,23 @@ static int clk_debugfs_register_one(struct clk *c) | |||
428 | if (c->id != 0) | 428 | if (c->id != 0) |
429 | sprintf(p, ":%d", c->id); | 429 | sprintf(p, ":%d", c->id); |
430 | d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root); | 430 | d = debugfs_create_dir(s, pa ? pa->dent : clk_debugfs_root); |
431 | if (IS_ERR(d)) | 431 | if (!d) |
432 | return PTR_ERR(d); | 432 | return -ENOMEM; |
433 | c->dent = d; | 433 | c->dent = d; |
434 | 434 | ||
435 | d = debugfs_create_u8("usecount", S_IRUGO, c->dent, (u8 *)&c->usecount); | 435 | d = debugfs_create_u8("usecount", S_IRUGO, c->dent, (u8 *)&c->usecount); |
436 | if (IS_ERR(d)) { | 436 | if (!d) { |
437 | err = PTR_ERR(d); | 437 | err = -ENOMEM; |
438 | goto err_out; | 438 | goto err_out; |
439 | } | 439 | } |
440 | d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate); | 440 | d = debugfs_create_u32("rate", S_IRUGO, c->dent, (u32 *)&c->rate); |
441 | if (IS_ERR(d)) { | 441 | if (!d) { |
442 | err = PTR_ERR(d); | 442 | err = -ENOMEM; |
443 | goto err_out; | 443 | goto err_out; |
444 | } | 444 | } |
445 | d = debugfs_create_x32("flags", S_IRUGO, c->dent, (u32 *)&c->flags); | 445 | d = debugfs_create_x32("flags", S_IRUGO, c->dent, (u32 *)&c->flags); |
446 | if (IS_ERR(d)) { | 446 | if (!d) { |
447 | err = PTR_ERR(d); | 447 | err = -ENOMEM; |
448 | goto err_out; | 448 | goto err_out; |
449 | } | 449 | } |
450 | return 0; | 450 | return 0; |
@@ -483,8 +483,8 @@ static int __init clk_debugfs_init(void) | |||
483 | int err; | 483 | int err; |
484 | 484 | ||
485 | d = debugfs_create_dir("clock", NULL); | 485 | d = debugfs_create_dir("clock", NULL); |
486 | if (IS_ERR(d)) | 486 | if (!d) |
487 | return PTR_ERR(d); | 487 | return -ENOMEM; |
488 | clk_debugfs_root = d; | 488 | clk_debugfs_root = d; |
489 | 489 | ||
490 | list_for_each_entry(c, &clocks, node) { | 490 | list_for_each_entry(c, &clocks, node) { |
diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S b/arch/arm/plat-omap/include/mach/entry-macro.S index 030118ee204a..2276f89671d8 100644 --- a/arch/arm/plat-omap/include/mach/entry-macro.S +++ b/arch/arm/plat-omap/include/mach/entry-macro.S | |||
@@ -65,7 +65,8 @@ | |||
65 | #include <mach/omap34xx.h> | 65 | #include <mach/omap34xx.h> |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt number */ | 68 | #define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */ |
69 | #define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */ | ||
69 | 70 | ||
70 | .macro disable_fiq | 71 | .macro disable_fiq |
71 | .endm | 72 | .endm |
@@ -88,6 +89,7 @@ | |||
88 | cmp \irqnr, #0x0 | 89 | cmp \irqnr, #0x0 |
89 | 2222: | 90 | 2222: |
90 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] | 91 | ldrne \irqnr, [\base, #INTCPS_SIR_IRQ_OFFSET] |
92 | and \irqnr, \irqnr, #ACTIVEIRQ_MASK /* Clear spurious bits */ | ||
91 | 93 | ||
92 | .endm | 94 | .endm |
93 | 95 | ||
diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h index a2929ac8c687..bed5274c910a 100644 --- a/arch/arm/plat-omap/include/mach/irqs.h +++ b/arch/arm/plat-omap/include/mach/irqs.h | |||
@@ -372,7 +372,7 @@ | |||
372 | 372 | ||
373 | /* External TWL4030 gpio interrupts are optional */ | 373 | /* External TWL4030 gpio interrupts are optional */ |
374 | #define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END | 374 | #define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END |
375 | #ifdef CONFIG_TWL4030_GPIO | 375 | #ifdef CONFIG_GPIO_TWL4030 |
376 | #define TWL4030_GPIO_NR_IRQS 18 | 376 | #define TWL4030_GPIO_NR_IRQS 18 |
377 | #else | 377 | #else |
378 | #define TWL4030_GPIO_NR_IRQS 0 | 378 | #define TWL4030_GPIO_NR_IRQS 0 |
diff --git a/arch/cris/Makefile b/arch/cris/Makefile index c6f5f5a2ffdf..3662cfb7b61d 100644 --- a/arch/cris/Makefile +++ b/arch/cris/Makefile | |||
@@ -23,12 +23,17 @@ mach-$(CONFIG_ETRAXFS) := fs | |||
23 | 23 | ||
24 | ifneq ($(arch-y),) | 24 | ifneq ($(arch-y),) |
25 | SARCH := arch-$(arch-y) | 25 | SARCH := arch-$(arch-y) |
26 | inc := -Iarch/cris/include/$(SARCH) | ||
27 | inc += -Iarch/cris/include/$(SARCH)/arch | ||
26 | else | 28 | else |
27 | SARCH := | 29 | SARCH := |
30 | inc := | ||
28 | endif | 31 | endif |
29 | 32 | ||
30 | ifneq ($(mach-y),) | 33 | ifneq ($(mach-y),) |
31 | MACH := mach-$(mach-y) | 34 | MACH := mach-$(mach-y) |
35 | inc += -Iarch/cris/include/$(SARCH)/$(MACH)/ | ||
36 | inc += -Iarch/cris/include/$(SARCH)/$(MACH)/mach | ||
32 | else | 37 | else |
33 | MACH := | 38 | MACH := |
34 | endif | 39 | endif |
@@ -39,95 +44,57 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S | |||
39 | 44 | ||
40 | CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) | 45 | CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) |
41 | 46 | ||
42 | KBUILD_AFLAGS += -mlinux -march=$(arch-y) -Iinclude/asm/arch/mach -Iinclude/asm/arch | 47 | KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc) |
43 | 48 | KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc) | |
44 | KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe -Iinclude/asm/arch/mach -Iinclude/asm/arch | 49 | KBUILD_CPPFLAGS += $(inc) |
45 | 50 | ||
46 | ifdef CONFIG_FRAME_POINTER | 51 | ifdef CONFIG_FRAME_POINTER |
47 | KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g | 52 | KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g |
48 | KBUILD_CFLAGS += -fno-omit-frame-pointer | 53 | KBUILD_CFLAGS += -fno-omit-frame-pointer |
49 | endif | 54 | endif |
50 | 55 | ||
51 | head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o | 56 | head-y := arch/cris/$(SARCH)/kernel/head.o |
52 | 57 | ||
53 | LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) | 58 | LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) |
54 | 59 | ||
55 | core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ | 60 | core-y += arch/cris/kernel/ arch/cris/mm/ |
56 | core-y += arch/$(ARCH)/$(SARCH)/kernel/ arch/$(ARCH)/$(SARCH)/mm/ | 61 | core-y += arch/cris/$(SARCH)/kernel/ arch/cris/$(SARCH)/mm/ |
57 | ifdef CONFIG_ETRAX_ARCH_V32 | 62 | ifdef CONFIG_ETRAX_ARCH_V32 |
58 | core-y += arch/$(ARCH)/$(SARCH)/$(MACH)/ | 63 | core-y += arch/cris/$(SARCH)/$(MACH)/ |
59 | endif | 64 | endif |
60 | drivers-y += arch/$(ARCH)/$(SARCH)/drivers/ | 65 | drivers-y += arch/cris/$(SARCH)/drivers/ |
61 | libs-y += arch/$(ARCH)/$(SARCH)/lib/ $(LIBGCC) | 66 | libs-y += arch/cris/$(SARCH)/lib/ $(LIBGCC) |
62 | 67 | ||
63 | # cris source path | 68 | # cris source path |
64 | SRC_ARCH = $(srctree)/arch/$(ARCH) | 69 | SRC_ARCH = $(srctree)/arch/cris |
65 | # cris object files path | 70 | # cris object files path |
66 | OBJ_ARCH = $(objtree)/arch/$(ARCH) | 71 | OBJ_ARCH = $(objtree)/arch/cris |
67 | 72 | ||
68 | boot := arch/$(ARCH)/boot | 73 | boot := arch/cris/$(SARCH)/boot |
69 | MACHINE := arch/$(ARCH)/$(SARCH) | 74 | MACHINE := arch/cris/$(SARCH) |
70 | 75 | ||
71 | all: zImage | 76 | all: zImage |
72 | 77 | ||
73 | zImage Image: vmlinux | 78 | zImage Image: vmlinux |
74 | $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ | 79 | $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ |
75 | 80 | ||
76 | archprepare: $(SRC_ARCH)/.links $(srctree)/include/asm-$(ARCH)/.arch FORCE | 81 | archprepare: |
77 | |||
78 | # Create some links to make all tools happy | ||
79 | $(SRC_ARCH)/.links: | ||
80 | @rm -rf $(SRC_ARCH)/drivers | ||
81 | @ln -sfn $(SARCH)/drivers $(SRC_ARCH)/drivers | ||
82 | @rm -rf $(SRC_ARCH)/boot | ||
83 | @ln -sfn $(SARCH)/boot $(SRC_ARCH)/boot | ||
84 | @rm -rf $(SRC_ARCH)/lib | ||
85 | @ln -sfn $(SARCH)/lib $(SRC_ARCH)/lib | ||
86 | @rm -f $(SRC_ARCH)/arch/mach | ||
87 | @rm -rf $(SRC_ARCH)/arch | ||
88 | @ln -sfn $(SARCH) $(SRC_ARCH)/arch | ||
89 | ifdef CONFIG_ETRAX_ARCH_V32 | ||
90 | @ln -sfn ../$(SARCH)/$(MACH) $(SRC_ARCH)/arch/mach | ||
91 | endif | ||
92 | @rm -rf $(SRC_ARCH)/kernel/vmlinux.lds.S | ||
93 | @ln -sfn ../$(SARCH)/vmlinux.lds.S $(SRC_ARCH)/kernel/vmlinux.lds.S | ||
94 | @rm -rf $(SRC_ARCH)/kernel/asm-offsets.c | ||
95 | @ln -sfn ../$(SARCH)/kernel/asm-offsets.c $(SRC_ARCH)/kernel/asm-offsets.c | ||
96 | @touch $@ | ||
97 | |||
98 | # Create link to sub arch includes | ||
99 | $(srctree)/include/asm-$(ARCH)/.arch: $(wildcard include/config/arch/*.h) | ||
100 | @echo ' SYMLINK include/asm-$(ARCH)/arch -> include/asm-$(ARCH)/$(SARCH)' | ||
101 | @rm -f $(srctree)/include/asm-$(ARCH)/arch/mach | ||
102 | @rm -f $(srctree)/include/asm-$(ARCH)/arch | ||
103 | @ln -sf $(SARCH) $(srctree)/include/asm-$(ARCH)/arch | ||
104 | ifdef CONFIG_ETRAX_ARCH_V32 | ||
105 | @ln -sf $(MACH) $(srctree)/include/asm-$(ARCH)/arch/mach | ||
106 | endif | ||
107 | @touch $@ | ||
108 | 82 | ||
109 | archclean: | 83 | archclean: |
110 | $(Q)if [ -e arch/$(ARCH)/boot ]; then \ | 84 | $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \ |
111 | $(MAKE) $(clean)=arch/$(ARCH)/boot; \ | 85 | $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \ |
112 | fi | 86 | fi |
113 | 87 | ||
114 | CLEAN_FILES += \ | 88 | CLEAN_FILES += \ |
115 | $(MACHINE)/boot/zImage \ | 89 | $(MACHINE)/boot/zImage \ |
116 | $(MACHINE)/boot/compressed/decompress.bin \ | 90 | $(MACHINE)/boot/compressed/decompress.bin \ |
117 | $(MACHINE)/boot/compressed/piggy.gz \ | 91 | $(MACHINE)/boot/compressed/piggy.gz \ |
118 | $(MACHINE)/boot/rescue/rescue.bin \ | 92 | $(MACHINE)/boot/rescue/rescue.bin |
119 | $(SRC_ARCH)/.links \ | 93 | |
120 | $(srctree)/include/asm-$(ARCH)/.arch | 94 | |
121 | 95 | # MRPROPER_FILES += | |
122 | MRPROPER_FILES += \ | ||
123 | $(SRC_ARCH)/drivers \ | ||
124 | $(SRC_ARCH)/boot \ | ||
125 | $(SRC_ARCH)/lib \ | ||
126 | $(SRC_ARCH)/arch \ | ||
127 | $(SRC_ARCH)/kernel/vmlinux.lds.S \ | ||
128 | $(SRC_ARCH)/kernel/asm-offsets.c | ||
129 | 96 | ||
130 | define archhelp | 97 | define archhelp |
131 | echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' | 98 | echo '* zImage - Compressed kernel image (arch/cris/boot/zImage)' |
132 | echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' | 99 | echo '* Image - Uncompressed kernel image (arch/cris/boot/Image)' |
133 | endef | 100 | endef |
diff --git a/arch/cris/arch-v10/boot/.gitignore b/arch/cris/arch-v10/boot/.gitignore new file mode 100644 index 000000000000..171a0853caf8 --- /dev/null +++ b/arch/cris/arch-v10/boot/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | Image | ||
2 | zImage | ||
diff --git a/arch/cris/arch-v10/boot/compressed/head.S b/arch/cris/arch-v10/boot/compressed/head.S index 981fbae84959..0bb4dcc29254 100644 --- a/arch/cris/arch-v10/boot/compressed/head.S +++ b/arch/cris/arch-v10/boot/compressed/head.S | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #define ASSEMBLER_MACROS_ONLY | 11 | #define ASSEMBLER_MACROS_ONLY |
12 | #include <asm/arch/sv_addr_ag.h> | 12 | #include <arch/sv_addr_ag.h> |
13 | 13 | ||
14 | #define RAM_INIT_MAGIC 0x56902387 | 14 | #define RAM_INIT_MAGIC 0x56902387 |
15 | #define COMMAND_LINE_MAGIC 0x87109563 | 15 | #define COMMAND_LINE_MAGIC 0x87109563 |
diff --git a/arch/cris/arch-v10/boot/compressed/misc.c b/arch/cris/arch-v10/boot/compressed/misc.c index d933c89889db..a4db1507d3b1 100644 --- a/arch/cris/arch-v10/boot/compressed/misc.c +++ b/arch/cris/arch-v10/boot/compressed/misc.c | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | 21 | ||
22 | #include <linux/types.h> | 22 | #include <linux/types.h> |
23 | #include <asm/arch/svinto.h> | 23 | #include <arch/svinto.h> |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * gzip declarations | 26 | * gzip declarations |
diff --git a/arch/cris/arch-v10/boot/rescue/head.S b/arch/cris/arch-v10/boot/rescue/head.S index 6ba7be8ac4a0..fb503d1eeea4 100644 --- a/arch/cris/arch-v10/boot/rescue/head.S +++ b/arch/cris/arch-v10/boot/rescue/head.S | |||
@@ -65,7 +65,7 @@ | |||
65 | #ifdef CONFIG_ETRAX_AXISFLASHMAP | 65 | #ifdef CONFIG_ETRAX_AXISFLASHMAP |
66 | 66 | ||
67 | #define ASSEMBLER_MACROS_ONLY | 67 | #define ASSEMBLER_MACROS_ONLY |
68 | #include <asm/arch/sv_addr_ag.h> | 68 | #include <arch/sv_addr_ag.h> |
69 | 69 | ||
70 | ;; The partitiontable is looked for at the first sector after the boot | 70 | ;; The partitiontable is looked for at the first sector after the boot |
71 | ;; sector. Sector size is 65536 bytes in all flashes we use. | 71 | ;; sector. Sector size is 65536 bytes in all flashes we use. |
diff --git a/arch/cris/arch-v10/boot/rescue/kimagerescue.S b/arch/cris/arch-v10/boot/rescue/kimagerescue.S index 55eeff8bb08e..6f7b3e61260b 100644 --- a/arch/cris/arch-v10/boot/rescue/kimagerescue.S +++ b/arch/cris/arch-v10/boot/rescue/kimagerescue.S | |||
@@ -6,7 +6,7 @@ | |||
6 | */ | 6 | */ |
7 | 7 | ||
8 | #define ASSEMBLER_MACROS_ONLY | 8 | #define ASSEMBLER_MACROS_ONLY |
9 | #include <asm/arch/sv_addr_ag.h> | 9 | #include <arch/sv_addr_ag.h> |
10 | 10 | ||
11 | #define CODE_START 0x40004000 | 11 | #define CODE_START 0x40004000 |
12 | #define CODE_LENGTH 784 | 12 | #define CODE_LENGTH 784 |
diff --git a/arch/cris/arch-v10/boot/rescue/testrescue.S b/arch/cris/arch-v10/boot/rescue/testrescue.S index 2d937f9afe23..fc7ec674eca5 100644 --- a/arch/cris/arch-v10/boot/rescue/testrescue.S +++ b/arch/cris/arch-v10/boot/rescue/testrescue.S | |||
@@ -6,7 +6,7 @@ | |||
6 | */ | 6 | */ |
7 | 7 | ||
8 | #define ASSEMBLER_MACROS_ONLY | 8 | #define ASSEMBLER_MACROS_ONLY |
9 | #include <asm/arch/sv_addr_ag.h> | 9 | #include <arch/sv_addr_ag.h> |
10 | 10 | ||
11 | .text | 11 | .text |
12 | 12 | ||
diff --git a/arch/cris/arch-v10/drivers/axisflashmap.c b/arch/cris/arch-v10/drivers/axisflashmap.c index b3bdda93ffef..b2079703af7e 100644 --- a/arch/cris/arch-v10/drivers/axisflashmap.c +++ b/arch/cris/arch-v10/drivers/axisflashmap.c | |||
@@ -26,7 +26,7 @@ | |||
26 | 26 | ||
27 | #include <asm/axisflashmap.h> | 27 | #include <asm/axisflashmap.h> |
28 | #include <asm/mmu.h> | 28 | #include <asm/mmu.h> |
29 | #include <asm/arch/sv_addr_ag.h> | 29 | #include <arch/sv_addr_ag.h> |
30 | 30 | ||
31 | #ifdef CONFIG_CRIS_LOW_MAP | 31 | #ifdef CONFIG_CRIS_LOW_MAP |
32 | #define FLASH_UNCACHED_ADDR KSEG_8 | 32 | #define FLASH_UNCACHED_ADDR KSEG_8 |
diff --git a/arch/cris/arch-v10/drivers/ds1302.c b/arch/cris/arch-v10/drivers/ds1302.c index 3bdfaf43390c..77630df94343 100644 --- a/arch/cris/arch-v10/drivers/ds1302.c +++ b/arch/cris/arch-v10/drivers/ds1302.c | |||
@@ -24,10 +24,10 @@ | |||
24 | 24 | ||
25 | #include <asm/uaccess.h> | 25 | #include <asm/uaccess.h> |
26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
27 | #include <asm/arch/svinto.h> | 27 | #include <arch/svinto.h> |
28 | #include <asm/io.h> | 28 | #include <asm/io.h> |
29 | #include <asm/rtc.h> | 29 | #include <asm/rtc.h> |
30 | #include <asm/arch/io_interface_mux.h> | 30 | #include <arch/io_interface_mux.h> |
31 | 31 | ||
32 | #include "i2c.h" | 32 | #include "i2c.h" |
33 | 33 | ||
diff --git a/arch/cris/arch-v10/drivers/gpio.c b/arch/cris/arch-v10/drivers/gpio.c index 86048e697eb5..4b0f65fac8e8 100644 --- a/arch/cris/arch-v10/drivers/gpio.c +++ b/arch/cris/arch-v10/drivers/gpio.c | |||
@@ -23,11 +23,11 @@ | |||
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | 24 | ||
25 | #include <asm/etraxgpio.h> | 25 | #include <asm/etraxgpio.h> |
26 | #include <asm/arch/svinto.h> | 26 | #include <arch/svinto.h> |
27 | #include <asm/io.h> | 27 | #include <asm/io.h> |
28 | #include <asm/system.h> | 28 | #include <asm/system.h> |
29 | #include <asm/irq.h> | 29 | #include <asm/irq.h> |
30 | #include <asm/arch/io_interface_mux.h> | 30 | #include <arch/io_interface_mux.h> |
31 | 31 | ||
32 | #define GPIO_MAJOR 120 /* experimental MAJOR number */ | 32 | #define GPIO_MAJOR 120 /* experimental MAJOR number */ |
33 | 33 | ||
diff --git a/arch/cris/arch-v10/drivers/i2c.c b/arch/cris/arch-v10/drivers/i2c.c index 2797e67ce4f4..7f656ae0b21d 100644 --- a/arch/cris/arch-v10/drivers/i2c.c +++ b/arch/cris/arch-v10/drivers/i2c.c | |||
@@ -25,10 +25,10 @@ | |||
25 | #include <asm/etraxi2c.h> | 25 | #include <asm/etraxi2c.h> |
26 | 26 | ||
27 | #include <asm/system.h> | 27 | #include <asm/system.h> |
28 | #include <asm/arch/svinto.h> | 28 | #include <arch/svinto.h> |
29 | #include <asm/io.h> | 29 | #include <asm/io.h> |
30 | #include <asm/delay.h> | 30 | #include <asm/delay.h> |
31 | #include <asm/arch/io_interface_mux.h> | 31 | #include <arch/io_interface_mux.h> |
32 | 32 | ||
33 | #include "i2c.h" | 33 | #include "i2c.h" |
34 | 34 | ||
diff --git a/arch/cris/arch-v10/drivers/sync_serial.c b/arch/cris/arch-v10/drivers/sync_serial.c index 91fea623c7c9..6cc1a0319a5d 100644 --- a/arch/cris/arch-v10/drivers/sync_serial.c +++ b/arch/cris/arch-v10/drivers/sync_serial.c | |||
@@ -26,11 +26,11 @@ | |||
26 | #include <asm/irq.h> | 26 | #include <asm/irq.h> |
27 | #include <asm/dma.h> | 27 | #include <asm/dma.h> |
28 | #include <asm/io.h> | 28 | #include <asm/io.h> |
29 | #include <asm/arch/svinto.h> | 29 | #include <arch/svinto.h> |
30 | #include <asm/uaccess.h> | 30 | #include <asm/uaccess.h> |
31 | #include <asm/system.h> | 31 | #include <asm/system.h> |
32 | #include <asm/sync_serial.h> | 32 | #include <asm/sync_serial.h> |
33 | #include <asm/arch/io_interface_mux.h> | 33 | #include <arch/io_interface_mux.h> |
34 | 34 | ||
35 | /* The receiver is a bit tricky beacuse of the continuous stream of data.*/ | 35 | /* The receiver is a bit tricky beacuse of the continuous stream of data.*/ |
36 | /* */ | 36 | /* */ |
diff --git a/arch/cris/arch-v10/kernel/asm-offsets.c b/arch/cris/arch-v10/kernel/asm-offsets.c deleted file mode 100644 index 1aa3cc4e7107..000000000000 --- a/arch/cris/arch-v10/kernel/asm-offsets.c +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | #include <linux/sched.h> | ||
2 | #include <asm/thread_info.h> | ||
3 | |||
4 | /* | ||
5 | * Generate definitions needed by assembly language modules. | ||
6 | * This code generates raw asm output which is post-processed to extract | ||
7 | * and format the required data. | ||
8 | */ | ||
9 | |||
10 | #define DEFINE(sym, val) \ | ||
11 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | ||
12 | |||
13 | #define BLANK() asm volatile("\n->" : : ) | ||
14 | |||
15 | int main(void) | ||
16 | { | ||
17 | #define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry)) | ||
18 | ENTRY(orig_r10); | ||
19 | ENTRY(r13); | ||
20 | ENTRY(r12); | ||
21 | ENTRY(r11); | ||
22 | ENTRY(r10); | ||
23 | ENTRY(r9); | ||
24 | ENTRY(mof); | ||
25 | ENTRY(dccr); | ||
26 | ENTRY(srp); | ||
27 | BLANK(); | ||
28 | #undef ENTRY | ||
29 | #define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry)) | ||
30 | ENTRY(task); | ||
31 | ENTRY(flags); | ||
32 | ENTRY(preempt_count); | ||
33 | BLANK(); | ||
34 | #undef ENTRY | ||
35 | #define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry)) | ||
36 | ENTRY(ksp); | ||
37 | ENTRY(usp); | ||
38 | ENTRY(dccr); | ||
39 | BLANK(); | ||
40 | #undef ENTRY | ||
41 | #define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry)) | ||
42 | ENTRY(pid); | ||
43 | BLANK(); | ||
44 | DEFINE(LCLONE_VM, CLONE_VM); | ||
45 | DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED); | ||
46 | return 0; | ||
47 | } | ||
diff --git a/arch/cris/arch-v10/kernel/crisksyms.c b/arch/cris/arch-v10/kernel/crisksyms.c index e6b80135502f..1ca6fc283232 100644 --- a/arch/cris/arch-v10/kernel/crisksyms.c +++ b/arch/cris/arch-v10/kernel/crisksyms.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include <linux/module.h> | 1 | #include <linux/module.h> |
2 | #include <asm/io.h> | 2 | #include <asm/io.h> |
3 | #include <asm/arch/svinto.h> | 3 | #include <arch/svinto.h> |
4 | 4 | ||
5 | /* Export shadow registers for the CPU I/O pins */ | 5 | /* Export shadow registers for the CPU I/O pins */ |
6 | EXPORT_SYMBOL(genconfig_shadow); | 6 | EXPORT_SYMBOL(genconfig_shadow); |
diff --git a/arch/cris/arch-v10/kernel/debugport.c b/arch/cris/arch-v10/kernel/debugport.c index 3dc6e91ba39e..99851ba8e5fa 100644 --- a/arch/cris/arch-v10/kernel/debugport.c +++ b/arch/cris/arch-v10/kernel/debugport.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/tty.h> | 20 | #include <linux/tty.h> |
21 | #include <asm/system.h> | 21 | #include <asm/system.h> |
22 | #include <asm/arch/svinto.h> | 22 | #include <arch/svinto.h> |
23 | #include <asm/io.h> /* Get SIMCOUT. */ | 23 | #include <asm/io.h> /* Get SIMCOUT. */ |
24 | 24 | ||
25 | extern void reset_watchdog(void); | 25 | extern void reset_watchdog(void); |
diff --git a/arch/cris/arch-v10/kernel/dma.c b/arch/cris/arch-v10/kernel/dma.c index eb1fa0d2b49f..929e68666299 100644 --- a/arch/cris/arch-v10/kernel/dma.c +++ b/arch/cris/arch-v10/kernel/dma.c | |||
@@ -7,7 +7,7 @@ | |||
7 | #include <linux/errno.h> | 7 | #include <linux/errno.h> |
8 | 8 | ||
9 | #include <asm/dma.h> | 9 | #include <asm/dma.h> |
10 | #include <asm/arch/svinto.h> | 10 | #include <arch/svinto.h> |
11 | 11 | ||
12 | /* Macro to access ETRAX 100 registers */ | 12 | /* Macro to access ETRAX 100 registers */ |
13 | #define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \ | 13 | #define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \ |
diff --git a/arch/cris/arch-v10/kernel/entry.S b/arch/cris/arch-v10/kernel/entry.S index 3a65f322ae07..ed171d389e65 100644 --- a/arch/cris/arch-v10/kernel/entry.S +++ b/arch/cris/arch-v10/kernel/entry.S | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/linkage.h> | 23 | #include <linux/linkage.h> |
24 | #include <linux/sys.h> | 24 | #include <linux/sys.h> |
25 | #include <asm/unistd.h> | 25 | #include <asm/unistd.h> |
26 | #include <asm/arch/sv_addr_ag.h> | 26 | #include <arch/sv_addr_ag.h> |
27 | #include <asm/errno.h> | 27 | #include <asm/errno.h> |
28 | #include <asm/thread_info.h> | 28 | #include <asm/thread_info.h> |
29 | #include <asm/asm-offsets.h> | 29 | #include <asm/asm-offsets.h> |
diff --git a/arch/cris/arch-v10/kernel/fasttimer.c b/arch/cris/arch-v10/kernel/fasttimer.c index 31ff35cff02c..5ff08a8695e9 100644 --- a/arch/cris/arch-v10/kernel/fasttimer.c +++ b/arch/cris/arch-v10/kernel/fasttimer.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <asm/rtc.h> | 24 | #include <asm/rtc.h> |
25 | 25 | ||
26 | 26 | ||
27 | #include <asm/arch/svinto.h> | 27 | #include <arch/svinto.h> |
28 | #include <asm/fasttimer.h> | 28 | #include <asm/fasttimer.h> |
29 | #include <linux/proc_fs.h> | 29 | #include <linux/proc_fs.h> |
30 | 30 | ||
diff --git a/arch/cris/arch-v10/kernel/head.S b/arch/cris/arch-v10/kernel/head.S index 96344afc4ebc..fc4577102933 100644 --- a/arch/cris/arch-v10/kernel/head.S +++ b/arch/cris/arch-v10/kernel/head.S | |||
@@ -10,7 +10,7 @@ | |||
10 | #define ASSEMBLER_MACROS_ONLY | 10 | #define ASSEMBLER_MACROS_ONLY |
11 | /* The IO_* macros use the ## token concatenation operator, so | 11 | /* The IO_* macros use the ## token concatenation operator, so |
12 | -traditional must not be used when assembling this file. */ | 12 | -traditional must not be used when assembling this file. */ |
13 | #include <asm/arch/sv_addr_ag.h> | 13 | #include <arch/sv_addr_ag.h> |
14 | 14 | ||
15 | #define CRAMFS_MAGIC 0x28cd3d45 | 15 | #define CRAMFS_MAGIC 0x28cd3d45 |
16 | #define RAM_INIT_MAGIC 0x56902387 | 16 | #define RAM_INIT_MAGIC 0x56902387 |
diff --git a/arch/cris/arch-v10/kernel/io_interface_mux.c b/arch/cris/arch-v10/kernel/io_interface_mux.c index add98e0941b5..29f97e962795 100644 --- a/arch/cris/arch-v10/kernel/io_interface_mux.c +++ b/arch/cris/arch-v10/kernel/io_interface_mux.c | |||
@@ -11,9 +11,9 @@ | |||
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | 13 | ||
14 | #include <asm/arch/svinto.h> | 14 | #include <arch/svinto.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/arch/io_interface_mux.h> | 16 | #include <arch/io_interface_mux.h> |
17 | 17 | ||
18 | 18 | ||
19 | #define DBG(s) | 19 | #define DBG(s) |
diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 6fea45f2e40c..b9f9c8ce2169 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c | |||
@@ -176,7 +176,7 @@ | |||
176 | #include <asm/setup.h> | 176 | #include <asm/setup.h> |
177 | #include <asm/ptrace.h> | 177 | #include <asm/ptrace.h> |
178 | 178 | ||
179 | #include <asm/arch/svinto.h> | 179 | #include <arch/svinto.h> |
180 | #include <asm/irq.h> | 180 | #include <asm/irq.h> |
181 | 181 | ||
182 | static int kgdb_started = 0; | 182 | static int kgdb_started = 0; |
diff --git a/arch/cris/arch-v10/kernel/process.c b/arch/cris/arch-v10/kernel/process.c index 53117f07cc1a..bd9b3ff63f6c 100644 --- a/arch/cris/arch-v10/kernel/process.c +++ b/arch/cris/arch-v10/kernel/process.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/err.h> | 14 | #include <linux/err.h> |
15 | #include <linux/fs.h> | 15 | #include <linux/fs.h> |
16 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
17 | #include <asm/arch/svinto.h> | 17 | #include <arch/svinto.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | 19 | ||
20 | #ifdef CONFIG_ETRAX_GPIO | 20 | #ifdef CONFIG_ETRAX_GPIO |
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index 525483f0ddf8..c685ba4c3387 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <linux/mm.h> | 16 | #include <linux/mm.h> |
17 | #include <asm/arch/svinto.h> | 17 | #include <arch/svinto.h> |
18 | #include <asm/types.h> | 18 | #include <asm/types.h> |
19 | #include <asm/signal.h> | 19 | #include <asm/signal.h> |
20 | #include <asm/io.h> | 20 | #include <asm/io.h> |
diff --git a/arch/cris/arch-v10/kernel/traps.c b/arch/cris/arch-v10/kernel/traps.c index 9eada5d8893b..8bebb96bbca1 100644 --- a/arch/cris/arch-v10/kernel/traps.c +++ b/arch/cris/arch-v10/kernel/traps.c | |||
@@ -10,7 +10,7 @@ | |||
10 | 10 | ||
11 | #include <linux/ptrace.h> | 11 | #include <linux/ptrace.h> |
12 | #include <asm/uaccess.h> | 12 | #include <asm/uaccess.h> |
13 | #include <asm/arch/sv_addr_ag.h> | 13 | #include <arch/sv_addr_ag.h> |
14 | 14 | ||
15 | void | 15 | void |
16 | show_registers(struct pt_regs *regs) | 16 | show_registers(struct pt_regs *regs) |
diff --git a/arch/cris/arch-v10/mm/fault.c b/arch/cris/arch-v10/mm/fault.c index 65504fd80928..087a2096f221 100644 --- a/arch/cris/arch-v10/mm/fault.c +++ b/arch/cris/arch-v10/mm/fault.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <asm/uaccess.h> | 14 | #include <asm/uaccess.h> |
15 | #include <asm/pgtable.h> | 15 | #include <asm/pgtable.h> |
16 | #include <asm/arch/svinto.h> | 16 | #include <arch/svinto.h> |
17 | #include <asm/mmu_context.h> | 17 | #include <asm/mmu_context.h> |
18 | 18 | ||
19 | /* debug of low-level TLB reload */ | 19 | /* debug of low-level TLB reload */ |
diff --git a/arch/cris/arch-v10/mm/init.c b/arch/cris/arch-v10/mm/init.c index 742fd1974c2e..baa746ce4e74 100644 --- a/arch/cris/arch-v10/mm/init.c +++ b/arch/cris/arch-v10/mm/init.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <asm/mmu.h> | 12 | #include <asm/mmu.h> |
13 | #include <asm/io.h> | 13 | #include <asm/io.h> |
14 | #include <asm/mmu_context.h> | 14 | #include <asm/mmu_context.h> |
15 | #include <asm/arch/svinto.h> | 15 | #include <arch/svinto.h> |
16 | 16 | ||
17 | extern void tlb_init(void); | 17 | extern void tlb_init(void); |
18 | 18 | ||
diff --git a/arch/cris/arch-v10/mm/tlb.c b/arch/cris/arch-v10/mm/tlb.c index 6baf5bd209e7..4a496e4ffacc 100644 --- a/arch/cris/arch-v10/mm/tlb.c +++ b/arch/cris/arch-v10/mm/tlb.c | |||
@@ -12,7 +12,7 @@ | |||
12 | 12 | ||
13 | #include <asm/tlb.h> | 13 | #include <asm/tlb.h> |
14 | #include <asm/mmu_context.h> | 14 | #include <asm/mmu_context.h> |
15 | #include <asm/arch/svinto.h> | 15 | #include <arch/svinto.h> |
16 | 16 | ||
17 | #define D(x) | 17 | #define D(x) |
18 | 18 | ||
diff --git a/arch/cris/arch-v10/vmlinux.lds.S b/arch/cris/arch-v10/vmlinux.lds.S deleted file mode 100644 index 93c9f0ea286b..000000000000 --- a/arch/cris/arch-v10/vmlinux.lds.S +++ /dev/null | |||
@@ -1,118 +0,0 @@ | |||
1 | /* ld script to make the Linux/CRIS kernel | ||
2 | * Authors: Bjorn Wesen (bjornw@axis.com) | ||
3 | * | ||
4 | * It is VERY DANGEROUS to fiddle around with the symbols in this | ||
5 | * script. It is for example quite vital that all generated sections | ||
6 | * that are used are actually named here, otherwise the linker will | ||
7 | * put them at the end, where the init stuff is which is FREED after | ||
8 | * the kernel has booted. | ||
9 | */ | ||
10 | |||
11 | #include <asm-generic/vmlinux.lds.h> | ||
12 | #include <asm/page.h> | ||
13 | |||
14 | jiffies = jiffies_64; | ||
15 | SECTIONS | ||
16 | { | ||
17 | . = DRAM_VIRTUAL_BASE; | ||
18 | dram_start = .; | ||
19 | ibr_start = .; | ||
20 | . = . + 0x4000; /* see head.S and pages reserved at the start */ | ||
21 | |||
22 | _text = .; /* Text and read-only data */ | ||
23 | text_start = .; /* lots of aliases */ | ||
24 | _stext = .; | ||
25 | __stext = .; | ||
26 | .text : { | ||
27 | TEXT_TEXT | ||
28 | SCHED_TEXT | ||
29 | LOCK_TEXT | ||
30 | *(.fixup) | ||
31 | *(.text.__*) | ||
32 | } | ||
33 | |||
34 | _etext = . ; /* End of text section */ | ||
35 | __etext = .; | ||
36 | |||
37 | . = ALIGN(4); /* Exception table */ | ||
38 | __start___ex_table = .; | ||
39 | __ex_table : { *(__ex_table) } | ||
40 | __stop___ex_table = .; | ||
41 | |||
42 | RODATA | ||
43 | |||
44 | . = ALIGN (4); | ||
45 | ___data_start = . ; | ||
46 | __Sdata = . ; | ||
47 | .data : { /* Data */ | ||
48 | DATA_DATA | ||
49 | } | ||
50 | __edata = . ; /* End of data section */ | ||
51 | _edata = . ; | ||
52 | |||
53 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned */ | ||
54 | .data.init_task : { *(.data.init_task) } | ||
55 | |||
56 | . = ALIGN(PAGE_SIZE); /* Init code and data */ | ||
57 | __init_begin = .; | ||
58 | .init.text : { | ||
59 | _sinittext = .; | ||
60 | INIT_TEXT | ||
61 | _einittext = .; | ||
62 | } | ||
63 | .init.data : { INIT_DATA } | ||
64 | . = ALIGN(16); | ||
65 | __setup_start = .; | ||
66 | .init.setup : { *(.init.setup) } | ||
67 | __setup_end = .; | ||
68 | .initcall.init : { | ||
69 | __initcall_start = .; | ||
70 | INITCALLS | ||
71 | __initcall_end = .; | ||
72 | } | ||
73 | |||
74 | .con_initcall.init : { | ||
75 | __con_initcall_start = .; | ||
76 | *(.con_initcall.init) | ||
77 | __con_initcall_end = .; | ||
78 | } | ||
79 | SECURITY_INIT | ||
80 | |||
81 | #ifdef CONFIG_BLK_DEV_INITRD | ||
82 | .init.ramfs : { | ||
83 | __initramfs_start = .; | ||
84 | *(.init.ramfs) | ||
85 | __initramfs_end = .; | ||
86 | } | ||
87 | #endif | ||
88 | __vmlinux_end = .; /* last address of the physical file */ | ||
89 | |||
90 | /* | ||
91 | * We fill to the next page, so we can discard all init | ||
92 | * pages without needing to consider what payload might be | ||
93 | * appended to the kernel image. | ||
94 | */ | ||
95 | . = ALIGN(PAGE_SIZE); | ||
96 | |||
97 | __init_end = .; | ||
98 | |||
99 | __data_end = . ; /* Move to _edata ? */ | ||
100 | __bss_start = .; /* BSS */ | ||
101 | .bss : { | ||
102 | *(COMMON) | ||
103 | *(.bss) | ||
104 | } | ||
105 | |||
106 | . = ALIGN (0x20); | ||
107 | _end = .; | ||
108 | __end = .; | ||
109 | |||
110 | /* Sections to be discarded */ | ||
111 | /DISCARD/ : { | ||
112 | EXIT_TEXT | ||
113 | EXIT_DATA | ||
114 | *(.exitcall.exit) | ||
115 | } | ||
116 | |||
117 | dram_end = dram_start + CONFIG_ETRAX_DRAM_SIZE*1024*1024; | ||
118 | } | ||
diff --git a/arch/cris/arch-v32/boot/compressed/head.S b/arch/cris/arch-v32/boot/compressed/head.S index f86208caf32d..a4a65c5c669e 100644 --- a/arch/cris/arch-v32/boot/compressed/head.S +++ b/arch/cris/arch-v32/boot/compressed/head.S | |||
@@ -7,7 +7,7 @@ | |||
7 | 7 | ||
8 | #define ASSEMBLER_MACROS_ONLY | 8 | #define ASSEMBLER_MACROS_ONLY |
9 | #include <hwregs/asm/reg_map_asm.h> | 9 | #include <hwregs/asm/reg_map_asm.h> |
10 | #include <asm/arch/mach/startup.inc> | 10 | #include <mach/startup.inc> |
11 | 11 | ||
12 | #define RAM_INIT_MAGIC 0x56902387 | 12 | #define RAM_INIT_MAGIC 0x56902387 |
13 | #define COMMAND_LINE_MAGIC 0x87109563 | 13 | #define COMMAND_LINE_MAGIC 0x87109563 |
@@ -17,7 +17,7 @@ | |||
17 | .globl input_data | 17 | .globl input_data |
18 | 18 | ||
19 | .text | 19 | .text |
20 | start: | 20 | _start: |
21 | di | 21 | di |
22 | 22 | ||
23 | ;; Start clocks for used blocks. | 23 | ;; Start clocks for used blocks. |
@@ -28,7 +28,13 @@ start: | |||
28 | beq dram_init_finished | 28 | beq dram_init_finished |
29 | nop | 29 | nop |
30 | 30 | ||
31 | #include "../../mach/dram_init.S" | 31 | #if defined CONFIG_ETRAXFS |
32 | #include "../../mach-fs/dram_init.S" | ||
33 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
34 | #include "../../mach-a3/dram_init.S" | ||
35 | #else | ||
36 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
37 | #endif | ||
32 | 38 | ||
33 | dram_init_finished: | 39 | dram_init_finished: |
34 | 40 | ||
@@ -130,4 +136,10 @@ _cmd_line_addr: | |||
130 | _boot_source: | 136 | _boot_source: |
131 | .dword 0 | 137 | .dword 0 |
132 | 138 | ||
133 | #include "../../mach/hw_settings.S" | 139 | #if defined CONFIG_ETRAXFS |
140 | #include "../../mach-fs/hw_settings.S" | ||
141 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
142 | #include "../../mach-a3/hw_settings.S" | ||
143 | #else | ||
144 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
145 | #endif | ||
diff --git a/arch/cris/arch-v32/drivers/mach-a3/gpio.c b/arch/cris/arch-v32/drivers/mach-a3/gpio.c index ef98608e5067..7a87bc0ae2e8 100644 --- a/arch/cris/arch-v32/drivers/mach-a3/gpio.c +++ b/arch/cris/arch-v32/drivers/mach-a3/gpio.c | |||
@@ -33,7 +33,7 @@ | |||
33 | #include <asm/io.h> | 33 | #include <asm/io.h> |
34 | #include <asm/system.h> | 34 | #include <asm/system.h> |
35 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
36 | #include <asm/arch/mach/pinmux.h> | 36 | #include <mach/pinmux.h> |
37 | 37 | ||
38 | #ifdef CONFIG_ETRAX_VIRTUAL_GPIO | 38 | #ifdef CONFIG_ETRAX_VIRTUAL_GPIO |
39 | #include "../i2c.h" | 39 | #include "../i2c.h" |
diff --git a/arch/cris/arch-v32/drivers/mach-a3/nandflash.c b/arch/cris/arch-v32/drivers/mach-a3/nandflash.c index 01ed0be2d0d1..25d6f2b3a721 100644 --- a/arch/cris/arch-v32/drivers/mach-a3/nandflash.c +++ b/arch/cris/arch-v32/drivers/mach-a3/nandflash.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <linux/mtd/mtd.h> | 18 | #include <linux/mtd/mtd.h> |
19 | #include <linux/mtd/nand.h> | 19 | #include <linux/mtd/nand.h> |
20 | #include <linux/mtd/partitions.h> | 20 | #include <linux/mtd/partitions.h> |
21 | #include <asm/arch/memmap.h> | 21 | #include <arch/memmap.h> |
22 | #include <hwregs/reg_map.h> | 22 | #include <hwregs/reg_map.h> |
23 | #include <hwregs/reg_rdwr.h> | 23 | #include <hwregs/reg_rdwr.h> |
24 | #include <hwregs/pio_defs.h> | 24 | #include <hwregs/pio_defs.h> |
diff --git a/arch/cris/arch-v32/drivers/mach-fs/nandflash.c b/arch/cris/arch-v32/drivers/mach-fs/nandflash.c index aa01b134458a..c5a0f54763cc 100644 --- a/arch/cris/arch-v32/drivers/mach-fs/nandflash.c +++ b/arch/cris/arch-v32/drivers/mach-fs/nandflash.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <linux/mtd/mtd.h> | 18 | #include <linux/mtd/mtd.h> |
19 | #include <linux/mtd/nand.h> | 19 | #include <linux/mtd/nand.h> |
20 | #include <linux/mtd/partitions.h> | 20 | #include <linux/mtd/partitions.h> |
21 | #include <asm/arch/memmap.h> | 21 | #include <arch/memmap.h> |
22 | #include <hwregs/reg_map.h> | 22 | #include <hwregs/reg_map.h> |
23 | #include <hwregs/reg_rdwr.h> | 23 | #include <hwregs/reg_rdwr.h> |
24 | #include <hwregs/gio_defs.h> | 24 | #include <hwregs/gio_defs.h> |
diff --git a/arch/cris/arch-v32/drivers/pci/bios.c b/arch/cris/arch-v32/drivers/pci/bios.c index 5b79a7a772d4..77ee319193c3 100644 --- a/arch/cris/arch-v32/drivers/pci/bios.c +++ b/arch/cris/arch-v32/drivers/pci/bios.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include <linux/pci.h> | 1 | #include <linux/pci.h> |
2 | #include <linux/kernel.h> | 2 | #include <linux/kernel.h> |
3 | #include <asm/arch/hwregs/intr_vect.h> | 3 | #include <arch/hwregs/intr_vect.h> |
4 | 4 | ||
5 | void __devinit pcibios_fixup_bus(struct pci_bus *b) | 5 | void __devinit pcibios_fixup_bus(struct pci_bus *b) |
6 | { | 6 | { |
diff --git a/arch/cris/arch-v32/kernel/cache.c b/arch/cris/arch-v32/kernel/cache.c index 80da7b88a72b..f38433b1f861 100644 --- a/arch/cris/arch-v32/kernel/cache.c +++ b/arch/cris/arch-v32/kernel/cache.c | |||
@@ -1,7 +1,7 @@ | |||
1 | #include <linux/module.h> | 1 | #include <linux/module.h> |
2 | #include <asm/io.h> | 2 | #include <asm/io.h> |
3 | #include <asm/arch/cache.h> | 3 | #include <arch/cache.h> |
4 | #include <asm/arch/hwregs/dma.h> | 4 | #include <arch/hwregs/dma.h> |
5 | 5 | ||
6 | /* This file is used to workaround a cache bug, Guinness TR 106. */ | 6 | /* This file is used to workaround a cache bug, Guinness TR 106. */ |
7 | 7 | ||
diff --git a/arch/cris/arch-v32/kernel/crisksyms.c b/arch/cris/arch-v32/kernel/crisksyms.c index 77d02c15a7fc..64933e2c0f5b 100644 --- a/arch/cris/arch-v32/kernel/crisksyms.c +++ b/arch/cris/arch-v32/kernel/crisksyms.c | |||
@@ -1,9 +1,9 @@ | |||
1 | #include <linux/module.h> | 1 | #include <linux/module.h> |
2 | #include <linux/irq.h> | 2 | #include <linux/irq.h> |
3 | #include <asm/arch/dma.h> | 3 | #include <arch/dma.h> |
4 | #include <asm/arch/intmem.h> | 4 | #include <arch/intmem.h> |
5 | #include <asm/arch/mach/pinmux.h> | 5 | #include <mach/pinmux.h> |
6 | #include <asm/arch/io.h> | 6 | #include <arch/io.h> |
7 | 7 | ||
8 | /* Functions for allocating DMA channels */ | 8 | /* Functions for allocating DMA channels */ |
9 | EXPORT_SYMBOL(crisv32_request_dma); | 9 | EXPORT_SYMBOL(crisv32_request_dma); |
diff --git a/arch/cris/arch-v32/kernel/debugport.c b/arch/cris/arch-v32/kernel/debugport.c index 15af4c293157..794b364d9f7d 100644 --- a/arch/cris/arch-v32/kernel/debugport.c +++ b/arch/cris/arch-v32/kernel/debugport.c | |||
@@ -9,7 +9,7 @@ | |||
9 | #include <hwregs/reg_map.h> | 9 | #include <hwregs/reg_map.h> |
10 | #include <hwregs/ser_defs.h> | 10 | #include <hwregs/ser_defs.h> |
11 | #include <hwregs/dma_defs.h> | 11 | #include <hwregs/dma_defs.h> |
12 | #include <asm/arch/mach/pinmux.h> | 12 | #include <mach/pinmux.h> |
13 | 13 | ||
14 | struct dbg_port | 14 | struct dbg_port |
15 | { | 15 | { |
diff --git a/arch/cris/arch-v32/kernel/entry.S b/arch/cris/arch-v32/kernel/entry.S index eebbaba45430..7f6f93e6b70e 100644 --- a/arch/cris/arch-v32/kernel/entry.S +++ b/arch/cris/arch-v32/kernel/entry.S | |||
@@ -24,8 +24,8 @@ | |||
24 | #include <asm/thread_info.h> | 24 | #include <asm/thread_info.h> |
25 | #include <asm/asm-offsets.h> | 25 | #include <asm/asm-offsets.h> |
26 | 26 | ||
27 | #include <asm/arch/hwregs/asm/reg_map_asm.h> | 27 | #include <hwregs/asm/reg_map_asm.h> |
28 | #include <asm/arch/hwregs/asm/intr_vect_defs_asm.h> | 28 | #include <hwregs/asm/intr_vect_defs_asm.h> |
29 | 29 | ||
30 | ;; Exported functions. | 30 | ;; Exported functions. |
31 | .globl system_call | 31 | .globl system_call |
diff --git a/arch/cris/arch-v32/kernel/head.S b/arch/cris/arch-v32/kernel/head.S index 2d66a7c320e1..3db478eb5155 100644 --- a/arch/cris/arch-v32/kernel/head.S +++ b/arch/cris/arch-v32/kernel/head.S | |||
@@ -10,12 +10,13 @@ | |||
10 | * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so | 10 | * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so |
11 | * -traditional must not be used when assembling this file. | 11 | * -traditional must not be used when assembling this file. |
12 | */ | 12 | */ |
13 | #include <linux/autoconf.h> | ||
14 | #include <arch/memmap.h> | ||
13 | #include <hwregs/reg_rdwr.h> | 15 | #include <hwregs/reg_rdwr.h> |
14 | #include <asm/arch/memmap.h> | ||
15 | #include <hwregs/intr_vect.h> | 16 | #include <hwregs/intr_vect.h> |
16 | #include <hwregs/asm/mmu_defs_asm.h> | 17 | #include <hwregs/asm/mmu_defs_asm.h> |
17 | #include <hwregs/asm/reg_map_asm.h> | 18 | #include <hwregs/asm/reg_map_asm.h> |
18 | #include <asm/arch/mach/startup.inc> | 19 | #include <mach/startup.inc> |
19 | 20 | ||
20 | #define CRAMFS_MAGIC 0x28cd3d45 | 21 | #define CRAMFS_MAGIC 0x28cd3d45 |
21 | #define JHEAD_MAGIC 0x1FF528A6 | 22 | #define JHEAD_MAGIC 0x1FF528A6 |
@@ -217,7 +218,14 @@ _inflash: | |||
217 | beq _dram_initialized | 218 | beq _dram_initialized |
218 | nop | 219 | nop |
219 | 220 | ||
220 | #include "../mach/dram_init.S" | 221 | #if defined CONFIG_ETRAXFS |
222 | #include "../mach-fs/dram_init.S" | ||
223 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
224 | #include "../mach-a3/dram_init.S" | ||
225 | #else | ||
226 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
227 | #endif | ||
228 | |||
221 | 229 | ||
222 | _dram_initialized: | 230 | _dram_initialized: |
223 | ;; Copy the text and data section to DRAM. This depends on that the | 231 | ;; Copy the text and data section to DRAM. This depends on that the |
@@ -472,4 +480,10 @@ swapper_pg_dir = 0xc0002000 | |||
472 | 480 | ||
473 | .section ".init.data", "aw" | 481 | .section ".init.data", "aw" |
474 | 482 | ||
475 | #include "../mach/hw_settings.S" | 483 | #if defined CONFIG_ETRAXFS |
484 | #include "../mach-fs/hw_settings.S" | ||
485 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
486 | #include "../mach-a3/hw_settings.S" | ||
487 | #else | ||
488 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
489 | #endif | ||
diff --git a/arch/cris/arch-v32/kernel/kgdb.c b/arch/cris/arch-v32/kernel/kgdb.c index 8bd5a5bc0dc7..c981fd663323 100644 --- a/arch/cris/arch-v32/kernel/kgdb.c +++ b/arch/cris/arch-v32/kernel/kgdb.c | |||
@@ -174,10 +174,10 @@ | |||
174 | #include <asm/ptrace.h> | 174 | #include <asm/ptrace.h> |
175 | 175 | ||
176 | #include <asm/irq.h> | 176 | #include <asm/irq.h> |
177 | #include <asm/arch/hwregs/reg_map.h> | 177 | #include <arch/hwregs/reg_map.h> |
178 | #include <asm/arch/hwregs/reg_rdwr.h> | 178 | #include <arch/hwregs/reg_rdwr.h> |
179 | #include <asm/arch/hwregs/intr_vect_defs.h> | 179 | #include <arch/hwregs/intr_vect_defs.h> |
180 | #include <asm/arch/hwregs/ser_defs.h> | 180 | #include <arch/hwregs/ser_defs.h> |
181 | 181 | ||
182 | /* From entry.S. */ | 182 | /* From entry.S. */ |
183 | extern void gdb_handle_exception(void); | 183 | extern void gdb_handle_exception(void); |
diff --git a/arch/cris/arch-v32/kernel/kgdb_asm.S b/arch/cris/arch-v32/kernel/kgdb_asm.S index 3e7fa9ef8510..eba93e7e4aad 100644 --- a/arch/cris/arch-v32/kernel/kgdb_asm.S +++ b/arch/cris/arch-v32/kernel/kgdb_asm.S | |||
@@ -5,7 +5,7 @@ | |||
5 | * port exceptions for kernel debugging purposes. | 5 | * port exceptions for kernel debugging purposes. |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <asm/arch/hwregs/intr_vect.h> | 8 | #include <arch/hwregs/intr_vect.h> |
9 | 9 | ||
10 | ;; Exported functions. | 10 | ;; Exported functions. |
11 | .globl kgdb_handle_exception | 11 | .globl kgdb_handle_exception |
diff --git a/arch/cris/arch-v32/kernel/pinmux.c b/arch/cris/arch-v32/kernel/pinmux.c index a2b8aa37c1bf..6eb54ea1c976 100644 --- a/arch/cris/arch-v32/kernel/pinmux.c +++ b/arch/cris/arch-v32/kernel/pinmux.c | |||
@@ -11,10 +11,10 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/string.h> | 12 | #include <linux/string.h> |
13 | #include <linux/spinlock.h> | 13 | #include <linux/spinlock.h> |
14 | #include <asm/arch/hwregs/reg_map.h> | 14 | #include <arch/hwregs/reg_map.h> |
15 | #include <asm/arch/hwregs/reg_rdwr.h> | 15 | #include <arch/hwregs/reg_rdwr.h> |
16 | #include <asm/arch/pinmux.h> | 16 | #include <arch/pinmux.h> |
17 | #include <asm/arch/hwregs/pinmux_defs.h> | 17 | #include <arch/hwregs/pinmux_defs.h> |
18 | 18 | ||
19 | #undef DEBUG | 19 | #undef DEBUG |
20 | 20 | ||
diff --git a/arch/cris/arch-v32/kernel/ptrace.c b/arch/cris/arch-v32/kernel/ptrace.c index e27f4670e88e..dd401473f5b5 100644 --- a/arch/cris/arch-v32/kernel/ptrace.c +++ b/arch/cris/arch-v32/kernel/ptrace.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
18 | #include <asm/system.h> | 18 | #include <asm/system.h> |
19 | #include <asm/processor.h> | 19 | #include <asm/processor.h> |
20 | #include <asm/arch/hwregs/supp_reg.h> | 20 | #include <arch/hwregs/supp_reg.h> |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Determines which bits in CCS the user has access to. | 23 | * Determines which bits in CCS the user has access to. |
diff --git a/arch/cris/arch-v32/kernel/signal.c b/arch/cris/arch-v32/kernel/signal.c index 58c1866804e3..da7d2be000ba 100644 --- a/arch/cris/arch-v32/kernel/signal.c +++ b/arch/cris/arch-v32/kernel/signal.c | |||
@@ -18,8 +18,8 @@ | |||
18 | #include <asm/processor.h> | 18 | #include <asm/processor.h> |
19 | #include <asm/ucontext.h> | 19 | #include <asm/ucontext.h> |
20 | #include <asm/uaccess.h> | 20 | #include <asm/uaccess.h> |
21 | #include <asm/arch/ptrace.h> | 21 | #include <arch/ptrace.h> |
22 | #include <asm/arch/hwregs/cpu_vect.h> | 22 | #include <arch/hwregs/cpu_vect.h> |
23 | 23 | ||
24 | extern unsigned long cris_signal_return_page; | 24 | extern unsigned long cris_signal_return_page; |
25 | 25 | ||
diff --git a/arch/cris/arch-v32/lib/nand_init.S b/arch/cris/arch-v32/lib/nand_init.S index e019816facd7..e705f5cce969 100644 --- a/arch/cris/arch-v32/lib/nand_init.S +++ b/arch/cris/arch-v32/lib/nand_init.S | |||
@@ -22,11 +22,11 @@ | |||
22 | ## | 22 | ## |
23 | ##============================================================================= | 23 | ##============================================================================= |
24 | 24 | ||
25 | #include <asm/arch/hwregs/asm/reg_map_asm.h> | 25 | #include <arch/hwregs/asm/reg_map_asm.h> |
26 | #include <asm/arch/hwregs/asm/gio_defs_asm.h> | 26 | #include <arch/hwregs/asm/gio_defs_asm.h> |
27 | #include <asm/arch/hwregs/asm/pinmux_defs_asm.h> | 27 | #include <arch/hwregs/asm/pinmux_defs_asm.h> |
28 | #include <asm/arch/hwregs/asm/bif_core_defs_asm.h> | 28 | #include <arch/hwregs/asm/bif_core_defs_asm.h> |
29 | #include <asm/arch/hwregs/asm/config_defs_asm.h> | 29 | #include <arch/hwregs/asm/config_defs_asm.h> |
30 | 30 | ||
31 | ;; There are 8-bit NAND flashes and 16-bit NAND flashes. | 31 | ;; There are 8-bit NAND flashes and 16-bit NAND flashes. |
32 | ;; We need to treat them slightly different. | 32 | ;; We need to treat them slightly different. |
diff --git a/arch/cris/arch-v32/mach-a3/dma.c b/arch/cris/arch-v32/mach-a3/dma.c index 25f236ef0b81..f35e4f65f4ef 100644 --- a/arch/cris/arch-v32/mach-a3/dma.c +++ b/arch/cris/arch-v32/mach-a3/dma.c | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | #include <linux/kernel.h> | 3 | #include <linux/kernel.h> |
4 | #include <linux/spinlock.h> | 4 | #include <linux/spinlock.h> |
5 | #include <asm/arch/mach/dma.h> | 5 | #include <mach/dma.h> |
6 | #include <hwregs/reg_map.h> | 6 | #include <hwregs/reg_map.h> |
7 | #include <hwregs/reg_rdwr.h> | 7 | #include <hwregs/reg_rdwr.h> |
8 | #include <hwregs/marb_defs.h> | 8 | #include <hwregs/marb_defs.h> |
diff --git a/arch/cris/arch-v32/mach-a3/io.c b/arch/cris/arch-v32/mach-a3/io.c index 9eeaf3eca474..c22f67ecd9f3 100644 --- a/arch/cris/arch-v32/mach-a3/io.c +++ b/arch/cris/arch-v32/mach-a3/io.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <asm/io.h> | 14 | #include <asm/io.h> |
15 | #include <asm/arch/mach/pinmux.h> | 15 | #include <mach/pinmux.h> |
16 | #include <hwregs/gio_defs.h> | 16 | #include <hwregs/gio_defs.h> |
17 | 17 | ||
18 | struct crisv32_ioport crisv32_ioports[] = { | 18 | struct crisv32_ioport crisv32_ioports[] = { |
diff --git a/arch/cris/arch-v32/mach-fs/cpufreq.c b/arch/cris/arch-v32/mach-fs/cpufreq.c index 58bd71e5bda9..d92cf70d1cbe 100644 --- a/arch/cris/arch-v32/mach-fs/cpufreq.c +++ b/arch/cris/arch-v32/mach-fs/cpufreq.c | |||
@@ -2,9 +2,9 @@ | |||
2 | #include <linux/module.h> | 2 | #include <linux/module.h> |
3 | #include <linux/cpufreq.h> | 3 | #include <linux/cpufreq.h> |
4 | #include <hwregs/reg_map.h> | 4 | #include <hwregs/reg_map.h> |
5 | #include <asm/arch/hwregs/reg_rdwr.h> | 5 | #include <arch/hwregs/reg_rdwr.h> |
6 | #include <asm/arch/hwregs/config_defs.h> | 6 | #include <arch/hwregs/config_defs.h> |
7 | #include <asm/arch/hwregs/bif_core_defs.h> | 7 | #include <arch/hwregs/bif_core_defs.h> |
8 | 8 | ||
9 | static int | 9 | static int |
10 | cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val, | 10 | cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val, |
diff --git a/arch/cris/arch-v32/mach-fs/dma.c b/arch/cris/arch-v32/mach-fs/dma.c index a6acf4e6345c..2d970d7505c9 100644 --- a/arch/cris/arch-v32/mach-fs/dma.c +++ b/arch/cris/arch-v32/mach-fs/dma.c | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <hwregs/strmux_defs.h> | 10 | #include <hwregs/strmux_defs.h> |
11 | #include <linux/errno.h> | 11 | #include <linux/errno.h> |
12 | #include <asm/system.h> | 12 | #include <asm/system.h> |
13 | #include <asm/arch/mach/arbiter.h> | 13 | #include <mach/arbiter.h> |
14 | 14 | ||
15 | static char used_dma_channels[MAX_DMA_CHANNELS]; | 15 | static char used_dma_channels[MAX_DMA_CHANNELS]; |
16 | static const char *used_dma_channels_users[MAX_DMA_CHANNELS]; | 16 | static const char *used_dma_channels_users[MAX_DMA_CHANNELS]; |
diff --git a/arch/cris/arch-v32/mach-fs/io.c b/arch/cris/arch-v32/mach-fs/io.c index a03a3ad3a188..cb6327b1f8f8 100644 --- a/arch/cris/arch-v32/mach-fs/io.c +++ b/arch/cris/arch-v32/mach-fs/io.c | |||
@@ -12,8 +12,8 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <asm/io.h> | 14 | #include <asm/io.h> |
15 | #include <asm/arch/pinmux.h> | 15 | #include <mach/pinmux.h> |
16 | #include <asm/arch/hwregs/gio_defs.h> | 16 | #include <hwregs/gio_defs.h> |
17 | 17 | ||
18 | #ifndef DEBUG | 18 | #ifndef DEBUG |
19 | #define DEBUG(x) | 19 | #define DEBUG(x) |
diff --git a/arch/cris/arch-v32/mach-fs/vcs_hook.c b/arch/cris/arch-v32/mach-fs/vcs_hook.c index 593b10f07ef1..b11594ae0cb6 100644 --- a/arch/cris/arch-v32/mach-fs/vcs_hook.c +++ b/arch/cris/arch-v32/mach-fs/vcs_hook.c | |||
@@ -5,8 +5,8 @@ | |||
5 | 5 | ||
6 | #include "vcs_hook.h" | 6 | #include "vcs_hook.h" |
7 | #include <stdarg.h> | 7 | #include <stdarg.h> |
8 | #include <asm/arch-v32/hwregs/reg_map.h> | 8 | #include <arch-v32/hwregs/reg_map.h> |
9 | #include <asm/arch-v32/hwregs/intr_vect_defs.h> | 9 | #include <arch-v32/hwregs/intr_vect_defs.h> |
10 | 10 | ||
11 | #define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */ | 11 | #define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */ |
12 | #define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */ | 12 | #define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */ |
diff --git a/arch/cris/arch-v32/mm/init.c b/arch/cris/arch-v32/mm/init.c index 8a34b8b74293..caeb921a92ea 100644 --- a/arch/cris/arch-v32/mm/init.c +++ b/arch/cris/arch-v32/mm/init.c | |||
@@ -16,8 +16,8 @@ | |||
16 | #include <asm/mmu.h> | 16 | #include <asm/mmu.h> |
17 | #include <asm/io.h> | 17 | #include <asm/io.h> |
18 | #include <asm/mmu_context.h> | 18 | #include <asm/mmu_context.h> |
19 | #include <asm/arch/hwregs/asm/mmu_defs_asm.h> | 19 | #include <arch/hwregs/asm/mmu_defs_asm.h> |
20 | #include <asm/arch/hwregs/supp_reg.h> | 20 | #include <arch/hwregs/supp_reg.h> |
21 | 21 | ||
22 | extern void tlb_init(void); | 22 | extern void tlb_init(void); |
23 | 23 | ||
diff --git a/arch/cris/arch-v32/mm/tlb.c b/arch/cris/arch-v32/mm/tlb.c index eda5ebcaea54..55ade36fe8a8 100644 --- a/arch/cris/arch-v32/mm/tlb.c +++ b/arch/cris/arch-v32/mm/tlb.c | |||
@@ -9,8 +9,8 @@ | |||
9 | 9 | ||
10 | #include <asm/tlb.h> | 10 | #include <asm/tlb.h> |
11 | #include <asm/mmu_context.h> | 11 | #include <asm/mmu_context.h> |
12 | #include <asm/arch/hwregs/asm/mmu_defs_asm.h> | 12 | #include <arch/hwregs/asm/mmu_defs_asm.h> |
13 | #include <asm/arch/hwregs/supp_reg.h> | 13 | #include <arch/hwregs/supp_reg.h> |
14 | 14 | ||
15 | #define UPDATE_TLB_SEL_IDX(val) \ | 15 | #define UPDATE_TLB_SEL_IDX(val) \ |
16 | do { \ | 16 | do { \ |
diff --git a/include/asm-cris/arch-v10/Kbuild b/arch/cris/include/arch-v10/arch/Kbuild index 7a192e1290b1..7a192e1290b1 100644 --- a/include/asm-cris/arch-v10/Kbuild +++ b/arch/cris/include/arch-v10/arch/Kbuild | |||
diff --git a/include/asm-cris/arch-v10/atomic.h b/arch/cris/include/arch-v10/arch/atomic.h index 6ef5e7d09024..6ef5e7d09024 100644 --- a/include/asm-cris/arch-v10/atomic.h +++ b/arch/cris/include/arch-v10/arch/atomic.h | |||
diff --git a/include/asm-cris/arch-v10/bitops.h b/arch/cris/include/arch-v10/arch/bitops.h index be85f6de25d3..be85f6de25d3 100644 --- a/include/asm-cris/arch-v10/bitops.h +++ b/arch/cris/include/arch-v10/arch/bitops.h | |||
diff --git a/include/asm-cris/arch-v10/bug.h b/arch/cris/include/arch-v10/arch/bug.h index 3485d6b34bb0..3485d6b34bb0 100644 --- a/include/asm-cris/arch-v10/bug.h +++ b/arch/cris/include/arch-v10/arch/bug.h | |||
diff --git a/include/asm-cris/arch-v10/byteorder.h b/arch/cris/include/arch-v10/arch/byteorder.h index 255b646b7fa8..255b646b7fa8 100644 --- a/include/asm-cris/arch-v10/byteorder.h +++ b/arch/cris/include/arch-v10/arch/byteorder.h | |||
diff --git a/include/asm-cris/arch-v10/cache.h b/arch/cris/include/arch-v10/arch/cache.h index aea27184d2d2..aea27184d2d2 100644 --- a/include/asm-cris/arch-v10/cache.h +++ b/arch/cris/include/arch-v10/arch/cache.h | |||
diff --git a/include/asm-cris/arch-v10/checksum.h b/arch/cris/include/arch-v10/arch/checksum.h index b8000c5d7fe1..b8000c5d7fe1 100644 --- a/include/asm-cris/arch-v10/checksum.h +++ b/arch/cris/include/arch-v10/arch/checksum.h | |||
diff --git a/include/asm-cris/arch-v10/delay.h b/arch/cris/include/arch-v10/arch/delay.h index 39481f6e0c30..39481f6e0c30 100644 --- a/include/asm-cris/arch-v10/delay.h +++ b/arch/cris/include/arch-v10/arch/delay.h | |||
diff --git a/include/asm-cris/arch-v10/dma.h b/arch/cris/include/arch-v10/arch/dma.h index ecb9dba6fa4f..ecb9dba6fa4f 100644 --- a/include/asm-cris/arch-v10/dma.h +++ b/arch/cris/include/arch-v10/arch/dma.h | |||
diff --git a/include/asm-cris/arch-v10/elf.h b/arch/cris/include/arch-v10/arch/elf.h index 1c38ee728b17..1c38ee728b17 100644 --- a/include/asm-cris/arch-v10/elf.h +++ b/arch/cris/include/arch-v10/arch/elf.h | |||
diff --git a/include/asm-cris/arch-v10/io.h b/arch/cris/include/arch-v10/arch/io.h index c08c24265299..f627ad0b8a3d 100644 --- a/include/asm-cris/arch-v10/io.h +++ b/arch/cris/include/arch-v10/arch/io.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _ASM_ARCH_CRIS_IO_H | 1 | #ifndef _ASM_ARCH_CRIS_IO_H |
2 | #define _ASM_ARCH_CRIS_IO_H | 2 | #define _ASM_ARCH_CRIS_IO_H |
3 | 3 | ||
4 | #include <asm/arch/svinto.h> | 4 | #include <arch/svinto.h> |
5 | 5 | ||
6 | /* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */ | 6 | /* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */ |
7 | 7 | ||
diff --git a/include/asm-cris/arch-v10/io_interface_mux.h b/arch/cris/include/arch-v10/arch/io_interface_mux.h index d92500080883..d92500080883 100644 --- a/include/asm-cris/arch-v10/io_interface_mux.h +++ b/arch/cris/include/arch-v10/arch/io_interface_mux.h | |||
diff --git a/include/asm-cris/arch-v10/irq.h b/arch/cris/include/arch-v10/arch/irq.h index b1128a9984ae..6248004eca1c 100644 --- a/include/asm-cris/arch-v10/irq.h +++ b/arch/cris/include/arch-v10/arch/irq.h | |||
@@ -5,7 +5,7 @@ | |||
5 | #ifndef _ASM_ARCH_IRQ_H | 5 | #ifndef _ASM_ARCH_IRQ_H |
6 | #define _ASM_ARCH_IRQ_H | 6 | #define _ASM_ARCH_IRQ_H |
7 | 7 | ||
8 | #include <asm/arch/sv_addr_ag.h> | 8 | #include <arch/sv_addr_ag.h> |
9 | 9 | ||
10 | #define NR_IRQS 32 | 10 | #define NR_IRQS 32 |
11 | 11 | ||
diff --git a/include/asm-cris/arch-v10/memmap.h b/arch/cris/include/arch-v10/arch/memmap.h index 13f3b971407f..13f3b971407f 100644 --- a/include/asm-cris/arch-v10/memmap.h +++ b/arch/cris/include/arch-v10/arch/memmap.h | |||
diff --git a/include/asm-cris/arch-v10/mmu.h b/arch/cris/include/arch-v10/arch/mmu.h index df84f1716e6b..df84f1716e6b 100644 --- a/include/asm-cris/arch-v10/mmu.h +++ b/arch/cris/include/arch-v10/arch/mmu.h | |||
diff --git a/include/asm-cris/arch-v10/offset.h b/arch/cris/include/arch-v10/arch/offset.h index 675b51d85639..675b51d85639 100644 --- a/include/asm-cris/arch-v10/offset.h +++ b/arch/cris/include/arch-v10/arch/offset.h | |||
diff --git a/include/asm-cris/arch-v10/page.h b/arch/cris/include/arch-v10/arch/page.h index ffafc99c3472..ffafc99c3472 100644 --- a/include/asm-cris/arch-v10/page.h +++ b/arch/cris/include/arch-v10/arch/page.h | |||
diff --git a/include/asm-cris/arch-v10/pgtable.h b/arch/cris/include/arch-v10/arch/pgtable.h index 2a2576d1fc97..2a2576d1fc97 100644 --- a/include/asm-cris/arch-v10/pgtable.h +++ b/arch/cris/include/arch-v10/arch/pgtable.h | |||
diff --git a/include/asm-cris/arch-v10/processor.h b/arch/cris/include/arch-v10/arch/processor.h index cc692c7a0660..cc692c7a0660 100644 --- a/include/asm-cris/arch-v10/processor.h +++ b/arch/cris/include/arch-v10/arch/processor.h | |||
diff --git a/include/asm-cris/arch-v10/ptrace.h b/arch/cris/include/arch-v10/arch/ptrace.h index 2f464eab3a51..2f464eab3a51 100644 --- a/include/asm-cris/arch-v10/ptrace.h +++ b/arch/cris/include/arch-v10/arch/ptrace.h | |||
diff --git a/include/asm-cris/arch-v10/sv_addr.agh b/arch/cris/include/arch-v10/arch/sv_addr.agh index 6ac3a7bc9760..6ac3a7bc9760 100644 --- a/include/asm-cris/arch-v10/sv_addr.agh +++ b/arch/cris/include/arch-v10/arch/sv_addr.agh | |||
diff --git a/include/asm-cris/arch-v10/sv_addr_ag.h b/arch/cris/include/arch-v10/arch/sv_addr_ag.h index e4a6b68b8982..e4a6b68b8982 100644 --- a/include/asm-cris/arch-v10/sv_addr_ag.h +++ b/arch/cris/include/arch-v10/arch/sv_addr_ag.h | |||
diff --git a/include/asm-cris/arch-v10/svinto.h b/arch/cris/include/arch-v10/arch/svinto.h index 0881a1af7cee..0881a1af7cee 100644 --- a/include/asm-cris/arch-v10/svinto.h +++ b/arch/cris/include/arch-v10/arch/svinto.h | |||
diff --git a/include/asm-cris/arch-v10/system.h b/arch/cris/include/arch-v10/arch/system.h index 4a9cd36c9e16..4a9cd36c9e16 100644 --- a/include/asm-cris/arch-v10/system.h +++ b/arch/cris/include/arch-v10/arch/system.h | |||
diff --git a/include/asm-cris/arch-v10/thread_info.h b/arch/cris/include/arch-v10/arch/thread_info.h index 218f4152d3e5..218f4152d3e5 100644 --- a/include/asm-cris/arch-v10/thread_info.h +++ b/arch/cris/include/arch-v10/arch/thread_info.h | |||
diff --git a/include/asm-cris/arch-v10/timex.h b/arch/cris/include/arch-v10/arch/timex.h index e48447d94faf..e48447d94faf 100644 --- a/include/asm-cris/arch-v10/timex.h +++ b/arch/cris/include/arch-v10/arch/timex.h | |||
diff --git a/include/asm-cris/arch-v10/tlb.h b/arch/cris/include/arch-v10/arch/tlb.h index 31525bbe75c3..31525bbe75c3 100644 --- a/include/asm-cris/arch-v10/tlb.h +++ b/arch/cris/include/arch-v10/arch/tlb.h | |||
diff --git a/include/asm-cris/arch-v10/uaccess.h b/arch/cris/include/arch-v10/arch/uaccess.h index 65b02d9b605a..65b02d9b605a 100644 --- a/include/asm-cris/arch-v10/uaccess.h +++ b/arch/cris/include/arch-v10/arch/uaccess.h | |||
diff --git a/include/asm-cris/arch-v10/unistd.h b/arch/cris/include/arch-v10/arch/unistd.h index d1a38b9e6264..d1a38b9e6264 100644 --- a/include/asm-cris/arch-v10/unistd.h +++ b/arch/cris/include/arch-v10/arch/unistd.h | |||
diff --git a/include/asm-cris/arch-v10/user.h b/arch/cris/include/arch-v10/arch/user.h index 9303ea77c915..9303ea77c915 100644 --- a/include/asm-cris/arch-v10/user.h +++ b/arch/cris/include/arch-v10/arch/user.h | |||
diff --git a/include/asm-cris/arch-v32/Kbuild b/arch/cris/include/arch-v32/arch/Kbuild index 35f2fc4f993e..35f2fc4f993e 100644 --- a/include/asm-cris/arch-v32/Kbuild +++ b/arch/cris/include/arch-v32/arch/Kbuild | |||
diff --git a/include/asm-cris/arch-v32/atomic.h b/arch/cris/include/arch-v32/arch/atomic.h index 852ceff8013f..852ceff8013f 100644 --- a/include/asm-cris/arch-v32/atomic.h +++ b/arch/cris/include/arch-v32/arch/atomic.h | |||
diff --git a/include/asm-cris/arch-v32/bitops.h b/arch/cris/include/arch-v32/arch/bitops.h index 147689d6b624..147689d6b624 100644 --- a/include/asm-cris/arch-v32/bitops.h +++ b/arch/cris/include/arch-v32/arch/bitops.h | |||
diff --git a/include/asm-cris/arch-v32/bug.h b/arch/cris/include/arch-v32/arch/bug.h index 0f211e135248..0f211e135248 100644 --- a/include/asm-cris/arch-v32/bug.h +++ b/arch/cris/include/arch-v32/arch/bug.h | |||
diff --git a/include/asm-cris/arch-v32/byteorder.h b/arch/cris/include/arch-v32/arch/byteorder.h index 6ef8fb4a35f2..6ef8fb4a35f2 100644 --- a/include/asm-cris/arch-v32/byteorder.h +++ b/arch/cris/include/arch-v32/arch/byteorder.h | |||
diff --git a/include/asm-cris/arch-v32/cache.h b/arch/cris/include/arch-v32/arch/cache.h index b3d752dfe15b..dfc73050e6b4 100644 --- a/include/asm-cris/arch-v32/cache.h +++ b/arch/cris/include/arch-v32/arch/cache.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _ASM_CRIS_ARCH_CACHE_H | 1 | #ifndef _ASM_CRIS_ARCH_CACHE_H |
2 | #define _ASM_CRIS_ARCH_CACHE_H | 2 | #define _ASM_CRIS_ARCH_CACHE_H |
3 | 3 | ||
4 | #include <asm/arch/hwregs/dma.h> | 4 | #include <arch/hwregs/dma.h> |
5 | 5 | ||
6 | /* A cache-line is 32 bytes. */ | 6 | /* A cache-line is 32 bytes. */ |
7 | #define L1_CACHE_BYTES 32 | 7 | #define L1_CACHE_BYTES 32 |
diff --git a/include/asm-cris/arch-v32/checksum.h b/arch/cris/include/arch-v32/arch/checksum.h index e5dcfce6e0dc..e5dcfce6e0dc 100644 --- a/include/asm-cris/arch-v32/checksum.h +++ b/arch/cris/include/arch-v32/arch/checksum.h | |||
diff --git a/include/asm-cris/arch-v32/cryptocop.h b/arch/cris/include/arch-v32/arch/cryptocop.h index dfa1f66fb987..e1cd83dfabb5 100644 --- a/include/asm-cris/arch-v32/cryptocop.h +++ b/arch/cris/include/arch-v32/arch/cryptocop.h | |||
@@ -122,7 +122,7 @@ struct strcop_crypto_op{ | |||
122 | 122 | ||
123 | /********** The API to use from inside the kernel. ************/ | 123 | /********** The API to use from inside the kernel. ************/ |
124 | 124 | ||
125 | #include <asm/arch/hwregs/dma.h> | 125 | #include <arch/hwregs/dma.h> |
126 | 126 | ||
127 | typedef enum { | 127 | typedef enum { |
128 | cryptocop_alg_csum = 0, | 128 | cryptocop_alg_csum = 0, |
diff --git a/include/asm-cris/arch-v32/delay.h b/arch/cris/include/arch-v32/arch/delay.h index e9fda03810a9..e9fda03810a9 100644 --- a/include/asm-cris/arch-v32/delay.h +++ b/arch/cris/include/arch-v32/arch/delay.h | |||
diff --git a/include/asm-cris/arch-v32/dma.h b/arch/cris/include/arch-v32/arch/dma.h index 3674081389fd..3674081389fd 100644 --- a/include/asm-cris/arch-v32/dma.h +++ b/arch/cris/include/arch-v32/arch/dma.h | |||
diff --git a/include/asm-cris/arch-v32/elf.h b/arch/cris/include/arch-v32/arch/elf.h index 1324e505a4d8..1324e505a4d8 100644 --- a/include/asm-cris/arch-v32/elf.h +++ b/arch/cris/include/arch-v32/arch/elf.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/Makefile b/arch/cris/include/arch-v32/arch/hwregs/Makefile index f9a05d2aa061..f9a05d2aa061 100644 --- a/include/asm-cris/arch-v32/hwregs/Makefile +++ b/arch/cris/include/arch-v32/arch/hwregs/Makefile | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h index 866191418f9c..866191418f9c 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/ata_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/ata_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h index c686cb335621..c686cb335621 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/bif_core_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_core_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h index 71532aa18168..71532aa18168 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/bif_dma_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_dma_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h index 031f33a365bb..031f33a365bb 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/bif_slave_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/bif_slave_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h index e98476332e1f..e98476332e1f 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/config_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/config_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h index 8370aee8a14a..8370aee8a14a 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/cpu_vect.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cpu_vect.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h index 7f768db272e2..7f768db272e2 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/cris_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h index 7d3689a6f80d..7d3689a6f80d 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/cris_supp_reg.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/cris_supp_reg.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h index 0cb71bc127ae..0cb71bc127ae 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/dma_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/dma_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h index c9f49864831b..c9f49864831b 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/eth_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/eth_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h index 35356bc08629..35356bc08629 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/gio_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/gio_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/intr_vect.h b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h index c8315905c571..c8315905c571 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/intr_vect.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h index 6df2a433b02d..6df2a433b02d 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/intr_vect_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/intr_vect_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h index 0c8084054840..0c8084054840 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/irq_nmi_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/irq_nmi_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h index 45400eb8d389..45400eb8d389 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/marb_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/marb_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h index 505b7a16d878..505b7a16d878 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/mmu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h index 339500bf3bc0..339500bf3bc0 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/mmu_supp_reg.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/mmu_supp_reg.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h index 10246f49fb28..10246f49fb28 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/rt_trace_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/rt_trace_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h index 4a2808bdf390..4a2808bdf390 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/ser_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/ser_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h index 27d4d91b3abd..27d4d91b3abd 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/sser_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/sser_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h index 55083e6aec93..55083e6aec93 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/strcop_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/strcop_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h index 69b299920f71..69b299920f71 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/strmux_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/strmux_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h index 43146021fc16..43146021fc16 100644 --- a/include/asm-cris/arch-v32/hwregs/asm/timer_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/asm/timer_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/ata_defs.h b/arch/cris/include/arch-v32/arch/hwregs/ata_defs.h index 43b6643ff0d3..43b6643ff0d3 100644 --- a/include/asm-cris/arch-v32/hwregs/ata_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/ata_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/bif_core_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h index a56608b50359..a56608b50359 100644 --- a/include/asm-cris/arch-v32/hwregs/bif_core_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/bif_core_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/bif_dma_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h index b931c1aab679..b931c1aab679 100644 --- a/include/asm-cris/arch-v32/hwregs/bif_dma_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/bif_dma_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/bif_slave_defs.h b/arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h index d18fc3c9f569..d18fc3c9f569 100644 --- a/include/asm-cris/arch-v32/hwregs/bif_slave_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/bif_slave_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/config_defs.h b/arch/cris/include/arch-v32/arch/hwregs/config_defs.h index 45457a4e3817..45457a4e3817 100644 --- a/include/asm-cris/arch-v32/hwregs/config_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/config_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/cpu_vect.h b/arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h index 8370aee8a14a..8370aee8a14a 100644 --- a/include/asm-cris/arch-v32/hwregs/cpu_vect.h +++ b/arch/cris/include/arch-v32/arch/hwregs/cpu_vect.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/dma.h b/arch/cris/include/arch-v32/arch/hwregs/dma.h index 3ce322b5c731..3ce322b5c731 100644 --- a/include/asm-cris/arch-v32/hwregs/dma.h +++ b/arch/cris/include/arch-v32/arch/hwregs/dma.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/dma_defs.h b/arch/cris/include/arch-v32/arch/hwregs/dma_defs.h index 48ac8cef7ebe..48ac8cef7ebe 100644 --- a/include/asm-cris/arch-v32/hwregs/dma_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/dma_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/eth_defs.h b/arch/cris/include/arch-v32/arch/hwregs/eth_defs.h index 90fe8a28894f..90fe8a28894f 100644 --- a/include/asm-cris/arch-v32/hwregs/eth_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/eth_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/extmem_defs.h b/arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h index c47b5ca48ece..c47b5ca48ece 100644 --- a/include/asm-cris/arch-v32/hwregs/extmem_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/extmem_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/Makefile b/arch/cris/include/arch-v32/arch/hwregs/iop/Makefile index a90056a095e3..a90056a095e3 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/Makefile +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/Makefile | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h index a4b58000c164..a4b58000c164 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_crc_par_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_crc_par_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h index e7d539feccb1..e7d539feccb1 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_in_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_in_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h index 9fe1a8054371..9fe1a8054371 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_dmc_out_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_dmc_out_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h index 974dee082f9f..974dee082f9f 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h index e00fab0c9335..e00fab0c9335 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_in_extra_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h index 9ec5f4a826df..9ec5f4a826df 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h index 0f84a50cf77c..0f84a50cf77c 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_fifo_out_extra_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h index 80490c82cc29..80490c82cc29 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_mpu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_mpu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h index a20b8857b4d0..a20b8857b4d0 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_reg_space_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_reg_space_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h index a4a10ff300b3..a4a10ff300b3 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_in_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_in_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h index 0ec727f92a25..0ec727f92a25 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sap_out_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sap_out_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h index 2cf5721597fc..2cf5721597fc 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_in_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_in_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h index 640a25725f20..640a25725f20 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_scrc_out_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_scrc_out_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h index bb402c1aa761..bb402c1aa761 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_spu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_spu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h index 3be60f9b024c..3be60f9b024c 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cfg_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cfg_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h index db347bcba025..db347bcba025 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_cpu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_cpu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h index ee7dc0435b59..ee7dc0435b59 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_mpu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_mpu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h index 0929f144cfa1..0929f144cfa1 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_sw_spu_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_sw_spu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h index 7129a9a4bedc..7129a9a4bedc 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_timer_grp_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_timer_grp_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h index 1005d9db80dc..1005d9db80dc 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_trigger_grp_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_trigger_grp_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h index e13feb20a7e3..e13feb20a7e3 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/asm/iop_version_defs_asm.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/asm/iop_version_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h index 90e4785b6474..90e4785b6474 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_crc_par_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_crc_par_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h index 76aec6e37f3e..76aec6e37f3e 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_in_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_in_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h index 938a0d4c4604..938a0d4c4604 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_dmc_out_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_dmc_out_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h index e0c982b263fa..e0c982b263fa 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h index 798ac95870e9..798ac95870e9 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_in_extra_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_in_extra_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h index 833e10f02526..833e10f02526 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h index 4a840aae84ee..4a840aae84ee 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_fifo_out_extra_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_fifo_out_extra_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h index c2b0ba1be60f..c2b0ba1be60f 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h index 2ec897ced166..2ec897ced166 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_mpu_macros.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_mpu_macros.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h index 756550f5d6cb..756550f5d6cb 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_reg_space.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_reg_space.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h index 5548ac10074f..5548ac10074f 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_in_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_in_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h index 273936996183..273936996183 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sap_out_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sap_out_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h index 4f0a9a81e737..4f0a9a81e737 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_in_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_in_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h index fd1d6ea1d484..fd1d6ea1d484 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_scrc_out_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_scrc_out_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h index 0fda26e2f06f..0fda26e2f06f 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_spu_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_spu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h index d7b6d75884d2..d7b6d75884d2 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cfg_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cfg_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h index 5fed844b19e2..5fed844b19e2 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_cpu_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_cpu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h index da718f2a8cad..da718f2a8cad 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_mpu_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_mpu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h index b59dde4bd0d1..b59dde4bd0d1 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_sw_spu_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_sw_spu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h index c994114f3b51..c994114f3b51 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_timer_grp_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_timer_grp_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h index 36e44282399d..36e44282399d 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_trigger_grp_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_trigger_grp_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h index b8d6a910c71c..b8d6a910c71c 100644 --- a/include/asm-cris/arch-v32/hwregs/iop/iop_version_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/iop/iop_version_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h b/arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h index 7b167e3c0572..7b167e3c0572 100644 --- a/include/asm-cris/arch-v32/hwregs/irq_nmi_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/irq_nmi_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/marb_bp_defs.h b/arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h index a11fdd3cd907..a11fdd3cd907 100644 --- a/include/asm-cris/arch-v32/hwregs/marb_bp_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/marb_bp_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/marb_defs.h b/arch/cris/include/arch-v32/arch/hwregs/marb_defs.h index 71e8af0bb3a4..71e8af0bb3a4 100644 --- a/include/asm-cris/arch-v32/hwregs/marb_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/marb_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/reg_rdwr.h b/arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h index 236f91efe7e8..236f91efe7e8 100644 --- a/include/asm-cris/arch-v32/hwregs/reg_rdwr.h +++ b/arch/cris/include/arch-v32/arch/hwregs/reg_rdwr.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/rt_trace_defs.h b/arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h index d9f0e924fb23..d9f0e924fb23 100644 --- a/include/asm-cris/arch-v32/hwregs/rt_trace_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/rt_trace_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/ser_defs.h b/arch/cris/include/arch-v32/arch/hwregs/ser_defs.h index 01c2fab97d43..01c2fab97d43 100644 --- a/include/asm-cris/arch-v32/hwregs/ser_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/ser_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/sser_defs.h b/arch/cris/include/arch-v32/arch/hwregs/sser_defs.h index 8d1dab218b91..8d1dab218b91 100644 --- a/include/asm-cris/arch-v32/hwregs/sser_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/sser_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/strcop.h b/arch/cris/include/arch-v32/arch/hwregs/strcop.h index 35131ba466f3..35131ba466f3 100644 --- a/include/asm-cris/arch-v32/hwregs/strcop.h +++ b/arch/cris/include/arch-v32/arch/hwregs/strcop.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/strcop_defs.h b/arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h index bd145a49b2c4..bd145a49b2c4 100644 --- a/include/asm-cris/arch-v32/hwregs/strcop_defs.h +++ b/arch/cris/include/arch-v32/arch/hwregs/strcop_defs.h | |||
diff --git a/include/asm-cris/arch-v32/hwregs/supp_reg.h b/arch/cris/include/arch-v32/arch/hwregs/supp_reg.h index ffe49625ae36..ffe49625ae36 100644 --- a/include/asm-cris/arch-v32/hwregs/supp_reg.h +++ b/arch/cris/include/arch-v32/arch/hwregs/supp_reg.h | |||
diff --git a/include/asm-cris/arch-v32/intmem.h b/arch/cris/include/arch-v32/arch/intmem.h index c0ada33bf90f..c0ada33bf90f 100644 --- a/include/asm-cris/arch-v32/intmem.h +++ b/arch/cris/include/arch-v32/arch/intmem.h | |||
diff --git a/include/asm-cris/arch-v32/io.h b/arch/cris/include/arch-v32/arch/io.h index 6b38912f29ba..72024452cea9 100644 --- a/include/asm-cris/arch-v32/io.h +++ b/arch/cris/include/arch-v32/arch/io.h | |||
@@ -43,7 +43,7 @@ extern struct crisv32_iopin crisv32_led_net1_red; | |||
43 | 43 | ||
44 | static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) | 44 | static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) |
45 | { | 45 | { |
46 | long flags; | 46 | unsigned long flags; |
47 | spin_lock_irqsave(&iopin->port->lock, flags); | 47 | spin_lock_irqsave(&iopin->port->lock, flags); |
48 | 48 | ||
49 | if (val) | 49 | if (val) |
@@ -57,7 +57,7 @@ static inline void crisv32_io_set(struct crisv32_iopin *iopin, int val) | |||
57 | static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin, | 57 | static inline void crisv32_io_set_dir(struct crisv32_iopin* iopin, |
58 | enum crisv32_io_dir dir) | 58 | enum crisv32_io_dir dir) |
59 | { | 59 | { |
60 | long flags; | 60 | unsigned long flags; |
61 | spin_lock_irqsave(&iopin->port->lock, flags); | 61 | spin_lock_irqsave(&iopin->port->lock, flags); |
62 | 62 | ||
63 | if (dir == crisv32_io_dir_in) | 63 | if (dir == crisv32_io_dir_in) |
diff --git a/include/asm-cris/arch-v32/irq.h b/arch/cris/include/arch-v32/arch/irq.h index 9e4c9fbdfddf..9e4c9fbdfddf 100644 --- a/include/asm-cris/arch-v32/irq.h +++ b/arch/cris/include/arch-v32/arch/irq.h | |||
diff --git a/include/asm-cris/arch-v32/memmap.h b/arch/cris/include/arch-v32/arch/memmap.h index d29df5644d3e..d29df5644d3e 100644 --- a/include/asm-cris/arch-v32/memmap.h +++ b/arch/cris/include/arch-v32/arch/memmap.h | |||
diff --git a/include/asm-cris/arch-v32/mmu.h b/arch/cris/include/arch-v32/arch/mmu.h index 6bcdc3fdf7dc..6bcdc3fdf7dc 100644 --- a/include/asm-cris/arch-v32/mmu.h +++ b/arch/cris/include/arch-v32/arch/mmu.h | |||
diff --git a/include/asm-cris/arch-v32/offset.h b/arch/cris/include/arch-v32/arch/offset.h index 4442c4bd52f4..4442c4bd52f4 100644 --- a/include/asm-cris/arch-v32/offset.h +++ b/arch/cris/include/arch-v32/arch/offset.h | |||
diff --git a/include/asm-cris/arch-v32/page.h b/arch/cris/include/arch-v32/arch/page.h index 20f1b4806bfe..20f1b4806bfe 100644 --- a/include/asm-cris/arch-v32/page.h +++ b/arch/cris/include/arch-v32/arch/page.h | |||
diff --git a/include/asm-cris/arch-v32/pgtable.h b/arch/cris/include/arch-v32/arch/pgtable.h index 08cb7ff7e4e7..08cb7ff7e4e7 100644 --- a/include/asm-cris/arch-v32/pgtable.h +++ b/arch/cris/include/arch-v32/arch/pgtable.h | |||
diff --git a/include/asm-cris/arch-v32/processor.h b/arch/cris/include/arch-v32/arch/processor.h index f80b47790ca6..f80b47790ca6 100644 --- a/include/asm-cris/arch-v32/processor.h +++ b/arch/cris/include/arch-v32/arch/processor.h | |||
diff --git a/include/asm-cris/arch-v32/ptrace.h b/arch/cris/include/arch-v32/arch/ptrace.h index 41f4e8662bc2..41f4e8662bc2 100644 --- a/include/asm-cris/arch-v32/ptrace.h +++ b/arch/cris/include/arch-v32/arch/ptrace.h | |||
diff --git a/include/asm-cris/arch-v32/spinlock.h b/arch/cris/include/arch-v32/arch/spinlock.h index 0d5709b983a1..0d5709b983a1 100644 --- a/include/asm-cris/arch-v32/spinlock.h +++ b/arch/cris/include/arch-v32/arch/spinlock.h | |||
diff --git a/include/asm-cris/arch-v32/system.h b/arch/cris/include/arch-v32/arch/system.h index 6ca90f1f110a..6ca90f1f110a 100644 --- a/include/asm-cris/arch-v32/system.h +++ b/arch/cris/include/arch-v32/arch/system.h | |||
diff --git a/include/asm-cris/arch-v32/thread_info.h b/arch/cris/include/arch-v32/arch/thread_info.h index d6936956a3c6..d6936956a3c6 100644 --- a/include/asm-cris/arch-v32/thread_info.h +++ b/arch/cris/include/arch-v32/arch/thread_info.h | |||
diff --git a/include/asm-cris/arch-v32/timex.h b/arch/cris/include/arch-v32/arch/timex.h index 2591d3c5ed9d..2591d3c5ed9d 100644 --- a/include/asm-cris/arch-v32/timex.h +++ b/arch/cris/include/arch-v32/arch/timex.h | |||
diff --git a/include/asm-cris/arch-v32/tlb.h b/arch/cris/include/arch-v32/arch/tlb.h index 4effb1253660..4effb1253660 100644 --- a/include/asm-cris/arch-v32/tlb.h +++ b/arch/cris/include/arch-v32/arch/tlb.h | |||
diff --git a/include/asm-cris/arch-v32/uaccess.h b/arch/cris/include/arch-v32/arch/uaccess.h index 6b207f1b6622..6b207f1b6622 100644 --- a/include/asm-cris/arch-v32/uaccess.h +++ b/arch/cris/include/arch-v32/arch/uaccess.h | |||
diff --git a/include/asm-cris/arch-v32/unistd.h b/arch/cris/include/arch-v32/arch/unistd.h index 0051114c63c7..0051114c63c7 100644 --- a/include/asm-cris/arch-v32/unistd.h +++ b/arch/cris/include/arch-v32/arch/unistd.h | |||
diff --git a/include/asm-cris/arch-v32/user.h b/arch/cris/include/arch-v32/arch/user.h index 03fa1f3c3c00..03fa1f3c3c00 100644 --- a/include/asm-cris/arch-v32/user.h +++ b/arch/cris/include/arch-v32/arch/user.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/arbiter.h b/arch/cris/include/arch-v32/mach-a3/mach/arbiter.h index 65e9d6ff0520..65e9d6ff0520 100644 --- a/include/asm-cris/arch-v32/mach-a3/arbiter.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/arbiter.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/dma.h b/arch/cris/include/arch-v32/mach-a3/mach/dma.h index 9e8eb13b601d..9e8eb13b601d 100644 --- a/include/asm-cris/arch-v32/mach-a3/dma.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/dma.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h index 02855adf63e8..02855adf63e8 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/clkgen_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/clkgen_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h index b12be03edacb..b12be03edacb 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/ddr2_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/ddr2_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h index df6714fda179..df6714fda179 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/gio_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/gio_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h index c3dc9c666c46..c3dc9c666c46 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pinmux_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pinmux_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h index 3907ef4921c8..3907ef4921c8 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/pio_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/pio_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h index 89439e9610e2..89439e9610e2 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/reg_map_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/reg_map_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h index b129e826fc34..b129e826fc34 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/asm/timer_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/asm/timer_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h index c1e9ba93b3a3..c1e9ba93b3a3 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/clkgen_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/clkgen_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h index 0f30e8bf946d..0f30e8bf946d 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/ddr2_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/ddr2_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h index 5d88e0db23ae..5d88e0db23ae 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/gio_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/gio_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h index bea699aa480e..bea699aa480e 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h index b820f6347c74..b820f6347c74 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/intr_vect_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/intr_vect_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h index d75a74e90458..d75a74e90458 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_reg_space_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_reg_space_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h index 7f90b5a0460d..7f90b5a0460d 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_in_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_in_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h index 399bd656406b..399bd656406b 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sap_out_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sap_out_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h index 3b3949b51a66..3b3949b51a66 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cfg_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cfg_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h index 3f4fe1b31815..3f4fe1b31815 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_cpu_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_cpu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h index ffcc83b22d21..ffcc83b22d21 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_mpu_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_mpu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h index 67a745338087..67a745338087 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_sw_spu_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_sw_spu_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h index 4ad671202af0..4ad671202af0 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/asm/iop_version_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/asm/iop_version_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h index af3196c60a46..af3196c60a46 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_reg_space.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_reg_space.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h index 51dde016c03a..51dde016c03a 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_in_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_in_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h index 5af88baa2ac1..5af88baa2ac1 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sap_out_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sap_out_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h index 98ac95275a1c..98ac95275a1c 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cfg_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cfg_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h index a16f556370eb..a16f556370eb 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_cpu_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_cpu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h index a2e4e1a33e57..a2e4e1a33e57 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_mpu_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_mpu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h index c8560b865a1a..c8560b865a1a 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_sw_spu_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_sw_spu_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h index 20de425e652b..20de425e652b 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/iop/iop_version_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/iop/iop_version_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h index 243ac3c882cb..243ac3c882cb 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/l2cache_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/l2cache_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h index c0e7628cbf7d..c0e7628cbf7d 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_bar_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_bar_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h index 2baa833f109a..2baa833f109a 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/marb_foo_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/marb_foo_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h index 4b96cd2cba8a..4b96cd2cba8a 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/pinmux_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pinmux_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h index 2d8e4b4cc602..2d8e4b4cc602 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/pio_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/pio_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h index 36e59d6e96b6..36e59d6e96b6 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/reg_map.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/reg_map.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h index 14f718a4ecc3..14f718a4ecc3 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/strmux_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/strmux_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h index 2c33e097d60a..2c33e097d60a 100644 --- a/include/asm-cris/arch-v32/mach-a3/hwregs/timer_defs.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/memmap.h b/arch/cris/include/arch-v32/mach-a3/mach/memmap.h index 7e15c9eb4e49..7e15c9eb4e49 100644 --- a/include/asm-cris/arch-v32/mach-a3/memmap.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/memmap.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/pinmux.h b/arch/cris/include/arch-v32/mach-a3/mach/pinmux.h index db42a7254584..db42a7254584 100644 --- a/include/asm-cris/arch-v32/mach-a3/pinmux.h +++ b/arch/cris/include/arch-v32/mach-a3/mach/pinmux.h | |||
diff --git a/include/asm-cris/arch-v32/mach-a3/startup.inc b/arch/cris/include/arch-v32/mach-a3/mach/startup.inc index 2f23e5e16f4a..2f23e5e16f4a 100644 --- a/include/asm-cris/arch-v32/mach-a3/startup.inc +++ b/arch/cris/include/arch-v32/mach-a3/mach/startup.inc | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/arbiter.h b/arch/cris/include/arch-v32/mach-fs/mach/arbiter.h index a2e0ec8faa7d..a2e0ec8faa7d 100644 --- a/include/asm-cris/arch-v32/mach-fs/arbiter.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/arbiter.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h index 0a409c92837e..0a409c92837e 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/bif_core_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/bif_core_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h index a9908dfc2937..a9908dfc2937 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/config_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/config_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h index be4c63936d90..be4c63936d90 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/gio_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/gio_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h index 30cf5a936b64..30cf5a936b64 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/pinmux_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/pinmux_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h index 87517aebd2cb..87517aebd2cb 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/reg_map_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/reg_map_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h index e1197194d5c1..e1197194d5c1 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/asm/timer_defs_asm.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/asm/timer_defs_asm.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h index 44362a62b47c..44362a62b47c 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_core_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_core_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h index 3cb51a09dba7..3cb51a09dba7 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_dma_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_dma_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h index 0c434585a3f9..0c434585a3f9 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/bif_slave_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/bif_slave_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h index abc5f20705f7..abc5f20705f7 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/config_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/config_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h index 26aa3efcf91b..26aa3efcf91b 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/gio_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/gio_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h index bacc2a895c21..bacc2a895c21 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h index aa65128ae1aa..aa65128ae1aa 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/intr_vect_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/intr_vect_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h index dcaaec4620ba..dcaaec4620ba 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_bp_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_bp_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h index 254da0854986..254da0854986 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/marb_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/marb_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h index 751eab5f191c..751eab5f191c 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/pinmux_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/pinmux_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h index 4146973a58b3..4146973a58b3 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/reg_map.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/reg_map.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h index cbfaa867829e..cbfaa867829e 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/strmux_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/strmux_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h index 76bcc591921d..76bcc591921d 100644 --- a/include/asm-cris/arch-v32/mach-fs/hwregs/timer_defs.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/pinmux.h b/arch/cris/include/arch-v32/mach-fs/mach/pinmux.h index c2b3036779df..c2b3036779df 100644 --- a/include/asm-cris/arch-v32/mach-fs/pinmux.h +++ b/arch/cris/include/arch-v32/mach-fs/mach/pinmux.h | |||
diff --git a/include/asm-cris/arch-v32/mach-fs/startup.inc b/arch/cris/include/arch-v32/mach-fs/mach/startup.inc index 4a10ccbd6cc1..4a10ccbd6cc1 100644 --- a/include/asm-cris/arch-v32/mach-fs/startup.inc +++ b/arch/cris/include/arch-v32/mach-fs/mach/startup.inc | |||
diff --git a/include/asm-cris/Kbuild b/arch/cris/include/asm/Kbuild index d5b631935ec8..d5b631935ec8 100644 --- a/include/asm-cris/Kbuild +++ b/arch/cris/include/asm/Kbuild | |||
diff --git a/include/asm-cris/atomic.h b/arch/cris/include/asm/atomic.h index 5fc87768774a..f71ea686a2ea 100644 --- a/include/asm-cris/atomic.h +++ b/arch/cris/include/asm/atomic.h | |||
@@ -6,7 +6,7 @@ | |||
6 | #include <linux/compiler.h> | 6 | #include <linux/compiler.h> |
7 | 7 | ||
8 | #include <asm/system.h> | 8 | #include <asm/system.h> |
9 | #include <asm/arch/atomic.h> | 9 | #include <arch/atomic.h> |
10 | 10 | ||
11 | /* | 11 | /* |
12 | * Atomic operations that C can't guarantee us. Useful for | 12 | * Atomic operations that C can't guarantee us. Useful for |
diff --git a/include/asm-cris/auxvec.h b/arch/cris/include/asm/auxvec.h index cb30b01bf19f..cb30b01bf19f 100644 --- a/include/asm-cris/auxvec.h +++ b/arch/cris/include/asm/auxvec.h | |||
diff --git a/include/asm-cris/axisflashmap.h b/arch/cris/include/asm/axisflashmap.h index 015ca5445ddd..015ca5445ddd 100644 --- a/include/asm-cris/axisflashmap.h +++ b/arch/cris/include/asm/axisflashmap.h | |||
diff --git a/include/asm-cris/bitops.h b/arch/cris/include/asm/bitops.h index 75ea6e096483..c0e62f811e09 100644 --- a/include/asm-cris/bitops.h +++ b/arch/cris/include/asm/bitops.h | |||
@@ -18,7 +18,7 @@ | |||
18 | #error only <linux/bitops.h> can be included directly | 18 | #error only <linux/bitops.h> can be included directly |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #include <asm/arch/bitops.h> | 21 | #include <arch/bitops.h> |
22 | #include <asm/system.h> | 22 | #include <asm/system.h> |
23 | #include <asm/atomic.h> | 23 | #include <asm/atomic.h> |
24 | #include <linux/compiler.h> | 24 | #include <linux/compiler.h> |
diff --git a/include/asm-cris/bug.h b/arch/cris/include/asm/bug.h index fee12d4ae683..3b3958963801 100644 --- a/include/asm-cris/bug.h +++ b/arch/cris/include/asm/bug.h | |||
@@ -1,4 +1,4 @@ | |||
1 | #ifndef _CRIS_BUG_H | 1 | #ifndef _CRIS_BUG_H |
2 | #define _CRIS_BUG_H | 2 | #define _CRIS_BUG_H |
3 | #include <asm/arch/bug.h> | 3 | #include <arch/bug.h> |
4 | #endif | 4 | #endif |
diff --git a/include/asm-cris/bugs.h b/arch/cris/include/asm/bugs.h index c5907aac1007..c5907aac1007 100644 --- a/include/asm-cris/bugs.h +++ b/arch/cris/include/asm/bugs.h | |||
diff --git a/include/asm-cris/byteorder.h b/arch/cris/include/asm/byteorder.h index 0cd9db1cc888..cc8e418cfd14 100644 --- a/include/asm-cris/byteorder.h +++ b/arch/cris/include/asm/byteorder.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #ifdef __GNUC__ | 4 | #ifdef __GNUC__ |
5 | 5 | ||
6 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
7 | #include <asm/arch/byteorder.h> | 7 | #include <arch/byteorder.h> |
8 | 8 | ||
9 | /* defines are necessary because the other files detect the presence | 9 | /* defines are necessary because the other files detect the presence |
10 | * of a defined __arch_swab32, not an inline | 10 | * of a defined __arch_swab32, not an inline |
diff --git a/include/asm-cris/cache.h b/arch/cris/include/asm/cache.h index 46a3b26e205a..a692b9fba8b9 100644 --- a/include/asm-cris/cache.h +++ b/arch/cris/include/asm/cache.h | |||
@@ -1,6 +1,6 @@ | |||
1 | #ifndef _ASM_CACHE_H | 1 | #ifndef _ASM_CACHE_H |
2 | #define _ASM_CACHE_H | 2 | #define _ASM_CACHE_H |
3 | 3 | ||
4 | #include <asm/arch/cache.h> | 4 | #include <arch/cache.h> |
5 | 5 | ||
6 | #endif /* _ASM_CACHE_H */ | 6 | #endif /* _ASM_CACHE_H */ |
diff --git a/include/asm-cris/cacheflush.h b/arch/cris/include/asm/cacheflush.h index cf60e3f69f8d..cf60e3f69f8d 100644 --- a/include/asm-cris/cacheflush.h +++ b/arch/cris/include/asm/cacheflush.h | |||
diff --git a/include/asm-cris/checksum.h b/arch/cris/include/asm/checksum.h index c6c5be62c698..75dcb77d6cb0 100644 --- a/include/asm-cris/checksum.h +++ b/arch/cris/include/asm/checksum.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef _CRIS_CHECKSUM_H | 3 | #ifndef _CRIS_CHECKSUM_H |
4 | #define _CRIS_CHECKSUM_H | 4 | #define _CRIS_CHECKSUM_H |
5 | 5 | ||
6 | #include <asm/arch/checksum.h> | 6 | #include <arch/checksum.h> |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * computes the checksum of a memory block at buff, length len, | 9 | * computes the checksum of a memory block at buff, length len, |
diff --git a/include/asm-cris/cputime.h b/arch/cris/include/asm/cputime.h index 4446a65656fa..4446a65656fa 100644 --- a/include/asm-cris/cputime.h +++ b/arch/cris/include/asm/cputime.h | |||
diff --git a/include/asm-cris/current.h b/arch/cris/include/asm/current.h index 5f5c0efd00be..5f5c0efd00be 100644 --- a/include/asm-cris/current.h +++ b/arch/cris/include/asm/current.h | |||
diff --git a/include/asm-cris/delay.h b/arch/cris/include/asm/delay.h index 123e19aef49d..75ec581bfead 100644 --- a/include/asm-cris/delay.h +++ b/arch/cris/include/asm/delay.h | |||
@@ -7,7 +7,7 @@ | |||
7 | * Delay routines, using a pre-computed "loops_per_second" value. | 7 | * Delay routines, using a pre-computed "loops_per_second" value. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <asm/arch/delay.h> | 10 | #include <arch/delay.h> |
11 | 11 | ||
12 | /* Use only for very small delays ( < 1 msec). */ | 12 | /* Use only for very small delays ( < 1 msec). */ |
13 | 13 | ||
diff --git a/include/asm-cris/device.h b/arch/cris/include/asm/device.h index d8f9872b0e2d..d8f9872b0e2d 100644 --- a/include/asm-cris/device.h +++ b/arch/cris/include/asm/device.h | |||
diff --git a/include/asm-cris/div64.h b/arch/cris/include/asm/div64.h index 6cd978cefb28..6cd978cefb28 100644 --- a/include/asm-cris/div64.h +++ b/arch/cris/include/asm/div64.h | |||
diff --git a/include/asm-cris/dma-mapping.h b/arch/cris/include/asm/dma-mapping.h index da8ef8e8f842..da8ef8e8f842 100644 --- a/include/asm-cris/dma-mapping.h +++ b/arch/cris/include/asm/dma-mapping.h | |||
diff --git a/include/asm-cris/dma.h b/arch/cris/include/asm/dma.h index 6f188dc56138..30fd715fa589 100644 --- a/include/asm-cris/dma.h +++ b/arch/cris/include/asm/dma.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef _ASM_DMA_H | 3 | #ifndef _ASM_DMA_H |
4 | #define _ASM_DMA_H | 4 | #define _ASM_DMA_H |
5 | 5 | ||
6 | #include <asm/arch/dma.h> | 6 | #include <arch/dma.h> |
7 | 7 | ||
8 | /* it's useless on the Etrax, but unfortunately needed by the new | 8 | /* it's useless on the Etrax, but unfortunately needed by the new |
9 | bootmem allocator (but this should do it for this) */ | 9 | bootmem allocator (but this should do it for this) */ |
diff --git a/include/asm-cris/elf.h b/arch/cris/include/asm/elf.h index f0d17fbc81ba..0f51b10b9f4f 100644 --- a/include/asm-cris/elf.h +++ b/arch/cris/include/asm/elf.h | |||
@@ -45,7 +45,7 @@ typedef unsigned long elf_fpregset_t; | |||
45 | #define ELF_DATA ELFDATA2LSB | 45 | #define ELF_DATA ELFDATA2LSB |
46 | #define ELF_ARCH EM_CRIS | 46 | #define ELF_ARCH EM_CRIS |
47 | 47 | ||
48 | #include <asm/arch/elf.h> | 48 | #include <arch/elf.h> |
49 | 49 | ||
50 | /* The master for these definitions is {binutils}/include/elf/cris.h: */ | 50 | /* The master for these definitions is {binutils}/include/elf/cris.h: */ |
51 | /* User symbols in this file have a leading underscore. */ | 51 | /* User symbols in this file have a leading underscore. */ |
diff --git a/include/asm-cris/emergency-restart.h b/arch/cris/include/asm/emergency-restart.h index 108d8c48e42e..108d8c48e42e 100644 --- a/include/asm-cris/emergency-restart.h +++ b/arch/cris/include/asm/emergency-restart.h | |||
diff --git a/include/asm-cris/errno.h b/arch/cris/include/asm/errno.h index 2bf5eb5fa773..2bf5eb5fa773 100644 --- a/include/asm-cris/errno.h +++ b/arch/cris/include/asm/errno.h | |||
diff --git a/include/asm-cris/eshlibld.h b/arch/cris/include/asm/eshlibld.h index 10ce36cf79a9..10ce36cf79a9 100644 --- a/include/asm-cris/eshlibld.h +++ b/arch/cris/include/asm/eshlibld.h | |||
diff --git a/include/asm-cris/ethernet.h b/arch/cris/include/asm/ethernet.h index 4d58652c3a49..4d58652c3a49 100644 --- a/include/asm-cris/ethernet.h +++ b/arch/cris/include/asm/ethernet.h | |||
diff --git a/include/asm-cris/etraxgpio.h b/arch/cris/include/asm/etraxgpio.h index 38f1c8e1770c..38f1c8e1770c 100644 --- a/include/asm-cris/etraxgpio.h +++ b/arch/cris/include/asm/etraxgpio.h | |||
diff --git a/include/asm-cris/etraxi2c.h b/arch/cris/include/asm/etraxi2c.h index e369a7620893..e369a7620893 100644 --- a/include/asm-cris/etraxi2c.h +++ b/arch/cris/include/asm/etraxi2c.h | |||
diff --git a/include/asm-cris/fasttimer.h b/arch/cris/include/asm/fasttimer.h index 8f8a8d6c9653..8f8a8d6c9653 100644 --- a/include/asm-cris/fasttimer.h +++ b/arch/cris/include/asm/fasttimer.h | |||
diff --git a/include/asm-cris/fb.h b/arch/cris/include/asm/fb.h index c7df38030992..c7df38030992 100644 --- a/include/asm-cris/fb.h +++ b/arch/cris/include/asm/fb.h | |||
diff --git a/include/asm-cris/fcntl.h b/arch/cris/include/asm/fcntl.h index 46ab12db5739..46ab12db5739 100644 --- a/include/asm-cris/fcntl.h +++ b/arch/cris/include/asm/fcntl.h | |||
diff --git a/include/asm-cris/futex.h b/arch/cris/include/asm/futex.h index 6a332a9f099c..6a332a9f099c 100644 --- a/include/asm-cris/futex.h +++ b/arch/cris/include/asm/futex.h | |||
diff --git a/include/asm-cris/hardirq.h b/arch/cris/include/asm/hardirq.h index 74178adeb1cd..74178adeb1cd 100644 --- a/include/asm-cris/hardirq.h +++ b/arch/cris/include/asm/hardirq.h | |||
diff --git a/include/asm-cris/hw_irq.h b/arch/cris/include/asm/hw_irq.h index 298066020af2..298066020af2 100644 --- a/include/asm-cris/hw_irq.h +++ b/arch/cris/include/asm/hw_irq.h | |||
diff --git a/include/asm-cris/io.h b/arch/cris/include/asm/io.h index b87ce63f531f..32567bc2a421 100644 --- a/include/asm-cris/io.h +++ b/arch/cris/include/asm/io.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define _ASM_CRIS_IO_H | 2 | #define _ASM_CRIS_IO_H |
3 | 3 | ||
4 | #include <asm/page.h> /* for __va, __pa */ | 4 | #include <asm/page.h> /* for __va, __pa */ |
5 | #include <asm/arch/io.h> | 5 | #include <arch/io.h> |
6 | #include <linux/kernel.h> | 6 | #include <linux/kernel.h> |
7 | 7 | ||
8 | struct cris_io_operations | 8 | struct cris_io_operations |
diff --git a/include/asm-cris/ioctl.h b/arch/cris/include/asm/ioctl.h index b279fe06dfe5..b279fe06dfe5 100644 --- a/include/asm-cris/ioctl.h +++ b/arch/cris/include/asm/ioctl.h | |||
diff --git a/include/asm-cris/ioctls.h b/arch/cris/include/asm/ioctls.h index 4f4e52531fa0..4f4e52531fa0 100644 --- a/include/asm-cris/ioctls.h +++ b/arch/cris/include/asm/ioctls.h | |||
diff --git a/include/asm-cris/ipcbuf.h b/arch/cris/include/asm/ipcbuf.h index 8b0c18b02844..8b0c18b02844 100644 --- a/include/asm-cris/ipcbuf.h +++ b/arch/cris/include/asm/ipcbuf.h | |||
diff --git a/include/asm-cris/irq.h b/arch/cris/include/asm/irq.h index 998cce9f3200..ce0fcf540d62 100644 --- a/include/asm-cris/irq.h +++ b/arch/cris/include/asm/irq.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _ASM_IRQ_H | 1 | #ifndef _ASM_IRQ_H |
2 | #define _ASM_IRQ_H | 2 | #define _ASM_IRQ_H |
3 | 3 | ||
4 | #include <asm/arch/irq.h> | 4 | #include <arch/irq.h> |
5 | 5 | ||
6 | static inline int irq_canonicalize(int irq) | 6 | static inline int irq_canonicalize(int irq) |
7 | { | 7 | { |
diff --git a/include/asm-cris/irq_regs.h b/arch/cris/include/asm/irq_regs.h index 3dd9c0b70270..3dd9c0b70270 100644 --- a/include/asm-cris/irq_regs.h +++ b/arch/cris/include/asm/irq_regs.h | |||
diff --git a/include/asm-cris/kdebug.h b/arch/cris/include/asm/kdebug.h index 6ece1b037665..6ece1b037665 100644 --- a/include/asm-cris/kdebug.h +++ b/arch/cris/include/asm/kdebug.h | |||
diff --git a/include/asm-cris/kmap_types.h b/arch/cris/include/asm/kmap_types.h index 492988cb9077..492988cb9077 100644 --- a/include/asm-cris/kmap_types.h +++ b/arch/cris/include/asm/kmap_types.h | |||
diff --git a/include/asm-cris/linkage.h b/arch/cris/include/asm/linkage.h index 291c2d01c44f..291c2d01c44f 100644 --- a/include/asm-cris/linkage.h +++ b/arch/cris/include/asm/linkage.h | |||
diff --git a/include/asm-cris/local.h b/arch/cris/include/asm/local.h index c11c530f74d0..c11c530f74d0 100644 --- a/include/asm-cris/local.h +++ b/arch/cris/include/asm/local.h | |||
diff --git a/include/asm-cris/mman.h b/arch/cris/include/asm/mman.h index 1c35e1b66b46..1c35e1b66b46 100644 --- a/include/asm-cris/mman.h +++ b/arch/cris/include/asm/mman.h | |||
diff --git a/include/asm-cris/mmu.h b/arch/cris/include/asm/mmu.h index c40a1bcad06c..e06ea94ecffd 100644 --- a/include/asm-cris/mmu.h +++ b/arch/cris/include/asm/mmu.h | |||
@@ -5,6 +5,6 @@ | |||
5 | #ifndef _CRIS_MMU_H | 5 | #ifndef _CRIS_MMU_H |
6 | #define _CRIS_MMU_H | 6 | #define _CRIS_MMU_H |
7 | 7 | ||
8 | #include <asm/arch/mmu.h> | 8 | #include <arch/mmu.h> |
9 | 9 | ||
10 | #endif | 10 | #endif |
diff --git a/include/asm-cris/mmu_context.h b/arch/cris/include/asm/mmu_context.h index 72ba08dcfd18..72ba08dcfd18 100644 --- a/include/asm-cris/mmu_context.h +++ b/arch/cris/include/asm/mmu_context.h | |||
diff --git a/include/asm-cris/module.h b/arch/cris/include/asm/module.h index 7ee72311bd78..7ee72311bd78 100644 --- a/include/asm-cris/module.h +++ b/arch/cris/include/asm/module.h | |||
diff --git a/include/asm-cris/msgbuf.h b/arch/cris/include/asm/msgbuf.h index ada63df1d574..ada63df1d574 100644 --- a/include/asm-cris/msgbuf.h +++ b/arch/cris/include/asm/msgbuf.h | |||
diff --git a/include/asm-cris/mutex.h b/arch/cris/include/asm/mutex.h index 458c1f7fbc18..458c1f7fbc18 100644 --- a/include/asm-cris/mutex.h +++ b/arch/cris/include/asm/mutex.h | |||
diff --git a/include/asm-cris/page.h b/arch/cris/include/asm/page.h index d19272ba6b69..f3fdbd09c34c 100644 --- a/include/asm-cris/page.h +++ b/arch/cris/include/asm/page.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _CRIS_PAGE_H | 1 | #ifndef _CRIS_PAGE_H |
2 | #define _CRIS_PAGE_H | 2 | #define _CRIS_PAGE_H |
3 | 3 | ||
4 | #include <asm/arch/page.h> | 4 | #include <arch/page.h> |
5 | #include <linux/const.h> | 5 | #include <linux/const.h> |
6 | 6 | ||
7 | /* PAGE_SHIFT determines the page size */ | 7 | /* PAGE_SHIFT determines the page size */ |
diff --git a/include/asm-cris/param.h b/arch/cris/include/asm/param.h index 0e47994e40be..0e47994e40be 100644 --- a/include/asm-cris/param.h +++ b/arch/cris/include/asm/param.h | |||
diff --git a/include/asm-cris/pci.h b/arch/cris/include/asm/pci.h index 730ce40fdd0f..730ce40fdd0f 100644 --- a/include/asm-cris/pci.h +++ b/arch/cris/include/asm/pci.h | |||
diff --git a/include/asm-cris/percpu.h b/arch/cris/include/asm/percpu.h index 6db9b43cf80a..6db9b43cf80a 100644 --- a/include/asm-cris/percpu.h +++ b/arch/cris/include/asm/percpu.h | |||
diff --git a/include/asm-cris/pgalloc.h b/arch/cris/include/asm/pgalloc.h index a1ba761d0573..a1ba761d0573 100644 --- a/include/asm-cris/pgalloc.h +++ b/arch/cris/include/asm/pgalloc.h | |||
diff --git a/include/asm-cris/pgtable.h b/arch/cris/include/asm/pgtable.h index 829e7a7d9fb9..50aa974aa834 100644 --- a/include/asm-cris/pgtable.h +++ b/arch/cris/include/asm/pgtable.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <asm/mmu.h> | 13 | #include <asm/mmu.h> |
14 | #endif | 14 | #endif |
15 | #include <asm/arch/pgtable.h> | 15 | #include <arch/pgtable.h> |
16 | 16 | ||
17 | /* | 17 | /* |
18 | * The Linux memory management assumes a three-level page table setup. On | 18 | * The Linux memory management assumes a three-level page table setup. On |
diff --git a/include/asm-cris/poll.h b/arch/cris/include/asm/poll.h index c98509d3149e..c98509d3149e 100644 --- a/include/asm-cris/poll.h +++ b/arch/cris/include/asm/poll.h | |||
diff --git a/include/asm-cris/posix_types.h b/arch/cris/include/asm/posix_types.h index ce3fb25a460b..ce3fb25a460b 100644 --- a/include/asm-cris/posix_types.h +++ b/arch/cris/include/asm/posix_types.h | |||
diff --git a/include/asm-cris/processor.h b/arch/cris/include/asm/processor.h index cdc0c1dce6be..3f7248f7a1c9 100644 --- a/include/asm-cris/processor.h +++ b/arch/cris/include/asm/processor.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <asm/system.h> | 13 | #include <asm/system.h> |
14 | #include <asm/page.h> | 14 | #include <asm/page.h> |
15 | #include <asm/ptrace.h> | 15 | #include <asm/ptrace.h> |
16 | #include <asm/arch/processor.h> | 16 | #include <arch/processor.h> |
17 | 17 | ||
18 | struct task_struct; | 18 | struct task_struct; |
19 | 19 | ||
diff --git a/include/asm-cris/ptrace.h b/arch/cris/include/asm/ptrace.h index d910925e3174..6618893bfe8e 100644 --- a/include/asm-cris/ptrace.h +++ b/arch/cris/include/asm/ptrace.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _CRIS_PTRACE_H | 1 | #ifndef _CRIS_PTRACE_H |
2 | #define _CRIS_PTRACE_H | 2 | #define _CRIS_PTRACE_H |
3 | 3 | ||
4 | #include <asm/arch/ptrace.h> | 4 | #include <arch/ptrace.h> |
5 | 5 | ||
6 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
7 | 7 | ||
diff --git a/include/asm-cris/resource.h b/arch/cris/include/asm/resource.h index b5d29448de4e..b5d29448de4e 100644 --- a/include/asm-cris/resource.h +++ b/arch/cris/include/asm/resource.h | |||
diff --git a/include/asm-cris/rs485.h b/arch/cris/include/asm/rs485.h index c331c51b0c2b..c331c51b0c2b 100644 --- a/include/asm-cris/rs485.h +++ b/arch/cris/include/asm/rs485.h | |||
diff --git a/include/asm-cris/rtc.h b/arch/cris/include/asm/rtc.h index 17d3019529e1..17d3019529e1 100644 --- a/include/asm-cris/rtc.h +++ b/arch/cris/include/asm/rtc.h | |||
diff --git a/include/asm-cris/scatterlist.h b/arch/cris/include/asm/scatterlist.h index faff53ad1f96..faff53ad1f96 100644 --- a/include/asm-cris/scatterlist.h +++ b/arch/cris/include/asm/scatterlist.h | |||
diff --git a/include/asm-cris/sections.h b/arch/cris/include/asm/sections.h index 2c998ce8967b..2c998ce8967b 100644 --- a/include/asm-cris/sections.h +++ b/arch/cris/include/asm/sections.h | |||
diff --git a/include/asm-cris/segment.h b/arch/cris/include/asm/segment.h index c067513beaaf..c067513beaaf 100644 --- a/include/asm-cris/segment.h +++ b/arch/cris/include/asm/segment.h | |||
diff --git a/include/asm-cris/sembuf.h b/arch/cris/include/asm/sembuf.h index 7fed9843796d..7fed9843796d 100644 --- a/include/asm-cris/sembuf.h +++ b/arch/cris/include/asm/sembuf.h | |||
diff --git a/include/asm-cris/setup.h b/arch/cris/include/asm/setup.h index b90728652d1a..b90728652d1a 100644 --- a/include/asm-cris/setup.h +++ b/arch/cris/include/asm/setup.h | |||
diff --git a/include/asm-cris/shmbuf.h b/arch/cris/include/asm/shmbuf.h index 3239e3f000e8..3239e3f000e8 100644 --- a/include/asm-cris/shmbuf.h +++ b/arch/cris/include/asm/shmbuf.h | |||
diff --git a/include/asm-cris/shmparam.h b/arch/cris/include/asm/shmparam.h index d29d12270687..d29d12270687 100644 --- a/include/asm-cris/shmparam.h +++ b/arch/cris/include/asm/shmparam.h | |||
diff --git a/include/asm-cris/sigcontext.h b/arch/cris/include/asm/sigcontext.h index a1d634e120df..a1d634e120df 100644 --- a/include/asm-cris/sigcontext.h +++ b/arch/cris/include/asm/sigcontext.h | |||
diff --git a/include/asm-cris/siginfo.h b/arch/cris/include/asm/siginfo.h index c1cd6d16928b..c1cd6d16928b 100644 --- a/include/asm-cris/siginfo.h +++ b/arch/cris/include/asm/siginfo.h | |||
diff --git a/include/asm-cris/signal.h b/arch/cris/include/asm/signal.h index 349ae682b568..349ae682b568 100644 --- a/include/asm-cris/signal.h +++ b/arch/cris/include/asm/signal.h | |||
diff --git a/include/asm-cris/smp.h b/arch/cris/include/asm/smp.h index dba33aba3e95..dba33aba3e95 100644 --- a/include/asm-cris/smp.h +++ b/arch/cris/include/asm/smp.h | |||
diff --git a/include/asm-cris/socket.h b/arch/cris/include/asm/socket.h index 9df0ca82f5de..9df0ca82f5de 100644 --- a/include/asm-cris/socket.h +++ b/arch/cris/include/asm/socket.h | |||
diff --git a/include/asm-cris/sockios.h b/arch/cris/include/asm/sockios.h index cfe7bfecf599..cfe7bfecf599 100644 --- a/include/asm-cris/sockios.h +++ b/arch/cris/include/asm/sockios.h | |||
diff --git a/arch/cris/include/asm/spinlock.h b/arch/cris/include/asm/spinlock.h new file mode 100644 index 000000000000..ed816b57face --- /dev/null +++ b/arch/cris/include/asm/spinlock.h | |||
@@ -0,0 +1 @@ | |||
#include <arch/spinlock.h> | |||
diff --git a/include/asm-cris/stat.h b/arch/cris/include/asm/stat.h index 9e558cc3c43b..9e558cc3c43b 100644 --- a/include/asm-cris/stat.h +++ b/arch/cris/include/asm/stat.h | |||
diff --git a/include/asm-cris/statfs.h b/arch/cris/include/asm/statfs.h index fdaf921844bc..fdaf921844bc 100644 --- a/include/asm-cris/statfs.h +++ b/arch/cris/include/asm/statfs.h | |||
diff --git a/include/asm-cris/string.h b/arch/cris/include/asm/string.h index 691190e99a27..691190e99a27 100644 --- a/include/asm-cris/string.h +++ b/arch/cris/include/asm/string.h | |||
diff --git a/include/asm-cris/sync_serial.h b/arch/cris/include/asm/sync_serial.h index d87c24df2b38..d87c24df2b38 100644 --- a/include/asm-cris/sync_serial.h +++ b/arch/cris/include/asm/sync_serial.h | |||
diff --git a/include/asm-cris/system.h b/arch/cris/include/asm/system.h index 5bcfe5a10907..8657b084a922 100644 --- a/include/asm-cris/system.h +++ b/arch/cris/include/asm/system.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __ASM_CRIS_SYSTEM_H | 1 | #ifndef __ASM_CRIS_SYSTEM_H |
2 | #define __ASM_CRIS_SYSTEM_H | 2 | #define __ASM_CRIS_SYSTEM_H |
3 | 3 | ||
4 | #include <asm/arch/system.h> | 4 | #include <arch/system.h> |
5 | 5 | ||
6 | /* the switch_to macro calls resume, an asm function in entry.S which does the actual | 6 | /* the switch_to macro calls resume, an asm function in entry.S which does the actual |
7 | * task switching. | 7 | * task switching. |
diff --git a/include/asm-cris/termbits.h b/arch/cris/include/asm/termbits.h index 66e1a7492a0c..66e1a7492a0c 100644 --- a/include/asm-cris/termbits.h +++ b/arch/cris/include/asm/termbits.h | |||
diff --git a/include/asm-cris/termios.h b/arch/cris/include/asm/termios.h index b0124e6c2e41..b0124e6c2e41 100644 --- a/include/asm-cris/termios.h +++ b/arch/cris/include/asm/termios.h | |||
diff --git a/include/asm-cris/thread_info.h b/arch/cris/include/asm/thread_info.h index cee97f14af3b..bc5b2935ca53 100644 --- a/include/asm-cris/thread_info.h +++ b/arch/cris/include/asm/thread_info.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
17 | #include <asm/types.h> | 17 | #include <asm/types.h> |
18 | #include <asm/processor.h> | 18 | #include <asm/processor.h> |
19 | #include <asm/arch/thread_info.h> | 19 | #include <arch/thread_info.h> |
20 | #include <asm/segment.h> | 20 | #include <asm/segment.h> |
21 | #endif | 21 | #endif |
22 | 22 | ||
diff --git a/include/asm-cris/timex.h b/arch/cris/include/asm/timex.h index b92e0e80fe86..980924ae7518 100644 --- a/include/asm-cris/timex.h +++ b/arch/cris/include/asm/timex.h | |||
@@ -7,7 +7,7 @@ | |||
7 | #ifndef _ASM_CRIS_TIMEX_H | 7 | #ifndef _ASM_CRIS_TIMEX_H |
8 | #define _ASM_CRIS_TIMEX_H | 8 | #define _ASM_CRIS_TIMEX_H |
9 | 9 | ||
10 | #include <asm/arch/timex.h> | 10 | #include <arch/timex.h> |
11 | 11 | ||
12 | /* | 12 | /* |
13 | * We don't have a cycle-counter.. but we do not support SMP anyway where this is | 13 | * We don't have a cycle-counter.. but we do not support SMP anyway where this is |
diff --git a/include/asm-cris/tlb.h b/arch/cris/include/asm/tlb.h index 7724246a2601..77384ea2f29d 100644 --- a/include/asm-cris/tlb.h +++ b/arch/cris/include/asm/tlb.h | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | #include <linux/pagemap.h> | 4 | #include <linux/pagemap.h> |
5 | 5 | ||
6 | #include <asm/arch/tlb.h> | 6 | #include <arch/tlb.h> |
7 | 7 | ||
8 | /* | 8 | /* |
9 | * cris doesn't need any special per-pte or | 9 | * cris doesn't need any special per-pte or |
diff --git a/include/asm-cris/tlbflush.h b/arch/cris/include/asm/tlbflush.h index 20697e7ef4f2..20697e7ef4f2 100644 --- a/include/asm-cris/tlbflush.h +++ b/arch/cris/include/asm/tlbflush.h | |||
diff --git a/include/asm-cris/topology.h b/arch/cris/include/asm/topology.h index 2ac613d32a89..2ac613d32a89 100644 --- a/include/asm-cris/topology.h +++ b/arch/cris/include/asm/topology.h | |||
diff --git a/include/asm-cris/types.h b/arch/cris/include/asm/types.h index 5790262cbe8a..5790262cbe8a 100644 --- a/include/asm-cris/types.h +++ b/arch/cris/include/asm/types.h | |||
diff --git a/include/asm-cris/uaccess.h b/arch/cris/include/asm/uaccess.h index ea11eaf0e922..914540801c5e 100644 --- a/include/asm-cris/uaccess.h +++ b/arch/cris/include/asm/uaccess.h | |||
@@ -54,7 +54,7 @@ | |||
54 | #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) | 54 | #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) |
55 | #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) | 55 | #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) |
56 | 56 | ||
57 | #include <asm/arch/uaccess.h> | 57 | #include <arch/uaccess.h> |
58 | 58 | ||
59 | /* | 59 | /* |
60 | * The exception table consists of pairs of addresses: the first is the | 60 | * The exception table consists of pairs of addresses: the first is the |
diff --git a/include/asm-cris/ucontext.h b/arch/cris/include/asm/ucontext.h index eed6ad5eb3f2..eed6ad5eb3f2 100644 --- a/include/asm-cris/ucontext.h +++ b/arch/cris/include/asm/ucontext.h | |||
diff --git a/include/asm-cris/unaligned.h b/arch/cris/include/asm/unaligned.h index 7b3f3fec567c..7b3f3fec567c 100644 --- a/include/asm-cris/unaligned.h +++ b/arch/cris/include/asm/unaligned.h | |||
diff --git a/include/asm-cris/unistd.h b/arch/cris/include/asm/unistd.h index 76398ef87e9b..235d076379d5 100644 --- a/include/asm-cris/unistd.h +++ b/arch/cris/include/asm/unistd.h | |||
@@ -336,7 +336,7 @@ | |||
336 | 336 | ||
337 | #define NR_syscalls 327 | 337 | #define NR_syscalls 327 |
338 | 338 | ||
339 | #include <asm/arch/unistd.h> | 339 | #include <arch/unistd.h> |
340 | 340 | ||
341 | #define __ARCH_WANT_IPC_PARSE_VERSION | 341 | #define __ARCH_WANT_IPC_PARSE_VERSION |
342 | #define __ARCH_WANT_OLD_READDIR | 342 | #define __ARCH_WANT_OLD_READDIR |
diff --git a/include/asm-cris/user.h b/arch/cris/include/asm/user.h index 73e60fcbcf38..59147cf43cf6 100644 --- a/include/asm-cris/user.h +++ b/arch/cris/include/asm/user.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <asm/ptrace.h> | 5 | #include <asm/ptrace.h> |
6 | #include <asm/page.h> | 6 | #include <asm/page.h> |
7 | #include <asm/arch/user.h> | 7 | #include <arch/user.h> |
8 | 8 | ||
9 | /* | 9 | /* |
10 | * Core file format: The core file is written in such a way that gdb | 10 | * Core file format: The core file is written in such a way that gdb |
diff --git a/arch/cris/arch-v32/kernel/asm-offsets.c b/arch/cris/kernel/asm-offsets.c index 15b3d93a0496..ddd6fbbe75de 100644 --- a/arch/cris/arch-v32/kernel/asm-offsets.c +++ b/arch/cris/kernel/asm-offsets.c | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/sched.h> | 1 | #include <linux/sched.h> |
2 | #include <asm/thread_info.h> | 2 | #include <asm/thread_info.h> |
3 | #include <linux/autoconf.h> | ||
3 | 4 | ||
4 | /* | 5 | /* |
5 | * Generate definitions needed by assembly language modules. | 6 | * Generate definitions needed by assembly language modules. |
@@ -8,10 +9,14 @@ | |||
8 | */ | 9 | */ |
9 | 10 | ||
10 | #define DEFINE(sym, val) \ | 11 | #define DEFINE(sym, val) \ |
11 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | 12 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) |
12 | 13 | ||
13 | #define BLANK() asm volatile("\n->" : : ) | 14 | #define BLANK() asm volatile("\n->" : : ) |
14 | 15 | ||
16 | #if !defined(CONFIG_ETRAX_ARCH_V10) && !defined(CONFIG_ETRAX_ARCH_V32) | ||
17 | #error One of ARCH v10 and ARCH v32 must be true! | ||
18 | #endif | ||
19 | |||
15 | int main(void) | 20 | int main(void) |
16 | { | 21 | { |
17 | #define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry)) | 22 | #define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry)) |
@@ -19,31 +24,41 @@ int main(void) | |||
19 | ENTRY(r13); | 24 | ENTRY(r13); |
20 | ENTRY(r12); | 25 | ENTRY(r12); |
21 | ENTRY(r11); | 26 | ENTRY(r11); |
22 | ENTRY(r10); | 27 | ENTRY(r10); |
23 | ENTRY(r9); | 28 | ENTRY(r9); |
29 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
24 | ENTRY(acr); | 30 | ENTRY(acr); |
25 | ENTRY(srs); | 31 | ENTRY(srs); |
26 | ENTRY(mof); | 32 | #endif |
27 | ENTRY(ccs); | 33 | ENTRY(mof); |
28 | ENTRY(srp); | 34 | #ifdef CONFIG_ETRAX_ARCH_V10 |
35 | ENTRY(dccr); | ||
36 | #else | ||
37 | ENTRY(ccs); | ||
38 | #endif | ||
39 | ENTRY(srp); | ||
29 | BLANK(); | 40 | BLANK(); |
30 | #undef ENTRY | 41 | #undef ENTRY |
31 | #define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry)) | 42 | #define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry)) |
32 | ENTRY(task); | 43 | ENTRY(task); |
33 | ENTRY(flags); | 44 | ENTRY(flags); |
34 | ENTRY(preempt_count); | 45 | ENTRY(preempt_count); |
35 | BLANK(); | 46 | BLANK(); |
36 | #undef ENTRY | 47 | #undef ENTRY |
37 | #define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry)) | 48 | #define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry)) |
38 | ENTRY(ksp); | 49 | ENTRY(ksp); |
39 | ENTRY(usp); | 50 | ENTRY(usp); |
40 | ENTRY(ccs); | 51 | #ifdef CONFIG_ETRAX_ARCH_V10 |
41 | BLANK(); | 52 | ENTRY(dccr); |
53 | #else | ||
54 | ENTRY(ccs); | ||
55 | #endif | ||
56 | BLANK(); | ||
42 | #undef ENTRY | 57 | #undef ENTRY |
43 | #define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry)) | 58 | #define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry)) |
44 | ENTRY(pid); | 59 | ENTRY(pid); |
45 | BLANK(); | 60 | BLANK(); |
46 | DEFINE(LCLONE_VM, CLONE_VM); | 61 | DEFINE(LCLONE_VM, CLONE_VM); |
47 | DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED); | 62 | DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED); |
48 | return 0; | 63 | return 0; |
49 | } | 64 | } |
diff --git a/arch/cris/arch-v32/vmlinux.lds.S b/arch/cris/kernel/vmlinux.lds.S index d5f28e40717c..0d2adfc794d4 100644 --- a/arch/cris/arch-v32/vmlinux.lds.S +++ b/arch/cris/kernel/vmlinux.lds.S | |||
@@ -8,6 +8,7 @@ | |||
8 | * the kernel has booted. | 8 | * the kernel has booted. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/autoconf.h> | ||
11 | #include <asm-generic/vmlinux.lds.h> | 12 | #include <asm-generic/vmlinux.lds.h> |
12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
13 | 14 | ||
@@ -17,22 +18,26 @@ | |||
17 | #define __CONFIG_ETRAX_VMEM_SIZE 0 | 18 | #define __CONFIG_ETRAX_VMEM_SIZE 0 |
18 | #endif | 19 | #endif |
19 | 20 | ||
21 | |||
20 | jiffies = jiffies_64; | 22 | jiffies = jiffies_64; |
21 | SECTIONS | 23 | SECTIONS |
22 | { | 24 | { |
23 | . = DRAM_VIRTUAL_BASE; | 25 | . = DRAM_VIRTUAL_BASE; |
24 | dram_start = .; | 26 | dram_start = .; |
27 | #ifdef CONFIG_ETRAX_ARCH_V10 | ||
28 | ibr_start = .; | ||
29 | #else | ||
25 | ebp_start = .; | 30 | ebp_start = .; |
26 | |||
27 | /* The boot section is only necessary until the VCS top */ | 31 | /* The boot section is only necessary until the VCS top */ |
28 | /* level testbench includes both flash and DRAM. */ | 32 | /* level testbench includes both flash and DRAM. */ |
29 | .boot : { *(.boot) } | 33 | .boot : { *(.boot) } |
34 | #endif | ||
30 | 35 | ||
31 | /* See head.S and pages reserved at the start. */ | 36 | /* see head.S and pages reserved at the start */ |
32 | . = DRAM_VIRTUAL_BASE + 0x4000; | 37 | . = DRAM_VIRTUAL_BASE + 0x4000; |
33 | 38 | ||
34 | _text = .; /* Text and read-only data. */ | 39 | _text = .; /* Text and read-only data. */ |
35 | text_start = .; /* Lots of aliases. */ | 40 | text_start = .; /* Lots of aliases. */ |
36 | _stext = .; | 41 | _stext = .; |
37 | __stext = .; | 42 | __stext = .; |
38 | .text : { | 43 | .text : { |
@@ -43,10 +48,10 @@ SECTIONS | |||
43 | *(.text.__*) | 48 | *(.text.__*) |
44 | } | 49 | } |
45 | 50 | ||
46 | _etext = . ; /* End of text section. */ | 51 | _etext = . ; /* End of text section. */ |
47 | __etext = .; | 52 | __etext = .; |
48 | 53 | ||
49 | . = ALIGN(4); /* Exception table. */ | 54 | . = ALIGN(4); /* Exception table. */ |
50 | __start___ex_table = .; | 55 | __start___ex_table = .; |
51 | __ex_table : { *(__ex_table) } | 56 | __ex_table : { *(__ex_table) } |
52 | __stop___ex_table = .; | 57 | __stop___ex_table = .; |
@@ -56,16 +61,16 @@ SECTIONS | |||
56 | . = ALIGN (4); | 61 | . = ALIGN (4); |
57 | ___data_start = . ; | 62 | ___data_start = . ; |
58 | __Sdata = . ; | 63 | __Sdata = . ; |
59 | .data : { /* Data */ | 64 | .data : { /* Data */ |
60 | DATA_DATA | 65 | DATA_DATA |
61 | } | 66 | } |
62 | __edata = . ; /* End of data section. */ | 67 | __edata = . ; /* End of data section. */ |
63 | _edata = . ; | 68 | _edata = . ; |
64 | 69 | ||
65 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */ | 70 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */ |
66 | .data.init_task : { *(.data.init_task) } | 71 | .data.init_task : { *(.data.init_task) } |
67 | 72 | ||
68 | . = ALIGN(PAGE_SIZE); /* Init code and data. */ | 73 | . = ALIGN(PAGE_SIZE); /* Init code and data. */ |
69 | __init_begin = .; | 74 | __init_begin = .; |
70 | .init.text : { | 75 | .init.text : { |
71 | _sinittext = .; | 76 | _sinittext = .; |
@@ -77,9 +82,11 @@ SECTIONS | |||
77 | __setup_start = .; | 82 | __setup_start = .; |
78 | .init.setup : { *(.init.setup) } | 83 | .init.setup : { *(.init.setup) } |
79 | __setup_end = .; | 84 | __setup_end = .; |
85 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
80 | __start___param = .; | 86 | __start___param = .; |
81 | __param : { *(__param) } | 87 | __param : { *(__param) } |
82 | __stop___param = .; | 88 | __stop___param = .; |
89 | #endif | ||
83 | .initcall.init : { | 90 | .initcall.init : { |
84 | __initcall_start = .; | 91 | __initcall_start = .; |
85 | INITCALLS | 92 | INITCALLS |
@@ -93,7 +100,17 @@ SECTIONS | |||
93 | } | 100 | } |
94 | SECURITY_INIT | 101 | SECURITY_INIT |
95 | 102 | ||
96 | __vmlinux_end = .; /* Last address of the physical file. */ | 103 | #ifdef CONFIG_ETRAX_ARCH_V10 |
104 | #ifdef CONFIG_BLK_DEV_INITRD | ||
105 | .init.ramfs : { | ||
106 | __initramfs_start = .; | ||
107 | *(.init.ramfs) | ||
108 | __initramfs_end = .; | ||
109 | } | ||
110 | #endif | ||
111 | #endif | ||
112 | __vmlinux_end = .; /* Last address of the physical file. */ | ||
113 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
97 | PERCPU(PAGE_SIZE) | 114 | PERCPU(PAGE_SIZE) |
98 | 115 | ||
99 | .init.ramfs : { | 116 | .init.ramfs : { |
@@ -101,18 +118,19 @@ SECTIONS | |||
101 | *(.init.ramfs) | 118 | *(.init.ramfs) |
102 | __initramfs_end = .; | 119 | __initramfs_end = .; |
103 | } | 120 | } |
121 | #endif | ||
104 | 122 | ||
105 | /* | 123 | /* |
106 | * We fill to the next page, so we can discard all init | 124 | * We fill to the next page, so we can discard all init |
107 | * pages without needing to consider what payload might be | 125 | * pages without needing to consider what payload might be |
108 | * appended to the kernel image. | 126 | * appended to the kernel image. |
109 | */ | 127 | */ |
110 | . = ALIGN (PAGE_SIZE); | 128 | . = ALIGN(PAGE_SIZE); |
111 | 129 | ||
112 | __init_end = .; | 130 | __init_end = .; |
113 | 131 | ||
114 | __data_end = . ; /* Move to _edata? */ | 132 | __data_end = . ; /* Move to _edata ? */ |
115 | __bss_start = .; /* BSS. */ | 133 | __bss_start = .; /* BSS. */ |
116 | .bss : { | 134 | .bss : { |
117 | *(COMMON) | 135 | *(COMMON) |
118 | *(.bss) | 136 | *(.bss) |
diff --git a/arch/cris/mm/ioremap.c b/arch/cris/mm/ioremap.c index 8b0b9348b574..f9ca44bdea20 100644 --- a/arch/cris/mm/ioremap.c +++ b/arch/cris/mm/ioremap.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/vmalloc.h> | 12 | #include <linux/vmalloc.h> |
13 | #include <linux/io.h> | 13 | #include <linux/io.h> |
14 | #include <asm/pgalloc.h> | 14 | #include <asm/pgalloc.h> |
15 | #include <asm/arch/memmap.h> | 15 | #include <arch/memmap.h> |
16 | 16 | ||
17 | /* | 17 | /* |
18 | * Generic mapping function (not visible outside): | 18 | * Generic mapping function (not visible outside): |
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index ada4605d1223..6543a5547c84 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -1995,11 +1995,6 @@ pfm_close(struct inode *inode, struct file *filp) | |||
1995 | return -EBADF; | 1995 | return -EBADF; |
1996 | } | 1996 | } |
1997 | 1997 | ||
1998 | if (filp->f_flags & FASYNC) { | ||
1999 | DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); | ||
2000 | pfm_do_fasync(-1, filp, ctx, 0); | ||
2001 | } | ||
2002 | |||
2003 | PROTECT_CTX(ctx, flags); | 1998 | PROTECT_CTX(ctx, flags); |
2004 | 1999 | ||
2005 | state = ctx->ctx_state; | 2000 | state = ctx->ctx_state; |
diff --git a/arch/powerpc/boot/addnote.c b/arch/powerpc/boot/addnote.c index 3091d1d21aef..b1e5611b2ab1 100644 --- a/arch/powerpc/boot/addnote.c +++ b/arch/powerpc/boot/addnote.c | |||
@@ -11,12 +11,7 @@ | |||
11 | * as published by the Free Software Foundation; either version | 11 | * as published by the Free Software Foundation; either version |
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | * | 13 | * |
14 | * Usage: addnote [-r realbase] zImage [note.elf] | 14 | * Usage: addnote zImage |
15 | * | ||
16 | * If note.elf is supplied, it is the name of an ELF file that contains | ||
17 | * an RPA note to use instead of the built-in one. Alternatively, the | ||
18 | * note.elf file may be empty, in which case the built-in RPA note is | ||
19 | * used (this is to simplify how this is invoked from the wrapper script). | ||
20 | */ | 15 | */ |
21 | #include <stdio.h> | 16 | #include <stdio.h> |
22 | #include <stdlib.h> | 17 | #include <stdlib.h> |
@@ -48,29 +43,27 @@ char rpaname[] = "IBM,RPA-Client-Config"; | |||
48 | */ | 43 | */ |
49 | #define N_RPA_DESCR 8 | 44 | #define N_RPA_DESCR 8 |
50 | unsigned int rpanote[N_RPA_DESCR] = { | 45 | unsigned int rpanote[N_RPA_DESCR] = { |
51 | 1, /* lparaffinity */ | 46 | 0, /* lparaffinity */ |
52 | 128, /* min_rmo_size */ | 47 | 64, /* min_rmo_size */ |
53 | 0, /* min_rmo_percent */ | 48 | 0, /* min_rmo_percent */ |
54 | 46, /* max_pft_size */ | 49 | 40, /* max_pft_size */ |
55 | 1, /* splpar */ | 50 | 1, /* splpar */ |
56 | -1, /* min_load */ | 51 | -1, /* min_load */ |
57 | 1, /* new_mem_def */ | 52 | 0, /* new_mem_def */ |
58 | 0, /* ignore_my_client_config */ | 53 | 1, /* ignore_my_client_config */ |
59 | }; | 54 | }; |
60 | 55 | ||
61 | #define ROUNDUP(len) (((len) + 3) & ~3) | 56 | #define ROUNDUP(len) (((len) + 3) & ~3) |
62 | 57 | ||
63 | unsigned char buf[512]; | 58 | unsigned char buf[512]; |
64 | unsigned char notebuf[512]; | ||
65 | 59 | ||
66 | #define GET_16BE(b, off) (((b)[off] << 8) + ((b)[(off)+1])) | 60 | #define GET_16BE(off) ((buf[off] << 8) + (buf[(off)+1])) |
67 | #define GET_32BE(b, off) ((GET_16BE((b), (off)) << 16) + \ | 61 | #define GET_32BE(off) ((GET_16BE(off) << 16) + GET_16BE((off)+2)) |
68 | GET_16BE((b), (off)+2)) | ||
69 | 62 | ||
70 | #define PUT_16BE(b, off, v) ((b)[off] = ((v) >> 8) & 0xff, \ | 63 | #define PUT_16BE(off, v) (buf[off] = ((v) >> 8) & 0xff, \ |
71 | (b)[(off) + 1] = (v) & 0xff) | 64 | buf[(off) + 1] = (v) & 0xff) |
72 | #define PUT_32BE(b, off, v) (PUT_16BE((b), (off), (v) >> 16), \ | 65 | #define PUT_32BE(off, v) (PUT_16BE((off), (v) >> 16), \ |
73 | PUT_16BE((b), (off) + 2, (v))) | 66 | PUT_16BE((off) + 2, (v))) |
74 | 67 | ||
75 | /* Structure of an ELF file */ | 68 | /* Structure of an ELF file */ |
76 | #define E_IDENT 0 /* ELF header */ | 69 | #define E_IDENT 0 /* ELF header */ |
@@ -95,95 +88,25 @@ unsigned char notebuf[512]; | |||
95 | 88 | ||
96 | unsigned char elf_magic[4] = { 0x7f, 'E', 'L', 'F' }; | 89 | unsigned char elf_magic[4] = { 0x7f, 'E', 'L', 'F' }; |
97 | 90 | ||
98 | unsigned char *read_rpanote(const char *fname, int *nnp) | ||
99 | { | ||
100 | int notefd, nr, i; | ||
101 | int ph, ps, np; | ||
102 | int note, notesize; | ||
103 | |||
104 | notefd = open(fname, O_RDONLY); | ||
105 | if (notefd < 0) { | ||
106 | perror(fname); | ||
107 | exit(1); | ||
108 | } | ||
109 | nr = read(notefd, notebuf, sizeof(notebuf)); | ||
110 | if (nr < 0) { | ||
111 | perror("read note"); | ||
112 | exit(1); | ||
113 | } | ||
114 | if (nr == 0) /* empty file */ | ||
115 | return NULL; | ||
116 | if (nr < E_HSIZE || | ||
117 | memcmp(¬ebuf[E_IDENT+EI_MAGIC], elf_magic, 4) != 0 || | ||
118 | notebuf[E_IDENT+EI_CLASS] != ELFCLASS32 || | ||
119 | notebuf[E_IDENT+EI_DATA] != ELFDATA2MSB) | ||
120 | goto notelf; | ||
121 | close(notefd); | ||
122 | |||
123 | /* now look for the RPA-note */ | ||
124 | ph = GET_32BE(notebuf, E_PHOFF); | ||
125 | ps = GET_16BE(notebuf, E_PHENTSIZE); | ||
126 | np = GET_16BE(notebuf, E_PHNUM); | ||
127 | if (ph < E_HSIZE || ps < PH_HSIZE || np < 1) | ||
128 | goto notelf; | ||
129 | |||
130 | for (i = 0; i < np; ++i, ph += ps) { | ||
131 | if (GET_32BE(notebuf, ph + PH_TYPE) != PT_NOTE) | ||
132 | continue; | ||
133 | note = GET_32BE(notebuf, ph + PH_OFFSET); | ||
134 | notesize = GET_32BE(notebuf, ph + PH_FILESZ); | ||
135 | if (notesize < 34 || note + notesize > nr) | ||
136 | continue; | ||
137 | if (GET_32BE(notebuf, note) != strlen(rpaname) + 1 || | ||
138 | GET_32BE(notebuf, note + 8) != 0x12759999 || | ||
139 | strcmp((char *)¬ebuf[note + 12], rpaname) != 0) | ||
140 | continue; | ||
141 | /* looks like an RPA note, return it */ | ||
142 | *nnp = notesize; | ||
143 | return ¬ebuf[note]; | ||
144 | } | ||
145 | /* no RPA note found */ | ||
146 | return NULL; | ||
147 | |||
148 | notelf: | ||
149 | fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n", fname); | ||
150 | exit(1); | ||
151 | } | ||
152 | |||
153 | int | 91 | int |
154 | main(int ac, char **av) | 92 | main(int ac, char **av) |
155 | { | 93 | { |
156 | int fd, n, i, ai; | 94 | int fd, n, i; |
157 | int ph, ps, np; | 95 | int ph, ps, np; |
158 | int nnote, nnote2, ns; | 96 | int nnote, nnote2, ns; |
159 | unsigned char *rpap; | 97 | |
160 | char *p, *endp; | 98 | if (ac != 2) { |
161 | 99 | fprintf(stderr, "Usage: %s elf-file\n", av[0]); | |
162 | ai = 1; | ||
163 | if (ac >= ai + 2 && strcmp(av[ai], "-r") == 0) { | ||
164 | /* process -r realbase */ | ||
165 | p = av[ai + 1]; | ||
166 | descr[1] = strtol(p, &endp, 16); | ||
167 | if (endp == p || *endp != 0) { | ||
168 | fprintf(stderr, "Can't parse -r argument '%s' as hex\n", | ||
169 | p); | ||
170 | exit(1); | ||
171 | } | ||
172 | ai += 2; | ||
173 | } | ||
174 | if (ac != ai + 1 && ac != ai + 2) { | ||
175 | fprintf(stderr, "Usage: %s [-r realbase] elf-file [rpanote.elf]\n", av[0]); | ||
176 | exit(1); | 100 | exit(1); |
177 | } | 101 | } |
178 | fd = open(av[ai], O_RDWR); | 102 | fd = open(av[1], O_RDWR); |
179 | if (fd < 0) { | 103 | if (fd < 0) { |
180 | perror(av[ai]); | 104 | perror(av[1]); |
181 | exit(1); | 105 | exit(1); |
182 | } | 106 | } |
183 | 107 | ||
184 | nnote = 12 + ROUNDUP(strlen(arch) + 1) + sizeof(descr); | 108 | nnote = 12 + ROUNDUP(strlen(arch) + 1) + sizeof(descr); |
185 | nnote2 = 12 + ROUNDUP(strlen(rpaname) + 1) + sizeof(rpanote); | 109 | nnote2 = 12 + ROUNDUP(strlen(rpaname) + 1) + sizeof(rpanote); |
186 | rpap = NULL; | ||
187 | 110 | ||
188 | n = read(fd, buf, sizeof(buf)); | 111 | n = read(fd, buf, sizeof(buf)); |
189 | if (n < 0) { | 112 | if (n < 0) { |
@@ -197,25 +120,22 @@ main(int ac, char **av) | |||
197 | if (buf[E_IDENT+EI_CLASS] != ELFCLASS32 | 120 | if (buf[E_IDENT+EI_CLASS] != ELFCLASS32 |
198 | || buf[E_IDENT+EI_DATA] != ELFDATA2MSB) { | 121 | || buf[E_IDENT+EI_DATA] != ELFDATA2MSB) { |
199 | fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n", | 122 | fprintf(stderr, "%s is not a big-endian 32-bit ELF image\n", |
200 | av[ai]); | 123 | av[1]); |
201 | exit(1); | 124 | exit(1); |
202 | } | 125 | } |
203 | 126 | ||
204 | if (ac == ai + 2) | 127 | ph = GET_32BE(E_PHOFF); |
205 | rpap = read_rpanote(av[ai + 1], &nnote2); | 128 | ps = GET_16BE(E_PHENTSIZE); |
206 | 129 | np = GET_16BE(E_PHNUM); | |
207 | ph = GET_32BE(buf, E_PHOFF); | ||
208 | ps = GET_16BE(buf, E_PHENTSIZE); | ||
209 | np = GET_16BE(buf, E_PHNUM); | ||
210 | if (ph < E_HSIZE || ps < PH_HSIZE || np < 1) | 130 | if (ph < E_HSIZE || ps < PH_HSIZE || np < 1) |
211 | goto notelf; | 131 | goto notelf; |
212 | if (ph + (np + 2) * ps + nnote + nnote2 > n) | 132 | if (ph + (np + 2) * ps + nnote + nnote2 > n) |
213 | goto nospace; | 133 | goto nospace; |
214 | 134 | ||
215 | for (i = 0; i < np; ++i) { | 135 | for (i = 0; i < np; ++i) { |
216 | if (GET_32BE(buf, ph + PH_TYPE) == PT_NOTE) { | 136 | if (GET_32BE(ph + PH_TYPE) == PT_NOTE) { |
217 | fprintf(stderr, "%s already has a note entry\n", | 137 | fprintf(stderr, "%s already has a note entry\n", |
218 | av[ai]); | 138 | av[1]); |
219 | exit(0); | 139 | exit(0); |
220 | } | 140 | } |
221 | ph += ps; | 141 | ph += ps; |
@@ -228,42 +148,37 @@ main(int ac, char **av) | |||
228 | 148 | ||
229 | /* fill in the program header entry */ | 149 | /* fill in the program header entry */ |
230 | ns = ph + 2 * ps; | 150 | ns = ph + 2 * ps; |
231 | PUT_32BE(buf, ph + PH_TYPE, PT_NOTE); | 151 | PUT_32BE(ph + PH_TYPE, PT_NOTE); |
232 | PUT_32BE(buf, ph + PH_OFFSET, ns); | 152 | PUT_32BE(ph + PH_OFFSET, ns); |
233 | PUT_32BE(buf, ph + PH_FILESZ, nnote); | 153 | PUT_32BE(ph + PH_FILESZ, nnote); |
234 | 154 | ||
235 | /* fill in the note area we point to */ | 155 | /* fill in the note area we point to */ |
236 | /* XXX we should probably make this a proper section */ | 156 | /* XXX we should probably make this a proper section */ |
237 | PUT_32BE(buf, ns, strlen(arch) + 1); | 157 | PUT_32BE(ns, strlen(arch) + 1); |
238 | PUT_32BE(buf, ns + 4, N_DESCR * 4); | 158 | PUT_32BE(ns + 4, N_DESCR * 4); |
239 | PUT_32BE(buf, ns + 8, 0x1275); | 159 | PUT_32BE(ns + 8, 0x1275); |
240 | strcpy((char *) &buf[ns + 12], arch); | 160 | strcpy((char *) &buf[ns + 12], arch); |
241 | ns += 12 + strlen(arch) + 1; | 161 | ns += 12 + strlen(arch) + 1; |
242 | for (i = 0; i < N_DESCR; ++i, ns += 4) | 162 | for (i = 0; i < N_DESCR; ++i, ns += 4) |
243 | PUT_32BE(buf, ns, descr[i]); | 163 | PUT_32BE(ns, descr[i]); |
244 | 164 | ||
245 | /* fill in the second program header entry and the RPA note area */ | 165 | /* fill in the second program header entry and the RPA note area */ |
246 | ph += ps; | 166 | ph += ps; |
247 | PUT_32BE(buf, ph + PH_TYPE, PT_NOTE); | 167 | PUT_32BE(ph + PH_TYPE, PT_NOTE); |
248 | PUT_32BE(buf, ph + PH_OFFSET, ns); | 168 | PUT_32BE(ph + PH_OFFSET, ns); |
249 | PUT_32BE(buf, ph + PH_FILESZ, nnote2); | 169 | PUT_32BE(ph + PH_FILESZ, nnote2); |
250 | 170 | ||
251 | /* fill in the note area we point to */ | 171 | /* fill in the note area we point to */ |
252 | if (rpap) { | 172 | PUT_32BE(ns, strlen(rpaname) + 1); |
253 | /* RPA note supplied in file, just copy the whole thing over */ | 173 | PUT_32BE(ns + 4, sizeof(rpanote)); |
254 | memcpy(buf + ns, rpap, nnote2); | 174 | PUT_32BE(ns + 8, 0x12759999); |
255 | } else { | 175 | strcpy((char *) &buf[ns + 12], rpaname); |
256 | PUT_32BE(buf, ns, strlen(rpaname) + 1); | 176 | ns += 12 + ROUNDUP(strlen(rpaname) + 1); |
257 | PUT_32BE(buf, ns + 4, sizeof(rpanote)); | 177 | for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) |
258 | PUT_32BE(buf, ns + 8, 0x12759999); | 178 | PUT_32BE(ns, rpanote[i]); |
259 | strcpy((char *) &buf[ns + 12], rpaname); | ||
260 | ns += 12 + ROUNDUP(strlen(rpaname) + 1); | ||
261 | for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) | ||
262 | PUT_32BE(buf, ns, rpanote[i]); | ||
263 | } | ||
264 | 179 | ||
265 | /* Update the number of program headers */ | 180 | /* Update the number of program headers */ |
266 | PUT_16BE(buf, E_PHNUM, np + 2); | 181 | PUT_16BE(E_PHNUM, np + 2); |
267 | 182 | ||
268 | /* write back */ | 183 | /* write back */ |
269 | lseek(fd, (long) 0, SEEK_SET); | 184 | lseek(fd, (long) 0, SEEK_SET); |
@@ -273,18 +188,18 @@ main(int ac, char **av) | |||
273 | exit(1); | 188 | exit(1); |
274 | } | 189 | } |
275 | if (i < n) { | 190 | if (i < n) { |
276 | fprintf(stderr, "%s: write truncated\n", av[ai]); | 191 | fprintf(stderr, "%s: write truncated\n", av[1]); |
277 | exit(1); | 192 | exit(1); |
278 | } | 193 | } |
279 | 194 | ||
280 | exit(0); | 195 | exit(0); |
281 | 196 | ||
282 | notelf: | 197 | notelf: |
283 | fprintf(stderr, "%s does not appear to be an ELF file\n", av[ai]); | 198 | fprintf(stderr, "%s does not appear to be an ELF file\n", av[1]); |
284 | exit(1); | 199 | exit(1); |
285 | 200 | ||
286 | nospace: | 201 | nospace: |
287 | fprintf(stderr, "sorry, I can't find space in %s to put the note\n", | 202 | fprintf(stderr, "sorry, I can't find space in %s to put the note\n", |
288 | av[ai]); | 203 | av[1]); |
289 | exit(1); | 204 | exit(1); |
290 | } | 205 | } |
diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts index 747f27676332..503031766825 100644 --- a/arch/powerpc/boot/dts/mpc8313erdb.dts +++ b/arch/powerpc/boot/dts/mpc8313erdb.dts | |||
@@ -164,45 +164,6 @@ | |||
164 | mode = "cpu"; | 164 | mode = "cpu"; |
165 | }; | 165 | }; |
166 | 166 | ||
167 | dma@82a8 { | ||
168 | #address-cells = <1>; | ||
169 | #size-cells = <1>; | ||
170 | compatible = "fsl,mpc8313-dma", "fsl,elo-dma"; | ||
171 | reg = <0x82a8 4>; | ||
172 | ranges = <0 0x8100 0x1a8>; | ||
173 | interrupt-parent = <&ipic>; | ||
174 | interrupts = <71 8>; | ||
175 | cell-index = <0>; | ||
176 | dma-channel@0 { | ||
177 | compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel"; | ||
178 | reg = <0 0x80>; | ||
179 | cell-index = <0>; | ||
180 | interrupt-parent = <&ipic>; | ||
181 | interrupts = <71 8>; | ||
182 | }; | ||
183 | dma-channel@80 { | ||
184 | compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel"; | ||
185 | reg = <0x80 0x80>; | ||
186 | cell-index = <1>; | ||
187 | interrupt-parent = <&ipic>; | ||
188 | interrupts = <71 8>; | ||
189 | }; | ||
190 | dma-channel@100 { | ||
191 | compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel"; | ||
192 | reg = <0x100 0x80>; | ||
193 | cell-index = <2>; | ||
194 | interrupt-parent = <&ipic>; | ||
195 | interrupts = <71 8>; | ||
196 | }; | ||
197 | dma-channel@180 { | ||
198 | compatible = "fsl,mpc8313-dma-channel", "fsl,elo-dma-channel"; | ||
199 | reg = <0x180 0x28>; | ||
200 | cell-index = <3>; | ||
201 | interrupt-parent = <&ipic>; | ||
202 | interrupts = <71 8>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ | 167 | /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ |
207 | usb@23000 { | 168 | usb@23000 { |
208 | compatible = "fsl-usb2-dr"; | 169 | compatible = "fsl-usb2-dr"; |
diff --git a/arch/powerpc/boot/libfdt/fdt_ro.c b/arch/powerpc/boot/libfdt/fdt_ro.c index 129b532bcc1a..fbbba44fcd0d 100644 --- a/arch/powerpc/boot/libfdt/fdt_ro.c +++ b/arch/powerpc/boot/libfdt/fdt_ro.c | |||
@@ -104,8 +104,8 @@ int fdt_subnode_offset_namelen(const void *fdt, int offset, | |||
104 | 104 | ||
105 | FDT_CHECK_HEADER(fdt); | 105 | FDT_CHECK_HEADER(fdt); |
106 | 106 | ||
107 | for (depth = 0; | 107 | for (depth = 0, offset = fdt_next_node(fdt, offset, &depth); |
108 | offset >= 0; | 108 | (offset >= 0) && (depth > 0); |
109 | offset = fdt_next_node(fdt, offset, &depth)) { | 109 | offset = fdt_next_node(fdt, offset, &depth)) { |
110 | if (depth < 0) | 110 | if (depth < 0) |
111 | return -FDT_ERR_NOTFOUND; | 111 | return -FDT_ERR_NOTFOUND; |
@@ -114,7 +114,10 @@ int fdt_subnode_offset_namelen(const void *fdt, int offset, | |||
114 | return offset; | 114 | return offset; |
115 | } | 115 | } |
116 | 116 | ||
117 | return offset; /* error */ | 117 | if (offset < 0) |
118 | return offset; /* error */ | ||
119 | else | ||
120 | return -FDT_ERR_NOTFOUND; | ||
118 | } | 121 | } |
119 | 122 | ||
120 | int fdt_subnode_offset(const void *fdt, int parentoffset, | 123 | int fdt_subnode_offset(const void *fdt, int parentoffset, |
diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c index ae32801ebd69..a28f02165e97 100644 --- a/arch/powerpc/boot/main.c +++ b/arch/powerpc/boot/main.c | |||
@@ -63,7 +63,7 @@ static struct addr_range prep_kernel(void) | |||
63 | */ | 63 | */ |
64 | if ((unsigned long)_start < ei.loadsize) | 64 | if ((unsigned long)_start < ei.loadsize) |
65 | fatal("Insufficient memory for kernel at address 0!" | 65 | fatal("Insufficient memory for kernel at address 0!" |
66 | " (_start=%p, uncomressed size=%08x)\n\r", | 66 | " (_start=%p, uncompressed size=%08lx)\n\r", |
67 | _start, ei.loadsize); | 67 | _start, ei.loadsize); |
68 | 68 | ||
69 | if ((unsigned long)_end < ei.memsize) | 69 | if ((unsigned long)_end < ei.memsize) |
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f39073511a49..965c237c122d 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -306,13 +306,8 @@ fi | |||
306 | 306 | ||
307 | # post-processing needed for some platforms | 307 | # post-processing needed for some platforms |
308 | case "$platform" in | 308 | case "$platform" in |
309 | pseries) | 309 | pseries|chrp) |
310 | ${CROSS}objcopy -O binary -j .fakeelf "$kernel" "$ofile".rpanote | 310 | $objbin/addnote "$ofile" |
311 | $objbin/addnote "$ofile" "$ofile".rpanote | ||
312 | rm -r "$ofile".rpanote | ||
313 | ;; | ||
314 | chrp) | ||
315 | $objbin/addnote -r c00000 "$ofile" | ||
316 | ;; | 311 | ;; |
317 | coff) | 312 | coff) |
318 | ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile" | 313 | ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile" |
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig index 39bd9eb453f0..25572cc837ca 100644 --- a/arch/powerpc/configs/40x/acadia_defconfig +++ b/arch/powerpc/configs/40x/acadia_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc5 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Mon Oct 13 13:47:16 2008 | 4 | # Tue Oct 28 08:49:18 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,7 +19,7 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
@@ -103,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
103 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
104 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
105 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
106 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
107 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
108 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
109 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -117,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
120 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
121 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
122 | # CONFIG_HAVE_CLK is not set | ||
123 | CONFIG_PROC_PAGE_MONITOR=y | ||
124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
125 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
126 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -153,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
153 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
154 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
155 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
156 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 155 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
157 | 156 | ||
158 | # | 157 | # |
@@ -161,8 +160,10 @@ CONFIG_CLASSIC_RCU=y | |||
161 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
162 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
163 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | CONFIG_ACADIA=y | 164 | CONFIG_ACADIA=y |
165 | # CONFIG_EP405 is not set | 165 | # CONFIG_EP405 is not set |
166 | # CONFIG_HCU4 is not set | ||
166 | # CONFIG_KILAUEA is not set | 167 | # CONFIG_KILAUEA is not set |
167 | # CONFIG_MAKALU is not set | 168 | # CONFIG_MAKALU is not set |
168 | # CONFIG_WALNUT is not set | 169 | # CONFIG_WALNUT is not set |
@@ -186,7 +187,6 @@ CONFIG_405EZ=y | |||
186 | # Kernel options | 187 | # Kernel options |
187 | # | 188 | # |
188 | # CONFIG_HIGHMEM is not set | 189 | # CONFIG_HIGHMEM is not set |
189 | # CONFIG_TICK_ONESHOT is not set | ||
190 | # CONFIG_NO_HZ is not set | 190 | # CONFIG_NO_HZ is not set |
191 | # CONFIG_HIGH_RES_TIMERS is not set | 191 | # CONFIG_HIGH_RES_TIMERS is not set |
192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y | |||
200 | # CONFIG_PREEMPT_VOLUNTARY is not set | 200 | # CONFIG_PREEMPT_VOLUNTARY is not set |
201 | # CONFIG_PREEMPT is not set | 201 | # CONFIG_PREEMPT is not set |
202 | CONFIG_BINFMT_ELF=y | 202 | CONFIG_BINFMT_ELF=y |
203 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
204 | # CONFIG_HAVE_AOUT is not set | ||
203 | # CONFIG_BINFMT_MISC is not set | 205 | # CONFIG_BINFMT_MISC is not set |
204 | # CONFIG_MATH_EMULATION is not set | 206 | # CONFIG_MATH_EMULATION is not set |
205 | # CONFIG_IOMMU_HELPER is not set | 207 | # CONFIG_IOMMU_HELPER is not set |
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
214 | # CONFIG_SPARSEMEM_MANUAL is not set | 216 | # CONFIG_SPARSEMEM_MANUAL is not set |
215 | CONFIG_FLATMEM=y | 217 | CONFIG_FLATMEM=y |
216 | CONFIG_FLAT_NODE_MEM_MAP=y | 218 | CONFIG_FLAT_NODE_MEM_MAP=y |
217 | # CONFIG_SPARSEMEM_STATIC is not set | ||
218 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
219 | CONFIG_PAGEFLAGS_EXTENDED=y | 219 | CONFIG_PAGEFLAGS_EXTENDED=y |
220 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 220 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
221 | CONFIG_MIGRATION=y | 221 | CONFIG_MIGRATION=y |
222 | # CONFIG_RESOURCES_64BIT is not set | 222 | # CONFIG_RESOURCES_64BIT is not set |
223 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
223 | CONFIG_ZONE_DMA_FLAG=1 | 224 | CONFIG_ZONE_DMA_FLAG=1 |
224 | CONFIG_BOUNCE=y | 225 | CONFIG_BOUNCE=y |
225 | CONFIG_VIRT_TO_BUS=y | 226 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | ||
226 | CONFIG_FORCE_MAX_ZONEORDER=11 | 228 | CONFIG_FORCE_MAX_ZONEORDER=11 |
227 | CONFIG_PROC_DEVICETREE=y | 229 | CONFIG_PROC_DEVICETREE=y |
228 | # CONFIG_CMDLINE_BOOL is not set | 230 | # CONFIG_CMDLINE_BOOL is not set |
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
309 | # CONFIG_TIPC is not set | 311 | # CONFIG_TIPC is not set |
310 | # CONFIG_ATM is not set | 312 | # CONFIG_ATM is not set |
311 | # CONFIG_BRIDGE is not set | 313 | # CONFIG_BRIDGE is not set |
314 | # CONFIG_NET_DSA is not set | ||
312 | # CONFIG_VLAN_8021Q is not set | 315 | # CONFIG_VLAN_8021Q is not set |
313 | # CONFIG_DECNET is not set | 316 | # CONFIG_DECNET is not set |
314 | # CONFIG_LLC2 is not set | 317 | # CONFIG_LLC2 is not set |
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
329 | # CONFIG_IRDA is not set | 332 | # CONFIG_IRDA is not set |
330 | # CONFIG_BT is not set | 333 | # CONFIG_BT is not set |
331 | # CONFIG_AF_RXRPC is not set | 334 | # CONFIG_AF_RXRPC is not set |
332 | 335 | # CONFIG_PHONET is not set | |
333 | # | 336 | # CONFIG_WIRELESS is not set |
334 | # Wireless | ||
335 | # | ||
336 | # CONFIG_CFG80211 is not set | ||
337 | # CONFIG_WIRELESS_EXT is not set | ||
338 | # CONFIG_MAC80211 is not set | ||
339 | # CONFIG_IEEE80211 is not set | ||
340 | # CONFIG_RFKILL is not set | 337 | # CONFIG_RFKILL is not set |
341 | # CONFIG_NET_9P is not set | 338 | # CONFIG_NET_9P is not set |
342 | 339 | ||
@@ -516,6 +513,7 @@ CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y | |||
516 | CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y | 513 | CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y |
517 | # CONFIG_NET_PCI is not set | 514 | # CONFIG_NET_PCI is not set |
518 | # CONFIG_B44 is not set | 515 | # CONFIG_B44 is not set |
516 | # CONFIG_ATL2 is not set | ||
519 | # CONFIG_NETDEV_1000 is not set | 517 | # CONFIG_NETDEV_1000 is not set |
520 | # CONFIG_NETDEV_10000 is not set | 518 | # CONFIG_NETDEV_10000 is not set |
521 | # CONFIG_TR is not set | 519 | # CONFIG_TR is not set |
@@ -613,6 +611,7 @@ CONFIG_SSB_POSSIBLE=y | |||
613 | # CONFIG_MFD_SM501 is not set | 611 | # CONFIG_MFD_SM501 is not set |
614 | # CONFIG_HTC_PASIC3 is not set | 612 | # CONFIG_HTC_PASIC3 is not set |
615 | # CONFIG_MFD_TMIO is not set | 613 | # CONFIG_MFD_TMIO is not set |
614 | # CONFIG_MFD_WM8400 is not set | ||
616 | 615 | ||
617 | # | 616 | # |
618 | # Multimedia devices | 617 | # Multimedia devices |
@@ -646,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y | |||
646 | # CONFIG_DISPLAY_SUPPORT is not set | 645 | # CONFIG_DISPLAY_SUPPORT is not set |
647 | # CONFIG_SOUND is not set | 646 | # CONFIG_SOUND is not set |
648 | # CONFIG_USB_SUPPORT is not set | 647 | # CONFIG_USB_SUPPORT is not set |
648 | # CONFIG_UWB is not set | ||
649 | # CONFIG_MMC is not set | 649 | # CONFIG_MMC is not set |
650 | # CONFIG_MEMSTICK is not set | 650 | # CONFIG_MEMSTICK is not set |
651 | # CONFIG_NEW_LEDS is not set | 651 | # CONFIG_NEW_LEDS is not set |
@@ -655,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y | |||
655 | # CONFIG_RTC_CLASS is not set | 655 | # CONFIG_RTC_CLASS is not set |
656 | # CONFIG_DMADEVICES is not set | 656 | # CONFIG_DMADEVICES is not set |
657 | # CONFIG_UIO is not set | 657 | # CONFIG_UIO is not set |
658 | # CONFIG_STAGING is not set | ||
658 | 659 | ||
659 | # | 660 | # |
660 | # File systems | 661 | # File systems |
@@ -663,10 +664,11 @@ CONFIG_EXT2_FS=y | |||
663 | # CONFIG_EXT2_FS_XATTR is not set | 664 | # CONFIG_EXT2_FS_XATTR is not set |
664 | # CONFIG_EXT2_FS_XIP is not set | 665 | # CONFIG_EXT2_FS_XIP is not set |
665 | # CONFIG_EXT3_FS is not set | 666 | # CONFIG_EXT3_FS is not set |
666 | # CONFIG_EXT4DEV_FS is not set | 667 | # CONFIG_EXT4_FS is not set |
667 | # CONFIG_REISERFS_FS is not set | 668 | # CONFIG_REISERFS_FS is not set |
668 | # CONFIG_JFS_FS is not set | 669 | # CONFIG_JFS_FS is not set |
669 | # CONFIG_FS_POSIX_ACL is not set | 670 | # CONFIG_FS_POSIX_ACL is not set |
671 | CONFIG_FILE_LOCKING=y | ||
670 | # CONFIG_XFS_FS is not set | 672 | # CONFIG_XFS_FS is not set |
671 | # CONFIG_OCFS2_FS is not set | 673 | # CONFIG_OCFS2_FS is not set |
672 | CONFIG_DNOTIFY=y | 674 | CONFIG_DNOTIFY=y |
@@ -696,6 +698,7 @@ CONFIG_INOTIFY_USER=y | |||
696 | CONFIG_PROC_FS=y | 698 | CONFIG_PROC_FS=y |
697 | CONFIG_PROC_KCORE=y | 699 | CONFIG_PROC_KCORE=y |
698 | CONFIG_PROC_SYSCTL=y | 700 | CONFIG_PROC_SYSCTL=y |
701 | CONFIG_PROC_PAGE_MONITOR=y | ||
699 | CONFIG_SYSFS=y | 702 | CONFIG_SYSFS=y |
700 | CONFIG_TMPFS=y | 703 | CONFIG_TMPFS=y |
701 | # CONFIG_TMPFS_POSIX_ACL is not set | 704 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -733,6 +736,7 @@ CONFIG_LOCKD=y | |||
733 | CONFIG_LOCKD_V4=y | 736 | CONFIG_LOCKD_V4=y |
734 | CONFIG_NFS_COMMON=y | 737 | CONFIG_NFS_COMMON=y |
735 | CONFIG_SUNRPC=y | 738 | CONFIG_SUNRPC=y |
739 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
736 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 740 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
737 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 741 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
738 | # CONFIG_SMB_FS is not set | 742 | # CONFIG_SMB_FS is not set |
@@ -753,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y | |||
753 | # Library routines | 757 | # Library routines |
754 | # | 758 | # |
755 | CONFIG_BITREVERSE=y | 759 | CONFIG_BITREVERSE=y |
756 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
757 | # CONFIG_CRC_CCITT is not set | 760 | # CONFIG_CRC_CCITT is not set |
758 | # CONFIG_CRC16 is not set | 761 | # CONFIG_CRC16 is not set |
759 | # CONFIG_CRC_T10DIF is not set | 762 | # CONFIG_CRC_T10DIF is not set |
@@ -806,15 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
806 | # CONFIG_DEBUG_SG is not set | 809 | # CONFIG_DEBUG_SG is not set |
807 | # CONFIG_BOOT_PRINTK_DELAY is not set | 810 | # CONFIG_BOOT_PRINTK_DELAY is not set |
808 | # CONFIG_RCU_TORTURE_TEST is not set | 811 | # CONFIG_RCU_TORTURE_TEST is not set |
812 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
809 | # CONFIG_BACKTRACE_SELF_TEST is not set | 813 | # CONFIG_BACKTRACE_SELF_TEST is not set |
814 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
810 | # CONFIG_FAULT_INJECTION is not set | 815 | # CONFIG_FAULT_INJECTION is not set |
811 | # CONFIG_LATENCYTOP is not set | 816 | # CONFIG_LATENCYTOP is not set |
812 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 817 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
818 | CONFIG_NOP_TRACER=y | ||
813 | CONFIG_HAVE_FTRACE=y | 819 | CONFIG_HAVE_FTRACE=y |
814 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 820 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
815 | # CONFIG_FTRACE is not set | 821 | # CONFIG_FTRACE is not set |
816 | # CONFIG_SCHED_TRACER is not set | 822 | # CONFIG_SCHED_TRACER is not set |
817 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 823 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
824 | # CONFIG_BOOT_TRACER is not set | ||
825 | # CONFIG_STACK_TRACER is not set | ||
826 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
818 | # CONFIG_SAMPLES is not set | 827 | # CONFIG_SAMPLES is not set |
819 | CONFIG_HAVE_ARCH_KGDB=y | 828 | CONFIG_HAVE_ARCH_KGDB=y |
820 | # CONFIG_KGDB is not set | 829 | # CONFIG_KGDB is not set |
@@ -835,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
835 | # | 844 | # |
836 | # CONFIG_KEYS is not set | 845 | # CONFIG_KEYS is not set |
837 | # CONFIG_SECURITY is not set | 846 | # CONFIG_SECURITY is not set |
847 | # CONFIG_SECURITYFS is not set | ||
838 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 848 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
839 | CONFIG_CRYPTO=y | 849 | CONFIG_CRYPTO=y |
840 | 850 | ||
841 | # | 851 | # |
842 | # Crypto core or helper | 852 | # Crypto core or helper |
843 | # | 853 | # |
854 | # CONFIG_CRYPTO_FIPS is not set | ||
844 | CONFIG_CRYPTO_ALGAPI=y | 855 | CONFIG_CRYPTO_ALGAPI=y |
856 | CONFIG_CRYPTO_AEAD=y | ||
845 | CONFIG_CRYPTO_BLKCIPHER=y | 857 | CONFIG_CRYPTO_BLKCIPHER=y |
858 | CONFIG_CRYPTO_HASH=y | ||
859 | CONFIG_CRYPTO_RNG=y | ||
846 | CONFIG_CRYPTO_MANAGER=y | 860 | CONFIG_CRYPTO_MANAGER=y |
847 | # CONFIG_CRYPTO_GF128MUL is not set | 861 | # CONFIG_CRYPTO_GF128MUL is not set |
848 | # CONFIG_CRYPTO_NULL is not set | 862 | # CONFIG_CRYPTO_NULL is not set |
@@ -915,6 +929,11 @@ CONFIG_CRYPTO_DES=y | |||
915 | # | 929 | # |
916 | # CONFIG_CRYPTO_DEFLATE is not set | 930 | # CONFIG_CRYPTO_DEFLATE is not set |
917 | # CONFIG_CRYPTO_LZO is not set | 931 | # CONFIG_CRYPTO_LZO is not set |
932 | |||
933 | # | ||
934 | # Random Number Generation | ||
935 | # | ||
936 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
918 | CONFIG_CRYPTO_HW=y | 937 | CONFIG_CRYPTO_HW=y |
919 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 938 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
920 | # CONFIG_PPC_CLOCK is not set | 939 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig index 2113ae2ab401..b80ba7aa3129 100644 --- a/arch/powerpc/configs/40x/ep405_defconfig +++ b/arch/powerpc/configs/40x/ep405_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 19:34:03 2008 | 4 | # Tue Oct 28 08:49:20 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,14 +19,13 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
30 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
31 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
32 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
93 | CONFIG_KALLSYMS_ALL=y | 91 | CONFIG_KALLSYMS_ALL=y |
94 | CONFIG_KALLSYMS_EXTRA_PASS=y | 92 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
158 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 155 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
159 | 156 | ||
160 | # | 157 | # |
@@ -163,11 +160,15 @@ CONFIG_CLASSIC_RCU=y | |||
163 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
164 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
165 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | # CONFIG_ACADIA is not set | ||
166 | CONFIG_EP405=y | 165 | CONFIG_EP405=y |
166 | # CONFIG_HCU4 is not set | ||
167 | # CONFIG_KILAUEA is not set | 167 | # CONFIG_KILAUEA is not set |
168 | # CONFIG_MAKALU is not set | 168 | # CONFIG_MAKALU is not set |
169 | # CONFIG_WALNUT is not set | 169 | # CONFIG_WALNUT is not set |
170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | 170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set |
171 | # CONFIG_PPC40x_SIMPLE is not set | ||
171 | CONFIG_405GP=y | 172 | CONFIG_405GP=y |
172 | CONFIG_IBM405_ERR77=y | 173 | CONFIG_IBM405_ERR77=y |
173 | CONFIG_IBM405_ERR51=y | 174 | CONFIG_IBM405_ERR51=y |
@@ -188,7 +189,6 @@ CONFIG_IBM405_ERR51=y | |||
188 | # Kernel options | 189 | # Kernel options |
189 | # | 190 | # |
190 | # CONFIG_HIGHMEM is not set | 191 | # CONFIG_HIGHMEM is not set |
191 | # CONFIG_TICK_ONESHOT is not set | ||
192 | # CONFIG_NO_HZ is not set | 192 | # CONFIG_NO_HZ is not set |
193 | # CONFIG_HIGH_RES_TIMERS is not set | 193 | # CONFIG_HIGH_RES_TIMERS is not set |
194 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 194 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -202,6 +202,8 @@ CONFIG_PREEMPT_NONE=y | |||
202 | # CONFIG_PREEMPT_VOLUNTARY is not set | 202 | # CONFIG_PREEMPT_VOLUNTARY is not set |
203 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
204 | CONFIG_BINFMT_ELF=y | 204 | CONFIG_BINFMT_ELF=y |
205 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
206 | # CONFIG_HAVE_AOUT is not set | ||
205 | # CONFIG_BINFMT_MISC is not set | 207 | # CONFIG_BINFMT_MISC is not set |
206 | # CONFIG_MATH_EMULATION is not set | 208 | # CONFIG_MATH_EMULATION is not set |
207 | # CONFIG_IOMMU_HELPER is not set | 209 | # CONFIG_IOMMU_HELPER is not set |
@@ -216,15 +218,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
216 | # CONFIG_SPARSEMEM_MANUAL is not set | 218 | # CONFIG_SPARSEMEM_MANUAL is not set |
217 | CONFIG_FLATMEM=y | 219 | CONFIG_FLATMEM=y |
218 | CONFIG_FLAT_NODE_MEM_MAP=y | 220 | CONFIG_FLAT_NODE_MEM_MAP=y |
219 | # CONFIG_SPARSEMEM_STATIC is not set | ||
220 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
221 | CONFIG_PAGEFLAGS_EXTENDED=y | 221 | CONFIG_PAGEFLAGS_EXTENDED=y |
222 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 222 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
223 | CONFIG_MIGRATION=y | 223 | CONFIG_MIGRATION=y |
224 | # CONFIG_RESOURCES_64BIT is not set | 224 | # CONFIG_RESOURCES_64BIT is not set |
225 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
225 | CONFIG_ZONE_DMA_FLAG=1 | 226 | CONFIG_ZONE_DMA_FLAG=1 |
226 | CONFIG_BOUNCE=y | 227 | CONFIG_BOUNCE=y |
227 | CONFIG_VIRT_TO_BUS=y | 228 | CONFIG_VIRT_TO_BUS=y |
229 | CONFIG_UNEVICTABLE_LRU=y | ||
228 | CONFIG_FORCE_MAX_ZONEORDER=11 | 230 | CONFIG_FORCE_MAX_ZONEORDER=11 |
229 | CONFIG_PROC_DEVICETREE=y | 231 | CONFIG_PROC_DEVICETREE=y |
230 | # CONFIG_CMDLINE_BOOL is not set | 232 | # CONFIG_CMDLINE_BOOL is not set |
@@ -311,6 +313,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
311 | # CONFIG_TIPC is not set | 313 | # CONFIG_TIPC is not set |
312 | # CONFIG_ATM is not set | 314 | # CONFIG_ATM is not set |
313 | # CONFIG_BRIDGE is not set | 315 | # CONFIG_BRIDGE is not set |
316 | # CONFIG_NET_DSA is not set | ||
314 | # CONFIG_VLAN_8021Q is not set | 317 | # CONFIG_VLAN_8021Q is not set |
315 | # CONFIG_DECNET is not set | 318 | # CONFIG_DECNET is not set |
316 | # CONFIG_LLC2 is not set | 319 | # CONFIG_LLC2 is not set |
@@ -331,14 +334,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
331 | # CONFIG_IRDA is not set | 334 | # CONFIG_IRDA is not set |
332 | # CONFIG_BT is not set | 335 | # CONFIG_BT is not set |
333 | # CONFIG_AF_RXRPC is not set | 336 | # CONFIG_AF_RXRPC is not set |
334 | 337 | # CONFIG_PHONET is not set | |
335 | # | 338 | # CONFIG_WIRELESS is not set |
336 | # Wireless | ||
337 | # | ||
338 | # CONFIG_CFG80211 is not set | ||
339 | # CONFIG_WIRELESS_EXT is not set | ||
340 | # CONFIG_MAC80211 is not set | ||
341 | # CONFIG_IEEE80211 is not set | ||
342 | # CONFIG_RFKILL is not set | 339 | # CONFIG_RFKILL is not set |
343 | # CONFIG_NET_9P is not set | 340 | # CONFIG_NET_9P is not set |
344 | 341 | ||
@@ -520,8 +517,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
520 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 517 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
521 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 518 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
522 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 519 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
520 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
521 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
522 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
523 | # CONFIG_NET_PCI is not set | 523 | # CONFIG_NET_PCI is not set |
524 | # CONFIG_B44 is not set | 524 | # CONFIG_B44 is not set |
525 | # CONFIG_ATL2 is not set | ||
525 | CONFIG_NETDEV_1000=y | 526 | CONFIG_NETDEV_1000=y |
526 | # CONFIG_ACENIC is not set | 527 | # CONFIG_ACENIC is not set |
527 | # CONFIG_DL2K is not set | 528 | # CONFIG_DL2K is not set |
@@ -542,18 +543,22 @@ CONFIG_NETDEV_1000=y | |||
542 | # CONFIG_QLA3XXX is not set | 543 | # CONFIG_QLA3XXX is not set |
543 | # CONFIG_ATL1 is not set | 544 | # CONFIG_ATL1 is not set |
544 | # CONFIG_ATL1E is not set | 545 | # CONFIG_ATL1E is not set |
546 | # CONFIG_JME is not set | ||
545 | CONFIG_NETDEV_10000=y | 547 | CONFIG_NETDEV_10000=y |
546 | # CONFIG_CHELSIO_T1 is not set | 548 | # CONFIG_CHELSIO_T1 is not set |
547 | # CONFIG_CHELSIO_T3 is not set | 549 | # CONFIG_CHELSIO_T3 is not set |
550 | # CONFIG_ENIC is not set | ||
548 | # CONFIG_IXGBE is not set | 551 | # CONFIG_IXGBE is not set |
549 | # CONFIG_IXGB is not set | 552 | # CONFIG_IXGB is not set |
550 | # CONFIG_S2IO is not set | 553 | # CONFIG_S2IO is not set |
551 | # CONFIG_MYRI10GE is not set | 554 | # CONFIG_MYRI10GE is not set |
552 | # CONFIG_NETXEN_NIC is not set | 555 | # CONFIG_NETXEN_NIC is not set |
553 | # CONFIG_NIU is not set | 556 | # CONFIG_NIU is not set |
557 | # CONFIG_MLX4_EN is not set | ||
554 | # CONFIG_MLX4_CORE is not set | 558 | # CONFIG_MLX4_CORE is not set |
555 | # CONFIG_TEHUTI is not set | 559 | # CONFIG_TEHUTI is not set |
556 | # CONFIG_BNX2X is not set | 560 | # CONFIG_BNX2X is not set |
561 | # CONFIG_QLGE is not set | ||
557 | # CONFIG_SFC is not set | 562 | # CONFIG_SFC is not set |
558 | # CONFIG_TR is not set | 563 | # CONFIG_TR is not set |
559 | 564 | ||
@@ -658,6 +663,8 @@ CONFIG_SSB_POSSIBLE=y | |||
658 | # CONFIG_MFD_CORE is not set | 663 | # CONFIG_MFD_CORE is not set |
659 | # CONFIG_MFD_SM501 is not set | 664 | # CONFIG_MFD_SM501 is not set |
660 | # CONFIG_HTC_PASIC3 is not set | 665 | # CONFIG_HTC_PASIC3 is not set |
666 | # CONFIG_MFD_TMIO is not set | ||
667 | # CONFIG_MFD_WM8400 is not set | ||
661 | 668 | ||
662 | # | 669 | # |
663 | # Multimedia devices | 670 | # Multimedia devices |
@@ -707,6 +714,9 @@ CONFIG_USB_DEVICE_CLASS=y | |||
707 | # CONFIG_USB_OTG is not set | 714 | # CONFIG_USB_OTG is not set |
708 | # CONFIG_USB_OTG_WHITELIST is not set | 715 | # CONFIG_USB_OTG_WHITELIST is not set |
709 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 716 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
717 | CONFIG_USB_MON=y | ||
718 | # CONFIG_USB_WUSB is not set | ||
719 | # CONFIG_USB_WUSB_CBAF is not set | ||
710 | 720 | ||
711 | # | 721 | # |
712 | # USB Host Controller Drivers | 722 | # USB Host Controller Drivers |
@@ -726,6 +736,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
726 | # CONFIG_USB_UHCI_HCD is not set | 736 | # CONFIG_USB_UHCI_HCD is not set |
727 | # CONFIG_USB_SL811_HCD is not set | 737 | # CONFIG_USB_SL811_HCD is not set |
728 | # CONFIG_USB_R8A66597_HCD is not set | 738 | # CONFIG_USB_R8A66597_HCD is not set |
739 | # CONFIG_USB_WHCI_HCD is not set | ||
740 | # CONFIG_USB_HWA_HCD is not set | ||
729 | 741 | ||
730 | # | 742 | # |
731 | # USB Device Class drivers | 743 | # USB Device Class drivers |
@@ -733,6 +745,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
733 | # CONFIG_USB_ACM is not set | 745 | # CONFIG_USB_ACM is not set |
734 | # CONFIG_USB_PRINTER is not set | 746 | # CONFIG_USB_PRINTER is not set |
735 | # CONFIG_USB_WDM is not set | 747 | # CONFIG_USB_WDM is not set |
748 | # CONFIG_USB_TMC is not set | ||
736 | 749 | ||
737 | # | 750 | # |
738 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 751 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -747,7 +760,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
747 | # USB Imaging devices | 760 | # USB Imaging devices |
748 | # | 761 | # |
749 | # CONFIG_USB_MDC800 is not set | 762 | # CONFIG_USB_MDC800 is not set |
750 | CONFIG_USB_MON=y | ||
751 | 763 | ||
752 | # | 764 | # |
753 | # USB port drivers | 765 | # USB port drivers |
@@ -760,7 +772,7 @@ CONFIG_USB_MON=y | |||
760 | # CONFIG_USB_EMI62 is not set | 772 | # CONFIG_USB_EMI62 is not set |
761 | # CONFIG_USB_EMI26 is not set | 773 | # CONFIG_USB_EMI26 is not set |
762 | # CONFIG_USB_ADUTUX is not set | 774 | # CONFIG_USB_ADUTUX is not set |
763 | # CONFIG_USB_AUERSWALD is not set | 775 | # CONFIG_USB_SEVSEG is not set |
764 | # CONFIG_USB_RIO500 is not set | 776 | # CONFIG_USB_RIO500 is not set |
765 | # CONFIG_USB_LEGOTOWER is not set | 777 | # CONFIG_USB_LEGOTOWER is not set |
766 | # CONFIG_USB_LCD is not set | 778 | # CONFIG_USB_LCD is not set |
@@ -777,7 +789,9 @@ CONFIG_USB_MON=y | |||
777 | # CONFIG_USB_IOWARRIOR is not set | 789 | # CONFIG_USB_IOWARRIOR is not set |
778 | # CONFIG_USB_TEST is not set | 790 | # CONFIG_USB_TEST is not set |
779 | # CONFIG_USB_ISIGHTFW is not set | 791 | # CONFIG_USB_ISIGHTFW is not set |
792 | # CONFIG_USB_VST is not set | ||
780 | # CONFIG_USB_GADGET is not set | 793 | # CONFIG_USB_GADGET is not set |
794 | # CONFIG_UWB is not set | ||
781 | # CONFIG_MMC is not set | 795 | # CONFIG_MMC is not set |
782 | # CONFIG_MEMSTICK is not set | 796 | # CONFIG_MEMSTICK is not set |
783 | # CONFIG_NEW_LEDS is not set | 797 | # CONFIG_NEW_LEDS is not set |
@@ -787,6 +801,7 @@ CONFIG_USB_MON=y | |||
787 | # CONFIG_RTC_CLASS is not set | 801 | # CONFIG_RTC_CLASS is not set |
788 | # CONFIG_DMADEVICES is not set | 802 | # CONFIG_DMADEVICES is not set |
789 | # CONFIG_UIO is not set | 803 | # CONFIG_UIO is not set |
804 | # CONFIG_STAGING is not set | ||
790 | 805 | ||
791 | # | 806 | # |
792 | # File systems | 807 | # File systems |
@@ -795,10 +810,11 @@ CONFIG_EXT2_FS=y | |||
795 | # CONFIG_EXT2_FS_XATTR is not set | 810 | # CONFIG_EXT2_FS_XATTR is not set |
796 | # CONFIG_EXT2_FS_XIP is not set | 811 | # CONFIG_EXT2_FS_XIP is not set |
797 | # CONFIG_EXT3_FS is not set | 812 | # CONFIG_EXT3_FS is not set |
798 | # CONFIG_EXT4DEV_FS is not set | 813 | # CONFIG_EXT4_FS is not set |
799 | # CONFIG_REISERFS_FS is not set | 814 | # CONFIG_REISERFS_FS is not set |
800 | # CONFIG_JFS_FS is not set | 815 | # CONFIG_JFS_FS is not set |
801 | # CONFIG_FS_POSIX_ACL is not set | 816 | # CONFIG_FS_POSIX_ACL is not set |
817 | CONFIG_FILE_LOCKING=y | ||
802 | # CONFIG_XFS_FS is not set | 818 | # CONFIG_XFS_FS is not set |
803 | # CONFIG_OCFS2_FS is not set | 819 | # CONFIG_OCFS2_FS is not set |
804 | CONFIG_DNOTIFY=y | 820 | CONFIG_DNOTIFY=y |
@@ -828,6 +844,7 @@ CONFIG_INOTIFY_USER=y | |||
828 | CONFIG_PROC_FS=y | 844 | CONFIG_PROC_FS=y |
829 | CONFIG_PROC_KCORE=y | 845 | CONFIG_PROC_KCORE=y |
830 | CONFIG_PROC_SYSCTL=y | 846 | CONFIG_PROC_SYSCTL=y |
847 | CONFIG_PROC_PAGE_MONITOR=y | ||
831 | CONFIG_SYSFS=y | 848 | CONFIG_SYSFS=y |
832 | CONFIG_TMPFS=y | 849 | CONFIG_TMPFS=y |
833 | # CONFIG_TMPFS_POSIX_ACL is not set | 850 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -865,6 +882,7 @@ CONFIG_LOCKD=y | |||
865 | CONFIG_LOCKD_V4=y | 882 | CONFIG_LOCKD_V4=y |
866 | CONFIG_NFS_COMMON=y | 883 | CONFIG_NFS_COMMON=y |
867 | CONFIG_SUNRPC=y | 884 | CONFIG_SUNRPC=y |
885 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
868 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 886 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
869 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 887 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
870 | # CONFIG_SMB_FS is not set | 888 | # CONFIG_SMB_FS is not set |
@@ -885,7 +903,6 @@ CONFIG_MSDOS_PARTITION=y | |||
885 | # Library routines | 903 | # Library routines |
886 | # | 904 | # |
887 | CONFIG_BITREVERSE=y | 905 | CONFIG_BITREVERSE=y |
888 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
889 | # CONFIG_CRC_CCITT is not set | 906 | # CONFIG_CRC_CCITT is not set |
890 | # CONFIG_CRC16 is not set | 907 | # CONFIG_CRC16 is not set |
891 | # CONFIG_CRC_T10DIF is not set | 908 | # CONFIG_CRC_T10DIF is not set |
@@ -938,14 +955,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
938 | # CONFIG_DEBUG_SG is not set | 955 | # CONFIG_DEBUG_SG is not set |
939 | # CONFIG_BOOT_PRINTK_DELAY is not set | 956 | # CONFIG_BOOT_PRINTK_DELAY is not set |
940 | # CONFIG_RCU_TORTURE_TEST is not set | 957 | # CONFIG_RCU_TORTURE_TEST is not set |
958 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
941 | # CONFIG_BACKTRACE_SELF_TEST is not set | 959 | # CONFIG_BACKTRACE_SELF_TEST is not set |
960 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
942 | # CONFIG_FAULT_INJECTION is not set | 961 | # CONFIG_FAULT_INJECTION is not set |
943 | # CONFIG_LATENCYTOP is not set | 962 | # CONFIG_LATENCYTOP is not set |
963 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
964 | CONFIG_NOP_TRACER=y | ||
944 | CONFIG_HAVE_FTRACE=y | 965 | CONFIG_HAVE_FTRACE=y |
945 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 966 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
946 | # CONFIG_FTRACE is not set | 967 | # CONFIG_FTRACE is not set |
947 | # CONFIG_SCHED_TRACER is not set | 968 | # CONFIG_SCHED_TRACER is not set |
948 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 969 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
970 | # CONFIG_BOOT_TRACER is not set | ||
971 | # CONFIG_STACK_TRACER is not set | ||
972 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
949 | # CONFIG_SAMPLES is not set | 973 | # CONFIG_SAMPLES is not set |
950 | CONFIG_HAVE_ARCH_KGDB=y | 974 | CONFIG_HAVE_ARCH_KGDB=y |
951 | # CONFIG_KGDB is not set | 975 | # CONFIG_KGDB is not set |
@@ -954,6 +978,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
954 | # CONFIG_DEBUG_PAGEALLOC is not set | 978 | # CONFIG_DEBUG_PAGEALLOC is not set |
955 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 979 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
956 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 980 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
981 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
957 | # CONFIG_XMON is not set | 982 | # CONFIG_XMON is not set |
958 | # CONFIG_IRQSTACKS is not set | 983 | # CONFIG_IRQSTACKS is not set |
959 | # CONFIG_VIRQ_DEBUG is not set | 984 | # CONFIG_VIRQ_DEBUG is not set |
@@ -965,14 +990,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
965 | # | 990 | # |
966 | # CONFIG_KEYS is not set | 991 | # CONFIG_KEYS is not set |
967 | # CONFIG_SECURITY is not set | 992 | # CONFIG_SECURITY is not set |
993 | # CONFIG_SECURITYFS is not set | ||
968 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 994 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
969 | CONFIG_CRYPTO=y | 995 | CONFIG_CRYPTO=y |
970 | 996 | ||
971 | # | 997 | # |
972 | # Crypto core or helper | 998 | # Crypto core or helper |
973 | # | 999 | # |
1000 | # CONFIG_CRYPTO_FIPS is not set | ||
974 | CONFIG_CRYPTO_ALGAPI=y | 1001 | CONFIG_CRYPTO_ALGAPI=y |
1002 | CONFIG_CRYPTO_AEAD=y | ||
975 | CONFIG_CRYPTO_BLKCIPHER=y | 1003 | CONFIG_CRYPTO_BLKCIPHER=y |
1004 | CONFIG_CRYPTO_HASH=y | ||
1005 | CONFIG_CRYPTO_RNG=y | ||
976 | CONFIG_CRYPTO_MANAGER=y | 1006 | CONFIG_CRYPTO_MANAGER=y |
977 | # CONFIG_CRYPTO_GF128MUL is not set | 1007 | # CONFIG_CRYPTO_GF128MUL is not set |
978 | # CONFIG_CRYPTO_NULL is not set | 1008 | # CONFIG_CRYPTO_NULL is not set |
@@ -1045,6 +1075,11 @@ CONFIG_CRYPTO_DES=y | |||
1045 | # | 1075 | # |
1046 | # CONFIG_CRYPTO_DEFLATE is not set | 1076 | # CONFIG_CRYPTO_DEFLATE is not set |
1047 | # CONFIG_CRYPTO_LZO is not set | 1077 | # CONFIG_CRYPTO_LZO is not set |
1078 | |||
1079 | # | ||
1080 | # Random Number Generation | ||
1081 | # | ||
1082 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1048 | CONFIG_CRYPTO_HW=y | 1083 | CONFIG_CRYPTO_HW=y |
1049 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1084 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
1050 | # CONFIG_PPC_CLOCK is not set | 1085 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/40x/hcu4_defconfig b/arch/powerpc/configs/40x/hcu4_defconfig index 682fce02c73a..45dcb824503f 100644 --- a/arch/powerpc/configs/40x/hcu4_defconfig +++ b/arch/powerpc/configs/40x/hcu4_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.26.5 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Sep 16 00:44:33 2008 | 4 | # Tue Oct 28 08:49:22 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,7 +19,7 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
@@ -29,6 +29,7 @@ CONFIG_GENERIC_HARDIRQS=y | |||
29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
30 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
31 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
32 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
32 | CONFIG_LOCKDEP_SUPPORT=y | 33 | CONFIG_LOCKDEP_SUPPORT=y |
33 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 34 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
34 | CONFIG_ARCH_HAS_ILOG2_U32=y | 35 | CONFIG_ARCH_HAS_ILOG2_U32=y |
@@ -86,13 +87,11 @@ CONFIG_INITRAMFS_SOURCE="" | |||
86 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
87 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
88 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
89 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
90 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
91 | CONFIG_KALLSYMS_ALL=y | 91 | CONFIG_KALLSYMS_ALL=y |
92 | CONFIG_KALLSYMS_EXTRA_PASS=y | 92 | CONFIG_KALLSYMS_EXTRA_PASS=y |
93 | CONFIG_HOTPLUG=y | 93 | CONFIG_HOTPLUG=y |
94 | CONFIG_PRINTK=y | 94 | CONFIG_PRINTK=y |
95 | # CONFIG_LOGBUFFER is not set | ||
96 | CONFIG_BUG=y | 95 | CONFIG_BUG=y |
97 | CONFIG_ELF_CORE=y | 96 | CONFIG_ELF_CORE=y |
98 | CONFIG_COMPAT_BRK=y | 97 | CONFIG_COMPAT_BRK=y |
@@ -104,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
104 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
105 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
106 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
107 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
108 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
109 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
110 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -113,10 +114,12 @@ CONFIG_SLUB=y | |||
113 | # CONFIG_MARKERS is not set | 114 | # CONFIG_MARKERS is not set |
114 | CONFIG_HAVE_OPROFILE=y | 115 | CONFIG_HAVE_OPROFILE=y |
115 | # CONFIG_KPROBES is not set | 116 | # CONFIG_KPROBES is not set |
117 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
118 | CONFIG_HAVE_IOREMAP_PROT=y | ||
116 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
118 | # CONFIG_HAVE_DMA_ATTRS is not set | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_PROC_PAGE_MONITOR=y | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
120 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
121 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
122 | # CONFIG_TINY_SHMEM is not set | 125 | # CONFIG_TINY_SHMEM is not set |
@@ -133,6 +136,7 @@ CONFIG_LBD=y | |||
133 | # CONFIG_BLK_DEV_IO_TRACE is not set | 136 | # CONFIG_BLK_DEV_IO_TRACE is not set |
134 | # CONFIG_LSF is not set | 137 | # CONFIG_LSF is not set |
135 | # CONFIG_BLK_DEV_BSG is not set | 138 | # CONFIG_BLK_DEV_BSG is not set |
139 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
136 | 140 | ||
137 | # | 141 | # |
138 | # IO Schedulers | 142 | # IO Schedulers |
@@ -147,22 +151,25 @@ CONFIG_DEFAULT_AS=y | |||
147 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
149 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
150 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 155 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
151 | 156 | ||
152 | # | 157 | # |
153 | # Platform support | 158 | # Platform support |
154 | # | 159 | # |
155 | # CONFIG_PPC_MPC512x is not set | ||
156 | # CONFIG_PPC_MPC5121 is not set | ||
157 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
158 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
159 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | # CONFIG_ACADIA is not set | ||
160 | # CONFIG_EP405 is not set | 165 | # CONFIG_EP405 is not set |
161 | CONFIG_HCU4=y | 166 | CONFIG_HCU4=y |
162 | # CONFIG_KILAUEA is not set | 167 | # CONFIG_KILAUEA is not set |
163 | # CONFIG_MAKALU is not set | 168 | # CONFIG_MAKALU is not set |
164 | # CONFIG_WALNUT is not set | 169 | # CONFIG_WALNUT is not set |
165 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | 170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set |
171 | # CONFIG_PPC40x_SIMPLE is not set | ||
172 | CONFIG_405GPR=y | ||
166 | # CONFIG_IPIC is not set | 173 | # CONFIG_IPIC is not set |
167 | # CONFIG_MPIC is not set | 174 | # CONFIG_MPIC is not set |
168 | # CONFIG_MPIC_WEIRD is not set | 175 | # CONFIG_MPIC_WEIRD is not set |
@@ -180,7 +187,6 @@ CONFIG_HCU4=y | |||
180 | # Kernel options | 187 | # Kernel options |
181 | # | 188 | # |
182 | # CONFIG_HIGHMEM is not set | 189 | # CONFIG_HIGHMEM is not set |
183 | # CONFIG_TICK_ONESHOT is not set | ||
184 | # CONFIG_NO_HZ is not set | 190 | # CONFIG_NO_HZ is not set |
185 | # CONFIG_HIGH_RES_TIMERS is not set | 191 | # CONFIG_HIGH_RES_TIMERS is not set |
186 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -194,6 +200,8 @@ CONFIG_PREEMPT_NONE=y | |||
194 | # CONFIG_PREEMPT_VOLUNTARY is not set | 200 | # CONFIG_PREEMPT_VOLUNTARY is not set |
195 | # CONFIG_PREEMPT is not set | 201 | # CONFIG_PREEMPT is not set |
196 | CONFIG_BINFMT_ELF=y | 202 | CONFIG_BINFMT_ELF=y |
203 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
204 | # CONFIG_HAVE_AOUT is not set | ||
197 | # CONFIG_BINFMT_MISC is not set | 205 | # CONFIG_BINFMT_MISC is not set |
198 | # CONFIG_MATH_EMULATION is not set | 206 | # CONFIG_MATH_EMULATION is not set |
199 | # CONFIG_IOMMU_HELPER is not set | 207 | # CONFIG_IOMMU_HELPER is not set |
@@ -208,17 +216,19 @@ CONFIG_FLATMEM_MANUAL=y | |||
208 | # CONFIG_SPARSEMEM_MANUAL is not set | 216 | # CONFIG_SPARSEMEM_MANUAL is not set |
209 | CONFIG_FLATMEM=y | 217 | CONFIG_FLATMEM=y |
210 | CONFIG_FLAT_NODE_MEM_MAP=y | 218 | CONFIG_FLAT_NODE_MEM_MAP=y |
211 | # CONFIG_SPARSEMEM_STATIC is not set | ||
212 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
213 | CONFIG_PAGEFLAGS_EXTENDED=y | 219 | CONFIG_PAGEFLAGS_EXTENDED=y |
214 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 220 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
221 | CONFIG_MIGRATION=y | ||
215 | CONFIG_RESOURCES_64BIT=y | 222 | CONFIG_RESOURCES_64BIT=y |
223 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
216 | CONFIG_ZONE_DMA_FLAG=1 | 224 | CONFIG_ZONE_DMA_FLAG=1 |
217 | CONFIG_BOUNCE=y | 225 | CONFIG_BOUNCE=y |
218 | CONFIG_VIRT_TO_BUS=y | 226 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | ||
219 | CONFIG_FORCE_MAX_ZONEORDER=11 | 228 | CONFIG_FORCE_MAX_ZONEORDER=11 |
220 | CONFIG_PROC_DEVICETREE=y | 229 | CONFIG_PROC_DEVICETREE=y |
221 | # CONFIG_CMDLINE_BOOL is not set | 230 | # CONFIG_CMDLINE_BOOL is not set |
231 | CONFIG_EXTRA_TARGETS="" | ||
222 | # CONFIG_PM is not set | 232 | # CONFIG_PM is not set |
223 | CONFIG_SECCOMP=y | 233 | CONFIG_SECCOMP=y |
224 | CONFIG_ISA_DMA_API=y | 234 | CONFIG_ISA_DMA_API=y |
@@ -229,6 +239,7 @@ CONFIG_ISA_DMA_API=y | |||
229 | CONFIG_ZONE_DMA=y | 239 | CONFIG_ZONE_DMA=y |
230 | CONFIG_PPC_INDIRECT_PCI=y | 240 | CONFIG_PPC_INDIRECT_PCI=y |
231 | CONFIG_4xx_SOC=y | 241 | CONFIG_4xx_SOC=y |
242 | CONFIG_PPC_PCI_CHOICE=y | ||
232 | CONFIG_PCI=y | 243 | CONFIG_PCI=y |
233 | CONFIG_PCI_DOMAINS=y | 244 | CONFIG_PCI_DOMAINS=y |
234 | CONFIG_PCI_SYSCALL=y | 245 | CONFIG_PCI_SYSCALL=y |
@@ -256,10 +267,6 @@ CONFIG_PHYSICAL_START=0x00000000 | |||
256 | CONFIG_TASK_SIZE=0xc0000000 | 267 | CONFIG_TASK_SIZE=0xc0000000 |
257 | CONFIG_CONSISTENT_START=0xff100000 | 268 | CONFIG_CONSISTENT_START=0xff100000 |
258 | CONFIG_CONSISTENT_SIZE=0x00200000 | 269 | CONFIG_CONSISTENT_SIZE=0x00200000 |
259 | |||
260 | # | ||
261 | # Networking | ||
262 | # | ||
263 | CONFIG_NET=y | 270 | CONFIG_NET=y |
264 | 271 | ||
265 | # | 272 | # |
@@ -304,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
304 | # CONFIG_TIPC is not set | 311 | # CONFIG_TIPC is not set |
305 | # CONFIG_ATM is not set | 312 | # CONFIG_ATM is not set |
306 | # CONFIG_BRIDGE is not set | 313 | # CONFIG_BRIDGE is not set |
314 | # CONFIG_NET_DSA is not set | ||
307 | # CONFIG_VLAN_8021Q is not set | 315 | # CONFIG_VLAN_8021Q is not set |
308 | # CONFIG_DECNET is not set | 316 | # CONFIG_DECNET is not set |
309 | # CONFIG_LLC2 is not set | 317 | # CONFIG_LLC2 is not set |
@@ -324,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
324 | # CONFIG_IRDA is not set | 332 | # CONFIG_IRDA is not set |
325 | # CONFIG_BT is not set | 333 | # CONFIG_BT is not set |
326 | # CONFIG_AF_RXRPC is not set | 334 | # CONFIG_AF_RXRPC is not set |
327 | 335 | # CONFIG_PHONET is not set | |
328 | # | 336 | # CONFIG_WIRELESS is not set |
329 | # Wireless | ||
330 | # | ||
331 | # CONFIG_CFG80211 is not set | ||
332 | # CONFIG_WIRELESS_EXT is not set | ||
333 | # CONFIG_MAC80211 is not set | ||
334 | # CONFIG_IEEE80211 is not set | ||
335 | # CONFIG_RFKILL is not set | 337 | # CONFIG_RFKILL is not set |
336 | # CONFIG_NET_9P is not set | 338 | # CONFIG_NET_9P is not set |
337 | 339 | ||
@@ -346,6 +348,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
346 | CONFIG_STANDALONE=y | 348 | CONFIG_STANDALONE=y |
347 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 349 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
348 | CONFIG_FW_LOADER=y | 350 | CONFIG_FW_LOADER=y |
351 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
352 | CONFIG_EXTRA_FIRMWARE="" | ||
349 | # CONFIG_DEBUG_DRIVER is not set | 353 | # CONFIG_DEBUG_DRIVER is not set |
350 | # CONFIG_DEBUG_DEVRES is not set | 354 | # CONFIG_DEBUG_DEVRES is not set |
351 | # CONFIG_SYS_HYPERVISOR is not set | 355 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -449,12 +453,14 @@ CONFIG_BLK_DEV_RAM_SIZE=35000 | |||
449 | # CONFIG_CDROM_PKTCDVD is not set | 453 | # CONFIG_CDROM_PKTCDVD is not set |
450 | # CONFIG_ATA_OVER_ETH is not set | 454 | # CONFIG_ATA_OVER_ETH is not set |
451 | # CONFIG_XILINX_SYSACE is not set | 455 | # CONFIG_XILINX_SYSACE is not set |
456 | # CONFIG_BLK_DEV_HD is not set | ||
452 | CONFIG_MISC_DEVICES=y | 457 | CONFIG_MISC_DEVICES=y |
453 | # CONFIG_PHANTOM is not set | 458 | # CONFIG_PHANTOM is not set |
454 | # CONFIG_EEPROM_93CX6 is not set | 459 | # CONFIG_EEPROM_93CX6 is not set |
455 | # CONFIG_SGI_IOC4 is not set | 460 | # CONFIG_SGI_IOC4 is not set |
456 | # CONFIG_TIFM_CORE is not set | 461 | # CONFIG_TIFM_CORE is not set |
457 | # CONFIG_ENCLOSURE_SERVICES is not set | 462 | # CONFIG_ENCLOSURE_SERVICES is not set |
463 | # CONFIG_HP_ILO is not set | ||
458 | CONFIG_HAVE_IDE=y | 464 | CONFIG_HAVE_IDE=y |
459 | # CONFIG_IDE is not set | 465 | # CONFIG_IDE is not set |
460 | 466 | ||
@@ -481,7 +487,6 @@ CONFIG_HAVE_IDE=y | |||
481 | # CONFIG_I2O is not set | 487 | # CONFIG_I2O is not set |
482 | # CONFIG_MACINTOSH_DRIVERS is not set | 488 | # CONFIG_MACINTOSH_DRIVERS is not set |
483 | CONFIG_NETDEVICES=y | 489 | CONFIG_NETDEVICES=y |
484 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
485 | # CONFIG_DUMMY is not set | 490 | # CONFIG_DUMMY is not set |
486 | # CONFIG_BONDING is not set | 491 | # CONFIG_BONDING is not set |
487 | # CONFIG_MACVLAN is not set | 492 | # CONFIG_MACVLAN is not set |
@@ -509,14 +514,17 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | |||
509 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 514 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
510 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 515 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
511 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 516 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
517 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
518 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
519 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
512 | # CONFIG_NET_PCI is not set | 520 | # CONFIG_NET_PCI is not set |
513 | # CONFIG_B44 is not set | 521 | # CONFIG_B44 is not set |
522 | # CONFIG_ATL2 is not set | ||
514 | CONFIG_NETDEV_1000=y | 523 | CONFIG_NETDEV_1000=y |
515 | # CONFIG_ACENIC is not set | 524 | # CONFIG_ACENIC is not set |
516 | # CONFIG_DL2K is not set | 525 | # CONFIG_DL2K is not set |
517 | # CONFIG_E1000 is not set | 526 | # CONFIG_E1000 is not set |
518 | # CONFIG_E1000E is not set | 527 | # CONFIG_E1000E is not set |
519 | # CONFIG_E1000E_ENABLED is not set | ||
520 | # CONFIG_IP1000 is not set | 528 | # CONFIG_IP1000 is not set |
521 | # CONFIG_IGB is not set | 529 | # CONFIG_IGB is not set |
522 | # CONFIG_NS83820 is not set | 530 | # CONFIG_NS83820 is not set |
@@ -531,18 +539,23 @@ CONFIG_NETDEV_1000=y | |||
531 | # CONFIG_BNX2 is not set | 539 | # CONFIG_BNX2 is not set |
532 | # CONFIG_QLA3XXX is not set | 540 | # CONFIG_QLA3XXX is not set |
533 | # CONFIG_ATL1 is not set | 541 | # CONFIG_ATL1 is not set |
542 | # CONFIG_ATL1E is not set | ||
543 | # CONFIG_JME is not set | ||
534 | CONFIG_NETDEV_10000=y | 544 | CONFIG_NETDEV_10000=y |
535 | # CONFIG_CHELSIO_T1 is not set | 545 | # CONFIG_CHELSIO_T1 is not set |
536 | # CONFIG_CHELSIO_T3 is not set | 546 | # CONFIG_CHELSIO_T3 is not set |
547 | # CONFIG_ENIC is not set | ||
537 | # CONFIG_IXGBE is not set | 548 | # CONFIG_IXGBE is not set |
538 | # CONFIG_IXGB is not set | 549 | # CONFIG_IXGB is not set |
539 | # CONFIG_S2IO is not set | 550 | # CONFIG_S2IO is not set |
540 | # CONFIG_MYRI10GE is not set | 551 | # CONFIG_MYRI10GE is not set |
541 | # CONFIG_NETXEN_NIC is not set | 552 | # CONFIG_NETXEN_NIC is not set |
542 | # CONFIG_NIU is not set | 553 | # CONFIG_NIU is not set |
554 | # CONFIG_MLX4_EN is not set | ||
543 | # CONFIG_MLX4_CORE is not set | 555 | # CONFIG_MLX4_CORE is not set |
544 | # CONFIG_TEHUTI is not set | 556 | # CONFIG_TEHUTI is not set |
545 | # CONFIG_BNX2X is not set | 557 | # CONFIG_BNX2X is not set |
558 | # CONFIG_QLGE is not set | ||
546 | # CONFIG_SFC is not set | 559 | # CONFIG_SFC is not set |
547 | # CONFIG_TR is not set | 560 | # CONFIG_TR is not set |
548 | 561 | ||
@@ -618,6 +631,8 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
618 | CONFIG_DEVPORT=y | 631 | CONFIG_DEVPORT=y |
619 | # CONFIG_I2C is not set | 632 | # CONFIG_I2C is not set |
620 | # CONFIG_SPI is not set | 633 | # CONFIG_SPI is not set |
634 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
635 | # CONFIG_GPIOLIB is not set | ||
621 | # CONFIG_W1 is not set | 636 | # CONFIG_W1 is not set |
622 | # CONFIG_POWER_SUPPLY is not set | 637 | # CONFIG_POWER_SUPPLY is not set |
623 | # CONFIG_HWMON is not set | 638 | # CONFIG_HWMON is not set |
@@ -634,8 +649,11 @@ CONFIG_SSB_POSSIBLE=y | |||
634 | # | 649 | # |
635 | # Multifunction device drivers | 650 | # Multifunction device drivers |
636 | # | 651 | # |
652 | # CONFIG_MFD_CORE is not set | ||
637 | # CONFIG_MFD_SM501 is not set | 653 | # CONFIG_MFD_SM501 is not set |
638 | # CONFIG_HTC_PASIC3 is not set | 654 | # CONFIG_HTC_PASIC3 is not set |
655 | # CONFIG_MFD_TMIO is not set | ||
656 | # CONFIG_MFD_WM8400 is not set | ||
639 | 657 | ||
640 | # | 658 | # |
641 | # Multimedia devices | 659 | # Multimedia devices |
@@ -667,12 +685,9 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
667 | # Display device support | 685 | # Display device support |
668 | # | 686 | # |
669 | # CONFIG_DISPLAY_SUPPORT is not set | 687 | # CONFIG_DISPLAY_SUPPORT is not set |
670 | |||
671 | # | ||
672 | # Sound | ||
673 | # | ||
674 | # CONFIG_SOUND is not set | 688 | # CONFIG_SOUND is not set |
675 | # CONFIG_USB_SUPPORT is not set | 689 | # CONFIG_USB_SUPPORT is not set |
690 | # CONFIG_UWB is not set | ||
676 | # CONFIG_MMC is not set | 691 | # CONFIG_MMC is not set |
677 | # CONFIG_MEMSTICK is not set | 692 | # CONFIG_MEMSTICK is not set |
678 | # CONFIG_NEW_LEDS is not set | 693 | # CONFIG_NEW_LEDS is not set |
@@ -682,6 +697,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
682 | # CONFIG_RTC_CLASS is not set | 697 | # CONFIG_RTC_CLASS is not set |
683 | # CONFIG_DMADEVICES is not set | 698 | # CONFIG_DMADEVICES is not set |
684 | # CONFIG_UIO is not set | 699 | # CONFIG_UIO is not set |
700 | # CONFIG_STAGING is not set | ||
685 | 701 | ||
686 | # | 702 | # |
687 | # File systems | 703 | # File systems |
@@ -690,10 +706,11 @@ CONFIG_EXT2_FS=y | |||
690 | # CONFIG_EXT2_FS_XATTR is not set | 706 | # CONFIG_EXT2_FS_XATTR is not set |
691 | # CONFIG_EXT2_FS_XIP is not set | 707 | # CONFIG_EXT2_FS_XIP is not set |
692 | # CONFIG_EXT3_FS is not set | 708 | # CONFIG_EXT3_FS is not set |
693 | # CONFIG_EXT4DEV_FS is not set | 709 | # CONFIG_EXT4_FS is not set |
694 | # CONFIG_REISERFS_FS is not set | 710 | # CONFIG_REISERFS_FS is not set |
695 | # CONFIG_JFS_FS is not set | 711 | # CONFIG_JFS_FS is not set |
696 | # CONFIG_FS_POSIX_ACL is not set | 712 | # CONFIG_FS_POSIX_ACL is not set |
713 | CONFIG_FILE_LOCKING=y | ||
697 | # CONFIG_XFS_FS is not set | 714 | # CONFIG_XFS_FS is not set |
698 | # CONFIG_OCFS2_FS is not set | 715 | # CONFIG_OCFS2_FS is not set |
699 | CONFIG_DNOTIFY=y | 716 | CONFIG_DNOTIFY=y |
@@ -723,6 +740,7 @@ CONFIG_INOTIFY_USER=y | |||
723 | CONFIG_PROC_FS=y | 740 | CONFIG_PROC_FS=y |
724 | CONFIG_PROC_KCORE=y | 741 | CONFIG_PROC_KCORE=y |
725 | CONFIG_PROC_SYSCTL=y | 742 | CONFIG_PROC_SYSCTL=y |
743 | CONFIG_PROC_PAGE_MONITOR=y | ||
726 | CONFIG_SYSFS=y | 744 | CONFIG_SYSFS=y |
727 | CONFIG_TMPFS=y | 745 | CONFIG_TMPFS=y |
728 | # CONFIG_TMPFS_POSIX_ACL is not set | 746 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -739,11 +757,11 @@ CONFIG_TMPFS=y | |||
739 | # CONFIG_BEFS_FS is not set | 757 | # CONFIG_BEFS_FS is not set |
740 | # CONFIG_BFS_FS is not set | 758 | # CONFIG_BFS_FS is not set |
741 | # CONFIG_EFS_FS is not set | 759 | # CONFIG_EFS_FS is not set |
742 | # CONFIG_YAFFS_FS is not set | ||
743 | # CONFIG_JFFS2_FS is not set | 760 | # CONFIG_JFFS2_FS is not set |
744 | CONFIG_CRAMFS=y | 761 | CONFIG_CRAMFS=y |
745 | # CONFIG_VXFS_FS is not set | 762 | # CONFIG_VXFS_FS is not set |
746 | # CONFIG_MINIX_FS is not set | 763 | # CONFIG_MINIX_FS is not set |
764 | # CONFIG_OMFS_FS is not set | ||
747 | # CONFIG_HPFS_FS is not set | 765 | # CONFIG_HPFS_FS is not set |
748 | # CONFIG_QNX4FS_FS is not set | 766 | # CONFIG_QNX4FS_FS is not set |
749 | # CONFIG_ROMFS_FS is not set | 767 | # CONFIG_ROMFS_FS is not set |
@@ -754,13 +772,13 @@ CONFIG_NFS_FS=y | |||
754 | CONFIG_NFS_V3=y | 772 | CONFIG_NFS_V3=y |
755 | # CONFIG_NFS_V3_ACL is not set | 773 | # CONFIG_NFS_V3_ACL is not set |
756 | # CONFIG_NFS_V4 is not set | 774 | # CONFIG_NFS_V4 is not set |
757 | # CONFIG_NFSD is not set | ||
758 | CONFIG_ROOT_NFS=y | 775 | CONFIG_ROOT_NFS=y |
776 | # CONFIG_NFSD is not set | ||
759 | CONFIG_LOCKD=y | 777 | CONFIG_LOCKD=y |
760 | CONFIG_LOCKD_V4=y | 778 | CONFIG_LOCKD_V4=y |
761 | CONFIG_NFS_COMMON=y | 779 | CONFIG_NFS_COMMON=y |
762 | CONFIG_SUNRPC=y | 780 | CONFIG_SUNRPC=y |
763 | # CONFIG_SUNRPC_BIND34 is not set | 781 | # CONFIG_SUNRPC_REGISTER_V4 is not set |
764 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 782 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
765 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 783 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
766 | # CONFIG_SMB_FS is not set | 784 | # CONFIG_SMB_FS is not set |
@@ -781,9 +799,9 @@ CONFIG_MSDOS_PARTITION=y | |||
781 | # Library routines | 799 | # Library routines |
782 | # | 800 | # |
783 | CONFIG_BITREVERSE=y | 801 | CONFIG_BITREVERSE=y |
784 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
785 | # CONFIG_CRC_CCITT is not set | 802 | # CONFIG_CRC_CCITT is not set |
786 | # CONFIG_CRC16 is not set | 803 | # CONFIG_CRC16 is not set |
804 | # CONFIG_CRC_T10DIF is not set | ||
787 | # CONFIG_CRC_ITU_T is not set | 805 | # CONFIG_CRC_ITU_T is not set |
788 | CONFIG_CRC32=y | 806 | CONFIG_CRC32=y |
789 | # CONFIG_CRC7 is not set | 807 | # CONFIG_CRC7 is not set |
@@ -809,6 +827,8 @@ CONFIG_DEBUG_FS=y | |||
809 | CONFIG_DEBUG_KERNEL=y | 827 | CONFIG_DEBUG_KERNEL=y |
810 | # CONFIG_DEBUG_SHIRQ is not set | 828 | # CONFIG_DEBUG_SHIRQ is not set |
811 | CONFIG_DETECT_SOFTLOCKUP=y | 829 | CONFIG_DETECT_SOFTLOCKUP=y |
830 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
831 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
812 | CONFIG_SCHED_DEBUG=y | 832 | CONFIG_SCHED_DEBUG=y |
813 | # CONFIG_SCHEDSTATS is not set | 833 | # CONFIG_SCHEDSTATS is not set |
814 | # CONFIG_TIMER_STATS is not set | 834 | # CONFIG_TIMER_STATS is not set |
@@ -826,17 +846,36 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
826 | # CONFIG_DEBUG_INFO is not set | 846 | # CONFIG_DEBUG_INFO is not set |
827 | # CONFIG_DEBUG_VM is not set | 847 | # CONFIG_DEBUG_VM is not set |
828 | # CONFIG_DEBUG_WRITECOUNT is not set | 848 | # CONFIG_DEBUG_WRITECOUNT is not set |
849 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
829 | # CONFIG_DEBUG_LIST is not set | 850 | # CONFIG_DEBUG_LIST is not set |
830 | # CONFIG_DEBUG_SG is not set | 851 | # CONFIG_DEBUG_SG is not set |
831 | # CONFIG_BOOT_PRINTK_DELAY is not set | 852 | # CONFIG_BOOT_PRINTK_DELAY is not set |
832 | # CONFIG_RCU_TORTURE_TEST is not set | 853 | # CONFIG_RCU_TORTURE_TEST is not set |
854 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
833 | # CONFIG_BACKTRACE_SELF_TEST is not set | 855 | # CONFIG_BACKTRACE_SELF_TEST is not set |
856 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
834 | # CONFIG_FAULT_INJECTION is not set | 857 | # CONFIG_FAULT_INJECTION is not set |
858 | # CONFIG_LATENCYTOP is not set | ||
859 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
860 | CONFIG_NOP_TRACER=y | ||
861 | CONFIG_HAVE_FTRACE=y | ||
862 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
863 | # CONFIG_FTRACE is not set | ||
864 | # CONFIG_SCHED_TRACER is not set | ||
865 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
866 | # CONFIG_BOOT_TRACER is not set | ||
867 | # CONFIG_STACK_TRACER is not set | ||
868 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
835 | # CONFIG_SAMPLES is not set | 869 | # CONFIG_SAMPLES is not set |
870 | CONFIG_HAVE_ARCH_KGDB=y | ||
871 | # CONFIG_KGDB is not set | ||
836 | # CONFIG_DEBUG_STACKOVERFLOW is not set | 872 | # CONFIG_DEBUG_STACKOVERFLOW is not set |
837 | # CONFIG_DEBUG_STACK_USAGE is not set | 873 | # CONFIG_DEBUG_STACK_USAGE is not set |
838 | # CONFIG_DEBUG_PAGEALLOC is not set | 874 | # CONFIG_DEBUG_PAGEALLOC is not set |
839 | # CONFIG_DEBUGGER is not set | 875 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
876 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
877 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
878 | # CONFIG_XMON is not set | ||
840 | # CONFIG_IRQSTACKS is not set | 879 | # CONFIG_IRQSTACKS is not set |
841 | # CONFIG_VIRQ_DEBUG is not set | 880 | # CONFIG_VIRQ_DEBUG is not set |
842 | # CONFIG_BDI_SWITCH is not set | 881 | # CONFIG_BDI_SWITCH is not set |
@@ -847,14 +886,19 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
847 | # | 886 | # |
848 | # CONFIG_KEYS is not set | 887 | # CONFIG_KEYS is not set |
849 | # CONFIG_SECURITY is not set | 888 | # CONFIG_SECURITY is not set |
889 | # CONFIG_SECURITYFS is not set | ||
850 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 890 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
851 | CONFIG_CRYPTO=y | 891 | CONFIG_CRYPTO=y |
852 | 892 | ||
853 | # | 893 | # |
854 | # Crypto core or helper | 894 | # Crypto core or helper |
855 | # | 895 | # |
896 | # CONFIG_CRYPTO_FIPS is not set | ||
856 | CONFIG_CRYPTO_ALGAPI=y | 897 | CONFIG_CRYPTO_ALGAPI=y |
898 | CONFIG_CRYPTO_AEAD=y | ||
857 | CONFIG_CRYPTO_BLKCIPHER=y | 899 | CONFIG_CRYPTO_BLKCIPHER=y |
900 | CONFIG_CRYPTO_HASH=y | ||
901 | CONFIG_CRYPTO_RNG=y | ||
858 | CONFIG_CRYPTO_MANAGER=y | 902 | CONFIG_CRYPTO_MANAGER=y |
859 | # CONFIG_CRYPTO_GF128MUL is not set | 903 | # CONFIG_CRYPTO_GF128MUL is not set |
860 | # CONFIG_CRYPTO_NULL is not set | 904 | # CONFIG_CRYPTO_NULL is not set |
@@ -893,6 +937,10 @@ CONFIG_CRYPTO_PCBC=y | |||
893 | # CONFIG_CRYPTO_MD4 is not set | 937 | # CONFIG_CRYPTO_MD4 is not set |
894 | CONFIG_CRYPTO_MD5=y | 938 | CONFIG_CRYPTO_MD5=y |
895 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 939 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
940 | # CONFIG_CRYPTO_RMD128 is not set | ||
941 | # CONFIG_CRYPTO_RMD160 is not set | ||
942 | # CONFIG_CRYPTO_RMD256 is not set | ||
943 | # CONFIG_CRYPTO_RMD320 is not set | ||
896 | # CONFIG_CRYPTO_SHA1 is not set | 944 | # CONFIG_CRYPTO_SHA1 is not set |
897 | # CONFIG_CRYPTO_SHA256 is not set | 945 | # CONFIG_CRYPTO_SHA256 is not set |
898 | # CONFIG_CRYPTO_SHA512 is not set | 946 | # CONFIG_CRYPTO_SHA512 is not set |
@@ -923,6 +971,11 @@ CONFIG_CRYPTO_DES=y | |||
923 | # | 971 | # |
924 | # CONFIG_CRYPTO_DEFLATE is not set | 972 | # CONFIG_CRYPTO_DEFLATE is not set |
925 | # CONFIG_CRYPTO_LZO is not set | 973 | # CONFIG_CRYPTO_LZO is not set |
974 | |||
975 | # | ||
976 | # Random Number Generation | ||
977 | # | ||
978 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
926 | CONFIG_CRYPTO_HW=y | 979 | CONFIG_CRYPTO_HW=y |
927 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 980 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
928 | # CONFIG_PPC_CLOCK is not set | 981 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig index 565ed9666c54..e2f3695d9d0b 100644 --- a/arch/powerpc/configs/40x/kilauea_defconfig +++ b/arch/powerpc/configs/40x/kilauea_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 19:36:14 2008 | 4 | # Tue Oct 28 08:49:23 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,14 +19,13 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
30 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
31 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
32 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
93 | CONFIG_KALLSYMS_ALL=y | 91 | CONFIG_KALLSYMS_ALL=y |
94 | CONFIG_KALLSYMS_EXTRA_PASS=y | 92 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
158 | CONFIG_PPC4xx_PCI_EXPRESS=y | 155 | CONFIG_PPC4xx_PCI_EXPRESS=y |
159 | 156 | ||
160 | # | 157 | # |
@@ -163,11 +160,15 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
163 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
164 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
165 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | # CONFIG_ACADIA is not set | ||
166 | # CONFIG_EP405 is not set | 165 | # CONFIG_EP405 is not set |
166 | # CONFIG_HCU4 is not set | ||
167 | CONFIG_KILAUEA=y | 167 | CONFIG_KILAUEA=y |
168 | # CONFIG_MAKALU is not set | 168 | # CONFIG_MAKALU is not set |
169 | # CONFIG_WALNUT is not set | 169 | # CONFIG_WALNUT is not set |
170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | 170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set |
171 | # CONFIG_PPC40x_SIMPLE is not set | ||
171 | CONFIG_405EX=y | 172 | CONFIG_405EX=y |
172 | # CONFIG_IPIC is not set | 173 | # CONFIG_IPIC is not set |
173 | # CONFIG_MPIC is not set | 174 | # CONFIG_MPIC is not set |
@@ -186,7 +187,6 @@ CONFIG_405EX=y | |||
186 | # Kernel options | 187 | # Kernel options |
187 | # | 188 | # |
188 | # CONFIG_HIGHMEM is not set | 189 | # CONFIG_HIGHMEM is not set |
189 | # CONFIG_TICK_ONESHOT is not set | ||
190 | # CONFIG_NO_HZ is not set | 190 | # CONFIG_NO_HZ is not set |
191 | # CONFIG_HIGH_RES_TIMERS is not set | 191 | # CONFIG_HIGH_RES_TIMERS is not set |
192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y | |||
200 | # CONFIG_PREEMPT_VOLUNTARY is not set | 200 | # CONFIG_PREEMPT_VOLUNTARY is not set |
201 | # CONFIG_PREEMPT is not set | 201 | # CONFIG_PREEMPT is not set |
202 | CONFIG_BINFMT_ELF=y | 202 | CONFIG_BINFMT_ELF=y |
203 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
204 | # CONFIG_HAVE_AOUT is not set | ||
203 | # CONFIG_BINFMT_MISC is not set | 205 | # CONFIG_BINFMT_MISC is not set |
204 | # CONFIG_MATH_EMULATION is not set | 206 | # CONFIG_MATH_EMULATION is not set |
205 | # CONFIG_IOMMU_HELPER is not set | 207 | # CONFIG_IOMMU_HELPER is not set |
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
214 | # CONFIG_SPARSEMEM_MANUAL is not set | 216 | # CONFIG_SPARSEMEM_MANUAL is not set |
215 | CONFIG_FLATMEM=y | 217 | CONFIG_FLATMEM=y |
216 | CONFIG_FLAT_NODE_MEM_MAP=y | 218 | CONFIG_FLAT_NODE_MEM_MAP=y |
217 | # CONFIG_SPARSEMEM_STATIC is not set | ||
218 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
219 | CONFIG_PAGEFLAGS_EXTENDED=y | 219 | CONFIG_PAGEFLAGS_EXTENDED=y |
220 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 220 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
221 | CONFIG_MIGRATION=y | 221 | CONFIG_MIGRATION=y |
222 | # CONFIG_RESOURCES_64BIT is not set | 222 | # CONFIG_RESOURCES_64BIT is not set |
223 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
223 | CONFIG_ZONE_DMA_FLAG=1 | 224 | CONFIG_ZONE_DMA_FLAG=1 |
224 | CONFIG_BOUNCE=y | 225 | CONFIG_BOUNCE=y |
225 | CONFIG_VIRT_TO_BUS=y | 226 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | ||
226 | CONFIG_FORCE_MAX_ZONEORDER=11 | 228 | CONFIG_FORCE_MAX_ZONEORDER=11 |
227 | CONFIG_PROC_DEVICETREE=y | 229 | CONFIG_PROC_DEVICETREE=y |
228 | # CONFIG_CMDLINE_BOOL is not set | 230 | # CONFIG_CMDLINE_BOOL is not set |
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
309 | # CONFIG_TIPC is not set | 311 | # CONFIG_TIPC is not set |
310 | # CONFIG_ATM is not set | 312 | # CONFIG_ATM is not set |
311 | # CONFIG_BRIDGE is not set | 313 | # CONFIG_BRIDGE is not set |
314 | # CONFIG_NET_DSA is not set | ||
312 | # CONFIG_VLAN_8021Q is not set | 315 | # CONFIG_VLAN_8021Q is not set |
313 | # CONFIG_DECNET is not set | 316 | # CONFIG_DECNET is not set |
314 | # CONFIG_LLC2 is not set | 317 | # CONFIG_LLC2 is not set |
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
329 | # CONFIG_IRDA is not set | 332 | # CONFIG_IRDA is not set |
330 | # CONFIG_BT is not set | 333 | # CONFIG_BT is not set |
331 | # CONFIG_AF_RXRPC is not set | 334 | # CONFIG_AF_RXRPC is not set |
332 | 335 | # CONFIG_PHONET is not set | |
333 | # | 336 | # CONFIG_WIRELESS is not set |
334 | # Wireless | ||
335 | # | ||
336 | # CONFIG_CFG80211 is not set | ||
337 | # CONFIG_WIRELESS_EXT is not set | ||
338 | # CONFIG_MAC80211 is not set | ||
339 | # CONFIG_IEEE80211 is not set | ||
340 | # CONFIG_RFKILL is not set | 337 | # CONFIG_RFKILL is not set |
341 | # CONFIG_NET_9P is not set | 338 | # CONFIG_NET_9P is not set |
342 | 339 | ||
@@ -511,8 +508,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | |||
511 | CONFIG_IBM_NEW_EMAC_RGMII=y | 508 | CONFIG_IBM_NEW_EMAC_RGMII=y |
512 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 509 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
513 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 510 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
511 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
512 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
513 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
514 | # CONFIG_NET_PCI is not set | 514 | # CONFIG_NET_PCI is not set |
515 | # CONFIG_B44 is not set | 515 | # CONFIG_B44 is not set |
516 | # CONFIG_ATL2 is not set | ||
516 | # CONFIG_NETDEV_1000 is not set | 517 | # CONFIG_NETDEV_1000 is not set |
517 | # CONFIG_NETDEV_10000 is not set | 518 | # CONFIG_NETDEV_10000 is not set |
518 | # CONFIG_TR is not set | 519 | # CONFIG_TR is not set |
@@ -609,6 +610,8 @@ CONFIG_SSB_POSSIBLE=y | |||
609 | # CONFIG_MFD_CORE is not set | 610 | # CONFIG_MFD_CORE is not set |
610 | # CONFIG_MFD_SM501 is not set | 611 | # CONFIG_MFD_SM501 is not set |
611 | # CONFIG_HTC_PASIC3 is not set | 612 | # CONFIG_HTC_PASIC3 is not set |
613 | # CONFIG_MFD_TMIO is not set | ||
614 | # CONFIG_MFD_WM8400 is not set | ||
612 | 615 | ||
613 | # | 616 | # |
614 | # Multimedia devices | 617 | # Multimedia devices |
@@ -642,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y | |||
642 | # CONFIG_DISPLAY_SUPPORT is not set | 645 | # CONFIG_DISPLAY_SUPPORT is not set |
643 | # CONFIG_SOUND is not set | 646 | # CONFIG_SOUND is not set |
644 | # CONFIG_USB_SUPPORT is not set | 647 | # CONFIG_USB_SUPPORT is not set |
648 | # CONFIG_UWB is not set | ||
645 | # CONFIG_MMC is not set | 649 | # CONFIG_MMC is not set |
646 | # CONFIG_MEMSTICK is not set | 650 | # CONFIG_MEMSTICK is not set |
647 | # CONFIG_NEW_LEDS is not set | 651 | # CONFIG_NEW_LEDS is not set |
@@ -651,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y | |||
651 | # CONFIG_RTC_CLASS is not set | 655 | # CONFIG_RTC_CLASS is not set |
652 | # CONFIG_DMADEVICES is not set | 656 | # CONFIG_DMADEVICES is not set |
653 | # CONFIG_UIO is not set | 657 | # CONFIG_UIO is not set |
658 | # CONFIG_STAGING is not set | ||
654 | 659 | ||
655 | # | 660 | # |
656 | # File systems | 661 | # File systems |
@@ -659,10 +664,11 @@ CONFIG_EXT2_FS=y | |||
659 | # CONFIG_EXT2_FS_XATTR is not set | 664 | # CONFIG_EXT2_FS_XATTR is not set |
660 | # CONFIG_EXT2_FS_XIP is not set | 665 | # CONFIG_EXT2_FS_XIP is not set |
661 | # CONFIG_EXT3_FS is not set | 666 | # CONFIG_EXT3_FS is not set |
662 | # CONFIG_EXT4DEV_FS is not set | 667 | # CONFIG_EXT4_FS is not set |
663 | # CONFIG_REISERFS_FS is not set | 668 | # CONFIG_REISERFS_FS is not set |
664 | # CONFIG_JFS_FS is not set | 669 | # CONFIG_JFS_FS is not set |
665 | # CONFIG_FS_POSIX_ACL is not set | 670 | # CONFIG_FS_POSIX_ACL is not set |
671 | CONFIG_FILE_LOCKING=y | ||
666 | # CONFIG_XFS_FS is not set | 672 | # CONFIG_XFS_FS is not set |
667 | # CONFIG_OCFS2_FS is not set | 673 | # CONFIG_OCFS2_FS is not set |
668 | CONFIG_DNOTIFY=y | 674 | CONFIG_DNOTIFY=y |
@@ -692,6 +698,7 @@ CONFIG_INOTIFY_USER=y | |||
692 | CONFIG_PROC_FS=y | 698 | CONFIG_PROC_FS=y |
693 | CONFIG_PROC_KCORE=y | 699 | CONFIG_PROC_KCORE=y |
694 | CONFIG_PROC_SYSCTL=y | 700 | CONFIG_PROC_SYSCTL=y |
701 | CONFIG_PROC_PAGE_MONITOR=y | ||
695 | CONFIG_SYSFS=y | 702 | CONFIG_SYSFS=y |
696 | CONFIG_TMPFS=y | 703 | CONFIG_TMPFS=y |
697 | # CONFIG_TMPFS_POSIX_ACL is not set | 704 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -729,6 +736,7 @@ CONFIG_LOCKD=y | |||
729 | CONFIG_LOCKD_V4=y | 736 | CONFIG_LOCKD_V4=y |
730 | CONFIG_NFS_COMMON=y | 737 | CONFIG_NFS_COMMON=y |
731 | CONFIG_SUNRPC=y | 738 | CONFIG_SUNRPC=y |
739 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
732 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 740 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
733 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 741 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
734 | # CONFIG_SMB_FS is not set | 742 | # CONFIG_SMB_FS is not set |
@@ -749,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y | |||
749 | # Library routines | 757 | # Library routines |
750 | # | 758 | # |
751 | CONFIG_BITREVERSE=y | 759 | CONFIG_BITREVERSE=y |
752 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
753 | # CONFIG_CRC_CCITT is not set | 760 | # CONFIG_CRC_CCITT is not set |
754 | # CONFIG_CRC16 is not set | 761 | # CONFIG_CRC16 is not set |
755 | # CONFIG_CRC_T10DIF is not set | 762 | # CONFIG_CRC_T10DIF is not set |
@@ -802,14 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
802 | # CONFIG_DEBUG_SG is not set | 809 | # CONFIG_DEBUG_SG is not set |
803 | # CONFIG_BOOT_PRINTK_DELAY is not set | 810 | # CONFIG_BOOT_PRINTK_DELAY is not set |
804 | # CONFIG_RCU_TORTURE_TEST is not set | 811 | # CONFIG_RCU_TORTURE_TEST is not set |
812 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
805 | # CONFIG_BACKTRACE_SELF_TEST is not set | 813 | # CONFIG_BACKTRACE_SELF_TEST is not set |
814 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
806 | # CONFIG_FAULT_INJECTION is not set | 815 | # CONFIG_FAULT_INJECTION is not set |
807 | # CONFIG_LATENCYTOP is not set | 816 | # CONFIG_LATENCYTOP is not set |
817 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
818 | CONFIG_NOP_TRACER=y | ||
808 | CONFIG_HAVE_FTRACE=y | 819 | CONFIG_HAVE_FTRACE=y |
809 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 820 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
810 | # CONFIG_FTRACE is not set | 821 | # CONFIG_FTRACE is not set |
811 | # CONFIG_SCHED_TRACER is not set | 822 | # CONFIG_SCHED_TRACER is not set |
812 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 823 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
824 | # CONFIG_BOOT_TRACER is not set | ||
825 | # CONFIG_STACK_TRACER is not set | ||
826 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
813 | # CONFIG_SAMPLES is not set | 827 | # CONFIG_SAMPLES is not set |
814 | CONFIG_HAVE_ARCH_KGDB=y | 828 | CONFIG_HAVE_ARCH_KGDB=y |
815 | # CONFIG_KGDB is not set | 829 | # CONFIG_KGDB is not set |
@@ -818,6 +832,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
818 | # CONFIG_DEBUG_PAGEALLOC is not set | 832 | # CONFIG_DEBUG_PAGEALLOC is not set |
819 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 833 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
820 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 834 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
835 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
821 | # CONFIG_XMON is not set | 836 | # CONFIG_XMON is not set |
822 | # CONFIG_IRQSTACKS is not set | 837 | # CONFIG_IRQSTACKS is not set |
823 | # CONFIG_VIRQ_DEBUG is not set | 838 | # CONFIG_VIRQ_DEBUG is not set |
@@ -829,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
829 | # | 844 | # |
830 | # CONFIG_KEYS is not set | 845 | # CONFIG_KEYS is not set |
831 | # CONFIG_SECURITY is not set | 846 | # CONFIG_SECURITY is not set |
847 | # CONFIG_SECURITYFS is not set | ||
832 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 848 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
833 | CONFIG_CRYPTO=y | 849 | CONFIG_CRYPTO=y |
834 | 850 | ||
835 | # | 851 | # |
836 | # Crypto core or helper | 852 | # Crypto core or helper |
837 | # | 853 | # |
854 | # CONFIG_CRYPTO_FIPS is not set | ||
838 | CONFIG_CRYPTO_ALGAPI=y | 855 | CONFIG_CRYPTO_ALGAPI=y |
856 | CONFIG_CRYPTO_AEAD=y | ||
839 | CONFIG_CRYPTO_BLKCIPHER=y | 857 | CONFIG_CRYPTO_BLKCIPHER=y |
858 | CONFIG_CRYPTO_HASH=y | ||
859 | CONFIG_CRYPTO_RNG=y | ||
840 | CONFIG_CRYPTO_MANAGER=y | 860 | CONFIG_CRYPTO_MANAGER=y |
841 | # CONFIG_CRYPTO_GF128MUL is not set | 861 | # CONFIG_CRYPTO_GF128MUL is not set |
842 | # CONFIG_CRYPTO_NULL is not set | 862 | # CONFIG_CRYPTO_NULL is not set |
@@ -909,6 +929,11 @@ CONFIG_CRYPTO_DES=y | |||
909 | # | 929 | # |
910 | # CONFIG_CRYPTO_DEFLATE is not set | 930 | # CONFIG_CRYPTO_DEFLATE is not set |
911 | # CONFIG_CRYPTO_LZO is not set | 931 | # CONFIG_CRYPTO_LZO is not set |
932 | |||
933 | # | ||
934 | # Random Number Generation | ||
935 | # | ||
936 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
912 | CONFIG_CRYPTO_HW=y | 937 | CONFIG_CRYPTO_HW=y |
913 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 938 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
914 | # CONFIG_PPC_CLOCK is not set | 939 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig index 987a4481800f..413c778ecd7c 100644 --- a/arch/powerpc/configs/40x/makalu_defconfig +++ b/arch/powerpc/configs/40x/makalu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 19:38:39 2008 | 4 | # Tue Oct 28 08:49:25 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,14 +19,13 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
30 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
31 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
32 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
93 | CONFIG_KALLSYMS_ALL=y | 91 | CONFIG_KALLSYMS_ALL=y |
94 | CONFIG_KALLSYMS_EXTRA_PASS=y | 92 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
158 | CONFIG_PPC4xx_PCI_EXPRESS=y | 155 | CONFIG_PPC4xx_PCI_EXPRESS=y |
159 | 156 | ||
160 | # | 157 | # |
@@ -163,11 +160,15 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
163 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
164 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
165 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | # CONFIG_ACADIA is not set | ||
166 | # CONFIG_EP405 is not set | 165 | # CONFIG_EP405 is not set |
166 | # CONFIG_HCU4 is not set | ||
167 | # CONFIG_KILAUEA is not set | 167 | # CONFIG_KILAUEA is not set |
168 | CONFIG_MAKALU=y | 168 | CONFIG_MAKALU=y |
169 | # CONFIG_WALNUT is not set | 169 | # CONFIG_WALNUT is not set |
170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | 170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set |
171 | # CONFIG_PPC40x_SIMPLE is not set | ||
171 | CONFIG_405EX=y | 172 | CONFIG_405EX=y |
172 | # CONFIG_IPIC is not set | 173 | # CONFIG_IPIC is not set |
173 | # CONFIG_MPIC is not set | 174 | # CONFIG_MPIC is not set |
@@ -186,7 +187,6 @@ CONFIG_405EX=y | |||
186 | # Kernel options | 187 | # Kernel options |
187 | # | 188 | # |
188 | # CONFIG_HIGHMEM is not set | 189 | # CONFIG_HIGHMEM is not set |
189 | # CONFIG_TICK_ONESHOT is not set | ||
190 | # CONFIG_NO_HZ is not set | 190 | # CONFIG_NO_HZ is not set |
191 | # CONFIG_HIGH_RES_TIMERS is not set | 191 | # CONFIG_HIGH_RES_TIMERS is not set |
192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 192 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -200,6 +200,8 @@ CONFIG_PREEMPT_NONE=y | |||
200 | # CONFIG_PREEMPT_VOLUNTARY is not set | 200 | # CONFIG_PREEMPT_VOLUNTARY is not set |
201 | # CONFIG_PREEMPT is not set | 201 | # CONFIG_PREEMPT is not set |
202 | CONFIG_BINFMT_ELF=y | 202 | CONFIG_BINFMT_ELF=y |
203 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
204 | # CONFIG_HAVE_AOUT is not set | ||
203 | # CONFIG_BINFMT_MISC is not set | 205 | # CONFIG_BINFMT_MISC is not set |
204 | # CONFIG_MATH_EMULATION is not set | 206 | # CONFIG_MATH_EMULATION is not set |
205 | # CONFIG_IOMMU_HELPER is not set | 207 | # CONFIG_IOMMU_HELPER is not set |
@@ -214,15 +216,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
214 | # CONFIG_SPARSEMEM_MANUAL is not set | 216 | # CONFIG_SPARSEMEM_MANUAL is not set |
215 | CONFIG_FLATMEM=y | 217 | CONFIG_FLATMEM=y |
216 | CONFIG_FLAT_NODE_MEM_MAP=y | 218 | CONFIG_FLAT_NODE_MEM_MAP=y |
217 | # CONFIG_SPARSEMEM_STATIC is not set | ||
218 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
219 | CONFIG_PAGEFLAGS_EXTENDED=y | 219 | CONFIG_PAGEFLAGS_EXTENDED=y |
220 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 220 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
221 | CONFIG_MIGRATION=y | 221 | CONFIG_MIGRATION=y |
222 | # CONFIG_RESOURCES_64BIT is not set | 222 | # CONFIG_RESOURCES_64BIT is not set |
223 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
223 | CONFIG_ZONE_DMA_FLAG=1 | 224 | CONFIG_ZONE_DMA_FLAG=1 |
224 | CONFIG_BOUNCE=y | 225 | CONFIG_BOUNCE=y |
225 | CONFIG_VIRT_TO_BUS=y | 226 | CONFIG_VIRT_TO_BUS=y |
227 | CONFIG_UNEVICTABLE_LRU=y | ||
226 | CONFIG_FORCE_MAX_ZONEORDER=11 | 228 | CONFIG_FORCE_MAX_ZONEORDER=11 |
227 | CONFIG_PROC_DEVICETREE=y | 229 | CONFIG_PROC_DEVICETREE=y |
228 | # CONFIG_CMDLINE_BOOL is not set | 230 | # CONFIG_CMDLINE_BOOL is not set |
@@ -309,6 +311,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
309 | # CONFIG_TIPC is not set | 311 | # CONFIG_TIPC is not set |
310 | # CONFIG_ATM is not set | 312 | # CONFIG_ATM is not set |
311 | # CONFIG_BRIDGE is not set | 313 | # CONFIG_BRIDGE is not set |
314 | # CONFIG_NET_DSA is not set | ||
312 | # CONFIG_VLAN_8021Q is not set | 315 | # CONFIG_VLAN_8021Q is not set |
313 | # CONFIG_DECNET is not set | 316 | # CONFIG_DECNET is not set |
314 | # CONFIG_LLC2 is not set | 317 | # CONFIG_LLC2 is not set |
@@ -329,14 +332,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
329 | # CONFIG_IRDA is not set | 332 | # CONFIG_IRDA is not set |
330 | # CONFIG_BT is not set | 333 | # CONFIG_BT is not set |
331 | # CONFIG_AF_RXRPC is not set | 334 | # CONFIG_AF_RXRPC is not set |
332 | 335 | # CONFIG_PHONET is not set | |
333 | # | 336 | # CONFIG_WIRELESS is not set |
334 | # Wireless | ||
335 | # | ||
336 | # CONFIG_CFG80211 is not set | ||
337 | # CONFIG_WIRELESS_EXT is not set | ||
338 | # CONFIG_MAC80211 is not set | ||
339 | # CONFIG_IEEE80211 is not set | ||
340 | # CONFIG_RFKILL is not set | 337 | # CONFIG_RFKILL is not set |
341 | # CONFIG_NET_9P is not set | 338 | # CONFIG_NET_9P is not set |
342 | 339 | ||
@@ -511,8 +508,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | |||
511 | CONFIG_IBM_NEW_EMAC_RGMII=y | 508 | CONFIG_IBM_NEW_EMAC_RGMII=y |
512 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 509 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
513 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 510 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
511 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
512 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
513 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
514 | # CONFIG_NET_PCI is not set | 514 | # CONFIG_NET_PCI is not set |
515 | # CONFIG_B44 is not set | 515 | # CONFIG_B44 is not set |
516 | # CONFIG_ATL2 is not set | ||
516 | # CONFIG_NETDEV_1000 is not set | 517 | # CONFIG_NETDEV_1000 is not set |
517 | # CONFIG_NETDEV_10000 is not set | 518 | # CONFIG_NETDEV_10000 is not set |
518 | # CONFIG_TR is not set | 519 | # CONFIG_TR is not set |
@@ -609,6 +610,8 @@ CONFIG_SSB_POSSIBLE=y | |||
609 | # CONFIG_MFD_CORE is not set | 610 | # CONFIG_MFD_CORE is not set |
610 | # CONFIG_MFD_SM501 is not set | 611 | # CONFIG_MFD_SM501 is not set |
611 | # CONFIG_HTC_PASIC3 is not set | 612 | # CONFIG_HTC_PASIC3 is not set |
613 | # CONFIG_MFD_TMIO is not set | ||
614 | # CONFIG_MFD_WM8400 is not set | ||
612 | 615 | ||
613 | # | 616 | # |
614 | # Multimedia devices | 617 | # Multimedia devices |
@@ -642,6 +645,7 @@ CONFIG_SSB_POSSIBLE=y | |||
642 | # CONFIG_DISPLAY_SUPPORT is not set | 645 | # CONFIG_DISPLAY_SUPPORT is not set |
643 | # CONFIG_SOUND is not set | 646 | # CONFIG_SOUND is not set |
644 | # CONFIG_USB_SUPPORT is not set | 647 | # CONFIG_USB_SUPPORT is not set |
648 | # CONFIG_UWB is not set | ||
645 | # CONFIG_MMC is not set | 649 | # CONFIG_MMC is not set |
646 | # CONFIG_MEMSTICK is not set | 650 | # CONFIG_MEMSTICK is not set |
647 | # CONFIG_NEW_LEDS is not set | 651 | # CONFIG_NEW_LEDS is not set |
@@ -651,6 +655,7 @@ CONFIG_SSB_POSSIBLE=y | |||
651 | # CONFIG_RTC_CLASS is not set | 655 | # CONFIG_RTC_CLASS is not set |
652 | # CONFIG_DMADEVICES is not set | 656 | # CONFIG_DMADEVICES is not set |
653 | # CONFIG_UIO is not set | 657 | # CONFIG_UIO is not set |
658 | # CONFIG_STAGING is not set | ||
654 | 659 | ||
655 | # | 660 | # |
656 | # File systems | 661 | # File systems |
@@ -659,10 +664,11 @@ CONFIG_EXT2_FS=y | |||
659 | # CONFIG_EXT2_FS_XATTR is not set | 664 | # CONFIG_EXT2_FS_XATTR is not set |
660 | # CONFIG_EXT2_FS_XIP is not set | 665 | # CONFIG_EXT2_FS_XIP is not set |
661 | # CONFIG_EXT3_FS is not set | 666 | # CONFIG_EXT3_FS is not set |
662 | # CONFIG_EXT4DEV_FS is not set | 667 | # CONFIG_EXT4_FS is not set |
663 | # CONFIG_REISERFS_FS is not set | 668 | # CONFIG_REISERFS_FS is not set |
664 | # CONFIG_JFS_FS is not set | 669 | # CONFIG_JFS_FS is not set |
665 | # CONFIG_FS_POSIX_ACL is not set | 670 | # CONFIG_FS_POSIX_ACL is not set |
671 | CONFIG_FILE_LOCKING=y | ||
666 | # CONFIG_XFS_FS is not set | 672 | # CONFIG_XFS_FS is not set |
667 | # CONFIG_OCFS2_FS is not set | 673 | # CONFIG_OCFS2_FS is not set |
668 | CONFIG_DNOTIFY=y | 674 | CONFIG_DNOTIFY=y |
@@ -692,6 +698,7 @@ CONFIG_INOTIFY_USER=y | |||
692 | CONFIG_PROC_FS=y | 698 | CONFIG_PROC_FS=y |
693 | CONFIG_PROC_KCORE=y | 699 | CONFIG_PROC_KCORE=y |
694 | CONFIG_PROC_SYSCTL=y | 700 | CONFIG_PROC_SYSCTL=y |
701 | CONFIG_PROC_PAGE_MONITOR=y | ||
695 | CONFIG_SYSFS=y | 702 | CONFIG_SYSFS=y |
696 | CONFIG_TMPFS=y | 703 | CONFIG_TMPFS=y |
697 | # CONFIG_TMPFS_POSIX_ACL is not set | 704 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -729,6 +736,7 @@ CONFIG_LOCKD=y | |||
729 | CONFIG_LOCKD_V4=y | 736 | CONFIG_LOCKD_V4=y |
730 | CONFIG_NFS_COMMON=y | 737 | CONFIG_NFS_COMMON=y |
731 | CONFIG_SUNRPC=y | 738 | CONFIG_SUNRPC=y |
739 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
732 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 740 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
733 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 741 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
734 | # CONFIG_SMB_FS is not set | 742 | # CONFIG_SMB_FS is not set |
@@ -749,7 +757,6 @@ CONFIG_MSDOS_PARTITION=y | |||
749 | # Library routines | 757 | # Library routines |
750 | # | 758 | # |
751 | CONFIG_BITREVERSE=y | 759 | CONFIG_BITREVERSE=y |
752 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
753 | # CONFIG_CRC_CCITT is not set | 760 | # CONFIG_CRC_CCITT is not set |
754 | # CONFIG_CRC16 is not set | 761 | # CONFIG_CRC16 is not set |
755 | # CONFIG_CRC_T10DIF is not set | 762 | # CONFIG_CRC_T10DIF is not set |
@@ -802,14 +809,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
802 | # CONFIG_DEBUG_SG is not set | 809 | # CONFIG_DEBUG_SG is not set |
803 | # CONFIG_BOOT_PRINTK_DELAY is not set | 810 | # CONFIG_BOOT_PRINTK_DELAY is not set |
804 | # CONFIG_RCU_TORTURE_TEST is not set | 811 | # CONFIG_RCU_TORTURE_TEST is not set |
812 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
805 | # CONFIG_BACKTRACE_SELF_TEST is not set | 813 | # CONFIG_BACKTRACE_SELF_TEST is not set |
814 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
806 | # CONFIG_FAULT_INJECTION is not set | 815 | # CONFIG_FAULT_INJECTION is not set |
807 | # CONFIG_LATENCYTOP is not set | 816 | # CONFIG_LATENCYTOP is not set |
817 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
818 | CONFIG_NOP_TRACER=y | ||
808 | CONFIG_HAVE_FTRACE=y | 819 | CONFIG_HAVE_FTRACE=y |
809 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 820 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
810 | # CONFIG_FTRACE is not set | 821 | # CONFIG_FTRACE is not set |
811 | # CONFIG_SCHED_TRACER is not set | 822 | # CONFIG_SCHED_TRACER is not set |
812 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 823 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
824 | # CONFIG_BOOT_TRACER is not set | ||
825 | # CONFIG_STACK_TRACER is not set | ||
826 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
813 | # CONFIG_SAMPLES is not set | 827 | # CONFIG_SAMPLES is not set |
814 | CONFIG_HAVE_ARCH_KGDB=y | 828 | CONFIG_HAVE_ARCH_KGDB=y |
815 | # CONFIG_KGDB is not set | 829 | # CONFIG_KGDB is not set |
@@ -818,6 +832,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
818 | # CONFIG_DEBUG_PAGEALLOC is not set | 832 | # CONFIG_DEBUG_PAGEALLOC is not set |
819 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 833 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
820 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 834 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
835 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
821 | # CONFIG_XMON is not set | 836 | # CONFIG_XMON is not set |
822 | # CONFIG_IRQSTACKS is not set | 837 | # CONFIG_IRQSTACKS is not set |
823 | # CONFIG_VIRQ_DEBUG is not set | 838 | # CONFIG_VIRQ_DEBUG is not set |
@@ -829,14 +844,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
829 | # | 844 | # |
830 | # CONFIG_KEYS is not set | 845 | # CONFIG_KEYS is not set |
831 | # CONFIG_SECURITY is not set | 846 | # CONFIG_SECURITY is not set |
847 | # CONFIG_SECURITYFS is not set | ||
832 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 848 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
833 | CONFIG_CRYPTO=y | 849 | CONFIG_CRYPTO=y |
834 | 850 | ||
835 | # | 851 | # |
836 | # Crypto core or helper | 852 | # Crypto core or helper |
837 | # | 853 | # |
854 | # CONFIG_CRYPTO_FIPS is not set | ||
838 | CONFIG_CRYPTO_ALGAPI=y | 855 | CONFIG_CRYPTO_ALGAPI=y |
856 | CONFIG_CRYPTO_AEAD=y | ||
839 | CONFIG_CRYPTO_BLKCIPHER=y | 857 | CONFIG_CRYPTO_BLKCIPHER=y |
858 | CONFIG_CRYPTO_HASH=y | ||
859 | CONFIG_CRYPTO_RNG=y | ||
840 | CONFIG_CRYPTO_MANAGER=y | 860 | CONFIG_CRYPTO_MANAGER=y |
841 | # CONFIG_CRYPTO_GF128MUL is not set | 861 | # CONFIG_CRYPTO_GF128MUL is not set |
842 | # CONFIG_CRYPTO_NULL is not set | 862 | # CONFIG_CRYPTO_NULL is not set |
@@ -909,6 +929,11 @@ CONFIG_CRYPTO_DES=y | |||
909 | # | 929 | # |
910 | # CONFIG_CRYPTO_DEFLATE is not set | 930 | # CONFIG_CRYPTO_DEFLATE is not set |
911 | # CONFIG_CRYPTO_LZO is not set | 931 | # CONFIG_CRYPTO_LZO is not set |
932 | |||
933 | # | ||
934 | # Random Number Generation | ||
935 | # | ||
936 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
912 | CONFIG_CRYPTO_HW=y | 937 | CONFIG_CRYPTO_HW=y |
913 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 938 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
914 | # CONFIG_PPC_CLOCK is not set | 939 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig index aee79338f41f..5820e0a4fc55 100644 --- a/arch/powerpc/configs/40x/walnut_defconfig +++ b/arch/powerpc/configs/40x/walnut_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 19:40:56 2008 | 4 | # Tue Oct 28 08:49:27 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,14 +19,13 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
30 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
31 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
32 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
93 | CONFIG_KALLSYMS_ALL=y | 91 | CONFIG_KALLSYMS_ALL=y |
94 | CONFIG_KALLSYMS_EXTRA_PASS=y | 92 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
158 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 155 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
159 | 156 | ||
160 | # | 157 | # |
@@ -163,11 +160,15 @@ CONFIG_CLASSIC_RCU=y | |||
163 | # CONFIG_PPC_CELL is not set | 160 | # CONFIG_PPC_CELL is not set |
164 | # CONFIG_PPC_CELL_NATIVE is not set | 161 | # CONFIG_PPC_CELL_NATIVE is not set |
165 | # CONFIG_PQ2ADS is not set | 162 | # CONFIG_PQ2ADS is not set |
163 | # CONFIG_PPC4xx_GPIO is not set | ||
164 | # CONFIG_ACADIA is not set | ||
166 | # CONFIG_EP405 is not set | 165 | # CONFIG_EP405 is not set |
166 | # CONFIG_HCU4 is not set | ||
167 | # CONFIG_KILAUEA is not set | 167 | # CONFIG_KILAUEA is not set |
168 | # CONFIG_MAKALU is not set | 168 | # CONFIG_MAKALU is not set |
169 | CONFIG_WALNUT=y | 169 | CONFIG_WALNUT=y |
170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | 170 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set |
171 | # CONFIG_PPC40x_SIMPLE is not set | ||
171 | CONFIG_405GP=y | 172 | CONFIG_405GP=y |
172 | CONFIG_IBM405_ERR77=y | 173 | CONFIG_IBM405_ERR77=y |
173 | CONFIG_IBM405_ERR51=y | 174 | CONFIG_IBM405_ERR51=y |
@@ -189,7 +190,6 @@ CONFIG_OF_RTC=y | |||
189 | # Kernel options | 190 | # Kernel options |
190 | # | 191 | # |
191 | # CONFIG_HIGHMEM is not set | 192 | # CONFIG_HIGHMEM is not set |
192 | # CONFIG_TICK_ONESHOT is not set | ||
193 | # CONFIG_NO_HZ is not set | 193 | # CONFIG_NO_HZ is not set |
194 | # CONFIG_HIGH_RES_TIMERS is not set | 194 | # CONFIG_HIGH_RES_TIMERS is not set |
195 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 195 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -203,6 +203,8 @@ CONFIG_PREEMPT_NONE=y | |||
203 | # CONFIG_PREEMPT_VOLUNTARY is not set | 203 | # CONFIG_PREEMPT_VOLUNTARY is not set |
204 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
205 | CONFIG_BINFMT_ELF=y | 205 | CONFIG_BINFMT_ELF=y |
206 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
207 | # CONFIG_HAVE_AOUT is not set | ||
206 | # CONFIG_BINFMT_MISC is not set | 208 | # CONFIG_BINFMT_MISC is not set |
207 | # CONFIG_MATH_EMULATION is not set | 209 | # CONFIG_MATH_EMULATION is not set |
208 | # CONFIG_IOMMU_HELPER is not set | 210 | # CONFIG_IOMMU_HELPER is not set |
@@ -217,15 +219,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
217 | # CONFIG_SPARSEMEM_MANUAL is not set | 219 | # CONFIG_SPARSEMEM_MANUAL is not set |
218 | CONFIG_FLATMEM=y | 220 | CONFIG_FLATMEM=y |
219 | CONFIG_FLAT_NODE_MEM_MAP=y | 221 | CONFIG_FLAT_NODE_MEM_MAP=y |
220 | # CONFIG_SPARSEMEM_STATIC is not set | ||
221 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
222 | CONFIG_PAGEFLAGS_EXTENDED=y | 222 | CONFIG_PAGEFLAGS_EXTENDED=y |
223 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 223 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
224 | CONFIG_MIGRATION=y | 224 | CONFIG_MIGRATION=y |
225 | CONFIG_RESOURCES_64BIT=y | 225 | CONFIG_RESOURCES_64BIT=y |
226 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
226 | CONFIG_ZONE_DMA_FLAG=1 | 227 | CONFIG_ZONE_DMA_FLAG=1 |
227 | CONFIG_BOUNCE=y | 228 | CONFIG_BOUNCE=y |
228 | CONFIG_VIRT_TO_BUS=y | 229 | CONFIG_VIRT_TO_BUS=y |
230 | CONFIG_UNEVICTABLE_LRU=y | ||
229 | CONFIG_FORCE_MAX_ZONEORDER=11 | 231 | CONFIG_FORCE_MAX_ZONEORDER=11 |
230 | CONFIG_PROC_DEVICETREE=y | 232 | CONFIG_PROC_DEVICETREE=y |
231 | # CONFIG_CMDLINE_BOOL is not set | 233 | # CONFIG_CMDLINE_BOOL is not set |
@@ -312,6 +314,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
312 | # CONFIG_TIPC is not set | 314 | # CONFIG_TIPC is not set |
313 | # CONFIG_ATM is not set | 315 | # CONFIG_ATM is not set |
314 | # CONFIG_BRIDGE is not set | 316 | # CONFIG_BRIDGE is not set |
317 | # CONFIG_NET_DSA is not set | ||
315 | # CONFIG_VLAN_8021Q is not set | 318 | # CONFIG_VLAN_8021Q is not set |
316 | # CONFIG_DECNET is not set | 319 | # CONFIG_DECNET is not set |
317 | # CONFIG_LLC2 is not set | 320 | # CONFIG_LLC2 is not set |
@@ -332,14 +335,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
332 | # CONFIG_IRDA is not set | 335 | # CONFIG_IRDA is not set |
333 | # CONFIG_BT is not set | 336 | # CONFIG_BT is not set |
334 | # CONFIG_AF_RXRPC is not set | 337 | # CONFIG_AF_RXRPC is not set |
335 | 338 | # CONFIG_PHONET is not set | |
336 | # | 339 | # CONFIG_WIRELESS is not set |
337 | # Wireless | ||
338 | # | ||
339 | # CONFIG_CFG80211 is not set | ||
340 | # CONFIG_WIRELESS_EXT is not set | ||
341 | # CONFIG_MAC80211 is not set | ||
342 | # CONFIG_IEEE80211 is not set | ||
343 | # CONFIG_RFKILL is not set | 340 | # CONFIG_RFKILL is not set |
344 | # CONFIG_NET_9P is not set | 341 | # CONFIG_NET_9P is not set |
345 | 342 | ||
@@ -520,8 +517,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
520 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 517 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
521 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 518 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
522 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 519 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
520 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
521 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
522 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
523 | # CONFIG_NET_PCI is not set | 523 | # CONFIG_NET_PCI is not set |
524 | # CONFIG_B44 is not set | 524 | # CONFIG_B44 is not set |
525 | # CONFIG_ATL2 is not set | ||
525 | CONFIG_NETDEV_1000=y | 526 | CONFIG_NETDEV_1000=y |
526 | # CONFIG_ACENIC is not set | 527 | # CONFIG_ACENIC is not set |
527 | # CONFIG_DL2K is not set | 528 | # CONFIG_DL2K is not set |
@@ -542,18 +543,22 @@ CONFIG_NETDEV_1000=y | |||
542 | # CONFIG_QLA3XXX is not set | 543 | # CONFIG_QLA3XXX is not set |
543 | # CONFIG_ATL1 is not set | 544 | # CONFIG_ATL1 is not set |
544 | # CONFIG_ATL1E is not set | 545 | # CONFIG_ATL1E is not set |
546 | # CONFIG_JME is not set | ||
545 | CONFIG_NETDEV_10000=y | 547 | CONFIG_NETDEV_10000=y |
546 | # CONFIG_CHELSIO_T1 is not set | 548 | # CONFIG_CHELSIO_T1 is not set |
547 | # CONFIG_CHELSIO_T3 is not set | 549 | # CONFIG_CHELSIO_T3 is not set |
550 | # CONFIG_ENIC is not set | ||
548 | # CONFIG_IXGBE is not set | 551 | # CONFIG_IXGBE is not set |
549 | # CONFIG_IXGB is not set | 552 | # CONFIG_IXGB is not set |
550 | # CONFIG_S2IO is not set | 553 | # CONFIG_S2IO is not set |
551 | # CONFIG_MYRI10GE is not set | 554 | # CONFIG_MYRI10GE is not set |
552 | # CONFIG_NETXEN_NIC is not set | 555 | # CONFIG_NETXEN_NIC is not set |
553 | # CONFIG_NIU is not set | 556 | # CONFIG_NIU is not set |
557 | # CONFIG_MLX4_EN is not set | ||
554 | # CONFIG_MLX4_CORE is not set | 558 | # CONFIG_MLX4_CORE is not set |
555 | # CONFIG_TEHUTI is not set | 559 | # CONFIG_TEHUTI is not set |
556 | # CONFIG_BNX2X is not set | 560 | # CONFIG_BNX2X is not set |
561 | # CONFIG_QLGE is not set | ||
557 | # CONFIG_SFC is not set | 562 | # CONFIG_SFC is not set |
558 | # CONFIG_TR is not set | 563 | # CONFIG_TR is not set |
559 | 564 | ||
@@ -649,6 +654,8 @@ CONFIG_SSB_POSSIBLE=y | |||
649 | # CONFIG_MFD_CORE is not set | 654 | # CONFIG_MFD_CORE is not set |
650 | # CONFIG_MFD_SM501 is not set | 655 | # CONFIG_MFD_SM501 is not set |
651 | # CONFIG_HTC_PASIC3 is not set | 656 | # CONFIG_HTC_PASIC3 is not set |
657 | # CONFIG_MFD_TMIO is not set | ||
658 | # CONFIG_MFD_WM8400 is not set | ||
652 | 659 | ||
653 | # | 660 | # |
654 | # Multimedia devices | 661 | # Multimedia devices |
@@ -690,9 +697,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
690 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 697 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
691 | 698 | ||
692 | # | 699 | # |
700 | # Enable Host or Gadget support to see Inventra options | ||
701 | # | ||
702 | |||
703 | # | ||
693 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 704 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
694 | # | 705 | # |
695 | # CONFIG_USB_GADGET is not set | 706 | # CONFIG_USB_GADGET is not set |
707 | # CONFIG_UWB is not set | ||
696 | # CONFIG_MMC is not set | 708 | # CONFIG_MMC is not set |
697 | # CONFIG_MEMSTICK is not set | 709 | # CONFIG_MEMSTICK is not set |
698 | # CONFIG_NEW_LEDS is not set | 710 | # CONFIG_NEW_LEDS is not set |
@@ -702,6 +714,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
702 | # CONFIG_RTC_CLASS is not set | 714 | # CONFIG_RTC_CLASS is not set |
703 | # CONFIG_DMADEVICES is not set | 715 | # CONFIG_DMADEVICES is not set |
704 | # CONFIG_UIO is not set | 716 | # CONFIG_UIO is not set |
717 | # CONFIG_STAGING is not set | ||
705 | 718 | ||
706 | # | 719 | # |
707 | # File systems | 720 | # File systems |
@@ -710,10 +723,11 @@ CONFIG_EXT2_FS=y | |||
710 | # CONFIG_EXT2_FS_XATTR is not set | 723 | # CONFIG_EXT2_FS_XATTR is not set |
711 | # CONFIG_EXT2_FS_XIP is not set | 724 | # CONFIG_EXT2_FS_XIP is not set |
712 | # CONFIG_EXT3_FS is not set | 725 | # CONFIG_EXT3_FS is not set |
713 | # CONFIG_EXT4DEV_FS is not set | 726 | # CONFIG_EXT4_FS is not set |
714 | # CONFIG_REISERFS_FS is not set | 727 | # CONFIG_REISERFS_FS is not set |
715 | # CONFIG_JFS_FS is not set | 728 | # CONFIG_JFS_FS is not set |
716 | # CONFIG_FS_POSIX_ACL is not set | 729 | # CONFIG_FS_POSIX_ACL is not set |
730 | CONFIG_FILE_LOCKING=y | ||
717 | # CONFIG_XFS_FS is not set | 731 | # CONFIG_XFS_FS is not set |
718 | # CONFIG_OCFS2_FS is not set | 732 | # CONFIG_OCFS2_FS is not set |
719 | CONFIG_DNOTIFY=y | 733 | CONFIG_DNOTIFY=y |
@@ -743,6 +757,7 @@ CONFIG_INOTIFY_USER=y | |||
743 | CONFIG_PROC_FS=y | 757 | CONFIG_PROC_FS=y |
744 | CONFIG_PROC_KCORE=y | 758 | CONFIG_PROC_KCORE=y |
745 | CONFIG_PROC_SYSCTL=y | 759 | CONFIG_PROC_SYSCTL=y |
760 | CONFIG_PROC_PAGE_MONITOR=y | ||
746 | CONFIG_SYSFS=y | 761 | CONFIG_SYSFS=y |
747 | CONFIG_TMPFS=y | 762 | CONFIG_TMPFS=y |
748 | # CONFIG_TMPFS_POSIX_ACL is not set | 763 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -780,6 +795,7 @@ CONFIG_LOCKD=y | |||
780 | CONFIG_LOCKD_V4=y | 795 | CONFIG_LOCKD_V4=y |
781 | CONFIG_NFS_COMMON=y | 796 | CONFIG_NFS_COMMON=y |
782 | CONFIG_SUNRPC=y | 797 | CONFIG_SUNRPC=y |
798 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
783 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 799 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
784 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 800 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
785 | # CONFIG_SMB_FS is not set | 801 | # CONFIG_SMB_FS is not set |
@@ -800,7 +816,6 @@ CONFIG_MSDOS_PARTITION=y | |||
800 | # Library routines | 816 | # Library routines |
801 | # | 817 | # |
802 | CONFIG_BITREVERSE=y | 818 | CONFIG_BITREVERSE=y |
803 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
804 | # CONFIG_CRC_CCITT is not set | 819 | # CONFIG_CRC_CCITT is not set |
805 | # CONFIG_CRC16 is not set | 820 | # CONFIG_CRC16 is not set |
806 | # CONFIG_CRC_T10DIF is not set | 821 | # CONFIG_CRC_T10DIF is not set |
@@ -853,14 +868,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
853 | # CONFIG_DEBUG_SG is not set | 868 | # CONFIG_DEBUG_SG is not set |
854 | # CONFIG_BOOT_PRINTK_DELAY is not set | 869 | # CONFIG_BOOT_PRINTK_DELAY is not set |
855 | # CONFIG_RCU_TORTURE_TEST is not set | 870 | # CONFIG_RCU_TORTURE_TEST is not set |
871 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
856 | # CONFIG_BACKTRACE_SELF_TEST is not set | 872 | # CONFIG_BACKTRACE_SELF_TEST is not set |
873 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
857 | # CONFIG_FAULT_INJECTION is not set | 874 | # CONFIG_FAULT_INJECTION is not set |
858 | # CONFIG_LATENCYTOP is not set | 875 | # CONFIG_LATENCYTOP is not set |
876 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
877 | CONFIG_NOP_TRACER=y | ||
859 | CONFIG_HAVE_FTRACE=y | 878 | CONFIG_HAVE_FTRACE=y |
860 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 879 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
861 | # CONFIG_FTRACE is not set | 880 | # CONFIG_FTRACE is not set |
862 | # CONFIG_SCHED_TRACER is not set | 881 | # CONFIG_SCHED_TRACER is not set |
863 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 882 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
883 | # CONFIG_BOOT_TRACER is not set | ||
884 | # CONFIG_STACK_TRACER is not set | ||
885 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
864 | # CONFIG_SAMPLES is not set | 886 | # CONFIG_SAMPLES is not set |
865 | CONFIG_HAVE_ARCH_KGDB=y | 887 | CONFIG_HAVE_ARCH_KGDB=y |
866 | # CONFIG_KGDB is not set | 888 | # CONFIG_KGDB is not set |
@@ -869,6 +891,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
869 | # CONFIG_DEBUG_PAGEALLOC is not set | 891 | # CONFIG_DEBUG_PAGEALLOC is not set |
870 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 892 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
871 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 893 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
894 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
872 | # CONFIG_XMON is not set | 895 | # CONFIG_XMON is not set |
873 | # CONFIG_IRQSTACKS is not set | 896 | # CONFIG_IRQSTACKS is not set |
874 | # CONFIG_VIRQ_DEBUG is not set | 897 | # CONFIG_VIRQ_DEBUG is not set |
@@ -880,14 +903,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
880 | # | 903 | # |
881 | # CONFIG_KEYS is not set | 904 | # CONFIG_KEYS is not set |
882 | # CONFIG_SECURITY is not set | 905 | # CONFIG_SECURITY is not set |
906 | # CONFIG_SECURITYFS is not set | ||
883 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 907 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
884 | CONFIG_CRYPTO=y | 908 | CONFIG_CRYPTO=y |
885 | 909 | ||
886 | # | 910 | # |
887 | # Crypto core or helper | 911 | # Crypto core or helper |
888 | # | 912 | # |
913 | # CONFIG_CRYPTO_FIPS is not set | ||
889 | CONFIG_CRYPTO_ALGAPI=y | 914 | CONFIG_CRYPTO_ALGAPI=y |
915 | CONFIG_CRYPTO_AEAD=y | ||
890 | CONFIG_CRYPTO_BLKCIPHER=y | 916 | CONFIG_CRYPTO_BLKCIPHER=y |
917 | CONFIG_CRYPTO_HASH=y | ||
918 | CONFIG_CRYPTO_RNG=y | ||
891 | CONFIG_CRYPTO_MANAGER=y | 919 | CONFIG_CRYPTO_MANAGER=y |
892 | # CONFIG_CRYPTO_GF128MUL is not set | 920 | # CONFIG_CRYPTO_GF128MUL is not set |
893 | # CONFIG_CRYPTO_NULL is not set | 921 | # CONFIG_CRYPTO_NULL is not set |
@@ -960,6 +988,11 @@ CONFIG_CRYPTO_DES=y | |||
960 | # | 988 | # |
961 | # CONFIG_CRYPTO_DEFLATE is not set | 989 | # CONFIG_CRYPTO_DEFLATE is not set |
962 | # CONFIG_CRYPTO_LZO is not set | 990 | # CONFIG_CRYPTO_LZO is not set |
991 | |||
992 | # | ||
993 | # Random Number Generation | ||
994 | # | ||
995 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
963 | CONFIG_CRYPTO_HW=y | 996 | CONFIG_CRYPTO_HW=y |
964 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 997 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
965 | # CONFIG_PPC_CLOCK is not set | 998 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig index 70f46078eb6a..082158d591c5 100644 --- a/arch/powerpc/configs/44x/arches_defconfig +++ b/arch/powerpc/configs/44x/arches_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc5 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Wed Oct 1 15:54:57 2008 | 4 | # Tue Oct 28 09:16:04 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,7 +23,7 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
@@ -103,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
103 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
104 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
105 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
106 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
107 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
108 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
109 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -117,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
120 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
121 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
122 | # CONFIG_HAVE_CLK is not set | ||
123 | CONFIG_PROC_PAGE_MONITOR=y | ||
124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
125 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
126 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -153,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
153 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
154 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
155 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
156 | CONFIG_PPC4xx_PCI_EXPRESS=y | 155 | CONFIG_PPC4xx_PCI_EXPRESS=y |
157 | 156 | ||
158 | # | 157 | # |
@@ -175,6 +174,7 @@ CONFIG_ARCHES=y | |||
175 | # CONFIG_YOSEMITE is not set | 174 | # CONFIG_YOSEMITE is not set |
176 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 175 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
177 | CONFIG_PPC44x_SIMPLE=y | 176 | CONFIG_PPC44x_SIMPLE=y |
177 | # CONFIG_PPC4xx_GPIO is not set | ||
178 | CONFIG_460EX=y | 178 | CONFIG_460EX=y |
179 | # CONFIG_IPIC is not set | 179 | # CONFIG_IPIC is not set |
180 | # CONFIG_MPIC is not set | 180 | # CONFIG_MPIC is not set |
@@ -207,6 +207,8 @@ CONFIG_PREEMPT_NONE=y | |||
207 | # CONFIG_PREEMPT_VOLUNTARY is not set | 207 | # CONFIG_PREEMPT_VOLUNTARY is not set |
208 | # CONFIG_PREEMPT is not set | 208 | # CONFIG_PREEMPT is not set |
209 | CONFIG_BINFMT_ELF=y | 209 | CONFIG_BINFMT_ELF=y |
210 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
211 | # CONFIG_HAVE_AOUT is not set | ||
210 | # CONFIG_BINFMT_MISC is not set | 212 | # CONFIG_BINFMT_MISC is not set |
211 | # CONFIG_MATH_EMULATION is not set | 213 | # CONFIG_MATH_EMULATION is not set |
212 | # CONFIG_IOMMU_HELPER is not set | 214 | # CONFIG_IOMMU_HELPER is not set |
@@ -221,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
221 | # CONFIG_SPARSEMEM_MANUAL is not set | 223 | # CONFIG_SPARSEMEM_MANUAL is not set |
222 | CONFIG_FLATMEM=y | 224 | CONFIG_FLATMEM=y |
223 | CONFIG_FLAT_NODE_MEM_MAP=y | 225 | CONFIG_FLAT_NODE_MEM_MAP=y |
224 | # CONFIG_SPARSEMEM_STATIC is not set | ||
225 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
226 | CONFIG_PAGEFLAGS_EXTENDED=y | 226 | CONFIG_PAGEFLAGS_EXTENDED=y |
227 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 227 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
228 | CONFIG_MIGRATION=y | 228 | CONFIG_MIGRATION=y |
229 | CONFIG_RESOURCES_64BIT=y | 229 | CONFIG_RESOURCES_64BIT=y |
230 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
230 | CONFIG_ZONE_DMA_FLAG=1 | 231 | CONFIG_ZONE_DMA_FLAG=1 |
231 | CONFIG_BOUNCE=y | 232 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 233 | CONFIG_VIRT_TO_BUS=y |
234 | CONFIG_UNEVICTABLE_LRU=y | ||
233 | CONFIG_FORCE_MAX_ZONEORDER=11 | 235 | CONFIG_FORCE_MAX_ZONEORDER=11 |
234 | CONFIG_PROC_DEVICETREE=y | 236 | CONFIG_PROC_DEVICETREE=y |
235 | CONFIG_CMDLINE_BOOL=y | 237 | CONFIG_CMDLINE_BOOL=y |
@@ -316,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
316 | # CONFIG_TIPC is not set | 318 | # CONFIG_TIPC is not set |
317 | # CONFIG_ATM is not set | 319 | # CONFIG_ATM is not set |
318 | # CONFIG_BRIDGE is not set | 320 | # CONFIG_BRIDGE is not set |
321 | # CONFIG_NET_DSA is not set | ||
319 | # CONFIG_VLAN_8021Q is not set | 322 | # CONFIG_VLAN_8021Q is not set |
320 | # CONFIG_DECNET is not set | 323 | # CONFIG_DECNET is not set |
321 | # CONFIG_LLC2 is not set | 324 | # CONFIG_LLC2 is not set |
@@ -336,14 +339,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
336 | # CONFIG_IRDA is not set | 339 | # CONFIG_IRDA is not set |
337 | # CONFIG_BT is not set | 340 | # CONFIG_BT is not set |
338 | # CONFIG_AF_RXRPC is not set | 341 | # CONFIG_AF_RXRPC is not set |
339 | 342 | # CONFIG_PHONET is not set | |
340 | # | 343 | # CONFIG_WIRELESS is not set |
341 | # Wireless | ||
342 | # | ||
343 | # CONFIG_CFG80211 is not set | ||
344 | # CONFIG_WIRELESS_EXT is not set | ||
345 | # CONFIG_MAC80211 is not set | ||
346 | # CONFIG_IEEE80211 is not set | ||
347 | # CONFIG_RFKILL is not set | 344 | # CONFIG_RFKILL is not set |
348 | # CONFIG_NET_9P is not set | 345 | # CONFIG_NET_9P is not set |
349 | 346 | ||
@@ -440,8 +437,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | |||
440 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 437 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
441 | CONFIG_IBM_NEW_EMAC_TAH=y | 438 | CONFIG_IBM_NEW_EMAC_TAH=y |
442 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 439 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
440 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
441 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
442 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
443 | # CONFIG_NET_PCI is not set | 443 | # CONFIG_NET_PCI is not set |
444 | # CONFIG_B44 is not set | 444 | # CONFIG_B44 is not set |
445 | # CONFIG_ATL2 is not set | ||
445 | # CONFIG_NETDEV_1000 is not set | 446 | # CONFIG_NETDEV_1000 is not set |
446 | # CONFIG_NETDEV_10000 is not set | 447 | # CONFIG_NETDEV_10000 is not set |
447 | # CONFIG_TR is not set | 448 | # CONFIG_TR is not set |
@@ -540,6 +541,7 @@ CONFIG_SSB_POSSIBLE=y | |||
540 | # CONFIG_MFD_SM501 is not set | 541 | # CONFIG_MFD_SM501 is not set |
541 | # CONFIG_HTC_PASIC3 is not set | 542 | # CONFIG_HTC_PASIC3 is not set |
542 | # CONFIG_MFD_TMIO is not set | 543 | # CONFIG_MFD_TMIO is not set |
544 | # CONFIG_MFD_WM8400 is not set | ||
543 | 545 | ||
544 | # | 546 | # |
545 | # Multimedia devices | 547 | # Multimedia devices |
@@ -573,6 +575,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
573 | # CONFIG_DISPLAY_SUPPORT is not set | 575 | # CONFIG_DISPLAY_SUPPORT is not set |
574 | # CONFIG_SOUND is not set | 576 | # CONFIG_SOUND is not set |
575 | # CONFIG_USB_SUPPORT is not set | 577 | # CONFIG_USB_SUPPORT is not set |
578 | # CONFIG_UWB is not set | ||
576 | # CONFIG_MMC is not set | 579 | # CONFIG_MMC is not set |
577 | # CONFIG_MEMSTICK is not set | 580 | # CONFIG_MEMSTICK is not set |
578 | # CONFIG_NEW_LEDS is not set | 581 | # CONFIG_NEW_LEDS is not set |
@@ -582,6 +585,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
582 | # CONFIG_RTC_CLASS is not set | 585 | # CONFIG_RTC_CLASS is not set |
583 | # CONFIG_DMADEVICES is not set | 586 | # CONFIG_DMADEVICES is not set |
584 | # CONFIG_UIO is not set | 587 | # CONFIG_UIO is not set |
588 | # CONFIG_STAGING is not set | ||
585 | 589 | ||
586 | # | 590 | # |
587 | # File systems | 591 | # File systems |
@@ -590,10 +594,11 @@ CONFIG_EXT2_FS=y | |||
590 | # CONFIG_EXT2_FS_XATTR is not set | 594 | # CONFIG_EXT2_FS_XATTR is not set |
591 | # CONFIG_EXT2_FS_XIP is not set | 595 | # CONFIG_EXT2_FS_XIP is not set |
592 | # CONFIG_EXT3_FS is not set | 596 | # CONFIG_EXT3_FS is not set |
593 | # CONFIG_EXT4DEV_FS is not set | 597 | # CONFIG_EXT4_FS is not set |
594 | # CONFIG_REISERFS_FS is not set | 598 | # CONFIG_REISERFS_FS is not set |
595 | # CONFIG_JFS_FS is not set | 599 | # CONFIG_JFS_FS is not set |
596 | # CONFIG_FS_POSIX_ACL is not set | 600 | # CONFIG_FS_POSIX_ACL is not set |
601 | CONFIG_FILE_LOCKING=y | ||
597 | # CONFIG_XFS_FS is not set | 602 | # CONFIG_XFS_FS is not set |
598 | # CONFIG_OCFS2_FS is not set | 603 | # CONFIG_OCFS2_FS is not set |
599 | CONFIG_DNOTIFY=y | 604 | CONFIG_DNOTIFY=y |
@@ -623,6 +628,7 @@ CONFIG_INOTIFY_USER=y | |||
623 | CONFIG_PROC_FS=y | 628 | CONFIG_PROC_FS=y |
624 | CONFIG_PROC_KCORE=y | 629 | CONFIG_PROC_KCORE=y |
625 | CONFIG_PROC_SYSCTL=y | 630 | CONFIG_PROC_SYSCTL=y |
631 | CONFIG_PROC_PAGE_MONITOR=y | ||
626 | CONFIG_SYSFS=y | 632 | CONFIG_SYSFS=y |
627 | CONFIG_TMPFS=y | 633 | CONFIG_TMPFS=y |
628 | # CONFIG_TMPFS_POSIX_ACL is not set | 634 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -659,6 +665,7 @@ CONFIG_LOCKD=y | |||
659 | CONFIG_LOCKD_V4=y | 665 | CONFIG_LOCKD_V4=y |
660 | CONFIG_NFS_COMMON=y | 666 | CONFIG_NFS_COMMON=y |
661 | CONFIG_SUNRPC=y | 667 | CONFIG_SUNRPC=y |
668 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
662 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 669 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
663 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 670 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
664 | # CONFIG_SMB_FS is not set | 671 | # CONFIG_SMB_FS is not set |
@@ -679,7 +686,6 @@ CONFIG_MSDOS_PARTITION=y | |||
679 | # Library routines | 686 | # Library routines |
680 | # | 687 | # |
681 | CONFIG_BITREVERSE=y | 688 | CONFIG_BITREVERSE=y |
682 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
683 | # CONFIG_CRC_CCITT is not set | 689 | # CONFIG_CRC_CCITT is not set |
684 | # CONFIG_CRC16 is not set | 690 | # CONFIG_CRC16 is not set |
685 | # CONFIG_CRC_T10DIF is not set | 691 | # CONFIG_CRC_T10DIF is not set |
@@ -732,15 +738,21 @@ CONFIG_SCHED_DEBUG=y | |||
732 | # CONFIG_DEBUG_SG is not set | 738 | # CONFIG_DEBUG_SG is not set |
733 | # CONFIG_BOOT_PRINTK_DELAY is not set | 739 | # CONFIG_BOOT_PRINTK_DELAY is not set |
734 | # CONFIG_RCU_TORTURE_TEST is not set | 740 | # CONFIG_RCU_TORTURE_TEST is not set |
741 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
735 | # CONFIG_BACKTRACE_SELF_TEST is not set | 742 | # CONFIG_BACKTRACE_SELF_TEST is not set |
743 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
736 | # CONFIG_FAULT_INJECTION is not set | 744 | # CONFIG_FAULT_INJECTION is not set |
737 | # CONFIG_LATENCYTOP is not set | 745 | # CONFIG_LATENCYTOP is not set |
738 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 746 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
747 | CONFIG_NOP_TRACER=y | ||
739 | CONFIG_HAVE_FTRACE=y | 748 | CONFIG_HAVE_FTRACE=y |
740 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 749 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
741 | # CONFIG_FTRACE is not set | 750 | # CONFIG_FTRACE is not set |
742 | # CONFIG_SCHED_TRACER is not set | 751 | # CONFIG_SCHED_TRACER is not set |
743 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 752 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
753 | # CONFIG_BOOT_TRACER is not set | ||
754 | # CONFIG_STACK_TRACER is not set | ||
755 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
744 | # CONFIG_SAMPLES is not set | 756 | # CONFIG_SAMPLES is not set |
745 | CONFIG_HAVE_ARCH_KGDB=y | 757 | CONFIG_HAVE_ARCH_KGDB=y |
746 | # CONFIG_KGDB is not set | 758 | # CONFIG_KGDB is not set |
@@ -761,6 +773,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
761 | # | 773 | # |
762 | # CONFIG_KEYS is not set | 774 | # CONFIG_KEYS is not set |
763 | # CONFIG_SECURITY is not set | 775 | # CONFIG_SECURITY is not set |
776 | # CONFIG_SECURITYFS is not set | ||
764 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 777 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
765 | # CONFIG_CRYPTO is not set | 778 | # CONFIG_CRYPTO is not set |
766 | # CONFIG_PPC_CLOCK is not set | 779 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig index e920693535af..f47c2f3420f6 100644 --- a/arch/powerpc/configs/44x/bamboo_defconfig +++ b/arch/powerpc/configs/44x/bamboo_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 08:43:44 2008 | 4 | # Tue Oct 28 09:16:06 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
92 | CONFIG_SYSCTL=y | 91 | CONFIG_SYSCTL=y |
93 | CONFIG_EMBEDDED=y | 92 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 93 | CONFIG_SYSCTL_SYSCALL=y |
95 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
96 | CONFIG_KALLSYMS=y | 94 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 95 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y | |||
109 | CONFIG_TIMERFD=y | 107 | CONFIG_TIMERFD=y |
110 | CONFIG_EVENTFD=y | 108 | CONFIG_EVENTFD=y |
111 | CONFIG_SHMEM=y | 109 | CONFIG_SHMEM=y |
110 | CONFIG_AIO=y | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 111 | CONFIG_VM_EVENT_COUNTERS=y |
112 | CONFIG_PCI_QUIRKS=y | ||
113 | CONFIG_SLUB_DEBUG=y | 113 | CONFIG_SLUB_DEBUG=y |
114 | # CONFIG_SLAB is not set | 114 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 115 | CONFIG_SLUB=y |
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
123 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
127 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
128 | # CONFIG_HAVE_CLK is not set | ||
129 | CONFIG_PROC_PAGE_MONITOR=y | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 127 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 128 | CONFIG_RT_MUTEXES=y |
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y | |||
159 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
161 | CONFIG_CLASSIC_RCU=y | 157 | CONFIG_CLASSIC_RCU=y |
158 | # CONFIG_FREEZER is not set | ||
162 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 159 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
163 | 160 | ||
164 | # | 161 | # |
@@ -175,9 +172,13 @@ CONFIG_BAMBOO=y | |||
175 | # CONFIG_KATMAI is not set | 172 | # CONFIG_KATMAI is not set |
176 | # CONFIG_RAINIER is not set | 173 | # CONFIG_RAINIER is not set |
177 | # CONFIG_WARP is not set | 174 | # CONFIG_WARP is not set |
175 | # CONFIG_ARCHES is not set | ||
178 | # CONFIG_CANYONLANDS is not set | 176 | # CONFIG_CANYONLANDS is not set |
177 | # CONFIG_GLACIER is not set | ||
179 | # CONFIG_YOSEMITE is not set | 178 | # CONFIG_YOSEMITE is not set |
180 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
180 | CONFIG_PPC44x_SIMPLE=y | ||
181 | # CONFIG_PPC4xx_GPIO is not set | ||
181 | CONFIG_440EP=y | 182 | CONFIG_440EP=y |
182 | CONFIG_IBM440EP_ERR42=y | 183 | CONFIG_IBM440EP_ERR42=y |
183 | # CONFIG_IPIC is not set | 184 | # CONFIG_IPIC is not set |
@@ -197,7 +198,6 @@ CONFIG_IBM440EP_ERR42=y | |||
197 | # Kernel options | 198 | # Kernel options |
198 | # | 199 | # |
199 | # CONFIG_HIGHMEM is not set | 200 | # CONFIG_HIGHMEM is not set |
200 | # CONFIG_TICK_ONESHOT is not set | ||
201 | # CONFIG_NO_HZ is not set | 201 | # CONFIG_NO_HZ is not set |
202 | # CONFIG_HIGH_RES_TIMERS is not set | 202 | # CONFIG_HIGH_RES_TIMERS is not set |
203 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 203 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -211,6 +211,8 @@ CONFIG_PREEMPT_NONE=y | |||
211 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
212 | # CONFIG_PREEMPT is not set | 212 | # CONFIG_PREEMPT is not set |
213 | CONFIG_BINFMT_ELF=y | 213 | CONFIG_BINFMT_ELF=y |
214 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
215 | # CONFIG_HAVE_AOUT is not set | ||
214 | # CONFIG_BINFMT_MISC is not set | 216 | # CONFIG_BINFMT_MISC is not set |
215 | # CONFIG_MATH_EMULATION is not set | 217 | # CONFIG_MATH_EMULATION is not set |
216 | # CONFIG_IOMMU_HELPER is not set | 218 | # CONFIG_IOMMU_HELPER is not set |
@@ -225,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
225 | # CONFIG_SPARSEMEM_MANUAL is not set | 227 | # CONFIG_SPARSEMEM_MANUAL is not set |
226 | CONFIG_FLATMEM=y | 228 | CONFIG_FLATMEM=y |
227 | CONFIG_FLAT_NODE_MEM_MAP=y | 229 | CONFIG_FLAT_NODE_MEM_MAP=y |
228 | # CONFIG_SPARSEMEM_STATIC is not set | ||
229 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
230 | CONFIG_PAGEFLAGS_EXTENDED=y | 230 | CONFIG_PAGEFLAGS_EXTENDED=y |
231 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 231 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
232 | CONFIG_MIGRATION=y | 232 | CONFIG_MIGRATION=y |
233 | CONFIG_RESOURCES_64BIT=y | 233 | CONFIG_RESOURCES_64BIT=y |
234 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
234 | CONFIG_ZONE_DMA_FLAG=1 | 235 | CONFIG_ZONE_DMA_FLAG=1 |
235 | CONFIG_BOUNCE=y | 236 | CONFIG_BOUNCE=y |
236 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
238 | CONFIG_UNEVICTABLE_LRU=y | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 239 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | CONFIG_PROC_DEVICETREE=y | 240 | CONFIG_PROC_DEVICETREE=y |
239 | CONFIG_CMDLINE_BOOL=y | 241 | CONFIG_CMDLINE_BOOL=y |
@@ -320,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
320 | # CONFIG_TIPC is not set | 322 | # CONFIG_TIPC is not set |
321 | # CONFIG_ATM is not set | 323 | # CONFIG_ATM is not set |
322 | # CONFIG_BRIDGE is not set | 324 | # CONFIG_BRIDGE is not set |
325 | # CONFIG_NET_DSA is not set | ||
323 | # CONFIG_VLAN_8021Q is not set | 326 | # CONFIG_VLAN_8021Q is not set |
324 | # CONFIG_DECNET is not set | 327 | # CONFIG_DECNET is not set |
325 | # CONFIG_LLC2 is not set | 328 | # CONFIG_LLC2 is not set |
@@ -340,14 +343,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
340 | # CONFIG_IRDA is not set | 343 | # CONFIG_IRDA is not set |
341 | # CONFIG_BT is not set | 344 | # CONFIG_BT is not set |
342 | # CONFIG_AF_RXRPC is not set | 345 | # CONFIG_AF_RXRPC is not set |
343 | 346 | # CONFIG_PHONET is not set | |
344 | # | 347 | # CONFIG_WIRELESS is not set |
345 | # Wireless | ||
346 | # | ||
347 | # CONFIG_CFG80211 is not set | ||
348 | # CONFIG_WIRELESS_EXT is not set | ||
349 | # CONFIG_MAC80211 is not set | ||
350 | # CONFIG_IEEE80211 is not set | ||
351 | # CONFIG_RFKILL is not set | 348 | # CONFIG_RFKILL is not set |
352 | # CONFIG_NET_9P is not set | 349 | # CONFIG_NET_9P is not set |
353 | 350 | ||
@@ -450,8 +447,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
450 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 447 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
451 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 448 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
452 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 449 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
450 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
451 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
452 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
453 | # CONFIG_NET_PCI is not set | 453 | # CONFIG_NET_PCI is not set |
454 | # CONFIG_B44 is not set | 454 | # CONFIG_B44 is not set |
455 | # CONFIG_ATL2 is not set | ||
455 | CONFIG_NETDEV_1000=y | 456 | CONFIG_NETDEV_1000=y |
456 | # CONFIG_ACENIC is not set | 457 | # CONFIG_ACENIC is not set |
457 | # CONFIG_DL2K is not set | 458 | # CONFIG_DL2K is not set |
@@ -472,18 +473,22 @@ CONFIG_NETDEV_1000=y | |||
472 | # CONFIG_QLA3XXX is not set | 473 | # CONFIG_QLA3XXX is not set |
473 | # CONFIG_ATL1 is not set | 474 | # CONFIG_ATL1 is not set |
474 | # CONFIG_ATL1E is not set | 475 | # CONFIG_ATL1E is not set |
476 | # CONFIG_JME is not set | ||
475 | CONFIG_NETDEV_10000=y | 477 | CONFIG_NETDEV_10000=y |
476 | # CONFIG_CHELSIO_T1 is not set | 478 | # CONFIG_CHELSIO_T1 is not set |
477 | # CONFIG_CHELSIO_T3 is not set | 479 | # CONFIG_CHELSIO_T3 is not set |
480 | # CONFIG_ENIC is not set | ||
478 | # CONFIG_IXGBE is not set | 481 | # CONFIG_IXGBE is not set |
479 | # CONFIG_IXGB is not set | 482 | # CONFIG_IXGB is not set |
480 | # CONFIG_S2IO is not set | 483 | # CONFIG_S2IO is not set |
481 | # CONFIG_MYRI10GE is not set | 484 | # CONFIG_MYRI10GE is not set |
482 | # CONFIG_NETXEN_NIC is not set | 485 | # CONFIG_NETXEN_NIC is not set |
483 | # CONFIG_NIU is not set | 486 | # CONFIG_NIU is not set |
487 | # CONFIG_MLX4_EN is not set | ||
484 | # CONFIG_MLX4_CORE is not set | 488 | # CONFIG_MLX4_CORE is not set |
485 | # CONFIG_TEHUTI is not set | 489 | # CONFIG_TEHUTI is not set |
486 | # CONFIG_BNX2X is not set | 490 | # CONFIG_BNX2X is not set |
491 | # CONFIG_QLGE is not set | ||
487 | # CONFIG_SFC is not set | 492 | # CONFIG_SFC is not set |
488 | # CONFIG_TR is not set | 493 | # CONFIG_TR is not set |
489 | 494 | ||
@@ -579,6 +584,8 @@ CONFIG_SSB_POSSIBLE=y | |||
579 | # CONFIG_MFD_CORE is not set | 584 | # CONFIG_MFD_CORE is not set |
580 | # CONFIG_MFD_SM501 is not set | 585 | # CONFIG_MFD_SM501 is not set |
581 | # CONFIG_HTC_PASIC3 is not set | 586 | # CONFIG_HTC_PASIC3 is not set |
587 | # CONFIG_MFD_TMIO is not set | ||
588 | # CONFIG_MFD_WM8400 is not set | ||
582 | 589 | ||
583 | # | 590 | # |
584 | # Multimedia devices | 591 | # Multimedia devices |
@@ -620,9 +627,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
620 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 627 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
621 | 628 | ||
622 | # | 629 | # |
630 | # Enable Host or Gadget support to see Inventra options | ||
631 | # | ||
632 | |||
633 | # | ||
623 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 634 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
624 | # | 635 | # |
625 | # CONFIG_USB_GADGET is not set | 636 | # CONFIG_USB_GADGET is not set |
637 | # CONFIG_UWB is not set | ||
626 | # CONFIG_MMC is not set | 638 | # CONFIG_MMC is not set |
627 | # CONFIG_MEMSTICK is not set | 639 | # CONFIG_MEMSTICK is not set |
628 | # CONFIG_NEW_LEDS is not set | 640 | # CONFIG_NEW_LEDS is not set |
@@ -632,6 +644,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
632 | # CONFIG_RTC_CLASS is not set | 644 | # CONFIG_RTC_CLASS is not set |
633 | # CONFIG_DMADEVICES is not set | 645 | # CONFIG_DMADEVICES is not set |
634 | # CONFIG_UIO is not set | 646 | # CONFIG_UIO is not set |
647 | # CONFIG_STAGING is not set | ||
635 | 648 | ||
636 | # | 649 | # |
637 | # File systems | 650 | # File systems |
@@ -640,10 +653,11 @@ CONFIG_EXT2_FS=y | |||
640 | # CONFIG_EXT2_FS_XATTR is not set | 653 | # CONFIG_EXT2_FS_XATTR is not set |
641 | # CONFIG_EXT2_FS_XIP is not set | 654 | # CONFIG_EXT2_FS_XIP is not set |
642 | # CONFIG_EXT3_FS is not set | 655 | # CONFIG_EXT3_FS is not set |
643 | # CONFIG_EXT4DEV_FS is not set | 656 | # CONFIG_EXT4_FS is not set |
644 | # CONFIG_REISERFS_FS is not set | 657 | # CONFIG_REISERFS_FS is not set |
645 | # CONFIG_JFS_FS is not set | 658 | # CONFIG_JFS_FS is not set |
646 | # CONFIG_FS_POSIX_ACL is not set | 659 | # CONFIG_FS_POSIX_ACL is not set |
660 | CONFIG_FILE_LOCKING=y | ||
647 | # CONFIG_XFS_FS is not set | 661 | # CONFIG_XFS_FS is not set |
648 | # CONFIG_OCFS2_FS is not set | 662 | # CONFIG_OCFS2_FS is not set |
649 | CONFIG_DNOTIFY=y | 663 | CONFIG_DNOTIFY=y |
@@ -673,6 +687,7 @@ CONFIG_INOTIFY_USER=y | |||
673 | CONFIG_PROC_FS=y | 687 | CONFIG_PROC_FS=y |
674 | CONFIG_PROC_KCORE=y | 688 | CONFIG_PROC_KCORE=y |
675 | CONFIG_PROC_SYSCTL=y | 689 | CONFIG_PROC_SYSCTL=y |
690 | CONFIG_PROC_PAGE_MONITOR=y | ||
676 | CONFIG_SYSFS=y | 691 | CONFIG_SYSFS=y |
677 | CONFIG_TMPFS=y | 692 | CONFIG_TMPFS=y |
678 | # CONFIG_TMPFS_POSIX_ACL is not set | 693 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -709,6 +724,7 @@ CONFIG_LOCKD=y | |||
709 | CONFIG_LOCKD_V4=y | 724 | CONFIG_LOCKD_V4=y |
710 | CONFIG_NFS_COMMON=y | 725 | CONFIG_NFS_COMMON=y |
711 | CONFIG_SUNRPC=y | 726 | CONFIG_SUNRPC=y |
727 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
712 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 728 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
713 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 729 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
714 | # CONFIG_SMB_FS is not set | 730 | # CONFIG_SMB_FS is not set |
@@ -729,7 +745,6 @@ CONFIG_MSDOS_PARTITION=y | |||
729 | # Library routines | 745 | # Library routines |
730 | # | 746 | # |
731 | CONFIG_BITREVERSE=y | 747 | CONFIG_BITREVERSE=y |
732 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
733 | # CONFIG_CRC_CCITT is not set | 748 | # CONFIG_CRC_CCITT is not set |
734 | # CONFIG_CRC16 is not set | 749 | # CONFIG_CRC16 is not set |
735 | # CONFIG_CRC_T10DIF is not set | 750 | # CONFIG_CRC_T10DIF is not set |
@@ -782,14 +797,21 @@ CONFIG_SCHED_DEBUG=y | |||
782 | # CONFIG_DEBUG_SG is not set | 797 | # CONFIG_DEBUG_SG is not set |
783 | # CONFIG_BOOT_PRINTK_DELAY is not set | 798 | # CONFIG_BOOT_PRINTK_DELAY is not set |
784 | # CONFIG_RCU_TORTURE_TEST is not set | 799 | # CONFIG_RCU_TORTURE_TEST is not set |
800 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
785 | # CONFIG_BACKTRACE_SELF_TEST is not set | 801 | # CONFIG_BACKTRACE_SELF_TEST is not set |
802 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
786 | # CONFIG_FAULT_INJECTION is not set | 803 | # CONFIG_FAULT_INJECTION is not set |
787 | # CONFIG_LATENCYTOP is not set | 804 | # CONFIG_LATENCYTOP is not set |
805 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
806 | CONFIG_NOP_TRACER=y | ||
788 | CONFIG_HAVE_FTRACE=y | 807 | CONFIG_HAVE_FTRACE=y |
789 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 808 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
790 | # CONFIG_FTRACE is not set | 809 | # CONFIG_FTRACE is not set |
791 | # CONFIG_SCHED_TRACER is not set | 810 | # CONFIG_SCHED_TRACER is not set |
792 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 811 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
812 | # CONFIG_BOOT_TRACER is not set | ||
813 | # CONFIG_STACK_TRACER is not set | ||
814 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
793 | # CONFIG_SAMPLES is not set | 815 | # CONFIG_SAMPLES is not set |
794 | CONFIG_HAVE_ARCH_KGDB=y | 816 | CONFIG_HAVE_ARCH_KGDB=y |
795 | # CONFIG_KGDB is not set | 817 | # CONFIG_KGDB is not set |
@@ -798,6 +820,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
798 | # CONFIG_DEBUG_PAGEALLOC is not set | 820 | # CONFIG_DEBUG_PAGEALLOC is not set |
799 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 821 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
800 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 822 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
823 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
801 | # CONFIG_XMON is not set | 824 | # CONFIG_XMON is not set |
802 | # CONFIG_IRQSTACKS is not set | 825 | # CONFIG_IRQSTACKS is not set |
803 | # CONFIG_VIRQ_DEBUG is not set | 826 | # CONFIG_VIRQ_DEBUG is not set |
@@ -809,14 +832,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
809 | # | 832 | # |
810 | # CONFIG_KEYS is not set | 833 | # CONFIG_KEYS is not set |
811 | # CONFIG_SECURITY is not set | 834 | # CONFIG_SECURITY is not set |
835 | # CONFIG_SECURITYFS is not set | ||
812 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 836 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
813 | CONFIG_CRYPTO=y | 837 | CONFIG_CRYPTO=y |
814 | 838 | ||
815 | # | 839 | # |
816 | # Crypto core or helper | 840 | # Crypto core or helper |
817 | # | 841 | # |
842 | # CONFIG_CRYPTO_FIPS is not set | ||
818 | CONFIG_CRYPTO_ALGAPI=y | 843 | CONFIG_CRYPTO_ALGAPI=y |
844 | CONFIG_CRYPTO_AEAD=y | ||
819 | CONFIG_CRYPTO_BLKCIPHER=y | 845 | CONFIG_CRYPTO_BLKCIPHER=y |
846 | CONFIG_CRYPTO_HASH=y | ||
847 | CONFIG_CRYPTO_RNG=y | ||
820 | CONFIG_CRYPTO_MANAGER=y | 848 | CONFIG_CRYPTO_MANAGER=y |
821 | # CONFIG_CRYPTO_GF128MUL is not set | 849 | # CONFIG_CRYPTO_GF128MUL is not set |
822 | # CONFIG_CRYPTO_NULL is not set | 850 | # CONFIG_CRYPTO_NULL is not set |
@@ -889,6 +917,11 @@ CONFIG_CRYPTO_DES=y | |||
889 | # | 917 | # |
890 | # CONFIG_CRYPTO_DEFLATE is not set | 918 | # CONFIG_CRYPTO_DEFLATE is not set |
891 | # CONFIG_CRYPTO_LZO is not set | 919 | # CONFIG_CRYPTO_LZO is not set |
920 | |||
921 | # | ||
922 | # Random Number Generation | ||
923 | # | ||
924 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
892 | CONFIG_CRYPTO_HW=y | 925 | CONFIG_CRYPTO_HW=y |
893 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 926 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
894 | # CONFIG_PPC_CLOCK is not set | 927 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig index 74da5c7754a4..0694756ac759 100644 --- a/arch/powerpc/configs/44x/canyonlands_defconfig +++ b/arch/powerpc/configs/44x/canyonlands_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 08:46:14 2008 | 4 | # Tue Oct 28 09:16:08 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -88,7 +87,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 87 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 88 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
93 | # CONFIG_KALLSYMS_ALL is not set | 91 | # CONFIG_KALLSYMS_ALL is not set |
94 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 92 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -105,7 +103,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 103 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 104 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
106 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 107 | CONFIG_VM_EVENT_COUNTERS=y |
108 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 109 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 110 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 111 | CONFIG_SLUB=y |
@@ -119,10 +119,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 122 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 123 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 124 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +151,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 153 | CONFIG_CLASSIC_RCU=y |
154 | # CONFIG_FREEZER is not set | ||
158 | CONFIG_PPC4xx_PCI_EXPRESS=y | 155 | CONFIG_PPC4xx_PCI_EXPRESS=y |
159 | 156 | ||
160 | # | 157 | # |
@@ -171,9 +168,13 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
171 | # CONFIG_KATMAI is not set | 168 | # CONFIG_KATMAI is not set |
172 | # CONFIG_RAINIER is not set | 169 | # CONFIG_RAINIER is not set |
173 | # CONFIG_WARP is not set | 170 | # CONFIG_WARP is not set |
171 | # CONFIG_ARCHES is not set | ||
174 | CONFIG_CANYONLANDS=y | 172 | CONFIG_CANYONLANDS=y |
173 | # CONFIG_GLACIER is not set | ||
175 | # CONFIG_YOSEMITE is not set | 174 | # CONFIG_YOSEMITE is not set |
176 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 175 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
176 | CONFIG_PPC44x_SIMPLE=y | ||
177 | # CONFIG_PPC4xx_GPIO is not set | ||
177 | CONFIG_460EX=y | 178 | CONFIG_460EX=y |
178 | # CONFIG_IPIC is not set | 179 | # CONFIG_IPIC is not set |
179 | # CONFIG_MPIC is not set | 180 | # CONFIG_MPIC is not set |
@@ -201,11 +202,13 @@ CONFIG_HZ_250=y | |||
201 | # CONFIG_HZ_300 is not set | 202 | # CONFIG_HZ_300 is not set |
202 | # CONFIG_HZ_1000 is not set | 203 | # CONFIG_HZ_1000 is not set |
203 | CONFIG_HZ=250 | 204 | CONFIG_HZ=250 |
204 | # CONFIG_SCHED_HRTICK is not set | 205 | CONFIG_SCHED_HRTICK=y |
205 | CONFIG_PREEMPT_NONE=y | 206 | CONFIG_PREEMPT_NONE=y |
206 | # CONFIG_PREEMPT_VOLUNTARY is not set | 207 | # CONFIG_PREEMPT_VOLUNTARY is not set |
207 | # CONFIG_PREEMPT is not set | 208 | # CONFIG_PREEMPT is not set |
208 | CONFIG_BINFMT_ELF=y | 209 | CONFIG_BINFMT_ELF=y |
210 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
211 | # CONFIG_HAVE_AOUT is not set | ||
209 | # CONFIG_BINFMT_MISC is not set | 212 | # CONFIG_BINFMT_MISC is not set |
210 | # CONFIG_MATH_EMULATION is not set | 213 | # CONFIG_MATH_EMULATION is not set |
211 | # CONFIG_IOMMU_HELPER is not set | 214 | # CONFIG_IOMMU_HELPER is not set |
@@ -220,15 +223,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
220 | # CONFIG_SPARSEMEM_MANUAL is not set | 223 | # CONFIG_SPARSEMEM_MANUAL is not set |
221 | CONFIG_FLATMEM=y | 224 | CONFIG_FLATMEM=y |
222 | CONFIG_FLAT_NODE_MEM_MAP=y | 225 | CONFIG_FLAT_NODE_MEM_MAP=y |
223 | # CONFIG_SPARSEMEM_STATIC is not set | ||
224 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
225 | CONFIG_PAGEFLAGS_EXTENDED=y | 226 | CONFIG_PAGEFLAGS_EXTENDED=y |
226 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 227 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
227 | CONFIG_MIGRATION=y | 228 | CONFIG_MIGRATION=y |
228 | CONFIG_RESOURCES_64BIT=y | 229 | CONFIG_RESOURCES_64BIT=y |
230 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
229 | CONFIG_ZONE_DMA_FLAG=1 | 231 | CONFIG_ZONE_DMA_FLAG=1 |
230 | CONFIG_BOUNCE=y | 232 | CONFIG_BOUNCE=y |
231 | CONFIG_VIRT_TO_BUS=y | 233 | CONFIG_VIRT_TO_BUS=y |
234 | CONFIG_UNEVICTABLE_LRU=y | ||
232 | CONFIG_FORCE_MAX_ZONEORDER=11 | 235 | CONFIG_FORCE_MAX_ZONEORDER=11 |
233 | CONFIG_PROC_DEVICETREE=y | 236 | CONFIG_PROC_DEVICETREE=y |
234 | CONFIG_CMDLINE_BOOL=y | 237 | CONFIG_CMDLINE_BOOL=y |
@@ -315,6 +318,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
315 | # CONFIG_TIPC is not set | 318 | # CONFIG_TIPC is not set |
316 | # CONFIG_ATM is not set | 319 | # CONFIG_ATM is not set |
317 | # CONFIG_BRIDGE is not set | 320 | # CONFIG_BRIDGE is not set |
321 | # CONFIG_NET_DSA is not set | ||
318 | # CONFIG_VLAN_8021Q is not set | 322 | # CONFIG_VLAN_8021Q is not set |
319 | # CONFIG_DECNET is not set | 323 | # CONFIG_DECNET is not set |
320 | # CONFIG_LLC2 is not set | 324 | # CONFIG_LLC2 is not set |
@@ -335,14 +339,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
335 | # CONFIG_IRDA is not set | 339 | # CONFIG_IRDA is not set |
336 | # CONFIG_BT is not set | 340 | # CONFIG_BT is not set |
337 | # CONFIG_AF_RXRPC is not set | 341 | # CONFIG_AF_RXRPC is not set |
338 | 342 | # CONFIG_PHONET is not set | |
339 | # | 343 | # CONFIG_WIRELESS is not set |
340 | # Wireless | ||
341 | # | ||
342 | # CONFIG_CFG80211 is not set | ||
343 | # CONFIG_WIRELESS_EXT is not set | ||
344 | # CONFIG_MAC80211 is not set | ||
345 | # CONFIG_IEEE80211 is not set | ||
346 | # CONFIG_RFKILL is not set | 344 | # CONFIG_RFKILL is not set |
347 | # CONFIG_NET_9P is not set | 345 | # CONFIG_NET_9P is not set |
348 | 346 | ||
@@ -439,8 +437,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
439 | CONFIG_IBM_NEW_EMAC_RGMII=y | 437 | CONFIG_IBM_NEW_EMAC_RGMII=y |
440 | CONFIG_IBM_NEW_EMAC_TAH=y | 438 | CONFIG_IBM_NEW_EMAC_TAH=y |
441 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 439 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
440 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
441 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
442 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
442 | # CONFIG_NET_PCI is not set | 443 | # CONFIG_NET_PCI is not set |
443 | # CONFIG_B44 is not set | 444 | # CONFIG_B44 is not set |
445 | # CONFIG_ATL2 is not set | ||
444 | # CONFIG_NETDEV_1000 is not set | 446 | # CONFIG_NETDEV_1000 is not set |
445 | # CONFIG_NETDEV_10000 is not set | 447 | # CONFIG_NETDEV_10000 is not set |
446 | # CONFIG_TR is not set | 448 | # CONFIG_TR is not set |
@@ -538,6 +540,8 @@ CONFIG_SSB_POSSIBLE=y | |||
538 | # CONFIG_MFD_CORE is not set | 540 | # CONFIG_MFD_CORE is not set |
539 | # CONFIG_MFD_SM501 is not set | 541 | # CONFIG_MFD_SM501 is not set |
540 | # CONFIG_HTC_PASIC3 is not set | 542 | # CONFIG_HTC_PASIC3 is not set |
543 | # CONFIG_MFD_TMIO is not set | ||
544 | # CONFIG_MFD_WM8400 is not set | ||
541 | 545 | ||
542 | # | 546 | # |
543 | # Multimedia devices | 547 | # Multimedia devices |
@@ -571,6 +575,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
571 | # CONFIG_DISPLAY_SUPPORT is not set | 575 | # CONFIG_DISPLAY_SUPPORT is not set |
572 | # CONFIG_SOUND is not set | 576 | # CONFIG_SOUND is not set |
573 | # CONFIG_USB_SUPPORT is not set | 577 | # CONFIG_USB_SUPPORT is not set |
578 | # CONFIG_UWB is not set | ||
574 | # CONFIG_MMC is not set | 579 | # CONFIG_MMC is not set |
575 | # CONFIG_MEMSTICK is not set | 580 | # CONFIG_MEMSTICK is not set |
576 | # CONFIG_NEW_LEDS is not set | 581 | # CONFIG_NEW_LEDS is not set |
@@ -580,6 +585,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
580 | # CONFIG_RTC_CLASS is not set | 585 | # CONFIG_RTC_CLASS is not set |
581 | # CONFIG_DMADEVICES is not set | 586 | # CONFIG_DMADEVICES is not set |
582 | # CONFIG_UIO is not set | 587 | # CONFIG_UIO is not set |
588 | # CONFIG_STAGING is not set | ||
583 | 589 | ||
584 | # | 590 | # |
585 | # File systems | 591 | # File systems |
@@ -588,10 +594,11 @@ CONFIG_EXT2_FS=y | |||
588 | # CONFIG_EXT2_FS_XATTR is not set | 594 | # CONFIG_EXT2_FS_XATTR is not set |
589 | # CONFIG_EXT2_FS_XIP is not set | 595 | # CONFIG_EXT2_FS_XIP is not set |
590 | # CONFIG_EXT3_FS is not set | 596 | # CONFIG_EXT3_FS is not set |
591 | # CONFIG_EXT4DEV_FS is not set | 597 | # CONFIG_EXT4_FS is not set |
592 | # CONFIG_REISERFS_FS is not set | 598 | # CONFIG_REISERFS_FS is not set |
593 | # CONFIG_JFS_FS is not set | 599 | # CONFIG_JFS_FS is not set |
594 | # CONFIG_FS_POSIX_ACL is not set | 600 | # CONFIG_FS_POSIX_ACL is not set |
601 | CONFIG_FILE_LOCKING=y | ||
595 | # CONFIG_XFS_FS is not set | 602 | # CONFIG_XFS_FS is not set |
596 | # CONFIG_OCFS2_FS is not set | 603 | # CONFIG_OCFS2_FS is not set |
597 | CONFIG_DNOTIFY=y | 604 | CONFIG_DNOTIFY=y |
@@ -621,6 +628,7 @@ CONFIG_INOTIFY_USER=y | |||
621 | CONFIG_PROC_FS=y | 628 | CONFIG_PROC_FS=y |
622 | CONFIG_PROC_KCORE=y | 629 | CONFIG_PROC_KCORE=y |
623 | CONFIG_PROC_SYSCTL=y | 630 | CONFIG_PROC_SYSCTL=y |
631 | CONFIG_PROC_PAGE_MONITOR=y | ||
624 | CONFIG_SYSFS=y | 632 | CONFIG_SYSFS=y |
625 | CONFIG_TMPFS=y | 633 | CONFIG_TMPFS=y |
626 | # CONFIG_TMPFS_POSIX_ACL is not set | 634 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -657,6 +665,7 @@ CONFIG_LOCKD=y | |||
657 | CONFIG_LOCKD_V4=y | 665 | CONFIG_LOCKD_V4=y |
658 | CONFIG_NFS_COMMON=y | 666 | CONFIG_NFS_COMMON=y |
659 | CONFIG_SUNRPC=y | 667 | CONFIG_SUNRPC=y |
668 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
660 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 669 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
661 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 670 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
662 | # CONFIG_SMB_FS is not set | 671 | # CONFIG_SMB_FS is not set |
@@ -677,7 +686,6 @@ CONFIG_MSDOS_PARTITION=y | |||
677 | # Library routines | 686 | # Library routines |
678 | # | 687 | # |
679 | CONFIG_BITREVERSE=y | 688 | CONFIG_BITREVERSE=y |
680 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
681 | # CONFIG_CRC_CCITT is not set | 689 | # CONFIG_CRC_CCITT is not set |
682 | # CONFIG_CRC16 is not set | 690 | # CONFIG_CRC16 is not set |
683 | # CONFIG_CRC_T10DIF is not set | 691 | # CONFIG_CRC_T10DIF is not set |
@@ -730,14 +738,21 @@ CONFIG_SCHED_DEBUG=y | |||
730 | # CONFIG_DEBUG_SG is not set | 738 | # CONFIG_DEBUG_SG is not set |
731 | # CONFIG_BOOT_PRINTK_DELAY is not set | 739 | # CONFIG_BOOT_PRINTK_DELAY is not set |
732 | # CONFIG_RCU_TORTURE_TEST is not set | 740 | # CONFIG_RCU_TORTURE_TEST is not set |
741 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
733 | # CONFIG_BACKTRACE_SELF_TEST is not set | 742 | # CONFIG_BACKTRACE_SELF_TEST is not set |
743 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
734 | # CONFIG_FAULT_INJECTION is not set | 744 | # CONFIG_FAULT_INJECTION is not set |
735 | # CONFIG_LATENCYTOP is not set | 745 | # CONFIG_LATENCYTOP is not set |
746 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
747 | CONFIG_NOP_TRACER=y | ||
736 | CONFIG_HAVE_FTRACE=y | 748 | CONFIG_HAVE_FTRACE=y |
737 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 749 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
738 | # CONFIG_FTRACE is not set | 750 | # CONFIG_FTRACE is not set |
739 | # CONFIG_SCHED_TRACER is not set | 751 | # CONFIG_SCHED_TRACER is not set |
740 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 752 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
753 | # CONFIG_BOOT_TRACER is not set | ||
754 | # CONFIG_STACK_TRACER is not set | ||
755 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
741 | # CONFIG_SAMPLES is not set | 756 | # CONFIG_SAMPLES is not set |
742 | CONFIG_HAVE_ARCH_KGDB=y | 757 | CONFIG_HAVE_ARCH_KGDB=y |
743 | # CONFIG_KGDB is not set | 758 | # CONFIG_KGDB is not set |
@@ -746,6 +761,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
746 | # CONFIG_DEBUG_PAGEALLOC is not set | 761 | # CONFIG_DEBUG_PAGEALLOC is not set |
747 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 762 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
748 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 763 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
764 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
749 | # CONFIG_XMON is not set | 765 | # CONFIG_XMON is not set |
750 | # CONFIG_IRQSTACKS is not set | 766 | # CONFIG_IRQSTACKS is not set |
751 | # CONFIG_VIRQ_DEBUG is not set | 767 | # CONFIG_VIRQ_DEBUG is not set |
@@ -757,6 +773,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
757 | # | 773 | # |
758 | # CONFIG_KEYS is not set | 774 | # CONFIG_KEYS is not set |
759 | # CONFIG_SECURITY is not set | 775 | # CONFIG_SECURITY is not set |
776 | # CONFIG_SECURITYFS is not set | ||
760 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 777 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
761 | # CONFIG_CRYPTO is not set | 778 | # CONFIG_CRYPTO is not set |
762 | # CONFIG_PPC_CLOCK is not set | 779 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig index 17615750b494..c9937578ef7f 100644 --- a/arch/powerpc/configs/44x/ebony_defconfig +++ b/arch/powerpc/configs/44x/ebony_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:04:12 2008 | 4 | # Tue Oct 28 09:16:09 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y | |||
22 | CONFIG_NOT_COHERENT_CACHE=y | 22 | CONFIG_NOT_COHERENT_CACHE=y |
23 | CONFIG_PPC32=y | 23 | CONFIG_PPC32=y |
24 | CONFIG_WORD_SIZE=32 | 24 | CONFIG_WORD_SIZE=32 |
25 | CONFIG_PPC_MERGE=y | 25 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
26 | CONFIG_MMU=y | 26 | CONFIG_MMU=y |
27 | CONFIG_GENERIC_CMOS_UPDATE=y | 27 | CONFIG_GENERIC_CMOS_UPDATE=y |
28 | CONFIG_GENERIC_TIME=y | 28 | CONFIG_GENERIC_TIME=y |
29 | CONFIG_GENERIC_TIME_VSYSCALL=y | 29 | CONFIG_GENERIC_TIME_VSYSCALL=y |
30 | CONFIG_GENERIC_CLOCKEVENTS=y | 30 | CONFIG_GENERIC_CLOCKEVENTS=y |
31 | CONFIG_GENERIC_HARDIRQS=y | 31 | CONFIG_GENERIC_HARDIRQS=y |
32 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 32 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
34 | CONFIG_IRQ_PER_CPU=y | 33 | CONFIG_IRQ_PER_CPU=y |
35 | CONFIG_STACKTRACE_SUPPORT=y | 34 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
91 | CONFIG_SYSCTL=y | 90 | CONFIG_SYSCTL=y |
92 | CONFIG_EMBEDDED=y | 91 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 92 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
95 | CONFIG_KALLSYMS=y | 93 | CONFIG_KALLSYMS=y |
96 | CONFIG_KALLSYMS_ALL=y | 94 | CONFIG_KALLSYMS_ALL=y |
97 | CONFIG_KALLSYMS_EXTRA_PASS=y | 95 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y | |||
108 | CONFIG_TIMERFD=y | 106 | CONFIG_TIMERFD=y |
109 | CONFIG_EVENTFD=y | 107 | CONFIG_EVENTFD=y |
110 | CONFIG_SHMEM=y | 108 | CONFIG_SHMEM=y |
109 | CONFIG_AIO=y | ||
111 | CONFIG_VM_EVENT_COUNTERS=y | 110 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | ||
112 | CONFIG_SLUB_DEBUG=y | 112 | CONFIG_SLUB_DEBUG=y |
113 | # CONFIG_SLAB is not set | 113 | # CONFIG_SLAB is not set |
114 | CONFIG_SLUB=y | 114 | CONFIG_SLUB=y |
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 122 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 123 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 124 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
126 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
127 | # CONFIG_HAVE_CLK is not set | ||
128 | CONFIG_PROC_PAGE_MONITOR=y | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 126 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 127 | CONFIG_RT_MUTEXES=y |
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 155 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
160 | CONFIG_CLASSIC_RCU=y | 156 | CONFIG_CLASSIC_RCU=y |
157 | # CONFIG_FREEZER is not set | ||
161 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 158 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
162 | 159 | ||
163 | # | 160 | # |
@@ -174,9 +171,13 @@ CONFIG_EBONY=y | |||
174 | # CONFIG_KATMAI is not set | 171 | # CONFIG_KATMAI is not set |
175 | # CONFIG_RAINIER is not set | 172 | # CONFIG_RAINIER is not set |
176 | # CONFIG_WARP is not set | 173 | # CONFIG_WARP is not set |
174 | # CONFIG_ARCHES is not set | ||
177 | # CONFIG_CANYONLANDS is not set | 175 | # CONFIG_CANYONLANDS is not set |
176 | # CONFIG_GLACIER is not set | ||
178 | # CONFIG_YOSEMITE is not set | 177 | # CONFIG_YOSEMITE is not set |
179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 178 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
179 | # CONFIG_PPC44x_SIMPLE is not set | ||
180 | # CONFIG_PPC4xx_GPIO is not set | ||
180 | CONFIG_440GP=y | 181 | CONFIG_440GP=y |
181 | # CONFIG_IPIC is not set | 182 | # CONFIG_IPIC is not set |
182 | # CONFIG_MPIC is not set | 183 | # CONFIG_MPIC is not set |
@@ -196,7 +197,6 @@ CONFIG_OF_RTC=y | |||
196 | # Kernel options | 197 | # Kernel options |
197 | # | 198 | # |
198 | # CONFIG_HIGHMEM is not set | 199 | # CONFIG_HIGHMEM is not set |
199 | # CONFIG_TICK_ONESHOT is not set | ||
200 | # CONFIG_NO_HZ is not set | 200 | # CONFIG_NO_HZ is not set |
201 | # CONFIG_HIGH_RES_TIMERS is not set | 201 | # CONFIG_HIGH_RES_TIMERS is not set |
202 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 202 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -210,6 +210,8 @@ CONFIG_PREEMPT_NONE=y | |||
210 | # CONFIG_PREEMPT_VOLUNTARY is not set | 210 | # CONFIG_PREEMPT_VOLUNTARY is not set |
211 | # CONFIG_PREEMPT is not set | 211 | # CONFIG_PREEMPT is not set |
212 | CONFIG_BINFMT_ELF=y | 212 | CONFIG_BINFMT_ELF=y |
213 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
214 | # CONFIG_HAVE_AOUT is not set | ||
213 | # CONFIG_BINFMT_MISC is not set | 215 | # CONFIG_BINFMT_MISC is not set |
214 | CONFIG_MATH_EMULATION=y | 216 | CONFIG_MATH_EMULATION=y |
215 | # CONFIG_IOMMU_HELPER is not set | 217 | # CONFIG_IOMMU_HELPER is not set |
@@ -224,15 +226,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
224 | # CONFIG_SPARSEMEM_MANUAL is not set | 226 | # CONFIG_SPARSEMEM_MANUAL is not set |
225 | CONFIG_FLATMEM=y | 227 | CONFIG_FLATMEM=y |
226 | CONFIG_FLAT_NODE_MEM_MAP=y | 228 | CONFIG_FLAT_NODE_MEM_MAP=y |
227 | # CONFIG_SPARSEMEM_STATIC is not set | ||
228 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
229 | CONFIG_PAGEFLAGS_EXTENDED=y | 229 | CONFIG_PAGEFLAGS_EXTENDED=y |
230 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 230 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
231 | CONFIG_MIGRATION=y | 231 | CONFIG_MIGRATION=y |
232 | CONFIG_RESOURCES_64BIT=y | 232 | CONFIG_RESOURCES_64BIT=y |
233 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
233 | CONFIG_ZONE_DMA_FLAG=1 | 234 | CONFIG_ZONE_DMA_FLAG=1 |
234 | CONFIG_BOUNCE=y | 235 | CONFIG_BOUNCE=y |
235 | CONFIG_VIRT_TO_BUS=y | 236 | CONFIG_VIRT_TO_BUS=y |
237 | CONFIG_UNEVICTABLE_LRU=y | ||
236 | CONFIG_FORCE_MAX_ZONEORDER=11 | 238 | CONFIG_FORCE_MAX_ZONEORDER=11 |
237 | CONFIG_PROC_DEVICETREE=y | 239 | CONFIG_PROC_DEVICETREE=y |
238 | # CONFIG_CMDLINE_BOOL is not set | 240 | # CONFIG_CMDLINE_BOOL is not set |
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
318 | # CONFIG_TIPC is not set | 320 | # CONFIG_TIPC is not set |
319 | # CONFIG_ATM is not set | 321 | # CONFIG_ATM is not set |
320 | # CONFIG_BRIDGE is not set | 322 | # CONFIG_BRIDGE is not set |
323 | # CONFIG_NET_DSA is not set | ||
321 | # CONFIG_VLAN_8021Q is not set | 324 | # CONFIG_VLAN_8021Q is not set |
322 | # CONFIG_DECNET is not set | 325 | # CONFIG_DECNET is not set |
323 | # CONFIG_LLC2 is not set | 326 | # CONFIG_LLC2 is not set |
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
338 | # CONFIG_IRDA is not set | 341 | # CONFIG_IRDA is not set |
339 | # CONFIG_BT is not set | 342 | # CONFIG_BT is not set |
340 | # CONFIG_AF_RXRPC is not set | 343 | # CONFIG_AF_RXRPC is not set |
341 | 344 | # CONFIG_PHONET is not set | |
342 | # | 345 | # CONFIG_WIRELESS is not set |
343 | # Wireless | ||
344 | # | ||
345 | # CONFIG_CFG80211 is not set | ||
346 | # CONFIG_WIRELESS_EXT is not set | ||
347 | # CONFIG_MAC80211 is not set | ||
348 | # CONFIG_IEEE80211 is not set | ||
349 | # CONFIG_RFKILL is not set | 346 | # CONFIG_RFKILL is not set |
350 | # CONFIG_NET_9P is not set | 347 | # CONFIG_NET_9P is not set |
351 | 348 | ||
@@ -525,8 +522,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
525 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 522 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
526 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 523 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
527 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 524 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
525 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
526 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
527 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
528 | # CONFIG_NET_PCI is not set | 528 | # CONFIG_NET_PCI is not set |
529 | # CONFIG_B44 is not set | 529 | # CONFIG_B44 is not set |
530 | # CONFIG_ATL2 is not set | ||
530 | CONFIG_NETDEV_1000=y | 531 | CONFIG_NETDEV_1000=y |
531 | # CONFIG_ACENIC is not set | 532 | # CONFIG_ACENIC is not set |
532 | # CONFIG_DL2K is not set | 533 | # CONFIG_DL2K is not set |
@@ -547,18 +548,22 @@ CONFIG_NETDEV_1000=y | |||
547 | # CONFIG_QLA3XXX is not set | 548 | # CONFIG_QLA3XXX is not set |
548 | # CONFIG_ATL1 is not set | 549 | # CONFIG_ATL1 is not set |
549 | # CONFIG_ATL1E is not set | 550 | # CONFIG_ATL1E is not set |
551 | # CONFIG_JME is not set | ||
550 | CONFIG_NETDEV_10000=y | 552 | CONFIG_NETDEV_10000=y |
551 | # CONFIG_CHELSIO_T1 is not set | 553 | # CONFIG_CHELSIO_T1 is not set |
552 | # CONFIG_CHELSIO_T3 is not set | 554 | # CONFIG_CHELSIO_T3 is not set |
555 | # CONFIG_ENIC is not set | ||
553 | # CONFIG_IXGBE is not set | 556 | # CONFIG_IXGBE is not set |
554 | # CONFIG_IXGB is not set | 557 | # CONFIG_IXGB is not set |
555 | # CONFIG_S2IO is not set | 558 | # CONFIG_S2IO is not set |
556 | # CONFIG_MYRI10GE is not set | 559 | # CONFIG_MYRI10GE is not set |
557 | # CONFIG_NETXEN_NIC is not set | 560 | # CONFIG_NETXEN_NIC is not set |
558 | # CONFIG_NIU is not set | 561 | # CONFIG_NIU is not set |
562 | # CONFIG_MLX4_EN is not set | ||
559 | # CONFIG_MLX4_CORE is not set | 563 | # CONFIG_MLX4_CORE is not set |
560 | # CONFIG_TEHUTI is not set | 564 | # CONFIG_TEHUTI is not set |
561 | # CONFIG_BNX2X is not set | 565 | # CONFIG_BNX2X is not set |
566 | # CONFIG_QLGE is not set | ||
562 | # CONFIG_SFC is not set | 567 | # CONFIG_SFC is not set |
563 | # CONFIG_TR is not set | 568 | # CONFIG_TR is not set |
564 | 569 | ||
@@ -654,6 +659,8 @@ CONFIG_SSB_POSSIBLE=y | |||
654 | # CONFIG_MFD_CORE is not set | 659 | # CONFIG_MFD_CORE is not set |
655 | # CONFIG_MFD_SM501 is not set | 660 | # CONFIG_MFD_SM501 is not set |
656 | # CONFIG_HTC_PASIC3 is not set | 661 | # CONFIG_HTC_PASIC3 is not set |
662 | # CONFIG_MFD_TMIO is not set | ||
663 | # CONFIG_MFD_WM8400 is not set | ||
657 | 664 | ||
658 | # | 665 | # |
659 | # Multimedia devices | 666 | # Multimedia devices |
@@ -695,9 +702,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
695 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 702 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
696 | 703 | ||
697 | # | 704 | # |
705 | # Enable Host or Gadget support to see Inventra options | ||
706 | # | ||
707 | |||
708 | # | ||
698 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 709 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
699 | # | 710 | # |
700 | # CONFIG_USB_GADGET is not set | 711 | # CONFIG_USB_GADGET is not set |
712 | # CONFIG_UWB is not set | ||
701 | # CONFIG_MMC is not set | 713 | # CONFIG_MMC is not set |
702 | # CONFIG_MEMSTICK is not set | 714 | # CONFIG_MEMSTICK is not set |
703 | # CONFIG_NEW_LEDS is not set | 715 | # CONFIG_NEW_LEDS is not set |
@@ -707,6 +719,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
707 | # CONFIG_RTC_CLASS is not set | 719 | # CONFIG_RTC_CLASS is not set |
708 | # CONFIG_DMADEVICES is not set | 720 | # CONFIG_DMADEVICES is not set |
709 | # CONFIG_UIO is not set | 721 | # CONFIG_UIO is not set |
722 | # CONFIG_STAGING is not set | ||
710 | 723 | ||
711 | # | 724 | # |
712 | # File systems | 725 | # File systems |
@@ -715,10 +728,11 @@ CONFIG_EXT2_FS=y | |||
715 | # CONFIG_EXT2_FS_XATTR is not set | 728 | # CONFIG_EXT2_FS_XATTR is not set |
716 | # CONFIG_EXT2_FS_XIP is not set | 729 | # CONFIG_EXT2_FS_XIP is not set |
717 | # CONFIG_EXT3_FS is not set | 730 | # CONFIG_EXT3_FS is not set |
718 | # CONFIG_EXT4DEV_FS is not set | 731 | # CONFIG_EXT4_FS is not set |
719 | # CONFIG_REISERFS_FS is not set | 732 | # CONFIG_REISERFS_FS is not set |
720 | # CONFIG_JFS_FS is not set | 733 | # CONFIG_JFS_FS is not set |
721 | # CONFIG_FS_POSIX_ACL is not set | 734 | # CONFIG_FS_POSIX_ACL is not set |
735 | CONFIG_FILE_LOCKING=y | ||
722 | # CONFIG_XFS_FS is not set | 736 | # CONFIG_XFS_FS is not set |
723 | # CONFIG_OCFS2_FS is not set | 737 | # CONFIG_OCFS2_FS is not set |
724 | CONFIG_DNOTIFY=y | 738 | CONFIG_DNOTIFY=y |
@@ -748,6 +762,7 @@ CONFIG_INOTIFY_USER=y | |||
748 | CONFIG_PROC_FS=y | 762 | CONFIG_PROC_FS=y |
749 | CONFIG_PROC_KCORE=y | 763 | CONFIG_PROC_KCORE=y |
750 | CONFIG_PROC_SYSCTL=y | 764 | CONFIG_PROC_SYSCTL=y |
765 | CONFIG_PROC_PAGE_MONITOR=y | ||
751 | CONFIG_SYSFS=y | 766 | CONFIG_SYSFS=y |
752 | CONFIG_TMPFS=y | 767 | CONFIG_TMPFS=y |
753 | # CONFIG_TMPFS_POSIX_ACL is not set | 768 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -795,6 +810,7 @@ CONFIG_LOCKD=y | |||
795 | CONFIG_LOCKD_V4=y | 810 | CONFIG_LOCKD_V4=y |
796 | CONFIG_NFS_COMMON=y | 811 | CONFIG_NFS_COMMON=y |
797 | CONFIG_SUNRPC=y | 812 | CONFIG_SUNRPC=y |
813 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
798 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 814 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
799 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 815 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
800 | # CONFIG_SMB_FS is not set | 816 | # CONFIG_SMB_FS is not set |
@@ -815,7 +831,6 @@ CONFIG_MSDOS_PARTITION=y | |||
815 | # Library routines | 831 | # Library routines |
816 | # | 832 | # |
817 | CONFIG_BITREVERSE=y | 833 | CONFIG_BITREVERSE=y |
818 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
819 | # CONFIG_CRC_CCITT is not set | 834 | # CONFIG_CRC_CCITT is not set |
820 | # CONFIG_CRC16 is not set | 835 | # CONFIG_CRC16 is not set |
821 | # CONFIG_CRC_T10DIF is not set | 836 | # CONFIG_CRC_T10DIF is not set |
@@ -869,14 +884,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
869 | # CONFIG_DEBUG_SG is not set | 884 | # CONFIG_DEBUG_SG is not set |
870 | # CONFIG_BOOT_PRINTK_DELAY is not set | 885 | # CONFIG_BOOT_PRINTK_DELAY is not set |
871 | # CONFIG_RCU_TORTURE_TEST is not set | 886 | # CONFIG_RCU_TORTURE_TEST is not set |
887 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
872 | # CONFIG_BACKTRACE_SELF_TEST is not set | 888 | # CONFIG_BACKTRACE_SELF_TEST is not set |
889 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
873 | # CONFIG_FAULT_INJECTION is not set | 890 | # CONFIG_FAULT_INJECTION is not set |
874 | # CONFIG_LATENCYTOP is not set | 891 | # CONFIG_LATENCYTOP is not set |
892 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
893 | CONFIG_NOP_TRACER=y | ||
875 | CONFIG_HAVE_FTRACE=y | 894 | CONFIG_HAVE_FTRACE=y |
876 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 895 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
877 | # CONFIG_FTRACE is not set | 896 | # CONFIG_FTRACE is not set |
878 | # CONFIG_SCHED_TRACER is not set | 897 | # CONFIG_SCHED_TRACER is not set |
879 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 898 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
899 | # CONFIG_BOOT_TRACER is not set | ||
900 | # CONFIG_STACK_TRACER is not set | ||
901 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
880 | # CONFIG_SAMPLES is not set | 902 | # CONFIG_SAMPLES is not set |
881 | CONFIG_HAVE_ARCH_KGDB=y | 903 | CONFIG_HAVE_ARCH_KGDB=y |
882 | # CONFIG_KGDB is not set | 904 | # CONFIG_KGDB is not set |
@@ -885,6 +907,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
885 | # CONFIG_DEBUG_PAGEALLOC is not set | 907 | # CONFIG_DEBUG_PAGEALLOC is not set |
886 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 908 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
887 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 909 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
910 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
888 | # CONFIG_XMON is not set | 911 | # CONFIG_XMON is not set |
889 | # CONFIG_IRQSTACKS is not set | 912 | # CONFIG_IRQSTACKS is not set |
890 | # CONFIG_VIRQ_DEBUG is not set | 913 | # CONFIG_VIRQ_DEBUG is not set |
@@ -896,14 +919,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
896 | # | 919 | # |
897 | # CONFIG_KEYS is not set | 920 | # CONFIG_KEYS is not set |
898 | # CONFIG_SECURITY is not set | 921 | # CONFIG_SECURITY is not set |
922 | # CONFIG_SECURITYFS is not set | ||
899 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 923 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
900 | CONFIG_CRYPTO=y | 924 | CONFIG_CRYPTO=y |
901 | 925 | ||
902 | # | 926 | # |
903 | # Crypto core or helper | 927 | # Crypto core or helper |
904 | # | 928 | # |
929 | # CONFIG_CRYPTO_FIPS is not set | ||
905 | CONFIG_CRYPTO_ALGAPI=y | 930 | CONFIG_CRYPTO_ALGAPI=y |
931 | CONFIG_CRYPTO_AEAD=y | ||
906 | CONFIG_CRYPTO_BLKCIPHER=y | 932 | CONFIG_CRYPTO_BLKCIPHER=y |
933 | CONFIG_CRYPTO_HASH=y | ||
934 | CONFIG_CRYPTO_RNG=y | ||
907 | CONFIG_CRYPTO_MANAGER=y | 935 | CONFIG_CRYPTO_MANAGER=y |
908 | # CONFIG_CRYPTO_GF128MUL is not set | 936 | # CONFIG_CRYPTO_GF128MUL is not set |
909 | # CONFIG_CRYPTO_NULL is not set | 937 | # CONFIG_CRYPTO_NULL is not set |
@@ -976,6 +1004,11 @@ CONFIG_CRYPTO_DES=y | |||
976 | # | 1004 | # |
977 | # CONFIG_CRYPTO_DEFLATE is not set | 1005 | # CONFIG_CRYPTO_DEFLATE is not set |
978 | # CONFIG_CRYPTO_LZO is not set | 1006 | # CONFIG_CRYPTO_LZO is not set |
1007 | |||
1008 | # | ||
1009 | # Random Number Generation | ||
1010 | # | ||
1011 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
979 | # CONFIG_CRYPTO_HW is not set | 1012 | # CONFIG_CRYPTO_HW is not set |
980 | # CONFIG_PPC_CLOCK is not set | 1013 | # CONFIG_PPC_CLOCK is not set |
981 | # CONFIG_VIRTUALIZATION is not set | 1014 | # CONFIG_VIRTUALIZATION is not set |
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig index 7bc4082a1c93..e326ee8bd195 100644 --- a/arch/powerpc/configs/44x/katmai_defconfig +++ b/arch/powerpc/configs/44x/katmai_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:06:51 2008 | 4 | # Tue Oct 28 09:16:11 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y | |||
22 | CONFIG_NOT_COHERENT_CACHE=y | 22 | CONFIG_NOT_COHERENT_CACHE=y |
23 | CONFIG_PPC32=y | 23 | CONFIG_PPC32=y |
24 | CONFIG_WORD_SIZE=32 | 24 | CONFIG_WORD_SIZE=32 |
25 | CONFIG_PPC_MERGE=y | 25 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
26 | CONFIG_MMU=y | 26 | CONFIG_MMU=y |
27 | CONFIG_GENERIC_CMOS_UPDATE=y | 27 | CONFIG_GENERIC_CMOS_UPDATE=y |
28 | CONFIG_GENERIC_TIME=y | 28 | CONFIG_GENERIC_TIME=y |
29 | CONFIG_GENERIC_TIME_VSYSCALL=y | 29 | CONFIG_GENERIC_TIME_VSYSCALL=y |
30 | CONFIG_GENERIC_CLOCKEVENTS=y | 30 | CONFIG_GENERIC_CLOCKEVENTS=y |
31 | CONFIG_GENERIC_HARDIRQS=y | 31 | CONFIG_GENERIC_HARDIRQS=y |
32 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 32 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
34 | CONFIG_IRQ_PER_CPU=y | 33 | CONFIG_IRQ_PER_CPU=y |
35 | CONFIG_STACKTRACE_SUPPORT=y | 34 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -87,7 +86,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
87 | CONFIG_SYSCTL=y | 86 | CONFIG_SYSCTL=y |
88 | CONFIG_EMBEDDED=y | 87 | CONFIG_EMBEDDED=y |
89 | CONFIG_SYSCTL_SYSCALL=y | 88 | CONFIG_SYSCTL_SYSCALL=y |
90 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
91 | CONFIG_KALLSYMS=y | 89 | CONFIG_KALLSYMS=y |
92 | # CONFIG_KALLSYMS_ALL is not set | 90 | # CONFIG_KALLSYMS_ALL is not set |
93 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 91 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -104,7 +102,9 @@ CONFIG_SIGNALFD=y | |||
104 | CONFIG_TIMERFD=y | 102 | CONFIG_TIMERFD=y |
105 | CONFIG_EVENTFD=y | 103 | CONFIG_EVENTFD=y |
106 | CONFIG_SHMEM=y | 104 | CONFIG_SHMEM=y |
105 | CONFIG_AIO=y | ||
107 | CONFIG_VM_EVENT_COUNTERS=y | 106 | CONFIG_VM_EVENT_COUNTERS=y |
107 | CONFIG_PCI_QUIRKS=y | ||
108 | CONFIG_SLUB_DEBUG=y | 108 | CONFIG_SLUB_DEBUG=y |
109 | # CONFIG_SLAB is not set | 109 | # CONFIG_SLAB is not set |
110 | CONFIG_SLUB=y | 110 | CONFIG_SLUB=y |
@@ -118,10 +118,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
118 | CONFIG_HAVE_KPROBES=y | 118 | CONFIG_HAVE_KPROBES=y |
119 | CONFIG_HAVE_KRETPROBES=y | 119 | CONFIG_HAVE_KRETPROBES=y |
120 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 120 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
121 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
122 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
123 | # CONFIG_HAVE_CLK is not set | ||
124 | CONFIG_PROC_PAGE_MONITOR=y | ||
125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 121 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
126 | CONFIG_SLABINFO=y | 122 | CONFIG_SLABINFO=y |
127 | CONFIG_RT_MUTEXES=y | 123 | CONFIG_RT_MUTEXES=y |
@@ -154,6 +150,7 @@ CONFIG_DEFAULT_AS=y | |||
154 | # CONFIG_DEFAULT_NOOP is not set | 150 | # CONFIG_DEFAULT_NOOP is not set |
155 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 151 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
156 | CONFIG_CLASSIC_RCU=y | 152 | CONFIG_CLASSIC_RCU=y |
153 | # CONFIG_FREEZER is not set | ||
157 | CONFIG_PPC4xx_PCI_EXPRESS=y | 154 | CONFIG_PPC4xx_PCI_EXPRESS=y |
158 | 155 | ||
159 | # | 156 | # |
@@ -170,9 +167,13 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
170 | CONFIG_KATMAI=y | 167 | CONFIG_KATMAI=y |
171 | # CONFIG_RAINIER is not set | 168 | # CONFIG_RAINIER is not set |
172 | # CONFIG_WARP is not set | 169 | # CONFIG_WARP is not set |
170 | # CONFIG_ARCHES is not set | ||
173 | # CONFIG_CANYONLANDS is not set | 171 | # CONFIG_CANYONLANDS is not set |
172 | # CONFIG_GLACIER is not set | ||
174 | # CONFIG_YOSEMITE is not set | 173 | # CONFIG_YOSEMITE is not set |
175 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 174 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
175 | CONFIG_PPC44x_SIMPLE=y | ||
176 | # CONFIG_PPC4xx_GPIO is not set | ||
176 | CONFIG_440SPe=y | 177 | CONFIG_440SPe=y |
177 | # CONFIG_IPIC is not set | 178 | # CONFIG_IPIC is not set |
178 | # CONFIG_MPIC is not set | 179 | # CONFIG_MPIC is not set |
@@ -191,7 +192,6 @@ CONFIG_440SPe=y | |||
191 | # Kernel options | 192 | # Kernel options |
192 | # | 193 | # |
193 | # CONFIG_HIGHMEM is not set | 194 | # CONFIG_HIGHMEM is not set |
194 | # CONFIG_TICK_ONESHOT is not set | ||
195 | # CONFIG_NO_HZ is not set | 195 | # CONFIG_NO_HZ is not set |
196 | # CONFIG_HIGH_RES_TIMERS is not set | 196 | # CONFIG_HIGH_RES_TIMERS is not set |
197 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 197 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -205,6 +205,8 @@ CONFIG_PREEMPT_NONE=y | |||
205 | # CONFIG_PREEMPT_VOLUNTARY is not set | 205 | # CONFIG_PREEMPT_VOLUNTARY is not set |
206 | # CONFIG_PREEMPT is not set | 206 | # CONFIG_PREEMPT is not set |
207 | CONFIG_BINFMT_ELF=y | 207 | CONFIG_BINFMT_ELF=y |
208 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
209 | # CONFIG_HAVE_AOUT is not set | ||
208 | # CONFIG_BINFMT_MISC is not set | 210 | # CONFIG_BINFMT_MISC is not set |
209 | # CONFIG_MATH_EMULATION is not set | 211 | # CONFIG_MATH_EMULATION is not set |
210 | # CONFIG_IOMMU_HELPER is not set | 212 | # CONFIG_IOMMU_HELPER is not set |
@@ -219,15 +221,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
219 | # CONFIG_SPARSEMEM_MANUAL is not set | 221 | # CONFIG_SPARSEMEM_MANUAL is not set |
220 | CONFIG_FLATMEM=y | 222 | CONFIG_FLATMEM=y |
221 | CONFIG_FLAT_NODE_MEM_MAP=y | 223 | CONFIG_FLAT_NODE_MEM_MAP=y |
222 | # CONFIG_SPARSEMEM_STATIC is not set | ||
223 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
224 | CONFIG_PAGEFLAGS_EXTENDED=y | 224 | CONFIG_PAGEFLAGS_EXTENDED=y |
225 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 225 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
226 | CONFIG_MIGRATION=y | 226 | CONFIG_MIGRATION=y |
227 | CONFIG_RESOURCES_64BIT=y | 227 | CONFIG_RESOURCES_64BIT=y |
228 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
228 | CONFIG_ZONE_DMA_FLAG=1 | 229 | CONFIG_ZONE_DMA_FLAG=1 |
229 | CONFIG_BOUNCE=y | 230 | CONFIG_BOUNCE=y |
230 | CONFIG_VIRT_TO_BUS=y | 231 | CONFIG_VIRT_TO_BUS=y |
232 | CONFIG_UNEVICTABLE_LRU=y | ||
231 | CONFIG_FORCE_MAX_ZONEORDER=11 | 233 | CONFIG_FORCE_MAX_ZONEORDER=11 |
232 | CONFIG_PROC_DEVICETREE=y | 234 | CONFIG_PROC_DEVICETREE=y |
233 | CONFIG_CMDLINE_BOOL=y | 235 | CONFIG_CMDLINE_BOOL=y |
@@ -314,6 +316,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
314 | # CONFIG_TIPC is not set | 316 | # CONFIG_TIPC is not set |
315 | # CONFIG_ATM is not set | 317 | # CONFIG_ATM is not set |
316 | # CONFIG_BRIDGE is not set | 318 | # CONFIG_BRIDGE is not set |
319 | # CONFIG_NET_DSA is not set | ||
317 | # CONFIG_VLAN_8021Q is not set | 320 | # CONFIG_VLAN_8021Q is not set |
318 | # CONFIG_DECNET is not set | 321 | # CONFIG_DECNET is not set |
319 | # CONFIG_LLC2 is not set | 322 | # CONFIG_LLC2 is not set |
@@ -334,14 +337,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
334 | # CONFIG_IRDA is not set | 337 | # CONFIG_IRDA is not set |
335 | # CONFIG_BT is not set | 338 | # CONFIG_BT is not set |
336 | # CONFIG_AF_RXRPC is not set | 339 | # CONFIG_AF_RXRPC is not set |
337 | 340 | # CONFIG_PHONET is not set | |
338 | # | 341 | # CONFIG_WIRELESS is not set |
339 | # Wireless | ||
340 | # | ||
341 | # CONFIG_CFG80211 is not set | ||
342 | # CONFIG_WIRELESS_EXT is not set | ||
343 | # CONFIG_MAC80211 is not set | ||
344 | # CONFIG_IEEE80211 is not set | ||
345 | # CONFIG_RFKILL is not set | 342 | # CONFIG_RFKILL is not set |
346 | # CONFIG_NET_9P is not set | 343 | # CONFIG_NET_9P is not set |
347 | 344 | ||
@@ -446,8 +443,12 @@ CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | |||
446 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 443 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
447 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 444 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
448 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 445 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
446 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
447 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
448 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
449 | # CONFIG_NET_PCI is not set | 449 | # CONFIG_NET_PCI is not set |
450 | # CONFIG_B44 is not set | 450 | # CONFIG_B44 is not set |
451 | # CONFIG_ATL2 is not set | ||
451 | CONFIG_NETDEV_1000=y | 452 | CONFIG_NETDEV_1000=y |
452 | # CONFIG_ACENIC is not set | 453 | # CONFIG_ACENIC is not set |
453 | # CONFIG_DL2K is not set | 454 | # CONFIG_DL2K is not set |
@@ -468,18 +469,22 @@ CONFIG_NETDEV_1000=y | |||
468 | # CONFIG_QLA3XXX is not set | 469 | # CONFIG_QLA3XXX is not set |
469 | # CONFIG_ATL1 is not set | 470 | # CONFIG_ATL1 is not set |
470 | # CONFIG_ATL1E is not set | 471 | # CONFIG_ATL1E is not set |
472 | # CONFIG_JME is not set | ||
471 | CONFIG_NETDEV_10000=y | 473 | CONFIG_NETDEV_10000=y |
472 | # CONFIG_CHELSIO_T1 is not set | 474 | # CONFIG_CHELSIO_T1 is not set |
473 | # CONFIG_CHELSIO_T3 is not set | 475 | # CONFIG_CHELSIO_T3 is not set |
476 | # CONFIG_ENIC is not set | ||
474 | # CONFIG_IXGBE is not set | 477 | # CONFIG_IXGBE is not set |
475 | # CONFIG_IXGB is not set | 478 | # CONFIG_IXGB is not set |
476 | # CONFIG_S2IO is not set | 479 | # CONFIG_S2IO is not set |
477 | # CONFIG_MYRI10GE is not set | 480 | # CONFIG_MYRI10GE is not set |
478 | # CONFIG_NETXEN_NIC is not set | 481 | # CONFIG_NETXEN_NIC is not set |
479 | # CONFIG_NIU is not set | 482 | # CONFIG_NIU is not set |
483 | # CONFIG_MLX4_EN is not set | ||
480 | # CONFIG_MLX4_CORE is not set | 484 | # CONFIG_MLX4_CORE is not set |
481 | # CONFIG_TEHUTI is not set | 485 | # CONFIG_TEHUTI is not set |
482 | # CONFIG_BNX2X is not set | 486 | # CONFIG_BNX2X is not set |
487 | # CONFIG_QLGE is not set | ||
483 | # CONFIG_SFC is not set | 488 | # CONFIG_SFC is not set |
484 | # CONFIG_TR is not set | 489 | # CONFIG_TR is not set |
485 | 490 | ||
@@ -576,6 +581,8 @@ CONFIG_SSB_POSSIBLE=y | |||
576 | # CONFIG_MFD_CORE is not set | 581 | # CONFIG_MFD_CORE is not set |
577 | # CONFIG_MFD_SM501 is not set | 582 | # CONFIG_MFD_SM501 is not set |
578 | # CONFIG_HTC_PASIC3 is not set | 583 | # CONFIG_HTC_PASIC3 is not set |
584 | # CONFIG_MFD_TMIO is not set | ||
585 | # CONFIG_MFD_WM8400 is not set | ||
579 | 586 | ||
580 | # | 587 | # |
581 | # Multimedia devices | 588 | # Multimedia devices |
@@ -617,9 +624,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
617 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 624 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
618 | 625 | ||
619 | # | 626 | # |
627 | # Enable Host or Gadget support to see Inventra options | ||
628 | # | ||
629 | |||
630 | # | ||
620 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 631 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
621 | # | 632 | # |
622 | # CONFIG_USB_GADGET is not set | 633 | # CONFIG_USB_GADGET is not set |
634 | # CONFIG_UWB is not set | ||
623 | # CONFIG_MMC is not set | 635 | # CONFIG_MMC is not set |
624 | # CONFIG_MEMSTICK is not set | 636 | # CONFIG_MEMSTICK is not set |
625 | # CONFIG_NEW_LEDS is not set | 637 | # CONFIG_NEW_LEDS is not set |
@@ -629,6 +641,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
629 | # CONFIG_RTC_CLASS is not set | 641 | # CONFIG_RTC_CLASS is not set |
630 | # CONFIG_DMADEVICES is not set | 642 | # CONFIG_DMADEVICES is not set |
631 | # CONFIG_UIO is not set | 643 | # CONFIG_UIO is not set |
644 | # CONFIG_STAGING is not set | ||
632 | 645 | ||
633 | # | 646 | # |
634 | # File systems | 647 | # File systems |
@@ -637,10 +650,11 @@ CONFIG_EXT2_FS=y | |||
637 | # CONFIG_EXT2_FS_XATTR is not set | 650 | # CONFIG_EXT2_FS_XATTR is not set |
638 | # CONFIG_EXT2_FS_XIP is not set | 651 | # CONFIG_EXT2_FS_XIP is not set |
639 | # CONFIG_EXT3_FS is not set | 652 | # CONFIG_EXT3_FS is not set |
640 | # CONFIG_EXT4DEV_FS is not set | 653 | # CONFIG_EXT4_FS is not set |
641 | # CONFIG_REISERFS_FS is not set | 654 | # CONFIG_REISERFS_FS is not set |
642 | # CONFIG_JFS_FS is not set | 655 | # CONFIG_JFS_FS is not set |
643 | # CONFIG_FS_POSIX_ACL is not set | 656 | # CONFIG_FS_POSIX_ACL is not set |
657 | CONFIG_FILE_LOCKING=y | ||
644 | # CONFIG_XFS_FS is not set | 658 | # CONFIG_XFS_FS is not set |
645 | # CONFIG_OCFS2_FS is not set | 659 | # CONFIG_OCFS2_FS is not set |
646 | CONFIG_DNOTIFY=y | 660 | CONFIG_DNOTIFY=y |
@@ -670,6 +684,7 @@ CONFIG_INOTIFY_USER=y | |||
670 | CONFIG_PROC_FS=y | 684 | CONFIG_PROC_FS=y |
671 | CONFIG_PROC_KCORE=y | 685 | CONFIG_PROC_KCORE=y |
672 | CONFIG_PROC_SYSCTL=y | 686 | CONFIG_PROC_SYSCTL=y |
687 | CONFIG_PROC_PAGE_MONITOR=y | ||
673 | CONFIG_SYSFS=y | 688 | CONFIG_SYSFS=y |
674 | CONFIG_TMPFS=y | 689 | CONFIG_TMPFS=y |
675 | # CONFIG_TMPFS_POSIX_ACL is not set | 690 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -706,6 +721,7 @@ CONFIG_LOCKD=y | |||
706 | CONFIG_LOCKD_V4=y | 721 | CONFIG_LOCKD_V4=y |
707 | CONFIG_NFS_COMMON=y | 722 | CONFIG_NFS_COMMON=y |
708 | CONFIG_SUNRPC=y | 723 | CONFIG_SUNRPC=y |
724 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
709 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 725 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
710 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 726 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
711 | # CONFIG_SMB_FS is not set | 727 | # CONFIG_SMB_FS is not set |
@@ -726,7 +742,6 @@ CONFIG_MSDOS_PARTITION=y | |||
726 | # Library routines | 742 | # Library routines |
727 | # | 743 | # |
728 | CONFIG_BITREVERSE=y | 744 | CONFIG_BITREVERSE=y |
729 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
730 | # CONFIG_CRC_CCITT is not set | 745 | # CONFIG_CRC_CCITT is not set |
731 | # CONFIG_CRC16 is not set | 746 | # CONFIG_CRC16 is not set |
732 | # CONFIG_CRC_T10DIF is not set | 747 | # CONFIG_CRC_T10DIF is not set |
@@ -779,14 +794,21 @@ CONFIG_SCHED_DEBUG=y | |||
779 | # CONFIG_DEBUG_SG is not set | 794 | # CONFIG_DEBUG_SG is not set |
780 | # CONFIG_BOOT_PRINTK_DELAY is not set | 795 | # CONFIG_BOOT_PRINTK_DELAY is not set |
781 | # CONFIG_RCU_TORTURE_TEST is not set | 796 | # CONFIG_RCU_TORTURE_TEST is not set |
797 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
782 | # CONFIG_BACKTRACE_SELF_TEST is not set | 798 | # CONFIG_BACKTRACE_SELF_TEST is not set |
799 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
783 | # CONFIG_FAULT_INJECTION is not set | 800 | # CONFIG_FAULT_INJECTION is not set |
784 | # CONFIG_LATENCYTOP is not set | 801 | # CONFIG_LATENCYTOP is not set |
802 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
803 | CONFIG_NOP_TRACER=y | ||
785 | CONFIG_HAVE_FTRACE=y | 804 | CONFIG_HAVE_FTRACE=y |
786 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 805 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
787 | # CONFIG_FTRACE is not set | 806 | # CONFIG_FTRACE is not set |
788 | # CONFIG_SCHED_TRACER is not set | 807 | # CONFIG_SCHED_TRACER is not set |
789 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 808 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
809 | # CONFIG_BOOT_TRACER is not set | ||
810 | # CONFIG_STACK_TRACER is not set | ||
811 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
790 | # CONFIG_SAMPLES is not set | 812 | # CONFIG_SAMPLES is not set |
791 | CONFIG_HAVE_ARCH_KGDB=y | 813 | CONFIG_HAVE_ARCH_KGDB=y |
792 | # CONFIG_KGDB is not set | 814 | # CONFIG_KGDB is not set |
@@ -795,6 +817,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
795 | # CONFIG_DEBUG_PAGEALLOC is not set | 817 | # CONFIG_DEBUG_PAGEALLOC is not set |
796 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 818 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
797 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 819 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
820 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
798 | # CONFIG_XMON is not set | 821 | # CONFIG_XMON is not set |
799 | # CONFIG_IRQSTACKS is not set | 822 | # CONFIG_IRQSTACKS is not set |
800 | # CONFIG_BDI_SWITCH is not set | 823 | # CONFIG_BDI_SWITCH is not set |
@@ -805,14 +828,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
805 | # | 828 | # |
806 | # CONFIG_KEYS is not set | 829 | # CONFIG_KEYS is not set |
807 | # CONFIG_SECURITY is not set | 830 | # CONFIG_SECURITY is not set |
831 | # CONFIG_SECURITYFS is not set | ||
808 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 832 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
809 | CONFIG_CRYPTO=y | 833 | CONFIG_CRYPTO=y |
810 | 834 | ||
811 | # | 835 | # |
812 | # Crypto core or helper | 836 | # Crypto core or helper |
813 | # | 837 | # |
838 | # CONFIG_CRYPTO_FIPS is not set | ||
814 | CONFIG_CRYPTO_ALGAPI=y | 839 | CONFIG_CRYPTO_ALGAPI=y |
840 | CONFIG_CRYPTO_AEAD=y | ||
815 | CONFIG_CRYPTO_BLKCIPHER=y | 841 | CONFIG_CRYPTO_BLKCIPHER=y |
842 | CONFIG_CRYPTO_HASH=y | ||
843 | CONFIG_CRYPTO_RNG=y | ||
816 | CONFIG_CRYPTO_MANAGER=y | 844 | CONFIG_CRYPTO_MANAGER=y |
817 | # CONFIG_CRYPTO_GF128MUL is not set | 845 | # CONFIG_CRYPTO_GF128MUL is not set |
818 | # CONFIG_CRYPTO_NULL is not set | 846 | # CONFIG_CRYPTO_NULL is not set |
@@ -885,6 +913,11 @@ CONFIG_CRYPTO_DES=y | |||
885 | # | 913 | # |
886 | # CONFIG_CRYPTO_DEFLATE is not set | 914 | # CONFIG_CRYPTO_DEFLATE is not set |
887 | # CONFIG_CRYPTO_LZO is not set | 915 | # CONFIG_CRYPTO_LZO is not set |
916 | |||
917 | # | ||
918 | # Random Number Generation | ||
919 | # | ||
920 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
888 | CONFIG_CRYPTO_HW=y | 921 | CONFIG_CRYPTO_HW=y |
889 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 922 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
890 | # CONFIG_PPC_CLOCK is not set | 923 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig index 0479648a9141..927f829e2087 100644 --- a/arch/powerpc/configs/44x/rainier_defconfig +++ b/arch/powerpc/configs/44x/rainier_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:09:35 2008 | 4 | # Tue Oct 28 09:16:13 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y | |||
22 | CONFIG_NOT_COHERENT_CACHE=y | 22 | CONFIG_NOT_COHERENT_CACHE=y |
23 | CONFIG_PPC32=y | 23 | CONFIG_PPC32=y |
24 | CONFIG_WORD_SIZE=32 | 24 | CONFIG_WORD_SIZE=32 |
25 | CONFIG_PPC_MERGE=y | 25 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
26 | CONFIG_MMU=y | 26 | CONFIG_MMU=y |
27 | CONFIG_GENERIC_CMOS_UPDATE=y | 27 | CONFIG_GENERIC_CMOS_UPDATE=y |
28 | CONFIG_GENERIC_TIME=y | 28 | CONFIG_GENERIC_TIME=y |
29 | CONFIG_GENERIC_TIME_VSYSCALL=y | 29 | CONFIG_GENERIC_TIME_VSYSCALL=y |
30 | CONFIG_GENERIC_CLOCKEVENTS=y | 30 | CONFIG_GENERIC_CLOCKEVENTS=y |
31 | CONFIG_GENERIC_HARDIRQS=y | 31 | CONFIG_GENERIC_HARDIRQS=y |
32 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 32 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
34 | CONFIG_IRQ_PER_CPU=y | 33 | CONFIG_IRQ_PER_CPU=y |
35 | CONFIG_STACKTRACE_SUPPORT=y | 34 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
91 | CONFIG_SYSCTL=y | 90 | CONFIG_SYSCTL=y |
92 | CONFIG_EMBEDDED=y | 91 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 92 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
95 | CONFIG_KALLSYMS=y | 93 | CONFIG_KALLSYMS=y |
96 | # CONFIG_KALLSYMS_ALL is not set | 94 | # CONFIG_KALLSYMS_ALL is not set |
97 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y | |||
108 | CONFIG_TIMERFD=y | 106 | CONFIG_TIMERFD=y |
109 | CONFIG_EVENTFD=y | 107 | CONFIG_EVENTFD=y |
110 | CONFIG_SHMEM=y | 108 | CONFIG_SHMEM=y |
109 | CONFIG_AIO=y | ||
111 | CONFIG_VM_EVENT_COUNTERS=y | 110 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | ||
112 | CONFIG_SLUB_DEBUG=y | 112 | CONFIG_SLUB_DEBUG=y |
113 | # CONFIG_SLAB is not set | 113 | # CONFIG_SLAB is not set |
114 | CONFIG_SLUB=y | 114 | CONFIG_SLUB=y |
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 122 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 123 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 124 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
126 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
127 | # CONFIG_HAVE_CLK is not set | ||
128 | CONFIG_PROC_PAGE_MONITOR=y | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 126 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 127 | CONFIG_RT_MUTEXES=y |
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 155 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
160 | CONFIG_CLASSIC_RCU=y | 156 | CONFIG_CLASSIC_RCU=y |
157 | # CONFIG_FREEZER is not set | ||
161 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 158 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
162 | 159 | ||
163 | # | 160 | # |
@@ -174,9 +171,13 @@ CONFIG_CLASSIC_RCU=y | |||
174 | # CONFIG_KATMAI is not set | 171 | # CONFIG_KATMAI is not set |
175 | CONFIG_RAINIER=y | 172 | CONFIG_RAINIER=y |
176 | # CONFIG_WARP is not set | 173 | # CONFIG_WARP is not set |
174 | # CONFIG_ARCHES is not set | ||
177 | # CONFIG_CANYONLANDS is not set | 175 | # CONFIG_CANYONLANDS is not set |
176 | # CONFIG_GLACIER is not set | ||
178 | # CONFIG_YOSEMITE is not set | 177 | # CONFIG_YOSEMITE is not set |
179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 178 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
179 | CONFIG_PPC44x_SIMPLE=y | ||
180 | # CONFIG_PPC4xx_GPIO is not set | ||
180 | CONFIG_440GRX=y | 181 | CONFIG_440GRX=y |
181 | # CONFIG_IPIC is not set | 182 | # CONFIG_IPIC is not set |
182 | # CONFIG_MPIC is not set | 183 | # CONFIG_MPIC is not set |
@@ -195,7 +196,6 @@ CONFIG_440GRX=y | |||
195 | # Kernel options | 196 | # Kernel options |
196 | # | 197 | # |
197 | # CONFIG_HIGHMEM is not set | 198 | # CONFIG_HIGHMEM is not set |
198 | # CONFIG_TICK_ONESHOT is not set | ||
199 | # CONFIG_NO_HZ is not set | 199 | # CONFIG_NO_HZ is not set |
200 | # CONFIG_HIGH_RES_TIMERS is not set | 200 | # CONFIG_HIGH_RES_TIMERS is not set |
201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -209,6 +209,8 @@ CONFIG_PREEMPT_NONE=y | |||
209 | # CONFIG_PREEMPT_VOLUNTARY is not set | 209 | # CONFIG_PREEMPT_VOLUNTARY is not set |
210 | # CONFIG_PREEMPT is not set | 210 | # CONFIG_PREEMPT is not set |
211 | CONFIG_BINFMT_ELF=y | 211 | CONFIG_BINFMT_ELF=y |
212 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
213 | # CONFIG_HAVE_AOUT is not set | ||
212 | # CONFIG_BINFMT_MISC is not set | 214 | # CONFIG_BINFMT_MISC is not set |
213 | CONFIG_MATH_EMULATION=y | 215 | CONFIG_MATH_EMULATION=y |
214 | # CONFIG_IOMMU_HELPER is not set | 216 | # CONFIG_IOMMU_HELPER is not set |
@@ -223,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
223 | # CONFIG_SPARSEMEM_MANUAL is not set | 225 | # CONFIG_SPARSEMEM_MANUAL is not set |
224 | CONFIG_FLATMEM=y | 226 | CONFIG_FLATMEM=y |
225 | CONFIG_FLAT_NODE_MEM_MAP=y | 227 | CONFIG_FLAT_NODE_MEM_MAP=y |
226 | # CONFIG_SPARSEMEM_STATIC is not set | ||
227 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
228 | CONFIG_PAGEFLAGS_EXTENDED=y | 228 | CONFIG_PAGEFLAGS_EXTENDED=y |
229 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 229 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
230 | CONFIG_MIGRATION=y | 230 | CONFIG_MIGRATION=y |
231 | CONFIG_RESOURCES_64BIT=y | 231 | CONFIG_RESOURCES_64BIT=y |
232 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
232 | CONFIG_ZONE_DMA_FLAG=1 | 233 | CONFIG_ZONE_DMA_FLAG=1 |
233 | CONFIG_BOUNCE=y | 234 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 235 | CONFIG_VIRT_TO_BUS=y |
236 | CONFIG_UNEVICTABLE_LRU=y | ||
235 | CONFIG_FORCE_MAX_ZONEORDER=11 | 237 | CONFIG_FORCE_MAX_ZONEORDER=11 |
236 | CONFIG_PROC_DEVICETREE=y | 238 | CONFIG_PROC_DEVICETREE=y |
237 | CONFIG_CMDLINE_BOOL=y | 239 | CONFIG_CMDLINE_BOOL=y |
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
318 | # CONFIG_TIPC is not set | 320 | # CONFIG_TIPC is not set |
319 | # CONFIG_ATM is not set | 321 | # CONFIG_ATM is not set |
320 | # CONFIG_BRIDGE is not set | 322 | # CONFIG_BRIDGE is not set |
323 | # CONFIG_NET_DSA is not set | ||
321 | # CONFIG_VLAN_8021Q is not set | 324 | # CONFIG_VLAN_8021Q is not set |
322 | # CONFIG_DECNET is not set | 325 | # CONFIG_DECNET is not set |
323 | # CONFIG_LLC2 is not set | 326 | # CONFIG_LLC2 is not set |
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
338 | # CONFIG_IRDA is not set | 341 | # CONFIG_IRDA is not set |
339 | # CONFIG_BT is not set | 342 | # CONFIG_BT is not set |
340 | # CONFIG_AF_RXRPC is not set | 343 | # CONFIG_AF_RXRPC is not set |
341 | 344 | # CONFIG_PHONET is not set | |
342 | # | 345 | # CONFIG_WIRELESS is not set |
343 | # Wireless | ||
344 | # | ||
345 | # CONFIG_CFG80211 is not set | ||
346 | # CONFIG_WIRELESS_EXT is not set | ||
347 | # CONFIG_MAC80211 is not set | ||
348 | # CONFIG_IEEE80211 is not set | ||
349 | # CONFIG_RFKILL is not set | 346 | # CONFIG_RFKILL is not set |
350 | # CONFIG_NET_9P is not set | 347 | # CONFIG_NET_9P is not set |
351 | 348 | ||
@@ -532,18 +529,22 @@ CONFIG_NETDEV_1000=y | |||
532 | # CONFIG_QLA3XXX is not set | 529 | # CONFIG_QLA3XXX is not set |
533 | # CONFIG_ATL1 is not set | 530 | # CONFIG_ATL1 is not set |
534 | # CONFIG_ATL1E is not set | 531 | # CONFIG_ATL1E is not set |
532 | # CONFIG_JME is not set | ||
535 | CONFIG_NETDEV_10000=y | 533 | CONFIG_NETDEV_10000=y |
536 | # CONFIG_CHELSIO_T1 is not set | 534 | # CONFIG_CHELSIO_T1 is not set |
537 | # CONFIG_CHELSIO_T3 is not set | 535 | # CONFIG_CHELSIO_T3 is not set |
536 | # CONFIG_ENIC is not set | ||
538 | # CONFIG_IXGBE is not set | 537 | # CONFIG_IXGBE is not set |
539 | # CONFIG_IXGB is not set | 538 | # CONFIG_IXGB is not set |
540 | # CONFIG_S2IO is not set | 539 | # CONFIG_S2IO is not set |
541 | # CONFIG_MYRI10GE is not set | 540 | # CONFIG_MYRI10GE is not set |
542 | # CONFIG_NETXEN_NIC is not set | 541 | # CONFIG_NETXEN_NIC is not set |
543 | # CONFIG_NIU is not set | 542 | # CONFIG_NIU is not set |
543 | # CONFIG_MLX4_EN is not set | ||
544 | # CONFIG_MLX4_CORE is not set | 544 | # CONFIG_MLX4_CORE is not set |
545 | # CONFIG_TEHUTI is not set | 545 | # CONFIG_TEHUTI is not set |
546 | # CONFIG_BNX2X is not set | 546 | # CONFIG_BNX2X is not set |
547 | # CONFIG_QLGE is not set | ||
547 | # CONFIG_SFC is not set | 548 | # CONFIG_SFC is not set |
548 | # CONFIG_TR is not set | 549 | # CONFIG_TR is not set |
549 | 550 | ||
@@ -639,6 +640,8 @@ CONFIG_SSB_POSSIBLE=y | |||
639 | # CONFIG_MFD_CORE is not set | 640 | # CONFIG_MFD_CORE is not set |
640 | # CONFIG_MFD_SM501 is not set | 641 | # CONFIG_MFD_SM501 is not set |
641 | # CONFIG_HTC_PASIC3 is not set | 642 | # CONFIG_HTC_PASIC3 is not set |
643 | # CONFIG_MFD_TMIO is not set | ||
644 | # CONFIG_MFD_WM8400 is not set | ||
642 | 645 | ||
643 | # | 646 | # |
644 | # Multimedia devices | 647 | # Multimedia devices |
@@ -680,9 +683,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
680 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 683 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
681 | 684 | ||
682 | # | 685 | # |
686 | # Enable Host or Gadget support to see Inventra options | ||
687 | # | ||
688 | |||
689 | # | ||
683 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 690 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
684 | # | 691 | # |
685 | # CONFIG_USB_GADGET is not set | 692 | # CONFIG_USB_GADGET is not set |
693 | # CONFIG_UWB is not set | ||
686 | # CONFIG_MMC is not set | 694 | # CONFIG_MMC is not set |
687 | # CONFIG_MEMSTICK is not set | 695 | # CONFIG_MEMSTICK is not set |
688 | # CONFIG_NEW_LEDS is not set | 696 | # CONFIG_NEW_LEDS is not set |
@@ -692,6 +700,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
692 | # CONFIG_RTC_CLASS is not set | 700 | # CONFIG_RTC_CLASS is not set |
693 | # CONFIG_DMADEVICES is not set | 701 | # CONFIG_DMADEVICES is not set |
694 | # CONFIG_UIO is not set | 702 | # CONFIG_UIO is not set |
703 | # CONFIG_STAGING is not set | ||
695 | 704 | ||
696 | # | 705 | # |
697 | # File systems | 706 | # File systems |
@@ -700,10 +709,11 @@ CONFIG_EXT2_FS=y | |||
700 | # CONFIG_EXT2_FS_XATTR is not set | 709 | # CONFIG_EXT2_FS_XATTR is not set |
701 | # CONFIG_EXT2_FS_XIP is not set | 710 | # CONFIG_EXT2_FS_XIP is not set |
702 | # CONFIG_EXT3_FS is not set | 711 | # CONFIG_EXT3_FS is not set |
703 | # CONFIG_EXT4DEV_FS is not set | 712 | # CONFIG_EXT4_FS is not set |
704 | # CONFIG_REISERFS_FS is not set | 713 | # CONFIG_REISERFS_FS is not set |
705 | # CONFIG_JFS_FS is not set | 714 | # CONFIG_JFS_FS is not set |
706 | # CONFIG_FS_POSIX_ACL is not set | 715 | # CONFIG_FS_POSIX_ACL is not set |
716 | CONFIG_FILE_LOCKING=y | ||
707 | # CONFIG_XFS_FS is not set | 717 | # CONFIG_XFS_FS is not set |
708 | # CONFIG_OCFS2_FS is not set | 718 | # CONFIG_OCFS2_FS is not set |
709 | CONFIG_DNOTIFY=y | 719 | CONFIG_DNOTIFY=y |
@@ -733,6 +743,7 @@ CONFIG_INOTIFY_USER=y | |||
733 | CONFIG_PROC_FS=y | 743 | CONFIG_PROC_FS=y |
734 | CONFIG_PROC_KCORE=y | 744 | CONFIG_PROC_KCORE=y |
735 | CONFIG_PROC_SYSCTL=y | 745 | CONFIG_PROC_SYSCTL=y |
746 | CONFIG_PROC_PAGE_MONITOR=y | ||
736 | CONFIG_SYSFS=y | 747 | CONFIG_SYSFS=y |
737 | CONFIG_TMPFS=y | 748 | CONFIG_TMPFS=y |
738 | # CONFIG_TMPFS_POSIX_ACL is not set | 749 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -780,6 +791,7 @@ CONFIG_LOCKD=y | |||
780 | CONFIG_LOCKD_V4=y | 791 | CONFIG_LOCKD_V4=y |
781 | CONFIG_NFS_COMMON=y | 792 | CONFIG_NFS_COMMON=y |
782 | CONFIG_SUNRPC=y | 793 | CONFIG_SUNRPC=y |
794 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
783 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 795 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
784 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 796 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
785 | # CONFIG_SMB_FS is not set | 797 | # CONFIG_SMB_FS is not set |
@@ -800,7 +812,6 @@ CONFIG_MSDOS_PARTITION=y | |||
800 | # Library routines | 812 | # Library routines |
801 | # | 813 | # |
802 | CONFIG_BITREVERSE=y | 814 | CONFIG_BITREVERSE=y |
803 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
804 | # CONFIG_CRC_CCITT is not set | 815 | # CONFIG_CRC_CCITT is not set |
805 | # CONFIG_CRC16 is not set | 816 | # CONFIG_CRC16 is not set |
806 | # CONFIG_CRC_T10DIF is not set | 817 | # CONFIG_CRC_T10DIF is not set |
@@ -854,14 +865,21 @@ CONFIG_SCHED_DEBUG=y | |||
854 | # CONFIG_DEBUG_SG is not set | 865 | # CONFIG_DEBUG_SG is not set |
855 | # CONFIG_BOOT_PRINTK_DELAY is not set | 866 | # CONFIG_BOOT_PRINTK_DELAY is not set |
856 | # CONFIG_RCU_TORTURE_TEST is not set | 867 | # CONFIG_RCU_TORTURE_TEST is not set |
868 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
857 | # CONFIG_BACKTRACE_SELF_TEST is not set | 869 | # CONFIG_BACKTRACE_SELF_TEST is not set |
870 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
858 | # CONFIG_FAULT_INJECTION is not set | 871 | # CONFIG_FAULT_INJECTION is not set |
859 | # CONFIG_LATENCYTOP is not set | 872 | # CONFIG_LATENCYTOP is not set |
873 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
874 | CONFIG_NOP_TRACER=y | ||
860 | CONFIG_HAVE_FTRACE=y | 875 | CONFIG_HAVE_FTRACE=y |
861 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 876 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
862 | # CONFIG_FTRACE is not set | 877 | # CONFIG_FTRACE is not set |
863 | # CONFIG_SCHED_TRACER is not set | 878 | # CONFIG_SCHED_TRACER is not set |
864 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 879 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
880 | # CONFIG_BOOT_TRACER is not set | ||
881 | # CONFIG_STACK_TRACER is not set | ||
882 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
865 | # CONFIG_SAMPLES is not set | 883 | # CONFIG_SAMPLES is not set |
866 | CONFIG_HAVE_ARCH_KGDB=y | 884 | CONFIG_HAVE_ARCH_KGDB=y |
867 | # CONFIG_KGDB is not set | 885 | # CONFIG_KGDB is not set |
@@ -870,6 +888,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
870 | # CONFIG_DEBUG_PAGEALLOC is not set | 888 | # CONFIG_DEBUG_PAGEALLOC is not set |
871 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 889 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
872 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 890 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
891 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
873 | # CONFIG_XMON is not set | 892 | # CONFIG_XMON is not set |
874 | # CONFIG_IRQSTACKS is not set | 893 | # CONFIG_IRQSTACKS is not set |
875 | # CONFIG_VIRQ_DEBUG is not set | 894 | # CONFIG_VIRQ_DEBUG is not set |
@@ -894,14 +913,19 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1 | |||
894 | # | 913 | # |
895 | # CONFIG_KEYS is not set | 914 | # CONFIG_KEYS is not set |
896 | # CONFIG_SECURITY is not set | 915 | # CONFIG_SECURITY is not set |
916 | # CONFIG_SECURITYFS is not set | ||
897 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 917 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
898 | CONFIG_CRYPTO=y | 918 | CONFIG_CRYPTO=y |
899 | 919 | ||
900 | # | 920 | # |
901 | # Crypto core or helper | 921 | # Crypto core or helper |
902 | # | 922 | # |
923 | # CONFIG_CRYPTO_FIPS is not set | ||
903 | CONFIG_CRYPTO_ALGAPI=y | 924 | CONFIG_CRYPTO_ALGAPI=y |
925 | CONFIG_CRYPTO_AEAD=y | ||
904 | CONFIG_CRYPTO_BLKCIPHER=y | 926 | CONFIG_CRYPTO_BLKCIPHER=y |
927 | CONFIG_CRYPTO_HASH=y | ||
928 | CONFIG_CRYPTO_RNG=y | ||
905 | CONFIG_CRYPTO_MANAGER=y | 929 | CONFIG_CRYPTO_MANAGER=y |
906 | # CONFIG_CRYPTO_GF128MUL is not set | 930 | # CONFIG_CRYPTO_GF128MUL is not set |
907 | # CONFIG_CRYPTO_NULL is not set | 931 | # CONFIG_CRYPTO_NULL is not set |
@@ -974,6 +998,11 @@ CONFIG_CRYPTO_DES=y | |||
974 | # | 998 | # |
975 | # CONFIG_CRYPTO_DEFLATE is not set | 999 | # CONFIG_CRYPTO_DEFLATE is not set |
976 | # CONFIG_CRYPTO_LZO is not set | 1000 | # CONFIG_CRYPTO_LZO is not set |
1001 | |||
1002 | # | ||
1003 | # Random Number Generation | ||
1004 | # | ||
1005 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
977 | CONFIG_CRYPTO_HW=y | 1006 | CONFIG_CRYPTO_HW=y |
978 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1007 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
979 | # CONFIG_PPC_CLOCK is not set | 1008 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig index 0ed2de05f4e8..15f48e03ec2e 100644 --- a/arch/powerpc/configs/44x/sam440ep_defconfig +++ b/arch/powerpc/configs/44x/sam440ep_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:12:48 2008 | 4 | # Tue Oct 28 09:16:15 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -93,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
93 | CONFIG_SYSCTL=y | 92 | CONFIG_SYSCTL=y |
94 | CONFIG_EMBEDDED=y | 93 | CONFIG_EMBEDDED=y |
95 | CONFIG_SYSCTL_SYSCALL=y | 94 | CONFIG_SYSCTL_SYSCALL=y |
96 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
97 | CONFIG_KALLSYMS=y | 95 | CONFIG_KALLSYMS=y |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
99 | CONFIG_HOTPLUG=y | 97 | CONFIG_HOTPLUG=y |
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y | |||
109 | CONFIG_TIMERFD=y | 107 | CONFIG_TIMERFD=y |
110 | CONFIG_EVENTFD=y | 108 | CONFIG_EVENTFD=y |
111 | CONFIG_SHMEM=y | 109 | CONFIG_SHMEM=y |
110 | CONFIG_AIO=y | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 111 | CONFIG_VM_EVENT_COUNTERS=y |
112 | CONFIG_PCI_QUIRKS=y | ||
113 | CONFIG_SLUB_DEBUG=y | 113 | CONFIG_SLUB_DEBUG=y |
114 | # CONFIG_SLAB is not set | 114 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 115 | CONFIG_SLUB=y |
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
123 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
127 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
128 | # CONFIG_HAVE_CLK is not set | ||
129 | CONFIG_PROC_PAGE_MONITOR=y | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 127 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 128 | CONFIG_RT_MUTEXES=y |
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y | |||
159 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
161 | CONFIG_CLASSIC_RCU=y | 157 | CONFIG_CLASSIC_RCU=y |
158 | # CONFIG_FREEZER is not set | ||
162 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 159 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
163 | 160 | ||
164 | # | 161 | # |
@@ -175,9 +172,13 @@ CONFIG_SAM440EP=y | |||
175 | # CONFIG_KATMAI is not set | 172 | # CONFIG_KATMAI is not set |
176 | # CONFIG_RAINIER is not set | 173 | # CONFIG_RAINIER is not set |
177 | # CONFIG_WARP is not set | 174 | # CONFIG_WARP is not set |
175 | # CONFIG_ARCHES is not set | ||
178 | # CONFIG_CANYONLANDS is not set | 176 | # CONFIG_CANYONLANDS is not set |
177 | # CONFIG_GLACIER is not set | ||
179 | # CONFIG_YOSEMITE is not set | 178 | # CONFIG_YOSEMITE is not set |
180 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
180 | # CONFIG_PPC44x_SIMPLE is not set | ||
181 | # CONFIG_PPC4xx_GPIO is not set | ||
181 | CONFIG_440EP=y | 182 | CONFIG_440EP=y |
182 | CONFIG_IBM440EP_ERR42=y | 183 | CONFIG_IBM440EP_ERR42=y |
183 | # CONFIG_IPIC is not set | 184 | # CONFIG_IPIC is not set |
@@ -197,7 +198,6 @@ CONFIG_IBM440EP_ERR42=y | |||
197 | # Kernel options | 198 | # Kernel options |
198 | # | 199 | # |
199 | # CONFIG_HIGHMEM is not set | 200 | # CONFIG_HIGHMEM is not set |
200 | # CONFIG_TICK_ONESHOT is not set | ||
201 | # CONFIG_NO_HZ is not set | 201 | # CONFIG_NO_HZ is not set |
202 | # CONFIG_HIGH_RES_TIMERS is not set | 202 | # CONFIG_HIGH_RES_TIMERS is not set |
203 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 203 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -211,6 +211,8 @@ CONFIG_PREEMPT_NONE=y | |||
211 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
212 | # CONFIG_PREEMPT is not set | 212 | # CONFIG_PREEMPT is not set |
213 | CONFIG_BINFMT_ELF=y | 213 | CONFIG_BINFMT_ELF=y |
214 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
215 | # CONFIG_HAVE_AOUT is not set | ||
214 | # CONFIG_BINFMT_MISC is not set | 216 | # CONFIG_BINFMT_MISC is not set |
215 | # CONFIG_MATH_EMULATION is not set | 217 | # CONFIG_MATH_EMULATION is not set |
216 | # CONFIG_IOMMU_HELPER is not set | 218 | # CONFIG_IOMMU_HELPER is not set |
@@ -225,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
225 | # CONFIG_SPARSEMEM_MANUAL is not set | 227 | # CONFIG_SPARSEMEM_MANUAL is not set |
226 | CONFIG_FLATMEM=y | 228 | CONFIG_FLATMEM=y |
227 | CONFIG_FLAT_NODE_MEM_MAP=y | 229 | CONFIG_FLAT_NODE_MEM_MAP=y |
228 | # CONFIG_SPARSEMEM_STATIC is not set | ||
229 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
230 | CONFIG_PAGEFLAGS_EXTENDED=y | 230 | CONFIG_PAGEFLAGS_EXTENDED=y |
231 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 231 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
232 | CONFIG_MIGRATION=y | 232 | CONFIG_MIGRATION=y |
233 | CONFIG_RESOURCES_64BIT=y | 233 | CONFIG_RESOURCES_64BIT=y |
234 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
234 | CONFIG_ZONE_DMA_FLAG=1 | 235 | CONFIG_ZONE_DMA_FLAG=1 |
235 | CONFIG_BOUNCE=y | 236 | CONFIG_BOUNCE=y |
236 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
238 | CONFIG_UNEVICTABLE_LRU=y | ||
237 | CONFIG_FORCE_MAX_ZONEORDER=11 | 239 | CONFIG_FORCE_MAX_ZONEORDER=11 |
238 | CONFIG_PROC_DEVICETREE=y | 240 | CONFIG_PROC_DEVICETREE=y |
239 | CONFIG_CMDLINE_BOOL=y | 241 | CONFIG_CMDLINE_BOOL=y |
@@ -319,6 +321,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
319 | # CONFIG_TIPC is not set | 321 | # CONFIG_TIPC is not set |
320 | # CONFIG_ATM is not set | 322 | # CONFIG_ATM is not set |
321 | # CONFIG_BRIDGE is not set | 323 | # CONFIG_BRIDGE is not set |
324 | # CONFIG_NET_DSA is not set | ||
322 | # CONFIG_VLAN_8021Q is not set | 325 | # CONFIG_VLAN_8021Q is not set |
323 | # CONFIG_DECNET is not set | 326 | # CONFIG_DECNET is not set |
324 | # CONFIG_LLC2 is not set | 327 | # CONFIG_LLC2 is not set |
@@ -339,14 +342,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_IRDA is not set | 342 | # CONFIG_IRDA is not set |
340 | # CONFIG_BT is not set | 343 | # CONFIG_BT is not set |
341 | # CONFIG_AF_RXRPC is not set | 344 | # CONFIG_AF_RXRPC is not set |
342 | 345 | # CONFIG_PHONET is not set | |
343 | # | 346 | # CONFIG_WIRELESS is not set |
344 | # Wireless | ||
345 | # | ||
346 | # CONFIG_CFG80211 is not set | ||
347 | # CONFIG_WIRELESS_EXT is not set | ||
348 | # CONFIG_MAC80211 is not set | ||
349 | # CONFIG_IEEE80211 is not set | ||
350 | # CONFIG_RFKILL is not set | 347 | # CONFIG_RFKILL is not set |
351 | # CONFIG_NET_9P is not set | 348 | # CONFIG_NET_9P is not set |
352 | 349 | ||
@@ -536,8 +533,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
536 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 533 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
537 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 534 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
538 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 535 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
536 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
537 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
538 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
539 | # CONFIG_NET_PCI is not set | 539 | # CONFIG_NET_PCI is not set |
540 | # CONFIG_B44 is not set | 540 | # CONFIG_B44 is not set |
541 | # CONFIG_ATL2 is not set | ||
541 | # CONFIG_NETDEV_1000 is not set | 542 | # CONFIG_NETDEV_1000 is not set |
542 | # CONFIG_NETDEV_10000 is not set | 543 | # CONFIG_NETDEV_10000 is not set |
543 | # CONFIG_TR is not set | 544 | # CONFIG_TR is not set |
@@ -573,7 +574,7 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
573 | # Input device support | 574 | # Input device support |
574 | # | 575 | # |
575 | CONFIG_INPUT=y | 576 | CONFIG_INPUT=y |
576 | # CONFIG_INPUT_FF_MEMLESS is not set | 577 | CONFIG_INPUT_FF_MEMLESS=m |
577 | # CONFIG_INPUT_POLLDEV is not set | 578 | # CONFIG_INPUT_POLLDEV is not set |
578 | 579 | ||
579 | # | 580 | # |
@@ -607,6 +608,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y | |||
607 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 608 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
608 | # CONFIG_MOUSE_SERIAL is not set | 609 | # CONFIG_MOUSE_SERIAL is not set |
609 | # CONFIG_MOUSE_APPLETOUCH is not set | 610 | # CONFIG_MOUSE_APPLETOUCH is not set |
611 | # CONFIG_MOUSE_BCM5974 is not set | ||
610 | # CONFIG_MOUSE_VSXXXAA is not set | 612 | # CONFIG_MOUSE_VSXXXAA is not set |
611 | # CONFIG_INPUT_JOYSTICK is not set | 613 | # CONFIG_INPUT_JOYSTICK is not set |
612 | # CONFIG_INPUT_TABLET is not set | 614 | # CONFIG_INPUT_TABLET is not set |
@@ -673,6 +675,7 @@ CONFIG_DEVPORT=y | |||
673 | CONFIG_I2C=y | 675 | CONFIG_I2C=y |
674 | CONFIG_I2C_BOARDINFO=y | 676 | CONFIG_I2C_BOARDINFO=y |
675 | # CONFIG_I2C_CHARDEV is not set | 677 | # CONFIG_I2C_CHARDEV is not set |
678 | CONFIG_I2C_HELPER_AUTO=y | ||
676 | CONFIG_I2C_ALGOBIT=y | 679 | CONFIG_I2C_ALGOBIT=y |
677 | 680 | ||
678 | # | 681 | # |
@@ -761,6 +764,9 @@ CONFIG_SSB_POSSIBLE=y | |||
761 | # CONFIG_MFD_CORE is not set | 764 | # CONFIG_MFD_CORE is not set |
762 | # CONFIG_MFD_SM501 is not set | 765 | # CONFIG_MFD_SM501 is not set |
763 | # CONFIG_HTC_PASIC3 is not set | 766 | # CONFIG_HTC_PASIC3 is not set |
767 | # CONFIG_MFD_TMIO is not set | ||
768 | # CONFIG_MFD_WM8400 is not set | ||
769 | # CONFIG_MFD_WM8350_I2C is not set | ||
764 | 770 | ||
765 | # | 771 | # |
766 | # Multimedia devices | 772 | # Multimedia devices |
@@ -788,6 +794,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y | |||
788 | CONFIG_FB=y | 794 | CONFIG_FB=y |
789 | # CONFIG_FIRMWARE_EDID is not set | 795 | # CONFIG_FIRMWARE_EDID is not set |
790 | CONFIG_FB_DDC=y | 796 | CONFIG_FB_DDC=y |
797 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
791 | CONFIG_FB_CFB_FILLRECT=y | 798 | CONFIG_FB_CFB_FILLRECT=y |
792 | CONFIG_FB_CFB_COPYAREA=y | 799 | CONFIG_FB_CFB_COPYAREA=y |
793 | CONFIG_FB_CFB_IMAGEBLIT=y | 800 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -828,6 +835,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y | |||
828 | # CONFIG_FB_S3 is not set | 835 | # CONFIG_FB_S3 is not set |
829 | # CONFIG_FB_SAVAGE is not set | 836 | # CONFIG_FB_SAVAGE is not set |
830 | # CONFIG_FB_SIS is not set | 837 | # CONFIG_FB_SIS is not set |
838 | # CONFIG_FB_VIA is not set | ||
831 | # CONFIG_FB_NEOMAGIC is not set | 839 | # CONFIG_FB_NEOMAGIC is not set |
832 | # CONFIG_FB_KYRO is not set | 840 | # CONFIG_FB_KYRO is not set |
833 | # CONFIG_FB_3DFX is not set | 841 | # CONFIG_FB_3DFX is not set |
@@ -839,6 +847,7 @@ CONFIG_FB_RADEON_BACKLIGHT=y | |||
839 | # CONFIG_FB_CARMINE is not set | 847 | # CONFIG_FB_CARMINE is not set |
840 | # CONFIG_FB_IBM_GXT4500 is not set | 848 | # CONFIG_FB_IBM_GXT4500 is not set |
841 | # CONFIG_FB_VIRTUAL is not set | 849 | # CONFIG_FB_VIRTUAL is not set |
850 | # CONFIG_FB_METRONOME is not set | ||
842 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 851 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
843 | CONFIG_LCD_CLASS_DEVICE=y | 852 | CONFIG_LCD_CLASS_DEVICE=y |
844 | # CONFIG_LCD_ILI9320 is not set | 853 | # CONFIG_LCD_ILI9320 is not set |
@@ -875,9 +884,36 @@ CONFIG_HID=y | |||
875 | # USB Input Devices | 884 | # USB Input Devices |
876 | # | 885 | # |
877 | CONFIG_USB_HID=y | 886 | CONFIG_USB_HID=y |
878 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 887 | # CONFIG_HID_PID is not set |
879 | # CONFIG_HID_FF is not set | ||
880 | # CONFIG_USB_HIDDEV is not set | 888 | # CONFIG_USB_HIDDEV is not set |
889 | |||
890 | # | ||
891 | # Special HID drivers | ||
892 | # | ||
893 | CONFIG_HID_COMPAT=y | ||
894 | CONFIG_HID_A4TECH=y | ||
895 | CONFIG_HID_APPLE=y | ||
896 | CONFIG_HID_BELKIN=y | ||
897 | CONFIG_HID_BRIGHT=y | ||
898 | CONFIG_HID_CHERRY=y | ||
899 | CONFIG_HID_CHICONY=y | ||
900 | CONFIG_HID_CYPRESS=y | ||
901 | CONFIG_HID_DELL=y | ||
902 | CONFIG_HID_EZKEY=y | ||
903 | CONFIG_HID_GYRATION=y | ||
904 | CONFIG_HID_LOGITECH=y | ||
905 | # CONFIG_LOGITECH_FF is not set | ||
906 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
907 | CONFIG_HID_MICROSOFT=y | ||
908 | CONFIG_HID_MONTEREY=y | ||
909 | CONFIG_HID_PANTHERLORD=y | ||
910 | # CONFIG_PANTHERLORD_FF is not set | ||
911 | CONFIG_HID_PETALYNX=y | ||
912 | CONFIG_HID_SAMSUNG=y | ||
913 | CONFIG_HID_SONY=y | ||
914 | CONFIG_HID_SUNPLUS=y | ||
915 | CONFIG_THRUSTMASTER_FF=m | ||
916 | CONFIG_ZEROPLUS_FF=m | ||
881 | CONFIG_USB_SUPPORT=y | 917 | CONFIG_USB_SUPPORT=y |
882 | CONFIG_USB_ARCH_HAS_HCD=y | 918 | CONFIG_USB_ARCH_HAS_HCD=y |
883 | CONFIG_USB_ARCH_HAS_OHCI=y | 919 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -895,6 +931,9 @@ CONFIG_USB_DEVICEFS=y | |||
895 | # CONFIG_USB_OTG is not set | 931 | # CONFIG_USB_OTG is not set |
896 | # CONFIG_USB_OTG_WHITELIST is not set | 932 | # CONFIG_USB_OTG_WHITELIST is not set |
897 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 933 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
934 | # CONFIG_USB_MON is not set | ||
935 | # CONFIG_USB_WUSB is not set | ||
936 | # CONFIG_USB_WUSB_CBAF is not set | ||
898 | 937 | ||
899 | # | 938 | # |
900 | # USB Host Controller Drivers | 939 | # USB Host Controller Drivers |
@@ -917,6 +956,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
917 | # CONFIG_USB_UHCI_HCD is not set | 956 | # CONFIG_USB_UHCI_HCD is not set |
918 | # CONFIG_USB_SL811_HCD is not set | 957 | # CONFIG_USB_SL811_HCD is not set |
919 | # CONFIG_USB_R8A66597_HCD is not set | 958 | # CONFIG_USB_R8A66597_HCD is not set |
959 | # CONFIG_USB_WHCI_HCD is not set | ||
960 | # CONFIG_USB_HWA_HCD is not set | ||
920 | 961 | ||
921 | # | 962 | # |
922 | # USB Device Class drivers | 963 | # USB Device Class drivers |
@@ -924,6 +965,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
924 | # CONFIG_USB_ACM is not set | 965 | # CONFIG_USB_ACM is not set |
925 | # CONFIG_USB_PRINTER is not set | 966 | # CONFIG_USB_PRINTER is not set |
926 | # CONFIG_USB_WDM is not set | 967 | # CONFIG_USB_WDM is not set |
968 | # CONFIG_USB_TMC is not set | ||
927 | 969 | ||
928 | # | 970 | # |
929 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 971 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -953,7 +995,6 @@ CONFIG_USB_STORAGE=m | |||
953 | # | 995 | # |
954 | # CONFIG_USB_MDC800 is not set | 996 | # CONFIG_USB_MDC800 is not set |
955 | # CONFIG_USB_MICROTEK is not set | 997 | # CONFIG_USB_MICROTEK is not set |
956 | # CONFIG_USB_MON is not set | ||
957 | 998 | ||
958 | # | 999 | # |
959 | # USB port drivers | 1000 | # USB port drivers |
@@ -966,7 +1007,7 @@ CONFIG_USB_STORAGE=m | |||
966 | # CONFIG_USB_EMI62 is not set | 1007 | # CONFIG_USB_EMI62 is not set |
967 | # CONFIG_USB_EMI26 is not set | 1008 | # CONFIG_USB_EMI26 is not set |
968 | # CONFIG_USB_ADUTUX is not set | 1009 | # CONFIG_USB_ADUTUX is not set |
969 | # CONFIG_USB_AUERSWALD is not set | 1010 | # CONFIG_USB_SEVSEG is not set |
970 | # CONFIG_USB_RIO500 is not set | 1011 | # CONFIG_USB_RIO500 is not set |
971 | # CONFIG_USB_LEGOTOWER is not set | 1012 | # CONFIG_USB_LEGOTOWER is not set |
972 | # CONFIG_USB_LCD is not set | 1013 | # CONFIG_USB_LCD is not set |
@@ -984,7 +1025,9 @@ CONFIG_USB_STORAGE=m | |||
984 | # CONFIG_USB_IOWARRIOR is not set | 1025 | # CONFIG_USB_IOWARRIOR is not set |
985 | # CONFIG_USB_TEST is not set | 1026 | # CONFIG_USB_TEST is not set |
986 | # CONFIG_USB_ISIGHTFW is not set | 1027 | # CONFIG_USB_ISIGHTFW is not set |
1028 | # CONFIG_USB_VST is not set | ||
987 | # CONFIG_USB_GADGET is not set | 1029 | # CONFIG_USB_GADGET is not set |
1030 | # CONFIG_UWB is not set | ||
988 | # CONFIG_MMC is not set | 1031 | # CONFIG_MMC is not set |
989 | # CONFIG_MEMSTICK is not set | 1032 | # CONFIG_MEMSTICK is not set |
990 | # CONFIG_NEW_LEDS is not set | 1033 | # CONFIG_NEW_LEDS is not set |
@@ -1031,12 +1074,15 @@ CONFIG_RTC_DRV_M41T80_WDT=y | |||
1031 | # Platform RTC drivers | 1074 | # Platform RTC drivers |
1032 | # | 1075 | # |
1033 | # CONFIG_RTC_DRV_CMOS is not set | 1076 | # CONFIG_RTC_DRV_CMOS is not set |
1077 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1034 | # CONFIG_RTC_DRV_DS1511 is not set | 1078 | # CONFIG_RTC_DRV_DS1511 is not set |
1035 | # CONFIG_RTC_DRV_DS1553 is not set | 1079 | # CONFIG_RTC_DRV_DS1553 is not set |
1036 | # CONFIG_RTC_DRV_DS1742 is not set | 1080 | # CONFIG_RTC_DRV_DS1742 is not set |
1037 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1081 | # CONFIG_RTC_DRV_STK17TA8 is not set |
1038 | # CONFIG_RTC_DRV_M48T86 is not set | 1082 | # CONFIG_RTC_DRV_M48T86 is not set |
1083 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1039 | # CONFIG_RTC_DRV_M48T59 is not set | 1084 | # CONFIG_RTC_DRV_M48T59 is not set |
1085 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1040 | # CONFIG_RTC_DRV_V3020 is not set | 1086 | # CONFIG_RTC_DRV_V3020 is not set |
1041 | 1087 | ||
1042 | # | 1088 | # |
@@ -1045,6 +1091,7 @@ CONFIG_RTC_DRV_M41T80_WDT=y | |||
1045 | # CONFIG_RTC_DRV_PPC is not set | 1091 | # CONFIG_RTC_DRV_PPC is not set |
1046 | # CONFIG_DMADEVICES is not set | 1092 | # CONFIG_DMADEVICES is not set |
1047 | # CONFIG_UIO is not set | 1093 | # CONFIG_UIO is not set |
1094 | # CONFIG_STAGING is not set | ||
1048 | 1095 | ||
1049 | # | 1096 | # |
1050 | # File systems | 1097 | # File systems |
@@ -1058,7 +1105,7 @@ CONFIG_EXT3_FS=y | |||
1058 | CONFIG_EXT3_FS_XATTR=y | 1105 | CONFIG_EXT3_FS_XATTR=y |
1059 | CONFIG_EXT3_FS_POSIX_ACL=y | 1106 | CONFIG_EXT3_FS_POSIX_ACL=y |
1060 | # CONFIG_EXT3_FS_SECURITY is not set | 1107 | # CONFIG_EXT3_FS_SECURITY is not set |
1061 | # CONFIG_EXT4DEV_FS is not set | 1108 | # CONFIG_EXT4_FS is not set |
1062 | CONFIG_JBD=y | 1109 | CONFIG_JBD=y |
1063 | CONFIG_FS_MBCACHE=y | 1110 | CONFIG_FS_MBCACHE=y |
1064 | CONFIG_REISERFS_FS=y | 1111 | CONFIG_REISERFS_FS=y |
@@ -1067,6 +1114,7 @@ CONFIG_REISERFS_FS=y | |||
1067 | # CONFIG_REISERFS_FS_XATTR is not set | 1114 | # CONFIG_REISERFS_FS_XATTR is not set |
1068 | # CONFIG_JFS_FS is not set | 1115 | # CONFIG_JFS_FS is not set |
1069 | CONFIG_FS_POSIX_ACL=y | 1116 | CONFIG_FS_POSIX_ACL=y |
1117 | CONFIG_FILE_LOCKING=y | ||
1070 | # CONFIG_XFS_FS is not set | 1118 | # CONFIG_XFS_FS is not set |
1071 | # CONFIG_OCFS2_FS is not set | 1119 | # CONFIG_OCFS2_FS is not set |
1072 | CONFIG_DNOTIFY=y | 1120 | CONFIG_DNOTIFY=y |
@@ -1102,6 +1150,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1102 | CONFIG_PROC_FS=y | 1150 | CONFIG_PROC_FS=y |
1103 | CONFIG_PROC_KCORE=y | 1151 | CONFIG_PROC_KCORE=y |
1104 | CONFIG_PROC_SYSCTL=y | 1152 | CONFIG_PROC_SYSCTL=y |
1153 | CONFIG_PROC_PAGE_MONITOR=y | ||
1105 | CONFIG_SYSFS=y | 1154 | CONFIG_SYSFS=y |
1106 | CONFIG_TMPFS=y | 1155 | CONFIG_TMPFS=y |
1107 | # CONFIG_TMPFS_POSIX_ACL is not set | 1156 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -1196,7 +1245,6 @@ CONFIG_NLS_ISO8859_1=y | |||
1196 | # Library routines | 1245 | # Library routines |
1197 | # | 1246 | # |
1198 | CONFIG_BITREVERSE=y | 1247 | CONFIG_BITREVERSE=y |
1199 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1200 | # CONFIG_CRC_CCITT is not set | 1248 | # CONFIG_CRC_CCITT is not set |
1201 | # CONFIG_CRC16 is not set | 1249 | # CONFIG_CRC16 is not set |
1202 | CONFIG_CRC_T10DIF=y | 1250 | CONFIG_CRC_T10DIF=y |
@@ -1227,12 +1275,13 @@ CONFIG_MAGIC_SYSRQ=y | |||
1227 | # CONFIG_SLUB_STATS is not set | 1275 | # CONFIG_SLUB_STATS is not set |
1228 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1276 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1229 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1277 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1278 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1230 | # CONFIG_LATENCYTOP is not set | 1279 | # CONFIG_LATENCYTOP is not set |
1280 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1281 | CONFIG_NOP_TRACER=y | ||
1231 | CONFIG_HAVE_FTRACE=y | 1282 | CONFIG_HAVE_FTRACE=y |
1232 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1283 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1233 | # CONFIG_FTRACE is not set | 1284 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set |
1234 | # CONFIG_SCHED_TRACER is not set | ||
1235 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1236 | # CONFIG_SAMPLES is not set | 1285 | # CONFIG_SAMPLES is not set |
1237 | CONFIG_HAVE_ARCH_KGDB=y | 1286 | CONFIG_HAVE_ARCH_KGDB=y |
1238 | # CONFIG_IRQSTACKS is not set | 1287 | # CONFIG_IRQSTACKS is not set |
@@ -1243,6 +1292,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1243 | # | 1292 | # |
1244 | # CONFIG_KEYS is not set | 1293 | # CONFIG_KEYS is not set |
1245 | # CONFIG_SECURITY is not set | 1294 | # CONFIG_SECURITY is not set |
1295 | # CONFIG_SECURITYFS is not set | ||
1246 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1296 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1247 | # CONFIG_CRYPTO is not set | 1297 | # CONFIG_CRYPTO is not set |
1248 | # CONFIG_PPC_CLOCK is not set | 1298 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig index e40b1023265c..562beeaab53d 100644 --- a/arch/powerpc/configs/44x/sequoia_defconfig +++ b/arch/powerpc/configs/44x/sequoia_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:15:13 2008 | 4 | # Tue Oct 28 09:16:16 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
92 | CONFIG_SYSCTL=y | 91 | CONFIG_SYSCTL=y |
93 | CONFIG_EMBEDDED=y | 92 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 93 | CONFIG_SYSCTL_SYSCALL=y |
95 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
96 | CONFIG_KALLSYMS=y | 94 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 95 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -109,7 +107,9 @@ CONFIG_SIGNALFD=y | |||
109 | CONFIG_TIMERFD=y | 107 | CONFIG_TIMERFD=y |
110 | CONFIG_EVENTFD=y | 108 | CONFIG_EVENTFD=y |
111 | CONFIG_SHMEM=y | 109 | CONFIG_SHMEM=y |
110 | CONFIG_AIO=y | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 111 | CONFIG_VM_EVENT_COUNTERS=y |
112 | CONFIG_PCI_QUIRKS=y | ||
113 | CONFIG_SLUB_DEBUG=y | 113 | CONFIG_SLUB_DEBUG=y |
114 | # CONFIG_SLAB is not set | 114 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 115 | CONFIG_SLUB=y |
@@ -123,10 +123,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
123 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
127 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
128 | # CONFIG_HAVE_CLK is not set | ||
129 | CONFIG_PROC_PAGE_MONITOR=y | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 127 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 128 | CONFIG_RT_MUTEXES=y |
@@ -159,6 +155,7 @@ CONFIG_DEFAULT_AS=y | |||
159 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
161 | CONFIG_CLASSIC_RCU=y | 157 | CONFIG_CLASSIC_RCU=y |
158 | # CONFIG_FREEZER is not set | ||
162 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 159 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
163 | 160 | ||
164 | # | 161 | # |
@@ -175,9 +172,13 @@ CONFIG_SEQUOIA=y | |||
175 | # CONFIG_KATMAI is not set | 172 | # CONFIG_KATMAI is not set |
176 | # CONFIG_RAINIER is not set | 173 | # CONFIG_RAINIER is not set |
177 | # CONFIG_WARP is not set | 174 | # CONFIG_WARP is not set |
175 | # CONFIG_ARCHES is not set | ||
178 | # CONFIG_CANYONLANDS is not set | 176 | # CONFIG_CANYONLANDS is not set |
177 | # CONFIG_GLACIER is not set | ||
179 | # CONFIG_YOSEMITE is not set | 178 | # CONFIG_YOSEMITE is not set |
180 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
180 | CONFIG_PPC44x_SIMPLE=y | ||
181 | # CONFIG_PPC4xx_GPIO is not set | ||
181 | CONFIG_440EPX=y | 182 | CONFIG_440EPX=y |
182 | # CONFIG_IPIC is not set | 183 | # CONFIG_IPIC is not set |
183 | # CONFIG_MPIC is not set | 184 | # CONFIG_MPIC is not set |
@@ -205,11 +206,13 @@ CONFIG_HZ_250=y | |||
205 | # CONFIG_HZ_300 is not set | 206 | # CONFIG_HZ_300 is not set |
206 | # CONFIG_HZ_1000 is not set | 207 | # CONFIG_HZ_1000 is not set |
207 | CONFIG_HZ=250 | 208 | CONFIG_HZ=250 |
208 | # CONFIG_SCHED_HRTICK is not set | 209 | CONFIG_SCHED_HRTICK=y |
209 | CONFIG_PREEMPT_NONE=y | 210 | CONFIG_PREEMPT_NONE=y |
210 | # CONFIG_PREEMPT_VOLUNTARY is not set | 211 | # CONFIG_PREEMPT_VOLUNTARY is not set |
211 | # CONFIG_PREEMPT is not set | 212 | # CONFIG_PREEMPT is not set |
212 | CONFIG_BINFMT_ELF=y | 213 | CONFIG_BINFMT_ELF=y |
214 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
215 | # CONFIG_HAVE_AOUT is not set | ||
213 | # CONFIG_BINFMT_MISC is not set | 216 | # CONFIG_BINFMT_MISC is not set |
214 | # CONFIG_MATH_EMULATION is not set | 217 | # CONFIG_MATH_EMULATION is not set |
215 | # CONFIG_IOMMU_HELPER is not set | 218 | # CONFIG_IOMMU_HELPER is not set |
@@ -224,15 +227,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
224 | # CONFIG_SPARSEMEM_MANUAL is not set | 227 | # CONFIG_SPARSEMEM_MANUAL is not set |
225 | CONFIG_FLATMEM=y | 228 | CONFIG_FLATMEM=y |
226 | CONFIG_FLAT_NODE_MEM_MAP=y | 229 | CONFIG_FLAT_NODE_MEM_MAP=y |
227 | # CONFIG_SPARSEMEM_STATIC is not set | ||
228 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
229 | CONFIG_PAGEFLAGS_EXTENDED=y | 230 | CONFIG_PAGEFLAGS_EXTENDED=y |
230 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 231 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
231 | CONFIG_MIGRATION=y | 232 | CONFIG_MIGRATION=y |
232 | CONFIG_RESOURCES_64BIT=y | 233 | CONFIG_RESOURCES_64BIT=y |
234 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
233 | CONFIG_ZONE_DMA_FLAG=1 | 235 | CONFIG_ZONE_DMA_FLAG=1 |
234 | CONFIG_BOUNCE=y | 236 | CONFIG_BOUNCE=y |
235 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
238 | CONFIG_UNEVICTABLE_LRU=y | ||
236 | CONFIG_FORCE_MAX_ZONEORDER=11 | 239 | CONFIG_FORCE_MAX_ZONEORDER=11 |
237 | CONFIG_PROC_DEVICETREE=y | 240 | CONFIG_PROC_DEVICETREE=y |
238 | CONFIG_CMDLINE_BOOL=y | 241 | CONFIG_CMDLINE_BOOL=y |
@@ -319,6 +322,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
319 | # CONFIG_TIPC is not set | 322 | # CONFIG_TIPC is not set |
320 | # CONFIG_ATM is not set | 323 | # CONFIG_ATM is not set |
321 | # CONFIG_BRIDGE is not set | 324 | # CONFIG_BRIDGE is not set |
325 | # CONFIG_NET_DSA is not set | ||
322 | # CONFIG_VLAN_8021Q is not set | 326 | # CONFIG_VLAN_8021Q is not set |
323 | # CONFIG_DECNET is not set | 327 | # CONFIG_DECNET is not set |
324 | # CONFIG_LLC2 is not set | 328 | # CONFIG_LLC2 is not set |
@@ -339,14 +343,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
339 | # CONFIG_IRDA is not set | 343 | # CONFIG_IRDA is not set |
340 | # CONFIG_BT is not set | 344 | # CONFIG_BT is not set |
341 | # CONFIG_AF_RXRPC is not set | 345 | # CONFIG_AF_RXRPC is not set |
342 | 346 | # CONFIG_PHONET is not set | |
343 | # | 347 | # CONFIG_WIRELESS is not set |
344 | # Wireless | ||
345 | # | ||
346 | # CONFIG_CFG80211 is not set | ||
347 | # CONFIG_WIRELESS_EXT is not set | ||
348 | # CONFIG_MAC80211 is not set | ||
349 | # CONFIG_IEEE80211 is not set | ||
350 | # CONFIG_RFKILL is not set | 348 | # CONFIG_RFKILL is not set |
351 | # CONFIG_NET_9P is not set | 349 | # CONFIG_NET_9P is not set |
352 | 350 | ||
@@ -527,8 +525,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
527 | CONFIG_IBM_NEW_EMAC_RGMII=y | 525 | CONFIG_IBM_NEW_EMAC_RGMII=y |
528 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 526 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
529 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 527 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
528 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
529 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
530 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
530 | # CONFIG_NET_PCI is not set | 531 | # CONFIG_NET_PCI is not set |
531 | # CONFIG_B44 is not set | 532 | # CONFIG_B44 is not set |
533 | # CONFIG_ATL2 is not set | ||
532 | CONFIG_NETDEV_1000=y | 534 | CONFIG_NETDEV_1000=y |
533 | # CONFIG_ACENIC is not set | 535 | # CONFIG_ACENIC is not set |
534 | # CONFIG_DL2K is not set | 536 | # CONFIG_DL2K is not set |
@@ -549,18 +551,22 @@ CONFIG_NETDEV_1000=y | |||
549 | # CONFIG_QLA3XXX is not set | 551 | # CONFIG_QLA3XXX is not set |
550 | # CONFIG_ATL1 is not set | 552 | # CONFIG_ATL1 is not set |
551 | # CONFIG_ATL1E is not set | 553 | # CONFIG_ATL1E is not set |
554 | # CONFIG_JME is not set | ||
552 | CONFIG_NETDEV_10000=y | 555 | CONFIG_NETDEV_10000=y |
553 | # CONFIG_CHELSIO_T1 is not set | 556 | # CONFIG_CHELSIO_T1 is not set |
554 | # CONFIG_CHELSIO_T3 is not set | 557 | # CONFIG_CHELSIO_T3 is not set |
558 | # CONFIG_ENIC is not set | ||
555 | # CONFIG_IXGBE is not set | 559 | # CONFIG_IXGBE is not set |
556 | # CONFIG_IXGB is not set | 560 | # CONFIG_IXGB is not set |
557 | # CONFIG_S2IO is not set | 561 | # CONFIG_S2IO is not set |
558 | # CONFIG_MYRI10GE is not set | 562 | # CONFIG_MYRI10GE is not set |
559 | # CONFIG_NETXEN_NIC is not set | 563 | # CONFIG_NETXEN_NIC is not set |
560 | # CONFIG_NIU is not set | 564 | # CONFIG_NIU is not set |
565 | # CONFIG_MLX4_EN is not set | ||
561 | # CONFIG_MLX4_CORE is not set | 566 | # CONFIG_MLX4_CORE is not set |
562 | # CONFIG_TEHUTI is not set | 567 | # CONFIG_TEHUTI is not set |
563 | # CONFIG_BNX2X is not set | 568 | # CONFIG_BNX2X is not set |
569 | # CONFIG_QLGE is not set | ||
564 | # CONFIG_SFC is not set | 570 | # CONFIG_SFC is not set |
565 | # CONFIG_TR is not set | 571 | # CONFIG_TR is not set |
566 | 572 | ||
@@ -656,6 +662,8 @@ CONFIG_SSB_POSSIBLE=y | |||
656 | # CONFIG_MFD_CORE is not set | 662 | # CONFIG_MFD_CORE is not set |
657 | # CONFIG_MFD_SM501 is not set | 663 | # CONFIG_MFD_SM501 is not set |
658 | # CONFIG_HTC_PASIC3 is not set | 664 | # CONFIG_HTC_PASIC3 is not set |
665 | # CONFIG_MFD_TMIO is not set | ||
666 | # CONFIG_MFD_WM8400 is not set | ||
659 | 667 | ||
660 | # | 668 | # |
661 | # Multimedia devices | 669 | # Multimedia devices |
@@ -697,9 +705,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
697 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 705 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
698 | 706 | ||
699 | # | 707 | # |
708 | # Enable Host or Gadget support to see Inventra options | ||
709 | # | ||
710 | |||
711 | # | ||
700 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 712 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
701 | # | 713 | # |
702 | # CONFIG_USB_GADGET is not set | 714 | # CONFIG_USB_GADGET is not set |
715 | # CONFIG_UWB is not set | ||
703 | # CONFIG_MMC is not set | 716 | # CONFIG_MMC is not set |
704 | # CONFIG_MEMSTICK is not set | 717 | # CONFIG_MEMSTICK is not set |
705 | # CONFIG_NEW_LEDS is not set | 718 | # CONFIG_NEW_LEDS is not set |
@@ -709,6 +722,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
709 | # CONFIG_RTC_CLASS is not set | 722 | # CONFIG_RTC_CLASS is not set |
710 | # CONFIG_DMADEVICES is not set | 723 | # CONFIG_DMADEVICES is not set |
711 | # CONFIG_UIO is not set | 724 | # CONFIG_UIO is not set |
725 | # CONFIG_STAGING is not set | ||
712 | 726 | ||
713 | # | 727 | # |
714 | # File systems | 728 | # File systems |
@@ -717,10 +731,11 @@ CONFIG_EXT2_FS=y | |||
717 | # CONFIG_EXT2_FS_XATTR is not set | 731 | # CONFIG_EXT2_FS_XATTR is not set |
718 | # CONFIG_EXT2_FS_XIP is not set | 732 | # CONFIG_EXT2_FS_XIP is not set |
719 | # CONFIG_EXT3_FS is not set | 733 | # CONFIG_EXT3_FS is not set |
720 | # CONFIG_EXT4DEV_FS is not set | 734 | # CONFIG_EXT4_FS is not set |
721 | # CONFIG_REISERFS_FS is not set | 735 | # CONFIG_REISERFS_FS is not set |
722 | # CONFIG_JFS_FS is not set | 736 | # CONFIG_JFS_FS is not set |
723 | # CONFIG_FS_POSIX_ACL is not set | 737 | # CONFIG_FS_POSIX_ACL is not set |
738 | CONFIG_FILE_LOCKING=y | ||
724 | # CONFIG_XFS_FS is not set | 739 | # CONFIG_XFS_FS is not set |
725 | # CONFIG_OCFS2_FS is not set | 740 | # CONFIG_OCFS2_FS is not set |
726 | CONFIG_DNOTIFY=y | 741 | CONFIG_DNOTIFY=y |
@@ -750,6 +765,7 @@ CONFIG_INOTIFY_USER=y | |||
750 | CONFIG_PROC_FS=y | 765 | CONFIG_PROC_FS=y |
751 | CONFIG_PROC_KCORE=y | 766 | CONFIG_PROC_KCORE=y |
752 | CONFIG_PROC_SYSCTL=y | 767 | CONFIG_PROC_SYSCTL=y |
768 | CONFIG_PROC_PAGE_MONITOR=y | ||
753 | CONFIG_SYSFS=y | 769 | CONFIG_SYSFS=y |
754 | CONFIG_TMPFS=y | 770 | CONFIG_TMPFS=y |
755 | # CONFIG_TMPFS_POSIX_ACL is not set | 771 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -797,6 +813,7 @@ CONFIG_LOCKD=y | |||
797 | CONFIG_LOCKD_V4=y | 813 | CONFIG_LOCKD_V4=y |
798 | CONFIG_NFS_COMMON=y | 814 | CONFIG_NFS_COMMON=y |
799 | CONFIG_SUNRPC=y | 815 | CONFIG_SUNRPC=y |
816 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
800 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 817 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
801 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 818 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
802 | # CONFIG_SMB_FS is not set | 819 | # CONFIG_SMB_FS is not set |
@@ -817,7 +834,6 @@ CONFIG_MSDOS_PARTITION=y | |||
817 | # Library routines | 834 | # Library routines |
818 | # | 835 | # |
819 | CONFIG_BITREVERSE=y | 836 | CONFIG_BITREVERSE=y |
820 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
821 | # CONFIG_CRC_CCITT is not set | 837 | # CONFIG_CRC_CCITT is not set |
822 | # CONFIG_CRC16 is not set | 838 | # CONFIG_CRC16 is not set |
823 | # CONFIG_CRC_T10DIF is not set | 839 | # CONFIG_CRC_T10DIF is not set |
@@ -871,14 +887,21 @@ CONFIG_SCHED_DEBUG=y | |||
871 | # CONFIG_DEBUG_SG is not set | 887 | # CONFIG_DEBUG_SG is not set |
872 | # CONFIG_BOOT_PRINTK_DELAY is not set | 888 | # CONFIG_BOOT_PRINTK_DELAY is not set |
873 | # CONFIG_RCU_TORTURE_TEST is not set | 889 | # CONFIG_RCU_TORTURE_TEST is not set |
890 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
874 | # CONFIG_BACKTRACE_SELF_TEST is not set | 891 | # CONFIG_BACKTRACE_SELF_TEST is not set |
892 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
875 | # CONFIG_FAULT_INJECTION is not set | 893 | # CONFIG_FAULT_INJECTION is not set |
876 | # CONFIG_LATENCYTOP is not set | 894 | # CONFIG_LATENCYTOP is not set |
895 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
896 | CONFIG_NOP_TRACER=y | ||
877 | CONFIG_HAVE_FTRACE=y | 897 | CONFIG_HAVE_FTRACE=y |
878 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 898 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
879 | # CONFIG_FTRACE is not set | 899 | # CONFIG_FTRACE is not set |
880 | # CONFIG_SCHED_TRACER is not set | 900 | # CONFIG_SCHED_TRACER is not set |
881 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 901 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
902 | # CONFIG_BOOT_TRACER is not set | ||
903 | # CONFIG_STACK_TRACER is not set | ||
904 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
882 | # CONFIG_SAMPLES is not set | 905 | # CONFIG_SAMPLES is not set |
883 | CONFIG_HAVE_ARCH_KGDB=y | 906 | CONFIG_HAVE_ARCH_KGDB=y |
884 | # CONFIG_KGDB is not set | 907 | # CONFIG_KGDB is not set |
@@ -887,6 +910,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
887 | # CONFIG_DEBUG_PAGEALLOC is not set | 910 | # CONFIG_DEBUG_PAGEALLOC is not set |
888 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 911 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
889 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 912 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
913 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
890 | # CONFIG_XMON is not set | 914 | # CONFIG_XMON is not set |
891 | # CONFIG_IRQSTACKS is not set | 915 | # CONFIG_IRQSTACKS is not set |
892 | # CONFIG_VIRQ_DEBUG is not set | 916 | # CONFIG_VIRQ_DEBUG is not set |
@@ -911,14 +935,19 @@ CONFIG_PPC_EARLY_DEBUG_44x_PHYSHIGH=0x1 | |||
911 | # | 935 | # |
912 | # CONFIG_KEYS is not set | 936 | # CONFIG_KEYS is not set |
913 | # CONFIG_SECURITY is not set | 937 | # CONFIG_SECURITY is not set |
938 | # CONFIG_SECURITYFS is not set | ||
914 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 939 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
915 | CONFIG_CRYPTO=y | 940 | CONFIG_CRYPTO=y |
916 | 941 | ||
917 | # | 942 | # |
918 | # Crypto core or helper | 943 | # Crypto core or helper |
919 | # | 944 | # |
945 | # CONFIG_CRYPTO_FIPS is not set | ||
920 | CONFIG_CRYPTO_ALGAPI=y | 946 | CONFIG_CRYPTO_ALGAPI=y |
947 | CONFIG_CRYPTO_AEAD=y | ||
921 | CONFIG_CRYPTO_BLKCIPHER=y | 948 | CONFIG_CRYPTO_BLKCIPHER=y |
949 | CONFIG_CRYPTO_HASH=y | ||
950 | CONFIG_CRYPTO_RNG=y | ||
922 | CONFIG_CRYPTO_MANAGER=y | 951 | CONFIG_CRYPTO_MANAGER=y |
923 | # CONFIG_CRYPTO_GF128MUL is not set | 952 | # CONFIG_CRYPTO_GF128MUL is not set |
924 | # CONFIG_CRYPTO_NULL is not set | 953 | # CONFIG_CRYPTO_NULL is not set |
@@ -991,6 +1020,11 @@ CONFIG_CRYPTO_DES=y | |||
991 | # | 1020 | # |
992 | # CONFIG_CRYPTO_DEFLATE is not set | 1021 | # CONFIG_CRYPTO_DEFLATE is not set |
993 | # CONFIG_CRYPTO_LZO is not set | 1022 | # CONFIG_CRYPTO_LZO is not set |
1023 | |||
1024 | # | ||
1025 | # Random Number Generation | ||
1026 | # | ||
1027 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
994 | CONFIG_CRYPTO_HW=y | 1028 | CONFIG_CRYPTO_HW=y |
995 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1029 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
996 | # CONFIG_PPC_CLOCK is not set | 1030 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig index 5075873bdb1b..427bb6a11be5 100644 --- a/arch/powerpc/configs/44x/taishan_defconfig +++ b/arch/powerpc/configs/44x/taishan_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:17:48 2008 | 4 | # Tue Oct 28 09:16:18 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -22,14 +22,13 @@ CONFIG_PHYS_64BIT=y | |||
22 | CONFIG_NOT_COHERENT_CACHE=y | 22 | CONFIG_NOT_COHERENT_CACHE=y |
23 | CONFIG_PPC32=y | 23 | CONFIG_PPC32=y |
24 | CONFIG_WORD_SIZE=32 | 24 | CONFIG_WORD_SIZE=32 |
25 | CONFIG_PPC_MERGE=y | 25 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
26 | CONFIG_MMU=y | 26 | CONFIG_MMU=y |
27 | CONFIG_GENERIC_CMOS_UPDATE=y | 27 | CONFIG_GENERIC_CMOS_UPDATE=y |
28 | CONFIG_GENERIC_TIME=y | 28 | CONFIG_GENERIC_TIME=y |
29 | CONFIG_GENERIC_TIME_VSYSCALL=y | 29 | CONFIG_GENERIC_TIME_VSYSCALL=y |
30 | CONFIG_GENERIC_CLOCKEVENTS=y | 30 | CONFIG_GENERIC_CLOCKEVENTS=y |
31 | CONFIG_GENERIC_HARDIRQS=y | 31 | CONFIG_GENERIC_HARDIRQS=y |
32 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 32 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
34 | CONFIG_IRQ_PER_CPU=y | 33 | CONFIG_IRQ_PER_CPU=y |
35 | CONFIG_STACKTRACE_SUPPORT=y | 34 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -91,7 +90,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
91 | CONFIG_SYSCTL=y | 90 | CONFIG_SYSCTL=y |
92 | CONFIG_EMBEDDED=y | 91 | CONFIG_EMBEDDED=y |
93 | CONFIG_SYSCTL_SYSCALL=y | 92 | CONFIG_SYSCTL_SYSCALL=y |
94 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
95 | CONFIG_KALLSYMS=y | 93 | CONFIG_KALLSYMS=y |
96 | # CONFIG_KALLSYMS_ALL is not set | 94 | # CONFIG_KALLSYMS_ALL is not set |
97 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 95 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -108,7 +106,9 @@ CONFIG_SIGNALFD=y | |||
108 | CONFIG_TIMERFD=y | 106 | CONFIG_TIMERFD=y |
109 | CONFIG_EVENTFD=y | 107 | CONFIG_EVENTFD=y |
110 | CONFIG_SHMEM=y | 108 | CONFIG_SHMEM=y |
109 | CONFIG_AIO=y | ||
111 | CONFIG_VM_EVENT_COUNTERS=y | 110 | CONFIG_VM_EVENT_COUNTERS=y |
111 | CONFIG_PCI_QUIRKS=y | ||
112 | CONFIG_SLUB_DEBUG=y | 112 | CONFIG_SLUB_DEBUG=y |
113 | # CONFIG_SLAB is not set | 113 | # CONFIG_SLAB is not set |
114 | CONFIG_SLUB=y | 114 | CONFIG_SLUB=y |
@@ -122,10 +122,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 122 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 123 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 124 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
126 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
127 | # CONFIG_HAVE_CLK is not set | ||
128 | CONFIG_PROC_PAGE_MONITOR=y | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 125 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 126 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 127 | CONFIG_RT_MUTEXES=y |
@@ -158,6 +154,7 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 155 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
160 | CONFIG_CLASSIC_RCU=y | 156 | CONFIG_CLASSIC_RCU=y |
157 | # CONFIG_FREEZER is not set | ||
161 | # CONFIG_PPC4xx_PCI_EXPRESS is not set | 158 | # CONFIG_PPC4xx_PCI_EXPRESS is not set |
162 | 159 | ||
163 | # | 160 | # |
@@ -174,9 +171,13 @@ CONFIG_TAISHAN=y | |||
174 | # CONFIG_KATMAI is not set | 171 | # CONFIG_KATMAI is not set |
175 | # CONFIG_RAINIER is not set | 172 | # CONFIG_RAINIER is not set |
176 | # CONFIG_WARP is not set | 173 | # CONFIG_WARP is not set |
174 | # CONFIG_ARCHES is not set | ||
177 | # CONFIG_CANYONLANDS is not set | 175 | # CONFIG_CANYONLANDS is not set |
176 | # CONFIG_GLACIER is not set | ||
178 | # CONFIG_YOSEMITE is not set | 177 | # CONFIG_YOSEMITE is not set |
179 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 178 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
179 | CONFIG_PPC44x_SIMPLE=y | ||
180 | # CONFIG_PPC4xx_GPIO is not set | ||
180 | CONFIG_440GX=y | 181 | CONFIG_440GX=y |
181 | # CONFIG_IPIC is not set | 182 | # CONFIG_IPIC is not set |
182 | # CONFIG_MPIC is not set | 183 | # CONFIG_MPIC is not set |
@@ -195,7 +196,6 @@ CONFIG_440GX=y | |||
195 | # Kernel options | 196 | # Kernel options |
196 | # | 197 | # |
197 | # CONFIG_HIGHMEM is not set | 198 | # CONFIG_HIGHMEM is not set |
198 | # CONFIG_TICK_ONESHOT is not set | ||
199 | # CONFIG_NO_HZ is not set | 199 | # CONFIG_NO_HZ is not set |
200 | # CONFIG_HIGH_RES_TIMERS is not set | 200 | # CONFIG_HIGH_RES_TIMERS is not set |
201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -209,6 +209,8 @@ CONFIG_PREEMPT_NONE=y | |||
209 | # CONFIG_PREEMPT_VOLUNTARY is not set | 209 | # CONFIG_PREEMPT_VOLUNTARY is not set |
210 | # CONFIG_PREEMPT is not set | 210 | # CONFIG_PREEMPT is not set |
211 | CONFIG_BINFMT_ELF=y | 211 | CONFIG_BINFMT_ELF=y |
212 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
213 | # CONFIG_HAVE_AOUT is not set | ||
212 | # CONFIG_BINFMT_MISC is not set | 214 | # CONFIG_BINFMT_MISC is not set |
213 | # CONFIG_MATH_EMULATION is not set | 215 | # CONFIG_MATH_EMULATION is not set |
214 | # CONFIG_IOMMU_HELPER is not set | 216 | # CONFIG_IOMMU_HELPER is not set |
@@ -223,15 +225,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
223 | # CONFIG_SPARSEMEM_MANUAL is not set | 225 | # CONFIG_SPARSEMEM_MANUAL is not set |
224 | CONFIG_FLATMEM=y | 226 | CONFIG_FLATMEM=y |
225 | CONFIG_FLAT_NODE_MEM_MAP=y | 227 | CONFIG_FLAT_NODE_MEM_MAP=y |
226 | # CONFIG_SPARSEMEM_STATIC is not set | ||
227 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
228 | CONFIG_PAGEFLAGS_EXTENDED=y | 228 | CONFIG_PAGEFLAGS_EXTENDED=y |
229 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 229 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
230 | CONFIG_MIGRATION=y | 230 | CONFIG_MIGRATION=y |
231 | CONFIG_RESOURCES_64BIT=y | 231 | CONFIG_RESOURCES_64BIT=y |
232 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
232 | CONFIG_ZONE_DMA_FLAG=1 | 233 | CONFIG_ZONE_DMA_FLAG=1 |
233 | CONFIG_BOUNCE=y | 234 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 235 | CONFIG_VIRT_TO_BUS=y |
236 | CONFIG_UNEVICTABLE_LRU=y | ||
235 | CONFIG_FORCE_MAX_ZONEORDER=11 | 237 | CONFIG_FORCE_MAX_ZONEORDER=11 |
236 | CONFIG_PROC_DEVICETREE=y | 238 | CONFIG_PROC_DEVICETREE=y |
237 | CONFIG_CMDLINE_BOOL=y | 239 | CONFIG_CMDLINE_BOOL=y |
@@ -318,6 +320,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
318 | # CONFIG_TIPC is not set | 320 | # CONFIG_TIPC is not set |
319 | # CONFIG_ATM is not set | 321 | # CONFIG_ATM is not set |
320 | # CONFIG_BRIDGE is not set | 322 | # CONFIG_BRIDGE is not set |
323 | # CONFIG_NET_DSA is not set | ||
321 | # CONFIG_VLAN_8021Q is not set | 324 | # CONFIG_VLAN_8021Q is not set |
322 | # CONFIG_DECNET is not set | 325 | # CONFIG_DECNET is not set |
323 | # CONFIG_LLC2 is not set | 326 | # CONFIG_LLC2 is not set |
@@ -338,14 +341,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
338 | # CONFIG_IRDA is not set | 341 | # CONFIG_IRDA is not set |
339 | # CONFIG_BT is not set | 342 | # CONFIG_BT is not set |
340 | # CONFIG_AF_RXRPC is not set | 343 | # CONFIG_AF_RXRPC is not set |
341 | 344 | # CONFIG_PHONET is not set | |
342 | # | 345 | # CONFIG_WIRELESS is not set |
343 | # Wireless | ||
344 | # | ||
345 | # CONFIG_CFG80211 is not set | ||
346 | # CONFIG_WIRELESS_EXT is not set | ||
347 | # CONFIG_MAC80211 is not set | ||
348 | # CONFIG_IEEE80211 is not set | ||
349 | # CONFIG_RFKILL is not set | 346 | # CONFIG_RFKILL is not set |
350 | # CONFIG_NET_9P is not set | 347 | # CONFIG_NET_9P is not set |
351 | 348 | ||
@@ -528,8 +525,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
528 | CONFIG_IBM_NEW_EMAC_RGMII=y | 525 | CONFIG_IBM_NEW_EMAC_RGMII=y |
529 | CONFIG_IBM_NEW_EMAC_TAH=y | 526 | CONFIG_IBM_NEW_EMAC_TAH=y |
530 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 527 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
528 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
529 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
530 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
531 | # CONFIG_NET_PCI is not set | 531 | # CONFIG_NET_PCI is not set |
532 | # CONFIG_B44 is not set | 532 | # CONFIG_B44 is not set |
533 | # CONFIG_ATL2 is not set | ||
533 | CONFIG_NETDEV_1000=y | 534 | CONFIG_NETDEV_1000=y |
534 | # CONFIG_ACENIC is not set | 535 | # CONFIG_ACENIC is not set |
535 | # CONFIG_DL2K is not set | 536 | # CONFIG_DL2K is not set |
@@ -550,18 +551,22 @@ CONFIG_NETDEV_1000=y | |||
550 | # CONFIG_QLA3XXX is not set | 551 | # CONFIG_QLA3XXX is not set |
551 | # CONFIG_ATL1 is not set | 552 | # CONFIG_ATL1 is not set |
552 | # CONFIG_ATL1E is not set | 553 | # CONFIG_ATL1E is not set |
554 | # CONFIG_JME is not set | ||
553 | CONFIG_NETDEV_10000=y | 555 | CONFIG_NETDEV_10000=y |
554 | # CONFIG_CHELSIO_T1 is not set | 556 | # CONFIG_CHELSIO_T1 is not set |
555 | # CONFIG_CHELSIO_T3 is not set | 557 | # CONFIG_CHELSIO_T3 is not set |
558 | # CONFIG_ENIC is not set | ||
556 | # CONFIG_IXGBE is not set | 559 | # CONFIG_IXGBE is not set |
557 | # CONFIG_IXGB is not set | 560 | # CONFIG_IXGB is not set |
558 | # CONFIG_S2IO is not set | 561 | # CONFIG_S2IO is not set |
559 | # CONFIG_MYRI10GE is not set | 562 | # CONFIG_MYRI10GE is not set |
560 | # CONFIG_NETXEN_NIC is not set | 563 | # CONFIG_NETXEN_NIC is not set |
561 | # CONFIG_NIU is not set | 564 | # CONFIG_NIU is not set |
565 | # CONFIG_MLX4_EN is not set | ||
562 | # CONFIG_MLX4_CORE is not set | 566 | # CONFIG_MLX4_CORE is not set |
563 | # CONFIG_TEHUTI is not set | 567 | # CONFIG_TEHUTI is not set |
564 | # CONFIG_BNX2X is not set | 568 | # CONFIG_BNX2X is not set |
569 | # CONFIG_QLGE is not set | ||
565 | # CONFIG_SFC is not set | 570 | # CONFIG_SFC is not set |
566 | # CONFIG_TR is not set | 571 | # CONFIG_TR is not set |
567 | 572 | ||
@@ -657,6 +662,8 @@ CONFIG_SSB_POSSIBLE=y | |||
657 | # CONFIG_MFD_CORE is not set | 662 | # CONFIG_MFD_CORE is not set |
658 | # CONFIG_MFD_SM501 is not set | 663 | # CONFIG_MFD_SM501 is not set |
659 | # CONFIG_HTC_PASIC3 is not set | 664 | # CONFIG_HTC_PASIC3 is not set |
665 | # CONFIG_MFD_TMIO is not set | ||
666 | # CONFIG_MFD_WM8400 is not set | ||
660 | 667 | ||
661 | # | 668 | # |
662 | # Multimedia devices | 669 | # Multimedia devices |
@@ -698,9 +705,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
698 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 705 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
699 | 706 | ||
700 | # | 707 | # |
708 | # Enable Host or Gadget support to see Inventra options | ||
709 | # | ||
710 | |||
711 | # | ||
701 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 712 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
702 | # | 713 | # |
703 | # CONFIG_USB_GADGET is not set | 714 | # CONFIG_USB_GADGET is not set |
715 | # CONFIG_UWB is not set | ||
704 | # CONFIG_MMC is not set | 716 | # CONFIG_MMC is not set |
705 | # CONFIG_MEMSTICK is not set | 717 | # CONFIG_MEMSTICK is not set |
706 | # CONFIG_NEW_LEDS is not set | 718 | # CONFIG_NEW_LEDS is not set |
@@ -710,6 +722,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
710 | # CONFIG_RTC_CLASS is not set | 722 | # CONFIG_RTC_CLASS is not set |
711 | # CONFIG_DMADEVICES is not set | 723 | # CONFIG_DMADEVICES is not set |
712 | # CONFIG_UIO is not set | 724 | # CONFIG_UIO is not set |
725 | # CONFIG_STAGING is not set | ||
713 | 726 | ||
714 | # | 727 | # |
715 | # File systems | 728 | # File systems |
@@ -718,10 +731,11 @@ CONFIG_EXT2_FS=y | |||
718 | # CONFIG_EXT2_FS_XATTR is not set | 731 | # CONFIG_EXT2_FS_XATTR is not set |
719 | # CONFIG_EXT2_FS_XIP is not set | 732 | # CONFIG_EXT2_FS_XIP is not set |
720 | # CONFIG_EXT3_FS is not set | 733 | # CONFIG_EXT3_FS is not set |
721 | # CONFIG_EXT4DEV_FS is not set | 734 | # CONFIG_EXT4_FS is not set |
722 | # CONFIG_REISERFS_FS is not set | 735 | # CONFIG_REISERFS_FS is not set |
723 | # CONFIG_JFS_FS is not set | 736 | # CONFIG_JFS_FS is not set |
724 | # CONFIG_FS_POSIX_ACL is not set | 737 | # CONFIG_FS_POSIX_ACL is not set |
738 | CONFIG_FILE_LOCKING=y | ||
725 | # CONFIG_XFS_FS is not set | 739 | # CONFIG_XFS_FS is not set |
726 | # CONFIG_OCFS2_FS is not set | 740 | # CONFIG_OCFS2_FS is not set |
727 | CONFIG_DNOTIFY=y | 741 | CONFIG_DNOTIFY=y |
@@ -751,6 +765,7 @@ CONFIG_INOTIFY_USER=y | |||
751 | CONFIG_PROC_FS=y | 765 | CONFIG_PROC_FS=y |
752 | CONFIG_PROC_KCORE=y | 766 | CONFIG_PROC_KCORE=y |
753 | CONFIG_PROC_SYSCTL=y | 767 | CONFIG_PROC_SYSCTL=y |
768 | CONFIG_PROC_PAGE_MONITOR=y | ||
754 | CONFIG_SYSFS=y | 769 | CONFIG_SYSFS=y |
755 | CONFIG_TMPFS=y | 770 | CONFIG_TMPFS=y |
756 | # CONFIG_TMPFS_POSIX_ACL is not set | 771 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -788,6 +803,7 @@ CONFIG_LOCKD=y | |||
788 | CONFIG_LOCKD_V4=y | 803 | CONFIG_LOCKD_V4=y |
789 | CONFIG_NFS_COMMON=y | 804 | CONFIG_NFS_COMMON=y |
790 | CONFIG_SUNRPC=y | 805 | CONFIG_SUNRPC=y |
806 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
791 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 807 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
792 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 808 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
793 | # CONFIG_SMB_FS is not set | 809 | # CONFIG_SMB_FS is not set |
@@ -808,7 +824,6 @@ CONFIG_MSDOS_PARTITION=y | |||
808 | # Library routines | 824 | # Library routines |
809 | # | 825 | # |
810 | CONFIG_BITREVERSE=y | 826 | CONFIG_BITREVERSE=y |
811 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
812 | # CONFIG_CRC_CCITT is not set | 827 | # CONFIG_CRC_CCITT is not set |
813 | # CONFIG_CRC16 is not set | 828 | # CONFIG_CRC16 is not set |
814 | # CONFIG_CRC_T10DIF is not set | 829 | # CONFIG_CRC_T10DIF is not set |
@@ -861,14 +876,21 @@ CONFIG_SCHED_DEBUG=y | |||
861 | # CONFIG_DEBUG_SG is not set | 876 | # CONFIG_DEBUG_SG is not set |
862 | # CONFIG_BOOT_PRINTK_DELAY is not set | 877 | # CONFIG_BOOT_PRINTK_DELAY is not set |
863 | # CONFIG_RCU_TORTURE_TEST is not set | 878 | # CONFIG_RCU_TORTURE_TEST is not set |
879 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
864 | # CONFIG_BACKTRACE_SELF_TEST is not set | 880 | # CONFIG_BACKTRACE_SELF_TEST is not set |
881 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
865 | # CONFIG_FAULT_INJECTION is not set | 882 | # CONFIG_FAULT_INJECTION is not set |
866 | # CONFIG_LATENCYTOP is not set | 883 | # CONFIG_LATENCYTOP is not set |
884 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
885 | CONFIG_NOP_TRACER=y | ||
867 | CONFIG_HAVE_FTRACE=y | 886 | CONFIG_HAVE_FTRACE=y |
868 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 887 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
869 | # CONFIG_FTRACE is not set | 888 | # CONFIG_FTRACE is not set |
870 | # CONFIG_SCHED_TRACER is not set | 889 | # CONFIG_SCHED_TRACER is not set |
871 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 890 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
891 | # CONFIG_BOOT_TRACER is not set | ||
892 | # CONFIG_STACK_TRACER is not set | ||
893 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
872 | # CONFIG_SAMPLES is not set | 894 | # CONFIG_SAMPLES is not set |
873 | CONFIG_HAVE_ARCH_KGDB=y | 895 | CONFIG_HAVE_ARCH_KGDB=y |
874 | # CONFIG_KGDB is not set | 896 | # CONFIG_KGDB is not set |
@@ -877,6 +899,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
877 | # CONFIG_DEBUG_PAGEALLOC is not set | 899 | # CONFIG_DEBUG_PAGEALLOC is not set |
878 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 900 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
879 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 901 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
902 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
880 | # CONFIG_XMON is not set | 903 | # CONFIG_XMON is not set |
881 | # CONFIG_IRQSTACKS is not set | 904 | # CONFIG_IRQSTACKS is not set |
882 | # CONFIG_VIRQ_DEBUG is not set | 905 | # CONFIG_VIRQ_DEBUG is not set |
@@ -888,14 +911,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
888 | # | 911 | # |
889 | # CONFIG_KEYS is not set | 912 | # CONFIG_KEYS is not set |
890 | # CONFIG_SECURITY is not set | 913 | # CONFIG_SECURITY is not set |
914 | # CONFIG_SECURITYFS is not set | ||
891 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 915 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
892 | CONFIG_CRYPTO=y | 916 | CONFIG_CRYPTO=y |
893 | 917 | ||
894 | # | 918 | # |
895 | # Crypto core or helper | 919 | # Crypto core or helper |
896 | # | 920 | # |
921 | # CONFIG_CRYPTO_FIPS is not set | ||
897 | CONFIG_CRYPTO_ALGAPI=y | 922 | CONFIG_CRYPTO_ALGAPI=y |
923 | CONFIG_CRYPTO_AEAD=y | ||
898 | CONFIG_CRYPTO_BLKCIPHER=y | 924 | CONFIG_CRYPTO_BLKCIPHER=y |
925 | CONFIG_CRYPTO_HASH=y | ||
926 | CONFIG_CRYPTO_RNG=y | ||
899 | CONFIG_CRYPTO_MANAGER=y | 927 | CONFIG_CRYPTO_MANAGER=y |
900 | # CONFIG_CRYPTO_GF128MUL is not set | 928 | # CONFIG_CRYPTO_GF128MUL is not set |
901 | # CONFIG_CRYPTO_NULL is not set | 929 | # CONFIG_CRYPTO_NULL is not set |
@@ -968,6 +996,11 @@ CONFIG_CRYPTO_DES=y | |||
968 | # | 996 | # |
969 | # CONFIG_CRYPTO_DEFLATE is not set | 997 | # CONFIG_CRYPTO_DEFLATE is not set |
970 | # CONFIG_CRYPTO_LZO is not set | 998 | # CONFIG_CRYPTO_LZO is not set |
999 | |||
1000 | # | ||
1001 | # Random Number Generation | ||
1002 | # | ||
1003 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
971 | CONFIG_CRYPTO_HW=y | 1004 | CONFIG_CRYPTO_HW=y |
972 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1005 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
973 | # CONFIG_PPC_CLOCK is not set | 1006 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig index d9375a969c67..59cbd2761ed7 100644 --- a/arch/powerpc/configs/44x/warp_defconfig +++ b/arch/powerpc/configs/44x/warp_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 09:23:39 2008 | 4 | # Tue Oct 28 09:16:22 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -92,7 +91,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
92 | CONFIG_SYSCTL=y | 91 | CONFIG_SYSCTL=y |
93 | CONFIG_EMBEDDED=y | 92 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 93 | CONFIG_SYSCTL_SYSCALL=y |
95 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
96 | CONFIG_KALLSYMS=y | 94 | CONFIG_KALLSYMS=y |
97 | # CONFIG_KALLSYMS_ALL is not set | 95 | # CONFIG_KALLSYMS_ALL is not set |
98 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 96 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -109,6 +107,7 @@ CONFIG_SIGNALFD=y | |||
109 | CONFIG_TIMERFD=y | 107 | CONFIG_TIMERFD=y |
110 | CONFIG_EVENTFD=y | 108 | CONFIG_EVENTFD=y |
111 | CONFIG_SHMEM=y | 109 | CONFIG_SHMEM=y |
110 | CONFIG_AIO=y | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 111 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_SLAB=y | 112 | CONFIG_SLAB=y |
114 | # CONFIG_SLUB is not set | 113 | # CONFIG_SLUB is not set |
@@ -122,10 +121,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
126 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
127 | # CONFIG_HAVE_CLK is not set | ||
128 | CONFIG_PROC_PAGE_MONITOR=y | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 124 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 125 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 126 | CONFIG_RT_MUTEXES=y |
@@ -158,6 +153,7 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_NOOP is not set | 153 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 154 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
160 | CONFIG_CLASSIC_RCU=y | 155 | CONFIG_CLASSIC_RCU=y |
156 | # CONFIG_FREEZER is not set | ||
161 | 157 | ||
162 | # | 158 | # |
163 | # Platform support | 159 | # Platform support |
@@ -173,9 +169,13 @@ CONFIG_CLASSIC_RCU=y | |||
173 | # CONFIG_KATMAI is not set | 169 | # CONFIG_KATMAI is not set |
174 | # CONFIG_RAINIER is not set | 170 | # CONFIG_RAINIER is not set |
175 | CONFIG_WARP=y | 171 | CONFIG_WARP=y |
172 | # CONFIG_ARCHES is not set | ||
176 | # CONFIG_CANYONLANDS is not set | 173 | # CONFIG_CANYONLANDS is not set |
174 | # CONFIG_GLACIER is not set | ||
177 | # CONFIG_YOSEMITE is not set | 175 | # CONFIG_YOSEMITE is not set |
178 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set | 176 | # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set |
177 | # CONFIG_PPC44x_SIMPLE is not set | ||
178 | # CONFIG_PPC4xx_GPIO is not set | ||
179 | CONFIG_440EP=y | 179 | CONFIG_440EP=y |
180 | CONFIG_IBM440EP_ERR42=y | 180 | CONFIG_IBM440EP_ERR42=y |
181 | # CONFIG_IPIC is not set | 181 | # CONFIG_IPIC is not set |
@@ -195,7 +195,6 @@ CONFIG_IBM440EP_ERR42=y | |||
195 | # Kernel options | 195 | # Kernel options |
196 | # | 196 | # |
197 | # CONFIG_HIGHMEM is not set | 197 | # CONFIG_HIGHMEM is not set |
198 | # CONFIG_TICK_ONESHOT is not set | ||
199 | # CONFIG_NO_HZ is not set | 198 | # CONFIG_NO_HZ is not set |
200 | # CONFIG_HIGH_RES_TIMERS is not set | 199 | # CONFIG_HIGH_RES_TIMERS is not set |
201 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 200 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -209,6 +208,8 @@ CONFIG_PREEMPT_NONE=y | |||
209 | # CONFIG_PREEMPT_VOLUNTARY is not set | 208 | # CONFIG_PREEMPT_VOLUNTARY is not set |
210 | # CONFIG_PREEMPT is not set | 209 | # CONFIG_PREEMPT is not set |
211 | CONFIG_BINFMT_ELF=y | 210 | CONFIG_BINFMT_ELF=y |
211 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
212 | # CONFIG_HAVE_AOUT is not set | ||
212 | # CONFIG_BINFMT_MISC is not set | 213 | # CONFIG_BINFMT_MISC is not set |
213 | # CONFIG_MATH_EMULATION is not set | 214 | # CONFIG_MATH_EMULATION is not set |
214 | # CONFIG_IOMMU_HELPER is not set | 215 | # CONFIG_IOMMU_HELPER is not set |
@@ -223,15 +224,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
223 | # CONFIG_SPARSEMEM_MANUAL is not set | 224 | # CONFIG_SPARSEMEM_MANUAL is not set |
224 | CONFIG_FLATMEM=y | 225 | CONFIG_FLATMEM=y |
225 | CONFIG_FLAT_NODE_MEM_MAP=y | 226 | CONFIG_FLAT_NODE_MEM_MAP=y |
226 | # CONFIG_SPARSEMEM_STATIC is not set | ||
227 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
228 | CONFIG_PAGEFLAGS_EXTENDED=y | 227 | CONFIG_PAGEFLAGS_EXTENDED=y |
229 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 228 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
230 | CONFIG_MIGRATION=y | 229 | CONFIG_MIGRATION=y |
231 | CONFIG_RESOURCES_64BIT=y | 230 | CONFIG_RESOURCES_64BIT=y |
231 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
232 | CONFIG_ZONE_DMA_FLAG=1 | 232 | CONFIG_ZONE_DMA_FLAG=1 |
233 | CONFIG_BOUNCE=y | 233 | CONFIG_BOUNCE=y |
234 | CONFIG_VIRT_TO_BUS=y | 234 | CONFIG_VIRT_TO_BUS=y |
235 | CONFIG_UNEVICTABLE_LRU=y | ||
235 | CONFIG_FORCE_MAX_ZONEORDER=11 | 236 | CONFIG_FORCE_MAX_ZONEORDER=11 |
236 | CONFIG_PROC_DEVICETREE=y | 237 | CONFIG_PROC_DEVICETREE=y |
237 | CONFIG_CMDLINE_BOOL=y | 238 | CONFIG_CMDLINE_BOOL=y |
@@ -308,7 +309,6 @@ CONFIG_INET_TCP_DIAG=y | |||
308 | CONFIG_TCP_CONG_CUBIC=y | 309 | CONFIG_TCP_CONG_CUBIC=y |
309 | CONFIG_DEFAULT_TCP_CONG="cubic" | 310 | CONFIG_DEFAULT_TCP_CONG="cubic" |
310 | # CONFIG_TCP_MD5SIG is not set | 311 | # CONFIG_TCP_MD5SIG is not set |
311 | # CONFIG_IP_VS is not set | ||
312 | # CONFIG_IPV6 is not set | 312 | # CONFIG_IPV6 is not set |
313 | # CONFIG_NETWORK_SECMARK is not set | 313 | # CONFIG_NETWORK_SECMARK is not set |
314 | CONFIG_NETFILTER=y | 314 | CONFIG_NETFILTER=y |
@@ -322,10 +322,12 @@ CONFIG_NETFILTER_ADVANCED=y | |||
322 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 322 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
323 | # CONFIG_NF_CONNTRACK is not set | 323 | # CONFIG_NF_CONNTRACK is not set |
324 | # CONFIG_NETFILTER_XTABLES is not set | 324 | # CONFIG_NETFILTER_XTABLES is not set |
325 | # CONFIG_IP_VS is not set | ||
325 | 326 | ||
326 | # | 327 | # |
327 | # IP: Netfilter Configuration | 328 | # IP: Netfilter Configuration |
328 | # | 329 | # |
330 | # CONFIG_NF_DEFRAG_IPV4 is not set | ||
329 | # CONFIG_IP_NF_QUEUE is not set | 331 | # CONFIG_IP_NF_QUEUE is not set |
330 | # CONFIG_IP_NF_IPTABLES is not set | 332 | # CONFIG_IP_NF_IPTABLES is not set |
331 | # CONFIG_IP_NF_ARPTABLES is not set | 333 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -334,6 +336,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
334 | # CONFIG_TIPC is not set | 336 | # CONFIG_TIPC is not set |
335 | # CONFIG_ATM is not set | 337 | # CONFIG_ATM is not set |
336 | # CONFIG_BRIDGE is not set | 338 | # CONFIG_BRIDGE is not set |
339 | # CONFIG_NET_DSA is not set | ||
337 | CONFIG_VLAN_8021Q=y | 340 | CONFIG_VLAN_8021Q=y |
338 | # CONFIG_VLAN_8021Q_GVRP is not set | 341 | # CONFIG_VLAN_8021Q_GVRP is not set |
339 | # CONFIG_DECNET is not set | 342 | # CONFIG_DECNET is not set |
@@ -355,14 +358,8 @@ CONFIG_VLAN_8021Q=y | |||
355 | # CONFIG_IRDA is not set | 358 | # CONFIG_IRDA is not set |
356 | # CONFIG_BT is not set | 359 | # CONFIG_BT is not set |
357 | # CONFIG_AF_RXRPC is not set | 360 | # CONFIG_AF_RXRPC is not set |
358 | 361 | # CONFIG_PHONET is not set | |
359 | # | 362 | # CONFIG_WIRELESS is not set |
360 | # Wireless | ||
361 | # | ||
362 | # CONFIG_CFG80211 is not set | ||
363 | # CONFIG_WIRELESS_EXT is not set | ||
364 | # CONFIG_MAC80211 is not set | ||
365 | # CONFIG_IEEE80211 is not set | ||
366 | # CONFIG_RFKILL is not set | 363 | # CONFIG_RFKILL is not set |
367 | # CONFIG_NET_9P is not set | 364 | # CONFIG_NET_9P is not set |
368 | 365 | ||
@@ -550,6 +547,9 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
550 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 547 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
551 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 548 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
552 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 549 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
550 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
551 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
552 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
553 | # CONFIG_B44 is not set | 553 | # CONFIG_B44 is not set |
554 | # CONFIG_NETDEV_1000 is not set | 554 | # CONFIG_NETDEV_1000 is not set |
555 | # CONFIG_NETDEV_10000 is not set | 555 | # CONFIG_NETDEV_10000 is not set |
@@ -629,6 +629,7 @@ CONFIG_HW_RANDOM=y | |||
629 | CONFIG_I2C=y | 629 | CONFIG_I2C=y |
630 | CONFIG_I2C_BOARDINFO=y | 630 | CONFIG_I2C_BOARDINFO=y |
631 | # CONFIG_I2C_CHARDEV is not set | 631 | # CONFIG_I2C_CHARDEV is not set |
632 | CONFIG_I2C_HELPER_AUTO=y | ||
632 | 633 | ||
633 | # | 634 | # |
634 | # I2C Hardware Bus support | 635 | # I2C Hardware Bus support |
@@ -678,6 +679,7 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
678 | # CONFIG_POWER_SUPPLY is not set | 679 | # CONFIG_POWER_SUPPLY is not set |
679 | CONFIG_HWMON=y | 680 | CONFIG_HWMON=y |
680 | # CONFIG_HWMON_VID is not set | 681 | # CONFIG_HWMON_VID is not set |
682 | # CONFIG_SENSORS_AD7414 is not set | ||
681 | # CONFIG_SENSORS_AD7418 is not set | 683 | # CONFIG_SENSORS_AD7418 is not set |
682 | # CONFIG_SENSORS_ADM1021 is not set | 684 | # CONFIG_SENSORS_ADM1021 is not set |
683 | # CONFIG_SENSORS_ADM1025 is not set | 685 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -742,6 +744,9 @@ CONFIG_SSB_POSSIBLE=y | |||
742 | # CONFIG_MFD_CORE is not set | 744 | # CONFIG_MFD_CORE is not set |
743 | # CONFIG_MFD_SM501 is not set | 745 | # CONFIG_MFD_SM501 is not set |
744 | # CONFIG_HTC_PASIC3 is not set | 746 | # CONFIG_HTC_PASIC3 is not set |
747 | # CONFIG_MFD_TMIO is not set | ||
748 | # CONFIG_MFD_WM8400 is not set | ||
749 | # CONFIG_MFD_WM8350_I2C is not set | ||
745 | 750 | ||
746 | # | 751 | # |
747 | # Multimedia devices | 752 | # Multimedia devices |
@@ -789,6 +794,9 @@ CONFIG_USB_DEVICE_CLASS=y | |||
789 | # CONFIG_USB_OTG is not set | 794 | # CONFIG_USB_OTG is not set |
790 | # CONFIG_USB_OTG_WHITELIST is not set | 795 | # CONFIG_USB_OTG_WHITELIST is not set |
791 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 796 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
797 | CONFIG_USB_MON=y | ||
798 | # CONFIG_USB_WUSB is not set | ||
799 | # CONFIG_USB_WUSB_CBAF is not set | ||
792 | 800 | ||
793 | # | 801 | # |
794 | # USB Host Controller Drivers | 802 | # USB Host Controller Drivers |
@@ -805,6 +813,7 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y | |||
805 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 813 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
806 | # CONFIG_USB_SL811_HCD is not set | 814 | # CONFIG_USB_SL811_HCD is not set |
807 | # CONFIG_USB_R8A66597_HCD is not set | 815 | # CONFIG_USB_R8A66597_HCD is not set |
816 | # CONFIG_USB_HWA_HCD is not set | ||
808 | 817 | ||
809 | # | 818 | # |
810 | # USB Device Class drivers | 819 | # USB Device Class drivers |
@@ -812,6 +821,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
812 | # CONFIG_USB_ACM is not set | 821 | # CONFIG_USB_ACM is not set |
813 | # CONFIG_USB_PRINTER is not set | 822 | # CONFIG_USB_PRINTER is not set |
814 | # CONFIG_USB_WDM is not set | 823 | # CONFIG_USB_WDM is not set |
824 | # CONFIG_USB_TMC is not set | ||
815 | 825 | ||
816 | # | 826 | # |
817 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 827 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -840,7 +850,6 @@ CONFIG_USB_STORAGE=y | |||
840 | # | 850 | # |
841 | # CONFIG_USB_MDC800 is not set | 851 | # CONFIG_USB_MDC800 is not set |
842 | # CONFIG_USB_MICROTEK is not set | 852 | # CONFIG_USB_MICROTEK is not set |
843 | CONFIG_USB_MON=y | ||
844 | 853 | ||
845 | # | 854 | # |
846 | # USB port drivers | 855 | # USB port drivers |
@@ -853,7 +862,7 @@ CONFIG_USB_MON=y | |||
853 | # CONFIG_USB_EMI62 is not set | 862 | # CONFIG_USB_EMI62 is not set |
854 | # CONFIG_USB_EMI26 is not set | 863 | # CONFIG_USB_EMI26 is not set |
855 | # CONFIG_USB_ADUTUX is not set | 864 | # CONFIG_USB_ADUTUX is not set |
856 | # CONFIG_USB_AUERSWALD is not set | 865 | # CONFIG_USB_SEVSEG is not set |
857 | # CONFIG_USB_RIO500 is not set | 866 | # CONFIG_USB_RIO500 is not set |
858 | # CONFIG_USB_LEGOTOWER is not set | 867 | # CONFIG_USB_LEGOTOWER is not set |
859 | # CONFIG_USB_LCD is not set | 868 | # CONFIG_USB_LCD is not set |
@@ -869,13 +878,14 @@ CONFIG_USB_MON=y | |||
869 | # CONFIG_USB_TRANCEVIBRATOR is not set | 878 | # CONFIG_USB_TRANCEVIBRATOR is not set |
870 | # CONFIG_USB_IOWARRIOR is not set | 879 | # CONFIG_USB_IOWARRIOR is not set |
871 | # CONFIG_USB_ISIGHTFW is not set | 880 | # CONFIG_USB_ISIGHTFW is not set |
881 | # CONFIG_USB_VST is not set | ||
872 | # CONFIG_USB_GADGET is not set | 882 | # CONFIG_USB_GADGET is not set |
873 | CONFIG_MMC=m | 883 | CONFIG_MMC=m |
874 | # CONFIG_MMC_DEBUG is not set | 884 | # CONFIG_MMC_DEBUG is not set |
875 | # CONFIG_MMC_UNSAFE_RESUME is not set | 885 | # CONFIG_MMC_UNSAFE_RESUME is not set |
876 | 886 | ||
877 | # | 887 | # |
878 | # MMC/SD Card Drivers | 888 | # MMC/SD/SDIO Card Drivers |
879 | # | 889 | # |
880 | CONFIG_MMC_BLOCK=m | 890 | CONFIG_MMC_BLOCK=m |
881 | CONFIG_MMC_BLOCK_BOUNCE=y | 891 | CONFIG_MMC_BLOCK_BOUNCE=y |
@@ -883,7 +893,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
883 | # CONFIG_MMC_TEST is not set | 893 | # CONFIG_MMC_TEST is not set |
884 | 894 | ||
885 | # | 895 | # |
886 | # MMC/SD Host Controller Drivers | 896 | # MMC/SD/SDIO Host Controller Drivers |
887 | # | 897 | # |
888 | # CONFIG_MMC_SDHCI is not set | 898 | # CONFIG_MMC_SDHCI is not set |
889 | # CONFIG_MMC_WBSD is not set | 899 | # CONFIG_MMC_WBSD is not set |
@@ -894,6 +904,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
894 | # CONFIG_RTC_CLASS is not set | 904 | # CONFIG_RTC_CLASS is not set |
895 | # CONFIG_DMADEVICES is not set | 905 | # CONFIG_DMADEVICES is not set |
896 | # CONFIG_UIO is not set | 906 | # CONFIG_UIO is not set |
907 | # CONFIG_STAGING is not set | ||
897 | 908 | ||
898 | # | 909 | # |
899 | # File systems | 910 | # File systems |
@@ -902,10 +913,11 @@ CONFIG_EXT2_FS=y | |||
902 | # CONFIG_EXT2_FS_XATTR is not set | 913 | # CONFIG_EXT2_FS_XATTR is not set |
903 | # CONFIG_EXT2_FS_XIP is not set | 914 | # CONFIG_EXT2_FS_XIP is not set |
904 | # CONFIG_EXT3_FS is not set | 915 | # CONFIG_EXT3_FS is not set |
905 | # CONFIG_EXT4DEV_FS is not set | 916 | # CONFIG_EXT4_FS is not set |
906 | # CONFIG_REISERFS_FS is not set | 917 | # CONFIG_REISERFS_FS is not set |
907 | # CONFIG_JFS_FS is not set | 918 | # CONFIG_JFS_FS is not set |
908 | # CONFIG_FS_POSIX_ACL is not set | 919 | # CONFIG_FS_POSIX_ACL is not set |
920 | CONFIG_FILE_LOCKING=y | ||
909 | # CONFIG_XFS_FS is not set | 921 | # CONFIG_XFS_FS is not set |
910 | # CONFIG_OCFS2_FS is not set | 922 | # CONFIG_OCFS2_FS is not set |
911 | CONFIG_DNOTIFY=y | 923 | CONFIG_DNOTIFY=y |
@@ -938,6 +950,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
938 | CONFIG_PROC_FS=y | 950 | CONFIG_PROC_FS=y |
939 | CONFIG_PROC_KCORE=y | 951 | CONFIG_PROC_KCORE=y |
940 | CONFIG_PROC_SYSCTL=y | 952 | CONFIG_PROC_SYSCTL=y |
953 | CONFIG_PROC_PAGE_MONITOR=y | ||
941 | CONFIG_SYSFS=y | 954 | CONFIG_SYSFS=y |
942 | # CONFIG_TMPFS is not set | 955 | # CONFIG_TMPFS is not set |
943 | # CONFIG_HUGETLB_PAGE is not set | 956 | # CONFIG_HUGETLB_PAGE is not set |
@@ -984,6 +997,7 @@ CONFIG_LOCKD=y | |||
984 | CONFIG_LOCKD_V4=y | 997 | CONFIG_LOCKD_V4=y |
985 | CONFIG_NFS_COMMON=y | 998 | CONFIG_NFS_COMMON=y |
986 | CONFIG_SUNRPC=y | 999 | CONFIG_SUNRPC=y |
1000 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
987 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1001 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
988 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1002 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
989 | # CONFIG_SMB_FS is not set | 1003 | # CONFIG_SMB_FS is not set |
@@ -1043,7 +1057,6 @@ CONFIG_NLS_UTF8=y | |||
1043 | # Library routines | 1057 | # Library routines |
1044 | # | 1058 | # |
1045 | CONFIG_BITREVERSE=y | 1059 | CONFIG_BITREVERSE=y |
1046 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1047 | CONFIG_CRC_CCITT=y | 1060 | CONFIG_CRC_CCITT=y |
1048 | # CONFIG_CRC16 is not set | 1061 | # CONFIG_CRC16 is not set |
1049 | CONFIG_CRC_T10DIF=y | 1062 | CONFIG_CRC_T10DIF=y |
@@ -1096,14 +1109,21 @@ CONFIG_DEBUG_INFO=y | |||
1096 | # CONFIG_DEBUG_SG is not set | 1109 | # CONFIG_DEBUG_SG is not set |
1097 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1110 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1098 | # CONFIG_RCU_TORTURE_TEST is not set | 1111 | # CONFIG_RCU_TORTURE_TEST is not set |
1112 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1099 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1113 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1114 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1100 | # CONFIG_FAULT_INJECTION is not set | 1115 | # CONFIG_FAULT_INJECTION is not set |
1101 | # CONFIG_LATENCYTOP is not set | 1116 | # CONFIG_LATENCYTOP is not set |
1117 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1118 | CONFIG_NOP_TRACER=y | ||
1102 | CONFIG_HAVE_FTRACE=y | 1119 | CONFIG_HAVE_FTRACE=y |
1103 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1120 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1104 | # CONFIG_FTRACE is not set | 1121 | # CONFIG_FTRACE is not set |
1105 | # CONFIG_SCHED_TRACER is not set | 1122 | # CONFIG_SCHED_TRACER is not set |
1106 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1123 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1124 | # CONFIG_BOOT_TRACER is not set | ||
1125 | # CONFIG_STACK_TRACER is not set | ||
1126 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1107 | # CONFIG_SAMPLES is not set | 1127 | # CONFIG_SAMPLES is not set |
1108 | CONFIG_HAVE_ARCH_KGDB=y | 1128 | CONFIG_HAVE_ARCH_KGDB=y |
1109 | # CONFIG_KGDB is not set | 1129 | # CONFIG_KGDB is not set |
@@ -1112,6 +1132,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1112 | # CONFIG_DEBUG_PAGEALLOC is not set | 1132 | # CONFIG_DEBUG_PAGEALLOC is not set |
1113 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1133 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1114 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1134 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1135 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
1115 | # CONFIG_XMON is not set | 1136 | # CONFIG_XMON is not set |
1116 | # CONFIG_IRQSTACKS is not set | 1137 | # CONFIG_IRQSTACKS is not set |
1117 | # CONFIG_VIRQ_DEBUG is not set | 1138 | # CONFIG_VIRQ_DEBUG is not set |
@@ -1123,12 +1144,14 @@ CONFIG_BDI_SWITCH=y | |||
1123 | # | 1144 | # |
1124 | # CONFIG_KEYS is not set | 1145 | # CONFIG_KEYS is not set |
1125 | # CONFIG_SECURITY is not set | 1146 | # CONFIG_SECURITY is not set |
1147 | # CONFIG_SECURITYFS is not set | ||
1126 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1148 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1127 | CONFIG_CRYPTO=y | 1149 | CONFIG_CRYPTO=y |
1128 | 1150 | ||
1129 | # | 1151 | # |
1130 | # Crypto core or helper | 1152 | # Crypto core or helper |
1131 | # | 1153 | # |
1154 | # CONFIG_CRYPTO_FIPS is not set | ||
1132 | # CONFIG_CRYPTO_MANAGER is not set | 1155 | # CONFIG_CRYPTO_MANAGER is not set |
1133 | # CONFIG_CRYPTO_GF128MUL is not set | 1156 | # CONFIG_CRYPTO_GF128MUL is not set |
1134 | # CONFIG_CRYPTO_NULL is not set | 1157 | # CONFIG_CRYPTO_NULL is not set |
@@ -1201,6 +1224,11 @@ CONFIG_CRYPTO=y | |||
1201 | # | 1224 | # |
1202 | # CONFIG_CRYPTO_DEFLATE is not set | 1225 | # CONFIG_CRYPTO_DEFLATE is not set |
1203 | # CONFIG_CRYPTO_LZO is not set | 1226 | # CONFIG_CRYPTO_LZO is not set |
1227 | |||
1228 | # | ||
1229 | # Random Number Generation | ||
1230 | # | ||
1231 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1204 | CONFIG_CRYPTO_HW=y | 1232 | CONFIG_CRYPTO_HW=y |
1205 | # CONFIG_PPC_CLOCK is not set | 1233 | # CONFIG_PPC_CLOCK is not set |
1206 | # CONFIG_VIRTUALIZATION is not set | 1234 | # CONFIG_VIRTUALIZATION is not set |
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig index 6fc4c2127757..851b27e45cfc 100644 --- a/arch/powerpc/configs/linkstation_defconfig +++ b/arch/powerpc/configs/linkstation_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc4 | 3 | # Linux kernel version: 2.6.27 |
4 | # Thu Aug 21 00:52:05 2008 | 4 | # Fri Oct 24 00:42:39 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -90,7 +90,7 @@ CONFIG_NAMESPACES=y | |||
90 | # CONFIG_PID_NS is not set | 90 | # CONFIG_PID_NS is not set |
91 | CONFIG_BLK_DEV_INITRD=y | 91 | CONFIG_BLK_DEV_INITRD=y |
92 | CONFIG_INITRAMFS_SOURCE="" | 92 | CONFIG_INITRAMFS_SOURCE="" |
93 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 93 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
94 | CONFIG_SYSCTL=y | 94 | CONFIG_SYSCTL=y |
95 | # CONFIG_EMBEDDED is not set | 95 | # CONFIG_EMBEDDED is not set |
96 | CONFIG_SYSCTL_SYSCALL=y | 96 | CONFIG_SYSCTL_SYSCALL=y |
@@ -101,7 +101,7 @@ CONFIG_HOTPLUG=y | |||
101 | CONFIG_PRINTK=y | 101 | CONFIG_PRINTK=y |
102 | CONFIG_BUG=y | 102 | CONFIG_BUG=y |
103 | CONFIG_ELF_CORE=y | 103 | CONFIG_ELF_CORE=y |
104 | CONFIG_COMPAT_BRK=y | 104 | # CONFIG_COMPAT_BRK is not set |
105 | CONFIG_BASE_FULL=y | 105 | CONFIG_BASE_FULL=y |
106 | CONFIG_FUTEX=y | 106 | CONFIG_FUTEX=y |
107 | CONFIG_ANON_INODES=y | 107 | CONFIG_ANON_INODES=y |
@@ -934,7 +934,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
934 | CONFIG_SERIAL_CORE=y | 934 | CONFIG_SERIAL_CORE=y |
935 | CONFIG_SERIAL_CORE_CONSOLE=y | 935 | CONFIG_SERIAL_CORE_CONSOLE=y |
936 | # CONFIG_SERIAL_JSM is not set | 936 | # CONFIG_SERIAL_JSM is not set |
937 | CONFIG_SERIAL_OF_PLATFORM=y | 937 | # CONFIG_SERIAL_OF_PLATFORM is not set |
938 | CONFIG_UNIX98_PTYS=y | 938 | CONFIG_UNIX98_PTYS=y |
939 | CONFIG_LEGACY_PTYS=y | 939 | CONFIG_LEGACY_PTYS=y |
940 | CONFIG_LEGACY_PTY_COUNT=256 | 940 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -1211,7 +1211,6 @@ CONFIG_USB_STORAGE=m | |||
1211 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1211 | # CONFIG_USB_STORAGE_ALAUDA is not set |
1212 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1212 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
1213 | # CONFIG_USB_STORAGE_KARMA is not set | 1213 | # CONFIG_USB_STORAGE_KARMA is not set |
1214 | # CONFIG_USB_STORAGE_SIERRA is not set | ||
1215 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | 1214 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set |
1216 | # CONFIG_USB_LIBUSUAL is not set | 1215 | # CONFIG_USB_LIBUSUAL is not set |
1217 | 1216 | ||
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig index 6a5b713a07e0..c15c91deb2ab 100644 --- a/arch/powerpc/configs/ppc40x_defconfig +++ b/arch/powerpc/configs/ppc40x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 12:34:33 2008 | 4 | # Tue Oct 28 08:56:44 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -19,14 +19,13 @@ CONFIG_4xx=y | |||
19 | CONFIG_NOT_COHERENT_CACHE=y | 19 | CONFIG_NOT_COHERENT_CACHE=y |
20 | CONFIG_PPC32=y | 20 | CONFIG_PPC32=y |
21 | CONFIG_WORD_SIZE=32 | 21 | CONFIG_WORD_SIZE=32 |
22 | CONFIG_PPC_MERGE=y | 22 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set |
23 | CONFIG_MMU=y | 23 | CONFIG_MMU=y |
24 | CONFIG_GENERIC_CMOS_UPDATE=y | 24 | CONFIG_GENERIC_CMOS_UPDATE=y |
25 | CONFIG_GENERIC_TIME=y | 25 | CONFIG_GENERIC_TIME=y |
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | 26 | CONFIG_GENERIC_TIME_VSYSCALL=y |
27 | CONFIG_GENERIC_CLOCKEVENTS=y | 27 | CONFIG_GENERIC_CLOCKEVENTS=y |
28 | CONFIG_GENERIC_HARDIRQS=y | 28 | CONFIG_GENERIC_HARDIRQS=y |
29 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
30 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 29 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
31 | CONFIG_IRQ_PER_CPU=y | 30 | CONFIG_IRQ_PER_CPU=y |
32 | CONFIG_STACKTRACE_SUPPORT=y | 31 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -37,6 +36,7 @@ CONFIG_ARCH_HAS_ILOG2_U32=y | |||
37 | CONFIG_GENERIC_HWEIGHT=y | 36 | CONFIG_GENERIC_HWEIGHT=y |
38 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 37 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
39 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 38 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
39 | CONFIG_GENERIC_GPIO=y | ||
40 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | 40 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set |
41 | CONFIG_PPC=y | 41 | CONFIG_PPC=y |
42 | CONFIG_EARLY_PRINTK=y | 42 | CONFIG_EARLY_PRINTK=y |
@@ -88,7 +88,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
88 | CONFIG_SYSCTL=y | 88 | CONFIG_SYSCTL=y |
89 | CONFIG_EMBEDDED=y | 89 | CONFIG_EMBEDDED=y |
90 | CONFIG_SYSCTL_SYSCALL=y | 90 | CONFIG_SYSCTL_SYSCALL=y |
91 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
92 | CONFIG_KALLSYMS=y | 91 | CONFIG_KALLSYMS=y |
93 | CONFIG_KALLSYMS_ALL=y | 92 | CONFIG_KALLSYMS_ALL=y |
94 | CONFIG_KALLSYMS_EXTRA_PASS=y | 93 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -105,7 +104,9 @@ CONFIG_SIGNALFD=y | |||
105 | CONFIG_TIMERFD=y | 104 | CONFIG_TIMERFD=y |
106 | CONFIG_EVENTFD=y | 105 | CONFIG_EVENTFD=y |
107 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
107 | CONFIG_AIO=y | ||
108 | CONFIG_VM_EVENT_COUNTERS=y | 108 | CONFIG_VM_EVENT_COUNTERS=y |
109 | CONFIG_PCI_QUIRKS=y | ||
109 | CONFIG_SLUB_DEBUG=y | 110 | CONFIG_SLUB_DEBUG=y |
110 | # CONFIG_SLAB is not set | 111 | # CONFIG_SLAB is not set |
111 | CONFIG_SLUB=y | 112 | CONFIG_SLUB=y |
@@ -119,10 +120,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
123 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
124 | # CONFIG_HAVE_CLK is not set | ||
125 | CONFIG_PROC_PAGE_MONITOR=y | ||
126 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
127 | CONFIG_SLABINFO=y | 124 | CONFIG_SLABINFO=y |
128 | CONFIG_RT_MUTEXES=y | 125 | CONFIG_RT_MUTEXES=y |
@@ -155,6 +152,7 @@ CONFIG_DEFAULT_AS=y | |||
155 | # CONFIG_DEFAULT_NOOP is not set | 152 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 153 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
157 | CONFIG_CLASSIC_RCU=y | 154 | CONFIG_CLASSIC_RCU=y |
155 | # CONFIG_FREEZER is not set | ||
158 | CONFIG_PPC4xx_PCI_EXPRESS=y | 156 | CONFIG_PPC4xx_PCI_EXPRESS=y |
159 | 157 | ||
160 | # | 158 | # |
@@ -163,14 +161,20 @@ CONFIG_PPC4xx_PCI_EXPRESS=y | |||
163 | # CONFIG_PPC_CELL is not set | 161 | # CONFIG_PPC_CELL is not set |
164 | # CONFIG_PPC_CELL_NATIVE is not set | 162 | # CONFIG_PPC_CELL_NATIVE is not set |
165 | # CONFIG_PQ2ADS is not set | 163 | # CONFIG_PQ2ADS is not set |
164 | CONFIG_PPC4xx_GPIO=y | ||
166 | CONFIG_XILINX_VIRTEX=y | 165 | CONFIG_XILINX_VIRTEX=y |
166 | CONFIG_ACADIA=y | ||
167 | CONFIG_EP405=y | 167 | CONFIG_EP405=y |
168 | CONFIG_HCU4=y | ||
168 | CONFIG_KILAUEA=y | 169 | CONFIG_KILAUEA=y |
169 | CONFIG_MAKALU=y | 170 | CONFIG_MAKALU=y |
170 | CONFIG_WALNUT=y | 171 | CONFIG_WALNUT=y |
171 | CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y | 172 | CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y |
173 | CONFIG_PPC40x_SIMPLE=y | ||
172 | CONFIG_405GP=y | 174 | CONFIG_405GP=y |
173 | CONFIG_405EX=y | 175 | CONFIG_405EX=y |
176 | CONFIG_405EZ=y | ||
177 | CONFIG_405GPR=y | ||
174 | CONFIG_XILINX_VIRTEX_II_PRO=y | 178 | CONFIG_XILINX_VIRTEX_II_PRO=y |
175 | CONFIG_XILINX_VIRTEX_4_FX=y | 179 | CONFIG_XILINX_VIRTEX_4_FX=y |
176 | CONFIG_IBM405_ERR77=y | 180 | CONFIG_IBM405_ERR77=y |
@@ -193,7 +197,6 @@ CONFIG_OF_RTC=y | |||
193 | # Kernel options | 197 | # Kernel options |
194 | # | 198 | # |
195 | # CONFIG_HIGHMEM is not set | 199 | # CONFIG_HIGHMEM is not set |
196 | # CONFIG_TICK_ONESHOT is not set | ||
197 | # CONFIG_NO_HZ is not set | 200 | # CONFIG_NO_HZ is not set |
198 | # CONFIG_HIGH_RES_TIMERS is not set | 201 | # CONFIG_HIGH_RES_TIMERS is not set |
199 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 202 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -207,6 +210,8 @@ CONFIG_PREEMPT_NONE=y | |||
207 | # CONFIG_PREEMPT_VOLUNTARY is not set | 210 | # CONFIG_PREEMPT_VOLUNTARY is not set |
208 | # CONFIG_PREEMPT is not set | 211 | # CONFIG_PREEMPT is not set |
209 | CONFIG_BINFMT_ELF=y | 212 | CONFIG_BINFMT_ELF=y |
213 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
214 | # CONFIG_HAVE_AOUT is not set | ||
210 | # CONFIG_BINFMT_MISC is not set | 215 | # CONFIG_BINFMT_MISC is not set |
211 | # CONFIG_MATH_EMULATION is not set | 216 | # CONFIG_MATH_EMULATION is not set |
212 | # CONFIG_IOMMU_HELPER is not set | 217 | # CONFIG_IOMMU_HELPER is not set |
@@ -221,15 +226,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
221 | # CONFIG_SPARSEMEM_MANUAL is not set | 226 | # CONFIG_SPARSEMEM_MANUAL is not set |
222 | CONFIG_FLATMEM=y | 227 | CONFIG_FLATMEM=y |
223 | CONFIG_FLAT_NODE_MEM_MAP=y | 228 | CONFIG_FLAT_NODE_MEM_MAP=y |
224 | # CONFIG_SPARSEMEM_STATIC is not set | ||
225 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
226 | CONFIG_PAGEFLAGS_EXTENDED=y | 229 | CONFIG_PAGEFLAGS_EXTENDED=y |
227 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 230 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
228 | CONFIG_MIGRATION=y | 231 | CONFIG_MIGRATION=y |
229 | CONFIG_RESOURCES_64BIT=y | 232 | CONFIG_RESOURCES_64BIT=y |
233 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
230 | CONFIG_ZONE_DMA_FLAG=1 | 234 | CONFIG_ZONE_DMA_FLAG=1 |
231 | CONFIG_BOUNCE=y | 235 | CONFIG_BOUNCE=y |
232 | CONFIG_VIRT_TO_BUS=y | 236 | CONFIG_VIRT_TO_BUS=y |
237 | CONFIG_UNEVICTABLE_LRU=y | ||
233 | CONFIG_FORCE_MAX_ZONEORDER=11 | 238 | CONFIG_FORCE_MAX_ZONEORDER=11 |
234 | CONFIG_PROC_DEVICETREE=y | 239 | CONFIG_PROC_DEVICETREE=y |
235 | # CONFIG_CMDLINE_BOOL is not set | 240 | # CONFIG_CMDLINE_BOOL is not set |
@@ -339,6 +344,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
339 | # CONFIG_TIPC is not set | 344 | # CONFIG_TIPC is not set |
340 | # CONFIG_ATM is not set | 345 | # CONFIG_ATM is not set |
341 | # CONFIG_BRIDGE is not set | 346 | # CONFIG_BRIDGE is not set |
347 | # CONFIG_NET_DSA is not set | ||
342 | # CONFIG_VLAN_8021Q is not set | 348 | # CONFIG_VLAN_8021Q is not set |
343 | # CONFIG_DECNET is not set | 349 | # CONFIG_DECNET is not set |
344 | # CONFIG_LLC2 is not set | 350 | # CONFIG_LLC2 is not set |
@@ -359,11 +365,10 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
359 | # CONFIG_IRDA is not set | 365 | # CONFIG_IRDA is not set |
360 | # CONFIG_BT is not set | 366 | # CONFIG_BT is not set |
361 | # CONFIG_AF_RXRPC is not set | 367 | # CONFIG_AF_RXRPC is not set |
362 | 368 | # CONFIG_PHONET is not set | |
363 | # | 369 | CONFIG_WIRELESS=y |
364 | # Wireless | ||
365 | # | ||
366 | # CONFIG_CFG80211 is not set | 370 | # CONFIG_CFG80211 is not set |
371 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
367 | # CONFIG_WIRELESS_EXT is not set | 372 | # CONFIG_WIRELESS_EXT is not set |
368 | # CONFIG_MAC80211 is not set | 373 | # CONFIG_MAC80211 is not set |
369 | # CONFIG_IEEE80211 is not set | 374 | # CONFIG_IEEE80211 is not set |
@@ -476,6 +481,7 @@ CONFIG_MTD_UBI_GLUEBI=y | |||
476 | # | 481 | # |
477 | # CONFIG_MTD_UBI_DEBUG is not set | 482 | # CONFIG_MTD_UBI_DEBUG is not set |
478 | CONFIG_OF_DEVICE=y | 483 | CONFIG_OF_DEVICE=y |
484 | CONFIG_OF_GPIO=y | ||
479 | CONFIG_OF_I2C=m | 485 | CONFIG_OF_I2C=m |
480 | # CONFIG_PARPORT is not set | 486 | # CONFIG_PARPORT is not set |
481 | CONFIG_BLK_DEV=y | 487 | CONFIG_BLK_DEV=y |
@@ -556,8 +562,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
556 | CONFIG_IBM_NEW_EMAC_RGMII=y | 562 | CONFIG_IBM_NEW_EMAC_RGMII=y |
557 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 563 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
558 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 564 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
565 | CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL=y | ||
566 | CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT=y | ||
567 | CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR=y | ||
559 | # CONFIG_NET_PCI is not set | 568 | # CONFIG_NET_PCI is not set |
560 | # CONFIG_B44 is not set | 569 | # CONFIG_B44 is not set |
570 | # CONFIG_ATL2 is not set | ||
561 | CONFIG_NETDEV_1000=y | 571 | CONFIG_NETDEV_1000=y |
562 | # CONFIG_ACENIC is not set | 572 | # CONFIG_ACENIC is not set |
563 | # CONFIG_DL2K is not set | 573 | # CONFIG_DL2K is not set |
@@ -578,18 +588,22 @@ CONFIG_NETDEV_1000=y | |||
578 | # CONFIG_QLA3XXX is not set | 588 | # CONFIG_QLA3XXX is not set |
579 | # CONFIG_ATL1 is not set | 589 | # CONFIG_ATL1 is not set |
580 | # CONFIG_ATL1E is not set | 590 | # CONFIG_ATL1E is not set |
591 | # CONFIG_JME is not set | ||
581 | CONFIG_NETDEV_10000=y | 592 | CONFIG_NETDEV_10000=y |
582 | # CONFIG_CHELSIO_T1 is not set | 593 | # CONFIG_CHELSIO_T1 is not set |
583 | # CONFIG_CHELSIO_T3 is not set | 594 | # CONFIG_CHELSIO_T3 is not set |
595 | # CONFIG_ENIC is not set | ||
584 | # CONFIG_IXGBE is not set | 596 | # CONFIG_IXGBE is not set |
585 | # CONFIG_IXGB is not set | 597 | # CONFIG_IXGB is not set |
586 | # CONFIG_S2IO is not set | 598 | # CONFIG_S2IO is not set |
587 | # CONFIG_MYRI10GE is not set | 599 | # CONFIG_MYRI10GE is not set |
588 | # CONFIG_NETXEN_NIC is not set | 600 | # CONFIG_NETXEN_NIC is not set |
589 | # CONFIG_NIU is not set | 601 | # CONFIG_NIU is not set |
602 | # CONFIG_MLX4_EN is not set | ||
590 | # CONFIG_MLX4_CORE is not set | 603 | # CONFIG_MLX4_CORE is not set |
591 | # CONFIG_TEHUTI is not set | 604 | # CONFIG_TEHUTI is not set |
592 | # CONFIG_BNX2X is not set | 605 | # CONFIG_BNX2X is not set |
606 | # CONFIG_QLGE is not set | ||
593 | # CONFIG_SFC is not set | 607 | # CONFIG_SFC is not set |
594 | # CONFIG_TR is not set | 608 | # CONFIG_TR is not set |
595 | 609 | ||
@@ -667,6 +681,8 @@ CONFIG_DEVPORT=y | |||
667 | CONFIG_I2C=m | 681 | CONFIG_I2C=m |
668 | CONFIG_I2C_BOARDINFO=y | 682 | CONFIG_I2C_BOARDINFO=y |
669 | CONFIG_I2C_CHARDEV=m | 683 | CONFIG_I2C_CHARDEV=m |
684 | CONFIG_I2C_HELPER_AUTO=y | ||
685 | CONFIG_I2C_ALGOBIT=m | ||
670 | 686 | ||
671 | # | 687 | # |
672 | # I2C Hardware Bus support | 688 | # I2C Hardware Bus support |
@@ -693,6 +709,7 @@ CONFIG_I2C_CHARDEV=m | |||
693 | # | 709 | # |
694 | # I2C system bus drivers (mostly embedded / system-on-chip) | 710 | # I2C system bus drivers (mostly embedded / system-on-chip) |
695 | # | 711 | # |
712 | CONFIG_I2C_GPIO=m | ||
696 | CONFIG_I2C_IBM_IIC=m | 713 | CONFIG_I2C_IBM_IIC=m |
697 | # CONFIG_I2C_MPC is not set | 714 | # CONFIG_I2C_MPC is not set |
698 | # CONFIG_I2C_OCORES is not set | 715 | # CONFIG_I2C_OCORES is not set |
@@ -725,6 +742,7 @@ CONFIG_I2C_IBM_IIC=m | |||
725 | # CONFIG_PCF8575 is not set | 742 | # CONFIG_PCF8575 is not set |
726 | # CONFIG_SENSORS_PCA9539 is not set | 743 | # CONFIG_SENSORS_PCA9539 is not set |
727 | # CONFIG_SENSORS_PCF8591 is not set | 744 | # CONFIG_SENSORS_PCF8591 is not set |
745 | # CONFIG_TPS65010 is not set | ||
728 | # CONFIG_SENSORS_MAX6875 is not set | 746 | # CONFIG_SENSORS_MAX6875 is not set |
729 | # CONFIG_SENSORS_TSL2550 is not set | 747 | # CONFIG_SENSORS_TSL2550 is not set |
730 | # CONFIG_I2C_DEBUG_CORE is not set | 748 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -733,7 +751,26 @@ CONFIG_I2C_IBM_IIC=m | |||
733 | # CONFIG_I2C_DEBUG_CHIP is not set | 751 | # CONFIG_I2C_DEBUG_CHIP is not set |
734 | # CONFIG_SPI is not set | 752 | # CONFIG_SPI is not set |
735 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 753 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
736 | # CONFIG_GPIOLIB is not set | 754 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
755 | CONFIG_GPIOLIB=y | ||
756 | # CONFIG_DEBUG_GPIO is not set | ||
757 | # CONFIG_GPIO_SYSFS is not set | ||
758 | |||
759 | # | ||
760 | # I2C GPIO expanders: | ||
761 | # | ||
762 | # CONFIG_GPIO_MAX732X is not set | ||
763 | # CONFIG_GPIO_PCA953X is not set | ||
764 | # CONFIG_GPIO_PCF857X is not set | ||
765 | |||
766 | # | ||
767 | # PCI GPIO expanders: | ||
768 | # | ||
769 | # CONFIG_GPIO_BT8XX is not set | ||
770 | |||
771 | # | ||
772 | # SPI GPIO expanders: | ||
773 | # | ||
737 | # CONFIG_W1 is not set | 774 | # CONFIG_W1 is not set |
738 | # CONFIG_POWER_SUPPLY is not set | 775 | # CONFIG_POWER_SUPPLY is not set |
739 | # CONFIG_HWMON is not set | 776 | # CONFIG_HWMON is not set |
@@ -752,6 +789,9 @@ CONFIG_SSB_POSSIBLE=y | |||
752 | # CONFIG_MFD_CORE is not set | 789 | # CONFIG_MFD_CORE is not set |
753 | # CONFIG_MFD_SM501 is not set | 790 | # CONFIG_MFD_SM501 is not set |
754 | # CONFIG_HTC_PASIC3 is not set | 791 | # CONFIG_HTC_PASIC3 is not set |
792 | # CONFIG_MFD_TMIO is not set | ||
793 | # CONFIG_MFD_WM8400 is not set | ||
794 | # CONFIG_MFD_WM8350_I2C is not set | ||
755 | 795 | ||
756 | # | 796 | # |
757 | # Multimedia devices | 797 | # Multimedia devices |
@@ -793,9 +833,14 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
793 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 833 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
794 | 834 | ||
795 | # | 835 | # |
836 | # Enable Host or Gadget support to see Inventra options | ||
837 | # | ||
838 | |||
839 | # | ||
796 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 840 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
797 | # | 841 | # |
798 | # CONFIG_USB_GADGET is not set | 842 | # CONFIG_USB_GADGET is not set |
843 | # CONFIG_UWB is not set | ||
799 | # CONFIG_MMC is not set | 844 | # CONFIG_MMC is not set |
800 | # CONFIG_MEMSTICK is not set | 845 | # CONFIG_MEMSTICK is not set |
801 | # CONFIG_NEW_LEDS is not set | 846 | # CONFIG_NEW_LEDS is not set |
@@ -805,6 +850,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
805 | # CONFIG_RTC_CLASS is not set | 850 | # CONFIG_RTC_CLASS is not set |
806 | # CONFIG_DMADEVICES is not set | 851 | # CONFIG_DMADEVICES is not set |
807 | # CONFIG_UIO is not set | 852 | # CONFIG_UIO is not set |
853 | # CONFIG_STAGING is not set | ||
808 | 854 | ||
809 | # | 855 | # |
810 | # File systems | 856 | # File systems |
@@ -816,13 +862,14 @@ CONFIG_EXT3_FS=m | |||
816 | CONFIG_EXT3_FS_XATTR=y | 862 | CONFIG_EXT3_FS_XATTR=y |
817 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 863 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
818 | # CONFIG_EXT3_FS_SECURITY is not set | 864 | # CONFIG_EXT3_FS_SECURITY is not set |
819 | # CONFIG_EXT4DEV_FS is not set | 865 | # CONFIG_EXT4_FS is not set |
820 | CONFIG_JBD=m | 866 | CONFIG_JBD=m |
821 | # CONFIG_JBD_DEBUG is not set | 867 | # CONFIG_JBD_DEBUG is not set |
822 | CONFIG_FS_MBCACHE=y | 868 | CONFIG_FS_MBCACHE=m |
823 | # CONFIG_REISERFS_FS is not set | 869 | # CONFIG_REISERFS_FS is not set |
824 | # CONFIG_JFS_FS is not set | 870 | # CONFIG_JFS_FS is not set |
825 | # CONFIG_FS_POSIX_ACL is not set | 871 | # CONFIG_FS_POSIX_ACL is not set |
872 | CONFIG_FILE_LOCKING=y | ||
826 | # CONFIG_XFS_FS is not set | 873 | # CONFIG_XFS_FS is not set |
827 | # CONFIG_OCFS2_FS is not set | 874 | # CONFIG_OCFS2_FS is not set |
828 | CONFIG_DNOTIFY=y | 875 | CONFIG_DNOTIFY=y |
@@ -855,6 +902,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
855 | CONFIG_PROC_FS=y | 902 | CONFIG_PROC_FS=y |
856 | CONFIG_PROC_KCORE=y | 903 | CONFIG_PROC_KCORE=y |
857 | CONFIG_PROC_SYSCTL=y | 904 | CONFIG_PROC_SYSCTL=y |
905 | CONFIG_PROC_PAGE_MONITOR=y | ||
858 | CONFIG_SYSFS=y | 906 | CONFIG_SYSFS=y |
859 | CONFIG_TMPFS=y | 907 | CONFIG_TMPFS=y |
860 | # CONFIG_TMPFS_POSIX_ACL is not set | 908 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -908,6 +956,7 @@ CONFIG_LOCKD=y | |||
908 | CONFIG_LOCKD_V4=y | 956 | CONFIG_LOCKD_V4=y |
909 | CONFIG_NFS_COMMON=y | 957 | CONFIG_NFS_COMMON=y |
910 | CONFIG_SUNRPC=y | 958 | CONFIG_SUNRPC=y |
959 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
911 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 960 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
912 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 961 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
913 | # CONFIG_SMB_FS is not set | 962 | # CONFIG_SMB_FS is not set |
@@ -967,7 +1016,6 @@ CONFIG_NLS_ISO8859_1=m | |||
967 | # Library routines | 1016 | # Library routines |
968 | # | 1017 | # |
969 | CONFIG_BITREVERSE=y | 1018 | CONFIG_BITREVERSE=y |
970 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
971 | # CONFIG_CRC_CCITT is not set | 1019 | # CONFIG_CRC_CCITT is not set |
972 | CONFIG_CRC16=m | 1020 | CONFIG_CRC16=m |
973 | # CONFIG_CRC_T10DIF is not set | 1021 | # CONFIG_CRC_T10DIF is not set |
@@ -1023,14 +1071,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1023 | # CONFIG_DEBUG_SG is not set | 1071 | # CONFIG_DEBUG_SG is not set |
1024 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1072 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1025 | # CONFIG_RCU_TORTURE_TEST is not set | 1073 | # CONFIG_RCU_TORTURE_TEST is not set |
1074 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1026 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1075 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1076 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1027 | # CONFIG_FAULT_INJECTION is not set | 1077 | # CONFIG_FAULT_INJECTION is not set |
1028 | # CONFIG_LATENCYTOP is not set | 1078 | # CONFIG_LATENCYTOP is not set |
1079 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1080 | CONFIG_NOP_TRACER=y | ||
1029 | CONFIG_HAVE_FTRACE=y | 1081 | CONFIG_HAVE_FTRACE=y |
1030 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1082 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1031 | # CONFIG_FTRACE is not set | 1083 | # CONFIG_FTRACE is not set |
1032 | # CONFIG_SCHED_TRACER is not set | 1084 | # CONFIG_SCHED_TRACER is not set |
1033 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1085 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1086 | # CONFIG_BOOT_TRACER is not set | ||
1087 | # CONFIG_STACK_TRACER is not set | ||
1088 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1034 | # CONFIG_SAMPLES is not set | 1089 | # CONFIG_SAMPLES is not set |
1035 | CONFIG_HAVE_ARCH_KGDB=y | 1090 | CONFIG_HAVE_ARCH_KGDB=y |
1036 | # CONFIG_KGDB is not set | 1091 | # CONFIG_KGDB is not set |
@@ -1039,6 +1094,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1039 | # CONFIG_DEBUG_PAGEALLOC is not set | 1094 | # CONFIG_DEBUG_PAGEALLOC is not set |
1040 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1095 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1041 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1096 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1097 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
1042 | # CONFIG_XMON is not set | 1098 | # CONFIG_XMON is not set |
1043 | # CONFIG_IRQSTACKS is not set | 1099 | # CONFIG_IRQSTACKS is not set |
1044 | # CONFIG_VIRQ_DEBUG is not set | 1100 | # CONFIG_VIRQ_DEBUG is not set |
@@ -1050,14 +1106,19 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1050 | # | 1106 | # |
1051 | # CONFIG_KEYS is not set | 1107 | # CONFIG_KEYS is not set |
1052 | # CONFIG_SECURITY is not set | 1108 | # CONFIG_SECURITY is not set |
1109 | # CONFIG_SECURITYFS is not set | ||
1053 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1110 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1054 | CONFIG_CRYPTO=y | 1111 | CONFIG_CRYPTO=y |
1055 | 1112 | ||
1056 | # | 1113 | # |
1057 | # Crypto core or helper | 1114 | # Crypto core or helper |
1058 | # | 1115 | # |
1116 | # CONFIG_CRYPTO_FIPS is not set | ||
1059 | CONFIG_CRYPTO_ALGAPI=y | 1117 | CONFIG_CRYPTO_ALGAPI=y |
1118 | CONFIG_CRYPTO_AEAD=y | ||
1060 | CONFIG_CRYPTO_BLKCIPHER=y | 1119 | CONFIG_CRYPTO_BLKCIPHER=y |
1120 | CONFIG_CRYPTO_HASH=y | ||
1121 | CONFIG_CRYPTO_RNG=y | ||
1061 | CONFIG_CRYPTO_MANAGER=y | 1122 | CONFIG_CRYPTO_MANAGER=y |
1062 | # CONFIG_CRYPTO_GF128MUL is not set | 1123 | # CONFIG_CRYPTO_GF128MUL is not set |
1063 | # CONFIG_CRYPTO_NULL is not set | 1124 | # CONFIG_CRYPTO_NULL is not set |
@@ -1130,6 +1191,11 @@ CONFIG_CRYPTO_DES=y | |||
1130 | # | 1191 | # |
1131 | CONFIG_CRYPTO_DEFLATE=m | 1192 | CONFIG_CRYPTO_DEFLATE=m |
1132 | CONFIG_CRYPTO_LZO=m | 1193 | CONFIG_CRYPTO_LZO=m |
1194 | |||
1195 | # | ||
1196 | # Random Number Generation | ||
1197 | # | ||
1198 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1133 | CONFIG_CRYPTO_HW=y | 1199 | CONFIG_CRYPTO_HW=y |
1134 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1200 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
1135 | # CONFIG_PPC_CLOCK is not set | 1201 | # CONFIG_PPC_CLOCK is not set |
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig index c7825dcbf415..55edbd545b61 100644 --- a/arch/powerpc/configs/ppc44x_defconfig +++ b/arch/powerpc/configs/ppc44x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc1 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Aug 5 10:01:31 2008 | 4 | # Tue Oct 28 09:28:58 2008 |
5 | # | 5 | # |
6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
7 | 7 | ||
@@ -23,14 +23,13 @@ CONFIG_PHYS_64BIT=y | |||
23 | CONFIG_NOT_COHERENT_CACHE=y | 23 | CONFIG_NOT_COHERENT_CACHE=y |
24 | CONFIG_PPC32=y | 24 | CONFIG_PPC32=y |
25 | CONFIG_WORD_SIZE=32 | 25 | CONFIG_WORD_SIZE=32 |
26 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
27 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
28 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
29 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
30 | CONFIG_GENERIC_TIME_VSYSCALL=y | 30 | CONFIG_GENERIC_TIME_VSYSCALL=y |
31 | CONFIG_GENERIC_CLOCKEVENTS=y | 31 | CONFIG_GENERIC_CLOCKEVENTS=y |
32 | CONFIG_GENERIC_HARDIRQS=y | 32 | CONFIG_GENERIC_HARDIRQS=y |
33 | # CONFIG_HAVE_GET_USER_PAGES_FAST is not set | ||
34 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | 33 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set |
35 | CONFIG_IRQ_PER_CPU=y | 34 | CONFIG_IRQ_PER_CPU=y |
36 | CONFIG_STACKTRACE_SUPPORT=y | 35 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -41,6 +40,7 @@ CONFIG_ARCH_HAS_ILOG2_U32=y | |||
41 | CONFIG_GENERIC_HWEIGHT=y | 40 | CONFIG_GENERIC_HWEIGHT=y |
42 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 41 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
43 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 42 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
43 | CONFIG_GENERIC_GPIO=y | ||
44 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | 44 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set |
45 | CONFIG_PPC=y | 45 | CONFIG_PPC=y |
46 | CONFIG_EARLY_PRINTK=y | 46 | CONFIG_EARLY_PRINTK=y |
@@ -92,7 +92,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
92 | CONFIG_SYSCTL=y | 92 | CONFIG_SYSCTL=y |
93 | CONFIG_EMBEDDED=y | 93 | CONFIG_EMBEDDED=y |
94 | CONFIG_SYSCTL_SYSCALL=y | 94 | CONFIG_SYSCTL_SYSCALL=y |
95 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
96 | CONFIG_KALLSYMS=y | 95 | CONFIG_KALLSYMS=y |
97 | CONFIG_KALLSYMS_ALL=y | 96 | CONFIG_KALLSYMS_ALL=y |
98 | CONFIG_KALLSYMS_EXTRA_PASS=y | 97 | CONFIG_KALLSYMS_EXTRA_PASS=y |
@@ -109,7 +108,9 @@ CONFIG_SIGNALFD=y | |||
109 | CONFIG_TIMERFD=y | 108 | CONFIG_TIMERFD=y |
110 | CONFIG_EVENTFD=y | 109 | CONFIG_EVENTFD=y |
111 | CONFIG_SHMEM=y | 110 | CONFIG_SHMEM=y |
111 | CONFIG_AIO=y | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 112 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | ||
113 | CONFIG_SLUB_DEBUG=y | 114 | CONFIG_SLUB_DEBUG=y |
114 | # CONFIG_SLAB is not set | 115 | # CONFIG_SLAB is not set |
115 | CONFIG_SLUB=y | 116 | CONFIG_SLUB=y |
@@ -123,10 +124,6 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
123 | CONFIG_HAVE_KPROBES=y | 124 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 125 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 126 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
127 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
128 | # CONFIG_HAVE_CLK is not set | ||
129 | CONFIG_PROC_PAGE_MONITOR=y | ||
130 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 127 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
131 | CONFIG_SLABINFO=y | 128 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 129 | CONFIG_RT_MUTEXES=y |
@@ -158,7 +155,9 @@ CONFIG_DEFAULT_AS=y | |||
158 | # CONFIG_DEFAULT_CFQ is not set | 155 | # CONFIG_DEFAULT_CFQ is not set |
159 | # CONFIG_DEFAULT_NOOP is not set | 156 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 157 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
158 | CONFIG_PREEMPT_NOTIFIERS=y | ||
161 | CONFIG_CLASSIC_RCU=y | 159 | CONFIG_CLASSIC_RCU=y |
160 | # CONFIG_FREEZER is not set | ||
162 | CONFIG_PPC4xx_PCI_EXPRESS=y | 161 | CONFIG_PPC4xx_PCI_EXPRESS=y |
163 | 162 | ||
164 | # | 163 | # |
@@ -175,9 +174,13 @@ CONFIG_TAISHAN=y | |||
175 | CONFIG_KATMAI=y | 174 | CONFIG_KATMAI=y |
176 | CONFIG_RAINIER=y | 175 | CONFIG_RAINIER=y |
177 | CONFIG_WARP=y | 176 | CONFIG_WARP=y |
177 | CONFIG_ARCHES=y | ||
178 | CONFIG_CANYONLANDS=y | 178 | CONFIG_CANYONLANDS=y |
179 | CONFIG_GLACIER=y | ||
179 | CONFIG_YOSEMITE=y | 180 | CONFIG_YOSEMITE=y |
180 | CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y | 181 | CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y |
182 | CONFIG_PPC44x_SIMPLE=y | ||
183 | CONFIG_PPC4xx_GPIO=y | ||
181 | CONFIG_440EP=y | 184 | CONFIG_440EP=y |
182 | CONFIG_440EPX=y | 185 | CONFIG_440EPX=y |
183 | CONFIG_440GRX=y | 186 | CONFIG_440GRX=y |
@@ -206,7 +209,6 @@ CONFIG_OF_RTC=y | |||
206 | # Kernel options | 209 | # Kernel options |
207 | # | 210 | # |
208 | # CONFIG_HIGHMEM is not set | 211 | # CONFIG_HIGHMEM is not set |
209 | # CONFIG_TICK_ONESHOT is not set | ||
210 | # CONFIG_NO_HZ is not set | 212 | # CONFIG_NO_HZ is not set |
211 | # CONFIG_HIGH_RES_TIMERS is not set | 213 | # CONFIG_HIGH_RES_TIMERS is not set |
212 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 214 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
@@ -220,6 +222,8 @@ CONFIG_PREEMPT_NONE=y | |||
220 | # CONFIG_PREEMPT_VOLUNTARY is not set | 222 | # CONFIG_PREEMPT_VOLUNTARY is not set |
221 | # CONFIG_PREEMPT is not set | 223 | # CONFIG_PREEMPT is not set |
222 | CONFIG_BINFMT_ELF=y | 224 | CONFIG_BINFMT_ELF=y |
225 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
226 | # CONFIG_HAVE_AOUT is not set | ||
223 | # CONFIG_BINFMT_MISC is not set | 227 | # CONFIG_BINFMT_MISC is not set |
224 | CONFIG_MATH_EMULATION=y | 228 | CONFIG_MATH_EMULATION=y |
225 | # CONFIG_IOMMU_HELPER is not set | 229 | # CONFIG_IOMMU_HELPER is not set |
@@ -234,15 +238,15 @@ CONFIG_FLATMEM_MANUAL=y | |||
234 | # CONFIG_SPARSEMEM_MANUAL is not set | 238 | # CONFIG_SPARSEMEM_MANUAL is not set |
235 | CONFIG_FLATMEM=y | 239 | CONFIG_FLATMEM=y |
236 | CONFIG_FLAT_NODE_MEM_MAP=y | 240 | CONFIG_FLAT_NODE_MEM_MAP=y |
237 | # CONFIG_SPARSEMEM_STATIC is not set | ||
238 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
239 | CONFIG_PAGEFLAGS_EXTENDED=y | 241 | CONFIG_PAGEFLAGS_EXTENDED=y |
240 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 242 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
241 | CONFIG_MIGRATION=y | 243 | CONFIG_MIGRATION=y |
242 | CONFIG_RESOURCES_64BIT=y | 244 | CONFIG_RESOURCES_64BIT=y |
245 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
243 | CONFIG_ZONE_DMA_FLAG=1 | 246 | CONFIG_ZONE_DMA_FLAG=1 |
244 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
245 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
249 | CONFIG_UNEVICTABLE_LRU=y | ||
246 | CONFIG_FORCE_MAX_ZONEORDER=11 | 250 | CONFIG_FORCE_MAX_ZONEORDER=11 |
247 | CONFIG_PROC_DEVICETREE=y | 251 | CONFIG_PROC_DEVICETREE=y |
248 | # CONFIG_CMDLINE_BOOL is not set | 252 | # CONFIG_CMDLINE_BOOL is not set |
@@ -351,6 +355,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
351 | # CONFIG_TIPC is not set | 355 | # CONFIG_TIPC is not set |
352 | # CONFIG_ATM is not set | 356 | # CONFIG_ATM is not set |
353 | # CONFIG_BRIDGE is not set | 357 | # CONFIG_BRIDGE is not set |
358 | # CONFIG_NET_DSA is not set | ||
354 | # CONFIG_VLAN_8021Q is not set | 359 | # CONFIG_VLAN_8021Q is not set |
355 | # CONFIG_DECNET is not set | 360 | # CONFIG_DECNET is not set |
356 | # CONFIG_LLC2 is not set | 361 | # CONFIG_LLC2 is not set |
@@ -371,14 +376,8 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
371 | # CONFIG_IRDA is not set | 376 | # CONFIG_IRDA is not set |
372 | # CONFIG_BT is not set | 377 | # CONFIG_BT is not set |
373 | # CONFIG_AF_RXRPC is not set | 378 | # CONFIG_AF_RXRPC is not set |
374 | 379 | # CONFIG_PHONET is not set | |
375 | # | 380 | # CONFIG_WIRELESS is not set |
376 | # Wireless | ||
377 | # | ||
378 | # CONFIG_CFG80211 is not set | ||
379 | # CONFIG_WIRELESS_EXT is not set | ||
380 | # CONFIG_MAC80211 is not set | ||
381 | # CONFIG_IEEE80211 is not set | ||
382 | # CONFIG_RFKILL is not set | 381 | # CONFIG_RFKILL is not set |
383 | # CONFIG_NET_9P is not set | 382 | # CONFIG_NET_9P is not set |
384 | 383 | ||
@@ -487,6 +486,7 @@ CONFIG_MTD_UBI_GLUEBI=y | |||
487 | # | 486 | # |
488 | # CONFIG_MTD_UBI_DEBUG is not set | 487 | # CONFIG_MTD_UBI_DEBUG is not set |
489 | CONFIG_OF_DEVICE=y | 488 | CONFIG_OF_DEVICE=y |
489 | CONFIG_OF_GPIO=y | ||
490 | CONFIG_OF_I2C=m | 490 | CONFIG_OF_I2C=m |
491 | # CONFIG_PARPORT is not set | 491 | # CONFIG_PARPORT is not set |
492 | CONFIG_BLK_DEV=y | 492 | CONFIG_BLK_DEV=y |
@@ -600,8 +600,12 @@ CONFIG_IBM_NEW_EMAC_ZMII=y | |||
600 | CONFIG_IBM_NEW_EMAC_RGMII=y | 600 | CONFIG_IBM_NEW_EMAC_RGMII=y |
601 | CONFIG_IBM_NEW_EMAC_TAH=y | 601 | CONFIG_IBM_NEW_EMAC_TAH=y |
602 | CONFIG_IBM_NEW_EMAC_EMAC4=y | 602 | CONFIG_IBM_NEW_EMAC_EMAC4=y |
603 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
604 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
605 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
603 | # CONFIG_NET_PCI is not set | 606 | # CONFIG_NET_PCI is not set |
604 | # CONFIG_B44 is not set | 607 | # CONFIG_B44 is not set |
608 | # CONFIG_ATL2 is not set | ||
605 | CONFIG_NETDEV_1000=y | 609 | CONFIG_NETDEV_1000=y |
606 | # CONFIG_ACENIC is not set | 610 | # CONFIG_ACENIC is not set |
607 | # CONFIG_DL2K is not set | 611 | # CONFIG_DL2K is not set |
@@ -622,18 +626,22 @@ CONFIG_NETDEV_1000=y | |||
622 | # CONFIG_QLA3XXX is not set | 626 | # CONFIG_QLA3XXX is not set |
623 | # CONFIG_ATL1 is not set | 627 | # CONFIG_ATL1 is not set |
624 | # CONFIG_ATL1E is not set | 628 | # CONFIG_ATL1E is not set |
629 | # CONFIG_JME is not set | ||
625 | CONFIG_NETDEV_10000=y | 630 | CONFIG_NETDEV_10000=y |
626 | # CONFIG_CHELSIO_T1 is not set | 631 | # CONFIG_CHELSIO_T1 is not set |
627 | # CONFIG_CHELSIO_T3 is not set | 632 | # CONFIG_CHELSIO_T3 is not set |
633 | # CONFIG_ENIC is not set | ||
628 | # CONFIG_IXGBE is not set | 634 | # CONFIG_IXGBE is not set |
629 | # CONFIG_IXGB is not set | 635 | # CONFIG_IXGB is not set |
630 | # CONFIG_S2IO is not set | 636 | # CONFIG_S2IO is not set |
631 | # CONFIG_MYRI10GE is not set | 637 | # CONFIG_MYRI10GE is not set |
632 | # CONFIG_NETXEN_NIC is not set | 638 | # CONFIG_NETXEN_NIC is not set |
633 | # CONFIG_NIU is not set | 639 | # CONFIG_NIU is not set |
640 | # CONFIG_MLX4_EN is not set | ||
634 | # CONFIG_MLX4_CORE is not set | 641 | # CONFIG_MLX4_CORE is not set |
635 | # CONFIG_TEHUTI is not set | 642 | # CONFIG_TEHUTI is not set |
636 | # CONFIG_BNX2X is not set | 643 | # CONFIG_BNX2X is not set |
644 | # CONFIG_QLGE is not set | ||
637 | # CONFIG_SFC is not set | 645 | # CONFIG_SFC is not set |
638 | # CONFIG_TR is not set | 646 | # CONFIG_TR is not set |
639 | 647 | ||
@@ -721,6 +729,8 @@ CONFIG_DEVPORT=y | |||
721 | CONFIG_I2C=m | 729 | CONFIG_I2C=m |
722 | CONFIG_I2C_BOARDINFO=y | 730 | CONFIG_I2C_BOARDINFO=y |
723 | CONFIG_I2C_CHARDEV=m | 731 | CONFIG_I2C_CHARDEV=m |
732 | CONFIG_I2C_HELPER_AUTO=y | ||
733 | CONFIG_I2C_ALGOBIT=m | ||
724 | 734 | ||
725 | # | 735 | # |
726 | # I2C Hardware Bus support | 736 | # I2C Hardware Bus support |
@@ -747,6 +757,7 @@ CONFIG_I2C_CHARDEV=m | |||
747 | # | 757 | # |
748 | # I2C system bus drivers (mostly embedded / system-on-chip) | 758 | # I2C system bus drivers (mostly embedded / system-on-chip) |
749 | # | 759 | # |
760 | CONFIG_I2C_GPIO=m | ||
750 | CONFIG_I2C_IBM_IIC=m | 761 | CONFIG_I2C_IBM_IIC=m |
751 | # CONFIG_I2C_MPC is not set | 762 | # CONFIG_I2C_MPC is not set |
752 | # CONFIG_I2C_OCORES is not set | 763 | # CONFIG_I2C_OCORES is not set |
@@ -780,6 +791,7 @@ CONFIG_I2C_IBM_IIC=m | |||
780 | # CONFIG_PCF8575 is not set | 791 | # CONFIG_PCF8575 is not set |
781 | # CONFIG_SENSORS_PCA9539 is not set | 792 | # CONFIG_SENSORS_PCA9539 is not set |
782 | # CONFIG_SENSORS_PCF8591 is not set | 793 | # CONFIG_SENSORS_PCF8591 is not set |
794 | # CONFIG_TPS65010 is not set | ||
783 | # CONFIG_SENSORS_MAX6875 is not set | 795 | # CONFIG_SENSORS_MAX6875 is not set |
784 | # CONFIG_SENSORS_TSL2550 is not set | 796 | # CONFIG_SENSORS_TSL2550 is not set |
785 | # CONFIG_I2C_DEBUG_CORE is not set | 797 | # CONFIG_I2C_DEBUG_CORE is not set |
@@ -788,7 +800,26 @@ CONFIG_I2C_IBM_IIC=m | |||
788 | # CONFIG_I2C_DEBUG_CHIP is not set | 800 | # CONFIG_I2C_DEBUG_CHIP is not set |
789 | # CONFIG_SPI is not set | 801 | # CONFIG_SPI is not set |
790 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 802 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
791 | # CONFIG_GPIOLIB is not set | 803 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
804 | CONFIG_GPIOLIB=y | ||
805 | # CONFIG_DEBUG_GPIO is not set | ||
806 | # CONFIG_GPIO_SYSFS is not set | ||
807 | |||
808 | # | ||
809 | # I2C GPIO expanders: | ||
810 | # | ||
811 | # CONFIG_GPIO_MAX732X is not set | ||
812 | # CONFIG_GPIO_PCA953X is not set | ||
813 | # CONFIG_GPIO_PCF857X is not set | ||
814 | |||
815 | # | ||
816 | # PCI GPIO expanders: | ||
817 | # | ||
818 | # CONFIG_GPIO_BT8XX is not set | ||
819 | |||
820 | # | ||
821 | # SPI GPIO expanders: | ||
822 | # | ||
792 | # CONFIG_W1 is not set | 823 | # CONFIG_W1 is not set |
793 | # CONFIG_POWER_SUPPLY is not set | 824 | # CONFIG_POWER_SUPPLY is not set |
794 | # CONFIG_HWMON is not set | 825 | # CONFIG_HWMON is not set |
@@ -808,6 +839,9 @@ CONFIG_SSB_POSSIBLE=y | |||
808 | # CONFIG_MFD_CORE is not set | 839 | # CONFIG_MFD_CORE is not set |
809 | # CONFIG_MFD_SM501 is not set | 840 | # CONFIG_MFD_SM501 is not set |
810 | # CONFIG_HTC_PASIC3 is not set | 841 | # CONFIG_HTC_PASIC3 is not set |
842 | # CONFIG_MFD_TMIO is not set | ||
843 | # CONFIG_MFD_WM8400 is not set | ||
844 | # CONFIG_MFD_WM8350_I2C is not set | ||
811 | 845 | ||
812 | # | 846 | # |
813 | # Multimedia devices | 847 | # Multimedia devices |
@@ -857,6 +891,9 @@ CONFIG_USB_DEVICE_CLASS=y | |||
857 | # CONFIG_USB_OTG is not set | 891 | # CONFIG_USB_OTG is not set |
858 | # CONFIG_USB_OTG_WHITELIST is not set | 892 | # CONFIG_USB_OTG_WHITELIST is not set |
859 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 893 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
894 | # CONFIG_USB_MON is not set | ||
895 | # CONFIG_USB_WUSB is not set | ||
896 | # CONFIG_USB_WUSB_CBAF is not set | ||
860 | 897 | ||
861 | # | 898 | # |
862 | # USB Host Controller Drivers | 899 | # USB Host Controller Drivers |
@@ -881,6 +918,12 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
881 | # CONFIG_USB_UHCI_HCD is not set | 918 | # CONFIG_USB_UHCI_HCD is not set |
882 | # CONFIG_USB_SL811_HCD is not set | 919 | # CONFIG_USB_SL811_HCD is not set |
883 | # CONFIG_USB_R8A66597_HCD is not set | 920 | # CONFIG_USB_R8A66597_HCD is not set |
921 | # CONFIG_USB_WHCI_HCD is not set | ||
922 | # CONFIG_USB_HWA_HCD is not set | ||
923 | |||
924 | # | ||
925 | # Enable Host or Gadget support to see Inventra options | ||
926 | # | ||
884 | 927 | ||
885 | # | 928 | # |
886 | # USB Device Class drivers | 929 | # USB Device Class drivers |
@@ -888,6 +931,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
888 | # CONFIG_USB_ACM is not set | 931 | # CONFIG_USB_ACM is not set |
889 | # CONFIG_USB_PRINTER is not set | 932 | # CONFIG_USB_PRINTER is not set |
890 | # CONFIG_USB_WDM is not set | 933 | # CONFIG_USB_WDM is not set |
934 | # CONFIG_USB_TMC is not set | ||
891 | 935 | ||
892 | # | 936 | # |
893 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 937 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -916,7 +960,6 @@ CONFIG_USB_STORAGE=m | |||
916 | # | 960 | # |
917 | # CONFIG_USB_MDC800 is not set | 961 | # CONFIG_USB_MDC800 is not set |
918 | # CONFIG_USB_MICROTEK is not set | 962 | # CONFIG_USB_MICROTEK is not set |
919 | # CONFIG_USB_MON is not set | ||
920 | 963 | ||
921 | # | 964 | # |
922 | # USB port drivers | 965 | # USB port drivers |
@@ -929,7 +972,7 @@ CONFIG_USB_STORAGE=m | |||
929 | # CONFIG_USB_EMI62 is not set | 972 | # CONFIG_USB_EMI62 is not set |
930 | # CONFIG_USB_EMI26 is not set | 973 | # CONFIG_USB_EMI26 is not set |
931 | # CONFIG_USB_ADUTUX is not set | 974 | # CONFIG_USB_ADUTUX is not set |
932 | # CONFIG_USB_AUERSWALD is not set | 975 | # CONFIG_USB_SEVSEG is not set |
933 | # CONFIG_USB_RIO500 is not set | 976 | # CONFIG_USB_RIO500 is not set |
934 | # CONFIG_USB_LEGOTOWER is not set | 977 | # CONFIG_USB_LEGOTOWER is not set |
935 | # CONFIG_USB_LCD is not set | 978 | # CONFIG_USB_LCD is not set |
@@ -946,7 +989,9 @@ CONFIG_USB_STORAGE=m | |||
946 | # CONFIG_USB_TRANCEVIBRATOR is not set | 989 | # CONFIG_USB_TRANCEVIBRATOR is not set |
947 | # CONFIG_USB_IOWARRIOR is not set | 990 | # CONFIG_USB_IOWARRIOR is not set |
948 | # CONFIG_USB_ISIGHTFW is not set | 991 | # CONFIG_USB_ISIGHTFW is not set |
992 | # CONFIG_USB_VST is not set | ||
949 | # CONFIG_USB_GADGET is not set | 993 | # CONFIG_USB_GADGET is not set |
994 | # CONFIG_UWB is not set | ||
950 | # CONFIG_MMC is not set | 995 | # CONFIG_MMC is not set |
951 | # CONFIG_MEMSTICK is not set | 996 | # CONFIG_MEMSTICK is not set |
952 | # CONFIG_NEW_LEDS is not set | 997 | # CONFIG_NEW_LEDS is not set |
@@ -956,6 +1001,7 @@ CONFIG_USB_STORAGE=m | |||
956 | # CONFIG_RTC_CLASS is not set | 1001 | # CONFIG_RTC_CLASS is not set |
957 | # CONFIG_DMADEVICES is not set | 1002 | # CONFIG_DMADEVICES is not set |
958 | # CONFIG_UIO is not set | 1003 | # CONFIG_UIO is not set |
1004 | # CONFIG_STAGING is not set | ||
959 | 1005 | ||
960 | # | 1006 | # |
961 | # File systems | 1007 | # File systems |
@@ -967,12 +1013,13 @@ CONFIG_EXT3_FS=m | |||
967 | CONFIG_EXT3_FS_XATTR=y | 1013 | CONFIG_EXT3_FS_XATTR=y |
968 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1014 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
969 | # CONFIG_EXT3_FS_SECURITY is not set | 1015 | # CONFIG_EXT3_FS_SECURITY is not set |
970 | # CONFIG_EXT4DEV_FS is not set | 1016 | # CONFIG_EXT4_FS is not set |
971 | CONFIG_JBD=m | 1017 | CONFIG_JBD=m |
972 | CONFIG_FS_MBCACHE=y | 1018 | CONFIG_FS_MBCACHE=m |
973 | # CONFIG_REISERFS_FS is not set | 1019 | # CONFIG_REISERFS_FS is not set |
974 | # CONFIG_JFS_FS is not set | 1020 | # CONFIG_JFS_FS is not set |
975 | # CONFIG_FS_POSIX_ACL is not set | 1021 | # CONFIG_FS_POSIX_ACL is not set |
1022 | CONFIG_FILE_LOCKING=y | ||
976 | # CONFIG_XFS_FS is not set | 1023 | # CONFIG_XFS_FS is not set |
977 | # CONFIG_OCFS2_FS is not set | 1024 | # CONFIG_OCFS2_FS is not set |
978 | CONFIG_DNOTIFY=y | 1025 | CONFIG_DNOTIFY=y |
@@ -1005,6 +1052,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1005 | CONFIG_PROC_FS=y | 1052 | CONFIG_PROC_FS=y |
1006 | CONFIG_PROC_KCORE=y | 1053 | CONFIG_PROC_KCORE=y |
1007 | CONFIG_PROC_SYSCTL=y | 1054 | CONFIG_PROC_SYSCTL=y |
1055 | CONFIG_PROC_PAGE_MONITOR=y | ||
1008 | CONFIG_SYSFS=y | 1056 | CONFIG_SYSFS=y |
1009 | CONFIG_TMPFS=y | 1057 | CONFIG_TMPFS=y |
1010 | # CONFIG_TMPFS_POSIX_ACL is not set | 1058 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -1058,6 +1106,7 @@ CONFIG_LOCKD=y | |||
1058 | CONFIG_LOCKD_V4=y | 1106 | CONFIG_LOCKD_V4=y |
1059 | CONFIG_NFS_COMMON=y | 1107 | CONFIG_NFS_COMMON=y |
1060 | CONFIG_SUNRPC=y | 1108 | CONFIG_SUNRPC=y |
1109 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1061 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1110 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
1062 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1111 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1063 | # CONFIG_SMB_FS is not set | 1112 | # CONFIG_SMB_FS is not set |
@@ -1117,7 +1166,6 @@ CONFIG_NLS_ISO8859_1=m | |||
1117 | # Library routines | 1166 | # Library routines |
1118 | # | 1167 | # |
1119 | CONFIG_BITREVERSE=y | 1168 | CONFIG_BITREVERSE=y |
1120 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1121 | # CONFIG_CRC_CCITT is not set | 1169 | # CONFIG_CRC_CCITT is not set |
1122 | CONFIG_CRC16=m | 1170 | CONFIG_CRC16=m |
1123 | CONFIG_CRC_T10DIF=m | 1171 | CONFIG_CRC_T10DIF=m |
@@ -1173,14 +1221,21 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1173 | # CONFIG_DEBUG_SG is not set | 1221 | # CONFIG_DEBUG_SG is not set |
1174 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1222 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1175 | # CONFIG_RCU_TORTURE_TEST is not set | 1223 | # CONFIG_RCU_TORTURE_TEST is not set |
1224 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1176 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1225 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1226 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1177 | # CONFIG_FAULT_INJECTION is not set | 1227 | # CONFIG_FAULT_INJECTION is not set |
1178 | # CONFIG_LATENCYTOP is not set | 1228 | # CONFIG_LATENCYTOP is not set |
1229 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1230 | CONFIG_NOP_TRACER=y | ||
1179 | CONFIG_HAVE_FTRACE=y | 1231 | CONFIG_HAVE_FTRACE=y |
1180 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1232 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1181 | # CONFIG_FTRACE is not set | 1233 | # CONFIG_FTRACE is not set |
1182 | # CONFIG_SCHED_TRACER is not set | 1234 | # CONFIG_SCHED_TRACER is not set |
1183 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1235 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1236 | # CONFIG_BOOT_TRACER is not set | ||
1237 | # CONFIG_STACK_TRACER is not set | ||
1238 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1184 | # CONFIG_SAMPLES is not set | 1239 | # CONFIG_SAMPLES is not set |
1185 | CONFIG_HAVE_ARCH_KGDB=y | 1240 | CONFIG_HAVE_ARCH_KGDB=y |
1186 | # CONFIG_KGDB is not set | 1241 | # CONFIG_KGDB is not set |
@@ -1189,24 +1244,29 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1189 | # CONFIG_DEBUG_PAGEALLOC is not set | 1244 | # CONFIG_DEBUG_PAGEALLOC is not set |
1190 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1245 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1191 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1246 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1247 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
1192 | # CONFIG_XMON is not set | 1248 | # CONFIG_XMON is not set |
1193 | # CONFIG_IRQSTACKS is not set | 1249 | # CONFIG_IRQSTACKS is not set |
1194 | # CONFIG_BDI_SWITCH is not set | 1250 | # CONFIG_BDI_SWITCH is not set |
1195 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
1196 | 1251 | ||
1197 | # | 1252 | # |
1198 | # Security options | 1253 | # Security options |
1199 | # | 1254 | # |
1200 | # CONFIG_KEYS is not set | 1255 | # CONFIG_KEYS is not set |
1201 | # CONFIG_SECURITY is not set | 1256 | # CONFIG_SECURITY is not set |
1257 | # CONFIG_SECURITYFS is not set | ||
1202 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1258 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1203 | CONFIG_CRYPTO=y | 1259 | CONFIG_CRYPTO=y |
1204 | 1260 | ||
1205 | # | 1261 | # |
1206 | # Crypto core or helper | 1262 | # Crypto core or helper |
1207 | # | 1263 | # |
1264 | # CONFIG_CRYPTO_FIPS is not set | ||
1208 | CONFIG_CRYPTO_ALGAPI=y | 1265 | CONFIG_CRYPTO_ALGAPI=y |
1266 | CONFIG_CRYPTO_AEAD=y | ||
1209 | CONFIG_CRYPTO_BLKCIPHER=y | 1267 | CONFIG_CRYPTO_BLKCIPHER=y |
1268 | CONFIG_CRYPTO_HASH=y | ||
1269 | CONFIG_CRYPTO_RNG=y | ||
1210 | CONFIG_CRYPTO_MANAGER=y | 1270 | CONFIG_CRYPTO_MANAGER=y |
1211 | # CONFIG_CRYPTO_GF128MUL is not set | 1271 | # CONFIG_CRYPTO_GF128MUL is not set |
1212 | # CONFIG_CRYPTO_NULL is not set | 1272 | # CONFIG_CRYPTO_NULL is not set |
@@ -1279,6 +1339,15 @@ CONFIG_CRYPTO_DES=y | |||
1279 | # | 1339 | # |
1280 | CONFIG_CRYPTO_DEFLATE=m | 1340 | CONFIG_CRYPTO_DEFLATE=m |
1281 | CONFIG_CRYPTO_LZO=m | 1341 | CONFIG_CRYPTO_LZO=m |
1342 | |||
1343 | # | ||
1344 | # Random Number Generation | ||
1345 | # | ||
1346 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1282 | # CONFIG_CRYPTO_HW is not set | 1347 | # CONFIG_CRYPTO_HW is not set |
1283 | # CONFIG_PPC_CLOCK is not set | 1348 | # CONFIG_PPC_CLOCK is not set |
1284 | # CONFIG_VIRTUALIZATION is not set | 1349 | CONFIG_VIRTUALIZATION=y |
1350 | CONFIG_KVM=y | ||
1351 | CONFIG_KVM_BOOKE_HOST=y | ||
1352 | # CONFIG_VIRTIO_PCI is not set | ||
1353 | # CONFIG_VIRTIO_BALLOON is not set | ||
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h index 51ecfef8d843..7464c0daddd1 100644 --- a/arch/powerpc/include/asm/iommu.h +++ b/arch/powerpc/include/asm/iommu.h | |||
@@ -92,13 +92,14 @@ extern void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl, | |||
92 | unsigned long mask, gfp_t flag, int node); | 92 | unsigned long mask, gfp_t flag, int node); |
93 | extern void iommu_free_coherent(struct iommu_table *tbl, size_t size, | 93 | extern void iommu_free_coherent(struct iommu_table *tbl, size_t size, |
94 | void *vaddr, dma_addr_t dma_handle); | 94 | void *vaddr, dma_addr_t dma_handle); |
95 | extern dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, | 95 | extern dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl, |
96 | void *vaddr, size_t size, unsigned long mask, | 96 | struct page *page, unsigned long offset, |
97 | enum dma_data_direction direction, | 97 | size_t size, unsigned long mask, |
98 | struct dma_attrs *attrs); | 98 | enum dma_data_direction direction, |
99 | extern void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, | 99 | struct dma_attrs *attrs); |
100 | size_t size, enum dma_data_direction direction, | 100 | extern void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle, |
101 | struct dma_attrs *attrs); | 101 | size_t size, enum dma_data_direction direction, |
102 | struct dma_attrs *attrs); | ||
102 | 103 | ||
103 | extern void iommu_init_early_pSeries(void); | 104 | extern void iommu_init_early_pSeries(void); |
104 | extern void iommu_init_early_iSeries(void); | 105 | extern void iommu_init_early_iSeries(void); |
diff --git a/arch/powerpc/include/asm/kdump.h b/arch/powerpc/include/asm/kdump.h index a503da9d56f3..b07ebb9784d3 100644 --- a/arch/powerpc/include/asm/kdump.h +++ b/arch/powerpc/include/asm/kdump.h | |||
@@ -9,12 +9,6 @@ | |||
9 | * Reserve to the end of the FWNMI area, see head_64.S */ | 9 | * Reserve to the end of the FWNMI area, see head_64.S */ |
10 | #define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */ | 10 | #define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */ |
11 | 11 | ||
12 | /* | ||
13 | * Used to differentiate between relocatable kdump kernel and other | ||
14 | * kernels | ||
15 | */ | ||
16 | #define KDUMP_SIGNATURE 0xfeed1234 | ||
17 | |||
18 | #ifdef CONFIG_CRASH_DUMP | 12 | #ifdef CONFIG_CRASH_DUMP |
19 | 13 | ||
20 | #define KDUMP_TRAMPOLINE_START 0x0100 | 14 | #define KDUMP_TRAMPOLINE_START 0x0100 |
@@ -26,8 +20,6 @@ | |||
26 | 20 | ||
27 | #ifndef __ASSEMBLY__ | 21 | #ifndef __ASSEMBLY__ |
28 | 22 | ||
29 | extern unsigned long __kdump_flag; | ||
30 | |||
31 | #if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_RELOCATABLE) | 23 | #if defined(CONFIG_CRASH_DUMP) && !defined(CONFIG_RELOCATABLE) |
32 | extern void reserve_kdump_trampoline(void); | 24 | extern void reserve_kdump_trampoline(void); |
33 | extern void setup_kdump_trampoline(void); | 25 | extern void setup_kdump_trampoline(void); |
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h index 34d9ac433ace..c2ccca53b991 100644 --- a/arch/powerpc/include/asm/mpic.h +++ b/arch/powerpc/include/asm/mpic.h | |||
@@ -355,6 +355,8 @@ struct mpic | |||
355 | #define MPIC_NO_BIAS 0x00000400 | 355 | #define MPIC_NO_BIAS 0x00000400 |
356 | /* Ignore NIRQS as reported by FRR */ | 356 | /* Ignore NIRQS as reported by FRR */ |
357 | #define MPIC_BROKEN_FRR_NIRQS 0x00000800 | 357 | #define MPIC_BROKEN_FRR_NIRQS 0x00000800 |
358 | /* Destination only supports a single CPU at a time */ | ||
359 | #define MPIC_SINGLE_DEST_CPU 0x00001000 | ||
358 | 360 | ||
359 | /* MPIC HW modification ID */ | 361 | /* MPIC HW modification ID */ |
360 | #define MPIC_REGSET_MASK 0xf0000000 | 362 | #define MPIC_REGSET_MASK 0xf0000000 |
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h index 39d547fde956..57a2a494886b 100644 --- a/arch/powerpc/include/asm/pci.h +++ b/arch/powerpc/include/asm/pci.h | |||
@@ -208,6 +208,8 @@ extern void pcibios_setup_new_device(struct pci_dev *dev); | |||
208 | 208 | ||
209 | extern void pcibios_claim_one_bus(struct pci_bus *b); | 209 | extern void pcibios_claim_one_bus(struct pci_bus *b); |
210 | 210 | ||
211 | extern void pcibios_allocate_bus_resources(struct pci_bus *bus); | ||
212 | |||
211 | extern void pcibios_resource_survey(void); | 213 | extern void pcibios_resource_survey(void); |
212 | 214 | ||
213 | extern struct pci_controller *init_phb_dynamic(struct device_node *dn); | 215 | extern struct pci_controller *init_phb_dynamic(struct device_node *dn); |
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c index 49248f89ce23..14183af1b3fb 100644 --- a/arch/powerpc/kernel/dma-iommu.c +++ b/arch/powerpc/kernel/dma-iommu.c | |||
@@ -30,28 +30,26 @@ static void dma_iommu_free_coherent(struct device *dev, size_t size, | |||
30 | } | 30 | } |
31 | 31 | ||
32 | /* Creates TCEs for a user provided buffer. The user buffer must be | 32 | /* Creates TCEs for a user provided buffer. The user buffer must be |
33 | * contiguous real kernel storage (not vmalloc). The address of the buffer | 33 | * contiguous real kernel storage (not vmalloc). The address passed here |
34 | * passed here is the kernel (virtual) address of the buffer. The buffer | 34 | * comprises a page address and offset into that page. The dma_addr_t |
35 | * need not be page aligned, the dma_addr_t returned will point to the same | 35 | * returned will point to the same byte within the page as was passed in. |
36 | * byte within the page as vaddr. | ||
37 | */ | 36 | */ |
38 | static dma_addr_t dma_iommu_map_single(struct device *dev, void *vaddr, | 37 | static dma_addr_t dma_iommu_map_page(struct device *dev, struct page *page, |
39 | size_t size, | 38 | unsigned long offset, size_t size, |
40 | enum dma_data_direction direction, | 39 | enum dma_data_direction direction, |
41 | struct dma_attrs *attrs) | 40 | struct dma_attrs *attrs) |
42 | { | 41 | { |
43 | return iommu_map_single(dev, dev->archdata.dma_data, vaddr, size, | 42 | return iommu_map_page(dev, dev->archdata.dma_data, page, offset, size, |
44 | device_to_mask(dev), direction, attrs); | 43 | device_to_mask(dev), direction, attrs); |
45 | } | 44 | } |
46 | 45 | ||
47 | 46 | ||
48 | static void dma_iommu_unmap_single(struct device *dev, dma_addr_t dma_handle, | 47 | static void dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle, |
49 | size_t size, | 48 | size_t size, enum dma_data_direction direction, |
50 | enum dma_data_direction direction, | 49 | struct dma_attrs *attrs) |
51 | struct dma_attrs *attrs) | ||
52 | { | 50 | { |
53 | iommu_unmap_single(dev->archdata.dma_data, dma_handle, size, direction, | 51 | iommu_unmap_page(dev->archdata.dma_data, dma_handle, size, direction, |
54 | attrs); | 52 | attrs); |
55 | } | 53 | } |
56 | 54 | ||
57 | 55 | ||
@@ -94,10 +92,10 @@ static int dma_iommu_dma_supported(struct device *dev, u64 mask) | |||
94 | struct dma_mapping_ops dma_iommu_ops = { | 92 | struct dma_mapping_ops dma_iommu_ops = { |
95 | .alloc_coherent = dma_iommu_alloc_coherent, | 93 | .alloc_coherent = dma_iommu_alloc_coherent, |
96 | .free_coherent = dma_iommu_free_coherent, | 94 | .free_coherent = dma_iommu_free_coherent, |
97 | .map_single = dma_iommu_map_single, | ||
98 | .unmap_single = dma_iommu_unmap_single, | ||
99 | .map_sg = dma_iommu_map_sg, | 95 | .map_sg = dma_iommu_map_sg, |
100 | .unmap_sg = dma_iommu_unmap_sg, | 96 | .unmap_sg = dma_iommu_unmap_sg, |
101 | .dma_supported = dma_iommu_dma_supported, | 97 | .dma_supported = dma_iommu_dma_supported, |
98 | .map_page = dma_iommu_map_page, | ||
99 | .unmap_page = dma_iommu_unmap_page, | ||
102 | }; | 100 | }; |
103 | EXPORT_SYMBOL(dma_iommu_ops); | 101 | EXPORT_SYMBOL(dma_iommu_ops); |
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 69489bd3210c..b4bcf5a930fa 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S | |||
@@ -97,12 +97,6 @@ __secondary_hold_spinloop: | |||
97 | __secondary_hold_acknowledge: | 97 | __secondary_hold_acknowledge: |
98 | .llong 0x0 | 98 | .llong 0x0 |
99 | 99 | ||
100 | /* This flag is set by purgatory if we should be a kdump kernel. */ | ||
101 | /* Do not move this variable as purgatory knows about it. */ | ||
102 | .globl __kdump_flag | ||
103 | __kdump_flag: | ||
104 | .llong 0x0 | ||
105 | |||
106 | #ifdef CONFIG_PPC_ISERIES | 100 | #ifdef CONFIG_PPC_ISERIES |
107 | /* | 101 | /* |
108 | * At offset 0x20, there is a pointer to iSeries LPAR data. | 102 | * At offset 0x20, there is a pointer to iSeries LPAR data. |
@@ -112,6 +106,20 @@ __kdump_flag: | |||
112 | .llong hvReleaseData-KERNELBASE | 106 | .llong hvReleaseData-KERNELBASE |
113 | #endif /* CONFIG_PPC_ISERIES */ | 107 | #endif /* CONFIG_PPC_ISERIES */ |
114 | 108 | ||
109 | #ifdef CONFIG_CRASH_DUMP | ||
110 | /* This flag is set to 1 by a loader if the kernel should run | ||
111 | * at the loaded address instead of the linked address. This | ||
112 | * is used by kexec-tools to keep the the kdump kernel in the | ||
113 | * crash_kernel region. The loader is responsible for | ||
114 | * observing the alignment requirement. | ||
115 | */ | ||
116 | /* Do not move this variable as kexec-tools knows about it. */ | ||
117 | . = 0x5c | ||
118 | .globl __run_at_load | ||
119 | __run_at_load: | ||
120 | .long 0x72756e30 /* "run0" -- relocate to 0 by default */ | ||
121 | #endif | ||
122 | |||
115 | . = 0x60 | 123 | . = 0x60 |
116 | /* | 124 | /* |
117 | * The following code is used to hold secondary processors | 125 | * The following code is used to hold secondary processors |
@@ -1391,8 +1399,8 @@ _STATIC(__after_prom_start) | |||
1391 | lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */ | 1399 | lis r25,PAGE_OFFSET@highest /* compute virtual base of kernel */ |
1392 | sldi r25,r25,32 | 1400 | sldi r25,r25,32 |
1393 | #ifdef CONFIG_CRASH_DUMP | 1401 | #ifdef CONFIG_CRASH_DUMP |
1394 | ld r7,__kdump_flag-_stext(r26) | 1402 | lwz r7,__run_at_load-_stext(r26) |
1395 | cmpldi cr0,r7,1 /* kdump kernel ? - stay where we are */ | 1403 | cmplwi cr0,r7,1 /* kdump kernel ? - stay where we are */ |
1396 | bne 1f | 1404 | bne 1f |
1397 | add r25,r25,r26 | 1405 | add r25,r25,r26 |
1398 | #endif | 1406 | #endif |
@@ -1416,11 +1424,11 @@ _STATIC(__after_prom_start) | |||
1416 | #ifdef CONFIG_CRASH_DUMP | 1424 | #ifdef CONFIG_CRASH_DUMP |
1417 | /* | 1425 | /* |
1418 | * Check if the kernel has to be running as relocatable kernel based on the | 1426 | * Check if the kernel has to be running as relocatable kernel based on the |
1419 | * variable __kdump_flag, if it is set the kernel is treated as relocatable | 1427 | * variable __run_at_load, if it is set the kernel is treated as relocatable |
1420 | * kernel, otherwise it will be moved to PHYSICAL_START | 1428 | * kernel, otherwise it will be moved to PHYSICAL_START |
1421 | */ | 1429 | */ |
1422 | ld r7,__kdump_flag-_stext(r26) | 1430 | lwz r7,__run_at_load-_stext(r26) |
1423 | cmpldi cr0,r7,1 | 1431 | cmplwi cr0,r7,1 |
1424 | bne 3f | 1432 | bne 3f |
1425 | 1433 | ||
1426 | li r5,__end_interrupts - _stext /* just copy interrupts */ | 1434 | li r5,__end_interrupts - _stext /* just copy interrupts */ |
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index a06362223f8d..64299d28f364 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
@@ -79,20 +79,21 @@ static void ibmebus_free_coherent(struct device *dev, | |||
79 | kfree(vaddr); | 79 | kfree(vaddr); |
80 | } | 80 | } |
81 | 81 | ||
82 | static dma_addr_t ibmebus_map_single(struct device *dev, | 82 | static dma_addr_t ibmebus_map_page(struct device *dev, |
83 | void *ptr, | 83 | struct page *page, |
84 | size_t size, | 84 | unsigned long offset, |
85 | enum dma_data_direction direction, | 85 | size_t size, |
86 | struct dma_attrs *attrs) | 86 | enum dma_data_direction direction, |
87 | struct dma_attrs *attrs) | ||
87 | { | 88 | { |
88 | return (dma_addr_t)(ptr); | 89 | return (dma_addr_t)(page_address(page) + offset); |
89 | } | 90 | } |
90 | 91 | ||
91 | static void ibmebus_unmap_single(struct device *dev, | 92 | static void ibmebus_unmap_page(struct device *dev, |
92 | dma_addr_t dma_addr, | 93 | dma_addr_t dma_addr, |
93 | size_t size, | 94 | size_t size, |
94 | enum dma_data_direction direction, | 95 | enum dma_data_direction direction, |
95 | struct dma_attrs *attrs) | 96 | struct dma_attrs *attrs) |
96 | { | 97 | { |
97 | return; | 98 | return; |
98 | } | 99 | } |
@@ -129,11 +130,11 @@ static int ibmebus_dma_supported(struct device *dev, u64 mask) | |||
129 | static struct dma_mapping_ops ibmebus_dma_ops = { | 130 | static struct dma_mapping_ops ibmebus_dma_ops = { |
130 | .alloc_coherent = ibmebus_alloc_coherent, | 131 | .alloc_coherent = ibmebus_alloc_coherent, |
131 | .free_coherent = ibmebus_free_coherent, | 132 | .free_coherent = ibmebus_free_coherent, |
132 | .map_single = ibmebus_map_single, | ||
133 | .unmap_single = ibmebus_unmap_single, | ||
134 | .map_sg = ibmebus_map_sg, | 133 | .map_sg = ibmebus_map_sg, |
135 | .unmap_sg = ibmebus_unmap_sg, | 134 | .unmap_sg = ibmebus_unmap_sg, |
136 | .dma_supported = ibmebus_dma_supported, | 135 | .dma_supported = ibmebus_dma_supported, |
136 | .map_page = ibmebus_map_page, | ||
137 | .unmap_page = ibmebus_unmap_page, | ||
137 | }; | 138 | }; |
138 | 139 | ||
139 | static int ibmebus_match_path(struct device *dev, void *data) | 140 | static int ibmebus_match_path(struct device *dev, void *data) |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 3857d7e2af0c..1bfa706b96e7 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/dma-mapping.h> | 32 | #include <linux/dma-mapping.h> |
33 | #include <linux/bitops.h> | 33 | #include <linux/bitops.h> |
34 | #include <linux/iommu-helper.h> | 34 | #include <linux/iommu-helper.h> |
35 | #include <linux/crash_dump.h> | ||
35 | #include <asm/io.h> | 36 | #include <asm/io.h> |
36 | #include <asm/prom.h> | 37 | #include <asm/prom.h> |
37 | #include <asm/iommu.h> | 38 | #include <asm/iommu.h> |
@@ -460,7 +461,7 @@ void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, | |||
460 | 461 | ||
461 | static void iommu_table_clear(struct iommu_table *tbl) | 462 | static void iommu_table_clear(struct iommu_table *tbl) |
462 | { | 463 | { |
463 | if (!__kdump_flag) { | 464 | if (!is_kdump_kernel()) { |
464 | /* Clear the table in case firmware left allocations in it */ | 465 | /* Clear the table in case firmware left allocations in it */ |
465 | ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size); | 466 | ppc_md.tce_free(tbl, tbl->it_offset, tbl->it_size); |
466 | return; | 467 | return; |
@@ -564,21 +565,23 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name) | |||
564 | } | 565 | } |
565 | 566 | ||
566 | /* Creates TCEs for a user provided buffer. The user buffer must be | 567 | /* Creates TCEs for a user provided buffer. The user buffer must be |
567 | * contiguous real kernel storage (not vmalloc). The address of the buffer | 568 | * contiguous real kernel storage (not vmalloc). The address passed here |
568 | * passed here is the kernel (virtual) address of the buffer. The buffer | 569 | * comprises a page address and offset into that page. The dma_addr_t |
569 | * need not be page aligned, the dma_addr_t returned will point to the same | 570 | * returned will point to the same byte within the page as was passed in. |
570 | * byte within the page as vaddr. | ||
571 | */ | 571 | */ |
572 | dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, | 572 | dma_addr_t iommu_map_page(struct device *dev, struct iommu_table *tbl, |
573 | void *vaddr, size_t size, unsigned long mask, | 573 | struct page *page, unsigned long offset, size_t size, |
574 | enum dma_data_direction direction, struct dma_attrs *attrs) | 574 | unsigned long mask, enum dma_data_direction direction, |
575 | struct dma_attrs *attrs) | ||
575 | { | 576 | { |
576 | dma_addr_t dma_handle = DMA_ERROR_CODE; | 577 | dma_addr_t dma_handle = DMA_ERROR_CODE; |
578 | void *vaddr; | ||
577 | unsigned long uaddr; | 579 | unsigned long uaddr; |
578 | unsigned int npages, align; | 580 | unsigned int npages, align; |
579 | 581 | ||
580 | BUG_ON(direction == DMA_NONE); | 582 | BUG_ON(direction == DMA_NONE); |
581 | 583 | ||
584 | vaddr = page_address(page) + offset; | ||
582 | uaddr = (unsigned long)vaddr; | 585 | uaddr = (unsigned long)vaddr; |
583 | npages = iommu_num_pages(uaddr, size, IOMMU_PAGE_SIZE); | 586 | npages = iommu_num_pages(uaddr, size, IOMMU_PAGE_SIZE); |
584 | 587 | ||
@@ -604,9 +607,9 @@ dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, | |||
604 | return dma_handle; | 607 | return dma_handle; |
605 | } | 608 | } |
606 | 609 | ||
607 | void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, | 610 | void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle, |
608 | size_t size, enum dma_data_direction direction, | 611 | size_t size, enum dma_data_direction direction, |
609 | struct dma_attrs *attrs) | 612 | struct dma_attrs *attrs) |
610 | { | 613 | { |
611 | unsigned int npages; | 614 | unsigned int npages; |
612 | 615 | ||
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c index e6efec788c4d..3c4ca046e854 100644 --- a/arch/powerpc/kernel/machine_kexec_64.c +++ b/arch/powerpc/kernel/machine_kexec_64.c | |||
@@ -255,14 +255,11 @@ static union thread_union kexec_stack | |||
255 | /* Our assembly helper, in kexec_stub.S */ | 255 | /* Our assembly helper, in kexec_stub.S */ |
256 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, | 256 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, |
257 | void *image, void *control, | 257 | void *image, void *control, |
258 | void (*clear_all)(void), | 258 | void (*clear_all)(void)) ATTRIB_NORET; |
259 | unsigned long kdump_flag) ATTRIB_NORET; | ||
260 | 259 | ||
261 | /* too late to fail here */ | 260 | /* too late to fail here */ |
262 | void default_machine_kexec(struct kimage *image) | 261 | void default_machine_kexec(struct kimage *image) |
263 | { | 262 | { |
264 | unsigned long kdump_flag = 0; | ||
265 | |||
266 | /* prepare control code if any */ | 263 | /* prepare control code if any */ |
267 | 264 | ||
268 | /* | 265 | /* |
@@ -275,8 +272,6 @@ void default_machine_kexec(struct kimage *image) | |||
275 | 272 | ||
276 | if (crashing_cpu == -1) | 273 | if (crashing_cpu == -1) |
277 | kexec_prepare_cpus(); | 274 | kexec_prepare_cpus(); |
278 | else | ||
279 | kdump_flag = KDUMP_SIGNATURE; | ||
280 | 275 | ||
281 | /* switch to a staticly allocated stack. Based on irq stack code. | 276 | /* switch to a staticly allocated stack. Based on irq stack code. |
282 | * XXX: the task struct will likely be invalid once we do the copy! | 277 | * XXX: the task struct will likely be invalid once we do the copy! |
@@ -289,7 +284,7 @@ void default_machine_kexec(struct kimage *image) | |||
289 | */ | 284 | */ |
290 | kexec_sequence(&kexec_stack, image->start, image, | 285 | kexec_sequence(&kexec_stack, image->start, image, |
291 | page_address(image->control_code_page), | 286 | page_address(image->control_code_page), |
292 | ppc_md.hpte_clear_all, kdump_flag); | 287 | ppc_md.hpte_clear_all); |
293 | /* NOTREACHED */ | 288 | /* NOTREACHED */ |
294 | } | 289 | } |
295 | 290 | ||
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index a243fd072a77..3053fe5c62f2 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S | |||
@@ -611,12 +611,10 @@ real_mode: /* assume normal blr return */ | |||
611 | 611 | ||
612 | 612 | ||
613 | /* | 613 | /* |
614 | * kexec_sequence(newstack, start, image, control, clear_all(), kdump_flag) | 614 | * kexec_sequence(newstack, start, image, control, clear_all()) |
615 | * | 615 | * |
616 | * does the grungy work with stack switching and real mode switches | 616 | * does the grungy work with stack switching and real mode switches |
617 | * also does simple calls to other code | 617 | * also does simple calls to other code |
618 | * | ||
619 | * kdump_flag says whether the next kernel should be a kdump kernel. | ||
620 | */ | 618 | */ |
621 | 619 | ||
622 | _GLOBAL(kexec_sequence) | 620 | _GLOBAL(kexec_sequence) |
@@ -649,7 +647,7 @@ _GLOBAL(kexec_sequence) | |||
649 | mr r29,r5 /* image (virt) */ | 647 | mr r29,r5 /* image (virt) */ |
650 | mr r28,r6 /* control, unused */ | 648 | mr r28,r6 /* control, unused */ |
651 | mr r27,r7 /* clear_all() fn desc */ | 649 | mr r27,r7 /* clear_all() fn desc */ |
652 | mr r26,r8 /* kdump flag */ | 650 | mr r26,r8 /* spare */ |
653 | lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */ | 651 | lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */ |
654 | 652 | ||
655 | /* disable interrupts, we are overwriting kernel data next */ | 653 | /* disable interrupts, we are overwriting kernel data next */ |
@@ -711,6 +709,5 @@ _GLOBAL(kexec_sequence) | |||
711 | mr r4,r30 # start, aka phys mem offset | 709 | mr r4,r30 # start, aka phys mem offset |
712 | mtlr 4 | 710 | mtlr 4 |
713 | li r5,0 | 711 | li r5,0 |
714 | mr r6,r26 /* kdump_flag */ | 712 | blr /* image->start(physid, image->start, 0); */ |
715 | blr /* image->start(physid, image->start, 0, kdump_flag); */ | ||
716 | #endif /* CONFIG_KEXEC */ | 713 | #endif /* CONFIG_KEXEC */ |
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c index 93ae5b169f41..f3c9cae01dd5 100644 --- a/arch/powerpc/kernel/of_device.c +++ b/arch/powerpc/kernel/of_device.c | |||
@@ -78,7 +78,6 @@ struct of_device *of_device_alloc(struct device_node *np, | |||
78 | dev->dev.parent = parent; | 78 | dev->dev.parent = parent; |
79 | dev->dev.release = of_release_dev; | 79 | dev->dev.release = of_release_dev; |
80 | dev->dev.archdata.of_node = np; | 80 | dev->dev.archdata.of_node = np; |
81 | set_dev_node(&dev->dev, of_node_to_nid(np)); | ||
82 | 81 | ||
83 | if (bus_id) | 82 | if (bus_id) |
84 | strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE); | 83 | strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE); |
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index 1ec73938a00f..f36936d9fda3 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -1239,69 +1239,66 @@ static int __init reparent_resources(struct resource *parent, | |||
1239 | * as well. | 1239 | * as well. |
1240 | */ | 1240 | */ |
1241 | 1241 | ||
1242 | static void __init pcibios_allocate_bus_resources(struct list_head *bus_list) | 1242 | void pcibios_allocate_bus_resources(struct pci_bus *bus) |
1243 | { | 1243 | { |
1244 | struct pci_bus *bus; | 1244 | struct pci_bus *b; |
1245 | int i; | 1245 | int i; |
1246 | struct resource *res, *pr; | 1246 | struct resource *res, *pr; |
1247 | 1247 | ||
1248 | /* Depth-First Search on bus tree */ | 1248 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { |
1249 | list_for_each_entry(bus, bus_list, node) { | 1249 | if ((res = bus->resource[i]) == NULL || !res->flags |
1250 | for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) { | 1250 | || res->start > res->end) |
1251 | if ((res = bus->resource[i]) == NULL || !res->flags | 1251 | continue; |
1252 | || res->start > res->end) | 1252 | if (bus->parent == NULL) |
1253 | continue; | 1253 | pr = (res->flags & IORESOURCE_IO) ? |
1254 | if (bus->parent == NULL) | 1254 | &ioport_resource : &iomem_resource; |
1255 | pr = (res->flags & IORESOURCE_IO) ? | 1255 | else { |
1256 | &ioport_resource : &iomem_resource; | 1256 | /* Don't bother with non-root busses when |
1257 | else { | 1257 | * re-assigning all resources. We clear the |
1258 | /* Don't bother with non-root busses when | 1258 | * resource flags as if they were colliding |
1259 | * re-assigning all resources. We clear the | 1259 | * and as such ensure proper re-allocation |
1260 | * resource flags as if they were colliding | 1260 | * later. |
1261 | * and as such ensure proper re-allocation | 1261 | */ |
1262 | * later. | 1262 | if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC) |
1263 | goto clear_resource; | ||
1264 | pr = pci_find_parent_resource(bus->self, res); | ||
1265 | if (pr == res) { | ||
1266 | /* this happens when the generic PCI | ||
1267 | * code (wrongly) decides that this | ||
1268 | * bridge is transparent -- paulus | ||
1263 | */ | 1269 | */ |
1264 | if (ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC) | 1270 | continue; |
1265 | goto clear_resource; | ||
1266 | pr = pci_find_parent_resource(bus->self, res); | ||
1267 | if (pr == res) { | ||
1268 | /* this happens when the generic PCI | ||
1269 | * code (wrongly) decides that this | ||
1270 | * bridge is transparent -- paulus | ||
1271 | */ | ||
1272 | continue; | ||
1273 | } | ||
1274 | } | 1271 | } |
1272 | } | ||
1275 | 1273 | ||
1276 | DBG("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx " | 1274 | DBG("PCI: %s (bus %d) bridge rsrc %d: %016llx-%016llx " |
1277 | "[0x%x], parent %p (%s)\n", | 1275 | "[0x%x], parent %p (%s)\n", |
1278 | bus->self ? pci_name(bus->self) : "PHB", | 1276 | bus->self ? pci_name(bus->self) : "PHB", |
1279 | bus->number, i, | 1277 | bus->number, i, |
1280 | (unsigned long long)res->start, | 1278 | (unsigned long long)res->start, |
1281 | (unsigned long long)res->end, | 1279 | (unsigned long long)res->end, |
1282 | (unsigned int)res->flags, | 1280 | (unsigned int)res->flags, |
1283 | pr, (pr && pr->name) ? pr->name : "nil"); | 1281 | pr, (pr && pr->name) ? pr->name : "nil"); |
1284 | 1282 | ||
1285 | if (pr && !(pr->flags & IORESOURCE_UNSET)) { | 1283 | if (pr && !(pr->flags & IORESOURCE_UNSET)) { |
1286 | if (request_resource(pr, res) == 0) | 1284 | if (request_resource(pr, res) == 0) |
1287 | continue; | 1285 | continue; |
1288 | /* | 1286 | /* |
1289 | * Must be a conflict with an existing entry. | 1287 | * Must be a conflict with an existing entry. |
1290 | * Move that entry (or entries) under the | 1288 | * Move that entry (or entries) under the |
1291 | * bridge resource and try again. | 1289 | * bridge resource and try again. |
1292 | */ | 1290 | */ |
1293 | if (reparent_resources(pr, res) == 0) | 1291 | if (reparent_resources(pr, res) == 0) |
1294 | continue; | 1292 | continue; |
1295 | } | ||
1296 | printk(KERN_WARNING | ||
1297 | "PCI: Cannot allocate resource region " | ||
1298 | "%d of PCI bridge %d, will remap\n", | ||
1299 | i, bus->number); | ||
1300 | clear_resource: | ||
1301 | res->flags = 0; | ||
1302 | } | 1293 | } |
1303 | pcibios_allocate_bus_resources(&bus->children); | 1294 | printk(KERN_WARNING "PCI: Cannot allocate resource region " |
1295 | "%d of PCI bridge %d, will remap\n", i, bus->number); | ||
1296 | clear_resource: | ||
1297 | res->flags = 0; | ||
1304 | } | 1298 | } |
1299 | |||
1300 | list_for_each_entry(b, &bus->children, node) | ||
1301 | pcibios_allocate_bus_resources(b); | ||
1305 | } | 1302 | } |
1306 | 1303 | ||
1307 | static inline void __devinit alloc_resource(struct pci_dev *dev, int idx) | 1304 | static inline void __devinit alloc_resource(struct pci_dev *dev, int idx) |
@@ -1372,10 +1369,13 @@ static void __init pcibios_allocate_resources(int pass) | |||
1372 | 1369 | ||
1373 | void __init pcibios_resource_survey(void) | 1370 | void __init pcibios_resource_survey(void) |
1374 | { | 1371 | { |
1372 | struct pci_bus *b; | ||
1373 | |||
1375 | /* Allocate and assign resources. If we re-assign everything, then | 1374 | /* Allocate and assign resources. If we re-assign everything, then |
1376 | * we skip the allocate phase | 1375 | * we skip the allocate phase |
1377 | */ | 1376 | */ |
1378 | pcibios_allocate_bus_resources(&pci_root_buses); | 1377 | list_for_each_entry(b, &pci_root_buses, node) |
1378 | pcibios_allocate_bus_resources(b); | ||
1379 | 1379 | ||
1380 | if (!(ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)) { | 1380 | if (!(ppc_pci_flags & PPC_PCI_REASSIGN_ALL_RSRC)) { |
1381 | pcibios_allocate_resources(0); | 1381 | pcibios_allocate_resources(0); |
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index 8247cff1cb3e..3502b9101e6b 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c | |||
@@ -426,7 +426,7 @@ int pcibios_unmap_io_space(struct pci_bus *bus) | |||
426 | pci_name(bus->self)); | 426 | pci_name(bus->self)); |
427 | 427 | ||
428 | __flush_hash_table_range(&init_mm, res->start + _IO_BASE, | 428 | __flush_hash_table_range(&init_mm, res->start + _IO_BASE, |
429 | res->end - res->start + 1); | 429 | res->end + _IO_BASE + 1); |
430 | return 0; | 430 | return 0; |
431 | } | 431 | } |
432 | 432 | ||
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 23e0db203329..2445945d3761 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
@@ -671,7 +671,7 @@ static struct fake_elf { | |||
671 | u32 ignore_me; | 671 | u32 ignore_me; |
672 | } rpadesc; | 672 | } rpadesc; |
673 | } rpanote; | 673 | } rpanote; |
674 | } fake_elf __section(.fakeelf) = { | 674 | } fake_elf = { |
675 | .elfhdr = { | 675 | .elfhdr = { |
676 | .e_ident = { 0x7f, 'E', 'L', 'F', | 676 | .e_ident = { 0x7f, 'E', 'L', 'F', |
677 | ELFCLASS32, ELFDATA2MSB, EV_CURRENT }, | 677 | ELFCLASS32, ELFDATA2MSB, EV_CURRENT }, |
@@ -713,13 +713,13 @@ static struct fake_elf { | |||
713 | .type = 0x12759999, | 713 | .type = 0x12759999, |
714 | .name = "IBM,RPA-Client-Config", | 714 | .name = "IBM,RPA-Client-Config", |
715 | .rpadesc = { | 715 | .rpadesc = { |
716 | .lpar_affinity = 1, | 716 | .lpar_affinity = 0, |
717 | .min_rmo_size = 128, /* in megabytes */ | 717 | .min_rmo_size = 64, /* in megabytes */ |
718 | .min_rmo_percent = 0, | 718 | .min_rmo_percent = 0, |
719 | .max_pft_size = 46, /* 2^46 bytes max PFT size */ | 719 | .max_pft_size = 48, /* 2^48 bytes max PFT size */ |
720 | .splpar = 1, | 720 | .splpar = 1, |
721 | .min_load = ~0U, | 721 | .min_load = ~0U, |
722 | .new_mem_def = 1 | 722 | .new_mem_def = 0 |
723 | } | 723 | } |
724 | } | 724 | } |
725 | }; | 725 | }; |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 843c0af210d0..169d74cef157 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
@@ -444,9 +444,9 @@ void __init setup_system(void) | |||
444 | if (htab_address) | 444 | if (htab_address) |
445 | printk("htab_address = 0x%p\n", htab_address); | 445 | printk("htab_address = 0x%p\n", htab_address); |
446 | printk("htab_hash_mask = 0x%lx\n", htab_hash_mask); | 446 | printk("htab_hash_mask = 0x%lx\n", htab_hash_mask); |
447 | #if PHYSICAL_START > 0 | 447 | if (PHYSICAL_START > 0) |
448 | printk("physical_start = 0x%lx\n", PHYSICAL_START); | 448 | printk("physical_start = 0x%lx\n", |
449 | #endif | 449 | PHYSICAL_START); |
450 | printk("-----------------------------------------------------\n"); | 450 | printk("-----------------------------------------------------\n"); |
451 | 451 | ||
452 | DBG(" <- setup_system()\n"); | 452 | DBG(" <- setup_system()\n"); |
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 3e80aa32b8b0..a6a43103655e 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c | |||
@@ -410,7 +410,7 @@ inline unsigned long copy_fpr_from_user(struct task_struct *task, | |||
410 | * altivec/spe instructions at some point. | 410 | * altivec/spe instructions at some point. |
411 | */ | 411 | */ |
412 | static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, | 412 | static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, |
413 | int sigret) | 413 | int sigret, int ctx_has_vsx_region) |
414 | { | 414 | { |
415 | unsigned long msr = regs->msr; | 415 | unsigned long msr = regs->msr; |
416 | 416 | ||
@@ -451,7 +451,7 @@ static int save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, | |||
451 | * the saved MSR value to indicate that frame->mc_vregs | 451 | * the saved MSR value to indicate that frame->mc_vregs |
452 | * contains valid data | 452 | * contains valid data |
453 | */ | 453 | */ |
454 | if (current->thread.used_vsr) { | 454 | if (current->thread.used_vsr && ctx_has_vsx_region) { |
455 | __giveup_vsx(current); | 455 | __giveup_vsx(current); |
456 | if (copy_vsx_to_user(&frame->mc_vsregs, current)) | 456 | if (copy_vsx_to_user(&frame->mc_vsregs, current)) |
457 | return 1; | 457 | return 1; |
@@ -858,11 +858,11 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka, | |||
858 | frame = &rt_sf->uc.uc_mcontext; | 858 | frame = &rt_sf->uc.uc_mcontext; |
859 | addr = frame; | 859 | addr = frame; |
860 | if (vdso32_rt_sigtramp && current->mm->context.vdso_base) { | 860 | if (vdso32_rt_sigtramp && current->mm->context.vdso_base) { |
861 | if (save_user_regs(regs, frame, 0)) | 861 | if (save_user_regs(regs, frame, 0, 1)) |
862 | goto badframe; | 862 | goto badframe; |
863 | regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp; | 863 | regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp; |
864 | } else { | 864 | } else { |
865 | if (save_user_regs(regs, frame, __NR_rt_sigreturn)) | 865 | if (save_user_regs(regs, frame, __NR_rt_sigreturn, 1)) |
866 | goto badframe; | 866 | goto badframe; |
867 | regs->link = (unsigned long) frame->tramp; | 867 | regs->link = (unsigned long) frame->tramp; |
868 | } | 868 | } |
@@ -936,12 +936,13 @@ long sys_swapcontext(struct ucontext __user *old_ctx, | |||
936 | int ctx_size, int r6, int r7, int r8, struct pt_regs *regs) | 936 | int ctx_size, int r6, int r7, int r8, struct pt_regs *regs) |
937 | { | 937 | { |
938 | unsigned char tmp; | 938 | unsigned char tmp; |
939 | int ctx_has_vsx_region = 0; | ||
939 | 940 | ||
940 | #ifdef CONFIG_PPC64 | 941 | #ifdef CONFIG_PPC64 |
941 | unsigned long new_msr = 0; | 942 | unsigned long new_msr = 0; |
942 | 943 | ||
943 | if (new_ctx && | 944 | if (new_ctx && |
944 | __get_user(new_msr, &new_ctx->uc_mcontext.mc_gregs[PT_MSR])) | 945 | get_user(new_msr, &new_ctx->uc_mcontext.mc_gregs[PT_MSR])) |
945 | return -EFAULT; | 946 | return -EFAULT; |
946 | /* | 947 | /* |
947 | * Check that the context is not smaller than the original | 948 | * Check that the context is not smaller than the original |
@@ -956,16 +957,9 @@ long sys_swapcontext(struct ucontext __user *old_ctx, | |||
956 | if ((ctx_size < sizeof(struct ucontext)) && | 957 | if ((ctx_size < sizeof(struct ucontext)) && |
957 | (new_msr & MSR_VSX)) | 958 | (new_msr & MSR_VSX)) |
958 | return -EINVAL; | 959 | return -EINVAL; |
959 | #ifdef CONFIG_VSX | 960 | /* Does the context have enough room to store VSX data? */ |
960 | /* | 961 | if (ctx_size >= sizeof(struct ucontext)) |
961 | * If userspace doesn't provide enough room for VSX data, | 962 | ctx_has_vsx_region = 1; |
962 | * but current thread has used VSX, we don't have anywhere | ||
963 | * to store the full context back into. | ||
964 | */ | ||
965 | if ((ctx_size < sizeof(struct ucontext)) && | ||
966 | (current->thread.used_vsr && old_ctx)) | ||
967 | return -EINVAL; | ||
968 | #endif | ||
969 | #else | 963 | #else |
970 | /* Context size is for future use. Right now, we only make sure | 964 | /* Context size is for future use. Right now, we only make sure |
971 | * we are passed something we understand | 965 | * we are passed something we understand |
@@ -985,17 +979,17 @@ long sys_swapcontext(struct ucontext __user *old_ctx, | |||
985 | */ | 979 | */ |
986 | mctx = (struct mcontext __user *) | 980 | mctx = (struct mcontext __user *) |
987 | ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL); | 981 | ((unsigned long) &old_ctx->uc_mcontext & ~0xfUL); |
988 | if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) | 982 | if (!access_ok(VERIFY_WRITE, old_ctx, ctx_size) |
989 | || save_user_regs(regs, mctx, 0) | 983 | || save_user_regs(regs, mctx, 0, ctx_has_vsx_region) |
990 | || put_sigset_t(&old_ctx->uc_sigmask, ¤t->blocked) | 984 | || put_sigset_t(&old_ctx->uc_sigmask, ¤t->blocked) |
991 | || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs)) | 985 | || __put_user(to_user_ptr(mctx), &old_ctx->uc_regs)) |
992 | return -EFAULT; | 986 | return -EFAULT; |
993 | } | 987 | } |
994 | if (new_ctx == NULL) | 988 | if (new_ctx == NULL) |
995 | return 0; | 989 | return 0; |
996 | if (!access_ok(VERIFY_READ, new_ctx, sizeof(*new_ctx)) | 990 | if (!access_ok(VERIFY_READ, new_ctx, ctx_size) |
997 | || __get_user(tmp, (u8 __user *) new_ctx) | 991 | || __get_user(tmp, (u8 __user *) new_ctx) |
998 | || __get_user(tmp, (u8 __user *) (new_ctx + 1) - 1)) | 992 | || __get_user(tmp, (u8 __user *) new_ctx + ctx_size - 1)) |
999 | return -EFAULT; | 993 | return -EFAULT; |
1000 | 994 | ||
1001 | /* | 995 | /* |
@@ -1196,11 +1190,11 @@ int handle_signal32(unsigned long sig, struct k_sigaction *ka, | |||
1196 | goto badframe; | 1190 | goto badframe; |
1197 | 1191 | ||
1198 | if (vdso32_sigtramp && current->mm->context.vdso_base) { | 1192 | if (vdso32_sigtramp && current->mm->context.vdso_base) { |
1199 | if (save_user_regs(regs, &frame->mctx, 0)) | 1193 | if (save_user_regs(regs, &frame->mctx, 0, 1)) |
1200 | goto badframe; | 1194 | goto badframe; |
1201 | regs->link = current->mm->context.vdso_base + vdso32_sigtramp; | 1195 | regs->link = current->mm->context.vdso_base + vdso32_sigtramp; |
1202 | } else { | 1196 | } else { |
1203 | if (save_user_regs(regs, &frame->mctx, __NR_sigreturn)) | 1197 | if (save_user_regs(regs, &frame->mctx, __NR_sigreturn, 1)) |
1204 | goto badframe; | 1198 | goto badframe; |
1205 | regs->link = (unsigned long) frame->mctx.tramp; | 1199 | regs->link = (unsigned long) frame->mctx.tramp; |
1206 | } | 1200 | } |
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index c6a8f2326b6f..e132891d3cea 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c | |||
@@ -74,7 +74,8 @@ static const char fmt64[] = KERN_INFO \ | |||
74 | */ | 74 | */ |
75 | 75 | ||
76 | static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, | 76 | static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, |
77 | int signr, sigset_t *set, unsigned long handler) | 77 | int signr, sigset_t *set, unsigned long handler, |
78 | int ctx_has_vsx_region) | ||
78 | { | 79 | { |
79 | /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the | 80 | /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the |
80 | * process never used altivec yet (MSR_VEC is zero in pt_regs of | 81 | * process never used altivec yet (MSR_VEC is zero in pt_regs of |
@@ -121,7 +122,7 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, | |||
121 | * then out to userspace. Update v_regs to point after the | 122 | * then out to userspace. Update v_regs to point after the |
122 | * VMX data. | 123 | * VMX data. |
123 | */ | 124 | */ |
124 | if (current->thread.used_vsr) { | 125 | if (current->thread.used_vsr && ctx_has_vsx_region) { |
125 | __giveup_vsx(current); | 126 | __giveup_vsx(current); |
126 | v_regs += ELF_NVRREG; | 127 | v_regs += ELF_NVRREG; |
127 | err |= copy_vsx_to_user(v_regs, current); | 128 | err |= copy_vsx_to_user(v_regs, current); |
@@ -282,9 +283,10 @@ int sys_swapcontext(struct ucontext __user *old_ctx, | |||
282 | unsigned char tmp; | 283 | unsigned char tmp; |
283 | sigset_t set; | 284 | sigset_t set; |
284 | unsigned long new_msr = 0; | 285 | unsigned long new_msr = 0; |
286 | int ctx_has_vsx_region = 0; | ||
285 | 287 | ||
286 | if (new_ctx && | 288 | if (new_ctx && |
287 | __get_user(new_msr, &new_ctx->uc_mcontext.gp_regs[PT_MSR])) | 289 | get_user(new_msr, &new_ctx->uc_mcontext.gp_regs[PT_MSR])) |
288 | return -EFAULT; | 290 | return -EFAULT; |
289 | /* | 291 | /* |
290 | * Check that the context is not smaller than the original | 292 | * Check that the context is not smaller than the original |
@@ -299,28 +301,23 @@ int sys_swapcontext(struct ucontext __user *old_ctx, | |||
299 | if ((ctx_size < sizeof(struct ucontext)) && | 301 | if ((ctx_size < sizeof(struct ucontext)) && |
300 | (new_msr & MSR_VSX)) | 302 | (new_msr & MSR_VSX)) |
301 | return -EINVAL; | 303 | return -EINVAL; |
302 | #ifdef CONFIG_VSX | 304 | /* Does the context have enough room to store VSX data? */ |
303 | /* | 305 | if (ctx_size >= sizeof(struct ucontext)) |
304 | * If userspace doesn't provide enough room for VSX data, | 306 | ctx_has_vsx_region = 1; |
305 | * but current thread has used VSX, we don't have anywhere | 307 | |
306 | * to store the full context back into. | ||
307 | */ | ||
308 | if ((ctx_size < sizeof(struct ucontext)) && | ||
309 | (current->thread.used_vsr && old_ctx)) | ||
310 | return -EINVAL; | ||
311 | #endif | ||
312 | if (old_ctx != NULL) { | 308 | if (old_ctx != NULL) { |
313 | if (!access_ok(VERIFY_WRITE, old_ctx, sizeof(*old_ctx)) | 309 | if (!access_ok(VERIFY_WRITE, old_ctx, ctx_size) |
314 | || setup_sigcontext(&old_ctx->uc_mcontext, regs, 0, NULL, 0) | 310 | || setup_sigcontext(&old_ctx->uc_mcontext, regs, 0, NULL, 0, |
311 | ctx_has_vsx_region) | ||
315 | || __copy_to_user(&old_ctx->uc_sigmask, | 312 | || __copy_to_user(&old_ctx->uc_sigmask, |
316 | ¤t->blocked, sizeof(sigset_t))) | 313 | ¤t->blocked, sizeof(sigset_t))) |
317 | return -EFAULT; | 314 | return -EFAULT; |
318 | } | 315 | } |
319 | if (new_ctx == NULL) | 316 | if (new_ctx == NULL) |
320 | return 0; | 317 | return 0; |
321 | if (!access_ok(VERIFY_READ, new_ctx, sizeof(*new_ctx)) | 318 | if (!access_ok(VERIFY_READ, new_ctx, ctx_size) |
322 | || __get_user(tmp, (u8 __user *) new_ctx) | 319 | || __get_user(tmp, (u8 __user *) new_ctx) |
323 | || __get_user(tmp, (u8 __user *) (new_ctx + 1) - 1)) | 320 | || __get_user(tmp, (u8 __user *) new_ctx + ctx_size - 1)) |
324 | return -EFAULT; | 321 | return -EFAULT; |
325 | 322 | ||
326 | /* | 323 | /* |
@@ -423,7 +420,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info, | |||
423 | &frame->uc.uc_stack.ss_flags); | 420 | &frame->uc.uc_stack.ss_flags); |
424 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); | 421 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); |
425 | err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, signr, NULL, | 422 | err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, signr, NULL, |
426 | (unsigned long)ka->sa.sa_handler); | 423 | (unsigned long)ka->sa.sa_handler, 1); |
427 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); | 424 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); |
428 | if (err) | 425 | if (err) |
429 | goto badframe; | 426 | goto badframe; |
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index 434c92a85c03..a11e6bc59b30 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c | |||
@@ -516,10 +516,10 @@ static void vio_dma_iommu_free_coherent(struct device *dev, size_t size, | |||
516 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); | 516 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); |
517 | } | 517 | } |
518 | 518 | ||
519 | static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr, | 519 | static dma_addr_t vio_dma_iommu_map_page(struct device *dev, struct page *page, |
520 | size_t size, | 520 | unsigned long offset, size_t size, |
521 | enum dma_data_direction direction, | 521 | enum dma_data_direction direction, |
522 | struct dma_attrs *attrs) | 522 | struct dma_attrs *attrs) |
523 | { | 523 | { |
524 | struct vio_dev *viodev = to_vio_dev(dev); | 524 | struct vio_dev *viodev = to_vio_dev(dev); |
525 | dma_addr_t ret = DMA_ERROR_CODE; | 525 | dma_addr_t ret = DMA_ERROR_CODE; |
@@ -529,7 +529,7 @@ static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr, | |||
529 | return ret; | 529 | return ret; |
530 | } | 530 | } |
531 | 531 | ||
532 | ret = dma_iommu_ops.map_single(dev, vaddr, size, direction, attrs); | 532 | ret = dma_iommu_ops.map_page(dev, page, offset, size, direction, attrs); |
533 | if (unlikely(dma_mapping_error(dev, ret))) { | 533 | if (unlikely(dma_mapping_error(dev, ret))) { |
534 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); | 534 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); |
535 | atomic_inc(&viodev->cmo.allocs_failed); | 535 | atomic_inc(&viodev->cmo.allocs_failed); |
@@ -538,14 +538,14 @@ static dma_addr_t vio_dma_iommu_map_single(struct device *dev, void *vaddr, | |||
538 | return ret; | 538 | return ret; |
539 | } | 539 | } |
540 | 540 | ||
541 | static void vio_dma_iommu_unmap_single(struct device *dev, | 541 | static void vio_dma_iommu_unmap_page(struct device *dev, dma_addr_t dma_handle, |
542 | dma_addr_t dma_handle, size_t size, | 542 | size_t size, |
543 | enum dma_data_direction direction, | 543 | enum dma_data_direction direction, |
544 | struct dma_attrs *attrs) | 544 | struct dma_attrs *attrs) |
545 | { | 545 | { |
546 | struct vio_dev *viodev = to_vio_dev(dev); | 546 | struct vio_dev *viodev = to_vio_dev(dev); |
547 | 547 | ||
548 | dma_iommu_ops.unmap_single(dev, dma_handle, size, direction, attrs); | 548 | dma_iommu_ops.unmap_page(dev, dma_handle, size, direction, attrs); |
549 | 549 | ||
550 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); | 550 | vio_cmo_dealloc(viodev, roundup(size, IOMMU_PAGE_SIZE)); |
551 | } | 551 | } |
@@ -603,10 +603,11 @@ static void vio_dma_iommu_unmap_sg(struct device *dev, | |||
603 | struct dma_mapping_ops vio_dma_mapping_ops = { | 603 | struct dma_mapping_ops vio_dma_mapping_ops = { |
604 | .alloc_coherent = vio_dma_iommu_alloc_coherent, | 604 | .alloc_coherent = vio_dma_iommu_alloc_coherent, |
605 | .free_coherent = vio_dma_iommu_free_coherent, | 605 | .free_coherent = vio_dma_iommu_free_coherent, |
606 | .map_single = vio_dma_iommu_map_single, | ||
607 | .unmap_single = vio_dma_iommu_unmap_single, | ||
608 | .map_sg = vio_dma_iommu_map_sg, | 606 | .map_sg = vio_dma_iommu_map_sg, |
609 | .unmap_sg = vio_dma_iommu_unmap_sg, | 607 | .unmap_sg = vio_dma_iommu_unmap_sg, |
608 | .map_page = vio_dma_iommu_map_page, | ||
609 | .unmap_page = vio_dma_iommu_unmap_page, | ||
610 | |||
610 | }; | 611 | }; |
611 | 612 | ||
612 | /** | 613 | /** |
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index b39c27ed7919..2412c056baa4 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S | |||
@@ -187,6 +187,7 @@ SECTIONS | |||
187 | *(.machine.desc) | 187 | *(.machine.desc) |
188 | __machine_desc_end = . ; | 188 | __machine_desc_end = . ; |
189 | } | 189 | } |
190 | #ifdef CONFIG_RELOCATABLE | ||
190 | . = ALIGN(8); | 191 | . = ALIGN(8); |
191 | .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) } | 192 | .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) } |
192 | .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) } | 193 | .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) } |
@@ -202,9 +203,7 @@ SECTIONS | |||
202 | __rela_dyn_start = .; | 203 | __rela_dyn_start = .; |
203 | *(.rela*) | 204 | *(.rela*) |
204 | } | 205 | } |
205 | 206 | #endif | |
206 | /* Fake ELF header containing RPA note; for addnote */ | ||
207 | .fakeelf : AT(ADDR(.fakeelf) - LOAD_OFFSET) { *(.fakeelf) } | ||
208 | 207 | ||
209 | /* freed after init ends here */ | 208 | /* freed after init ends here */ |
210 | . = ALIGN(PAGE_SIZE); | 209 | . = ALIGN(PAGE_SIZE); |
diff --git a/arch/powerpc/oprofile/op_model_cell.c b/arch/powerpc/oprofile/op_model_cell.c index 35141a8bc3d9..25a4ec2514a3 100644 --- a/arch/powerpc/oprofile/op_model_cell.c +++ b/arch/powerpc/oprofile/op_model_cell.c | |||
@@ -582,6 +582,13 @@ static int cell_reg_setup(struct op_counter_config *ctr, | |||
582 | 582 | ||
583 | num_counters = num_ctrs; | 583 | num_counters = num_ctrs; |
584 | 584 | ||
585 | if (unlikely(num_ctrs > NR_PHYS_CTRS)) { | ||
586 | printk(KERN_ERR | ||
587 | "%s: Oprofile, number of specified events " \ | ||
588 | "exceeds number of physical counters\n", | ||
589 | __func__); | ||
590 | return -EIO; | ||
591 | } | ||
585 | pm_regs.group_control = 0; | 592 | pm_regs.group_control = 0; |
586 | pm_regs.debug_bus_control = 0; | 593 | pm_regs.debug_bus_control = 0; |
587 | 594 | ||
@@ -830,13 +837,13 @@ static int calculate_lfsr(int n) | |||
830 | static int pm_rtas_activate_spu_profiling(u32 node) | 837 | static int pm_rtas_activate_spu_profiling(u32 node) |
831 | { | 838 | { |
832 | int ret, i; | 839 | int ret, i; |
833 | struct pm_signal pm_signal_local[NR_PHYS_CTRS]; | 840 | struct pm_signal pm_signal_local[NUM_SPUS_PER_NODE]; |
834 | 841 | ||
835 | /* | 842 | /* |
836 | * Set up the rtas call to configure the debug bus to | 843 | * Set up the rtas call to configure the debug bus to |
837 | * route the SPU PCs. Setup the pm_signal for each SPU | 844 | * route the SPU PCs. Setup the pm_signal for each SPU |
838 | */ | 845 | */ |
839 | for (i = 0; i < NUM_SPUS_PER_NODE; i++) { | 846 | for (i = 0; i < ARRAY_SIZE(pm_signal_local); i++) { |
840 | pm_signal_local[i].cpu = node; | 847 | pm_signal_local[i].cpu = node; |
841 | pm_signal_local[i].signal_group = 41; | 848 | pm_signal_local[i].signal_group = 41; |
842 | /* spu i on word (i/2) */ | 849 | /* spu i on word (i/2) */ |
@@ -848,7 +855,7 @@ static int pm_rtas_activate_spu_profiling(u32 node) | |||
848 | 855 | ||
849 | ret = rtas_ibm_cbe_perftools(SUBFUNC_ACTIVATE, | 856 | ret = rtas_ibm_cbe_perftools(SUBFUNC_ACTIVATE, |
850 | PASSTHRU_ENABLE, pm_signal_local, | 857 | PASSTHRU_ENABLE, pm_signal_local, |
851 | (NUM_SPUS_PER_NODE | 858 | (ARRAY_SIZE(pm_signal_local) |
852 | * sizeof(struct pm_signal))); | 859 | * sizeof(struct pm_signal))); |
853 | 860 | ||
854 | if (unlikely(ret)) { | 861 | if (unlikely(ret)) { |
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig index 65730275e012..14e027f5be66 100644 --- a/arch/powerpc/platforms/40x/Kconfig +++ b/arch/powerpc/platforms/40x/Kconfig | |||
@@ -35,7 +35,7 @@ config EP405 | |||
35 | config HCU4 | 35 | config HCU4 |
36 | bool "Hcu4" | 36 | bool "Hcu4" |
37 | depends on 40x | 37 | depends on 40x |
38 | default y | 38 | default n |
39 | select 405GPR | 39 | select 405GPR |
40 | help | 40 | help |
41 | This option enables support for the Nestal Maschinen HCU4 board. | 41 | This option enables support for the Nestal Maschinen HCU4 board. |
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c index 483b65cbabae..613bf8c2e30d 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c | |||
@@ -78,7 +78,8 @@ void __init mpc85xx_ds_pic_init(void) | |||
78 | 78 | ||
79 | mpic = mpic_alloc(np, r.start, | 79 | mpic = mpic_alloc(np, r.start, |
80 | MPIC_PRIMARY | MPIC_WANTS_RESET | | 80 | MPIC_PRIMARY | MPIC_WANTS_RESET | |
81 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, | 81 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | |
82 | MPIC_SINGLE_DEST_CPU, | ||
82 | 0, 256, " OpenPIC "); | 83 | 0, 256, " OpenPIC "); |
83 | BUG_ON(mpic == NULL); | 84 | BUG_ON(mpic == NULL); |
84 | of_node_put(np); | 85 | of_node_put(np); |
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c index 8881c5de500d..668275d9e668 100644 --- a/arch/powerpc/platforms/86xx/pic.c +++ b/arch/powerpc/platforms/86xx/pic.c | |||
@@ -44,7 +44,8 @@ void __init mpc86xx_init_irq(void) | |||
44 | 44 | ||
45 | mpic = mpic_alloc(np, res.start, | 45 | mpic = mpic_alloc(np, res.start, |
46 | MPIC_PRIMARY | MPIC_WANTS_RESET | | 46 | MPIC_PRIMARY | MPIC_WANTS_RESET | |
47 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, | 47 | MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | |
48 | MPIC_SINGLE_DEST_CPU, | ||
48 | 0, 256, " MPIC "); | 49 | 0, 256, " MPIC "); |
49 | of_node_put(np); | 50 | of_node_put(np); |
50 | BUG_ON(mpic == NULL); | 51 | BUG_ON(mpic == NULL); |
diff --git a/arch/powerpc/platforms/cell/iommu.c b/arch/powerpc/platforms/cell/iommu.c index ef92e7146215..3168272ab0d7 100644 --- a/arch/powerpc/platforms/cell/iommu.c +++ b/arch/powerpc/platforms/cell/iommu.c | |||
@@ -593,31 +593,30 @@ static void dma_fixed_free_coherent(struct device *dev, size_t size, | |||
593 | dma_direct_ops.free_coherent(dev, size, vaddr, dma_handle); | 593 | dma_direct_ops.free_coherent(dev, size, vaddr, dma_handle); |
594 | } | 594 | } |
595 | 595 | ||
596 | static dma_addr_t dma_fixed_map_single(struct device *dev, void *ptr, | 596 | static dma_addr_t dma_fixed_map_page(struct device *dev, struct page *page, |
597 | size_t size, | 597 | unsigned long offset, size_t size, |
598 | enum dma_data_direction direction, | 598 | enum dma_data_direction direction, |
599 | struct dma_attrs *attrs) | 599 | struct dma_attrs *attrs) |
600 | { | 600 | { |
601 | if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) | 601 | if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) |
602 | return dma_direct_ops.map_single(dev, ptr, size, direction, | 602 | return dma_direct_ops.map_page(dev, page, offset, size, |
603 | attrs); | 603 | direction, attrs); |
604 | else | 604 | else |
605 | return iommu_map_single(dev, cell_get_iommu_table(dev), ptr, | 605 | return iommu_map_page(dev, cell_get_iommu_table(dev), page, |
606 | size, device_to_mask(dev), direction, | 606 | offset, size, device_to_mask(dev), |
607 | attrs); | 607 | direction, attrs); |
608 | } | 608 | } |
609 | 609 | ||
610 | static void dma_fixed_unmap_single(struct device *dev, dma_addr_t dma_addr, | 610 | static void dma_fixed_unmap_page(struct device *dev, dma_addr_t dma_addr, |
611 | size_t size, | 611 | size_t size, enum dma_data_direction direction, |
612 | enum dma_data_direction direction, | 612 | struct dma_attrs *attrs) |
613 | struct dma_attrs *attrs) | ||
614 | { | 613 | { |
615 | if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) | 614 | if (iommu_fixed_is_weak == dma_get_attr(DMA_ATTR_WEAK_ORDERING, attrs)) |
616 | dma_direct_ops.unmap_single(dev, dma_addr, size, direction, | 615 | dma_direct_ops.unmap_page(dev, dma_addr, size, direction, |
617 | attrs); | 616 | attrs); |
618 | else | 617 | else |
619 | iommu_unmap_single(cell_get_iommu_table(dev), dma_addr, size, | 618 | iommu_unmap_page(cell_get_iommu_table(dev), dma_addr, size, |
620 | direction, attrs); | 619 | direction, attrs); |
621 | } | 620 | } |
622 | 621 | ||
623 | static int dma_fixed_map_sg(struct device *dev, struct scatterlist *sg, | 622 | static int dma_fixed_map_sg(struct device *dev, struct scatterlist *sg, |
@@ -652,12 +651,12 @@ static int dma_set_mask_and_switch(struct device *dev, u64 dma_mask); | |||
652 | struct dma_mapping_ops dma_iommu_fixed_ops = { | 651 | struct dma_mapping_ops dma_iommu_fixed_ops = { |
653 | .alloc_coherent = dma_fixed_alloc_coherent, | 652 | .alloc_coherent = dma_fixed_alloc_coherent, |
654 | .free_coherent = dma_fixed_free_coherent, | 653 | .free_coherent = dma_fixed_free_coherent, |
655 | .map_single = dma_fixed_map_single, | ||
656 | .unmap_single = dma_fixed_unmap_single, | ||
657 | .map_sg = dma_fixed_map_sg, | 654 | .map_sg = dma_fixed_map_sg, |
658 | .unmap_sg = dma_fixed_unmap_sg, | 655 | .unmap_sg = dma_fixed_unmap_sg, |
659 | .dma_supported = dma_fixed_dma_supported, | 656 | .dma_supported = dma_fixed_dma_supported, |
660 | .set_dma_mask = dma_set_mask_and_switch, | 657 | .set_dma_mask = dma_set_mask_and_switch, |
658 | .map_page = dma_fixed_map_page, | ||
659 | .unmap_page = dma_fixed_unmap_page, | ||
661 | }; | 660 | }; |
662 | 661 | ||
663 | static void cell_dma_dev_setup_fixed(struct device *dev); | 662 | static void cell_dma_dev_setup_fixed(struct device *dev); |
diff --git a/arch/powerpc/platforms/cell/ras.c b/arch/powerpc/platforms/cell/ras.c index 665af1c4195b..7b4cefa2199b 100644 --- a/arch/powerpc/platforms/cell/ras.c +++ b/arch/powerpc/platforms/cell/ras.c | |||
@@ -13,15 +13,16 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/reboot.h> | 15 | #include <linux/reboot.h> |
16 | #include <linux/kexec.h> | ||
17 | #include <linux/crash_dump.h> | ||
16 | 18 | ||
19 | #include <asm/kexec.h> | ||
17 | #include <asm/reg.h> | 20 | #include <asm/reg.h> |
18 | #include <asm/io.h> | 21 | #include <asm/io.h> |
19 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
20 | #include <asm/kexec.h> | ||
21 | #include <asm/machdep.h> | 23 | #include <asm/machdep.h> |
22 | #include <asm/rtas.h> | 24 | #include <asm/rtas.h> |
23 | #include <asm/cell-regs.h> | 25 | #include <asm/cell-regs.h> |
24 | #include <asm/kdump.h> | ||
25 | 26 | ||
26 | #include "ras.h" | 27 | #include "ras.h" |
27 | 28 | ||
@@ -112,7 +113,7 @@ static int __init cbe_ptcal_enable_on_node(int nid, int order) | |||
112 | int ret = -ENOMEM; | 113 | int ret = -ENOMEM; |
113 | unsigned long addr; | 114 | unsigned long addr; |
114 | 115 | ||
115 | if (__kdump_flag) | 116 | if (is_kdump_kernel()) |
116 | rtas_call(ptcal_stop_tok, 1, 1, NULL, nid); | 117 | rtas_call(ptcal_stop_tok, 1, 1, NULL, nid); |
117 | 118 | ||
118 | area = kmalloc(sizeof(*area), GFP_KERNEL); | 119 | area = kmalloc(sizeof(*area), GFP_KERNEL); |
diff --git a/arch/powerpc/platforms/embedded6xx/linkstation.c b/arch/powerpc/platforms/embedded6xx/linkstation.c index eb5d74e26fe9..2ca7be65c2d2 100644 --- a/arch/powerpc/platforms/embedded6xx/linkstation.c +++ b/arch/powerpc/platforms/embedded6xx/linkstation.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/initrd.h> | 14 | #include <linux/initrd.h> |
15 | #include <linux/mtd/physmap.h> | 15 | #include <linux/mtd/physmap.h> |
16 | #include <linux/of_platform.h> | ||
16 | 17 | ||
17 | #include <asm/time.h> | 18 | #include <asm/time.h> |
18 | #include <asm/prom.h> | 19 | #include <asm/prom.h> |
@@ -54,6 +55,19 @@ static struct mtd_partition linkstation_physmap_partitions[] = { | |||
54 | }, | 55 | }, |
55 | }; | 56 | }; |
56 | 57 | ||
58 | static __initdata struct of_device_id of_bus_ids[] = { | ||
59 | { .type = "soc", }, | ||
60 | { .compatible = "simple-bus", }, | ||
61 | {}, | ||
62 | }; | ||
63 | |||
64 | static int __init declare_of_platform_devices(void) | ||
65 | { | ||
66 | of_platform_bus_probe(NULL, of_bus_ids, NULL); | ||
67 | return 0; | ||
68 | } | ||
69 | machine_device_initcall(linkstation, declare_of_platform_devices); | ||
70 | |||
57 | static int __init linkstation_add_bridge(struct device_node *dev) | 71 | static int __init linkstation_add_bridge(struct device_node *dev) |
58 | { | 72 | { |
59 | #ifdef CONFIG_PCI | 73 | #ifdef CONFIG_PCI |
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c index bb464d1211b2..bbe828f1b885 100644 --- a/arch/powerpc/platforms/iseries/iommu.c +++ b/arch/powerpc/platforms/iseries/iommu.c | |||
@@ -215,14 +215,15 @@ EXPORT_SYMBOL_GPL(iseries_hv_free); | |||
215 | dma_addr_t iseries_hv_map(void *vaddr, size_t size, | 215 | dma_addr_t iseries_hv_map(void *vaddr, size_t size, |
216 | enum dma_data_direction direction) | 216 | enum dma_data_direction direction) |
217 | { | 217 | { |
218 | return iommu_map_single(NULL, &vio_iommu_table, vaddr, size, | 218 | return iommu_map_page(NULL, &vio_iommu_table, virt_to_page(vaddr), |
219 | DMA_32BIT_MASK, direction, NULL); | 219 | (unsigned long)vaddr % PAGE_SIZE, size, |
220 | DMA_32BIT_MASK, direction, NULL); | ||
220 | } | 221 | } |
221 | 222 | ||
222 | void iseries_hv_unmap(dma_addr_t dma_handle, size_t size, | 223 | void iseries_hv_unmap(dma_addr_t dma_handle, size_t size, |
223 | enum dma_data_direction direction) | 224 | enum dma_data_direction direction) |
224 | { | 225 | { |
225 | iommu_unmap_single(&vio_iommu_table, dma_handle, size, direction, NULL); | 226 | iommu_unmap_page(&vio_iommu_table, dma_handle, size, direction, NULL); |
226 | } | 227 | } |
227 | 228 | ||
228 | void __init iommu_vio_init(void) | 229 | void __init iommu_vio_init(void) |
diff --git a/arch/powerpc/platforms/ps3/system-bus.c b/arch/powerpc/platforms/ps3/system-bus.c index a789bf58ca8b..661e9f77ebf6 100644 --- a/arch/powerpc/platforms/ps3/system-bus.c +++ b/arch/powerpc/platforms/ps3/system-bus.c | |||
@@ -555,18 +555,19 @@ static void ps3_free_coherent(struct device *_dev, size_t size, void *vaddr, | |||
555 | } | 555 | } |
556 | 556 | ||
557 | /* Creates TCEs for a user provided buffer. The user buffer must be | 557 | /* Creates TCEs for a user provided buffer. The user buffer must be |
558 | * contiguous real kernel storage (not vmalloc). The address of the buffer | 558 | * contiguous real kernel storage (not vmalloc). The address passed here |
559 | * passed here is the kernel (virtual) address of the buffer. The buffer | 559 | * comprises a page address and offset into that page. The dma_addr_t |
560 | * need not be page aligned, the dma_addr_t returned will point to the same | 560 | * returned will point to the same byte within the page as was passed in. |
561 | * byte within the page as vaddr. | ||
562 | */ | 561 | */ |
563 | 562 | ||
564 | static dma_addr_t ps3_sb_map_single(struct device *_dev, void *ptr, size_t size, | 563 | static dma_addr_t ps3_sb_map_page(struct device *_dev, struct page *page, |
565 | enum dma_data_direction direction, struct dma_attrs *attrs) | 564 | unsigned long offset, size_t size, enum dma_data_direction direction, |
565 | struct dma_attrs *attrs) | ||
566 | { | 566 | { |
567 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); | 567 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); |
568 | int result; | 568 | int result; |
569 | unsigned long bus_addr; | 569 | unsigned long bus_addr; |
570 | void *ptr = page_address(page) + offset; | ||
570 | 571 | ||
571 | result = ps3_dma_map(dev->d_region, (unsigned long)ptr, size, | 572 | result = ps3_dma_map(dev->d_region, (unsigned long)ptr, size, |
572 | &bus_addr, | 573 | &bus_addr, |
@@ -580,15 +581,16 @@ static dma_addr_t ps3_sb_map_single(struct device *_dev, void *ptr, size_t size, | |||
580 | return bus_addr; | 581 | return bus_addr; |
581 | } | 582 | } |
582 | 583 | ||
583 | static dma_addr_t ps3_ioc0_map_single(struct device *_dev, void *ptr, | 584 | static dma_addr_t ps3_ioc0_map_page(struct device *_dev, struct page *page, |
584 | size_t size, | 585 | unsigned long offset, size_t size, |
585 | enum dma_data_direction direction, | 586 | enum dma_data_direction direction, |
586 | struct dma_attrs *attrs) | 587 | struct dma_attrs *attrs) |
587 | { | 588 | { |
588 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); | 589 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); |
589 | int result; | 590 | int result; |
590 | unsigned long bus_addr; | 591 | unsigned long bus_addr; |
591 | u64 iopte_flag; | 592 | u64 iopte_flag; |
593 | void *ptr = page_address(page) + offset; | ||
592 | 594 | ||
593 | iopte_flag = IOPTE_M; | 595 | iopte_flag = IOPTE_M; |
594 | switch (direction) { | 596 | switch (direction) { |
@@ -615,7 +617,7 @@ static dma_addr_t ps3_ioc0_map_single(struct device *_dev, void *ptr, | |||
615 | return bus_addr; | 617 | return bus_addr; |
616 | } | 618 | } |
617 | 619 | ||
618 | static void ps3_unmap_single(struct device *_dev, dma_addr_t dma_addr, | 620 | static void ps3_unmap_page(struct device *_dev, dma_addr_t dma_addr, |
619 | size_t size, enum dma_data_direction direction, struct dma_attrs *attrs) | 621 | size_t size, enum dma_data_direction direction, struct dma_attrs *attrs) |
620 | { | 622 | { |
621 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); | 623 | struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev); |
@@ -689,21 +691,21 @@ static int ps3_dma_supported(struct device *_dev, u64 mask) | |||
689 | static struct dma_mapping_ops ps3_sb_dma_ops = { | 691 | static struct dma_mapping_ops ps3_sb_dma_ops = { |
690 | .alloc_coherent = ps3_alloc_coherent, | 692 | .alloc_coherent = ps3_alloc_coherent, |
691 | .free_coherent = ps3_free_coherent, | 693 | .free_coherent = ps3_free_coherent, |
692 | .map_single = ps3_sb_map_single, | ||
693 | .unmap_single = ps3_unmap_single, | ||
694 | .map_sg = ps3_sb_map_sg, | 694 | .map_sg = ps3_sb_map_sg, |
695 | .unmap_sg = ps3_sb_unmap_sg, | 695 | .unmap_sg = ps3_sb_unmap_sg, |
696 | .dma_supported = ps3_dma_supported | 696 | .dma_supported = ps3_dma_supported, |
697 | .map_page = ps3_sb_map_page, | ||
698 | .unmap_page = ps3_unmap_page, | ||
697 | }; | 699 | }; |
698 | 700 | ||
699 | static struct dma_mapping_ops ps3_ioc0_dma_ops = { | 701 | static struct dma_mapping_ops ps3_ioc0_dma_ops = { |
700 | .alloc_coherent = ps3_alloc_coherent, | 702 | .alloc_coherent = ps3_alloc_coherent, |
701 | .free_coherent = ps3_free_coherent, | 703 | .free_coherent = ps3_free_coherent, |
702 | .map_single = ps3_ioc0_map_single, | ||
703 | .unmap_single = ps3_unmap_single, | ||
704 | .map_sg = ps3_ioc0_map_sg, | 704 | .map_sg = ps3_ioc0_map_sg, |
705 | .unmap_sg = ps3_ioc0_unmap_sg, | 705 | .unmap_sg = ps3_ioc0_unmap_sg, |
706 | .dma_supported = ps3_dma_supported | 706 | .dma_supported = ps3_dma_supported, |
707 | .map_page = ps3_ioc0_map_page, | ||
708 | .unmap_page = ps3_unmap_page, | ||
707 | }; | 709 | }; |
708 | 710 | ||
709 | /** | 711 | /** |
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index d56491d182d3..c90817acb472 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/string.h> | 32 | #include <linux/string.h> |
33 | #include <linux/pci.h> | 33 | #include <linux/pci.h> |
34 | #include <linux/dma-mapping.h> | 34 | #include <linux/dma-mapping.h> |
35 | #include <linux/crash_dump.h> | ||
35 | #include <asm/io.h> | 36 | #include <asm/io.h> |
36 | #include <asm/prom.h> | 37 | #include <asm/prom.h> |
37 | #include <asm/rtas.h> | 38 | #include <asm/rtas.h> |
@@ -44,7 +45,6 @@ | |||
44 | #include <asm/tce.h> | 45 | #include <asm/tce.h> |
45 | #include <asm/ppc-pci.h> | 46 | #include <asm/ppc-pci.h> |
46 | #include <asm/udbg.h> | 47 | #include <asm/udbg.h> |
47 | #include <asm/kdump.h> | ||
48 | 48 | ||
49 | #include "plpar_wrappers.h" | 49 | #include "plpar_wrappers.h" |
50 | 50 | ||
@@ -292,7 +292,7 @@ static void iommu_table_setparms(struct pci_controller *phb, | |||
292 | 292 | ||
293 | tbl->it_base = (unsigned long)__va(*basep); | 293 | tbl->it_base = (unsigned long)__va(*basep); |
294 | 294 | ||
295 | if (!__kdump_flag) | 295 | if (!is_kdump_kernel()) |
296 | memset((void *)tbl->it_base, 0, *sizep); | 296 | memset((void *)tbl->it_base, 0, *sizep); |
297 | 297 | ||
298 | tbl->it_busno = phb->bus->number; | 298 | tbl->it_busno = phb->bus->number; |
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c index 21a6d55418f1..7190493e9bdc 100644 --- a/arch/powerpc/platforms/pseries/pci_dlpar.c +++ b/arch/powerpc/platforms/pseries/pci_dlpar.c | |||
@@ -203,6 +203,7 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn) | |||
203 | eeh_add_device_tree_early(dn); | 203 | eeh_add_device_tree_early(dn); |
204 | 204 | ||
205 | scan_phb(phb); | 205 | scan_phb(phb); |
206 | pcibios_allocate_bus_resources(phb->bus); | ||
206 | pcibios_fixup_new_pci_devices(phb->bus); | 207 | pcibios_fixup_new_pci_devices(phb->bus); |
207 | pci_bus_add_devices(phb->bus); | 208 | pci_bus_add_devices(phb->bus); |
208 | eeh_add_device_tree_late(phb->bus); | 209 | eeh_add_device_tree_late(phb->bus); |
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 8e3478c995ef..f6299cca7814 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -563,6 +563,51 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic) | |||
563 | 563 | ||
564 | #endif /* CONFIG_MPIC_U3_HT_IRQS */ | 564 | #endif /* CONFIG_MPIC_U3_HT_IRQS */ |
565 | 565 | ||
566 | #ifdef CONFIG_SMP | ||
567 | static int irq_choose_cpu(unsigned int virt_irq) | ||
568 | { | ||
569 | cpumask_t mask = irq_desc[virt_irq].affinity; | ||
570 | int cpuid; | ||
571 | |||
572 | if (cpus_equal(mask, CPU_MASK_ALL)) { | ||
573 | static int irq_rover; | ||
574 | static DEFINE_SPINLOCK(irq_rover_lock); | ||
575 | unsigned long flags; | ||
576 | |||
577 | /* Round-robin distribution... */ | ||
578 | do_round_robin: | ||
579 | spin_lock_irqsave(&irq_rover_lock, flags); | ||
580 | |||
581 | while (!cpu_online(irq_rover)) { | ||
582 | if (++irq_rover >= NR_CPUS) | ||
583 | irq_rover = 0; | ||
584 | } | ||
585 | cpuid = irq_rover; | ||
586 | do { | ||
587 | if (++irq_rover >= NR_CPUS) | ||
588 | irq_rover = 0; | ||
589 | } while (!cpu_online(irq_rover)); | ||
590 | |||
591 | spin_unlock_irqrestore(&irq_rover_lock, flags); | ||
592 | } else { | ||
593 | cpumask_t tmp; | ||
594 | |||
595 | cpus_and(tmp, cpu_online_map, mask); | ||
596 | |||
597 | if (cpus_empty(tmp)) | ||
598 | goto do_round_robin; | ||
599 | |||
600 | cpuid = first_cpu(tmp); | ||
601 | } | ||
602 | |||
603 | return cpuid; | ||
604 | } | ||
605 | #else | ||
606 | static int irq_choose_cpu(unsigned int virt_irq) | ||
607 | { | ||
608 | return hard_smp_processor_id(); | ||
609 | } | ||
610 | #endif | ||
566 | 611 | ||
567 | #define mpic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) | 612 | #define mpic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) |
568 | 613 | ||
@@ -777,12 +822,18 @@ void mpic_set_affinity(unsigned int irq, cpumask_t cpumask) | |||
777 | struct mpic *mpic = mpic_from_irq(irq); | 822 | struct mpic *mpic = mpic_from_irq(irq); |
778 | unsigned int src = mpic_irq_to_hw(irq); | 823 | unsigned int src = mpic_irq_to_hw(irq); |
779 | 824 | ||
780 | cpumask_t tmp; | 825 | if (mpic->flags & MPIC_SINGLE_DEST_CPU) { |
826 | int cpuid = irq_choose_cpu(irq); | ||
781 | 827 | ||
782 | cpus_and(tmp, cpumask, cpu_online_map); | 828 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), 1 << cpuid); |
829 | } else { | ||
830 | cpumask_t tmp; | ||
783 | 831 | ||
784 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), | 832 | cpus_and(tmp, cpumask, cpu_online_map); |
785 | mpic_physmask(cpus_addr(tmp)[0])); | 833 | |
834 | mpic_irq_write(src, MPIC_INFO(IRQ_DESTINATION), | ||
835 | mpic_physmask(cpus_addr(tmp)[0])); | ||
836 | } | ||
786 | } | 837 | } |
787 | 838 | ||
788 | static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type) | 839 | static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type) |
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 34c3d0688fe0..076368c8b8a9 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c | |||
@@ -1353,6 +1353,7 @@ static void backtrace(struct pt_regs *excp) | |||
1353 | 1353 | ||
1354 | static void print_bug_trap(struct pt_regs *regs) | 1354 | static void print_bug_trap(struct pt_regs *regs) |
1355 | { | 1355 | { |
1356 | #ifdef CONFIG_BUG | ||
1356 | const struct bug_entry *bug; | 1357 | const struct bug_entry *bug; |
1357 | unsigned long addr; | 1358 | unsigned long addr; |
1358 | 1359 | ||
@@ -1373,6 +1374,7 @@ static void print_bug_trap(struct pt_regs *regs) | |||
1373 | #else | 1374 | #else |
1374 | printf("kernel BUG at %p!\n", (void *)bug->bug_addr); | 1375 | printf("kernel BUG at %p!\n", (void *)bug->bug_addr); |
1375 | #endif | 1376 | #endif |
1377 | #endif /* CONFIG_BUG */ | ||
1376 | } | 1378 | } |
1377 | 1379 | ||
1378 | static void excprint(struct pt_regs *fp) | 1380 | static void excprint(struct pt_regs *fp) |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index cb2c87df70ce..80119b3398e7 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -24,7 +24,7 @@ config SUPERH32 | |||
24 | select HAVE_KPROBES | 24 | select HAVE_KPROBES |
25 | select HAVE_KRETPROBES | 25 | select HAVE_KRETPROBES |
26 | select HAVE_ARCH_TRACEHOOK | 26 | select HAVE_ARCH_TRACEHOOK |
27 | select HAVE_FTRACE | 27 | select HAVE_FUNCTION_TRACER |
28 | 28 | ||
29 | config SUPERH64 | 29 | config SUPERH64 |
30 | def_bool y if CPU_SH5 | 30 | def_bool y if CPU_SH5 |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 1f409bf81809..c43eb0d7fa3b 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # arch/sh/Makefile | 2 | # arch/sh/Makefile |
3 | # | 3 | # |
4 | # Copyright (C) 1999 Kaz Kojima | 4 | # Copyright (C) 1999 Kaz Kojima |
5 | # Copyright (C) 2002, 2003, 2004 Paul Mundt | 5 | # Copyright (C) 2002 - 2008 Paul Mundt |
6 | # Copyright (C) 2002 M. R. Brown | 6 | # Copyright (C) 2002 M. R. Brown |
7 | # | 7 | # |
8 | # This file is subject to the terms and conditions of the GNU General Public | 8 | # This file is subject to the terms and conditions of the GNU General Public |
@@ -18,16 +18,12 @@ isa-$(CONFIG_CPU_SH4) := sh4 | |||
18 | isa-$(CONFIG_CPU_SH4A) := sh4a | 18 | isa-$(CONFIG_CPU_SH4A) := sh4a |
19 | isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al | 19 | isa-$(CONFIG_CPU_SH4AL_DSP) := sh4al |
20 | isa-$(CONFIG_CPU_SH5) := shmedia | 20 | isa-$(CONFIG_CPU_SH5) := shmedia |
21 | isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp | ||
22 | 21 | ||
23 | ifndef CONFIG_SH_DSP | 22 | ifeq ($(CONFIG_SUPERH32),y) |
24 | ifndef CONFIG_SH_FPU | 23 | isa-$(CONFIG_SH_DSP) := $(isa-y)-dsp |
25 | isa-y := $(isa-y)-nofpu | 24 | isa-y := $(isa-y)-up |
26 | endif | ||
27 | endif | 25 | endif |
28 | 26 | ||
29 | isa-y := $(isa-y)-up | ||
30 | |||
31 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) | 27 | cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,) |
32 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ | 28 | cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \ |
33 | $(call cc-option,-m2a-nofpu,) | 29 | $(call cc-option,-m2a-nofpu,) |
@@ -38,6 +34,22 @@ cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \ | |||
38 | $(call cc-option,-m4a-nofpu,) | 34 | $(call cc-option,-m4a-nofpu,) |
39 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) | 35 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) |
40 | 36 | ||
37 | ifeq ($(cflags-y),) | ||
38 | # | ||
39 | # In the case where we are stuck with a compiler that has been uselessly | ||
40 | # restricted to a particular ISA, a favourite default of newer GCCs when | ||
41 | # extensive multilib targets are not provided, ensure we get the best fit | ||
42 | # regarding FP generation. This is necessary to avoid references to FP | ||
43 | # variants in libgcc where integer variants exist, which otherwise result | ||
44 | # in link errors. This is intentionally stupid (albeit many orders of | ||
45 | # magnitude less than GCC's default behaviour), as anything with a large | ||
46 | # number of multilib targets better have been built correctly for | ||
47 | # the target in mind. | ||
48 | # | ||
49 | cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \ | ||
50 | grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//') | ||
51 | endif | ||
52 | |||
41 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 53 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
42 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 54 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
43 | 55 | ||
@@ -65,7 +77,8 @@ OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment \ | |||
65 | -R .stab -R .stabstr -S | 77 | -R .stab -R .stabstr -S |
66 | 78 | ||
67 | # Give the various platforms the opportunity to set default image types | 79 | # Give the various platforms the opportunity to set default image types |
68 | defaultimage-$(CONFIG_SUPERH32) := zImage | 80 | defaultimage-$(CONFIG_SUPERH32) := zImage |
81 | defaultimage-$(CONFIG_SH_SH7785LCR) := uImage | ||
69 | 82 | ||
70 | # Set some sensible Kbuild defaults | 83 | # Set some sensible Kbuild defaults |
71 | KBUILD_DEFCONFIG := shx3_defconfig | 84 | KBUILD_DEFCONFIG := shx3_defconfig |
diff --git a/arch/sh/boot/compressed/Makefile_32 b/arch/sh/boot/compressed/Makefile_32 index 301e6d503256..b96a055b053e 100644 --- a/arch/sh/boot/compressed/Makefile_32 +++ b/arch/sh/boot/compressed/Makefile_32 | |||
@@ -23,7 +23,7 @@ IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \ | |||
23 | 23 | ||
24 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) | 24 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) |
25 | 25 | ||
26 | ifeq ($(CONFIG_FTRACE),y) | 26 | ifeq ($(CONFIG_FUNCTION_TRACER),y) |
27 | ORIG_CFLAGS := $(KBUILD_CFLAGS) | 27 | ORIG_CFLAGS := $(KBUILD_CFLAGS) |
28 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) | 28 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) |
29 | endif | 29 | endif |
diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig index 7892361eedc8..f43d18373f22 100644 --- a/arch/sh/cchips/Kconfig +++ b/arch/sh/cchips/Kconfig | |||
@@ -22,20 +22,6 @@ config HD64461 | |||
22 | Say Y if you want support for the HD64461. | 22 | Say Y if you want support for the HD64461. |
23 | Otherwise, say N. | 23 | Otherwise, say N. |
24 | 24 | ||
25 | config HD64465 | ||
26 | bool "Hitachi HD64465 companion chip support" | ||
27 | ---help--- | ||
28 | The Hitachi HD64465 provides an interface for | ||
29 | the SH7750 CPU, supporting a LCD controller, | ||
30 | CRT color controller, IrDA, USB, PCMCIA, | ||
31 | keyboard controller, and a printer interface. | ||
32 | |||
33 | More information is available at | ||
34 | <http://global.hitachi.com/New/cnews/E/1998/981019B.html>. | ||
35 | |||
36 | Say Y if you want support for the HD64465. | ||
37 | Otherwise, say N. | ||
38 | |||
39 | endchoice | 25 | endchoice |
40 | 26 | ||
41 | # These will also be split into the Kconfig's below | 27 | # These will also be split into the Kconfig's below |
@@ -61,23 +47,4 @@ config HD64461_ENABLER | |||
61 | via the HD64461 companion chip. | 47 | via the HD64461 companion chip. |
62 | Otherwise, say N. | 48 | Otherwise, say N. |
63 | 49 | ||
64 | config HD64465_IOBASE | ||
65 | hex "HD64465 start address" | ||
66 | depends on HD64465 | ||
67 | default "0xb0000000" | ||
68 | help | ||
69 | The default setting of the HD64465 IO base address is 0xb0000000. | ||
70 | |||
71 | Do not change this unless you know what you are doing. | ||
72 | |||
73 | config HD64465_IRQ | ||
74 | int "HD64465 IRQ" | ||
75 | depends on HD64465 | ||
76 | default "5" | ||
77 | help | ||
78 | The default setting of the HD64465 IRQ is 5. | ||
79 | |||
80 | Do not change this unless you know what you are doing. | ||
81 | |||
82 | endmenu | 50 | endmenu |
83 | |||
diff --git a/arch/sh/cchips/hd6446x/Makefile b/arch/sh/cchips/hd6446x/Makefile index f7de4076e242..9682e3ab668f 100644 --- a/arch/sh/cchips/hd6446x/Makefile +++ b/arch/sh/cchips/hd6446x/Makefile | |||
@@ -1,4 +1,3 @@ | |||
1 | obj-$(CONFIG_HD64461) += hd64461.o | 1 | obj-$(CONFIG_HD64461) += hd64461.o |
2 | obj-$(CONFIG_HD64465) += hd64465/ | ||
3 | 2 | ||
4 | EXTRA_CFLAGS += -Werror | 3 | EXTRA_CFLAGS += -Werror |
diff --git a/arch/sh/cchips/hd6446x/hd64465/Makefile b/arch/sh/cchips/hd6446x/hd64465/Makefile deleted file mode 100644 index f66edcb52c5b..000000000000 --- a/arch/sh/cchips/hd6446x/hd64465/Makefile +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the HD64465 | ||
3 | # | ||
4 | |||
5 | obj-y := setup.o io.o gpio.o | ||
6 | |||
diff --git a/arch/sh/cchips/hd6446x/hd64465/gpio.c b/arch/sh/cchips/hd6446x/hd64465/gpio.c deleted file mode 100644 index 43431855ec86..000000000000 --- a/arch/sh/cchips/hd6446x/hd64465/gpio.c +++ /dev/null | |||
@@ -1,196 +0,0 @@ | |||
1 | /* | ||
2 | * $Id: gpio.c,v 1.4 2003/05/19 22:24:18 lethal Exp $ | ||
3 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
4 | * (c) 2000 PocketPenguins Inc | ||
5 | * | ||
6 | * GPIO pin support for HD64465 companion chip. | ||
7 | */ | ||
8 | |||
9 | #include <linux/kernel.h> | ||
10 | #include <linux/init.h> | ||
11 | #include <linux/module.h> | ||
12 | #include <linux/sched.h> | ||
13 | #include <linux/ioport.h> | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/hd64465/gpio.h> | ||
16 | |||
17 | #define _PORTOF(portpin) (((portpin)>>3)&0x7) | ||
18 | #define _PINOF(portpin) ((portpin)&0x7) | ||
19 | |||
20 | /* Register addresses parametrised on port */ | ||
21 | #define GPIO_CR(port) (HD64465_REG_GPACR+((port)<<1)) | ||
22 | #define GPIO_DR(port) (HD64465_REG_GPADR+((port)<<1)) | ||
23 | #define GPIO_ICR(port) (HD64465_REG_GPAICR+((port)<<1)) | ||
24 | #define GPIO_ISR(port) (HD64465_REG_GPAISR+((port)<<1)) | ||
25 | |||
26 | #define GPIO_NPORTS 5 | ||
27 | |||
28 | #define MODNAME "hd64465_gpio" | ||
29 | |||
30 | EXPORT_SYMBOL(hd64465_gpio_configure); | ||
31 | EXPORT_SYMBOL(hd64465_gpio_get_pin); | ||
32 | EXPORT_SYMBOL(hd64465_gpio_get_port); | ||
33 | EXPORT_SYMBOL(hd64465_gpio_register_irq); | ||
34 | EXPORT_SYMBOL(hd64465_gpio_set_pin); | ||
35 | EXPORT_SYMBOL(hd64465_gpio_set_port); | ||
36 | EXPORT_SYMBOL(hd64465_gpio_unregister_irq); | ||
37 | |||
38 | /* TODO: each port should be protected with a spinlock */ | ||
39 | |||
40 | |||
41 | void hd64465_gpio_configure(int portpin, int direction) | ||
42 | { | ||
43 | unsigned short cr; | ||
44 | unsigned int shift = (_PINOF(portpin)<<1); | ||
45 | |||
46 | cr = inw(GPIO_CR(_PORTOF(portpin))); | ||
47 | cr &= ~(3<<shift); | ||
48 | cr |= direction<<shift; | ||
49 | outw(cr, GPIO_CR(_PORTOF(portpin))); | ||
50 | } | ||
51 | |||
52 | void hd64465_gpio_set_pin(int portpin, unsigned int value) | ||
53 | { | ||
54 | unsigned short d; | ||
55 | unsigned short mask = 1<<(_PINOF(portpin)); | ||
56 | |||
57 | d = inw(GPIO_DR(_PORTOF(portpin))); | ||
58 | if (value) | ||
59 | d |= mask; | ||
60 | else | ||
61 | d &= ~mask; | ||
62 | outw(d, GPIO_DR(_PORTOF(portpin))); | ||
63 | } | ||
64 | |||
65 | unsigned int hd64465_gpio_get_pin(int portpin) | ||
66 | { | ||
67 | return inw(GPIO_DR(_PORTOF(portpin))) & (1<<(_PINOF(portpin))); | ||
68 | } | ||
69 | |||
70 | /* TODO: for cleaner atomicity semantics, add a mask to this routine */ | ||
71 | |||
72 | void hd64465_gpio_set_port(int port, unsigned int value) | ||
73 | { | ||
74 | outw(value, GPIO_DR(port)); | ||
75 | } | ||
76 | |||
77 | unsigned int hd64465_gpio_get_port(int port) | ||
78 | { | ||
79 | return inw(GPIO_DR(port)); | ||
80 | } | ||
81 | |||
82 | |||
83 | static struct { | ||
84 | void (*func)(int portpin, void *dev); | ||
85 | void *dev; | ||
86 | } handlers[GPIO_NPORTS * 8]; | ||
87 | |||
88 | static irqreturn_t hd64465_gpio_interrupt(int irq, void *dev) | ||
89 | { | ||
90 | unsigned short port, pin, isr, mask, portpin; | ||
91 | |||
92 | for (port=0 ; port<GPIO_NPORTS ; port++) { | ||
93 | isr = inw(GPIO_ISR(port)); | ||
94 | |||
95 | for (pin=0 ; pin<8 ; pin++) { | ||
96 | mask = 1<<pin; | ||
97 | if (isr & mask) { | ||
98 | portpin = (port<<3)|pin; | ||
99 | if (handlers[portpin].func != 0) | ||
100 | handlers[portpin].func(portpin, handlers[portpin].dev); | ||
101 | else | ||
102 | printk(KERN_NOTICE "unexpected GPIO interrupt, pin %c%d\n", | ||
103 | port+'A', (int)pin); | ||
104 | } | ||
105 | } | ||
106 | |||
107 | /* Write 1s back to ISR to clear it? That's what the manual says.. */ | ||
108 | outw(isr, GPIO_ISR(port)); | ||
109 | } | ||
110 | |||
111 | return IRQ_HANDLED; | ||
112 | } | ||
113 | |||
114 | void hd64465_gpio_register_irq(int portpin, int mode, | ||
115 | void (*handler)(int portpin, void *dev), void *dev) | ||
116 | { | ||
117 | unsigned long flags; | ||
118 | unsigned short icr, mask; | ||
119 | |||
120 | if (handler == 0) | ||
121 | return; | ||
122 | |||
123 | local_irq_save(flags); | ||
124 | |||
125 | handlers[portpin].func = handler; | ||
126 | handlers[portpin].dev = dev; | ||
127 | |||
128 | /* | ||
129 | * Configure Interrupt Control Register | ||
130 | */ | ||
131 | icr = inw(GPIO_ICR(_PORTOF(portpin))); | ||
132 | mask = (1<<_PINOF(portpin)); | ||
133 | |||
134 | /* unmask interrupt */ | ||
135 | icr &= ~mask; | ||
136 | |||
137 | /* set TS bit */ | ||
138 | mask <<= 8; | ||
139 | icr &= ~mask; | ||
140 | if (mode == HD64465_GPIO_RISING) | ||
141 | icr |= mask; | ||
142 | |||
143 | outw(icr, GPIO_ICR(_PORTOF(portpin))); | ||
144 | |||
145 | local_irq_restore(flags); | ||
146 | } | ||
147 | |||
148 | void hd64465_gpio_unregister_irq(int portpin) | ||
149 | { | ||
150 | unsigned long flags; | ||
151 | unsigned short icr; | ||
152 | |||
153 | local_irq_save(flags); | ||
154 | |||
155 | /* | ||
156 | * Configure Interrupt Control Register | ||
157 | */ | ||
158 | icr = inw(GPIO_ICR(_PORTOF(portpin))); | ||
159 | icr |= (1<<_PINOF(portpin)); /* mask interrupt */ | ||
160 | outw(icr, GPIO_ICR(_PORTOF(portpin))); | ||
161 | |||
162 | handlers[portpin].func = 0; | ||
163 | handlers[portpin].dev = 0; | ||
164 | |||
165 | local_irq_restore(flags); | ||
166 | } | ||
167 | |||
168 | static int __init hd64465_gpio_init(void) | ||
169 | { | ||
170 | if (!request_region(HD64465_REG_GPACR, 0x1000, MODNAME)) | ||
171 | return -EBUSY; | ||
172 | if (request_irq(HD64465_IRQ_GPIO, hd64465_gpio_interrupt, | ||
173 | IRQF_DISABLED, MODNAME, 0)) | ||
174 | goto out_irqfailed; | ||
175 | |||
176 | printk("HD64465 GPIO layer on irq %d\n", HD64465_IRQ_GPIO); | ||
177 | |||
178 | return 0; | ||
179 | |||
180 | out_irqfailed: | ||
181 | release_region(HD64465_REG_GPACR, 0x1000); | ||
182 | |||
183 | return -EINVAL; | ||
184 | } | ||
185 | |||
186 | static void __exit hd64465_gpio_exit(void) | ||
187 | { | ||
188 | release_region(HD64465_REG_GPACR, 0x1000); | ||
189 | free_irq(HD64465_IRQ_GPIO, 0); | ||
190 | } | ||
191 | |||
192 | module_init(hd64465_gpio_init); | ||
193 | module_exit(hd64465_gpio_exit); | ||
194 | |||
195 | MODULE_LICENSE("GPL"); | ||
196 | |||
diff --git a/arch/sh/cchips/hd6446x/hd64465/io.c b/arch/sh/cchips/hd6446x/hd64465/io.c deleted file mode 100644 index 58704d066ae2..000000000000 --- a/arch/sh/cchips/hd6446x/hd64465/io.c +++ /dev/null | |||
@@ -1,211 +0,0 @@ | |||
1 | /* | ||
2 | * $Id: io.c,v 1.4 2003/08/03 03:05:10 lethal Exp $ | ||
3 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
4 | * (c) 2000 PocketPenguins Inc | ||
5 | * | ||
6 | * Derived from io_hd64461.c, which bore the message: | ||
7 | * Copyright (C) 2000 YAEGASHI Takeshi | ||
8 | * | ||
9 | * Typical I/O routines for HD64465 system. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/module.h> | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/hd64465/hd64465.h> | ||
16 | |||
17 | |||
18 | #define HD64465_DEBUG 0 | ||
19 | |||
20 | #if HD64465_DEBUG | ||
21 | #define DPRINTK(args...) printk(args) | ||
22 | #define DIPRINTK(n, args...) if (hd64465_io_debug>(n)) printk(args) | ||
23 | #else | ||
24 | #define DPRINTK(args...) | ||
25 | #define DIPRINTK(n, args...) | ||
26 | #endif | ||
27 | |||
28 | |||
29 | |||
30 | /* This is a hack suitable only for debugging IO port problems */ | ||
31 | int hd64465_io_debug; | ||
32 | EXPORT_SYMBOL(hd64465_io_debug); | ||
33 | |||
34 | /* Low iomap maps port 0-1K to addresses in 8byte chunks */ | ||
35 | #define HD64465_IOMAP_LO_THRESH 0x400 | ||
36 | #define HD64465_IOMAP_LO_SHIFT 3 | ||
37 | #define HD64465_IOMAP_LO_MASK ((1<<HD64465_IOMAP_LO_SHIFT)-1) | ||
38 | #define HD64465_IOMAP_LO_NMAP (HD64465_IOMAP_LO_THRESH>>HD64465_IOMAP_LO_SHIFT) | ||
39 | static unsigned long hd64465_iomap_lo[HD64465_IOMAP_LO_NMAP]; | ||
40 | static unsigned char hd64465_iomap_lo_shift[HD64465_IOMAP_LO_NMAP]; | ||
41 | |||
42 | /* High iomap maps port 1K-64K to addresses in 1K chunks */ | ||
43 | #define HD64465_IOMAP_HI_THRESH 0x10000 | ||
44 | #define HD64465_IOMAP_HI_SHIFT 10 | ||
45 | #define HD64465_IOMAP_HI_MASK ((1<<HD64465_IOMAP_HI_SHIFT)-1) | ||
46 | #define HD64465_IOMAP_HI_NMAP (HD64465_IOMAP_HI_THRESH>>HD64465_IOMAP_HI_SHIFT) | ||
47 | static unsigned long hd64465_iomap_hi[HD64465_IOMAP_HI_NMAP]; | ||
48 | static unsigned char hd64465_iomap_hi_shift[HD64465_IOMAP_HI_NMAP]; | ||
49 | |||
50 | #define PORT2ADDR(x) (sh_mv.mv_isa_port2addr(x)) | ||
51 | |||
52 | void hd64465_port_map(unsigned short baseport, unsigned int nports, | ||
53 | unsigned long addr, unsigned char shift) | ||
54 | { | ||
55 | unsigned int port, endport = baseport + nports; | ||
56 | |||
57 | DPRINTK("hd64465_port_map(base=0x%04hx, n=0x%04hx, addr=0x%08lx,endport=0x%04x)\n", | ||
58 | baseport, nports, addr,endport); | ||
59 | |||
60 | for (port = baseport ; | ||
61 | port < endport && port < HD64465_IOMAP_LO_THRESH ; | ||
62 | port += (1<<HD64465_IOMAP_LO_SHIFT)) { | ||
63 | DPRINTK(" maplo[0x%x] = 0x%08lx\n", port, addr); | ||
64 | hd64465_iomap_lo[port>>HD64465_IOMAP_LO_SHIFT] = addr; | ||
65 | hd64465_iomap_lo_shift[port>>HD64465_IOMAP_LO_SHIFT] = shift; | ||
66 | addr += (1<<(HD64465_IOMAP_LO_SHIFT)); | ||
67 | } | ||
68 | |||
69 | for (port = max_t(unsigned int, baseport, HD64465_IOMAP_LO_THRESH); | ||
70 | port < endport && port < HD64465_IOMAP_HI_THRESH ; | ||
71 | port += (1<<HD64465_IOMAP_HI_SHIFT)) { | ||
72 | DPRINTK(" maphi[0x%x] = 0x%08lx\n", port, addr); | ||
73 | hd64465_iomap_hi[port>>HD64465_IOMAP_HI_SHIFT] = addr; | ||
74 | hd64465_iomap_hi_shift[port>>HD64465_IOMAP_HI_SHIFT] = shift; | ||
75 | addr += (1<<(HD64465_IOMAP_HI_SHIFT)); | ||
76 | } | ||
77 | } | ||
78 | EXPORT_SYMBOL(hd64465_port_map); | ||
79 | |||
80 | void hd64465_port_unmap(unsigned short baseport, unsigned int nports) | ||
81 | { | ||
82 | unsigned int port, endport = baseport + nports; | ||
83 | |||
84 | DPRINTK("hd64465_port_unmap(base=0x%04hx, n=0x%04hx)\n", | ||
85 | baseport, nports); | ||
86 | |||
87 | for (port = baseport ; | ||
88 | port < endport && port < HD64465_IOMAP_LO_THRESH ; | ||
89 | port += (1<<HD64465_IOMAP_LO_SHIFT)) { | ||
90 | hd64465_iomap_lo[port>>HD64465_IOMAP_LO_SHIFT] = 0; | ||
91 | } | ||
92 | |||
93 | for (port = max_t(unsigned int, baseport, HD64465_IOMAP_LO_THRESH); | ||
94 | port < endport && port < HD64465_IOMAP_HI_THRESH ; | ||
95 | port += (1<<HD64465_IOMAP_HI_SHIFT)) { | ||
96 | hd64465_iomap_hi[port>>HD64465_IOMAP_HI_SHIFT] = 0; | ||
97 | } | ||
98 | } | ||
99 | EXPORT_SYMBOL(hd64465_port_unmap); | ||
100 | |||
101 | unsigned long hd64465_isa_port2addr(unsigned long port) | ||
102 | { | ||
103 | unsigned long addr = 0; | ||
104 | unsigned char shift; | ||
105 | |||
106 | /* handle remapping of low IO ports */ | ||
107 | if (port < HD64465_IOMAP_LO_THRESH) { | ||
108 | addr = hd64465_iomap_lo[port >> HD64465_IOMAP_LO_SHIFT]; | ||
109 | shift = hd64465_iomap_lo_shift[port >> HD64465_IOMAP_LO_SHIFT]; | ||
110 | if (addr != 0) | ||
111 | addr += (port & HD64465_IOMAP_LO_MASK) << shift; | ||
112 | else | ||
113 | printk(KERN_NOTICE "io_hd64465: access to un-mapped port %lx\n", port); | ||
114 | } else if (port < HD64465_IOMAP_HI_THRESH) { | ||
115 | addr = hd64465_iomap_hi[port >> HD64465_IOMAP_HI_SHIFT]; | ||
116 | shift = hd64465_iomap_hi_shift[port >> HD64465_IOMAP_HI_SHIFT]; | ||
117 | if (addr != 0) | ||
118 | addr += (port & HD64465_IOMAP_HI_MASK) << shift; | ||
119 | else | ||
120 | printk(KERN_NOTICE "io_hd64465: access to un-mapped port %lx\n", port); | ||
121 | } | ||
122 | |||
123 | /* HD64465 internal devices (0xb0000000) */ | ||
124 | else if (port < 0x20000) | ||
125 | addr = CONFIG_HD64465_IOBASE + port - 0x10000; | ||
126 | |||
127 | /* Whole physical address space (0xa0000000) */ | ||
128 | else | ||
129 | addr = P2SEGADDR(port); | ||
130 | |||
131 | DIPRINTK(2, "PORT2ADDR(0x%08lx) = 0x%08lx\n", port, addr); | ||
132 | |||
133 | return addr; | ||
134 | } | ||
135 | |||
136 | static inline void delay(void) | ||
137 | { | ||
138 | ctrl_inw(0xa0000000); | ||
139 | } | ||
140 | |||
141 | unsigned char hd64465_inb(unsigned long port) | ||
142 | { | ||
143 | unsigned long addr = PORT2ADDR(port); | ||
144 | unsigned long b = (addr == 0 ? 0 : *(volatile unsigned char*)addr); | ||
145 | |||
146 | DIPRINTK(0, "inb(%08lx) = %02x\n", addr, (unsigned)b); | ||
147 | return b; | ||
148 | } | ||
149 | |||
150 | unsigned char hd64465_inb_p(unsigned long port) | ||
151 | { | ||
152 | unsigned long v; | ||
153 | unsigned long addr = PORT2ADDR(port); | ||
154 | |||
155 | v = (addr == 0 ? 0 : *(volatile unsigned char*)addr); | ||
156 | delay(); | ||
157 | DIPRINTK(0, "inb_p(%08lx) = %02x\n", addr, (unsigned)v); | ||
158 | return v; | ||
159 | } | ||
160 | |||
161 | unsigned short hd64465_inw(unsigned long port) | ||
162 | { | ||
163 | unsigned long addr = PORT2ADDR(port); | ||
164 | unsigned long b = (addr == 0 ? 0 : *(volatile unsigned short*)addr); | ||
165 | DIPRINTK(0, "inw(%08lx) = %04lx\n", addr, b); | ||
166 | return b; | ||
167 | } | ||
168 | |||
169 | unsigned int hd64465_inl(unsigned long port) | ||
170 | { | ||
171 | unsigned long addr = PORT2ADDR(port); | ||
172 | unsigned int b = (addr == 0 ? 0 : *(volatile unsigned long*)addr); | ||
173 | DIPRINTK(0, "inl(%08lx) = %08x\n", addr, b); | ||
174 | return b; | ||
175 | } | ||
176 | |||
177 | void hd64465_outb(unsigned char b, unsigned long port) | ||
178 | { | ||
179 | unsigned long addr = PORT2ADDR(port); | ||
180 | |||
181 | DIPRINTK(0, "outb(%02x, %08lx)\n", (unsigned)b, addr); | ||
182 | if (addr != 0) | ||
183 | *(volatile unsigned char*)addr = b; | ||
184 | } | ||
185 | |||
186 | void hd64465_outb_p(unsigned char b, unsigned long port) | ||
187 | { | ||
188 | unsigned long addr = PORT2ADDR(port); | ||
189 | |||
190 | DIPRINTK(0, "outb_p(%02x, %08lx)\n", (unsigned)b, addr); | ||
191 | if (addr != 0) | ||
192 | *(volatile unsigned char*)addr = b; | ||
193 | delay(); | ||
194 | } | ||
195 | |||
196 | void hd64465_outw(unsigned short b, unsigned long port) | ||
197 | { | ||
198 | unsigned long addr = PORT2ADDR(port); | ||
199 | DIPRINTK(0, "outw(%04x, %08lx)\n", (unsigned)b, addr); | ||
200 | if (addr != 0) | ||
201 | *(volatile unsigned short*)addr = b; | ||
202 | } | ||
203 | |||
204 | void hd64465_outl(unsigned int b, unsigned long port) | ||
205 | { | ||
206 | unsigned long addr = PORT2ADDR(port); | ||
207 | DIPRINTK(0, "outl(%08x, %08lx)\n", b, addr); | ||
208 | if (addr != 0) | ||
209 | *(volatile unsigned long*)addr = b; | ||
210 | } | ||
211 | |||
diff --git a/arch/sh/cchips/hd6446x/hd64465/setup.c b/arch/sh/cchips/hd6446x/hd64465/setup.c deleted file mode 100644 index 9b8820c36701..000000000000 --- a/arch/sh/cchips/hd6446x/hd64465/setup.c +++ /dev/null | |||
@@ -1,181 +0,0 @@ | |||
1 | /* | ||
2 | * $Id: setup.c,v 1.4 2003/08/03 03:05:10 lethal Exp $ | ||
3 | * | ||
4 | * Setup and IRQ handling code for the HD64465 companion chip. | ||
5 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
6 | * Copyright (c) 2000 PocketPenguins Inc | ||
7 | * | ||
8 | * Derived from setup_hd64461.c which bore the message: | ||
9 | * Copyright (C) 2000 YAEGASHI Takeshi | ||
10 | */ | ||
11 | |||
12 | #include <linux/sched.h> | ||
13 | #include <linux/module.h> | ||
14 | #include <linux/kernel.h> | ||
15 | #include <linux/param.h> | ||
16 | #include <linux/ioport.h> | ||
17 | #include <linux/interrupt.h> | ||
18 | #include <linux/init.h> | ||
19 | #include <linux/irq.h> | ||
20 | #include <asm/io.h> | ||
21 | #include <asm/irq.h> | ||
22 | #include <asm/hd64465/hd64465.h> | ||
23 | |||
24 | static void disable_hd64465_irq(unsigned int irq) | ||
25 | { | ||
26 | unsigned short nimr; | ||
27 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); | ||
28 | |||
29 | pr_debug("disable_hd64465_irq(%d): mask=%x\n", irq, mask); | ||
30 | nimr = inw(HD64465_REG_NIMR); | ||
31 | nimr |= mask; | ||
32 | outw(nimr, HD64465_REG_NIMR); | ||
33 | } | ||
34 | |||
35 | static void enable_hd64465_irq(unsigned int irq) | ||
36 | { | ||
37 | unsigned short nimr; | ||
38 | unsigned short mask = 1 << (irq - HD64465_IRQ_BASE); | ||
39 | |||
40 | pr_debug("enable_hd64465_irq(%d): mask=%x\n", irq, mask); | ||
41 | nimr = inw(HD64465_REG_NIMR); | ||
42 | nimr &= ~mask; | ||
43 | outw(nimr, HD64465_REG_NIMR); | ||
44 | } | ||
45 | |||
46 | static void mask_and_ack_hd64465(unsigned int irq) | ||
47 | { | ||
48 | disable_hd64465_irq(irq); | ||
49 | } | ||
50 | |||
51 | static void end_hd64465_irq(unsigned int irq) | ||
52 | { | ||
53 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
54 | enable_hd64465_irq(irq); | ||
55 | } | ||
56 | |||
57 | static unsigned int startup_hd64465_irq(unsigned int irq) | ||
58 | { | ||
59 | enable_hd64465_irq(irq); | ||
60 | return 0; | ||
61 | } | ||
62 | |||
63 | static void shutdown_hd64465_irq(unsigned int irq) | ||
64 | { | ||
65 | disable_hd64465_irq(irq); | ||
66 | } | ||
67 | |||
68 | static struct hw_interrupt_type hd64465_irq_type = { | ||
69 | .typename = "HD64465-IRQ", | ||
70 | .startup = startup_hd64465_irq, | ||
71 | .shutdown = shutdown_hd64465_irq, | ||
72 | .enable = enable_hd64465_irq, | ||
73 | .disable = disable_hd64465_irq, | ||
74 | .ack = mask_and_ack_hd64465, | ||
75 | .end = end_hd64465_irq, | ||
76 | }; | ||
77 | |||
78 | static irqreturn_t hd64465_interrupt(int irq, void *dev_id) | ||
79 | { | ||
80 | printk(KERN_INFO | ||
81 | "HD64465: spurious interrupt, nirr: 0x%x nimr: 0x%x\n", | ||
82 | inw(HD64465_REG_NIRR), inw(HD64465_REG_NIMR)); | ||
83 | |||
84 | return IRQ_NONE; | ||
85 | } | ||
86 | |||
87 | /* | ||
88 | * Support for a secondary IRQ demux step. This is necessary | ||
89 | * because the HD64465 presents a very thin interface to the | ||
90 | * PCMCIA bus; a lot of features (such as remapping interrupts) | ||
91 | * normally done in hardware by other PCMCIA host bridges is | ||
92 | * instead done in software. | ||
93 | */ | ||
94 | static struct { | ||
95 | int (*func)(int, void *); | ||
96 | void *dev; | ||
97 | } hd64465_demux[HD64465_IRQ_NUM]; | ||
98 | |||
99 | void hd64465_register_irq_demux(int irq, | ||
100 | int (*demux)(int irq, void *dev), void *dev) | ||
101 | { | ||
102 | hd64465_demux[irq - HD64465_IRQ_BASE].func = demux; | ||
103 | hd64465_demux[irq - HD64465_IRQ_BASE].dev = dev; | ||
104 | } | ||
105 | EXPORT_SYMBOL(hd64465_register_irq_demux); | ||
106 | |||
107 | void hd64465_unregister_irq_demux(int irq) | ||
108 | { | ||
109 | hd64465_demux[irq - HD64465_IRQ_BASE].func = 0; | ||
110 | } | ||
111 | EXPORT_SYMBOL(hd64465_unregister_irq_demux); | ||
112 | |||
113 | int hd64465_irq_demux(int irq) | ||
114 | { | ||
115 | if (irq == CONFIG_HD64465_IRQ) { | ||
116 | unsigned short i, bit; | ||
117 | unsigned short nirr = inw(HD64465_REG_NIRR); | ||
118 | unsigned short nimr = inw(HD64465_REG_NIMR); | ||
119 | |||
120 | pr_debug("hd64465_irq_demux, nirr=%04x, nimr=%04x\n", nirr, nimr); | ||
121 | nirr &= ~nimr; | ||
122 | for (bit = 1, i = 0 ; i < HD64465_IRQ_NUM ; bit <<= 1, i++) | ||
123 | if (nirr & bit) | ||
124 | break; | ||
125 | |||
126 | if (i < HD64465_IRQ_NUM) { | ||
127 | irq = HD64465_IRQ_BASE + i; | ||
128 | if (hd64465_demux[i].func != 0) | ||
129 | irq = hd64465_demux[i].func(irq, hd64465_demux[i].dev); | ||
130 | } | ||
131 | } | ||
132 | return irq; | ||
133 | } | ||
134 | |||
135 | static struct irqaction irq0 = { | ||
136 | .handler = hd64465_interrupt, | ||
137 | .flags = IRQF_DISABLED, | ||
138 | .mask = CPU_MASK_NONE, | ||
139 | .name = "HD64465", | ||
140 | }; | ||
141 | |||
142 | static int __init setup_hd64465(void) | ||
143 | { | ||
144 | int i; | ||
145 | unsigned short rev; | ||
146 | unsigned short smscr; | ||
147 | |||
148 | if (!MACH_HD64465) | ||
149 | return 0; | ||
150 | |||
151 | printk(KERN_INFO "HD64465 configured at 0x%x on irq %d(mapped into %d to %d)\n", | ||
152 | CONFIG_HD64465_IOBASE, | ||
153 | CONFIG_HD64465_IRQ, | ||
154 | HD64465_IRQ_BASE, | ||
155 | HD64465_IRQ_BASE+HD64465_IRQ_NUM-1); | ||
156 | |||
157 | if (inw(HD64465_REG_SDID) != HD64465_SDID) { | ||
158 | printk(KERN_ERR "HD64465 device ID not found, check base address\n"); | ||
159 | } | ||
160 | |||
161 | rev = inw(HD64465_REG_SRR); | ||
162 | printk(KERN_INFO "HD64465 hardware revision %d.%d\n", (rev >> 8) & 0xff, rev & 0xff); | ||
163 | |||
164 | outw(0xffff, HD64465_REG_NIMR); /* mask all interrupts */ | ||
165 | |||
166 | for (i = 0; i < HD64465_IRQ_NUM ; i++) { | ||
167 | irq_desc[HD64465_IRQ_BASE + i].chip = &hd64465_irq_type; | ||
168 | } | ||
169 | |||
170 | setup_irq(CONFIG_HD64465_IRQ, &irq0); | ||
171 | |||
172 | /* wake up the UART from STANDBY at this point */ | ||
173 | smscr = inw(HD64465_REG_SMSCR); | ||
174 | outw(smscr & (~HD64465_SMSCR_UARTST), HD64465_REG_SMSCR); | ||
175 | |||
176 | /* remap IO ports for first ISA serial port to HD64465 UART */ | ||
177 | hd64465_port_map(0x3f8, 8, CONFIG_HD64465_IOBASE + 0x8000, 1); | ||
178 | |||
179 | return 0; | ||
180 | } | ||
181 | module_init(setup_hd64465); | ||
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig index 624c47aa66d3..30cac42f25e7 100644 --- a/arch/sh/configs/migor_defconfig +++ b/arch/sh/configs/migor_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27 | 3 | # Linux kernel version: 2.6.28-rc2 |
4 | # Tue Oct 21 12:57:28 2008 | 4 | # Fri Oct 31 15:58:06 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -73,7 +73,6 @@ CONFIG_EVENTFD=y | |||
73 | CONFIG_SHMEM=y | 73 | CONFIG_SHMEM=y |
74 | CONFIG_AIO=y | 74 | CONFIG_AIO=y |
75 | CONFIG_VM_EVENT_COUNTERS=y | 75 | CONFIG_VM_EVENT_COUNTERS=y |
76 | CONFIG_PCI_QUIRKS=y | ||
77 | CONFIG_SLAB=y | 76 | CONFIG_SLAB=y |
78 | # CONFIG_SLUB is not set | 77 | # CONFIG_SLUB is not set |
79 | # CONFIG_SLOB is not set | 78 | # CONFIG_SLOB is not set |
@@ -285,7 +284,7 @@ CONFIG_GUSA=y | |||
285 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 284 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
286 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 285 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
287 | CONFIG_CMDLINE_BOOL=y | 286 | CONFIG_CMDLINE_BOOL=y |
288 | CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ip=on" | 287 | CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ip=on root=/dev/nfs ip=dhcp" |
289 | 288 | ||
290 | # | 289 | # |
291 | # Bus options | 290 | # Bus options |
@@ -718,6 +717,7 @@ CONFIG_SSB_POSSIBLE=y | |||
718 | # CONFIG_MFD_SM501 is not set | 717 | # CONFIG_MFD_SM501 is not set |
719 | # CONFIG_HTC_PASIC3 is not set | 718 | # CONFIG_HTC_PASIC3 is not set |
720 | # CONFIG_MFD_TMIO is not set | 719 | # CONFIG_MFD_TMIO is not set |
720 | # CONFIG_PMIC_DA903X is not set | ||
721 | # CONFIG_MFD_WM8400 is not set | 721 | # CONFIG_MFD_WM8400 is not set |
722 | # CONFIG_MFD_WM8350_I2C is not set | 722 | # CONFIG_MFD_WM8350_I2C is not set |
723 | 723 | ||
@@ -969,7 +969,23 @@ CONFIG_TMPFS=y | |||
969 | # CONFIG_ROMFS_FS is not set | 969 | # CONFIG_ROMFS_FS is not set |
970 | # CONFIG_SYSV_FS is not set | 970 | # CONFIG_SYSV_FS is not set |
971 | # CONFIG_UFS_FS is not set | 971 | # CONFIG_UFS_FS is not set |
972 | # CONFIG_NETWORK_FILESYSTEMS is not set | 972 | CONFIG_NETWORK_FILESYSTEMS=y |
973 | CONFIG_NFS_FS=y | ||
974 | # CONFIG_NFS_V3 is not set | ||
975 | # CONFIG_NFS_V4 is not set | ||
976 | CONFIG_ROOT_NFS=y | ||
977 | # CONFIG_NFSD is not set | ||
978 | CONFIG_LOCKD=y | ||
979 | CONFIG_NFS_COMMON=y | ||
980 | CONFIG_SUNRPC=y | ||
981 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
982 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
983 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
984 | # CONFIG_SMB_FS is not set | ||
985 | # CONFIG_CIFS is not set | ||
986 | # CONFIG_NCP_FS is not set | ||
987 | # CONFIG_CODA_FS is not set | ||
988 | # CONFIG_AFS_FS is not set | ||
973 | 989 | ||
974 | # | 990 | # |
975 | # Partition Types | 991 | # Partition Types |
@@ -1019,7 +1035,12 @@ CONFIG_CRYPTO=y | |||
1019 | # Crypto core or helper | 1035 | # Crypto core or helper |
1020 | # | 1036 | # |
1021 | # CONFIG_CRYPTO_FIPS is not set | 1037 | # CONFIG_CRYPTO_FIPS is not set |
1022 | # CONFIG_CRYPTO_MANAGER is not set | 1038 | CONFIG_CRYPTO_ALGAPI=y |
1039 | CONFIG_CRYPTO_AEAD=y | ||
1040 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1041 | CONFIG_CRYPTO_HASH=y | ||
1042 | CONFIG_CRYPTO_RNG=y | ||
1043 | CONFIG_CRYPTO_MANAGER=y | ||
1023 | # CONFIG_CRYPTO_GF128MUL is not set | 1044 | # CONFIG_CRYPTO_GF128MUL is not set |
1024 | # CONFIG_CRYPTO_NULL is not set | 1045 | # CONFIG_CRYPTO_NULL is not set |
1025 | # CONFIG_CRYPTO_CRYPTD is not set | 1046 | # CONFIG_CRYPTO_CRYPTD is not set |
@@ -1096,7 +1117,7 @@ CONFIG_CRYPTO=y | |||
1096 | # Random Number Generation | 1117 | # Random Number Generation |
1097 | # | 1118 | # |
1098 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1119 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
1099 | CONFIG_CRYPTO_HW=y | 1120 | # CONFIG_CRYPTO_HW is not set |
1100 | 1121 | ||
1101 | # | 1122 | # |
1102 | # Library routines | 1123 | # Library routines |
diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig new file mode 100644 index 000000000000..9afff67d9ff2 --- /dev/null +++ b/arch/sh/configs/ul2_defconfig | |||
@@ -0,0 +1,1169 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.28-rc2 | ||
4 | # Tue Oct 28 17:35:17 2008 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_SUPERH32=y | ||
8 | CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" | ||
9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
10 | CONFIG_GENERIC_BUG=y | ||
11 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
12 | CONFIG_GENERIC_HWEIGHT=y | ||
13 | CONFIG_GENERIC_HARDIRQS=y | ||
14 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | # CONFIG_GENERIC_GPIO is not set | ||
17 | CONFIG_GENERIC_TIME=y | ||
18 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
19 | CONFIG_SYS_SUPPORTS_NUMA=y | ||
20 | CONFIG_STACKTRACE_SUPPORT=y | ||
21 | CONFIG_LOCKDEP_SUPPORT=y | ||
22 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
23 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
24 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
25 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
27 | |||
28 | # | ||
29 | # General setup | ||
30 | # | ||
31 | CONFIG_EXPERIMENTAL=y | ||
32 | CONFIG_BROKEN_ON_SMP=y | ||
33 | CONFIG_LOCK_KERNEL=y | ||
34 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
35 | CONFIG_LOCALVERSION="" | ||
36 | CONFIG_LOCALVERSION_AUTO=y | ||
37 | CONFIG_SWAP=y | ||
38 | CONFIG_SYSVIPC=y | ||
39 | CONFIG_SYSVIPC_SYSCTL=y | ||
40 | # CONFIG_POSIX_MQUEUE is not set | ||
41 | CONFIG_BSD_PROCESS_ACCT=y | ||
42 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
43 | # CONFIG_TASKSTATS is not set | ||
44 | # CONFIG_AUDIT is not set | ||
45 | CONFIG_IKCONFIG=y | ||
46 | CONFIG_IKCONFIG_PROC=y | ||
47 | CONFIG_LOG_BUF_SHIFT=14 | ||
48 | # CONFIG_CGROUPS is not set | ||
49 | # CONFIG_GROUP_SCHED is not set | ||
50 | CONFIG_SYSFS_DEPRECATED=y | ||
51 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
52 | # CONFIG_RELAY is not set | ||
53 | # CONFIG_NAMESPACES is not set | ||
54 | CONFIG_BLK_DEV_INITRD=y | ||
55 | CONFIG_INITRAMFS_SOURCE="" | ||
56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
57 | CONFIG_SYSCTL=y | ||
58 | CONFIG_EMBEDDED=y | ||
59 | CONFIG_UID16=y | ||
60 | CONFIG_SYSCTL_SYSCALL=y | ||
61 | CONFIG_KALLSYMS=y | ||
62 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
63 | CONFIG_HOTPLUG=y | ||
64 | CONFIG_PRINTK=y | ||
65 | CONFIG_BUG=y | ||
66 | CONFIG_ELF_CORE=y | ||
67 | CONFIG_COMPAT_BRK=y | ||
68 | CONFIG_BASE_FULL=y | ||
69 | CONFIG_FUTEX=y | ||
70 | CONFIG_ANON_INODES=y | ||
71 | CONFIG_EPOLL=y | ||
72 | CONFIG_SIGNALFD=y | ||
73 | CONFIG_TIMERFD=y | ||
74 | CONFIG_EVENTFD=y | ||
75 | CONFIG_SHMEM=y | ||
76 | CONFIG_AIO=y | ||
77 | CONFIG_VM_EVENT_COUNTERS=y | ||
78 | CONFIG_SLUB_DEBUG=y | ||
79 | # CONFIG_SLAB is not set | ||
80 | CONFIG_SLUB=y | ||
81 | # CONFIG_SLOB is not set | ||
82 | CONFIG_PROFILING=y | ||
83 | # CONFIG_MARKERS is not set | ||
84 | # CONFIG_OPROFILE is not set | ||
85 | CONFIG_HAVE_OPROFILE=y | ||
86 | # CONFIG_KPROBES is not set | ||
87 | CONFIG_HAVE_IOREMAP_PROT=y | ||
88 | CONFIG_HAVE_KPROBES=y | ||
89 | CONFIG_HAVE_KRETPROBES=y | ||
90 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
91 | CONFIG_HAVE_CLK=y | ||
92 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
93 | CONFIG_SLABINFO=y | ||
94 | CONFIG_RT_MUTEXES=y | ||
95 | # CONFIG_TINY_SHMEM is not set | ||
96 | CONFIG_BASE_SMALL=0 | ||
97 | CONFIG_MODULES=y | ||
98 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
99 | CONFIG_MODULE_UNLOAD=y | ||
100 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
101 | # CONFIG_MODVERSIONS is not set | ||
102 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
103 | CONFIG_KMOD=y | ||
104 | CONFIG_BLOCK=y | ||
105 | # CONFIG_LBD is not set | ||
106 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
107 | # CONFIG_LSF is not set | ||
108 | # CONFIG_BLK_DEV_BSG is not set | ||
109 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
110 | |||
111 | # | ||
112 | # IO Schedulers | ||
113 | # | ||
114 | CONFIG_IOSCHED_NOOP=y | ||
115 | # CONFIG_IOSCHED_AS is not set | ||
116 | # CONFIG_IOSCHED_DEADLINE is not set | ||
117 | # CONFIG_IOSCHED_CFQ is not set | ||
118 | # CONFIG_DEFAULT_AS is not set | ||
119 | # CONFIG_DEFAULT_DEADLINE is not set | ||
120 | # CONFIG_DEFAULT_CFQ is not set | ||
121 | CONFIG_DEFAULT_NOOP=y | ||
122 | CONFIG_DEFAULT_IOSCHED="noop" | ||
123 | CONFIG_CLASSIC_RCU=y | ||
124 | # CONFIG_FREEZER is not set | ||
125 | |||
126 | # | ||
127 | # System type | ||
128 | # | ||
129 | CONFIG_CPU_SH4=y | ||
130 | CONFIG_CPU_SH4A=y | ||
131 | CONFIG_CPU_SH4AL_DSP=y | ||
132 | CONFIG_CPU_SHX2=y | ||
133 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
134 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | ||
135 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
136 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | ||
137 | # CONFIG_CPU_SUBTYPE_MXG is not set | ||
138 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
140 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
141 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
142 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
143 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH7720 is not set | ||
146 | # CONFIG_CPU_SUBTYPE_SH7721 is not set | ||
147 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
148 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
149 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
150 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
151 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
152 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
153 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
154 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
155 | # CONFIG_CPU_SUBTYPE_SH7723 is not set | ||
156 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | ||
157 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
158 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | ||
159 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
160 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | ||
161 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
162 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
163 | CONFIG_CPU_SUBTYPE_SH7366=y | ||
164 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
165 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
166 | |||
167 | # | ||
168 | # Memory management options | ||
169 | # | ||
170 | CONFIG_QUICKLIST=y | ||
171 | CONFIG_MMU=y | ||
172 | CONFIG_PAGE_OFFSET=0x80000000 | ||
173 | CONFIG_MEMORY_START=0x08000000 | ||
174 | CONFIG_MEMORY_SIZE=0x01f00000 | ||
175 | CONFIG_29BIT=y | ||
176 | # CONFIG_X2TLB is not set | ||
177 | CONFIG_VSYSCALL=y | ||
178 | CONFIG_NUMA=y | ||
179 | CONFIG_NODES_SHIFT=1 | ||
180 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
181 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
182 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
183 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
184 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
185 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
186 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
187 | CONFIG_PAGE_SIZE_4KB=y | ||
188 | # CONFIG_PAGE_SIZE_8KB is not set | ||
189 | # CONFIG_PAGE_SIZE_16KB is not set | ||
190 | # CONFIG_PAGE_SIZE_64KB is not set | ||
191 | CONFIG_ENTRY_OFFSET=0x00001000 | ||
192 | CONFIG_HUGETLB_PAGE_SIZE_64K=y | ||
193 | # CONFIG_HUGETLB_PAGE_SIZE_256K is not set | ||
194 | # CONFIG_HUGETLB_PAGE_SIZE_1MB is not set | ||
195 | # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set | ||
196 | # CONFIG_HUGETLB_PAGE_SIZE_64MB is not set | ||
197 | # CONFIG_HUGETLB_PAGE_SIZE_512MB is not set | ||
198 | CONFIG_SELECT_MEMORY_MODEL=y | ||
199 | # CONFIG_FLATMEM_MANUAL is not set | ||
200 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
201 | CONFIG_SPARSEMEM_MANUAL=y | ||
202 | CONFIG_SPARSEMEM=y | ||
203 | CONFIG_NEED_MULTIPLE_NODES=y | ||
204 | CONFIG_HAVE_MEMORY_PRESENT=y | ||
205 | CONFIG_SPARSEMEM_STATIC=y | ||
206 | # CONFIG_MEMORY_HOTPLUG is not set | ||
207 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
208 | # CONFIG_MIGRATION is not set | ||
209 | # CONFIG_RESOURCES_64BIT is not set | ||
210 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
211 | CONFIG_ZONE_DMA_FLAG=0 | ||
212 | CONFIG_NR_QUICK=2 | ||
213 | CONFIG_UNEVICTABLE_LRU=y | ||
214 | |||
215 | # | ||
216 | # Cache configuration | ||
217 | # | ||
218 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
219 | CONFIG_CACHE_WRITEBACK=y | ||
220 | # CONFIG_CACHE_WRITETHROUGH is not set | ||
221 | # CONFIG_CACHE_OFF is not set | ||
222 | |||
223 | # | ||
224 | # Processor features | ||
225 | # | ||
226 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
227 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
228 | # CONFIG_SH_FPU_EMU is not set | ||
229 | # CONFIG_SH_DSP is not set | ||
230 | # CONFIG_SH_STORE_QUEUES is not set | ||
231 | CONFIG_CPU_HAS_INTEVT=y | ||
232 | CONFIG_CPU_HAS_SR_RB=y | ||
233 | CONFIG_CPU_HAS_PTEA=y | ||
234 | CONFIG_CPU_HAS_DSP=y | ||
235 | |||
236 | # | ||
237 | # Board support | ||
238 | # | ||
239 | |||
240 | # | ||
241 | # Timer and clock configuration | ||
242 | # | ||
243 | CONFIG_SH_TMU=y | ||
244 | CONFIG_SH_TIMER_IRQ=16 | ||
245 | CONFIG_SH_PCLK_FREQ=33333333 | ||
246 | CONFIG_TICK_ONESHOT=y | ||
247 | # CONFIG_NO_HZ is not set | ||
248 | CONFIG_HIGH_RES_TIMERS=y | ||
249 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
250 | |||
251 | # | ||
252 | # CPU Frequency scaling | ||
253 | # | ||
254 | # CONFIG_CPU_FREQ is not set | ||
255 | |||
256 | # | ||
257 | # DMA support | ||
258 | # | ||
259 | # CONFIG_SH_DMA is not set | ||
260 | |||
261 | # | ||
262 | # Companion Chips | ||
263 | # | ||
264 | |||
265 | # | ||
266 | # Additional SuperH Device Drivers | ||
267 | # | ||
268 | # CONFIG_HEARTBEAT is not set | ||
269 | # CONFIG_PUSH_SWITCH is not set | ||
270 | |||
271 | # | ||
272 | # Kernel features | ||
273 | # | ||
274 | CONFIG_HZ_100=y | ||
275 | # CONFIG_HZ_250 is not set | ||
276 | # CONFIG_HZ_300 is not set | ||
277 | # CONFIG_HZ_1000 is not set | ||
278 | CONFIG_HZ=100 | ||
279 | CONFIG_SCHED_HRTICK=y | ||
280 | CONFIG_KEXEC=y | ||
281 | # CONFIG_CRASH_DUMP is not set | ||
282 | # CONFIG_SECCOMP is not set | ||
283 | # CONFIG_PREEMPT_NONE is not set | ||
284 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
285 | CONFIG_PREEMPT=y | ||
286 | # CONFIG_PREEMPT_RCU is not set | ||
287 | CONFIG_GUSA=y | ||
288 | |||
289 | # | ||
290 | # Boot options | ||
291 | # | ||
292 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | ||
293 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
294 | CONFIG_CMDLINE_BOOL=y | ||
295 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/nfs ip=dhcp" | ||
296 | |||
297 | # | ||
298 | # Bus options | ||
299 | # | ||
300 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
301 | # CONFIG_PCCARD is not set | ||
302 | |||
303 | # | ||
304 | # Executable file formats | ||
305 | # | ||
306 | CONFIG_BINFMT_ELF=y | ||
307 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
308 | # CONFIG_HAVE_AOUT is not set | ||
309 | # CONFIG_BINFMT_MISC is not set | ||
310 | CONFIG_NET=y | ||
311 | |||
312 | # | ||
313 | # Networking options | ||
314 | # | ||
315 | CONFIG_PACKET=y | ||
316 | CONFIG_PACKET_MMAP=y | ||
317 | CONFIG_UNIX=y | ||
318 | CONFIG_XFRM=y | ||
319 | # CONFIG_XFRM_USER is not set | ||
320 | # CONFIG_XFRM_SUB_POLICY is not set | ||
321 | # CONFIG_XFRM_MIGRATE is not set | ||
322 | # CONFIG_XFRM_STATISTICS is not set | ||
323 | # CONFIG_NET_KEY is not set | ||
324 | CONFIG_INET=y | ||
325 | # CONFIG_IP_MULTICAST is not set | ||
326 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
327 | CONFIG_IP_FIB_HASH=y | ||
328 | CONFIG_IP_PNP=y | ||
329 | CONFIG_IP_PNP_DHCP=y | ||
330 | # CONFIG_IP_PNP_BOOTP is not set | ||
331 | # CONFIG_IP_PNP_RARP is not set | ||
332 | # CONFIG_NET_IPIP is not set | ||
333 | # CONFIG_NET_IPGRE is not set | ||
334 | # CONFIG_ARPD is not set | ||
335 | # CONFIG_SYN_COOKIES is not set | ||
336 | # CONFIG_INET_AH is not set | ||
337 | # CONFIG_INET_ESP is not set | ||
338 | # CONFIG_INET_IPCOMP is not set | ||
339 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
340 | # CONFIG_INET_TUNNEL is not set | ||
341 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
342 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
343 | CONFIG_INET_XFRM_MODE_BEET=y | ||
344 | # CONFIG_INET_LRO is not set | ||
345 | CONFIG_INET_DIAG=y | ||
346 | CONFIG_INET_TCP_DIAG=y | ||
347 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
348 | CONFIG_TCP_CONG_CUBIC=y | ||
349 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
350 | # CONFIG_TCP_MD5SIG is not set | ||
351 | # CONFIG_IPV6 is not set | ||
352 | # CONFIG_NETWORK_SECMARK is not set | ||
353 | # CONFIG_NETFILTER is not set | ||
354 | # CONFIG_IP_DCCP is not set | ||
355 | # CONFIG_IP_SCTP is not set | ||
356 | # CONFIG_TIPC is not set | ||
357 | # CONFIG_ATM is not set | ||
358 | # CONFIG_BRIDGE is not set | ||
359 | # CONFIG_NET_DSA is not set | ||
360 | # CONFIG_VLAN_8021Q is not set | ||
361 | # CONFIG_DECNET is not set | ||
362 | # CONFIG_LLC2 is not set | ||
363 | # CONFIG_IPX is not set | ||
364 | # CONFIG_ATALK is not set | ||
365 | # CONFIG_X25 is not set | ||
366 | # CONFIG_LAPB is not set | ||
367 | # CONFIG_ECONET is not set | ||
368 | # CONFIG_WAN_ROUTER is not set | ||
369 | # CONFIG_NET_SCHED is not set | ||
370 | |||
371 | # | ||
372 | # Network testing | ||
373 | # | ||
374 | # CONFIG_NET_PKTGEN is not set | ||
375 | # CONFIG_HAMRADIO is not set | ||
376 | # CONFIG_CAN is not set | ||
377 | # CONFIG_IRDA is not set | ||
378 | # CONFIG_BT is not set | ||
379 | # CONFIG_AF_RXRPC is not set | ||
380 | # CONFIG_PHONET is not set | ||
381 | CONFIG_WIRELESS=y | ||
382 | CONFIG_CFG80211=y | ||
383 | CONFIG_NL80211=y | ||
384 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
385 | CONFIG_WIRELESS_EXT=y | ||
386 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
387 | CONFIG_MAC80211=y | ||
388 | |||
389 | # | ||
390 | # Rate control algorithm selection | ||
391 | # | ||
392 | CONFIG_MAC80211_RC_PID=y | ||
393 | # CONFIG_MAC80211_RC_MINSTREL is not set | ||
394 | CONFIG_MAC80211_RC_DEFAULT_PID=y | ||
395 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | ||
396 | CONFIG_MAC80211_RC_DEFAULT="pid" | ||
397 | # CONFIG_MAC80211_MESH is not set | ||
398 | # CONFIG_MAC80211_LEDS is not set | ||
399 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
400 | CONFIG_IEEE80211=m | ||
401 | CONFIG_IEEE80211_DEBUG=y | ||
402 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
403 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
404 | CONFIG_IEEE80211_CRYPT_TKIP=m | ||
405 | # CONFIG_RFKILL is not set | ||
406 | # CONFIG_NET_9P is not set | ||
407 | |||
408 | # | ||
409 | # Device Drivers | ||
410 | # | ||
411 | |||
412 | # | ||
413 | # Generic Driver Options | ||
414 | # | ||
415 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
416 | CONFIG_STANDALONE=y | ||
417 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
418 | CONFIG_FW_LOADER=y | ||
419 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
420 | CONFIG_EXTRA_FIRMWARE="" | ||
421 | # CONFIG_SYS_HYPERVISOR is not set | ||
422 | # CONFIG_CONNECTOR is not set | ||
423 | CONFIG_MTD=y | ||
424 | # CONFIG_MTD_DEBUG is not set | ||
425 | CONFIG_MTD_CONCAT=y | ||
426 | CONFIG_MTD_PARTITIONS=y | ||
427 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
428 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
429 | # CONFIG_MTD_AR7_PARTS is not set | ||
430 | |||
431 | # | ||
432 | # User Modules And Translation Layers | ||
433 | # | ||
434 | CONFIG_MTD_CHAR=y | ||
435 | CONFIG_MTD_BLKDEVS=y | ||
436 | CONFIG_MTD_BLOCK=y | ||
437 | # CONFIG_FTL is not set | ||
438 | # CONFIG_NFTL is not set | ||
439 | # CONFIG_INFTL is not set | ||
440 | # CONFIG_RFD_FTL is not set | ||
441 | # CONFIG_SSFDC is not set | ||
442 | # CONFIG_MTD_OOPS is not set | ||
443 | |||
444 | # | ||
445 | # RAM/ROM/Flash chip drivers | ||
446 | # | ||
447 | CONFIG_MTD_CFI=y | ||
448 | # CONFIG_MTD_JEDECPROBE is not set | ||
449 | CONFIG_MTD_GEN_PROBE=y | ||
450 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
451 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
452 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
453 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
454 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
455 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
456 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
457 | CONFIG_MTD_CFI_I1=y | ||
458 | CONFIG_MTD_CFI_I2=y | ||
459 | # CONFIG_MTD_CFI_I4 is not set | ||
460 | # CONFIG_MTD_CFI_I8 is not set | ||
461 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
462 | CONFIG_MTD_CFI_AMDSTD=y | ||
463 | # CONFIG_MTD_CFI_STAA is not set | ||
464 | CONFIG_MTD_CFI_UTIL=y | ||
465 | CONFIG_MTD_RAM=y | ||
466 | # CONFIG_MTD_ROM is not set | ||
467 | # CONFIG_MTD_ABSENT is not set | ||
468 | |||
469 | # | ||
470 | # Mapping drivers for chip access | ||
471 | # | ||
472 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
473 | # CONFIG_MTD_PHYSMAP is not set | ||
474 | # CONFIG_MTD_PLATRAM is not set | ||
475 | |||
476 | # | ||
477 | # Self-contained MTD device drivers | ||
478 | # | ||
479 | # CONFIG_MTD_SLRAM is not set | ||
480 | # CONFIG_MTD_PHRAM is not set | ||
481 | # CONFIG_MTD_MTDRAM is not set | ||
482 | # CONFIG_MTD_BLOCK2MTD is not set | ||
483 | |||
484 | # | ||
485 | # Disk-On-Chip Device Drivers | ||
486 | # | ||
487 | # CONFIG_MTD_DOC2000 is not set | ||
488 | # CONFIG_MTD_DOC2001 is not set | ||
489 | # CONFIG_MTD_DOC2001PLUS is not set | ||
490 | # CONFIG_MTD_NAND is not set | ||
491 | # CONFIG_MTD_ONENAND is not set | ||
492 | |||
493 | # | ||
494 | # UBI - Unsorted block images | ||
495 | # | ||
496 | # CONFIG_MTD_UBI is not set | ||
497 | # CONFIG_PARPORT is not set | ||
498 | CONFIG_BLK_DEV=y | ||
499 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
500 | # CONFIG_BLK_DEV_LOOP is not set | ||
501 | # CONFIG_BLK_DEV_NBD is not set | ||
502 | # CONFIG_BLK_DEV_UB is not set | ||
503 | CONFIG_BLK_DEV_RAM=y | ||
504 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
505 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
506 | # CONFIG_BLK_DEV_XIP is not set | ||
507 | # CONFIG_CDROM_PKTCDVD is not set | ||
508 | # CONFIG_ATA_OVER_ETH is not set | ||
509 | # CONFIG_BLK_DEV_HD is not set | ||
510 | CONFIG_MISC_DEVICES=y | ||
511 | # CONFIG_EEPROM_93CX6 is not set | ||
512 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
513 | CONFIG_HAVE_IDE=y | ||
514 | # CONFIG_IDE is not set | ||
515 | |||
516 | # | ||
517 | # SCSI device support | ||
518 | # | ||
519 | # CONFIG_RAID_ATTRS is not set | ||
520 | CONFIG_SCSI=y | ||
521 | CONFIG_SCSI_DMA=y | ||
522 | # CONFIG_SCSI_TGT is not set | ||
523 | # CONFIG_SCSI_NETLINK is not set | ||
524 | CONFIG_SCSI_PROC_FS=y | ||
525 | |||
526 | # | ||
527 | # SCSI support type (disk, tape, CD-ROM) | ||
528 | # | ||
529 | CONFIG_BLK_DEV_SD=y | ||
530 | # CONFIG_CHR_DEV_ST is not set | ||
531 | # CONFIG_CHR_DEV_OSST is not set | ||
532 | # CONFIG_BLK_DEV_SR is not set | ||
533 | # CONFIG_CHR_DEV_SG is not set | ||
534 | # CONFIG_CHR_DEV_SCH is not set | ||
535 | |||
536 | # | ||
537 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
538 | # | ||
539 | # CONFIG_SCSI_MULTI_LUN is not set | ||
540 | # CONFIG_SCSI_CONSTANTS is not set | ||
541 | # CONFIG_SCSI_LOGGING is not set | ||
542 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
543 | CONFIG_SCSI_WAIT_SCAN=m | ||
544 | |||
545 | # | ||
546 | # SCSI Transports | ||
547 | # | ||
548 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
549 | # CONFIG_SCSI_FC_ATTRS is not set | ||
550 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
551 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
552 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
553 | CONFIG_SCSI_LOWLEVEL=y | ||
554 | # CONFIG_ISCSI_TCP is not set | ||
555 | # CONFIG_SCSI_DEBUG is not set | ||
556 | # CONFIG_SCSI_DH is not set | ||
557 | CONFIG_ATA=y | ||
558 | # CONFIG_ATA_NONSTANDARD is not set | ||
559 | CONFIG_SATA_PMP=y | ||
560 | CONFIG_ATA_SFF=y | ||
561 | # CONFIG_SATA_MV is not set | ||
562 | CONFIG_PATA_PLATFORM=y | ||
563 | # CONFIG_MD is not set | ||
564 | CONFIG_NETDEVICES=y | ||
565 | # CONFIG_DUMMY is not set | ||
566 | # CONFIG_BONDING is not set | ||
567 | # CONFIG_MACVLAN is not set | ||
568 | # CONFIG_EQUALIZER is not set | ||
569 | # CONFIG_TUN is not set | ||
570 | # CONFIG_VETH is not set | ||
571 | # CONFIG_PHYLIB is not set | ||
572 | CONFIG_NET_ETHERNET=y | ||
573 | CONFIG_MII=y | ||
574 | # CONFIG_AX88796 is not set | ||
575 | # CONFIG_STNIC is not set | ||
576 | # CONFIG_SMC91X is not set | ||
577 | # CONFIG_SMC911X is not set | ||
578 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
579 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
580 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
581 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
582 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
583 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
584 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
585 | # CONFIG_B44 is not set | ||
586 | # CONFIG_NETDEV_1000 is not set | ||
587 | # CONFIG_NETDEV_10000 is not set | ||
588 | |||
589 | # | ||
590 | # Wireless LAN | ||
591 | # | ||
592 | # CONFIG_WLAN_PRE80211 is not set | ||
593 | CONFIG_WLAN_80211=y | ||
594 | CONFIG_LIBERTAS=m | ||
595 | # CONFIG_LIBERTAS_USB is not set | ||
596 | CONFIG_LIBERTAS_SDIO=m | ||
597 | CONFIG_LIBERTAS_DEBUG=y | ||
598 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
599 | # CONFIG_USB_ZD1201 is not set | ||
600 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
601 | # CONFIG_RTL8187 is not set | ||
602 | # CONFIG_MAC80211_HWSIM is not set | ||
603 | # CONFIG_P54_COMMON is not set | ||
604 | # CONFIG_IWLWIFI_LEDS is not set | ||
605 | # CONFIG_HOSTAP is not set | ||
606 | # CONFIG_B43 is not set | ||
607 | # CONFIG_B43LEGACY is not set | ||
608 | # CONFIG_ZD1211RW is not set | ||
609 | # CONFIG_RT2X00 is not set | ||
610 | |||
611 | # | ||
612 | # USB Network Adapters | ||
613 | # | ||
614 | # CONFIG_USB_CATC is not set | ||
615 | # CONFIG_USB_KAWETH is not set | ||
616 | # CONFIG_USB_PEGASUS is not set | ||
617 | # CONFIG_USB_RTL8150 is not set | ||
618 | CONFIG_USB_USBNET=y | ||
619 | CONFIG_USB_NET_AX8817X=y | ||
620 | CONFIG_USB_NET_CDCETHER=y | ||
621 | # CONFIG_USB_NET_DM9601 is not set | ||
622 | # CONFIG_USB_NET_SMSC95XX is not set | ||
623 | # CONFIG_USB_NET_GL620A is not set | ||
624 | # CONFIG_USB_NET_NET1080 is not set | ||
625 | # CONFIG_USB_NET_PLUSB is not set | ||
626 | # CONFIG_USB_NET_MCS7830 is not set | ||
627 | # CONFIG_USB_NET_RNDIS_HOST is not set | ||
628 | # CONFIG_USB_NET_CDC_SUBSET is not set | ||
629 | # CONFIG_USB_NET_ZAURUS is not set | ||
630 | # CONFIG_WAN is not set | ||
631 | # CONFIG_PPP is not set | ||
632 | # CONFIG_SLIP is not set | ||
633 | # CONFIG_NETCONSOLE is not set | ||
634 | # CONFIG_NETPOLL is not set | ||
635 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
636 | # CONFIG_ISDN is not set | ||
637 | # CONFIG_PHONE is not set | ||
638 | |||
639 | # | ||
640 | # Input device support | ||
641 | # | ||
642 | CONFIG_INPUT=y | ||
643 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
644 | # CONFIG_INPUT_POLLDEV is not set | ||
645 | |||
646 | # | ||
647 | # Userland interfaces | ||
648 | # | ||
649 | # CONFIG_INPUT_MOUSEDEV is not set | ||
650 | # CONFIG_INPUT_JOYDEV is not set | ||
651 | # CONFIG_INPUT_EVDEV is not set | ||
652 | # CONFIG_INPUT_EVBUG is not set | ||
653 | |||
654 | # | ||
655 | # Input Device Drivers | ||
656 | # | ||
657 | # CONFIG_INPUT_KEYBOARD is not set | ||
658 | # CONFIG_INPUT_MOUSE is not set | ||
659 | # CONFIG_INPUT_JOYSTICK is not set | ||
660 | # CONFIG_INPUT_TABLET is not set | ||
661 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
662 | # CONFIG_INPUT_MISC is not set | ||
663 | |||
664 | # | ||
665 | # Hardware I/O ports | ||
666 | # | ||
667 | # CONFIG_SERIO is not set | ||
668 | # CONFIG_GAMEPORT is not set | ||
669 | |||
670 | # | ||
671 | # Character devices | ||
672 | # | ||
673 | # CONFIG_VT is not set | ||
674 | CONFIG_DEVKMEM=y | ||
675 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
676 | |||
677 | # | ||
678 | # Serial drivers | ||
679 | # | ||
680 | # CONFIG_SERIAL_8250 is not set | ||
681 | |||
682 | # | ||
683 | # Non-8250 serial port support | ||
684 | # | ||
685 | CONFIG_SERIAL_SH_SCI=y | ||
686 | CONFIG_SERIAL_SH_SCI_NR_UARTS=1 | ||
687 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
688 | CONFIG_SERIAL_CORE=y | ||
689 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
690 | # CONFIG_UNIX98_PTYS is not set | ||
691 | # CONFIG_LEGACY_PTYS is not set | ||
692 | # CONFIG_IPMI_HANDLER is not set | ||
693 | # CONFIG_HW_RANDOM is not set | ||
694 | # CONFIG_R3964 is not set | ||
695 | # CONFIG_RAW_DRIVER is not set | ||
696 | # CONFIG_TCG_TPM is not set | ||
697 | # CONFIG_I2C is not set | ||
698 | # CONFIG_SPI is not set | ||
699 | # CONFIG_W1 is not set | ||
700 | # CONFIG_POWER_SUPPLY is not set | ||
701 | CONFIG_HWMON=y | ||
702 | # CONFIG_HWMON_VID is not set | ||
703 | # CONFIG_SENSORS_F71805F is not set | ||
704 | # CONFIG_SENSORS_F71882FG is not set | ||
705 | # CONFIG_SENSORS_IT87 is not set | ||
706 | # CONFIG_SENSORS_PC87360 is not set | ||
707 | # CONFIG_SENSORS_PC87427 is not set | ||
708 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
709 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
710 | # CONFIG_SENSORS_VT1211 is not set | ||
711 | # CONFIG_SENSORS_W83627HF is not set | ||
712 | # CONFIG_SENSORS_W83627EHF is not set | ||
713 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
714 | # CONFIG_THERMAL is not set | ||
715 | # CONFIG_THERMAL_HWMON is not set | ||
716 | # CONFIG_WATCHDOG is not set | ||
717 | |||
718 | # | ||
719 | # Sonics Silicon Backplane | ||
720 | # | ||
721 | CONFIG_SSB_POSSIBLE=y | ||
722 | # CONFIG_SSB is not set | ||
723 | |||
724 | # | ||
725 | # Multifunction device drivers | ||
726 | # | ||
727 | # CONFIG_MFD_CORE is not set | ||
728 | # CONFIG_MFD_SM501 is not set | ||
729 | # CONFIG_HTC_PASIC3 is not set | ||
730 | # CONFIG_MFD_TMIO is not set | ||
731 | |||
732 | # | ||
733 | # Multimedia devices | ||
734 | # | ||
735 | |||
736 | # | ||
737 | # Multimedia core support | ||
738 | # | ||
739 | # CONFIG_VIDEO_DEV is not set | ||
740 | # CONFIG_DVB_CORE is not set | ||
741 | # CONFIG_VIDEO_MEDIA is not set | ||
742 | |||
743 | # | ||
744 | # Multimedia drivers | ||
745 | # | ||
746 | # CONFIG_DAB is not set | ||
747 | |||
748 | # | ||
749 | # Graphics support | ||
750 | # | ||
751 | # CONFIG_VGASTATE is not set | ||
752 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
753 | # CONFIG_FB is not set | ||
754 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
755 | |||
756 | # | ||
757 | # Display device support | ||
758 | # | ||
759 | # CONFIG_DISPLAY_SUPPORT is not set | ||
760 | # CONFIG_SOUND is not set | ||
761 | # CONFIG_HID_SUPPORT is not set | ||
762 | CONFIG_USB_SUPPORT=y | ||
763 | CONFIG_USB_ARCH_HAS_HCD=y | ||
764 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
765 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
766 | CONFIG_USB=y | ||
767 | # CONFIG_USB_DEBUG is not set | ||
768 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
769 | |||
770 | # | ||
771 | # Miscellaneous USB options | ||
772 | # | ||
773 | # CONFIG_USB_DEVICEFS is not set | ||
774 | CONFIG_USB_DEVICE_CLASS=y | ||
775 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
776 | # CONFIG_USB_OTG is not set | ||
777 | # CONFIG_USB_OTG_WHITELIST is not set | ||
778 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
779 | CONFIG_USB_MON=y | ||
780 | # CONFIG_USB_WUSB is not set | ||
781 | # CONFIG_USB_WUSB_CBAF is not set | ||
782 | |||
783 | # | ||
784 | # USB Host Controller Drivers | ||
785 | # | ||
786 | # CONFIG_USB_C67X00_HCD is not set | ||
787 | # CONFIG_USB_ISP116X_HCD is not set | ||
788 | # CONFIG_USB_ISP1760_HCD is not set | ||
789 | # CONFIG_USB_SL811_HCD is not set | ||
790 | CONFIG_USB_R8A66597_HCD=y | ||
791 | # CONFIG_SUPERH_ON_CHIP_R8A66597 is not set | ||
792 | # CONFIG_USB_HWA_HCD is not set | ||
793 | |||
794 | # | ||
795 | # USB Device Class drivers | ||
796 | # | ||
797 | # CONFIG_USB_ACM is not set | ||
798 | # CONFIG_USB_PRINTER is not set | ||
799 | # CONFIG_USB_WDM is not set | ||
800 | # CONFIG_USB_TMC is not set | ||
801 | |||
802 | # | ||
803 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
804 | # | ||
805 | |||
806 | # | ||
807 | # may also be needed; see USB_STORAGE Help for more information | ||
808 | # | ||
809 | CONFIG_USB_STORAGE=y | ||
810 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
811 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
812 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
813 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
814 | # CONFIG_USB_STORAGE_DPCM is not set | ||
815 | # CONFIG_USB_STORAGE_USBAT is not set | ||
816 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
817 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
818 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
819 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
820 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
821 | # CONFIG_USB_STORAGE_KARMA is not set | ||
822 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
823 | # CONFIG_USB_LIBUSUAL is not set | ||
824 | |||
825 | # | ||
826 | # USB Imaging devices | ||
827 | # | ||
828 | # CONFIG_USB_MDC800 is not set | ||
829 | # CONFIG_USB_MICROTEK is not set | ||
830 | |||
831 | # | ||
832 | # USB port drivers | ||
833 | # | ||
834 | # CONFIG_USB_SERIAL is not set | ||
835 | |||
836 | # | ||
837 | # USB Miscellaneous drivers | ||
838 | # | ||
839 | # CONFIG_USB_EMI62 is not set | ||
840 | # CONFIG_USB_EMI26 is not set | ||
841 | # CONFIG_USB_ADUTUX is not set | ||
842 | # CONFIG_USB_SEVSEG is not set | ||
843 | # CONFIG_USB_RIO500 is not set | ||
844 | # CONFIG_USB_LEGOTOWER is not set | ||
845 | # CONFIG_USB_LCD is not set | ||
846 | # CONFIG_USB_BERRY_CHARGE is not set | ||
847 | # CONFIG_USB_LED is not set | ||
848 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
849 | # CONFIG_USB_CYTHERM is not set | ||
850 | # CONFIG_USB_PHIDGET is not set | ||
851 | # CONFIG_USB_IDMOUSE is not set | ||
852 | # CONFIG_USB_FTDI_ELAN is not set | ||
853 | # CONFIG_USB_APPLEDISPLAY is not set | ||
854 | # CONFIG_USB_LD is not set | ||
855 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
856 | # CONFIG_USB_IOWARRIOR is not set | ||
857 | # CONFIG_USB_ISIGHTFW is not set | ||
858 | # CONFIG_USB_VST is not set | ||
859 | # CONFIG_USB_GADGET is not set | ||
860 | CONFIG_MMC=y | ||
861 | # CONFIG_MMC_DEBUG is not set | ||
862 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
863 | |||
864 | # | ||
865 | # MMC/SD/SDIO Card Drivers | ||
866 | # | ||
867 | CONFIG_MMC_BLOCK=y | ||
868 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
869 | # CONFIG_SDIO_UART is not set | ||
870 | # CONFIG_MMC_TEST is not set | ||
871 | |||
872 | # | ||
873 | # MMC/SD/SDIO Host Controller Drivers | ||
874 | # | ||
875 | # CONFIG_MMC_SDHCI is not set | ||
876 | # CONFIG_MEMSTICK is not set | ||
877 | # CONFIG_NEW_LEDS is not set | ||
878 | # CONFIG_ACCESSIBILITY is not set | ||
879 | # CONFIG_RTC_CLASS is not set | ||
880 | # CONFIG_DMADEVICES is not set | ||
881 | # CONFIG_UIO is not set | ||
882 | # CONFIG_STAGING is not set | ||
883 | |||
884 | # | ||
885 | # File systems | ||
886 | # | ||
887 | CONFIG_EXT2_FS=y | ||
888 | # CONFIG_EXT2_FS_XATTR is not set | ||
889 | # CONFIG_EXT2_FS_XIP is not set | ||
890 | CONFIG_EXT3_FS=y | ||
891 | CONFIG_EXT3_FS_XATTR=y | ||
892 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
893 | # CONFIG_EXT3_FS_SECURITY is not set | ||
894 | # CONFIG_EXT4_FS is not set | ||
895 | CONFIG_JBD=y | ||
896 | CONFIG_FS_MBCACHE=y | ||
897 | # CONFIG_REISERFS_FS is not set | ||
898 | # CONFIG_JFS_FS is not set | ||
899 | # CONFIG_FS_POSIX_ACL is not set | ||
900 | CONFIG_FILE_LOCKING=y | ||
901 | # CONFIG_XFS_FS is not set | ||
902 | # CONFIG_OCFS2_FS is not set | ||
903 | CONFIG_DNOTIFY=y | ||
904 | CONFIG_INOTIFY=y | ||
905 | CONFIG_INOTIFY_USER=y | ||
906 | # CONFIG_QUOTA is not set | ||
907 | # CONFIG_AUTOFS_FS is not set | ||
908 | # CONFIG_AUTOFS4_FS is not set | ||
909 | # CONFIG_FUSE_FS is not set | ||
910 | |||
911 | # | ||
912 | # CD-ROM/DVD Filesystems | ||
913 | # | ||
914 | # CONFIG_ISO9660_FS is not set | ||
915 | # CONFIG_UDF_FS is not set | ||
916 | |||
917 | # | ||
918 | # DOS/FAT/NT Filesystems | ||
919 | # | ||
920 | CONFIG_FAT_FS=y | ||
921 | # CONFIG_MSDOS_FS is not set | ||
922 | CONFIG_VFAT_FS=y | ||
923 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
924 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
925 | # CONFIG_NTFS_FS is not set | ||
926 | |||
927 | # | ||
928 | # Pseudo filesystems | ||
929 | # | ||
930 | CONFIG_PROC_FS=y | ||
931 | CONFIG_PROC_KCORE=y | ||
932 | CONFIG_PROC_SYSCTL=y | ||
933 | CONFIG_PROC_PAGE_MONITOR=y | ||
934 | CONFIG_SYSFS=y | ||
935 | CONFIG_TMPFS=y | ||
936 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
937 | CONFIG_HUGETLBFS=y | ||
938 | CONFIG_HUGETLB_PAGE=y | ||
939 | # CONFIG_CONFIGFS_FS is not set | ||
940 | |||
941 | # | ||
942 | # Miscellaneous filesystems | ||
943 | # | ||
944 | # CONFIG_ADFS_FS is not set | ||
945 | # CONFIG_AFFS_FS is not set | ||
946 | # CONFIG_HFS_FS is not set | ||
947 | # CONFIG_HFSPLUS_FS is not set | ||
948 | # CONFIG_BEFS_FS is not set | ||
949 | # CONFIG_BFS_FS is not set | ||
950 | # CONFIG_EFS_FS is not set | ||
951 | # CONFIG_JFFS2_FS is not set | ||
952 | CONFIG_CRAMFS=y | ||
953 | # CONFIG_VXFS_FS is not set | ||
954 | # CONFIG_MINIX_FS is not set | ||
955 | # CONFIG_OMFS_FS is not set | ||
956 | # CONFIG_HPFS_FS is not set | ||
957 | # CONFIG_QNX4FS_FS is not set | ||
958 | # CONFIG_ROMFS_FS is not set | ||
959 | # CONFIG_SYSV_FS is not set | ||
960 | # CONFIG_UFS_FS is not set | ||
961 | CONFIG_NETWORK_FILESYSTEMS=y | ||
962 | CONFIG_NFS_FS=y | ||
963 | # CONFIG_NFS_V3 is not set | ||
964 | # CONFIG_NFS_V4 is not set | ||
965 | CONFIG_ROOT_NFS=y | ||
966 | CONFIG_NFSD=y | ||
967 | # CONFIG_NFSD_V3 is not set | ||
968 | # CONFIG_NFSD_V4 is not set | ||
969 | CONFIG_LOCKD=y | ||
970 | CONFIG_EXPORTFS=y | ||
971 | CONFIG_NFS_COMMON=y | ||
972 | CONFIG_SUNRPC=y | ||
973 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
974 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
975 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
976 | # CONFIG_SMB_FS is not set | ||
977 | # CONFIG_CIFS is not set | ||
978 | # CONFIG_NCP_FS is not set | ||
979 | # CONFIG_CODA_FS is not set | ||
980 | # CONFIG_AFS_FS is not set | ||
981 | |||
982 | # | ||
983 | # Partition Types | ||
984 | # | ||
985 | # CONFIG_PARTITION_ADVANCED is not set | ||
986 | CONFIG_MSDOS_PARTITION=y | ||
987 | CONFIG_NLS=y | ||
988 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
989 | CONFIG_NLS_CODEPAGE_437=y | ||
990 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
991 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
992 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
993 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
994 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
995 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
996 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
997 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
998 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
999 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1000 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1001 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1002 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1003 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1004 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1005 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1006 | CONFIG_NLS_CODEPAGE_932=y | ||
1007 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1008 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1009 | # CONFIG_NLS_ISO8859_8 is not set | ||
1010 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1011 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1012 | # CONFIG_NLS_ASCII is not set | ||
1013 | CONFIG_NLS_ISO8859_1=y | ||
1014 | # CONFIG_NLS_ISO8859_2 is not set | ||
1015 | # CONFIG_NLS_ISO8859_3 is not set | ||
1016 | # CONFIG_NLS_ISO8859_4 is not set | ||
1017 | # CONFIG_NLS_ISO8859_5 is not set | ||
1018 | # CONFIG_NLS_ISO8859_6 is not set | ||
1019 | # CONFIG_NLS_ISO8859_7 is not set | ||
1020 | # CONFIG_NLS_ISO8859_9 is not set | ||
1021 | # CONFIG_NLS_ISO8859_13 is not set | ||
1022 | # CONFIG_NLS_ISO8859_14 is not set | ||
1023 | # CONFIG_NLS_ISO8859_15 is not set | ||
1024 | # CONFIG_NLS_KOI8_R is not set | ||
1025 | # CONFIG_NLS_KOI8_U is not set | ||
1026 | # CONFIG_NLS_UTF8 is not set | ||
1027 | # CONFIG_DLM is not set | ||
1028 | |||
1029 | # | ||
1030 | # Kernel hacking | ||
1031 | # | ||
1032 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1033 | # CONFIG_PRINTK_TIME is not set | ||
1034 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
1035 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
1036 | CONFIG_FRAME_WARN=1024 | ||
1037 | # CONFIG_MAGIC_SYSRQ is not set | ||
1038 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1039 | # CONFIG_DEBUG_FS is not set | ||
1040 | # CONFIG_HEADERS_CHECK is not set | ||
1041 | # CONFIG_DEBUG_KERNEL is not set | ||
1042 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1043 | # CONFIG_SLUB_STATS is not set | ||
1044 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1045 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1046 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1047 | # CONFIG_LATENCYTOP is not set | ||
1048 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1049 | CONFIG_NOP_TRACER=y | ||
1050 | CONFIG_HAVE_FTRACE=y | ||
1051 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1052 | # CONFIG_SAMPLES is not set | ||
1053 | # CONFIG_SH_STANDARD_BIOS is not set | ||
1054 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1055 | # CONFIG_SH_KGDB is not set | ||
1056 | |||
1057 | # | ||
1058 | # Security options | ||
1059 | # | ||
1060 | # CONFIG_KEYS is not set | ||
1061 | # CONFIG_SECURITY is not set | ||
1062 | # CONFIG_SECURITYFS is not set | ||
1063 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1064 | CONFIG_CRYPTO=y | ||
1065 | |||
1066 | # | ||
1067 | # Crypto core or helper | ||
1068 | # | ||
1069 | # CONFIG_CRYPTO_FIPS is not set | ||
1070 | CONFIG_CRYPTO_ALGAPI=y | ||
1071 | CONFIG_CRYPTO_AEAD=y | ||
1072 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1073 | CONFIG_CRYPTO_HASH=y | ||
1074 | CONFIG_CRYPTO_RNG=y | ||
1075 | CONFIG_CRYPTO_MANAGER=y | ||
1076 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1077 | # CONFIG_CRYPTO_NULL is not set | ||
1078 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1079 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1080 | # CONFIG_CRYPTO_TEST is not set | ||
1081 | |||
1082 | # | ||
1083 | # Authenticated Encryption with Associated Data | ||
1084 | # | ||
1085 | # CONFIG_CRYPTO_CCM is not set | ||
1086 | # CONFIG_CRYPTO_GCM is not set | ||
1087 | # CONFIG_CRYPTO_SEQIV is not set | ||
1088 | |||
1089 | # | ||
1090 | # Block modes | ||
1091 | # | ||
1092 | # CONFIG_CRYPTO_CBC is not set | ||
1093 | # CONFIG_CRYPTO_CTR is not set | ||
1094 | # CONFIG_CRYPTO_CTS is not set | ||
1095 | CONFIG_CRYPTO_ECB=y | ||
1096 | # CONFIG_CRYPTO_LRW is not set | ||
1097 | # CONFIG_CRYPTO_PCBC is not set | ||
1098 | # CONFIG_CRYPTO_XTS is not set | ||
1099 | |||
1100 | # | ||
1101 | # Hash modes | ||
1102 | # | ||
1103 | # CONFIG_CRYPTO_HMAC is not set | ||
1104 | # CONFIG_CRYPTO_XCBC is not set | ||
1105 | |||
1106 | # | ||
1107 | # Digest | ||
1108 | # | ||
1109 | # CONFIG_CRYPTO_CRC32C is not set | ||
1110 | # CONFIG_CRYPTO_MD4 is not set | ||
1111 | # CONFIG_CRYPTO_MD5 is not set | ||
1112 | CONFIG_CRYPTO_MICHAEL_MIC=y | ||
1113 | # CONFIG_CRYPTO_RMD128 is not set | ||
1114 | # CONFIG_CRYPTO_RMD160 is not set | ||
1115 | # CONFIG_CRYPTO_RMD256 is not set | ||
1116 | # CONFIG_CRYPTO_RMD320 is not set | ||
1117 | # CONFIG_CRYPTO_SHA1 is not set | ||
1118 | # CONFIG_CRYPTO_SHA256 is not set | ||
1119 | # CONFIG_CRYPTO_SHA512 is not set | ||
1120 | # CONFIG_CRYPTO_TGR192 is not set | ||
1121 | # CONFIG_CRYPTO_WP512 is not set | ||
1122 | |||
1123 | # | ||
1124 | # Ciphers | ||
1125 | # | ||
1126 | CONFIG_CRYPTO_AES=y | ||
1127 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1128 | CONFIG_CRYPTO_ARC4=y | ||
1129 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1130 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1131 | # CONFIG_CRYPTO_CAST5 is not set | ||
1132 | # CONFIG_CRYPTO_CAST6 is not set | ||
1133 | # CONFIG_CRYPTO_DES is not set | ||
1134 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1135 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1136 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1137 | # CONFIG_CRYPTO_SEED is not set | ||
1138 | # CONFIG_CRYPTO_SERPENT is not set | ||
1139 | # CONFIG_CRYPTO_TEA is not set | ||
1140 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1141 | |||
1142 | # | ||
1143 | # Compression | ||
1144 | # | ||
1145 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1146 | # CONFIG_CRYPTO_LZO is not set | ||
1147 | |||
1148 | # | ||
1149 | # Random Number Generation | ||
1150 | # | ||
1151 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1152 | CONFIG_CRYPTO_HW=y | ||
1153 | |||
1154 | # | ||
1155 | # Library routines | ||
1156 | # | ||
1157 | CONFIG_BITREVERSE=y | ||
1158 | # CONFIG_CRC_CCITT is not set | ||
1159 | # CONFIG_CRC16 is not set | ||
1160 | # CONFIG_CRC_T10DIF is not set | ||
1161 | # CONFIG_CRC_ITU_T is not set | ||
1162 | CONFIG_CRC32=y | ||
1163 | # CONFIG_CRC7 is not set | ||
1164 | # CONFIG_LIBCRC32C is not set | ||
1165 | CONFIG_ZLIB_INFLATE=y | ||
1166 | CONFIG_PLIST=y | ||
1167 | CONFIG_HAS_IOMEM=y | ||
1168 | CONFIG_HAS_IOPORT=y | ||
1169 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/include/asm/byteorder.h b/arch/sh/include/asm/byteorder.h index 4c13e6117563..f5fa0653ebc6 100644 --- a/arch/sh/include/asm/byteorder.h +++ b/arch/sh/include/asm/byteorder.h | |||
@@ -8,7 +8,15 @@ | |||
8 | #include <linux/compiler.h> | 8 | #include <linux/compiler.h> |
9 | #include <linux/types.h> | 9 | #include <linux/types.h> |
10 | 10 | ||
11 | static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | 11 | #ifdef __LITTLE_ENDIAN__ |
12 | # define __LITTLE_ENDIAN | ||
13 | #else | ||
14 | # define __BIG_ENDIAN | ||
15 | #endif | ||
16 | |||
17 | #define __SWAB_64_THRU_32__ | ||
18 | |||
19 | static inline __attribute_const__ __u32 __arch_swab32(__u32 x) | ||
12 | { | 20 | { |
13 | __asm__( | 21 | __asm__( |
14 | #ifdef __SH5__ | 22 | #ifdef __SH5__ |
@@ -24,8 +32,9 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | |||
24 | 32 | ||
25 | return x; | 33 | return x; |
26 | } | 34 | } |
35 | #define __arch_swab32 __arch_swab32 | ||
27 | 36 | ||
28 | static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) | 37 | static inline __attribute_const__ __u16 __arch_swab16(__u16 x) |
29 | { | 38 | { |
30 | __asm__( | 39 | __asm__( |
31 | #ifdef __SH5__ | 40 | #ifdef __SH5__ |
@@ -39,32 +48,21 @@ static inline __attribute_const__ __u16 ___arch__swab16(__u16 x) | |||
39 | 48 | ||
40 | return x; | 49 | return x; |
41 | } | 50 | } |
51 | #define __arch_swab16 __arch_swab16 | ||
42 | 52 | ||
43 | static inline __u64 ___arch__swab64(__u64 val) | 53 | static inline __u64 __arch_swab64(__u64 val) |
44 | { | 54 | { |
45 | union { | 55 | union { |
46 | struct { __u32 a,b; } s; | 56 | struct { __u32 a,b; } s; |
47 | __u64 u; | 57 | __u64 u; |
48 | } v, w; | 58 | } v, w; |
49 | v.u = val; | 59 | v.u = val; |
50 | w.s.b = ___arch__swab32(v.s.a); | 60 | w.s.b = __arch_swab32(v.s.a); |
51 | w.s.a = ___arch__swab32(v.s.b); | 61 | w.s.a = __arch_swab32(v.s.b); |
52 | return w.u; | 62 | return w.u; |
53 | } | 63 | } |
64 | #define __arch_swab64 __arch_swab64 | ||
54 | 65 | ||
55 | #define __arch__swab64(x) ___arch__swab64(x) | 66 | #include <linux/byteorder.h> |
56 | #define __arch__swab32(x) ___arch__swab32(x) | ||
57 | #define __arch__swab16(x) ___arch__swab16(x) | ||
58 | |||
59 | #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) | ||
60 | # define __BYTEORDER_HAS_U64__ | ||
61 | # define __SWAB_64_THRU_32__ | ||
62 | #endif | ||
63 | |||
64 | #ifdef __LITTLE_ENDIAN__ | ||
65 | #include <linux/byteorder/little_endian.h> | ||
66 | #else | ||
67 | #include <linux/byteorder/big_endian.h> | ||
68 | #endif | ||
69 | 67 | ||
70 | #endif /* __ASM_SH_BYTEORDER_H */ | 68 | #endif /* __ASM_SH_BYTEORDER_H */ |
diff --git a/arch/sh/include/asm/hd64465/gpio.h b/arch/sh/include/asm/hd64465/gpio.h deleted file mode 100644 index a3cdca2713dd..000000000000 --- a/arch/sh/include/asm/hd64465/gpio.h +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | #ifndef _ASM_SH_HD64465_GPIO_ | ||
2 | #define _ASM_SH_HD64465_GPIO_ 1 | ||
3 | /* | ||
4 | * $Id: gpio.h,v 1.3 2003/05/04 19:30:14 lethal Exp $ | ||
5 | * | ||
6 | * Hitachi HD64465 companion chip: General Purpose IO pins support. | ||
7 | * This layer enables other device drivers to configure GPIO | ||
8 | * pins, get and set their values, and register an interrupt | ||
9 | * routine for when input pins change in hardware. | ||
10 | * | ||
11 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
12 | * (c) 2000 PocketPenguins Inc. | ||
13 | */ | ||
14 | #include <asm/hd64465.h> | ||
15 | |||
16 | /* Macro to construct a portpin number (used in all | ||
17 | * subsequent functions) from a port letter and a pin | ||
18 | * number, e.g. HD64465_GPIO_PORTPIN('A', 5). | ||
19 | */ | ||
20 | #define HD64465_GPIO_PORTPIN(port,pin) (((port)-'A')<<3|(pin)) | ||
21 | |||
22 | /* Pin configuration constants for _configure() */ | ||
23 | #define HD64465_GPIO_FUNCTION2 0 /* use the pin's *other* function */ | ||
24 | #define HD64465_GPIO_OUT 1 /* output */ | ||
25 | #define HD64465_GPIO_IN_PULLUP 2 /* input, pull-up MOS on */ | ||
26 | #define HD64465_GPIO_IN 3 /* input */ | ||
27 | |||
28 | /* Configure a pin's direction */ | ||
29 | extern void hd64465_gpio_configure(int portpin, int direction); | ||
30 | |||
31 | /* Get, set value */ | ||
32 | extern void hd64465_gpio_set_pin(int portpin, unsigned int value); | ||
33 | extern unsigned int hd64465_gpio_get_pin(int portpin); | ||
34 | extern void hd64465_gpio_set_port(int port, unsigned int value); | ||
35 | extern unsigned int hd64465_gpio_get_port(int port); | ||
36 | |||
37 | /* mode constants for _register_irq() */ | ||
38 | #define HD64465_GPIO_FALLING 0 | ||
39 | #define HD64465_GPIO_RISING 1 | ||
40 | |||
41 | /* Interrupt on external value change */ | ||
42 | extern void hd64465_gpio_register_irq(int portpin, int mode, | ||
43 | void (*handler)(int portpin, void *dev), void *dev); | ||
44 | extern void hd64465_gpio_unregister_irq(int portpin); | ||
45 | |||
46 | #endif /* _ASM_SH_HD64465_GPIO_ */ | ||
diff --git a/arch/sh/include/asm/hd64465/hd64465.h b/arch/sh/include/asm/hd64465/hd64465.h deleted file mode 100644 index cfd0e803d2a2..000000000000 --- a/arch/sh/include/asm/hd64465/hd64465.h +++ /dev/null | |||
@@ -1,256 +0,0 @@ | |||
1 | #ifndef _ASM_SH_HD64465_ | ||
2 | #define _ASM_SH_HD64465_ 1 | ||
3 | /* | ||
4 | * $Id: hd64465.h,v 1.3 2003/05/04 19:30:15 lethal Exp $ | ||
5 | * | ||
6 | * Hitachi HD64465 companion chip support | ||
7 | * | ||
8 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
9 | * (c) 2000 PocketPenguins Inc. | ||
10 | * | ||
11 | * Derived from <asm/hd64461.h> which bore the message: | ||
12 | * Copyright (C) 2000 YAEGASHI Takeshi | ||
13 | */ | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/irq.h> | ||
16 | |||
17 | /* | ||
18 | * Note that registers are defined here as virtual port numbers, | ||
19 | * which have no meaning except to get translated by hd64465_isa_port2addr() | ||
20 | * to an address in the range 0xb0000000-0xb3ffffff. Note that | ||
21 | * this translation happens to consist of adding the lower 16 bits | ||
22 | * of the virtual port number to 0xb0000000. Note also that the manual | ||
23 | * shows addresses as absolute physical addresses starting at 0x10000000, | ||
24 | * so e.g. the NIRR register is listed as 0x15000 here, 0x10005000 in the | ||
25 | * manual, and accessed using address 0xb0005000 - Greg. | ||
26 | */ | ||
27 | |||
28 | /* System registers */ | ||
29 | #define HD64465_REG_SRR 0x1000c /* System Revision Register */ | ||
30 | #define HD64465_REG_SDID 0x10010 /* System Device ID Reg */ | ||
31 | #define HD64465_SDID 0x8122 /* 64465 device ID */ | ||
32 | |||
33 | /* Power Management registers */ | ||
34 | #define HD64465_REG_SMSCR 0x10000 /* System Module Standby Control Reg */ | ||
35 | #define HD64465_SMSCR_PS2ST 0x4000 /* PS/2 Standby */ | ||
36 | #define HD64465_SMSCR_ADCST 0x1000 /* ADC Standby */ | ||
37 | #define HD64465_SMSCR_UARTST 0x0800 /* UART Standby */ | ||
38 | #define HD64465_SMSCR_SCDIST 0x0200 /* Serial Codec Standby */ | ||
39 | #define HD64465_SMSCR_PPST 0x0100 /* Parallel Port Standby */ | ||
40 | #define HD64465_SMSCR_PC0ST 0x0040 /* PCMCIA0 Standby */ | ||
41 | #define HD64465_SMSCR_PC1ST 0x0020 /* PCMCIA1 Standby */ | ||
42 | #define HD64465_SMSCR_AFEST 0x0010 /* AFE Standby */ | ||
43 | #define HD64465_SMSCR_TM0ST 0x0008 /* Timer0 Standby */ | ||
44 | #define HD64465_SMSCR_TM1ST 0x0004 /* Timer1 Standby */ | ||
45 | #define HD64465_SMSCR_IRDAST 0x0002 /* IRDA Standby */ | ||
46 | #define HD64465_SMSCR_KBCST 0x0001 /* Keyboard Controller Standby */ | ||
47 | |||
48 | /* Interrupt Controller registers */ | ||
49 | #define HD64465_REG_NIRR 0x15000 /* Interrupt Request Register */ | ||
50 | #define HD64465_REG_NIMR 0x15002 /* Interrupt Mask Register */ | ||
51 | #define HD64465_REG_NITR 0x15004 /* Interrupt Trigger Mode Register */ | ||
52 | |||
53 | /* Timer registers */ | ||
54 | #define HD64465_REG_TCVR1 0x16000 /* Timer 1 constant value register */ | ||
55 | #define HD64465_REG_TCVR0 0x16002 /* Timer 0 constant value register */ | ||
56 | #define HD64465_REG_TRVR1 0x16004 /* Timer 1 read value register */ | ||
57 | #define HD64465_REG_TRVR0 0x16006 /* Timer 0 read value register */ | ||
58 | #define HD64465_REG_TCR1 0x16008 /* Timer 1 control register */ | ||
59 | #define HD64465_REG_TCR0 0x1600A /* Timer 0 control register */ | ||
60 | #define HD64465_TCR_EADT 0x10 /* Enable ADTRIG# signal */ | ||
61 | #define HD64465_TCR_ETMO 0x08 /* Enable TMO signal */ | ||
62 | #define HD64465_TCR_PST_MASK 0x06 /* Clock Prescale */ | ||
63 | #define HD64465_TCR_PST_1 0x06 /* 1:1 */ | ||
64 | #define HD64465_TCR_PST_4 0x04 /* 1:4 */ | ||
65 | #define HD64465_TCR_PST_8 0x02 /* 1:8 */ | ||
66 | #define HD64465_TCR_PST_16 0x00 /* 1:16 */ | ||
67 | #define HD64465_TCR_TSTP 0x01 /* Start/Stop timer */ | ||
68 | #define HD64465_REG_TIRR 0x1600C /* Timer interrupt request register */ | ||
69 | #define HD64465_REG_TIDR 0x1600E /* Timer interrupt disable register */ | ||
70 | #define HD64465_REG_PWM1CS 0x16010 /* PWM 1 clock scale register */ | ||
71 | #define HD64465_REG_PWM1LPC 0x16012 /* PWM 1 low pulse width counter register */ | ||
72 | #define HD64465_REG_PWM1HPC 0x16014 /* PWM 1 high pulse width counter register */ | ||
73 | #define HD64465_REG_PWM0CS 0x16018 /* PWM 0 clock scale register */ | ||
74 | #define HD64465_REG_PWM0LPC 0x1601A /* PWM 0 low pulse width counter register */ | ||
75 | #define HD64465_REG_PWM0HPC 0x1601C /* PWM 0 high pulse width counter register */ | ||
76 | |||
77 | /* Analog/Digital Converter registers */ | ||
78 | #define HD64465_REG_ADDRA 0x1E000 /* A/D data register A */ | ||
79 | #define HD64465_REG_ADDRB 0x1E002 /* A/D data register B */ | ||
80 | #define HD64465_REG_ADDRC 0x1E004 /* A/D data register C */ | ||
81 | #define HD64465_REG_ADDRD 0x1E006 /* A/D data register D */ | ||
82 | #define HD64465_REG_ADCSR 0x1E008 /* A/D control/status register */ | ||
83 | #define HD64465_ADCSR_ADF 0x80 /* A/D End Flag */ | ||
84 | #define HD64465_ADCSR_ADST 0x40 /* A/D Start Flag */ | ||
85 | #define HD64465_ADCSR_ADIS 0x20 /* A/D Interrupt Status */ | ||
86 | #define HD64465_ADCSR_TRGE 0x10 /* A/D Trigger Enable */ | ||
87 | #define HD64465_ADCSR_ADIE 0x08 /* A/D Interrupt Enable */ | ||
88 | #define HD64465_ADCSR_SCAN 0x04 /* A/D Scan Mode */ | ||
89 | #define HD64465_ADCSR_CH_MASK 0x03 /* A/D Channel */ | ||
90 | #define HD64465_REG_ADCALCR 0x1E00A /* A/D calibration sample control */ | ||
91 | #define HD64465_REG_ADCAL 0x1E00C /* A/D calibration data register */ | ||
92 | |||
93 | |||
94 | /* General Purpose I/O ports registers */ | ||
95 | #define HD64465_REG_GPACR 0x14000 /* Port A Control Register */ | ||
96 | #define HD64465_REG_GPBCR 0x14002 /* Port B Control Register */ | ||
97 | #define HD64465_REG_GPCCR 0x14004 /* Port C Control Register */ | ||
98 | #define HD64465_REG_GPDCR 0x14006 /* Port D Control Register */ | ||
99 | #define HD64465_REG_GPECR 0x14008 /* Port E Control Register */ | ||
100 | #define HD64465_REG_GPADR 0x14010 /* Port A Data Register */ | ||
101 | #define HD64465_REG_GPBDR 0x14012 /* Port B Data Register */ | ||
102 | #define HD64465_REG_GPCDR 0x14014 /* Port C Data Register */ | ||
103 | #define HD64465_REG_GPDDR 0x14016 /* Port D Data Register */ | ||
104 | #define HD64465_REG_GPEDR 0x14018 /* Port E Data Register */ | ||
105 | #define HD64465_REG_GPAICR 0x14020 /* Port A Interrupt Control Register */ | ||
106 | #define HD64465_REG_GPBICR 0x14022 /* Port B Interrupt Control Register */ | ||
107 | #define HD64465_REG_GPCICR 0x14024 /* Port C Interrupt Control Register */ | ||
108 | #define HD64465_REG_GPDICR 0x14026 /* Port D Interrupt Control Register */ | ||
109 | #define HD64465_REG_GPEICR 0x14028 /* Port E Interrupt Control Register */ | ||
110 | #define HD64465_REG_GPAISR 0x14040 /* Port A Interrupt Status Register */ | ||
111 | #define HD64465_REG_GPBISR 0x14042 /* Port B Interrupt Status Register */ | ||
112 | #define HD64465_REG_GPCISR 0x14044 /* Port C Interrupt Status Register */ | ||
113 | #define HD64465_REG_GPDISR 0x14046 /* Port D Interrupt Status Register */ | ||
114 | #define HD64465_REG_GPEISR 0x14048 /* Port E Interrupt Status Register */ | ||
115 | |||
116 | /* PCMCIA bridge interface */ | ||
117 | #define HD64465_REG_PCC0ISR 0x12000 /* socket 0 interface status */ | ||
118 | #define HD64465_PCCISR_PREADY 0x80 /* mem card ready / io card IREQ */ | ||
119 | #define HD64465_PCCISR_PIREQ 0x80 | ||
120 | #define HD64465_PCCISR_PMWP 0x40 /* mem card write-protected */ | ||
121 | #define HD64465_PCCISR_PVS2 0x20 /* voltage select pin 2 */ | ||
122 | #define HD64465_PCCISR_PVS1 0x10 /* voltage select pin 1 */ | ||
123 | #define HD64465_PCCISR_PCD_MASK 0x0c /* card detect */ | ||
124 | #define HD64465_PCCISR_PBVD_MASK 0x03 /* battery voltage */ | ||
125 | #define HD64465_PCCISR_PBVD_BATGOOD 0x03 /* battery good */ | ||
126 | #define HD64465_PCCISR_PBVD_BATWARN 0x01 /* battery low warning */ | ||
127 | #define HD64465_PCCISR_PBVD_BATDEAD1 0x02 /* battery dead */ | ||
128 | #define HD64465_PCCISR_PBVD_BATDEAD2 0x00 /* battery dead */ | ||
129 | #define HD64465_REG_PCC0GCR 0x12002 /* socket 0 general control */ | ||
130 | #define HD64465_PCCGCR_PDRV 0x80 /* output drive */ | ||
131 | #define HD64465_PCCGCR_PCCR 0x40 /* PC card reset */ | ||
132 | #define HD64465_PCCGCR_PCCT 0x20 /* PC card type, 1=IO&mem, 0=mem */ | ||
133 | #define HD64465_PCCGCR_PVCC0 0x10 /* voltage control pin VCC0SEL0 */ | ||
134 | #define HD64465_PCCGCR_PMMOD 0x08 /* memory mode */ | ||
135 | #define HD64465_PCCGCR_PPA25 0x04 /* pin A25 */ | ||
136 | #define HD64465_PCCGCR_PPA24 0x02 /* pin A24 */ | ||
137 | #define HD64465_PCCGCR_PREG 0x01 /* ping PCC0REG# */ | ||
138 | #define HD64465_REG_PCC0CSCR 0x12004 /* socket 0 card status change */ | ||
139 | #define HD64465_PCCCSCR_PSCDI 0x80 /* sw card detect intr */ | ||
140 | #define HD64465_PCCCSCR_PSWSEL 0x40 /* power select */ | ||
141 | #define HD64465_PCCCSCR_PIREQ 0x20 /* IREQ intr req */ | ||
142 | #define HD64465_PCCCSCR_PSC 0x10 /* STSCHG (status change) pin */ | ||
143 | #define HD64465_PCCCSCR_PCDC 0x08 /* CD (card detect) change */ | ||
144 | #define HD64465_PCCCSCR_PRC 0x04 /* ready change */ | ||
145 | #define HD64465_PCCCSCR_PBW 0x02 /* battery warning change */ | ||
146 | #define HD64465_PCCCSCR_PBD 0x01 /* battery dead change */ | ||
147 | #define HD64465_REG_PCC0CSCIER 0x12006 /* socket 0 card status change interrupt enable */ | ||
148 | #define HD64465_PCCCSCIER_PCRE 0x80 /* change reset enable */ | ||
149 | #define HD64465_PCCCSCIER_PIREQE_MASK 0x60 /* IREQ enable */ | ||
150 | #define HD64465_PCCCSCIER_PIREQE_DISABLED 0x00 /* IREQ disabled */ | ||
151 | #define HD64465_PCCCSCIER_PIREQE_LEVEL 0x20 /* IREQ level-triggered */ | ||
152 | #define HD64465_PCCCSCIER_PIREQE_FALLING 0x40 /* IREQ falling-edge-trig */ | ||
153 | #define HD64465_PCCCSCIER_PIREQE_RISING 0x60 /* IREQ rising-edge-trig */ | ||
154 | #define HD64465_PCCCSCIER_PSCE 0x10 /* status change enable */ | ||
155 | #define HD64465_PCCCSCIER_PCDE 0x08 /* card detect change enable */ | ||
156 | #define HD64465_PCCCSCIER_PRE 0x04 /* ready change enable */ | ||
157 | #define HD64465_PCCCSCIER_PBWE 0x02 /* battery warn change enable */ | ||
158 | #define HD64465_PCCCSCIER_PBDE 0x01 /* battery dead change enable*/ | ||
159 | #define HD64465_REG_PCC0SCR 0x12008 /* socket 0 software control */ | ||
160 | #define HD64465_PCCSCR_SHDN 0x10 /* TPS2206 SHutDowN pin */ | ||
161 | #define HD64465_PCCSCR_SWP 0x01 /* write protect */ | ||
162 | #define HD64465_REG_PCCPSR 0x1200A /* serial power switch control */ | ||
163 | #define HD64465_REG_PCC1ISR 0x12010 /* socket 1 interface status */ | ||
164 | #define HD64465_REG_PCC1GCR 0x12012 /* socket 1 general control */ | ||
165 | #define HD64465_REG_PCC1CSCR 0x12014 /* socket 1 card status change */ | ||
166 | #define HD64465_REG_PCC1CSCIER 0x12016 /* socket 1 card status change interrupt enable */ | ||
167 | #define HD64465_REG_PCC1SCR 0x12018 /* socket 1 software control */ | ||
168 | |||
169 | |||
170 | /* PS/2 Keyboard and mouse controller -- *not* register compatible */ | ||
171 | #define HD64465_REG_KBCSR 0x1dc00 /* Keyboard Control/Status reg */ | ||
172 | #define HD64465_KBCSR_KBCIE 0x8000 /* KBCK Input Enable */ | ||
173 | #define HD64465_KBCSR_KBCOE 0x4000 /* KBCK Output Enable */ | ||
174 | #define HD64465_KBCSR_KBDOE 0x2000 /* KB DATA Output Enable */ | ||
175 | #define HD64465_KBCSR_KBCD 0x1000 /* KBCK Driven */ | ||
176 | #define HD64465_KBCSR_KBDD 0x0800 /* KB DATA Driven */ | ||
177 | #define HD64465_KBCSR_KBCS 0x0400 /* KBCK pin Status */ | ||
178 | #define HD64465_KBCSR_KBDS 0x0200 /* KB DATA pin Status */ | ||
179 | #define HD64465_KBCSR_KBDP 0x0100 /* KB DATA Parity bit */ | ||
180 | #define HD64465_KBCSR_KBD_MASK 0x00ff /* KD DATA shift reg */ | ||
181 | #define HD64465_REG_KBISR 0x1dc04 /* Keyboard Interrupt Status reg */ | ||
182 | #define HD64465_KBISR_KBRDF 0x0001 /* KB Received Data Full */ | ||
183 | #define HD64465_REG_MSCSR 0x1dc10 /* Mouse Control/Status reg */ | ||
184 | #define HD64465_REG_MSISR 0x1dc14 /* Mouse Interrupt Status reg */ | ||
185 | |||
186 | |||
187 | /* | ||
188 | * Logical address at which the HD64465 is mapped. Note that this | ||
189 | * should always be in the P2 segment (uncached and untranslated). | ||
190 | */ | ||
191 | #ifndef CONFIG_HD64465_IOBASE | ||
192 | #define CONFIG_HD64465_IOBASE 0xb0000000 | ||
193 | #endif | ||
194 | /* | ||
195 | * The HD64465 multiplexes all its modules' interrupts onto | ||
196 | * this single interrupt. | ||
197 | */ | ||
198 | #ifndef CONFIG_HD64465_IRQ | ||
199 | #define CONFIG_HD64465_IRQ 5 | ||
200 | #endif | ||
201 | |||
202 | |||
203 | #define _HD64465_IO_MASK 0xf8000000 | ||
204 | #define is_hd64465_addr(addr) \ | ||
205 | ((addr & _HD64465_IO_MASK) == (CONFIG_HD64465_IOBASE & _HD64465_IO_MASK)) | ||
206 | |||
207 | /* | ||
208 | * A range of 16 virtual interrupts generated by | ||
209 | * demuxing the HD64465 muxed interrupt. | ||
210 | */ | ||
211 | #define HD64465_IRQ_BASE OFFCHIP_IRQ_BASE | ||
212 | #define HD64465_IRQ_NUM 16 | ||
213 | #define HD64465_IRQ_ADC (HD64465_IRQ_BASE+0) | ||
214 | #define HD64465_IRQ_USB (HD64465_IRQ_BASE+1) | ||
215 | #define HD64465_IRQ_SCDI (HD64465_IRQ_BASE+2) | ||
216 | #define HD64465_IRQ_PARALLEL (HD64465_IRQ_BASE+3) | ||
217 | /* bit 4 is reserved */ | ||
218 | #define HD64465_IRQ_UART (HD64465_IRQ_BASE+5) | ||
219 | #define HD64465_IRQ_IRDA (HD64465_IRQ_BASE+6) | ||
220 | #define HD64465_IRQ_PS2MOUSE (HD64465_IRQ_BASE+7) | ||
221 | #define HD64465_IRQ_KBC (HD64465_IRQ_BASE+8) | ||
222 | #define HD64465_IRQ_TIMER1 (HD64465_IRQ_BASE+9) | ||
223 | #define HD64465_IRQ_TIMER0 (HD64465_IRQ_BASE+10) | ||
224 | #define HD64465_IRQ_GPIO (HD64465_IRQ_BASE+11) | ||
225 | #define HD64465_IRQ_AFE (HD64465_IRQ_BASE+12) | ||
226 | #define HD64465_IRQ_PCMCIA1 (HD64465_IRQ_BASE+13) | ||
227 | #define HD64465_IRQ_PCMCIA0 (HD64465_IRQ_BASE+14) | ||
228 | #define HD64465_IRQ_PS2KBD (HD64465_IRQ_BASE+15) | ||
229 | |||
230 | /* Constants for PCMCIA mappings */ | ||
231 | #define HD64465_PCC_WINDOW 0x01000000 | ||
232 | |||
233 | #define HD64465_PCC0_BASE 0xb8000000 /* area 6 */ | ||
234 | #define HD64465_PCC0_ATTR (HD64465_PCC0_BASE) | ||
235 | #define HD64465_PCC0_COMM (HD64465_PCC0_BASE+HD64465_PCC_WINDOW) | ||
236 | #define HD64465_PCC0_IO (HD64465_PCC0_BASE+2*HD64465_PCC_WINDOW) | ||
237 | |||
238 | #define HD64465_PCC1_BASE 0xb4000000 /* area 5 */ | ||
239 | #define HD64465_PCC1_ATTR (HD64465_PCC1_BASE) | ||
240 | #define HD64465_PCC1_COMM (HD64465_PCC1_BASE+HD64465_PCC_WINDOW) | ||
241 | #define HD64465_PCC1_IO (HD64465_PCC1_BASE+2*HD64465_PCC_WINDOW) | ||
242 | |||
243 | /* | ||
244 | * Base of USB controller interface (as memory) | ||
245 | */ | ||
246 | #define HD64465_USB_BASE (CONFIG_HD64465_IOBASE+0xb000) | ||
247 | #define HD64465_USB_LEN 0x1000 | ||
248 | /* | ||
249 | * Base of embedded SRAM, used for USB controller. | ||
250 | */ | ||
251 | #define HD64465_SRAM_BASE (CONFIG_HD64465_IOBASE+0x9000) | ||
252 | #define HD64465_SRAM_LEN 0x1000 | ||
253 | |||
254 | |||
255 | |||
256 | #endif /* _ASM_SH_HD64465_ */ | ||
diff --git a/arch/sh/include/asm/hd64465/io.h b/arch/sh/include/asm/hd64465/io.h deleted file mode 100644 index 139f1472e5bb..000000000000 --- a/arch/sh/include/asm/hd64465/io.h +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-sh/hd64465/io.h | ||
3 | * | ||
4 | * By Greg Banks <gbanks@pocketpenguins.com> | ||
5 | * (c) 2000 PocketPenguins Inc. | ||
6 | * | ||
7 | * Derived from io_hd64461.h, which bore the message: | ||
8 | * Copyright 2000 Stuart Menefy (stuart.menefy@st.com) | ||
9 | * | ||
10 | * May be copied or modified under the terms of the GNU General Public | ||
11 | * License. See linux/COPYING for more information. | ||
12 | * | ||
13 | * IO functions for an HD64465 "Windows CE Intelligent Peripheral Controller". | ||
14 | */ | ||
15 | |||
16 | #ifndef _ASM_SH_IO_HD64465_H | ||
17 | #define _ASM_SH_IO_HD64465_H | ||
18 | |||
19 | extern unsigned char hd64465_inb(unsigned long port); | ||
20 | extern unsigned short hd64465_inw(unsigned long port); | ||
21 | extern unsigned int hd64465_inl(unsigned long port); | ||
22 | |||
23 | extern void hd64465_outb(unsigned char value, unsigned long port); | ||
24 | extern void hd64465_outw(unsigned short value, unsigned long port); | ||
25 | extern void hd64465_outl(unsigned int value, unsigned long port); | ||
26 | |||
27 | extern unsigned char hd64465_inb_p(unsigned long port); | ||
28 | extern void hd64465_outb_p(unsigned char value, unsigned long port); | ||
29 | |||
30 | extern unsigned long hd64465_isa_port2addr(unsigned long offset); | ||
31 | extern int hd64465_irq_demux(int irq); | ||
32 | /* Provision for generic secondary demux step -- used by PCMCIA code */ | ||
33 | extern void hd64465_register_irq_demux(int irq, | ||
34 | int (*demux)(int irq, void *dev), void *dev); | ||
35 | extern void hd64465_unregister_irq_demux(int irq); | ||
36 | /* Set this variable to 1 to see port traffic */ | ||
37 | extern int hd64465_io_debug; | ||
38 | /* Map a range of ports to a range of kernel virtual memory. | ||
39 | */ | ||
40 | extern void hd64465_port_map(unsigned short baseport, unsigned int nports, | ||
41 | unsigned long addr, unsigned char shift); | ||
42 | extern void hd64465_port_unmap(unsigned short baseport, unsigned int nports); | ||
43 | |||
44 | #endif /* _ASM_SH_IO_HD64465_H */ | ||
diff --git a/arch/sh/include/asm/serial.h b/arch/sh/include/asm/serial.h index e13cc948ee60..11f854dd1363 100644 --- a/arch/sh/include/asm/serial.h +++ b/arch/sh/include/asm/serial.h | |||
@@ -7,8 +7,6 @@ | |||
7 | #ifndef _ASM_SERIAL_H | 7 | #ifndef _ASM_SERIAL_H |
8 | #define _ASM_SERIAL_H | 8 | #define _ASM_SERIAL_H |
9 | 9 | ||
10 | #include <linux/kernel.h> | ||
11 | |||
12 | /* | 10 | /* |
13 | * This assumes you have a 1.8432 MHz clock for your UART. | 11 | * This assumes you have a 1.8432 MHz clock for your UART. |
14 | * | 12 | * |
@@ -18,19 +16,4 @@ | |||
18 | */ | 16 | */ |
19 | #define BASE_BAUD ( 1843200 / 16 ) | 17 | #define BASE_BAUD ( 1843200 / 16 ) |
20 | 18 | ||
21 | #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST) | ||
22 | |||
23 | #ifdef CONFIG_HD64465 | ||
24 | #include <asm/hd64465/hd64465.h> | ||
25 | |||
26 | #define SERIAL_PORT_DFNS \ | ||
27 | /* UART CLK PORT IRQ FLAGS */ \ | ||
28 | { 0, BASE_BAUD, 0x3F8, HD64465_IRQ_UART, STD_COM_FLAGS } /* ttyS0 */ | ||
29 | |||
30 | #else | ||
31 | |||
32 | #define SERIAL_PORT_DFNS | ||
33 | |||
34 | #endif | ||
35 | |||
36 | #endif /* _ASM_SERIAL_H */ | 19 | #endif /* _ASM_SERIAL_H */ |
diff --git a/arch/sh/include/cpu-sh4/cpu/rtc.h b/arch/sh/include/cpu-sh4/cpu/rtc.h index 25b1e6adfe8c..95e6fb76c24d 100644 --- a/arch/sh/include/cpu-sh4/cpu/rtc.h +++ b/arch/sh/include/cpu-sh4/cpu/rtc.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __ASM_SH_CPU_SH4_RTC_H | 1 | #ifndef __ASM_SH_CPU_SH4_RTC_H |
2 | #define __ASM_SH_CPU_SH4_RTC_H | 2 | #define __ASM_SH_CPU_SH4_RTC_H |
3 | 3 | ||
4 | #ifdef CONFIG_CPU_SUBTYPE_SH7723 | 4 | #if defined(CONFIG_CPU_SUBTYPE_SH7722) || defined(CONFIG_CPU_SUBTYPE_SH7723) |
5 | #define rtc_reg_size sizeof(u16) | 5 | #define rtc_reg_size sizeof(u16) |
6 | #else | 6 | #else |
7 | #define rtc_reg_size sizeof(u32) | 7 | #define rtc_reg_size sizeof(u32) |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c index 6851dba02f31..e17db39b97aa 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c | |||
@@ -36,6 +36,32 @@ static struct platform_device iic_device = { | |||
36 | .resource = iic_resources, | 36 | .resource = iic_resources, |
37 | }; | 37 | }; |
38 | 38 | ||
39 | static struct resource usb_host_resources[] = { | ||
40 | [0] = { | ||
41 | .name = "r8a66597_hcd", | ||
42 | .start = 0xa4d80000, | ||
43 | .end = 0xa4d800ff, | ||
44 | .flags = IORESOURCE_MEM, | ||
45 | }, | ||
46 | [1] = { | ||
47 | .name = "r8a66597_hcd", | ||
48 | .start = 65, | ||
49 | .end = 65, | ||
50 | .flags = IORESOURCE_IRQ, | ||
51 | }, | ||
52 | }; | ||
53 | |||
54 | static struct platform_device usb_host_device = { | ||
55 | .name = "r8a66597_hcd", | ||
56 | .id = -1, | ||
57 | .dev = { | ||
58 | .dma_mask = NULL, | ||
59 | .coherent_dma_mask = 0xffffffff, | ||
60 | }, | ||
61 | .num_resources = ARRAY_SIZE(usb_host_resources), | ||
62 | .resource = usb_host_resources, | ||
63 | }; | ||
64 | |||
39 | static struct uio_info vpu_platform_data = { | 65 | static struct uio_info vpu_platform_data = { |
40 | .name = "VPU5", | 66 | .name = "VPU5", |
41 | .version = "0", | 67 | .version = "0", |
@@ -142,6 +168,7 @@ static struct platform_device sci_device = { | |||
142 | static struct platform_device *sh7366_devices[] __initdata = { | 168 | static struct platform_device *sh7366_devices[] __initdata = { |
143 | &iic_device, | 169 | &iic_device, |
144 | &sci_device, | 170 | &sci_device, |
171 | &usb_host_device, | ||
145 | &vpu_device, | 172 | &vpu_device, |
146 | &veu0_device, | 173 | &veu0_device, |
147 | &veu1_device, | 174 | &veu1_device, |
@@ -158,6 +185,7 @@ static int __init sh7366_devices_setup(void) | |||
158 | clk_always_enable("mstp022"); /* INTC */ | 185 | clk_always_enable("mstp022"); /* INTC */ |
159 | clk_always_enable("mstp020"); /* SuperHyway */ | 186 | clk_always_enable("mstp020"); /* SuperHyway */ |
160 | clk_always_enable("mstp109"); /* I2C */ | 187 | clk_always_enable("mstp109"); /* I2C */ |
188 | clk_always_enable("mstp211"); /* USB */ | ||
161 | clk_always_enable("mstp207"); /* VEU-2 */ | 189 | clk_always_enable("mstp207"); /* VEU-2 */ |
162 | clk_always_enable("mstp202"); /* VEU-1 */ | 190 | clk_always_enable("mstp202"); /* VEU-1 */ |
163 | clk_always_enable("mstp201"); /* VPU */ | 191 | clk_always_enable("mstp201"); /* VPU */ |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index de1ede92176e..ef77ee1d9f53 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * SH7722 Setup | 2 | * SH7722 Setup |
3 | * | 3 | * |
4 | * Copyright (C) 2006 - 2007 Paul Mundt | 4 | * Copyright (C) 2006 - 2008 Paul Mundt |
5 | * | 5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public | 6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
@@ -16,6 +16,36 @@ | |||
16 | #include <asm/clock.h> | 16 | #include <asm/clock.h> |
17 | #include <asm/mmzone.h> | 17 | #include <asm/mmzone.h> |
18 | 18 | ||
19 | static struct resource rtc_resources[] = { | ||
20 | [0] = { | ||
21 | .start = 0xa465fec0, | ||
22 | .end = 0xa465fec0 + 0x58 - 1, | ||
23 | .flags = IORESOURCE_IO, | ||
24 | }, | ||
25 | [1] = { | ||
26 | /* Period IRQ */ | ||
27 | .start = 45, | ||
28 | .flags = IORESOURCE_IRQ, | ||
29 | }, | ||
30 | [2] = { | ||
31 | /* Carry IRQ */ | ||
32 | .start = 46, | ||
33 | .flags = IORESOURCE_IRQ, | ||
34 | }, | ||
35 | [3] = { | ||
36 | /* Alarm IRQ */ | ||
37 | .start = 44, | ||
38 | .flags = IORESOURCE_IRQ, | ||
39 | }, | ||
40 | }; | ||
41 | |||
42 | static struct platform_device rtc_device = { | ||
43 | .name = "sh-rtc", | ||
44 | .id = -1, | ||
45 | .num_resources = ARRAY_SIZE(rtc_resources), | ||
46 | .resource = rtc_resources, | ||
47 | }; | ||
48 | |||
19 | static struct resource usbf_resources[] = { | 49 | static struct resource usbf_resources[] = { |
20 | [0] = { | 50 | [0] = { |
21 | .name = "m66592_udc", | 51 | .name = "m66592_udc", |
@@ -150,6 +180,7 @@ static struct platform_device sci_device = { | |||
150 | }; | 180 | }; |
151 | 181 | ||
152 | static struct platform_device *sh7722_devices[] __initdata = { | 182 | static struct platform_device *sh7722_devices[] __initdata = { |
183 | &rtc_device, | ||
153 | &usbf_device, | 184 | &usbf_device, |
154 | &iic_device, | 185 | &iic_device, |
155 | &sci_device, | 186 | &sci_device, |
@@ -202,7 +233,6 @@ enum { | |||
202 | IRDA, JPU, LCDC, | 233 | IRDA, JPU, LCDC, |
203 | 234 | ||
204 | /* interrupt groups */ | 235 | /* interrupt groups */ |
205 | |||
206 | SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI, | 236 | SIM, RTC, DMAC0123, VIOVOU, USB, DMAC45, FLCTL, I2C, SDHI, |
207 | }; | 237 | }; |
208 | 238 | ||
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 1a5cf9dd82de..5b7efc4016fa 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -372,7 +372,7 @@ syscall_exit: | |||
372 | 7: .long do_syscall_trace_enter | 372 | 7: .long do_syscall_trace_enter |
373 | 8: .long do_syscall_trace_leave | 373 | 8: .long do_syscall_trace_leave |
374 | 374 | ||
375 | #ifdef CONFIG_FTRACE | 375 | #ifdef CONFIG_FUNCTION_TRACER |
376 | .align 2 | 376 | .align 2 |
377 | .globl _mcount | 377 | .globl _mcount |
378 | .type _mcount,@function | 378 | .type _mcount,@function |
@@ -414,4 +414,4 @@ skip_trace: | |||
414 | ftrace_stub: | 414 | ftrace_stub: |
415 | rts | 415 | rts |
416 | nop | 416 | nop |
417 | #endif /* CONFIG_FTRACE */ | 417 | #endif /* CONFIG_FUNCTION_TRACER */ |
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c index d366a7443720..92ae5e6c099e 100644 --- a/arch/sh/kernel/sh_ksyms_32.c +++ b/arch/sh/kernel/sh_ksyms_32.c | |||
@@ -50,7 +50,10 @@ EXPORT_SYMBOL(__udelay); | |||
50 | EXPORT_SYMBOL(__ndelay); | 50 | EXPORT_SYMBOL(__ndelay); |
51 | EXPORT_SYMBOL(__const_udelay); | 51 | EXPORT_SYMBOL(__const_udelay); |
52 | 52 | ||
53 | #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) | 53 | #define DECLARE_EXPORT(name) \ |
54 | extern void name(void);EXPORT_SYMBOL(name) | ||
55 | #define MAYBE_DECLARE_EXPORT(name) \ | ||
56 | extern void name(void) __weak;EXPORT_SYMBOL(name) | ||
54 | 57 | ||
55 | /* These symbols are generated by the compiler itself */ | 58 | /* These symbols are generated by the compiler itself */ |
56 | DECLARE_EXPORT(__udivsi3); | 59 | DECLARE_EXPORT(__udivsi3); |
@@ -109,10 +112,8 @@ DECLARE_EXPORT(__movmemSI12_i4); | |||
109 | * compiler which include backported patches. | 112 | * compiler which include backported patches. |
110 | */ | 113 | */ |
111 | DECLARE_EXPORT(__udiv_qrnnd_16); | 114 | DECLARE_EXPORT(__udiv_qrnnd_16); |
112 | #if !defined(CONFIG_CPU_SH2) | 115 | MAYBE_DECLARE_EXPORT(__sdivsi3_i4i); |
113 | DECLARE_EXPORT(__sdivsi3_i4i); | 116 | MAYBE_DECLARE_EXPORT(__udivsi3_i4i); |
114 | DECLARE_EXPORT(__udivsi3_i4i); | ||
115 | #endif | ||
116 | #endif | 117 | #endif |
117 | #else /* GCC 3.x */ | 118 | #else /* GCC 3.x */ |
118 | DECLARE_EXPORT(__movstr_i4_even); | 119 | DECLARE_EXPORT(__movstr_i4_even); |
@@ -133,7 +134,7 @@ EXPORT_SYMBOL(flush_dcache_page); | |||
133 | EXPORT_SYMBOL(clear_user_page); | 134 | EXPORT_SYMBOL(clear_user_page); |
134 | #endif | 135 | #endif |
135 | 136 | ||
136 | #ifdef CONFIG_FTRACE | 137 | #ifdef CONFIG_FUNCTION_TRACER |
137 | EXPORT_SYMBOL(mcount); | 138 | EXPORT_SYMBOL(mcount); |
138 | #endif | 139 | #endif |
139 | EXPORT_SYMBOL(csum_partial); | 140 | EXPORT_SYMBOL(csum_partial); |
diff --git a/arch/sh/mm/cache-sh2a.c b/arch/sh/mm/cache-sh2a.c index 62c0c5f35120..24d86a794065 100644 --- a/arch/sh/mm/cache-sh2a.c +++ b/arch/sh/mm/cache-sh2a.c | |||
@@ -59,7 +59,7 @@ void __flush_purge_region(void *start, int size) | |||
59 | 59 | ||
60 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { | 60 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { |
61 | ctrl_outl((v & CACHE_PHYSADDR_MASK), | 61 | ctrl_outl((v & CACHE_PHYSADDR_MASK), |
62 | CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); | 62 | CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); |
63 | } | 63 | } |
64 | back_to_cached(); | 64 | back_to_cached(); |
65 | local_irq_restore(flags); | 65 | local_irq_restore(flags); |
@@ -82,14 +82,14 @@ void __flush_invalidate_region(void *start, int size) | |||
82 | /* I-cache invalidate */ | 82 | /* I-cache invalidate */ |
83 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { | 83 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { |
84 | ctrl_outl((v & CACHE_PHYSADDR_MASK), | 84 | ctrl_outl((v & CACHE_PHYSADDR_MASK), |
85 | CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); | 85 | CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); |
86 | } | 86 | } |
87 | #else | 87 | #else |
88 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { | 88 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { |
89 | ctrl_outl((v & CACHE_PHYSADDR_MASK), | 89 | ctrl_outl((v & CACHE_PHYSADDR_MASK), |
90 | CACHE_IC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); | 90 | CACHE_IC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); |
91 | ctrl_outl((v & CACHE_PHYSADDR_MASK), | 91 | ctrl_outl((v & CACHE_PHYSADDR_MASK), |
92 | CACHE_OC_ADDRESS_ARRAY | (v & 0x000003f0) | 0x00000008); | 92 | CACHE_OC_ADDRESS_ARRAY | (v & 0x000007f0) | 0x00000008); |
93 | } | 93 | } |
94 | #endif | 94 | #endif |
95 | back_to_cached(); | 95 | back_to_cached(); |
diff --git a/arch/sh/oprofile/op_model_sh7750.c b/arch/sh/oprofile/op_model_sh7750.c index 6b9a98e07004..008b3b03750a 100644 --- a/arch/sh/oprofile/op_model_sh7750.c +++ b/arch/sh/oprofile/op_model_sh7750.c | |||
@@ -255,10 +255,9 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) | |||
255 | return -ENODEV; | 255 | return -ENODEV; |
256 | 256 | ||
257 | ops = &sh7750_perf_counter_ops; | 257 | ops = &sh7750_perf_counter_ops; |
258 | ops->cpu_type = (char *)get_cpu_subtype(¤t_cpu_data); | 258 | ops->cpu_type = "sh/sh7750"; |
259 | 259 | ||
260 | printk(KERN_INFO "oprofile: using SH-4 (%s) performance monitoring.\n", | 260 | printk(KERN_INFO "oprofile: using SH-4 performance monitoring.\n"); |
261 | sh7750_perf_counter_ops.cpu_type); | ||
262 | 261 | ||
263 | /* Clear the counters */ | 262 | /* Clear the counters */ |
264 | ctrl_outw(ctrl_inw(PMCR1) | PMCR_PMCLR, PMCR1); | 263 | ctrl_outw(ctrl_inw(PMCR1) | PMCR_PMCLR, PMCR1); |
@@ -270,4 +269,3 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) | |||
270 | void oprofile_arch_exit(void) | 269 | void oprofile_arch_exit(void) |
271 | { | 270 | { |
272 | } | 271 | } |
273 | |||
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types index d4fb11f7e2ee..d0c2928d1066 100644 --- a/arch/sh/tools/mach-types +++ b/arch/sh/tools/mach-types | |||
@@ -13,7 +13,6 @@ RTS7751R2D SH_RTS7751R2D | |||
13 | # List of companion chips / MFDs. | 13 | # List of companion chips / MFDs. |
14 | # | 14 | # |
15 | HD64461 HD64461 | 15 | HD64461 HD64461 |
16 | HD64465 HD64465 | ||
17 | 16 | ||
18 | # | 17 | # |
19 | # List of boards. | 18 | # List of boards. |
diff --git a/arch/sparc/include/asm/byteorder.h b/arch/sparc/include/asm/byteorder.h index bcd83aa351c5..5a70f137f1f7 100644 --- a/arch/sparc/include/asm/byteorder.h +++ b/arch/sparc/include/asm/byteorder.h | |||
@@ -4,15 +4,14 @@ | |||
4 | #include <asm/types.h> | 4 | #include <asm/types.h> |
5 | #include <asm/asi.h> | 5 | #include <asm/asi.h> |
6 | 6 | ||
7 | #ifdef __GNUC__ | 7 | #define __BIG_ENDIAN |
8 | 8 | ||
9 | #ifdef CONFIG_SPARC32 | 9 | #ifdef CONFIG_SPARC32 |
10 | #define __SWAB_64_THRU_32__ | 10 | #define __SWAB_64_THRU_32__ |
11 | #endif | 11 | #endif |
12 | 12 | ||
13 | #ifdef CONFIG_SPARC64 | 13 | #ifdef CONFIG_SPARC64 |
14 | 14 | static inline __u16 __arch_swab16p(const __u16 *addr) | |
15 | static inline __u16 ___arch__swab16p(const __u16 *addr) | ||
16 | { | 15 | { |
17 | __u16 ret; | 16 | __u16 ret; |
18 | 17 | ||
@@ -21,8 +20,9 @@ static inline __u16 ___arch__swab16p(const __u16 *addr) | |||
21 | : "r" (addr), "i" (ASI_PL)); | 20 | : "r" (addr), "i" (ASI_PL)); |
22 | return ret; | 21 | return ret; |
23 | } | 22 | } |
23 | #define __arch_swab16p __arch_swab16p | ||
24 | 24 | ||
25 | static inline __u32 ___arch__swab32p(const __u32 *addr) | 25 | static inline __u32 __arch_swab32p(const __u32 *addr) |
26 | { | 26 | { |
27 | __u32 ret; | 27 | __u32 ret; |
28 | 28 | ||
@@ -31,8 +31,9 @@ static inline __u32 ___arch__swab32p(const __u32 *addr) | |||
31 | : "r" (addr), "i" (ASI_PL)); | 31 | : "r" (addr), "i" (ASI_PL)); |
32 | return ret; | 32 | return ret; |
33 | } | 33 | } |
34 | #define __arch_swab32p __arch_swab32p | ||
34 | 35 | ||
35 | static inline __u64 ___arch__swab64p(const __u64 *addr) | 36 | static inline __u64 __arch_swab64p(const __u64 *addr) |
36 | { | 37 | { |
37 | __u64 ret; | 38 | __u64 ret; |
38 | 39 | ||
@@ -41,17 +42,10 @@ static inline __u64 ___arch__swab64p(const __u64 *addr) | |||
41 | : "r" (addr), "i" (ASI_PL)); | 42 | : "r" (addr), "i" (ASI_PL)); |
42 | return ret; | 43 | return ret; |
43 | } | 44 | } |
44 | 45 | #define __arch_swab64p __arch_swab64p | |
45 | #define __arch__swab16p(x) ___arch__swab16p(x) | ||
46 | #define __arch__swab32p(x) ___arch__swab32p(x) | ||
47 | #define __arch__swab64p(x) ___arch__swab64p(x) | ||
48 | 46 | ||
49 | #endif /* CONFIG_SPARC64 */ | 47 | #endif /* CONFIG_SPARC64 */ |
50 | 48 | ||
51 | #define __BYTEORDER_HAS_U64__ | 49 | #include <linux/byteorder.h> |
52 | |||
53 | #endif | ||
54 | |||
55 | #include <linux/byteorder/big_endian.h> | ||
56 | 50 | ||
57 | #endif /* _SPARC_BYTEORDER_H */ | 51 | #endif /* _SPARC_BYTEORDER_H */ |
diff --git a/arch/sparc/include/asm/kdebug_32.h b/arch/sparc/include/asm/kdebug_32.h index f69fe7d84b3c..1d0b240222ef 100644 --- a/arch/sparc/include/asm/kdebug_32.h +++ b/arch/sparc/include/asm/kdebug_32.h | |||
@@ -60,6 +60,7 @@ static inline void sp_enter_debugger(void) | |||
60 | 60 | ||
61 | enum die_val { | 61 | enum die_val { |
62 | DIE_UNUSED, | 62 | DIE_UNUSED, |
63 | DIE_OOPS, | ||
63 | }; | 64 | }; |
64 | 65 | ||
65 | #endif /* !(__ASSEMBLY__) */ | 66 | #endif /* !(__ASSEMBLY__) */ |
diff --git a/arch/sparc/include/asm/processor_64.h b/arch/sparc/include/asm/processor_64.h index 137a6bd72fc8..59fcebb8f440 100644 --- a/arch/sparc/include/asm/processor_64.h +++ b/arch/sparc/include/asm/processor_64.h | |||
@@ -36,10 +36,10 @@ | |||
36 | #define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3)) | 36 | #define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3)) |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #define TASK_SIZE ((unsigned long)-VPTE_SIZE) | ||
40 | #define TASK_SIZE_OF(tsk) \ | 39 | #define TASK_SIZE_OF(tsk) \ |
41 | (test_tsk_thread_flag(tsk,TIF_32BIT) ? \ | 40 | (test_tsk_thread_flag(tsk,TIF_32BIT) ? \ |
42 | (1UL << 32UL) : TASK_SIZE) | 41 | (1UL << 32UL) : ((unsigned long)-VPTE_SIZE)) |
42 | #define TASK_SIZE TASK_SIZE_OF(current) | ||
43 | #ifdef __KERNEL__ | 43 | #ifdef __KERNEL__ |
44 | 44 | ||
45 | #define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) | 45 | #define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) |
diff --git a/arch/sparc/include/asm/uaccess_64.h b/arch/sparc/include/asm/uaccess_64.h index 296ef30e05c8..c64e767a3e4b 100644 --- a/arch/sparc/include/asm/uaccess_64.h +++ b/arch/sparc/include/asm/uaccess_64.h | |||
@@ -265,8 +265,8 @@ extern long __strnlen_user(const char __user *, long len); | |||
265 | 265 | ||
266 | #define strlen_user __strlen_user | 266 | #define strlen_user __strlen_user |
267 | #define strnlen_user __strnlen_user | 267 | #define strnlen_user __strnlen_user |
268 | #define __copy_to_user_inatomic __copy_to_user | 268 | #define __copy_to_user_inatomic ___copy_to_user |
269 | #define __copy_from_user_inatomic __copy_from_user | 269 | #define __copy_from_user_inatomic ___copy_from_user |
270 | 270 | ||
271 | #endif /* __ASSEMBLY__ */ | 271 | #endif /* __ASSEMBLY__ */ |
272 | 272 | ||
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c index 62c1d94cb434..00f7383c7657 100644 --- a/arch/sparc/kernel/time.c +++ b/arch/sparc/kernel/time.c | |||
@@ -119,35 +119,16 @@ static unsigned char mostek_read_byte(struct device *dev, u32 ofs) | |||
119 | { | 119 | { |
120 | struct platform_device *pdev = to_platform_device(dev); | 120 | struct platform_device *pdev = to_platform_device(dev); |
121 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; | 121 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; |
122 | void __iomem *regs = pdata->ioaddr; | 122 | |
123 | unsigned char val = readb(regs + ofs); | 123 | return readb(pdata->ioaddr + ofs); |
124 | |||
125 | /* the year 0 is 1968 */ | ||
126 | if (ofs == pdata->offset + M48T59_YEAR) { | ||
127 | val += 0x68; | ||
128 | if ((val & 0xf) > 9) | ||
129 | val += 6; | ||
130 | } | ||
131 | return val; | ||
132 | } | 124 | } |
133 | 125 | ||
134 | static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) | 126 | static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) |
135 | { | 127 | { |
136 | struct platform_device *pdev = to_platform_device(dev); | 128 | struct platform_device *pdev = to_platform_device(dev); |
137 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; | 129 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; |
138 | void __iomem *regs = pdata->ioaddr; | 130 | |
139 | 131 | writeb(val, pdata->ioaddr + ofs); | |
140 | if (ofs == pdata->offset + M48T59_YEAR) { | ||
141 | if (val < 0x68) | ||
142 | val += 0x32; | ||
143 | else | ||
144 | val -= 0x68; | ||
145 | if ((val & 0xf) > 9) | ||
146 | val += 6; | ||
147 | if ((val & 0xf0) > 0x9A) | ||
148 | val += 0x60; | ||
149 | } | ||
150 | writeb(val, regs + ofs); | ||
151 | } | 132 | } |
152 | 133 | ||
153 | static struct m48t59_plat_data m48t59_data = { | 134 | static struct m48t59_plat_data m48t59_data = { |
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 242ac1ccae7d..bdb7c0a6d83d 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c | |||
@@ -889,6 +889,7 @@ static int __pci_mmap_make_offset(struct pci_dev *pdev, | |||
889 | 889 | ||
890 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { | 890 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { |
891 | struct resource *rp = &pdev->resource[i]; | 891 | struct resource *rp = &pdev->resource[i]; |
892 | resource_size_t aligned_end; | ||
892 | 893 | ||
893 | /* Active? */ | 894 | /* Active? */ |
894 | if (!rp->flags) | 895 | if (!rp->flags) |
@@ -906,8 +907,15 @@ static int __pci_mmap_make_offset(struct pci_dev *pdev, | |||
906 | continue; | 907 | continue; |
907 | } | 908 | } |
908 | 909 | ||
910 | /* Align the resource end to the next page address. | ||
911 | * PAGE_SIZE intentionally added instead of (PAGE_SIZE - 1), | ||
912 | * because actually we need the address of the next byte | ||
913 | * after rp->end. | ||
914 | */ | ||
915 | aligned_end = (rp->end + PAGE_SIZE) & PAGE_MASK; | ||
916 | |||
909 | if ((rp->start <= user_paddr) && | 917 | if ((rp->start <= user_paddr) && |
910 | (user_paddr + user_size) <= (rp->end + 1UL)) | 918 | (user_paddr + user_size) <= aligned_end) |
911 | break; | 919 | break; |
912 | } | 920 | } |
913 | 921 | ||
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c index 80d71a5ce1e3..141da3759091 100644 --- a/arch/sparc64/kernel/time.c +++ b/arch/sparc64/kernel/time.c | |||
@@ -490,6 +490,7 @@ static struct of_device_id __initdata bq4802_match[] = { | |||
490 | .name = "rtc", | 490 | .name = "rtc", |
491 | .compatible = "bq4802", | 491 | .compatible = "bq4802", |
492 | }, | 492 | }, |
493 | {}, | ||
493 | }; | 494 | }; |
494 | 495 | ||
495 | static struct of_platform_driver bq4802_driver = { | 496 | static struct of_platform_driver bq4802_driver = { |
@@ -503,39 +504,16 @@ static struct of_platform_driver bq4802_driver = { | |||
503 | static unsigned char mostek_read_byte(struct device *dev, u32 ofs) | 504 | static unsigned char mostek_read_byte(struct device *dev, u32 ofs) |
504 | { | 505 | { |
505 | struct platform_device *pdev = to_platform_device(dev); | 506 | struct platform_device *pdev = to_platform_device(dev); |
506 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; | 507 | void __iomem *regs = (void __iomem *) pdev->resource[0].start; |
507 | void __iomem *regs; | 508 | |
508 | unsigned char val; | 509 | return readb(regs + ofs); |
509 | |||
510 | regs = (void __iomem *) pdev->resource[0].start; | ||
511 | val = readb(regs + ofs); | ||
512 | |||
513 | /* the year 0 is 1968 */ | ||
514 | if (ofs == pdata->offset + M48T59_YEAR) { | ||
515 | val += 0x68; | ||
516 | if ((val & 0xf) > 9) | ||
517 | val += 6; | ||
518 | } | ||
519 | return val; | ||
520 | } | 510 | } |
521 | 511 | ||
522 | static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) | 512 | static void mostek_write_byte(struct device *dev, u32 ofs, u8 val) |
523 | { | 513 | { |
524 | struct platform_device *pdev = to_platform_device(dev); | 514 | struct platform_device *pdev = to_platform_device(dev); |
525 | struct m48t59_plat_data *pdata = pdev->dev.platform_data; | 515 | void __iomem *regs = (void __iomem *) pdev->resource[0].start; |
526 | void __iomem *regs; | 516 | |
527 | |||
528 | regs = (void __iomem *) pdev->resource[0].start; | ||
529 | if (ofs == pdata->offset + M48T59_YEAR) { | ||
530 | if (val < 0x68) | ||
531 | val += 0x32; | ||
532 | else | ||
533 | val -= 0x68; | ||
534 | if ((val & 0xf) > 9) | ||
535 | val += 6; | ||
536 | if ((val & 0xf0) > 0x9A) | ||
537 | val += 0x60; | ||
538 | } | ||
539 | writeb(val, regs + ofs); | 517 | writeb(val, regs + ofs); |
540 | } | 518 | } |
541 | 519 | ||
diff --git a/arch/sparc64/lib/PeeCeeI.c b/arch/sparc64/lib/PeeCeeI.c index 8b313f11bc8d..46053e6ddd7b 100644 --- a/arch/sparc64/lib/PeeCeeI.c +++ b/arch/sparc64/lib/PeeCeeI.c | |||
@@ -20,107 +20,62 @@ void outsw(unsigned long __addr, const void *src, unsigned long count) | |||
20 | { | 20 | { |
21 | void __iomem *addr = (void __iomem *) __addr; | 21 | void __iomem *addr = (void __iomem *) __addr; |
22 | 22 | ||
23 | if (count) { | 23 | while (count--) { |
24 | u16 *ps = (u16 *)src; | 24 | __raw_writew(*(u16 *)src, addr); |
25 | u32 *pi; | 25 | src += sizeof(u16); |
26 | |||
27 | if (((u64)src) & 0x2) { | ||
28 | u16 val = le16_to_cpup(ps); | ||
29 | outw(val, addr); | ||
30 | ps++; | ||
31 | count--; | ||
32 | } | ||
33 | pi = (u32 *)ps; | ||
34 | while (count >= 2) { | ||
35 | u32 w = le32_to_cpup(pi); | ||
36 | |||
37 | pi++; | ||
38 | outw(w >> 0, addr); | ||
39 | outw(w >> 16, addr); | ||
40 | count -= 2; | ||
41 | } | ||
42 | ps = (u16 *)pi; | ||
43 | if (count) { | ||
44 | u16 val = le16_to_cpup(ps); | ||
45 | outw(val, addr); | ||
46 | } | ||
47 | } | 26 | } |
48 | } | 27 | } |
49 | 28 | ||
50 | void outsl(unsigned long __addr, const void *src, unsigned long count) | 29 | void outsl(unsigned long __addr, const void *src, unsigned long count) |
51 | { | 30 | { |
52 | void __iomem *addr = (void __iomem *) __addr; | 31 | void __iomem *addr = (void __iomem *) __addr; |
32 | u32 l, l2; | ||
53 | 33 | ||
54 | if (count) { | 34 | if (!count) |
55 | if ((((u64)src) & 0x3) == 0) { | 35 | return; |
56 | u32 *p = (u32 *)src; | ||
57 | while (count--) { | ||
58 | u32 val = cpu_to_le32p(p); | ||
59 | outl(val, addr); | ||
60 | p++; | ||
61 | } | ||
62 | } else { | ||
63 | u8 *pb; | ||
64 | u16 *ps = (u16 *)src; | ||
65 | u32 l = 0, l2; | ||
66 | u32 *pi; | ||
67 | |||
68 | switch (((u64)src) & 0x3) { | ||
69 | case 0x2: | ||
70 | count -= 1; | ||
71 | l = cpu_to_le16p(ps) << 16; | ||
72 | ps++; | ||
73 | pi = (u32 *)ps; | ||
74 | while (count--) { | ||
75 | l2 = cpu_to_le32p(pi); | ||
76 | pi++; | ||
77 | outl(((l >> 16) | (l2 << 16)), addr); | ||
78 | l = l2; | ||
79 | } | ||
80 | ps = (u16 *)pi; | ||
81 | l2 = cpu_to_le16p(ps); | ||
82 | outl(((l >> 16) | (l2 << 16)), addr); | ||
83 | break; | ||
84 | |||
85 | case 0x1: | ||
86 | count -= 1; | ||
87 | pb = (u8 *)src; | ||
88 | l = (*pb++ << 8); | ||
89 | ps = (u16 *)pb; | ||
90 | l2 = cpu_to_le16p(ps); | ||
91 | ps++; | ||
92 | l |= (l2 << 16); | ||
93 | pi = (u32 *)ps; | ||
94 | while (count--) { | ||
95 | l2 = cpu_to_le32p(pi); | ||
96 | pi++; | ||
97 | outl(((l >> 8) | (l2 << 24)), addr); | ||
98 | l = l2; | ||
99 | } | ||
100 | pb = (u8 *)pi; | ||
101 | outl(((l >> 8) | (*pb << 24)), addr); | ||
102 | break; | ||
103 | 36 | ||
104 | case 0x3: | 37 | switch (((unsigned long)src) & 0x3) { |
105 | count -= 1; | 38 | case 0x0: |
106 | pb = (u8 *)src; | 39 | /* src is naturally aligned */ |
107 | l = (*pb++ << 24); | 40 | while (count--) { |
108 | pi = (u32 *)pb; | 41 | __raw_writel(*(u32 *)src, addr); |
109 | while (count--) { | 42 | src += sizeof(u32); |
110 | l2 = cpu_to_le32p(pi); | 43 | } |
111 | pi++; | 44 | break; |
112 | outl(((l >> 24) | (l2 << 8)), addr); | 45 | case 0x2: |
113 | l = l2; | 46 | /* 2-byte alignment */ |
114 | } | 47 | while (count--) { |
115 | ps = (u16 *)pi; | 48 | l = (*(u16 *)src) << 16; |
116 | l2 = cpu_to_le16p(ps); | 49 | l |= *(u16 *)(src + sizeof(u16)); |
117 | ps++; | 50 | __raw_writel(l, addr); |
118 | pb = (u8 *)ps; | 51 | src += sizeof(u32); |
119 | l2 |= (*pb << 16); | 52 | } |
120 | outl(((l >> 24) | (l2 << 8)), addr); | 53 | break; |
121 | break; | 54 | case 0x1: |
122 | } | 55 | /* Hold three bytes in l each time, grab a byte from l2 */ |
56 | l = (*(u8 *)src) << 24; | ||
57 | l |= (*(u16 *)(src + sizeof(u8))) << 8; | ||
58 | src += sizeof(u8) + sizeof(u16); | ||
59 | while (count--) { | ||
60 | l2 = *(u32 *)src; | ||
61 | l |= (l2 >> 24); | ||
62 | __raw_writel(l, addr); | ||
63 | l = l2 << 8; | ||
64 | src += sizeof(u32); | ||
65 | } | ||
66 | break; | ||
67 | case 0x3: | ||
68 | /* Hold a byte in l each time, grab 3 bytes from l2 */ | ||
69 | l = (*(u8 *)src) << 24; | ||
70 | src += sizeof(u8); | ||
71 | while (count--) { | ||
72 | l2 = *(u32 *)src; | ||
73 | l |= (l2 >> 8); | ||
74 | __raw_writel(l, addr); | ||
75 | l = l2 << 24; | ||
76 | src += sizeof(u32); | ||
123 | } | 77 | } |
78 | break; | ||
124 | } | 79 | } |
125 | } | 80 | } |
126 | 81 | ||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 6f20718d3156..4cf0ab13d187 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1494,7 +1494,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID | |||
1494 | def_bool X86_64 | 1494 | def_bool X86_64 |
1495 | depends on NUMA | 1495 | depends on NUMA |
1496 | 1496 | ||
1497 | menu "Power management options" | 1497 | menu "Power management and ACPI options" |
1498 | depends on !X86_VOYAGER | 1498 | depends on !X86_VOYAGER |
1499 | 1499 | ||
1500 | config ARCH_HIBERNATION_HEADER | 1500 | config ARCH_HIBERNATION_HEADER |
@@ -1894,6 +1894,10 @@ config SYSVIPC_COMPAT | |||
1894 | endmenu | 1894 | endmenu |
1895 | 1895 | ||
1896 | 1896 | ||
1897 | config HAVE_ATOMIC_IOMAP | ||
1898 | def_bool y | ||
1899 | depends on X86_32 | ||
1900 | |||
1897 | source "net/Kconfig" | 1901 | source "net/Kconfig" |
1898 | 1902 | ||
1899 | source "drivers/Kconfig" | 1903 | source "drivers/Kconfig" |
diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h index f73e95d75b45..cfdf8c2c5c31 100644 --- a/arch/x86/include/asm/cpufeature.h +++ b/arch/x86/include/asm/cpufeature.h | |||
@@ -91,7 +91,7 @@ | |||
91 | #define X86_FEATURE_11AP (3*32+19) /* "" Bad local APIC aka 11AP */ | 91 | #define X86_FEATURE_11AP (3*32+19) /* "" Bad local APIC aka 11AP */ |
92 | #define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */ | 92 | #define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */ |
93 | #define X86_FEATURE_AMDC1E (3*32+21) /* AMD C1E detected */ | 93 | #define X86_FEATURE_AMDC1E (3*32+21) /* AMD C1E detected */ |
94 | #define X86_FEATURE_XTOPOLOGY (3*32+21) /* cpu topology enum extensions */ | 94 | #define X86_FEATURE_XTOPOLOGY (3*32+22) /* cpu topology enum extensions */ |
95 | 95 | ||
96 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ | 96 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ |
97 | #define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */ | 97 | #define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */ |
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index 8668a94f850e..23696d44a0af 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h | |||
@@ -9,6 +9,10 @@ | |||
9 | 9 | ||
10 | extern int fixmaps_set; | 10 | extern int fixmaps_set; |
11 | 11 | ||
12 | extern pte_t *kmap_pte; | ||
13 | extern pgprot_t kmap_prot; | ||
14 | extern pte_t *pkmap_page_table; | ||
15 | |||
12 | void __native_set_fixmap(enum fixed_addresses idx, pte_t pte); | 16 | void __native_set_fixmap(enum fixed_addresses idx, pte_t pte); |
13 | void native_set_fixmap(enum fixed_addresses idx, | 17 | void native_set_fixmap(enum fixed_addresses idx, |
14 | unsigned long phys, pgprot_t flags); | 18 | unsigned long phys, pgprot_t flags); |
diff --git a/arch/x86/include/asm/fixmap_32.h b/arch/x86/include/asm/fixmap_32.h index 09f29ab5c139..c7115c1d7217 100644 --- a/arch/x86/include/asm/fixmap_32.h +++ b/arch/x86/include/asm/fixmap_32.h | |||
@@ -28,10 +28,8 @@ extern unsigned long __FIXADDR_TOP; | |||
28 | #include <asm/acpi.h> | 28 | #include <asm/acpi.h> |
29 | #include <asm/apicdef.h> | 29 | #include <asm/apicdef.h> |
30 | #include <asm/page.h> | 30 | #include <asm/page.h> |
31 | #ifdef CONFIG_HIGHMEM | ||
32 | #include <linux/threads.h> | 31 | #include <linux/threads.h> |
33 | #include <asm/kmap_types.h> | 32 | #include <asm/kmap_types.h> |
34 | #endif | ||
35 | 33 | ||
36 | /* | 34 | /* |
37 | * Here we define all the compile-time 'special' virtual | 35 | * Here we define all the compile-time 'special' virtual |
@@ -75,10 +73,8 @@ enum fixed_addresses { | |||
75 | #ifdef CONFIG_X86_CYCLONE_TIMER | 73 | #ifdef CONFIG_X86_CYCLONE_TIMER |
76 | FIX_CYCLONE_TIMER, /*cyclone timer register*/ | 74 | FIX_CYCLONE_TIMER, /*cyclone timer register*/ |
77 | #endif | 75 | #endif |
78 | #ifdef CONFIG_HIGHMEM | ||
79 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ | 76 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ |
80 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, | 77 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, |
81 | #endif | ||
82 | #ifdef CONFIG_PCI_MMCONFIG | 78 | #ifdef CONFIG_PCI_MMCONFIG |
83 | FIX_PCIE_MCFG, | 79 | FIX_PCIE_MCFG, |
84 | #endif | 80 | #endif |
diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h index a3b3b7c3027b..bf9276bea660 100644 --- a/arch/x86/include/asm/highmem.h +++ b/arch/x86/include/asm/highmem.h | |||
@@ -25,14 +25,11 @@ | |||
25 | #include <asm/kmap_types.h> | 25 | #include <asm/kmap_types.h> |
26 | #include <asm/tlbflush.h> | 26 | #include <asm/tlbflush.h> |
27 | #include <asm/paravirt.h> | 27 | #include <asm/paravirt.h> |
28 | #include <asm/fixmap.h> | ||
28 | 29 | ||
29 | /* declarations for highmem.c */ | 30 | /* declarations for highmem.c */ |
30 | extern unsigned long highstart_pfn, highend_pfn; | 31 | extern unsigned long highstart_pfn, highend_pfn; |
31 | 32 | ||
32 | extern pte_t *kmap_pte; | ||
33 | extern pgprot_t kmap_prot; | ||
34 | extern pte_t *pkmap_page_table; | ||
35 | |||
36 | /* | 33 | /* |
37 | * Right now we initialize only a single pte table. It can be extended | 34 | * Right now we initialize only a single pte table. It can be extended |
38 | * easily, subsequent pte tables have to be allocated in one physical | 35 | * easily, subsequent pte tables have to be allocated in one physical |
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h index d843ed0e9b2e..0005adb0f941 100644 --- a/arch/x86/include/asm/irq_vectors.h +++ b/arch/x86/include/asm/irq_vectors.h | |||
@@ -101,30 +101,22 @@ | |||
101 | #define LAST_VM86_IRQ 15 | 101 | #define LAST_VM86_IRQ 15 |
102 | #define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15) | 102 | #define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15) |
103 | 103 | ||
104 | #ifdef CONFIG_X86_64 | 104 | #if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_X86_VOYAGER) |
105 | # if NR_CPUS < MAX_IO_APICS | 105 | # if NR_CPUS < MAX_IO_APICS |
106 | # define NR_IRQS (NR_VECTORS + (32 * NR_CPUS)) | 106 | # define NR_IRQS (NR_VECTORS + (32 * NR_CPUS)) |
107 | # else | 107 | # else |
108 | # define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS)) | 108 | # define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS)) |
109 | # endif | 109 | # endif |
110 | 110 | ||
111 | #elif !defined(CONFIG_X86_VOYAGER) | 111 | #elif defined(CONFIG_X86_VOYAGER) |
112 | 112 | ||
113 | # if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS) | 113 | # define NR_IRQS 224 |
114 | |||
115 | # define NR_IRQS 224 | ||
116 | |||
117 | # else /* IO_APIC || PARAVIRT */ | ||
118 | |||
119 | # define NR_IRQS 16 | ||
120 | |||
121 | # endif | ||
122 | 114 | ||
123 | #else /* !VISWS && !VOYAGER */ | 115 | #else /* IO_APIC || VOYAGER */ |
124 | 116 | ||
125 | # define NR_IRQS 224 | 117 | # define NR_IRQS 16 |
126 | 118 | ||
127 | #endif /* VISWS */ | 119 | #endif |
128 | 120 | ||
129 | /* Voyager specific defines */ | 121 | /* Voyager specific defines */ |
130 | /* These define the CPIs we use in linux */ | 122 | /* These define the CPIs we use in linux */ |
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index 90ac7718469a..4850e4b02b61 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h | |||
@@ -154,7 +154,7 @@ extern unsigned long node_remap_size[]; | |||
154 | 154 | ||
155 | #endif | 155 | #endif |
156 | 156 | ||
157 | /* sched_domains SD_NODE_INIT for NUMAQ machines */ | 157 | /* sched_domains SD_NODE_INIT for NUMA machines */ |
158 | #define SD_NODE_INIT (struct sched_domain) { \ | 158 | #define SD_NODE_INIT (struct sched_domain) { \ |
159 | .min_interval = 8, \ | 159 | .min_interval = 8, \ |
160 | .max_interval = 32, \ | 160 | .max_interval = 32, \ |
@@ -169,8 +169,9 @@ extern unsigned long node_remap_size[]; | |||
169 | .flags = SD_LOAD_BALANCE \ | 169 | .flags = SD_LOAD_BALANCE \ |
170 | | SD_BALANCE_EXEC \ | 170 | | SD_BALANCE_EXEC \ |
171 | | SD_BALANCE_FORK \ | 171 | | SD_BALANCE_FORK \ |
172 | | SD_SERIALIZE \ | 172 | | SD_WAKE_AFFINE \ |
173 | | SD_WAKE_BALANCE, \ | 173 | | SD_WAKE_BALANCE \ |
174 | | SD_SERIALIZE, \ | ||
174 | .last_balance = jiffies, \ | 175 | .last_balance = jiffies, \ |
175 | .balance_interval = 1, \ | 176 | .balance_interval = 1, \ |
176 | } | 177 | } |
diff --git a/arch/x86/include/asm/voyager.h b/arch/x86/include/asm/voyager.h index 9c811d2e6f91..b3e647307625 100644 --- a/arch/x86/include/asm/voyager.h +++ b/arch/x86/include/asm/voyager.h | |||
@@ -520,6 +520,7 @@ extern void voyager_restart(void); | |||
520 | extern void voyager_cat_power_off(void); | 520 | extern void voyager_cat_power_off(void); |
521 | extern void voyager_cat_do_common_interrupt(void); | 521 | extern void voyager_cat_do_common_interrupt(void); |
522 | extern void voyager_handle_nmi(void); | 522 | extern void voyager_handle_nmi(void); |
523 | extern void voyager_smp_intr_init(void); | ||
523 | /* Commands for the following are */ | 524 | /* Commands for the following are */ |
524 | #define VOYAGER_PSI_READ 0 | 525 | #define VOYAGER_PSI_READ 0 |
525 | #define VOYAGER_PSI_WRITE 1 | 526 | #define VOYAGER_PSI_WRITE 1 |
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index a8fd9ebdc8e2..331b318304eb 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -50,7 +50,7 @@ static int dma_ops_unity_map(struct dma_ops_domain *dma_dom, | |||
50 | /* returns !0 if the IOMMU is caching non-present entries in its TLB */ | 50 | /* returns !0 if the IOMMU is caching non-present entries in its TLB */ |
51 | static int iommu_has_npcache(struct amd_iommu *iommu) | 51 | static int iommu_has_npcache(struct amd_iommu *iommu) |
52 | { | 52 | { |
53 | return iommu->cap & IOMMU_CAP_NPCACHE; | 53 | return iommu->cap & (1UL << IOMMU_CAP_NPCACHE); |
54 | } | 54 | } |
55 | 55 | ||
56 | /**************************************************************************** | 56 | /**************************************************************************** |
@@ -536,6 +536,9 @@ static void dma_ops_free_addresses(struct dma_ops_domain *dom, | |||
536 | { | 536 | { |
537 | address >>= PAGE_SHIFT; | 537 | address >>= PAGE_SHIFT; |
538 | iommu_area_free(dom->bitmap, address, pages); | 538 | iommu_area_free(dom->bitmap, address, pages); |
539 | |||
540 | if (address + pages >= dom->next_bit) | ||
541 | dom->need_flush = true; | ||
539 | } | 542 | } |
540 | 543 | ||
541 | /**************************************************************************** | 544 | /**************************************************************************** |
@@ -992,8 +995,10 @@ static void __unmap_single(struct amd_iommu *iommu, | |||
992 | 995 | ||
993 | dma_ops_free_addresses(dma_dom, dma_addr, pages); | 996 | dma_ops_free_addresses(dma_dom, dma_addr, pages); |
994 | 997 | ||
995 | if (amd_iommu_unmap_flush) | 998 | if (amd_iommu_unmap_flush || dma_dom->need_flush) { |
996 | iommu_flush_pages(iommu, dma_dom->domain.id, dma_addr, size); | 999 | iommu_flush_pages(iommu, dma_dom->domain.id, dma_addr, size); |
1000 | dma_dom->need_flush = false; | ||
1001 | } | ||
997 | } | 1002 | } |
998 | 1003 | ||
999 | /* | 1004 | /* |
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 003a65395bd5..b9c9ea0217a9 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/pat.h> | 20 | #include <asm/pat.h> |
21 | #include <asm/asm.h> | 21 | #include <asm/asm.h> |
22 | #include <asm/numa.h> | 22 | #include <asm/numa.h> |
23 | #include <asm/smp.h> | ||
23 | #ifdef CONFIG_X86_LOCAL_APIC | 24 | #ifdef CONFIG_X86_LOCAL_APIC |
24 | #include <asm/mpspec.h> | 25 | #include <asm/mpspec.h> |
25 | #include <asm/apic.h> | 26 | #include <asm/apic.h> |
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index ce97bf3bed12..7aafeb5263ef 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -1290,15 +1290,17 @@ void __init e820_reserve_resources(void) | |||
1290 | res->start = e820.map[i].addr; | 1290 | res->start = e820.map[i].addr; |
1291 | res->end = end; | 1291 | res->end = end; |
1292 | 1292 | ||
1293 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 1293 | res->flags = IORESOURCE_MEM; |
1294 | 1294 | ||
1295 | /* | 1295 | /* |
1296 | * don't register the region that could be conflicted with | 1296 | * don't register the region that could be conflicted with |
1297 | * pci device BAR resource and insert them later in | 1297 | * pci device BAR resource and insert them later in |
1298 | * pcibios_resource_survey() | 1298 | * pcibios_resource_survey() |
1299 | */ | 1299 | */ |
1300 | if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) | 1300 | if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) { |
1301 | res->flags |= IORESOURCE_BUSY; | ||
1301 | insert_resource(&iomem_resource, res); | 1302 | insert_resource(&iomem_resource, res); |
1303 | } | ||
1302 | res++; | 1304 | res++; |
1303 | } | 1305 | } |
1304 | 1306 | ||
@@ -1318,7 +1320,7 @@ void __init e820_reserve_resources_late(void) | |||
1318 | res = e820_res; | 1320 | res = e820_res; |
1319 | for (i = 0; i < e820.nr_map; i++) { | 1321 | for (i = 0; i < e820.nr_map; i++) { |
1320 | if (!res->parent && res->end) | 1322 | if (!res->parent && res->end) |
1321 | reserve_region_with_split(&iomem_resource, res->start, res->end, res->name); | 1323 | insert_resource_expand_to_fit(&iomem_resource, res); |
1322 | res++; | 1324 | res++; |
1323 | } | 1325 | } |
1324 | } | 1326 | } |
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c index b764d7429c61..7a3f2028e2eb 100644 --- a/arch/x86/kernel/io_apic.c +++ b/arch/x86/kernel/io_apic.c | |||
@@ -3611,6 +3611,8 @@ int __init probe_nr_irqs(void) | |||
3611 | /* something wrong ? */ | 3611 | /* something wrong ? */ |
3612 | if (nr < nr_min) | 3612 | if (nr < nr_min) |
3613 | nr = nr_min; | 3613 | nr = nr_min; |
3614 | if (WARN_ON(nr > NR_IRQS)) | ||
3615 | nr = NR_IRQS; | ||
3614 | 3616 | ||
3615 | return nr; | 3617 | return nr; |
3616 | } | 3618 | } |
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index f4c93f1cfc19..724adfc63cb9 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c | |||
@@ -29,11 +29,7 @@ EXPORT_SYMBOL(pm_power_off); | |||
29 | 29 | ||
30 | static const struct desc_ptr no_idt = {}; | 30 | static const struct desc_ptr no_idt = {}; |
31 | static int reboot_mode; | 31 | static int reboot_mode; |
32 | /* | 32 | enum reboot_type reboot_type = BOOT_KBD; |
33 | * Keyboard reset and triple fault may result in INIT, not RESET, which | ||
34 | * doesn't work when we're in vmx root mode. Try ACPI first. | ||
35 | */ | ||
36 | enum reboot_type reboot_type = BOOT_ACPI; | ||
37 | int reboot_force; | 33 | int reboot_force; |
38 | 34 | ||
39 | #if defined(CONFIG_X86_32) && defined(CONFIG_SMP) | 35 | #if defined(CONFIG_X86_32) && defined(CONFIG_SMP) |
diff --git a/arch/x86/kernel/tlb_32.c b/arch/x86/kernel/tlb_32.c index e00534b33534..f4049f3513b6 100644 --- a/arch/x86/kernel/tlb_32.c +++ b/arch/x86/kernel/tlb_32.c | |||
@@ -154,6 +154,12 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, | |||
154 | flush_mm = mm; | 154 | flush_mm = mm; |
155 | flush_va = va; | 155 | flush_va = va; |
156 | cpus_or(flush_cpumask, cpumask, flush_cpumask); | 156 | cpus_or(flush_cpumask, cpumask, flush_cpumask); |
157 | |||
158 | /* | ||
159 | * Make the above memory operations globally visible before | ||
160 | * sending the IPI. | ||
161 | */ | ||
162 | smp_mb(); | ||
157 | /* | 163 | /* |
158 | * We have to send the IPI only to | 164 | * We have to send the IPI only to |
159 | * CPUs affected. | 165 | * CPUs affected. |
diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c index dcbf7a1159ea..8f919ca69494 100644 --- a/arch/x86/kernel/tlb_64.c +++ b/arch/x86/kernel/tlb_64.c | |||
@@ -183,6 +183,11 @@ void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, | |||
183 | cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask); | 183 | cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask); |
184 | 184 | ||
185 | /* | 185 | /* |
186 | * Make the above memory operations globally visible before | ||
187 | * sending the IPI. | ||
188 | */ | ||
189 | smp_mb(); | ||
190 | /* | ||
186 | * We have to send the IPI only to | 191 | * We have to send the IPI only to |
187 | * CPUs affected. | 192 | * CPUs affected. |
188 | */ | 193 | */ |
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 62348e4fd8d1..2ef80e301925 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c | |||
@@ -813,10 +813,6 @@ void __init tsc_init(void) | |||
813 | cpu_khz = calibrate_cpu(); | 813 | cpu_khz = calibrate_cpu(); |
814 | #endif | 814 | #endif |
815 | 815 | ||
816 | lpj = ((u64)tsc_khz * 1000); | ||
817 | do_div(lpj, HZ); | ||
818 | lpj_fine = lpj; | ||
819 | |||
820 | printk("Detected %lu.%03lu MHz processor.\n", | 816 | printk("Detected %lu.%03lu MHz processor.\n", |
821 | (unsigned long)cpu_khz / 1000, | 817 | (unsigned long)cpu_khz / 1000, |
822 | (unsigned long)cpu_khz % 1000); | 818 | (unsigned long)cpu_khz % 1000); |
@@ -836,6 +832,10 @@ void __init tsc_init(void) | |||
836 | /* now allow native_sched_clock() to use rdtsc */ | 832 | /* now allow native_sched_clock() to use rdtsc */ |
837 | tsc_disabled = 0; | 833 | tsc_disabled = 0; |
838 | 834 | ||
835 | lpj = ((u64)tsc_khz * 1000); | ||
836 | do_div(lpj, HZ); | ||
837 | lpj_fine = lpj; | ||
838 | |||
839 | use_tsc_delay(); | 839 | use_tsc_delay(); |
840 | /* Check and install the TSC clocksource */ | 840 | /* Check and install the TSC clocksource */ |
841 | dmi_check_system(bad_tsc_dmi_table); | 841 | dmi_check_system(bad_tsc_dmi_table); |
diff --git a/arch/x86/mach-voyager/setup.c b/arch/x86/mach-voyager/setup.c index 6bbdd633864c..a580b9562e76 100644 --- a/arch/x86/mach-voyager/setup.c +++ b/arch/x86/mach-voyager/setup.c | |||
@@ -27,7 +27,7 @@ static struct irqaction irq2 = { | |||
27 | void __init intr_init_hook(void) | 27 | void __init intr_init_hook(void) |
28 | { | 28 | { |
29 | #ifdef CONFIG_SMP | 29 | #ifdef CONFIG_SMP |
30 | smp_intr_init(); | 30 | voyager_smp_intr_init(); |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | setup_irq(2, &irq2); | 33 | setup_irq(2, &irq2); |
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c index 7f4c6af14351..0e331652681e 100644 --- a/arch/x86/mach-voyager/voyager_smp.c +++ b/arch/x86/mach-voyager/voyager_smp.c | |||
@@ -1258,7 +1258,7 @@ static void handle_vic_irq(unsigned int irq, struct irq_desc *desc) | |||
1258 | #define QIC_SET_GATE(cpi, vector) \ | 1258 | #define QIC_SET_GATE(cpi, vector) \ |
1259 | set_intr_gate((cpi) + QIC_DEFAULT_CPI_BASE, (vector)) | 1259 | set_intr_gate((cpi) + QIC_DEFAULT_CPI_BASE, (vector)) |
1260 | 1260 | ||
1261 | void __init smp_intr_init(void) | 1261 | void __init voyager_smp_intr_init(void) |
1262 | { | 1262 | { |
1263 | int i; | 1263 | int i; |
1264 | 1264 | ||
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile index 59f89b434b45..fea4565ff576 100644 --- a/arch/x86/mm/Makefile +++ b/arch/x86/mm/Makefile | |||
@@ -1,7 +1,7 @@ | |||
1 | obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \ | 1 | obj-y := init_$(BITS).o fault.o ioremap.o extable.o pageattr.o mmap.o \ |
2 | pat.o pgtable.o gup.o | 2 | pat.o pgtable.o gup.o |
3 | 3 | ||
4 | obj-$(CONFIG_X86_32) += pgtable_32.o | 4 | obj-$(CONFIG_X86_32) += pgtable_32.o iomap_32.o |
5 | 5 | ||
6 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o | 6 | obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o |
7 | obj-$(CONFIG_X86_PTDUMP) += dump_pagetables.o | 7 | obj-$(CONFIG_X86_PTDUMP) += dump_pagetables.o |
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 8396868e82c5..c483f4242079 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -334,7 +334,6 @@ int devmem_is_allowed(unsigned long pagenr) | |||
334 | return 0; | 334 | return 0; |
335 | } | 335 | } |
336 | 336 | ||
337 | #ifdef CONFIG_HIGHMEM | ||
338 | pte_t *kmap_pte; | 337 | pte_t *kmap_pte; |
339 | pgprot_t kmap_prot; | 338 | pgprot_t kmap_prot; |
340 | 339 | ||
@@ -357,6 +356,7 @@ static void __init kmap_init(void) | |||
357 | kmap_prot = PAGE_KERNEL; | 356 | kmap_prot = PAGE_KERNEL; |
358 | } | 357 | } |
359 | 358 | ||
359 | #ifdef CONFIG_HIGHMEM | ||
360 | static void __init permanent_kmaps_init(pgd_t *pgd_base) | 360 | static void __init permanent_kmaps_init(pgd_t *pgd_base) |
361 | { | 361 | { |
362 | unsigned long vaddr; | 362 | unsigned long vaddr; |
@@ -436,7 +436,6 @@ static void __init set_highmem_pages_init(void) | |||
436 | #endif /* !CONFIG_NUMA */ | 436 | #endif /* !CONFIG_NUMA */ |
437 | 437 | ||
438 | #else | 438 | #else |
439 | # define kmap_init() do { } while (0) | ||
440 | # define permanent_kmaps_init(pgd_base) do { } while (0) | 439 | # define permanent_kmaps_init(pgd_base) do { } while (0) |
441 | # define set_highmem_pages_init() do { } while (0) | 440 | # define set_highmem_pages_init() do { } while (0) |
442 | #endif /* CONFIG_HIGHMEM */ | 441 | #endif /* CONFIG_HIGHMEM */ |
diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c new file mode 100644 index 000000000000..d0151d8ce452 --- /dev/null +++ b/arch/x86/mm/iomap_32.c | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * Copyright © 2008 Ingo Molnar | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but | ||
10 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
12 | * General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
17 | */ | ||
18 | |||
19 | #include <asm/iomap.h> | ||
20 | #include <linux/module.h> | ||
21 | |||
22 | /* Map 'pfn' using fixed map 'type' and protections 'prot' | ||
23 | */ | ||
24 | void * | ||
25 | iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot) | ||
26 | { | ||
27 | enum fixed_addresses idx; | ||
28 | unsigned long vaddr; | ||
29 | |||
30 | pagefault_disable(); | ||
31 | |||
32 | idx = type + KM_TYPE_NR*smp_processor_id(); | ||
33 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | ||
34 | set_pte(kmap_pte-idx, pfn_pte(pfn, prot)); | ||
35 | arch_flush_lazy_mmu_mode(); | ||
36 | |||
37 | return (void*) vaddr; | ||
38 | } | ||
39 | EXPORT_SYMBOL_GPL(iomap_atomic_prot_pfn); | ||
40 | |||
41 | void | ||
42 | iounmap_atomic(void *kvaddr, enum km_type type) | ||
43 | { | ||
44 | unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK; | ||
45 | enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id(); | ||
46 | |||
47 | /* | ||
48 | * Force other mappings to Oops if they'll try to access this pte | ||
49 | * without first remap it. Keeping stale mappings around is a bad idea | ||
50 | * also, in case the page changes cacheability attributes or becomes | ||
51 | * a protected page in a hypervisor. | ||
52 | */ | ||
53 | if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx)) | ||
54 | kpte_clear_flush(kmap_pte-idx, vaddr); | ||
55 | |||
56 | arch_flush_lazy_mmu_mode(); | ||
57 | pagefault_enable(); | ||
58 | } | ||
59 | EXPORT_SYMBOL_GPL(iounmap_atomic); | ||
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index f1dc1b75d166..e89d24815f26 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -67,18 +67,18 @@ static void split_page_count(int level) | |||
67 | 67 | ||
68 | void arch_report_meminfo(struct seq_file *m) | 68 | void arch_report_meminfo(struct seq_file *m) |
69 | { | 69 | { |
70 | seq_printf(m, "DirectMap4k: %8lu kB\n", | 70 | seq_printf(m, "DirectMap4k: %8lu kB\n", |
71 | direct_pages_count[PG_LEVEL_4K] << 2); | 71 | direct_pages_count[PG_LEVEL_4K] << 2); |
72 | #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) | 72 | #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE) |
73 | seq_printf(m, "DirectMap2M: %8lu kB\n", | 73 | seq_printf(m, "DirectMap2M: %8lu kB\n", |
74 | direct_pages_count[PG_LEVEL_2M] << 11); | 74 | direct_pages_count[PG_LEVEL_2M] << 11); |
75 | #else | 75 | #else |
76 | seq_printf(m, "DirectMap4M: %8lu kB\n", | 76 | seq_printf(m, "DirectMap4M: %8lu kB\n", |
77 | direct_pages_count[PG_LEVEL_2M] << 12); | 77 | direct_pages_count[PG_LEVEL_2M] << 12); |
78 | #endif | 78 | #endif |
79 | #ifdef CONFIG_X86_64 | 79 | #ifdef CONFIG_X86_64 |
80 | if (direct_gbpages) | 80 | if (direct_gbpages) |
81 | seq_printf(m, "DirectMap1G: %8lu kB\n", | 81 | seq_printf(m, "DirectMap1G: %8lu kB\n", |
82 | direct_pages_count[PG_LEVEL_1G] << 20); | 82 | direct_pages_count[PG_LEVEL_1G] << 20); |
83 | #endif | 83 | #endif |
84 | } | 84 | } |
diff --git a/block/blk-core.c b/block/blk-core.c index c3df30cfb3fc..10e8a64a5a5b 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -1770,8 +1770,6 @@ static void end_that_request_last(struct request *req, int error) | |||
1770 | { | 1770 | { |
1771 | struct gendisk *disk = req->rq_disk; | 1771 | struct gendisk *disk = req->rq_disk; |
1772 | 1772 | ||
1773 | blk_delete_timer(req); | ||
1774 | |||
1775 | if (blk_rq_tagged(req)) | 1773 | if (blk_rq_tagged(req)) |
1776 | blk_queue_end_tag(req->q, req); | 1774 | blk_queue_end_tag(req->q, req); |
1777 | 1775 | ||
@@ -1781,6 +1779,8 @@ static void end_that_request_last(struct request *req, int error) | |||
1781 | if (unlikely(laptop_mode) && blk_fs_request(req)) | 1779 | if (unlikely(laptop_mode) && blk_fs_request(req)) |
1782 | laptop_io_completion(); | 1780 | laptop_io_completion(); |
1783 | 1781 | ||
1782 | blk_delete_timer(req); | ||
1783 | |||
1784 | /* | 1784 | /* |
1785 | * Account IO completion. bar_rq isn't accounted as a normal | 1785 | * Account IO completion. bar_rq isn't accounted as a normal |
1786 | * IO on queueing nor completion. Accounting the containing | 1786 | * IO on queueing nor completion. Accounting the containing |
diff --git a/block/blk-merge.c b/block/blk-merge.c index 8681cd6f9911..b92f5b0866b0 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c | |||
@@ -222,27 +222,6 @@ new_segment: | |||
222 | } | 222 | } |
223 | EXPORT_SYMBOL(blk_rq_map_sg); | 223 | EXPORT_SYMBOL(blk_rq_map_sg); |
224 | 224 | ||
225 | static inline int ll_new_mergeable(struct request_queue *q, | ||
226 | struct request *req, | ||
227 | struct bio *bio) | ||
228 | { | ||
229 | int nr_phys_segs = bio_phys_segments(q, bio); | ||
230 | |||
231 | if (req->nr_phys_segments + nr_phys_segs > q->max_phys_segments) { | ||
232 | req->cmd_flags |= REQ_NOMERGE; | ||
233 | if (req == q->last_merge) | ||
234 | q->last_merge = NULL; | ||
235 | return 0; | ||
236 | } | ||
237 | |||
238 | /* | ||
239 | * A hw segment is just getting larger, bump just the phys | ||
240 | * counter. | ||
241 | */ | ||
242 | req->nr_phys_segments += nr_phys_segs; | ||
243 | return 1; | ||
244 | } | ||
245 | |||
246 | static inline int ll_new_hw_segment(struct request_queue *q, | 225 | static inline int ll_new_hw_segment(struct request_queue *q, |
247 | struct request *req, | 226 | struct request *req, |
248 | struct bio *bio) | 227 | struct bio *bio) |
diff --git a/block/blk-timeout.c b/block/blk-timeout.c index 972a63f848fb..69185ea9fae2 100644 --- a/block/blk-timeout.c +++ b/block/blk-timeout.c | |||
@@ -75,14 +75,7 @@ void blk_delete_timer(struct request *req) | |||
75 | { | 75 | { |
76 | struct request_queue *q = req->q; | 76 | struct request_queue *q = req->q; |
77 | 77 | ||
78 | /* | ||
79 | * Nothing to detach | ||
80 | */ | ||
81 | if (!q->rq_timed_out_fn || !req->deadline) | ||
82 | return; | ||
83 | |||
84 | list_del_init(&req->timeout_list); | 78 | list_del_init(&req->timeout_list); |
85 | |||
86 | if (list_empty(&q->timeout_list)) | 79 | if (list_empty(&q->timeout_list)) |
87 | del_timer(&q->timeout); | 80 | del_timer(&q->timeout); |
88 | } | 81 | } |
@@ -142,7 +135,7 @@ void blk_rq_timed_out_timer(unsigned long data) | |||
142 | } | 135 | } |
143 | 136 | ||
144 | if (next_set && !list_empty(&q->timeout_list)) | 137 | if (next_set && !list_empty(&q->timeout_list)) |
145 | mod_timer(&q->timeout, round_jiffies(next)); | 138 | mod_timer(&q->timeout, round_jiffies_up(next)); |
146 | 139 | ||
147 | spin_unlock_irqrestore(q->queue_lock, flags); | 140 | spin_unlock_irqrestore(q->queue_lock, flags); |
148 | } | 141 | } |
@@ -198,17 +191,10 @@ void blk_add_timer(struct request *req) | |||
198 | 191 | ||
199 | /* | 192 | /* |
200 | * If the timer isn't already pending or this timeout is earlier | 193 | * If the timer isn't already pending or this timeout is earlier |
201 | * than an existing one, modify the timer. Round to next nearest | 194 | * than an existing one, modify the timer. Round up to next nearest |
202 | * second. | 195 | * second. |
203 | */ | 196 | */ |
204 | expiry = round_jiffies(req->deadline); | 197 | expiry = round_jiffies_up(req->deadline); |
205 | |||
206 | /* | ||
207 | * We use ->deadline == 0 to detect whether a timer was added or | ||
208 | * not, so just increase to next jiffy for that specific case | ||
209 | */ | ||
210 | if (unlikely(!req->deadline)) | ||
211 | req->deadline = 1; | ||
212 | 198 | ||
213 | if (!timer_pending(&q->timeout) || | 199 | if (!timer_pending(&q->timeout) || |
214 | time_before(expiry, q->timeout.expires)) | 200 | time_before(expiry, q->timeout.expires)) |
diff --git a/block/elevator.c b/block/elevator.c index 59173a69ebdf..9ac82dde99dd 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -773,12 +773,6 @@ struct request *elv_next_request(struct request_queue *q) | |||
773 | */ | 773 | */ |
774 | rq->cmd_flags |= REQ_STARTED; | 774 | rq->cmd_flags |= REQ_STARTED; |
775 | blk_add_trace_rq(q, rq, BLK_TA_ISSUE); | 775 | blk_add_trace_rq(q, rq, BLK_TA_ISSUE); |
776 | |||
777 | /* | ||
778 | * We are now handing the request to the hardware, | ||
779 | * add the timeout handler | ||
780 | */ | ||
781 | blk_add_timer(rq); | ||
782 | } | 776 | } |
783 | 777 | ||
784 | if (!q->boundary_rq || q->boundary_rq == rq) { | 778 | if (!q->boundary_rq || q->boundary_rq == rq) { |
@@ -850,6 +844,12 @@ void elv_dequeue_request(struct request_queue *q, struct request *rq) | |||
850 | */ | 844 | */ |
851 | if (blk_account_rq(rq)) | 845 | if (blk_account_rq(rq)) |
852 | q->in_flight++; | 846 | q->in_flight++; |
847 | |||
848 | /* | ||
849 | * We are now handing the request to the hardware, add the | ||
850 | * timeout handler. | ||
851 | */ | ||
852 | blk_add_timer(rq); | ||
853 | } | 853 | } |
854 | EXPORT_SYMBOL(elv_dequeue_request); | 854 | EXPORT_SYMBOL(elv_dequeue_request); |
855 | 855 | ||
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 52dc2d8b8f22..8e37be19bbf5 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -738,7 +738,6 @@ static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev) | |||
738 | * do_pata_set_dmamode - Initialize host controller PATA PIO timings | 738 | * do_pata_set_dmamode - Initialize host controller PATA PIO timings |
739 | * @ap: Port whose timings we are configuring | 739 | * @ap: Port whose timings we are configuring |
740 | * @adev: Drive in question | 740 | * @adev: Drive in question |
741 | * @udma: udma mode, 0 - 6 | ||
742 | * @isich: set if the chip is an ICH device | 741 | * @isich: set if the chip is an ICH device |
743 | * | 742 | * |
744 | * Set UDMA mode for device, in host controller PCI config space. | 743 | * Set UDMA mode for device, in host controller PCI config space. |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 2ff633c119e2..622350d9b2e3 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -1268,7 +1268,7 @@ u64 ata_tf_to_lba48(const struct ata_taskfile *tf) | |||
1268 | 1268 | ||
1269 | sectors |= ((u64)(tf->hob_lbah & 0xff)) << 40; | 1269 | sectors |= ((u64)(tf->hob_lbah & 0xff)) << 40; |
1270 | sectors |= ((u64)(tf->hob_lbam & 0xff)) << 32; | 1270 | sectors |= ((u64)(tf->hob_lbam & 0xff)) << 32; |
1271 | sectors |= (tf->hob_lbal & 0xff) << 24; | 1271 | sectors |= ((u64)(tf->hob_lbal & 0xff)) << 24; |
1272 | sectors |= (tf->lbah & 0xff) << 16; | 1272 | sectors |= (tf->lbah & 0xff) << 16; |
1273 | sectors |= (tf->lbam & 0xff) << 8; | 1273 | sectors |= (tf->lbam & 0xff) << 8; |
1274 | sectors |= (tf->lbal & 0xff); | 1274 | sectors |= (tf->lbal & 0xff); |
@@ -1602,7 +1602,6 @@ unsigned long ata_id_xfermask(const u16 *id) | |||
1602 | /** | 1602 | /** |
1603 | * ata_pio_queue_task - Queue port_task | 1603 | * ata_pio_queue_task - Queue port_task |
1604 | * @ap: The ata_port to queue port_task for | 1604 | * @ap: The ata_port to queue port_task for |
1605 | * @fn: workqueue function to be scheduled | ||
1606 | * @data: data for @fn to use | 1605 | * @data: data for @fn to use |
1607 | * @delay: delay time in msecs for workqueue function | 1606 | * @delay: delay time in msecs for workqueue function |
1608 | * | 1607 | * |
@@ -2159,6 +2158,10 @@ retry: | |||
2159 | static inline u8 ata_dev_knobble(struct ata_device *dev) | 2158 | static inline u8 ata_dev_knobble(struct ata_device *dev) |
2160 | { | 2159 | { |
2161 | struct ata_port *ap = dev->link->ap; | 2160 | struct ata_port *ap = dev->link->ap; |
2161 | |||
2162 | if (ata_dev_blacklisted(dev) & ATA_HORKAGE_BRIDGE_OK) | ||
2163 | return 0; | ||
2164 | |||
2162 | return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev->id))); | 2165 | return ((ap->cbl == ATA_CBL_SATA) && (!ata_id_is_sata(dev->id))); |
2163 | } | 2166 | } |
2164 | 2167 | ||
@@ -4021,6 +4024,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { | |||
4021 | 4024 | ||
4022 | /* Weird ATAPI devices */ | 4025 | /* Weird ATAPI devices */ |
4023 | { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, | 4026 | { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, |
4027 | { "QUANTUM DAT DAT72-000", NULL, ATA_HORKAGE_ATAPI_MOD16_DMA }, | ||
4024 | 4028 | ||
4025 | /* Devices we expect to fail diagnostics */ | 4029 | /* Devices we expect to fail diagnostics */ |
4026 | 4030 | ||
@@ -4063,6 +4067,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { | |||
4063 | { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, }, | 4067 | { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, }, |
4064 | { "TSSTcorp CDDVDW SH-S202N", "SB01", ATA_HORKAGE_IVB, }, | 4068 | { "TSSTcorp CDDVDW SH-S202N", "SB01", ATA_HORKAGE_IVB, }, |
4065 | 4069 | ||
4070 | /* Devices that do not need bridging limits applied */ | ||
4071 | { "MTRON MSP-SATA*", NULL, ATA_HORKAGE_BRIDGE_OK, }, | ||
4072 | |||
4066 | /* End Marker */ | 4073 | /* End Marker */ |
4067 | { } | 4074 | { } |
4068 | }; | 4075 | }; |
@@ -4438,7 +4445,8 @@ int atapi_check_dma(struct ata_queued_cmd *qc) | |||
4438 | /* Don't allow DMA if it isn't multiple of 16 bytes. Quite a | 4445 | /* Don't allow DMA if it isn't multiple of 16 bytes. Quite a |
4439 | * few ATAPI devices choke on such DMA requests. | 4446 | * few ATAPI devices choke on such DMA requests. |
4440 | */ | 4447 | */ |
4441 | if (unlikely(qc->nbytes & 15)) | 4448 | if (!(qc->dev->horkage & ATA_HORKAGE_ATAPI_MOD16_DMA) && |
4449 | unlikely(qc->nbytes & 15)) | ||
4442 | return 1; | 4450 | return 1; |
4443 | 4451 | ||
4444 | if (ap->ops->check_atapi_dma) | 4452 | if (ap->ops->check_atapi_dma) |
@@ -4648,7 +4656,6 @@ static void ata_verify_xfer(struct ata_queued_cmd *qc) | |||
4648 | /** | 4656 | /** |
4649 | * ata_qc_complete - Complete an active ATA command | 4657 | * ata_qc_complete - Complete an active ATA command |
4650 | * @qc: Command to complete | 4658 | * @qc: Command to complete |
4651 | * @err_mask: ATA Status register contents | ||
4652 | * | 4659 | * |
4653 | * Indicate to the mid and upper layers that an ATA | 4660 | * Indicate to the mid and upper layers that an ATA |
4654 | * command has completed, with either an ok or not-ok status. | 4661 | * command has completed, with either an ok or not-ok status. |
@@ -5929,7 +5936,7 @@ static void ata_port_detach(struct ata_port *ap) | |||
5929 | * to us. Restore SControl and disable all existing devices. | 5936 | * to us. Restore SControl and disable all existing devices. |
5930 | */ | 5937 | */ |
5931 | __ata_port_for_each_link(link, ap) { | 5938 | __ata_port_for_each_link(link, ap) { |
5932 | sata_scr_write(link, SCR_CONTROL, link->saved_scontrol); | 5939 | sata_scr_write(link, SCR_CONTROL, link->saved_scontrol & 0xff0); |
5933 | ata_link_for_each_dev(dev, link) | 5940 | ata_link_for_each_dev(dev, link) |
5934 | ata_dev_disable(dev); | 5941 | ata_dev_disable(dev); |
5935 | } | 5942 | } |
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index bbb30d882f05..3fa75eac135d 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
@@ -190,7 +190,7 @@ static ssize_t ata_scsi_park_show(struct device *device, | |||
190 | struct ata_port *ap; | 190 | struct ata_port *ap; |
191 | struct ata_link *link; | 191 | struct ata_link *link; |
192 | struct ata_device *dev; | 192 | struct ata_device *dev; |
193 | unsigned long flags; | 193 | unsigned long flags, now; |
194 | unsigned int uninitialized_var(msecs); | 194 | unsigned int uninitialized_var(msecs); |
195 | int rc = 0; | 195 | int rc = 0; |
196 | 196 | ||
@@ -208,10 +208,11 @@ static ssize_t ata_scsi_park_show(struct device *device, | |||
208 | } | 208 | } |
209 | 209 | ||
210 | link = dev->link; | 210 | link = dev->link; |
211 | now = jiffies; | ||
211 | if (ap->pflags & ATA_PFLAG_EH_IN_PROGRESS && | 212 | if (ap->pflags & ATA_PFLAG_EH_IN_PROGRESS && |
212 | link->eh_context.unloaded_mask & (1 << dev->devno) && | 213 | link->eh_context.unloaded_mask & (1 << dev->devno) && |
213 | time_after(dev->unpark_deadline, jiffies)) | 214 | time_after(dev->unpark_deadline, now)) |
214 | msecs = jiffies_to_msecs(dev->unpark_deadline - jiffies); | 215 | msecs = jiffies_to_msecs(dev->unpark_deadline - now); |
215 | else | 216 | else |
216 | msecs = 0; | 217 | msecs = 0; |
217 | 218 | ||
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index fae3841de0d8..6f1460614325 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -307,10 +307,10 @@ static int nv_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); | |||
307 | 307 | ||
308 | static void nv_nf2_freeze(struct ata_port *ap); | 308 | static void nv_nf2_freeze(struct ata_port *ap); |
309 | static void nv_nf2_thaw(struct ata_port *ap); | 309 | static void nv_nf2_thaw(struct ata_port *ap); |
310 | static int nv_nf2_hardreset(struct ata_link *link, unsigned int *class, | ||
311 | unsigned long deadline); | ||
310 | static void nv_ck804_freeze(struct ata_port *ap); | 312 | static void nv_ck804_freeze(struct ata_port *ap); |
311 | static void nv_ck804_thaw(struct ata_port *ap); | 313 | static void nv_ck804_thaw(struct ata_port *ap); |
312 | static int nv_hardreset(struct ata_link *link, unsigned int *class, | ||
313 | unsigned long deadline); | ||
314 | static int nv_adma_slave_config(struct scsi_device *sdev); | 314 | static int nv_adma_slave_config(struct scsi_device *sdev); |
315 | static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc); | 315 | static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc); |
316 | static void nv_adma_qc_prep(struct ata_queued_cmd *qc); | 316 | static void nv_adma_qc_prep(struct ata_queued_cmd *qc); |
@@ -405,17 +405,8 @@ static struct scsi_host_template nv_swncq_sht = { | |||
405 | .slave_configure = nv_swncq_slave_config, | 405 | .slave_configure = nv_swncq_slave_config, |
406 | }; | 406 | }; |
407 | 407 | ||
408 | /* OSDL bz3352 reports that some nv controllers can't determine device | ||
409 | * signature reliably and nv_hardreset is implemented to work around | ||
410 | * the problem. This was reported on nf3 and it's unclear whether any | ||
411 | * other controllers are affected. However, the workaround has been | ||
412 | * applied to all variants and there isn't much to gain by trying to | ||
413 | * find out exactly which ones are affected at this point especially | ||
414 | * because NV has moved over to ahci for newer controllers. | ||
415 | */ | ||
416 | static struct ata_port_operations nv_common_ops = { | 408 | static struct ata_port_operations nv_common_ops = { |
417 | .inherits = &ata_bmdma_port_ops, | 409 | .inherits = &ata_bmdma_port_ops, |
418 | .hardreset = nv_hardreset, | ||
419 | .scr_read = nv_scr_read, | 410 | .scr_read = nv_scr_read, |
420 | .scr_write = nv_scr_write, | 411 | .scr_write = nv_scr_write, |
421 | }; | 412 | }; |
@@ -429,12 +420,22 @@ static struct ata_port_operations nv_generic_ops = { | |||
429 | .hardreset = ATA_OP_NULL, | 420 | .hardreset = ATA_OP_NULL, |
430 | }; | 421 | }; |
431 | 422 | ||
423 | /* OSDL bz3352 reports that nf2/3 controllers can't determine device | ||
424 | * signature reliably. Also, the following thread reports detection | ||
425 | * failure on cold boot with the standard debouncing timing. | ||
426 | * | ||
427 | * http://thread.gmane.org/gmane.linux.ide/34098 | ||
428 | * | ||
429 | * Debounce with hotplug timing and request follow-up SRST. | ||
430 | */ | ||
432 | static struct ata_port_operations nv_nf2_ops = { | 431 | static struct ata_port_operations nv_nf2_ops = { |
433 | .inherits = &nv_common_ops, | 432 | .inherits = &nv_common_ops, |
434 | .freeze = nv_nf2_freeze, | 433 | .freeze = nv_nf2_freeze, |
435 | .thaw = nv_nf2_thaw, | 434 | .thaw = nv_nf2_thaw, |
435 | .hardreset = nv_nf2_hardreset, | ||
436 | }; | 436 | }; |
437 | 437 | ||
438 | /* CK804 finally gets hardreset right */ | ||
438 | static struct ata_port_operations nv_ck804_ops = { | 439 | static struct ata_port_operations nv_ck804_ops = { |
439 | .inherits = &nv_common_ops, | 440 | .inherits = &nv_common_ops, |
440 | .freeze = nv_ck804_freeze, | 441 | .freeze = nv_ck804_freeze, |
@@ -443,7 +444,7 @@ static struct ata_port_operations nv_ck804_ops = { | |||
443 | }; | 444 | }; |
444 | 445 | ||
445 | static struct ata_port_operations nv_adma_ops = { | 446 | static struct ata_port_operations nv_adma_ops = { |
446 | .inherits = &nv_common_ops, | 447 | .inherits = &nv_ck804_ops, |
447 | 448 | ||
448 | .check_atapi_dma = nv_adma_check_atapi_dma, | 449 | .check_atapi_dma = nv_adma_check_atapi_dma, |
449 | .sff_tf_read = nv_adma_tf_read, | 450 | .sff_tf_read = nv_adma_tf_read, |
@@ -467,7 +468,7 @@ static struct ata_port_operations nv_adma_ops = { | |||
467 | }; | 468 | }; |
468 | 469 | ||
469 | static struct ata_port_operations nv_swncq_ops = { | 470 | static struct ata_port_operations nv_swncq_ops = { |
470 | .inherits = &nv_common_ops, | 471 | .inherits = &nv_generic_ops, |
471 | 472 | ||
472 | .qc_defer = ata_std_qc_defer, | 473 | .qc_defer = ata_std_qc_defer, |
473 | .qc_prep = nv_swncq_qc_prep, | 474 | .qc_prep = nv_swncq_qc_prep, |
@@ -1553,6 +1554,17 @@ static void nv_nf2_thaw(struct ata_port *ap) | |||
1553 | iowrite8(mask, scr_addr + NV_INT_ENABLE); | 1554 | iowrite8(mask, scr_addr + NV_INT_ENABLE); |
1554 | } | 1555 | } |
1555 | 1556 | ||
1557 | static int nv_nf2_hardreset(struct ata_link *link, unsigned int *class, | ||
1558 | unsigned long deadline) | ||
1559 | { | ||
1560 | bool online; | ||
1561 | int rc; | ||
1562 | |||
1563 | rc = sata_link_hardreset(link, sata_deb_timing_hotplug, deadline, | ||
1564 | &online, NULL); | ||
1565 | return online ? -EAGAIN : rc; | ||
1566 | } | ||
1567 | |||
1556 | static void nv_ck804_freeze(struct ata_port *ap) | 1568 | static void nv_ck804_freeze(struct ata_port *ap) |
1557 | { | 1569 | { |
1558 | void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR]; | 1570 | void __iomem *mmio_base = ap->host->iomap[NV_MMIO_BAR]; |
@@ -1605,21 +1617,6 @@ static void nv_mcp55_thaw(struct ata_port *ap) | |||
1605 | ata_sff_thaw(ap); | 1617 | ata_sff_thaw(ap); |
1606 | } | 1618 | } |
1607 | 1619 | ||
1608 | static int nv_hardreset(struct ata_link *link, unsigned int *class, | ||
1609 | unsigned long deadline) | ||
1610 | { | ||
1611 | int rc; | ||
1612 | |||
1613 | /* SATA hardreset fails to retrieve proper device signature on | ||
1614 | * some controllers. Request follow up SRST. For more info, | ||
1615 | * see http://bugzilla.kernel.org/show_bug.cgi?id=3352 | ||
1616 | */ | ||
1617 | rc = sata_sff_hardreset(link, class, deadline); | ||
1618 | if (rc) | ||
1619 | return rc; | ||
1620 | return -EAGAIN; | ||
1621 | } | ||
1622 | |||
1623 | static void nv_adma_error_handler(struct ata_port *ap) | 1620 | static void nv_adma_error_handler(struct ata_port *ap) |
1624 | { | 1621 | { |
1625 | struct nv_adma_port_priv *pp = ap->private_data; | 1622 | struct nv_adma_port_priv *pp = ap->private_data; |
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c index 750d8cdc00cd..ba9a2570a742 100644 --- a/drivers/ata/sata_promise.c +++ b/drivers/ata/sata_promise.c | |||
@@ -153,6 +153,10 @@ static void pdc_freeze(struct ata_port *ap); | |||
153 | static void pdc_sata_freeze(struct ata_port *ap); | 153 | static void pdc_sata_freeze(struct ata_port *ap); |
154 | static void pdc_thaw(struct ata_port *ap); | 154 | static void pdc_thaw(struct ata_port *ap); |
155 | static void pdc_sata_thaw(struct ata_port *ap); | 155 | static void pdc_sata_thaw(struct ata_port *ap); |
156 | static int pdc_pata_softreset(struct ata_link *link, unsigned int *class, | ||
157 | unsigned long deadline); | ||
158 | static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class, | ||
159 | unsigned long deadline); | ||
156 | static void pdc_error_handler(struct ata_port *ap); | 160 | static void pdc_error_handler(struct ata_port *ap); |
157 | static void pdc_post_internal_cmd(struct ata_queued_cmd *qc); | 161 | static void pdc_post_internal_cmd(struct ata_queued_cmd *qc); |
158 | static int pdc_pata_cable_detect(struct ata_port *ap); | 162 | static int pdc_pata_cable_detect(struct ata_port *ap); |
@@ -186,6 +190,7 @@ static struct ata_port_operations pdc_sata_ops = { | |||
186 | .scr_read = pdc_sata_scr_read, | 190 | .scr_read = pdc_sata_scr_read, |
187 | .scr_write = pdc_sata_scr_write, | 191 | .scr_write = pdc_sata_scr_write, |
188 | .port_start = pdc_sata_port_start, | 192 | .port_start = pdc_sata_port_start, |
193 | .hardreset = pdc_sata_hardreset, | ||
189 | }; | 194 | }; |
190 | 195 | ||
191 | /* First-generation chips need a more restrictive ->check_atapi_dma op */ | 196 | /* First-generation chips need a more restrictive ->check_atapi_dma op */ |
@@ -200,6 +205,7 @@ static struct ata_port_operations pdc_pata_ops = { | |||
200 | .freeze = pdc_freeze, | 205 | .freeze = pdc_freeze, |
201 | .thaw = pdc_thaw, | 206 | .thaw = pdc_thaw, |
202 | .port_start = pdc_common_port_start, | 207 | .port_start = pdc_common_port_start, |
208 | .softreset = pdc_pata_softreset, | ||
203 | }; | 209 | }; |
204 | 210 | ||
205 | static const struct ata_port_info pdc_port_info[] = { | 211 | static const struct ata_port_info pdc_port_info[] = { |
@@ -693,6 +699,20 @@ static void pdc_sata_thaw(struct ata_port *ap) | |||
693 | readl(host_mmio + hotplug_offset); /* flush */ | 699 | readl(host_mmio + hotplug_offset); /* flush */ |
694 | } | 700 | } |
695 | 701 | ||
702 | static int pdc_pata_softreset(struct ata_link *link, unsigned int *class, | ||
703 | unsigned long deadline) | ||
704 | { | ||
705 | pdc_reset_port(link->ap); | ||
706 | return ata_sff_softreset(link, class, deadline); | ||
707 | } | ||
708 | |||
709 | static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class, | ||
710 | unsigned long deadline) | ||
711 | { | ||
712 | pdc_reset_port(link->ap); | ||
713 | return sata_sff_hardreset(link, class, deadline); | ||
714 | } | ||
715 | |||
696 | static void pdc_error_handler(struct ata_port *ap) | 716 | static void pdc_error_handler(struct ata_port *ap) |
697 | { | 717 | { |
698 | if (!(ap->pflags & ATA_PFLAG_FROZEN)) | 718 | if (!(ap->pflags & ATA_PFLAG_FROZEN)) |
diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c index 5b72e734300a..c18935f0bda2 100644 --- a/drivers/ata/sata_via.c +++ b/drivers/ata/sata_via.c | |||
@@ -44,11 +44,16 @@ | |||
44 | #include <linux/libata.h> | 44 | #include <linux/libata.h> |
45 | 45 | ||
46 | #define DRV_NAME "sata_via" | 46 | #define DRV_NAME "sata_via" |
47 | #define DRV_VERSION "2.3" | 47 | #define DRV_VERSION "2.4" |
48 | 48 | ||
49 | /* | ||
50 | * vt8251 is different from other sata controllers of VIA. It has two | ||
51 | * channels, each channel has both Master and Slave slot. | ||
52 | */ | ||
49 | enum board_ids_enum { | 53 | enum board_ids_enum { |
50 | vt6420, | 54 | vt6420, |
51 | vt6421, | 55 | vt6421, |
56 | vt8251, | ||
52 | }; | 57 | }; |
53 | 58 | ||
54 | enum { | 59 | enum { |
@@ -70,6 +75,8 @@ enum { | |||
70 | static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); | 75 | static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); |
71 | static int svia_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); | 76 | static int svia_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); |
72 | static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); | 77 | static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); |
78 | static int vt8251_scr_read(struct ata_link *link, unsigned int scr, u32 *val); | ||
79 | static int vt8251_scr_write(struct ata_link *link, unsigned int scr, u32 val); | ||
73 | static void svia_tf_load(struct ata_port *ap, const struct ata_taskfile *tf); | 80 | static void svia_tf_load(struct ata_port *ap, const struct ata_taskfile *tf); |
74 | static void svia_noop_freeze(struct ata_port *ap); | 81 | static void svia_noop_freeze(struct ata_port *ap); |
75 | static int vt6420_prereset(struct ata_link *link, unsigned long deadline); | 82 | static int vt6420_prereset(struct ata_link *link, unsigned long deadline); |
@@ -79,12 +86,12 @@ static void vt6421_set_dma_mode(struct ata_port *ap, struct ata_device *adev); | |||
79 | 86 | ||
80 | static const struct pci_device_id svia_pci_tbl[] = { | 87 | static const struct pci_device_id svia_pci_tbl[] = { |
81 | { PCI_VDEVICE(VIA, 0x5337), vt6420 }, | 88 | { PCI_VDEVICE(VIA, 0x5337), vt6420 }, |
82 | { PCI_VDEVICE(VIA, 0x0591), vt6420 }, | 89 | { PCI_VDEVICE(VIA, 0x0591), vt6420 }, /* 2 sata chnls (Master) */ |
83 | { PCI_VDEVICE(VIA, 0x3149), vt6420 }, | 90 | { PCI_VDEVICE(VIA, 0x3149), vt6420 }, /* 2 sata chnls (Master) */ |
84 | { PCI_VDEVICE(VIA, 0x3249), vt6421 }, | 91 | { PCI_VDEVICE(VIA, 0x3249), vt6421 }, /* 2 sata chnls, 1 pata chnl */ |
85 | { PCI_VDEVICE(VIA, 0x5287), vt6420 }, | ||
86 | { PCI_VDEVICE(VIA, 0x5372), vt6420 }, | 92 | { PCI_VDEVICE(VIA, 0x5372), vt6420 }, |
87 | { PCI_VDEVICE(VIA, 0x7372), vt6420 }, | 93 | { PCI_VDEVICE(VIA, 0x7372), vt6420 }, |
94 | { PCI_VDEVICE(VIA, 0x5287), vt8251 }, /* 2 sata chnls (Master/Slave) */ | ||
88 | 95 | ||
89 | { } /* terminate list */ | 96 | { } /* terminate list */ |
90 | }; | 97 | }; |
@@ -128,6 +135,13 @@ static struct ata_port_operations vt6421_sata_ops = { | |||
128 | .scr_write = svia_scr_write, | 135 | .scr_write = svia_scr_write, |
129 | }; | 136 | }; |
130 | 137 | ||
138 | static struct ata_port_operations vt8251_ops = { | ||
139 | .inherits = &svia_base_ops, | ||
140 | .hardreset = sata_std_hardreset, | ||
141 | .scr_read = vt8251_scr_read, | ||
142 | .scr_write = vt8251_scr_write, | ||
143 | }; | ||
144 | |||
131 | static const struct ata_port_info vt6420_port_info = { | 145 | static const struct ata_port_info vt6420_port_info = { |
132 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, | 146 | .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, |
133 | .pio_mask = 0x1f, | 147 | .pio_mask = 0x1f, |
@@ -152,6 +166,15 @@ static struct ata_port_info vt6421_pport_info = { | |||
152 | .port_ops = &vt6421_pata_ops, | 166 | .port_ops = &vt6421_pata_ops, |
153 | }; | 167 | }; |
154 | 168 | ||
169 | static struct ata_port_info vt8251_port_info = { | ||
170 | .flags = ATA_FLAG_SATA | ATA_FLAG_SLAVE_POSS | | ||
171 | ATA_FLAG_NO_LEGACY, | ||
172 | .pio_mask = 0x1f, | ||
173 | .mwdma_mask = 0x07, | ||
174 | .udma_mask = ATA_UDMA6, | ||
175 | .port_ops = &vt8251_ops, | ||
176 | }; | ||
177 | |||
155 | MODULE_AUTHOR("Jeff Garzik"); | 178 | MODULE_AUTHOR("Jeff Garzik"); |
156 | MODULE_DESCRIPTION("SCSI low-level driver for VIA SATA controllers"); | 179 | MODULE_DESCRIPTION("SCSI low-level driver for VIA SATA controllers"); |
157 | MODULE_LICENSE("GPL"); | 180 | MODULE_LICENSE("GPL"); |
@@ -174,6 +197,83 @@ static int svia_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val) | |||
174 | return 0; | 197 | return 0; |
175 | } | 198 | } |
176 | 199 | ||
200 | static int vt8251_scr_read(struct ata_link *link, unsigned int scr, u32 *val) | ||
201 | { | ||
202 | static const u8 ipm_tbl[] = { 1, 2, 6, 0 }; | ||
203 | struct pci_dev *pdev = to_pci_dev(link->ap->host->dev); | ||
204 | int slot = 2 * link->ap->port_no + link->pmp; | ||
205 | u32 v = 0; | ||
206 | u8 raw; | ||
207 | |||
208 | switch (scr) { | ||
209 | case SCR_STATUS: | ||
210 | pci_read_config_byte(pdev, 0xA0 + slot, &raw); | ||
211 | |||
212 | /* read the DET field, bit0 and 1 of the config byte */ | ||
213 | v |= raw & 0x03; | ||
214 | |||
215 | /* read the SPD field, bit4 of the configure byte */ | ||
216 | if (raw & (1 << 4)) | ||
217 | v |= 0x02 << 4; | ||
218 | else | ||
219 | v |= 0x01 << 4; | ||
220 | |||
221 | /* read the IPM field, bit2 and 3 of the config byte */ | ||
222 | v |= ipm_tbl[(raw >> 2) & 0x3]; | ||
223 | break; | ||
224 | |||
225 | case SCR_ERROR: | ||
226 | /* devices other than 5287 uses 0xA8 as base */ | ||
227 | WARN_ON(pdev->device != 0x5287); | ||
228 | pci_read_config_dword(pdev, 0xB0 + slot * 4, &v); | ||
229 | break; | ||
230 | |||
231 | case SCR_CONTROL: | ||
232 | pci_read_config_byte(pdev, 0xA4 + slot, &raw); | ||
233 | |||
234 | /* read the DET field, bit0 and bit1 */ | ||
235 | v |= ((raw & 0x02) << 1) | (raw & 0x01); | ||
236 | |||
237 | /* read the IPM field, bit2 and bit3 */ | ||
238 | v |= ((raw >> 2) & 0x03) << 8; | ||
239 | break; | ||
240 | |||
241 | default: | ||
242 | return -EINVAL; | ||
243 | } | ||
244 | |||
245 | *val = v; | ||
246 | return 0; | ||
247 | } | ||
248 | |||
249 | static int vt8251_scr_write(struct ata_link *link, unsigned int scr, u32 val) | ||
250 | { | ||
251 | struct pci_dev *pdev = to_pci_dev(link->ap->host->dev); | ||
252 | int slot = 2 * link->ap->port_no + link->pmp; | ||
253 | u32 v = 0; | ||
254 | |||
255 | switch (scr) { | ||
256 | case SCR_ERROR: | ||
257 | /* devices other than 5287 uses 0xA8 as base */ | ||
258 | WARN_ON(pdev->device != 0x5287); | ||
259 | pci_write_config_dword(pdev, 0xB0 + slot * 4, val); | ||
260 | return 0; | ||
261 | |||
262 | case SCR_CONTROL: | ||
263 | /* set the DET field */ | ||
264 | v |= ((val & 0x4) >> 1) | (val & 0x1); | ||
265 | |||
266 | /* set the IPM field */ | ||
267 | v |= ((val >> 8) & 0x3) << 2; | ||
268 | |||
269 | pci_write_config_byte(pdev, 0xA4 + slot, v); | ||
270 | return 0; | ||
271 | |||
272 | default: | ||
273 | return -EINVAL; | ||
274 | } | ||
275 | } | ||
276 | |||
177 | /** | 277 | /** |
178 | * svia_tf_load - send taskfile registers to host controller | 278 | * svia_tf_load - send taskfile registers to host controller |
179 | * @ap: Port to which output is sent | 279 | * @ap: Port to which output is sent |
@@ -396,6 +496,30 @@ static int vt6421_prepare_host(struct pci_dev *pdev, struct ata_host **r_host) | |||
396 | return 0; | 496 | return 0; |
397 | } | 497 | } |
398 | 498 | ||
499 | static int vt8251_prepare_host(struct pci_dev *pdev, struct ata_host **r_host) | ||
500 | { | ||
501 | const struct ata_port_info *ppi[] = { &vt8251_port_info, NULL }; | ||
502 | struct ata_host *host; | ||
503 | int i, rc; | ||
504 | |||
505 | rc = ata_pci_sff_prepare_host(pdev, ppi, &host); | ||
506 | if (rc) | ||
507 | return rc; | ||
508 | *r_host = host; | ||
509 | |||
510 | rc = pcim_iomap_regions(pdev, 1 << 5, DRV_NAME); | ||
511 | if (rc) { | ||
512 | dev_printk(KERN_ERR, &pdev->dev, "failed to iomap PCI BAR 5\n"); | ||
513 | return rc; | ||
514 | } | ||
515 | |||
516 | /* 8251 hosts four sata ports as M/S of the two channels */ | ||
517 | for (i = 0; i < host->n_ports; i++) | ||
518 | ata_slave_link_init(host->ports[i]); | ||
519 | |||
520 | return 0; | ||
521 | } | ||
522 | |||
399 | static void svia_configure(struct pci_dev *pdev) | 523 | static void svia_configure(struct pci_dev *pdev) |
400 | { | 524 | { |
401 | u8 tmp8; | 525 | u8 tmp8; |
@@ -451,10 +575,10 @@ static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
451 | if (rc) | 575 | if (rc) |
452 | return rc; | 576 | return rc; |
453 | 577 | ||
454 | if (board_id == vt6420) | 578 | if (board_id == vt6421) |
455 | bar_sizes = &svia_bar_sizes[0]; | ||
456 | else | ||
457 | bar_sizes = &vt6421_bar_sizes[0]; | 579 | bar_sizes = &vt6421_bar_sizes[0]; |
580 | else | ||
581 | bar_sizes = &svia_bar_sizes[0]; | ||
458 | 582 | ||
459 | for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++) | 583 | for (i = 0; i < ARRAY_SIZE(svia_bar_sizes); i++) |
460 | if ((pci_resource_start(pdev, i) == 0) || | 584 | if ((pci_resource_start(pdev, i) == 0) || |
@@ -467,10 +591,19 @@ static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
467 | return -ENODEV; | 591 | return -ENODEV; |
468 | } | 592 | } |
469 | 593 | ||
470 | if (board_id == vt6420) | 594 | switch (board_id) { |
595 | case vt6420: | ||
471 | rc = vt6420_prepare_host(pdev, &host); | 596 | rc = vt6420_prepare_host(pdev, &host); |
472 | else | 597 | break; |
598 | case vt6421: | ||
473 | rc = vt6421_prepare_host(pdev, &host); | 599 | rc = vt6421_prepare_host(pdev, &host); |
600 | break; | ||
601 | case vt8251: | ||
602 | rc = vt8251_prepare_host(pdev, &host); | ||
603 | break; | ||
604 | default: | ||
605 | rc = -EINVAL; | ||
606 | } | ||
474 | if (rc) | 607 | if (rc) |
475 | return rc; | 608 | return rc; |
476 | 609 | ||
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 4023885353e0..12de1fdaa6c6 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -96,6 +96,8 @@ static const struct pci_device_id cciss_pci_device_id[] = { | |||
96 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245}, | 96 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245}, |
97 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3247}, | 97 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3247}, |
98 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3249}, | 98 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3249}, |
99 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324A}, | ||
100 | {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324B}, | ||
99 | {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, | 101 | {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, |
100 | PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, | 102 | PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, |
101 | {0,} | 103 | {0,} |
@@ -133,6 +135,8 @@ static struct board_type products[] = { | |||
133 | {0x3245103C, "Smart Array P410i", &SA5_access}, | 135 | {0x3245103C, "Smart Array P410i", &SA5_access}, |
134 | {0x3247103C, "Smart Array P411", &SA5_access}, | 136 | {0x3247103C, "Smart Array P411", &SA5_access}, |
135 | {0x3249103C, "Smart Array P812", &SA5_access}, | 137 | {0x3249103C, "Smart Array P812", &SA5_access}, |
138 | {0x324A103C, "Smart Array P712m", &SA5_access}, | ||
139 | {0x324B103C, "Smart Array P711m", &SA5_access}, | ||
136 | {0xFFFF103C, "Unknown Smart Array", &SA5_access}, | 140 | {0xFFFF103C, "Unknown Smart Array", &SA5_access}, |
137 | }; | 141 | }; |
138 | 142 | ||
@@ -1366,6 +1370,7 @@ static void cciss_add_disk(ctlr_info_t *h, struct gendisk *disk, | |||
1366 | disk->first_minor = drv_index << NWD_SHIFT; | 1370 | disk->first_minor = drv_index << NWD_SHIFT; |
1367 | disk->fops = &cciss_fops; | 1371 | disk->fops = &cciss_fops; |
1368 | disk->private_data = &h->drv[drv_index]; | 1372 | disk->private_data = &h->drv[drv_index]; |
1373 | disk->driverfs_dev = &h->pdev->dev; | ||
1369 | 1374 | ||
1370 | /* Set up queue information */ | 1375 | /* Set up queue information */ |
1371 | blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask); | 1376 | blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask); |
@@ -3404,7 +3409,8 @@ static int __devinit cciss_init_one(struct pci_dev *pdev, | |||
3404 | int i; | 3409 | int i; |
3405 | int j = 0; | 3410 | int j = 0; |
3406 | int rc; | 3411 | int rc; |
3407 | int dac; | 3412 | int dac, return_code; |
3413 | InquiryData_struct *inq_buff = NULL; | ||
3408 | 3414 | ||
3409 | i = alloc_cciss_hba(); | 3415 | i = alloc_cciss_hba(); |
3410 | if (i < 0) | 3416 | if (i < 0) |
@@ -3510,6 +3516,25 @@ static int __devinit cciss_init_one(struct pci_dev *pdev, | |||
3510 | /* Turn the interrupts on so we can service requests */ | 3516 | /* Turn the interrupts on so we can service requests */ |
3511 | hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON); | 3517 | hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON); |
3512 | 3518 | ||
3519 | /* Get the firmware version */ | ||
3520 | inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL); | ||
3521 | if (inq_buff == NULL) { | ||
3522 | printk(KERN_ERR "cciss: out of memory\n"); | ||
3523 | goto clean4; | ||
3524 | } | ||
3525 | |||
3526 | return_code = sendcmd_withirq(CISS_INQUIRY, i, inq_buff, | ||
3527 | sizeof(InquiryData_struct), 0, 0 , 0, TYPE_CMD); | ||
3528 | if (return_code == IO_OK) { | ||
3529 | hba[i]->firm_ver[0] = inq_buff->data_byte[32]; | ||
3530 | hba[i]->firm_ver[1] = inq_buff->data_byte[33]; | ||
3531 | hba[i]->firm_ver[2] = inq_buff->data_byte[34]; | ||
3532 | hba[i]->firm_ver[3] = inq_buff->data_byte[35]; | ||
3533 | } else { /* send command failed */ | ||
3534 | printk(KERN_WARNING "cciss: unable to determine firmware" | ||
3535 | " version of controller\n"); | ||
3536 | } | ||
3537 | |||
3513 | cciss_procinit(i); | 3538 | cciss_procinit(i); |
3514 | 3539 | ||
3515 | hba[i]->cciss_max_sectors = 2048; | 3540 | hba[i]->cciss_max_sectors = 2048; |
@@ -3520,6 +3545,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev, | |||
3520 | return 1; | 3545 | return 1; |
3521 | 3546 | ||
3522 | clean4: | 3547 | clean4: |
3548 | kfree(inq_buff); | ||
3523 | #ifdef CONFIG_CISS_SCSI_TAPE | 3549 | #ifdef CONFIG_CISS_SCSI_TAPE |
3524 | kfree(hba[i]->scsi_rejects.complete); | 3550 | kfree(hba[i]->scsi_rejects.complete); |
3525 | #endif | 3551 | #endif |
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index 47d233c6d0b3..5d39df14ed90 100644 --- a/drivers/block/cpqarray.c +++ b/drivers/block/cpqarray.c | |||
@@ -567,7 +567,12 @@ static int __init cpqarray_init(void) | |||
567 | num_cntlrs_reg++; | 567 | num_cntlrs_reg++; |
568 | } | 568 | } |
569 | 569 | ||
570 | return(num_cntlrs_reg); | 570 | if (num_cntlrs_reg) |
571 | return 0; | ||
572 | else { | ||
573 | pci_unregister_driver(&cpqarray_pci_driver); | ||
574 | return -ENODEV; | ||
575 | } | ||
571 | } | 576 | } |
572 | 577 | ||
573 | /* Function to find the first free pointer into our hba[] array */ | 578 | /* Function to find the first free pointer into our hba[] array */ |
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index 32f3a8ed8d3d..b936d8ce2728 100644 --- a/drivers/bluetooth/bpa10x.c +++ b/drivers/bluetooth/bpa10x.c | |||
@@ -443,8 +443,8 @@ static void bpa10x_destruct(struct hci_dev *hdev) | |||
443 | 443 | ||
444 | BT_DBG("%s", hdev->name); | 444 | BT_DBG("%s", hdev->name); |
445 | 445 | ||
446 | kfree(data->rx_skb[0]); | 446 | kfree_skb(data->rx_skb[0]); |
447 | kfree(data->rx_skb[1]); | 447 | kfree_skb(data->rx_skb[1]); |
448 | kfree(data); | 448 | kfree(data); |
449 | } | 449 | } |
450 | 450 | ||
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c index 9aaa86b232b1..2eecb779437b 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c | |||
@@ -495,9 +495,10 @@ static int gdrom_bdops_open(struct block_device *bdev, fmode_t mode) | |||
495 | return cdrom_open(gd.cd_info, bdev, mode); | 495 | return cdrom_open(gd.cd_info, bdev, mode); |
496 | } | 496 | } |
497 | 497 | ||
498 | static int gdrom_bdops_release(struct block_device *bdev, fmode_t mode) | 498 | static int gdrom_bdops_release(struct gendisk *disk, fmode_t mode) |
499 | { | 499 | { |
500 | return cdrom_release(gd.cd_info, mode); | 500 | cdrom_release(gd.cd_info, mode); |
501 | return 0; | ||
501 | } | 502 | } |
502 | 503 | ||
503 | static int gdrom_bdops_mediachanged(struct gendisk *disk) | 504 | static int gdrom_bdops_mediachanged(struct gendisk *disk) |
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index 408f5f92cb4e..53fdc7ff3870 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c | |||
@@ -427,9 +427,6 @@ static int hpet_release(struct inode *inode, struct file *file) | |||
427 | if (irq) | 427 | if (irq) |
428 | free_irq(irq, devp); | 428 | free_irq(irq, devp); |
429 | 429 | ||
430 | if (file->f_flags & FASYNC) | ||
431 | hpet_fasync(-1, file, 0); | ||
432 | |||
433 | file->private_data = NULL; | 430 | file->private_data = NULL; |
434 | return 0; | 431 | return 0; |
435 | } | 432 | } |
diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c index 1d7b429f7ffa..41fc11dc921c 100644 --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c | |||
@@ -162,8 +162,6 @@ static int ipmi_release(struct inode *inode, struct file *file) | |||
162 | if (rv) | 162 | if (rv) |
163 | return rv; | 163 | return rv; |
164 | 164 | ||
165 | ipmi_fasync (-1, file, 0); | ||
166 | |||
167 | /* FIXME - free the messages in the list. */ | 165 | /* FIXME - free the messages in the list. */ |
168 | kfree(priv); | 166 | kfree(priv); |
169 | 167 | ||
diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c index 235fab0bdf79..a4d57e31f713 100644 --- a/drivers/char/ipmi/ipmi_watchdog.c +++ b/drivers/char/ipmi/ipmi_watchdog.c | |||
@@ -870,7 +870,6 @@ static int ipmi_close(struct inode *ino, struct file *filep) | |||
870 | clear_bit(0, &ipmi_wdog_open); | 870 | clear_bit(0, &ipmi_wdog_open); |
871 | } | 871 | } |
872 | 872 | ||
873 | ipmi_fasync(-1, filep, 0); | ||
874 | expect_close = 0; | 873 | expect_close = 0; |
875 | 874 | ||
876 | return 0; | 875 | return 0; |
diff --git a/drivers/char/random.c b/drivers/char/random.c index 705a839f1796..675076f5fca8 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
@@ -1139,18 +1139,12 @@ static int random_fasync(int fd, struct file *filp, int on) | |||
1139 | return fasync_helper(fd, filp, on, &fasync); | 1139 | return fasync_helper(fd, filp, on, &fasync); |
1140 | } | 1140 | } |
1141 | 1141 | ||
1142 | static int random_release(struct inode *inode, struct file *filp) | ||
1143 | { | ||
1144 | return fasync_helper(-1, filp, 0, &fasync); | ||
1145 | } | ||
1146 | |||
1147 | const struct file_operations random_fops = { | 1142 | const struct file_operations random_fops = { |
1148 | .read = random_read, | 1143 | .read = random_read, |
1149 | .write = random_write, | 1144 | .write = random_write, |
1150 | .poll = random_poll, | 1145 | .poll = random_poll, |
1151 | .unlocked_ioctl = random_ioctl, | 1146 | .unlocked_ioctl = random_ioctl, |
1152 | .fasync = random_fasync, | 1147 | .fasync = random_fasync, |
1153 | .release = random_release, | ||
1154 | }; | 1148 | }; |
1155 | 1149 | ||
1156 | const struct file_operations urandom_fops = { | 1150 | const struct file_operations urandom_fops = { |
@@ -1158,7 +1152,6 @@ const struct file_operations urandom_fops = { | |||
1158 | .write = random_write, | 1152 | .write = random_write, |
1159 | .unlocked_ioctl = random_ioctl, | 1153 | .unlocked_ioctl = random_ioctl, |
1160 | .fasync = random_fasync, | 1154 | .fasync = random_fasync, |
1161 | .release = random_release, | ||
1162 | }; | 1155 | }; |
1163 | 1156 | ||
1164 | /*************************************************************** | 1157 | /*************************************************************** |
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 32dc89720d58..20d6efb6324e 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c | |||
@@ -788,8 +788,6 @@ static int rtc_release(struct inode *inode, struct file *file) | |||
788 | } | 788 | } |
789 | spin_unlock_irq(&rtc_lock); | 789 | spin_unlock_irq(&rtc_lock); |
790 | 790 | ||
791 | if (file->f_flags & FASYNC) | ||
792 | rtc_fasync(-1, file, 0); | ||
793 | no_irq: | 791 | no_irq: |
794 | #endif | 792 | #endif |
795 | 793 | ||
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c index 85e0eb76eeab..2457b07dabd6 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c | |||
@@ -898,7 +898,6 @@ static int sonypi_misc_fasync(int fd, struct file *filp, int on) | |||
898 | 898 | ||
899 | static int sonypi_misc_release(struct inode *inode, struct file *file) | 899 | static int sonypi_misc_release(struct inode *inode, struct file *file) |
900 | { | 900 | { |
901 | sonypi_misc_fasync(-1, file, 0); | ||
902 | mutex_lock(&sonypi_device.lock); | 901 | mutex_lock(&sonypi_device.lock); |
903 | sonypi_device.open_count--; | 902 | sonypi_device.open_count--; |
904 | mutex_unlock(&sonypi_device.lock); | 903 | mutex_unlock(&sonypi_device.lock); |
diff --git a/drivers/char/vt.c b/drivers/char/vt.c index d8f83e26e4a4..a5af6072e2b3 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c | |||
@@ -1644,7 +1644,10 @@ static void reset_terminal(struct vc_data *vc, int do_clear) | |||
1644 | vc->vc_tab_stop[1] = | 1644 | vc->vc_tab_stop[1] = |
1645 | vc->vc_tab_stop[2] = | 1645 | vc->vc_tab_stop[2] = |
1646 | vc->vc_tab_stop[3] = | 1646 | vc->vc_tab_stop[3] = |
1647 | vc->vc_tab_stop[4] = 0x01010101; | 1647 | vc->vc_tab_stop[4] = |
1648 | vc->vc_tab_stop[5] = | ||
1649 | vc->vc_tab_stop[6] = | ||
1650 | vc->vc_tab_stop[7] = 0x01010101; | ||
1648 | 1651 | ||
1649 | vc->vc_bell_pitch = DEFAULT_BELL_PITCH; | 1652 | vc->vc_bell_pitch = DEFAULT_BELL_PITCH; |
1650 | vc->vc_bell_duration = DEFAULT_BELL_DURATION; | 1653 | vc->vc_bell_duration = DEFAULT_BELL_DURATION; |
@@ -1935,7 +1938,10 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c) | |||
1935 | vc->vc_tab_stop[1] = | 1938 | vc->vc_tab_stop[1] = |
1936 | vc->vc_tab_stop[2] = | 1939 | vc->vc_tab_stop[2] = |
1937 | vc->vc_tab_stop[3] = | 1940 | vc->vc_tab_stop[3] = |
1938 | vc->vc_tab_stop[4] = 0; | 1941 | vc->vc_tab_stop[4] = |
1942 | vc->vc_tab_stop[5] = | ||
1943 | vc->vc_tab_stop[6] = | ||
1944 | vc->vc_tab_stop[7] = 0; | ||
1939 | } | 1945 | } |
1940 | return; | 1946 | return; |
1941 | case 'm': | 1947 | case 'm': |
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c index 3fccdd484100..6b9be42c7b98 100644 --- a/drivers/firewire/fw-device.c +++ b/drivers/firewire/fw-device.c | |||
@@ -587,8 +587,7 @@ static void create_units(struct fw_device *device) | |||
587 | unit->device.bus = &fw_bus_type; | 587 | unit->device.bus = &fw_bus_type; |
588 | unit->device.type = &fw_unit_type; | 588 | unit->device.type = &fw_unit_type; |
589 | unit->device.parent = &device->device; | 589 | unit->device.parent = &device->device; |
590 | snprintf(unit->device.bus_id, sizeof(unit->device.bus_id), | 590 | dev_set_name(&unit->device, "%s.%d", dev_name(&device->device), i++); |
591 | "%s.%d", device->device.bus_id, i++); | ||
592 | 591 | ||
593 | init_fw_attribute_group(&unit->device, | 592 | init_fw_attribute_group(&unit->device, |
594 | fw_unit_attributes, | 593 | fw_unit_attributes, |
@@ -711,8 +710,7 @@ static void fw_device_init(struct work_struct *work) | |||
711 | device->device.type = &fw_device_type; | 710 | device->device.type = &fw_device_type; |
712 | device->device.parent = device->card->device; | 711 | device->device.parent = device->card->device; |
713 | device->device.devt = MKDEV(fw_cdev_major, minor); | 712 | device->device.devt = MKDEV(fw_cdev_major, minor); |
714 | snprintf(device->device.bus_id, sizeof(device->device.bus_id), | 713 | dev_set_name(&device->device, "fw%d", minor); |
715 | "fw%d", minor); | ||
716 | 714 | ||
717 | init_fw_attribute_group(&device->device, | 715 | init_fw_attribute_group(&device->device, |
718 | fw_device_attributes, | 716 | fw_device_attributes, |
@@ -741,13 +739,13 @@ static void fw_device_init(struct work_struct *work) | |||
741 | if (device->config_rom_retries) | 739 | if (device->config_rom_retries) |
742 | fw_notify("created device %s: GUID %08x%08x, S%d00, " | 740 | fw_notify("created device %s: GUID %08x%08x, S%d00, " |
743 | "%d config ROM retries\n", | 741 | "%d config ROM retries\n", |
744 | device->device.bus_id, | 742 | dev_name(&device->device), |
745 | device->config_rom[3], device->config_rom[4], | 743 | device->config_rom[3], device->config_rom[4], |
746 | 1 << device->max_speed, | 744 | 1 << device->max_speed, |
747 | device->config_rom_retries); | 745 | device->config_rom_retries); |
748 | else | 746 | else |
749 | fw_notify("created device %s: GUID %08x%08x, S%d00\n", | 747 | fw_notify("created device %s: GUID %08x%08x, S%d00\n", |
750 | device->device.bus_id, | 748 | dev_name(&device->device), |
751 | device->config_rom[3], device->config_rom[4], | 749 | device->config_rom[3], device->config_rom[4], |
752 | 1 << device->max_speed); | 750 | 1 << device->max_speed); |
753 | device->config_rom_retries = 0; | 751 | device->config_rom_retries = 0; |
@@ -883,12 +881,12 @@ static void fw_device_refresh(struct work_struct *work) | |||
883 | FW_DEVICE_RUNNING) == FW_DEVICE_SHUTDOWN) | 881 | FW_DEVICE_RUNNING) == FW_DEVICE_SHUTDOWN) |
884 | goto gone; | 882 | goto gone; |
885 | 883 | ||
886 | fw_notify("refreshed device %s\n", device->device.bus_id); | 884 | fw_notify("refreshed device %s\n", dev_name(&device->device)); |
887 | device->config_rom_retries = 0; | 885 | device->config_rom_retries = 0; |
888 | goto out; | 886 | goto out; |
889 | 887 | ||
890 | give_up: | 888 | give_up: |
891 | fw_notify("giving up on refresh of device %s\n", device->device.bus_id); | 889 | fw_notify("giving up on refresh of device %s\n", dev_name(&device->device)); |
892 | gone: | 890 | gone: |
893 | atomic_set(&device->state, FW_DEVICE_SHUTDOWN); | 891 | atomic_set(&device->state, FW_DEVICE_SHUTDOWN); |
894 | fw_device_shutdown(work); | 892 | fw_device_shutdown(work); |
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 8e16bfbdcb3d..46610b090415 100644 --- a/drivers/firewire/fw-ohci.c +++ b/drivers/firewire/fw-ohci.c | |||
@@ -2468,7 +2468,7 @@ pci_probe(struct pci_dev *dev, const struct pci_device_id *ent) | |||
2468 | goto fail_self_id; | 2468 | goto fail_self_id; |
2469 | 2469 | ||
2470 | fw_notify("Added fw-ohci device %s, OHCI version %x.%x\n", | 2470 | fw_notify("Added fw-ohci device %s, OHCI version %x.%x\n", |
2471 | dev->dev.bus_id, version >> 16, version & 0xff); | 2471 | dev_name(&dev->dev), version >> 16, version & 0xff); |
2472 | return 0; | 2472 | return 0; |
2473 | 2473 | ||
2474 | fail_self_id: | 2474 | fail_self_id: |
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index d334cac5e1fc..97df6dac3a82 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/drivers/firewire/fw-sbp2.c | |||
@@ -1135,7 +1135,7 @@ static int sbp2_probe(struct device *dev) | |||
1135 | tgt->unit = unit; | 1135 | tgt->unit = unit; |
1136 | kref_init(&tgt->kref); | 1136 | kref_init(&tgt->kref); |
1137 | INIT_LIST_HEAD(&tgt->lu_list); | 1137 | INIT_LIST_HEAD(&tgt->lu_list); |
1138 | tgt->bus_id = unit->device.bus_id; | 1138 | tgt->bus_id = dev_name(&unit->device); |
1139 | tgt->guid = (u64)device->config_rom[3] << 32 | device->config_rom[4]; | 1139 | tgt->guid = (u64)device->config_rom[3] << 32 | device->config_rom[4]; |
1140 | 1140 | ||
1141 | if (fw_device_enable_phys_dma(device) < 0) | 1141 | if (fw_device_enable_phys_dma(device) < 0) |
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c index 0d46627663b1..78eeed5caaff 100644 --- a/drivers/gpu/drm/drm_fops.c +++ b/drivers/gpu/drm/drm_fops.c | |||
@@ -406,8 +406,6 @@ int drm_release(struct inode *inode, struct file *filp) | |||
406 | if (dev->driver->driver_features & DRIVER_GEM) | 406 | if (dev->driver->driver_features & DRIVER_GEM) |
407 | drm_gem_release(dev, file_priv); | 407 | drm_gem_release(dev, file_priv); |
408 | 408 | ||
409 | drm_fasync(-1, filp, 0); | ||
410 | |||
411 | mutex_lock(&dev->ctxlist_mutex); | 409 | mutex_lock(&dev->ctxlist_mutex); |
412 | if (!list_empty(&dev->ctxlist)) { | 410 | if (!list_empty(&dev->ctxlist)) { |
413 | struct drm_ctx_list *pos, *n; | 411 | struct drm_ctx_list *pos, *n; |
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 5ba78e4fd2b5..d8fb5d8ee7ea 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile | |||
@@ -3,13 +3,14 @@ | |||
3 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. | 3 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. |
4 | 4 | ||
5 | ccflags-y := -Iinclude/drm | 5 | ccflags-y := -Iinclude/drm |
6 | i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_opregion.o \ | 6 | i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o \ |
7 | i915_suspend.o \ | 7 | i915_suspend.o \ |
8 | i915_gem.o \ | 8 | i915_gem.o \ |
9 | i915_gem_debug.o \ | 9 | i915_gem_debug.o \ |
10 | i915_gem_proc.o \ | 10 | i915_gem_proc.o \ |
11 | i915_gem_tiling.o | 11 | i915_gem_tiling.o |
12 | 12 | ||
13 | i915-$(CONFIG_ACPI) += i915_opregion.o | ||
13 | i915-$(CONFIG_COMPAT) += i915_ioc32.o | 14 | i915-$(CONFIG_COMPAT) += i915_ioc32.o |
14 | 15 | ||
15 | obj-$(CONFIG_DRM_I915) += i915.o | 16 | obj-$(CONFIG_DRM_I915) += i915.o |
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 01de536e0211..256e22963ae4 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -960,6 +960,7 @@ struct drm_ioctl_desc i915_ioctls[] = { | |||
960 | DRM_IOCTL_DEF(DRM_I915_GEM_SW_FINISH, i915_gem_sw_finish_ioctl, 0), | 960 | DRM_IOCTL_DEF(DRM_I915_GEM_SW_FINISH, i915_gem_sw_finish_ioctl, 0), |
961 | DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), | 961 | DRM_IOCTL_DEF(DRM_I915_GEM_SET_TILING, i915_gem_set_tiling, 0), |
962 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), | 962 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_TILING, i915_gem_get_tiling, 0), |
963 | DRM_IOCTL_DEF(DRM_I915_GEM_GET_APERTURE, i915_gem_get_aperture_ioctl, 0), | ||
963 | }; | 964 | }; |
964 | 965 | ||
965 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); | 966 | int i915_max_ioctl = DRM_ARRAY_SIZE(i915_ioctls); |
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index f20ffe17df71..572dcd0e3e0d 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -31,6 +31,7 @@ | |||
31 | #define _I915_DRV_H_ | 31 | #define _I915_DRV_H_ |
32 | 32 | ||
33 | #include "i915_reg.h" | 33 | #include "i915_reg.h" |
34 | #include <linux/io-mapping.h> | ||
34 | 35 | ||
35 | /* General customization: | 36 | /* General customization: |
36 | */ | 37 | */ |
@@ -246,6 +247,8 @@ typedef struct drm_i915_private { | |||
246 | struct { | 247 | struct { |
247 | struct drm_mm gtt_space; | 248 | struct drm_mm gtt_space; |
248 | 249 | ||
250 | struct io_mapping *gtt_mapping; | ||
251 | |||
249 | /** | 252 | /** |
250 | * List of objects currently involved in rendering from the | 253 | * List of objects currently involved in rendering from the |
251 | * ringbuffer. | 254 | * ringbuffer. |
@@ -502,6 +505,8 @@ int i915_gem_set_tiling(struct drm_device *dev, void *data, | |||
502 | struct drm_file *file_priv); | 505 | struct drm_file *file_priv); |
503 | int i915_gem_get_tiling(struct drm_device *dev, void *data, | 506 | int i915_gem_get_tiling(struct drm_device *dev, void *data, |
504 | struct drm_file *file_priv); | 507 | struct drm_file *file_priv); |
508 | int i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, | ||
509 | struct drm_file *file_priv); | ||
505 | void i915_gem_load(struct drm_device *dev); | 510 | void i915_gem_load(struct drm_device *dev); |
506 | int i915_gem_proc_init(struct drm_minor *minor); | 511 | int i915_gem_proc_init(struct drm_minor *minor); |
507 | void i915_gem_proc_cleanup(struct drm_minor *minor); | 512 | void i915_gem_proc_cleanup(struct drm_minor *minor); |
@@ -539,11 +544,18 @@ extern int i915_restore_state(struct drm_device *dev); | |||
539 | extern int i915_save_state(struct drm_device *dev); | 544 | extern int i915_save_state(struct drm_device *dev); |
540 | extern int i915_restore_state(struct drm_device *dev); | 545 | extern int i915_restore_state(struct drm_device *dev); |
541 | 546 | ||
547 | #ifdef CONFIG_ACPI | ||
542 | /* i915_opregion.c */ | 548 | /* i915_opregion.c */ |
543 | extern int intel_opregion_init(struct drm_device *dev); | 549 | extern int intel_opregion_init(struct drm_device *dev); |
544 | extern void intel_opregion_free(struct drm_device *dev); | 550 | extern void intel_opregion_free(struct drm_device *dev); |
545 | extern void opregion_asle_intr(struct drm_device *dev); | 551 | extern void opregion_asle_intr(struct drm_device *dev); |
546 | extern void opregion_enable_asle(struct drm_device *dev); | 552 | extern void opregion_enable_asle(struct drm_device *dev); |
553 | #else | ||
554 | static inline int intel_opregion_init(struct drm_device *dev) { return 0; } | ||
555 | static inline void intel_opregion_free(struct drm_device *dev) { return; } | ||
556 | static inline void opregion_asle_intr(struct drm_device *dev) { return; } | ||
557 | static inline void opregion_enable_asle(struct drm_device *dev) { return; } | ||
558 | #endif | ||
547 | 559 | ||
548 | /** | 560 | /** |
549 | * Lock test for when it's just for synchronization of ring access. | 561 | * Lock test for when it's just for synchronization of ring access. |
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 17ae330ff269..b0ec73fa6a93 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -79,6 +79,28 @@ i915_gem_init_ioctl(struct drm_device *dev, void *data, | |||
79 | return 0; | 79 | return 0; |
80 | } | 80 | } |
81 | 81 | ||
82 | int | ||
83 | i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, | ||
84 | struct drm_file *file_priv) | ||
85 | { | ||
86 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
87 | struct drm_i915_gem_get_aperture *args = data; | ||
88 | struct drm_i915_gem_object *obj_priv; | ||
89 | |||
90 | if (!(dev->driver->driver_features & DRIVER_GEM)) | ||
91 | return -ENODEV; | ||
92 | |||
93 | args->aper_size = dev->gtt_total; | ||
94 | args->aper_available_size = args->aper_size; | ||
95 | |||
96 | list_for_each_entry(obj_priv, &dev_priv->mm.active_list, list) { | ||
97 | if (obj_priv->pin_count > 0) | ||
98 | args->aper_available_size -= obj_priv->obj->size; | ||
99 | } | ||
100 | |||
101 | return 0; | ||
102 | } | ||
103 | |||
82 | 104 | ||
83 | /** | 105 | /** |
84 | * Creates a new mm object and returns a handle to it. | 106 | * Creates a new mm object and returns a handle to it. |
@@ -171,35 +193,50 @@ i915_gem_pread_ioctl(struct drm_device *dev, void *data, | |||
171 | return 0; | 193 | return 0; |
172 | } | 194 | } |
173 | 195 | ||
174 | /* | 196 | /* This is the fast write path which cannot handle |
175 | * Try to write quickly with an atomic kmap. Return true on success. | 197 | * page faults in the source data |
176 | * | ||
177 | * If this fails (which includes a partial write), we'll redo the whole | ||
178 | * thing with the slow version. | ||
179 | * | ||
180 | * This is a workaround for the low performance of iounmap (approximate | ||
181 | * 10% cpu cost on normal 3D workloads). kmap_atomic on HIGHMEM kernels | ||
182 | * happens to let us map card memory without taking IPIs. When the vmap | ||
183 | * rework lands we should be able to dump this hack. | ||
184 | */ | 198 | */ |
185 | static inline int fast_user_write(unsigned long pfn, char __user *user_data, | 199 | |
186 | int l, int o) | 200 | static inline int |
201 | fast_user_write(struct io_mapping *mapping, | ||
202 | loff_t page_base, int page_offset, | ||
203 | char __user *user_data, | ||
204 | int length) | ||
187 | { | 205 | { |
188 | #ifdef CONFIG_HIGHMEM | ||
189 | unsigned long unwritten; | ||
190 | char *vaddr_atomic; | 206 | char *vaddr_atomic; |
207 | unsigned long unwritten; | ||
191 | 208 | ||
192 | vaddr_atomic = kmap_atomic_pfn(pfn, KM_USER0); | 209 | vaddr_atomic = io_mapping_map_atomic_wc(mapping, page_base); |
193 | #if WATCH_PWRITE | 210 | unwritten = __copy_from_user_inatomic_nocache(vaddr_atomic + page_offset, |
194 | DRM_INFO("pwrite i %d o %d l %d pfn %ld vaddr %p\n", | 211 | user_data, length); |
195 | i, o, l, pfn, vaddr_atomic); | 212 | io_mapping_unmap_atomic(vaddr_atomic); |
196 | #endif | 213 | if (unwritten) |
197 | unwritten = __copy_from_user_inatomic_nocache(vaddr_atomic + o, user_data, l); | 214 | return -EFAULT; |
198 | kunmap_atomic(vaddr_atomic, KM_USER0); | 215 | return 0; |
199 | return !unwritten; | 216 | } |
200 | #else | 217 | |
218 | /* Here's the write path which can sleep for | ||
219 | * page faults | ||
220 | */ | ||
221 | |||
222 | static inline int | ||
223 | slow_user_write(struct io_mapping *mapping, | ||
224 | loff_t page_base, int page_offset, | ||
225 | char __user *user_data, | ||
226 | int length) | ||
227 | { | ||
228 | char __iomem *vaddr; | ||
229 | unsigned long unwritten; | ||
230 | |||
231 | vaddr = io_mapping_map_wc(mapping, page_base); | ||
232 | if (vaddr == NULL) | ||
233 | return -EFAULT; | ||
234 | unwritten = __copy_from_user(vaddr + page_offset, | ||
235 | user_data, length); | ||
236 | io_mapping_unmap(vaddr); | ||
237 | if (unwritten) | ||
238 | return -EFAULT; | ||
201 | return 0; | 239 | return 0; |
202 | #endif | ||
203 | } | 240 | } |
204 | 241 | ||
205 | static int | 242 | static int |
@@ -208,10 +245,12 @@ i915_gem_gtt_pwrite(struct drm_device *dev, struct drm_gem_object *obj, | |||
208 | struct drm_file *file_priv) | 245 | struct drm_file *file_priv) |
209 | { | 246 | { |
210 | struct drm_i915_gem_object *obj_priv = obj->driver_private; | 247 | struct drm_i915_gem_object *obj_priv = obj->driver_private; |
248 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
211 | ssize_t remain; | 249 | ssize_t remain; |
212 | loff_t offset; | 250 | loff_t offset, page_base; |
213 | char __user *user_data; | 251 | char __user *user_data; |
214 | int ret = 0; | 252 | int page_offset, page_length; |
253 | int ret; | ||
215 | 254 | ||
216 | user_data = (char __user *) (uintptr_t) args->data_ptr; | 255 | user_data = (char __user *) (uintptr_t) args->data_ptr; |
217 | remain = args->size; | 256 | remain = args->size; |
@@ -235,57 +274,37 @@ i915_gem_gtt_pwrite(struct drm_device *dev, struct drm_gem_object *obj, | |||
235 | obj_priv->dirty = 1; | 274 | obj_priv->dirty = 1; |
236 | 275 | ||
237 | while (remain > 0) { | 276 | while (remain > 0) { |
238 | unsigned long pfn; | ||
239 | int i, o, l; | ||
240 | |||
241 | /* Operation in this page | 277 | /* Operation in this page |
242 | * | 278 | * |
243 | * i = page number | 279 | * page_base = page offset within aperture |
244 | * o = offset within page | 280 | * page_offset = offset within page |
245 | * l = bytes to copy | 281 | * page_length = bytes to copy for this page |
246 | */ | 282 | */ |
247 | i = offset >> PAGE_SHIFT; | 283 | page_base = (offset & ~(PAGE_SIZE-1)); |
248 | o = offset & (PAGE_SIZE-1); | 284 | page_offset = offset & (PAGE_SIZE-1); |
249 | l = remain; | 285 | page_length = remain; |
250 | if ((o + l) > PAGE_SIZE) | 286 | if ((page_offset + remain) > PAGE_SIZE) |
251 | l = PAGE_SIZE - o; | 287 | page_length = PAGE_SIZE - page_offset; |
252 | 288 | ||
253 | pfn = (dev->agp->base >> PAGE_SHIFT) + i; | 289 | ret = fast_user_write (dev_priv->mm.gtt_mapping, page_base, |
254 | 290 | page_offset, user_data, page_length); | |
255 | if (!fast_user_write(pfn, user_data, l, o)) { | 291 | |
256 | unsigned long unwritten; | 292 | /* If we get a fault while copying data, then (presumably) our |
257 | char __iomem *vaddr; | 293 | * source page isn't available. In this case, use the |
258 | 294 | * non-atomic function | |
259 | vaddr = ioremap_wc(pfn << PAGE_SHIFT, PAGE_SIZE); | 295 | */ |
260 | #if WATCH_PWRITE | 296 | if (ret) { |
261 | DRM_INFO("pwrite slow i %d o %d l %d " | 297 | ret = slow_user_write (dev_priv->mm.gtt_mapping, |
262 | "pfn %ld vaddr %p\n", | 298 | page_base, page_offset, |
263 | i, o, l, pfn, vaddr); | 299 | user_data, page_length); |
264 | #endif | 300 | if (ret) |
265 | if (vaddr == NULL) { | ||
266 | ret = -EFAULT; | ||
267 | goto fail; | ||
268 | } | ||
269 | unwritten = __copy_from_user(vaddr + o, user_data, l); | ||
270 | #if WATCH_PWRITE | ||
271 | DRM_INFO("unwritten %ld\n", unwritten); | ||
272 | #endif | ||
273 | iounmap(vaddr); | ||
274 | if (unwritten) { | ||
275 | ret = -EFAULT; | ||
276 | goto fail; | 301 | goto fail; |
277 | } | ||
278 | } | 302 | } |
279 | 303 | ||
280 | remain -= l; | 304 | remain -= page_length; |
281 | user_data += l; | 305 | user_data += page_length; |
282 | offset += l; | 306 | offset += page_length; |
283 | } | 307 | } |
284 | #if WATCH_PWRITE && 1 | ||
285 | i915_gem_clflush_object(obj); | ||
286 | i915_gem_dump_object(obj, args->offset + args->size, __func__, ~0); | ||
287 | i915_gem_clflush_object(obj); | ||
288 | #endif | ||
289 | 308 | ||
290 | fail: | 309 | fail: |
291 | i915_gem_object_unpin(obj); | 310 | i915_gem_object_unpin(obj); |
@@ -1503,12 +1522,12 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
1503 | struct drm_i915_gem_exec_object *entry) | 1522 | struct drm_i915_gem_exec_object *entry) |
1504 | { | 1523 | { |
1505 | struct drm_device *dev = obj->dev; | 1524 | struct drm_device *dev = obj->dev; |
1525 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
1506 | struct drm_i915_gem_relocation_entry reloc; | 1526 | struct drm_i915_gem_relocation_entry reloc; |
1507 | struct drm_i915_gem_relocation_entry __user *relocs; | 1527 | struct drm_i915_gem_relocation_entry __user *relocs; |
1508 | struct drm_i915_gem_object *obj_priv = obj->driver_private; | 1528 | struct drm_i915_gem_object *obj_priv = obj->driver_private; |
1509 | int i, ret; | 1529 | int i, ret; |
1510 | uint32_t last_reloc_offset = -1; | 1530 | void __iomem *reloc_page; |
1511 | void __iomem *reloc_page = NULL; | ||
1512 | 1531 | ||
1513 | /* Choose the GTT offset for our buffer and put it there. */ | 1532 | /* Choose the GTT offset for our buffer and put it there. */ |
1514 | ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); | 1533 | ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); |
@@ -1631,26 +1650,11 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
1631 | * perform. | 1650 | * perform. |
1632 | */ | 1651 | */ |
1633 | reloc_offset = obj_priv->gtt_offset + reloc.offset; | 1652 | reloc_offset = obj_priv->gtt_offset + reloc.offset; |
1634 | if (reloc_page == NULL || | 1653 | reloc_page = io_mapping_map_atomic_wc(dev_priv->mm.gtt_mapping, |
1635 | (last_reloc_offset & ~(PAGE_SIZE - 1)) != | 1654 | (reloc_offset & |
1636 | (reloc_offset & ~(PAGE_SIZE - 1))) { | 1655 | ~(PAGE_SIZE - 1))); |
1637 | if (reloc_page != NULL) | ||
1638 | iounmap(reloc_page); | ||
1639 | |||
1640 | reloc_page = ioremap_wc(dev->agp->base + | ||
1641 | (reloc_offset & | ||
1642 | ~(PAGE_SIZE - 1)), | ||
1643 | PAGE_SIZE); | ||
1644 | last_reloc_offset = reloc_offset; | ||
1645 | if (reloc_page == NULL) { | ||
1646 | drm_gem_object_unreference(target_obj); | ||
1647 | i915_gem_object_unpin(obj); | ||
1648 | return -ENOMEM; | ||
1649 | } | ||
1650 | } | ||
1651 | |||
1652 | reloc_entry = (uint32_t __iomem *)(reloc_page + | 1656 | reloc_entry = (uint32_t __iomem *)(reloc_page + |
1653 | (reloc_offset & (PAGE_SIZE - 1))); | 1657 | (reloc_offset & (PAGE_SIZE - 1))); |
1654 | reloc_val = target_obj_priv->gtt_offset + reloc.delta; | 1658 | reloc_val = target_obj_priv->gtt_offset + reloc.delta; |
1655 | 1659 | ||
1656 | #if WATCH_BUF | 1660 | #if WATCH_BUF |
@@ -1659,6 +1663,7 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
1659 | readl(reloc_entry), reloc_val); | 1663 | readl(reloc_entry), reloc_val); |
1660 | #endif | 1664 | #endif |
1661 | writel(reloc_val, reloc_entry); | 1665 | writel(reloc_val, reloc_entry); |
1666 | io_mapping_unmap_atomic(reloc_page); | ||
1662 | 1667 | ||
1663 | /* Write the updated presumed offset for this entry back out | 1668 | /* Write the updated presumed offset for this entry back out |
1664 | * to the user. | 1669 | * to the user. |
@@ -1674,9 +1679,6 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
1674 | drm_gem_object_unreference(target_obj); | 1679 | drm_gem_object_unreference(target_obj); |
1675 | } | 1680 | } |
1676 | 1681 | ||
1677 | if (reloc_page != NULL) | ||
1678 | iounmap(reloc_page); | ||
1679 | |||
1680 | #if WATCH_BUF | 1682 | #if WATCH_BUF |
1681 | if (0) | 1683 | if (0) |
1682 | i915_gem_dump_object(obj, 128, __func__, ~0); | 1684 | i915_gem_dump_object(obj, 128, __func__, ~0); |
@@ -2518,6 +2520,10 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data, | |||
2518 | if (ret != 0) | 2520 | if (ret != 0) |
2519 | return ret; | 2521 | return ret; |
2520 | 2522 | ||
2523 | dev_priv->mm.gtt_mapping = io_mapping_create_wc(dev->agp->base, | ||
2524 | dev->agp->agp_info.aper_size | ||
2525 | * 1024 * 1024); | ||
2526 | |||
2521 | mutex_lock(&dev->struct_mutex); | 2527 | mutex_lock(&dev->struct_mutex); |
2522 | BUG_ON(!list_empty(&dev_priv->mm.active_list)); | 2528 | BUG_ON(!list_empty(&dev_priv->mm.active_list)); |
2523 | BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); | 2529 | BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); |
@@ -2535,11 +2541,13 @@ int | |||
2535 | i915_gem_leavevt_ioctl(struct drm_device *dev, void *data, | 2541 | i915_gem_leavevt_ioctl(struct drm_device *dev, void *data, |
2536 | struct drm_file *file_priv) | 2542 | struct drm_file *file_priv) |
2537 | { | 2543 | { |
2544 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
2538 | int ret; | 2545 | int ret; |
2539 | 2546 | ||
2540 | ret = i915_gem_idle(dev); | 2547 | ret = i915_gem_idle(dev); |
2541 | drm_irq_uninstall(dev); | 2548 | drm_irq_uninstall(dev); |
2542 | 2549 | ||
2550 | io_mapping_free(dev_priv->mm.gtt_mapping); | ||
2543 | return ret; | 2551 | return ret; |
2544 | } | 2552 | } |
2545 | 2553 | ||
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c index 59a2132a8f57..073894824e6b 100644 --- a/drivers/gpu/drm/radeon/radeon_cp.c +++ b/drivers/gpu/drm/radeon/radeon_cp.c | |||
@@ -653,15 +653,16 @@ static void radeon_cp_init_ring_buffer(struct drm_device * dev, | |||
653 | RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7); | 653 | RADEON_WRITE(RADEON_SCRATCH_UMSK, 0x7); |
654 | 654 | ||
655 | /* Turn on bus mastering */ | 655 | /* Turn on bus mastering */ |
656 | if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || | 656 | if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || |
657 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS690) || | ||
658 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { | 657 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS740)) { |
659 | /* rs400, rs690/rs740 */ | 658 | /* rs600/rs690/rs740 */ |
660 | tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS400_BUS_MASTER_DIS; | 659 | tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RS600_BUS_MASTER_DIS; |
661 | RADEON_WRITE(RADEON_BUS_CNTL, tmp); | 660 | RADEON_WRITE(RADEON_BUS_CNTL, tmp); |
662 | } else if (!(((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV380) || | 661 | } else if (((dev_priv->flags & RADEON_FAMILY_MASK) <= CHIP_RV350) || |
663 | ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R423))) { | 662 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R420) || |
664 | /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ | 663 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS400) || |
664 | ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RS480)) { | ||
665 | /* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ | ||
665 | tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; | 666 | tmp = RADEON_READ(RADEON_BUS_CNTL) & ~RADEON_BUS_MASTER_DIS; |
666 | RADEON_WRITE(RADEON_BUS_CNTL, tmp); | 667 | RADEON_WRITE(RADEON_BUS_CNTL, tmp); |
667 | } /* PCIE cards appears to not need this */ | 668 | } /* PCIE cards appears to not need this */ |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h index 4dbb813910c3..02f5575ba395 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.h +++ b/drivers/gpu/drm/radeon/radeon_drv.h | |||
@@ -447,12 +447,12 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, | |||
447 | * handling, not bus mastering itself. | 447 | * handling, not bus mastering itself. |
448 | */ | 448 | */ |
449 | #define RADEON_BUS_CNTL 0x0030 | 449 | #define RADEON_BUS_CNTL 0x0030 |
450 | /* r1xx, r2xx, r300, r(v)350, r420/r481, rs480 */ | 450 | /* r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ |
451 | # define RADEON_BUS_MASTER_DIS (1 << 6) | 451 | # define RADEON_BUS_MASTER_DIS (1 << 6) |
452 | /* rs400, rs690/rs740 */ | 452 | /* rs600/rs690/rs740 */ |
453 | # define RS400_BUS_MASTER_DIS (1 << 14) | 453 | # define RS600_BUS_MASTER_DIS (1 << 14) |
454 | # define RS400_MSI_REARM (1 << 20) | 454 | # define RS600_MSI_REARM (1 << 20) |
455 | /* see RS480_MSI_REARM in AIC_CNTL for rs480 */ | 455 | /* see RS400_MSI_REARM in AIC_CNTL for rs480 */ |
456 | 456 | ||
457 | #define RADEON_BUS_CNTL1 0x0034 | 457 | #define RADEON_BUS_CNTL1 0x0034 |
458 | # define RADEON_PMI_BM_DIS (1 << 2) | 458 | # define RADEON_PMI_BM_DIS (1 << 2) |
@@ -937,7 +937,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev, | |||
937 | 937 | ||
938 | #define RADEON_AIC_CNTL 0x01d0 | 938 | #define RADEON_AIC_CNTL 0x01d0 |
939 | # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) | 939 | # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) |
940 | # define RS480_MSI_REARM (1 << 3) | 940 | # define RS400_MSI_REARM (1 << 3) |
941 | #define RADEON_AIC_STAT 0x01d4 | 941 | #define RADEON_AIC_STAT 0x01d4 |
942 | #define RADEON_AIC_PT_BASE 0x01d8 | 942 | #define RADEON_AIC_PT_BASE 0x01d8 |
943 | #define RADEON_AIC_LO_ADDR 0x01dc | 943 | #define RADEON_AIC_LO_ADDR 0x01dc |
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 3ac320785fc5..83e851a5ed30 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c | |||
@@ -242,8 +242,6 @@ static int hiddev_release(struct inode * inode, struct file * file) | |||
242 | struct hiddev_list *list = file->private_data; | 242 | struct hiddev_list *list = file->private_data; |
243 | unsigned long flags; | 243 | unsigned long flags; |
244 | 244 | ||
245 | hiddev_fasync(-1, file, 0); | ||
246 | |||
247 | spin_lock_irqsave(&list->hiddev->list_lock, flags); | 245 | spin_lock_irqsave(&list->hiddev->list_lock, flags); |
248 | list_del(&list->node); | 246 | list_del(&list->node); |
249 | spin_unlock_irqrestore(&list->hiddev->list_lock, flags); | 247 | spin_unlock_irqrestore(&list->hiddev->list_lock, flags); |
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c index bc011da79e14..be3285912cb7 100644 --- a/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c | |||
@@ -116,6 +116,18 @@ static const char* temperature_sensors_sets[][36] = { | |||
116 | /* Set 9: Macbook Pro 3,1 (Santa Rosa) */ | 116 | /* Set 9: Macbook Pro 3,1 (Santa Rosa) */ |
117 | { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", | 117 | { "TALP", "TB0T", "TC0D", "TC0P", "TG0D", "TG0H", "TTF0", "TW0P", |
118 | "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, | 118 | "Th0H", "Th1H", "Th2H", "Tm0P", "Ts0P", NULL }, |
119 | /* Set 10: iMac 5,1 */ | ||
120 | { "TA0P", "TC0D", "TC0P", "TG0D", "TH0P", "TO0P", "Tm0P", NULL }, | ||
121 | /* Set 11: Macbook 5,1 */ | ||
122 | { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0P", "TN0D", "TN0P", | ||
123 | "TTF0", "Th0H", "Th1H", "ThFH", "Ts0P", "Ts0S", NULL }, | ||
124 | /* Set 12: Macbook Pro 5,1 */ | ||
125 | { "TB0T", "TB1T", "TB2T", "TB3T", "TC0D", "TC0F", "TC0P", "TG0D", | ||
126 | "TG0F", "TG0H", "TG0P", "TG0T", "TG1H", "TN0D", "TN0P", "TTF0", | ||
127 | "Th2H", "Tm0P", "Ts0P", "Ts0S", NULL }, | ||
128 | /* Set 13: iMac 8,1 */ | ||
129 | { "TA0P", "TC0D", "TC0H", "TC0P", "TG0D", "TG0H", "TG0P", "TH0P", | ||
130 | "TL0P", "TO0P", "TW0P", "Tm0P", "Tp0P", NULL }, | ||
119 | }; | 131 | }; |
120 | 132 | ||
121 | /* List of keys used to read/write fan speeds */ | 133 | /* List of keys used to read/write fan speeds */ |
@@ -1276,6 +1288,14 @@ static __initdata struct dmi_match_data applesmc_dmi_data[] = { | |||
1276 | { .accelerometer = 1, .light = 1, .temperature_set = 8 }, | 1288 | { .accelerometer = 1, .light = 1, .temperature_set = 8 }, |
1277 | /* MacBook Pro 3: accelerometer, backlight and temperature set 9 */ | 1289 | /* MacBook Pro 3: accelerometer, backlight and temperature set 9 */ |
1278 | { .accelerometer = 1, .light = 1, .temperature_set = 9 }, | 1290 | { .accelerometer = 1, .light = 1, .temperature_set = 9 }, |
1291 | /* iMac 5: light sensor only, temperature set 10 */ | ||
1292 | { .accelerometer = 0, .light = 0, .temperature_set = 10 }, | ||
1293 | /* MacBook 5: accelerometer, backlight and temperature set 11 */ | ||
1294 | { .accelerometer = 1, .light = 1, .temperature_set = 11 }, | ||
1295 | /* MacBook Pro 5: accelerometer, backlight and temperature set 12 */ | ||
1296 | { .accelerometer = 1, .light = 1, .temperature_set = 12 }, | ||
1297 | /* iMac 8: light sensor only, temperature set 13 */ | ||
1298 | { .accelerometer = 0, .light = 0, .temperature_set = 13 }, | ||
1279 | }; | 1299 | }; |
1280 | 1300 | ||
1281 | /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". | 1301 | /* Note that DMI_MATCH(...,"MacBook") will match "MacBookPro1,1". |
@@ -1285,6 +1305,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1285 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | 1305 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), |
1286 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, | 1306 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir") }, |
1287 | &applesmc_dmi_data[7]}, | 1307 | &applesmc_dmi_data[7]}, |
1308 | { applesmc_dmi_match, "Apple MacBook Pro 5", { | ||
1309 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1310 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5") }, | ||
1311 | &applesmc_dmi_data[12]}, | ||
1288 | { applesmc_dmi_match, "Apple MacBook Pro 4", { | 1312 | { applesmc_dmi_match, "Apple MacBook Pro 4", { |
1289 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | 1313 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), |
1290 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, | 1314 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro4") }, |
@@ -1305,6 +1329,10 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1305 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1329 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1306 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") }, | 1330 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook3") }, |
1307 | &applesmc_dmi_data[6]}, | 1331 | &applesmc_dmi_data[6]}, |
1332 | { applesmc_dmi_match, "Apple MacBook 5", { | ||
1333 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1334 | DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5") }, | ||
1335 | &applesmc_dmi_data[11]}, | ||
1308 | { applesmc_dmi_match, "Apple MacBook", { | 1336 | { applesmc_dmi_match, "Apple MacBook", { |
1309 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1337 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1310 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, | 1338 | DMI_MATCH(DMI_PRODUCT_NAME,"MacBook") }, |
@@ -1317,6 +1345,14 @@ static __initdata struct dmi_system_id applesmc_whitelist[] = { | |||
1317 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1345 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1318 | DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, | 1346 | DMI_MATCH(DMI_PRODUCT_NAME,"MacPro2") }, |
1319 | &applesmc_dmi_data[4]}, | 1347 | &applesmc_dmi_data[4]}, |
1348 | { applesmc_dmi_match, "Apple iMac 8", { | ||
1349 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1350 | DMI_MATCH(DMI_PRODUCT_NAME, "iMac8") }, | ||
1351 | &applesmc_dmi_data[13]}, | ||
1352 | { applesmc_dmi_match, "Apple iMac 5", { | ||
1353 | DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), | ||
1354 | DMI_MATCH(DMI_PRODUCT_NAME, "iMac5") }, | ||
1355 | &applesmc_dmi_data[10]}, | ||
1320 | { applesmc_dmi_match, "Apple iMac", { | 1356 | { applesmc_dmi_match, "Apple iMac", { |
1321 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), | 1357 | DMI_MATCH(DMI_BOARD_VENDOR,"Apple"), |
1322 | DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, | 1358 | DMI_MATCH(DMI_PRODUCT_NAME,"iMac") }, |
diff --git a/drivers/ide/alim15x3.c b/drivers/ide/alim15x3.c index daf9dce39e52..e56c7b72f9e2 100644 --- a/drivers/ide/alim15x3.c +++ b/drivers/ide/alim15x3.c | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 1998-2000 Andre Hedrick (andre@linux-ide.org) | 6 | * Copyright (C) 1998-2000 Andre Hedrick (andre@linux-ide.org) |
7 | * May be copied or modified under the terms of the GNU General Public License | 7 | * May be copied or modified under the terms of the GNU General Public License |
8 | * Copyright (C) 2002 Alan Cox <alan@redhat.com> | 8 | * Copyright (C) 2002 Alan Cox |
9 | * ALi (now ULi M5228) support by Clear Zhang <Clear.Zhang@ali.com.tw> | 9 | * ALi (now ULi M5228) support by Clear Zhang <Clear.Zhang@ali.com.tw> |
10 | * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com> | 10 | * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com> |
11 | * Copyright (C) 2007 Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 11 | * Copyright (C) 2007 Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
diff --git a/drivers/ide/hpt366.c b/drivers/ide/hpt366.c index a7909e9c720e..f5afd46ed51c 100644 --- a/drivers/ide/hpt366.c +++ b/drivers/ide/hpt366.c | |||
@@ -52,7 +52,7 @@ | |||
52 | * different clocks on read/write. This requires overloading rw_disk and | 52 | * different clocks on read/write. This requires overloading rw_disk and |
53 | * other deeply crazy things. Thanks to <http://www.hoerstreich.de> for | 53 | * other deeply crazy things. Thanks to <http://www.hoerstreich.de> for |
54 | * keeping me sane. | 54 | * keeping me sane. |
55 | * Alan Cox <alan@redhat.com> | 55 | * Alan Cox <alan@lxorguk.ukuu.org.uk> |
56 | * | 56 | * |
57 | * - fix the clock turnaround code: it was writing to the wrong ports when | 57 | * - fix the clock turnaround code: it was writing to the wrong ports when |
58 | * called for the secondary channel, caching the current clock mode per- | 58 | * called for the secondary channel, caching the current clock mode per- |
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index 48b5eda3ab41..42ab6d8715f2 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c | |||
@@ -1250,7 +1250,8 @@ static void cdrom_do_block_pc(ide_drive_t *drive, struct request *rq) | |||
1250 | * separate masks. | 1250 | * separate masks. |
1251 | */ | 1251 | */ |
1252 | alignment = queue_dma_alignment(q) | q->dma_pad_mask; | 1252 | alignment = queue_dma_alignment(q) | q->dma_pad_mask; |
1253 | if ((unsigned long)buf & alignment || rq->data_len & alignment | 1253 | if ((unsigned long)buf & alignment |
1254 | || rq->data_len & q->dma_pad_mask | ||
1254 | || object_is_on_stack(buf)) | 1255 | || object_is_on_stack(buf)) |
1255 | drive->dma = 0; | 1256 | drive->dma = 0; |
1256 | } | 1257 | } |
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index e5adebe8ac2c..eb9fac4d0f0c 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * Copyright (C) 1994-1998 Linus Torvalds & authors (see below) | 2 | * Copyright (C) 1994-1998 Linus Torvalds & authors (see below) |
3 | * Copyright (C) 1998-2002 Linux ATA Development | 3 | * Copyright (C) 1998-2002 Linux ATA Development |
4 | * Andre Hedrick <andre@linux-ide.org> | 4 | * Andre Hedrick <andre@linux-ide.org> |
5 | * Copyright (C) 2003 Red Hat <alan@redhat.com> | 5 | * Copyright (C) 2003 Red Hat |
6 | * Copyright (C) 2003-2005, 2007 Bartlomiej Zolnierkiewicz | 6 | * Copyright (C) 2003-2005, 2007 Bartlomiej Zolnierkiewicz |
7 | */ | 7 | */ |
8 | 8 | ||
diff --git a/drivers/ide/ide-gd.c b/drivers/ide/ide-gd.c index 7b6662854374..b8078b3231f7 100644 --- a/drivers/ide/ide-gd.c +++ b/drivers/ide/ide-gd.c | |||
@@ -281,7 +281,12 @@ static int ide_gd_media_changed(struct gendisk *disk) | |||
281 | static int ide_gd_revalidate_disk(struct gendisk *disk) | 281 | static int ide_gd_revalidate_disk(struct gendisk *disk) |
282 | { | 282 | { |
283 | struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); | 283 | struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); |
284 | set_capacity(disk, ide_gd_capacity(idkp->drive)); | 284 | ide_drive_t *drive = idkp->drive; |
285 | |||
286 | if (ide_gd_media_changed(disk)) | ||
287 | drive->disk_ops->get_capacity(drive); | ||
288 | |||
289 | set_capacity(disk, ide_gd_capacity(drive)); | ||
285 | return 0; | 290 | return 0; |
286 | } | 291 | } |
287 | 292 | ||
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index bb7a1ed8094e..5d6ba14e211d 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2000-2002 Andre Hedrick <andre@linux-ide.org> | 2 | * Copyright (C) 2000-2002 Andre Hedrick <andre@linux-ide.org> |
3 | * Copyright (C) 2003 Red Hat <alan@redhat.com> | 3 | * Copyright (C) 2003 Red Hat |
4 | * | 4 | * |
5 | */ | 5 | */ |
6 | 6 | ||
diff --git a/drivers/ide/ide-pci-generic.c b/drivers/ide/ide-pci-generic.c index 474f96a7c076..bddae2b329a0 100644 --- a/drivers/ide/ide-pci-generic.c +++ b/drivers/ide/ide-pci-generic.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> | 2 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> |
3 | * Portions (C) Copyright 2002 Red Hat Inc <alan@redhat.com> | 3 | * Portions (C) Copyright 2002 Red Hat Inc |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify it | 5 | * This program is free software; you can redistribute it and/or modify it |
6 | * under the terms of the GNU General Public License as published by the | 6 | * under the terms of the GNU General Public License as published by the |
diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c index c31d0dd7a532..f3cddd1b2f8f 100644 --- a/drivers/ide/ide-proc.c +++ b/drivers/ide/ide-proc.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 1997-1998 Mark Lord | 2 | * Copyright (C) 1997-1998 Mark Lord |
3 | * Copyright (C) 2003 Red Hat <alan@redhat.com> | 3 | * Copyright (C) 2003 Red Hat |
4 | * | 4 | * |
5 | * Some code was moved here from ide.c, see it for original copyrights. | 5 | * Some code was moved here from ide.c, see it for original copyrights. |
6 | */ | 6 | */ |
diff --git a/drivers/ide/it821x.c b/drivers/ide/it821x.c index 995e18bb3139..ef004089761b 100644 --- a/drivers/ide/it821x.c +++ b/drivers/ide/it821x.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2004 Red Hat <alan@redhat.com> | 2 | * Copyright (C) 2004 Red Hat |
3 | * Copyright (C) 2007 Bartlomiej Zolnierkiewicz | 3 | * Copyright (C) 2007 Bartlomiej Zolnierkiewicz |
4 | * | 4 | * |
5 | * May be copied or modified under the terms of the GNU General Public License | 5 | * May be copied or modified under the terms of the GNU General Public License |
diff --git a/drivers/ide/jmicron.c b/drivers/ide/jmicron.c index 9a68433cf46d..bf2be6431b20 100644 --- a/drivers/ide/jmicron.c +++ b/drivers/ide/jmicron.c | |||
@@ -1,6 +1,6 @@ | |||
1 | 1 | ||
2 | /* | 2 | /* |
3 | * Copyright (C) 2006 Red Hat <alan@redhat.com> | 3 | * Copyright (C) 2006 Red Hat |
4 | * | 4 | * |
5 | * May be copied or modified under the terms of the GNU General Public License | 5 | * May be copied or modified under the terms of the GNU General Public License |
6 | */ | 6 | */ |
diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c index d63f9fdca76b..61d2d920a5cd 100644 --- a/drivers/ide/piix.c +++ b/drivers/ide/piix.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer | 2 | * Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer |
3 | * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org> | 3 | * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org> |
4 | * Copyright (C) 2003 Red Hat Inc <alan@redhat.com> | 4 | * Copyright (C) 2003 Red Hat |
5 | * Copyright (C) 2006-2007 MontaVista Software, Inc. <source@mvista.com> | 5 | * Copyright (C) 2006-2007 MontaVista Software, Inc. <source@mvista.com> |
6 | * | 6 | * |
7 | * May be copied or modified under the terms of the GNU General Public License | 7 | * May be copied or modified under the terms of the GNU General Public License |
diff --git a/drivers/ide/scc_pata.c b/drivers/ide/scc_pata.c index f26aa5d54efb..0f48f9dacfa5 100644 --- a/drivers/ide/scc_pata.c +++ b/drivers/ide/scc_pata.c | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * This code is based on drivers/ide/pci/siimage.c: | 6 | * This code is based on drivers/ide/pci/siimage.c: |
7 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> | 7 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> |
8 | * Copyright (C) 2003 Red Hat <alan@redhat.com> | 8 | * Copyright (C) 2003 Red Hat |
9 | * | 9 | * |
10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
11 | * it under the terms of the GNU General Public License as published by | 11 | * it under the terms of the GNU General Public License as published by |
diff --git a/drivers/ide/siimage.c b/drivers/ide/siimage.c index c3107df7773d..7d622d20bc4c 100644 --- a/drivers/ide/siimage.c +++ b/drivers/ide/siimage.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> | 2 | * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> |
3 | * Copyright (C) 2003 Red Hat <alan@redhat.com> | 3 | * Copyright (C) 2003 Red Hat |
4 | * Copyright (C) 2007-2008 MontaVista Software, Inc. | 4 | * Copyright (C) 2007-2008 MontaVista Software, Inc. |
5 | * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz | 5 | * Copyright (C) 2007-2008 Bartlomiej Zolnierkiewicz |
6 | * | 6 | * |
diff --git a/drivers/ide/tx4938ide.c b/drivers/ide/tx4938ide.c index fa660f931a11..9120063e8f87 100644 --- a/drivers/ide/tx4938ide.c +++ b/drivers/ide/tx4938ide.c | |||
@@ -26,12 +26,13 @@ static void tx4938ide_tune_ebusc(unsigned int ebus_ch, | |||
26 | unsigned int sp = (cr >> 4) & 3; | 26 | unsigned int sp = (cr >> 4) & 3; |
27 | unsigned int clock = gbus_clock / (4 - sp); | 27 | unsigned int clock = gbus_clock / (4 - sp); |
28 | unsigned int cycle = 1000000000 / clock; | 28 | unsigned int cycle = 1000000000 / clock; |
29 | unsigned int wt, shwt; | 29 | unsigned int shwt; |
30 | int wt; | ||
30 | 31 | ||
31 | /* Minimum DIOx- active time */ | 32 | /* Minimum DIOx- active time */ |
32 | wt = DIV_ROUND_UP(t->act8b, cycle) - 2; | 33 | wt = DIV_ROUND_UP(t->act8b, cycle) - 2; |
33 | /* IORDY setup time: 35ns */ | 34 | /* IORDY setup time: 35ns */ |
34 | wt = max(wt, DIV_ROUND_UP(35, cycle)); | 35 | wt = max_t(int, wt, DIV_ROUND_UP(35, cycle)); |
35 | /* actual wait-cycle is max(wt & ~1, 1) */ | 36 | /* actual wait-cycle is max(wt & ~1, 1) */ |
36 | if (wt > 2 && (wt & 1)) | 37 | if (wt > 2 && (wt & 1)) |
37 | wt++; | 38 | wt++; |
@@ -39,10 +40,17 @@ static void tx4938ide_tune_ebusc(unsigned int ebus_ch, | |||
39 | /* Address-valid to DIOR/DIOW setup */ | 40 | /* Address-valid to DIOR/DIOW setup */ |
40 | shwt = DIV_ROUND_UP(t->setup, cycle); | 41 | shwt = DIV_ROUND_UP(t->setup, cycle); |
41 | 42 | ||
43 | /* -DIOx recovery time (SHWT * 4) and cycle time requirement */ | ||
44 | while ((shwt * 4 + wt + (wt ? 2 : 3)) * cycle < t->cycle) | ||
45 | shwt++; | ||
46 | if (shwt > 7) { | ||
47 | pr_warning("tx4938ide: SHWT violation (%d)\n", shwt); | ||
48 | shwt = 7; | ||
49 | } | ||
42 | pr_debug("tx4938ide: ebus %d, bus cycle %dns, WT %d, SHWT %d\n", | 50 | pr_debug("tx4938ide: ebus %d, bus cycle %dns, WT %d, SHWT %d\n", |
43 | ebus_ch, cycle, wt, shwt); | 51 | ebus_ch, cycle, wt, shwt); |
44 | 52 | ||
45 | __raw_writeq((cr & ~(0x3f007ull)) | (wt << 12) | shwt, | 53 | __raw_writeq((cr & ~0x3f007ull) | (wt << 12) | shwt, |
46 | &tx4938_ebuscptr->cr[ebus_ch]); | 54 | &tx4938_ebuscptr->cr[ebus_ch]); |
47 | } | 55 | } |
48 | 56 | ||
@@ -228,7 +236,7 @@ static int __init tx4938ide_probe(struct platform_device *pdev) | |||
228 | struct resource *res; | 236 | struct resource *res; |
229 | struct tx4938ide_platform_info *pdata = pdev->dev.platform_data; | 237 | struct tx4938ide_platform_info *pdata = pdev->dev.platform_data; |
230 | int irq, ret, i; | 238 | int irq, ret, i; |
231 | unsigned long mapbase; | 239 | unsigned long mapbase, mapctl; |
232 | struct ide_port_info d = tx4938ide_port_info; | 240 | struct ide_port_info d = tx4938ide_port_info; |
233 | 241 | ||
234 | irq = platform_get_irq(pdev, 0); | 242 | irq = platform_get_irq(pdev, 0); |
@@ -242,38 +250,43 @@ static int __init tx4938ide_probe(struct platform_device *pdev) | |||
242 | res->end - res->start + 1, "tx4938ide")) | 250 | res->end - res->start + 1, "tx4938ide")) |
243 | return -EBUSY; | 251 | return -EBUSY; |
244 | mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start, | 252 | mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start, |
245 | res->end - res->start + 1); | 253 | 8 << pdata->ioport_shift); |
246 | if (!mapbase) | 254 | mapctl = (unsigned long)devm_ioremap(&pdev->dev, |
255 | res->start + 0x10000 + | ||
256 | (6 << pdata->ioport_shift), | ||
257 | 1 << pdata->ioport_shift); | ||
258 | if (!mapbase || !mapctl) | ||
247 | return -EBUSY; | 259 | return -EBUSY; |
248 | 260 | ||
249 | memset(&hw, 0, sizeof(hw)); | 261 | memset(&hw, 0, sizeof(hw)); |
250 | if (pdata->ioport_shift) { | 262 | if (pdata->ioport_shift) { |
251 | unsigned long port = mapbase; | 263 | unsigned long port = mapbase; |
264 | unsigned long ctl = mapctl; | ||
252 | 265 | ||
253 | hw.io_ports_array[0] = port; | 266 | hw.io_ports_array[0] = port; |
254 | #ifdef __BIG_ENDIAN | 267 | #ifdef __BIG_ENDIAN |
255 | port++; | 268 | port++; |
269 | ctl++; | ||
256 | #endif | 270 | #endif |
257 | for (i = 1; i <= 7; i++) | 271 | for (i = 1; i <= 7; i++) |
258 | hw.io_ports_array[i] = | 272 | hw.io_ports_array[i] = |
259 | port + (i << pdata->ioport_shift); | 273 | port + (i << pdata->ioport_shift); |
260 | hw.io_ports.ctl_addr = | 274 | hw.io_ports.ctl_addr = ctl; |
261 | port + 0x10000 + (6 << pdata->ioport_shift); | ||
262 | } else | 275 | } else |
263 | ide_std_init_ports(&hw, mapbase, mapbase + 0x10006); | 276 | ide_std_init_ports(&hw, mapbase, mapctl); |
264 | hw.irq = irq; | 277 | hw.irq = irq; |
265 | hw.dev = &pdev->dev; | 278 | hw.dev = &pdev->dev; |
266 | 279 | ||
267 | pr_info("TX4938 IDE interface (base %#lx, irq %d)\n", mapbase, hw.irq); | 280 | pr_info("TX4938 IDE interface (base %#lx, ctl %#lx, irq %d)\n", |
281 | mapbase, mapctl, hw.irq); | ||
268 | if (pdata->gbus_clock) | 282 | if (pdata->gbus_clock) |
269 | tx4938ide_tune_ebusc(pdata->ebus_ch, pdata->gbus_clock, 0); | 283 | tx4938ide_tune_ebusc(pdata->ebus_ch, pdata->gbus_clock, 0); |
270 | else | 284 | else |
271 | d.port_ops = NULL; | 285 | d.port_ops = NULL; |
272 | ret = ide_host_add(&d, hws, &host); | 286 | ret = ide_host_add(&d, hws, &host); |
273 | if (ret) | 287 | if (!ret) |
274 | return ret; | 288 | platform_set_drvdata(pdev, host); |
275 | platform_set_drvdata(pdev, host); | 289 | return ret; |
276 | return 0; | ||
277 | } | 290 | } |
278 | 291 | ||
279 | static int __exit tx4938ide_remove(struct platform_device *pdev) | 292 | static int __exit tx4938ide_remove(struct platform_device *pdev) |
diff --git a/drivers/ieee1394/dv1394.c b/drivers/ieee1394/dv1394.c index 2f83543a9dfc..c19f23267157 100644 --- a/drivers/ieee1394/dv1394.c +++ b/drivers/ieee1394/dv1394.c | |||
@@ -1270,8 +1270,14 @@ static int dv1394_mmap(struct file *file, struct vm_area_struct *vma) | |||
1270 | struct video_card *video = file_to_video_card(file); | 1270 | struct video_card *video = file_to_video_card(file); |
1271 | int retval = -EINVAL; | 1271 | int retval = -EINVAL; |
1272 | 1272 | ||
1273 | /* serialize mmap */ | 1273 | /* |
1274 | mutex_lock(&video->mtx); | 1274 | * We cannot use the blocking variant mutex_lock here because .mmap |
1275 | * is called with mmap_sem held, while .ioctl, .read, .write acquire | ||
1276 | * video->mtx and subsequently call copy_to/from_user which will | ||
1277 | * grab mmap_sem in case of a page fault. | ||
1278 | */ | ||
1279 | if (!mutex_trylock(&video->mtx)) | ||
1280 | return -EAGAIN; | ||
1275 | 1281 | ||
1276 | if ( ! video_card_initialized(video) ) { | 1282 | if ( ! video_card_initialized(video) ) { |
1277 | retval = do_dv1394_init_default(video); | 1283 | retval = do_dv1394_init_default(video); |
@@ -1828,9 +1834,6 @@ static int dv1394_release(struct inode *inode, struct file *file) | |||
1828 | /* OK to free the DMA buffer, no more mappings can exist */ | 1834 | /* OK to free the DMA buffer, no more mappings can exist */ |
1829 | do_dv1394_shutdown(video, 1); | 1835 | do_dv1394_shutdown(video, 1); |
1830 | 1836 | ||
1831 | /* clean up async I/O users */ | ||
1832 | dv1394_fasync(-1, file, 0); | ||
1833 | |||
1834 | /* give someone else a turn */ | 1837 | /* give someone else a turn */ |
1835 | clear_bit(0, &video->open); | 1838 | clear_bit(0, &video->open); |
1836 | 1839 | ||
diff --git a/drivers/ieee1394/hosts.c b/drivers/ieee1394/hosts.c index 8dd09d850419..237d0c9d69c6 100644 --- a/drivers/ieee1394/hosts.c +++ b/drivers/ieee1394/hosts.c | |||
@@ -155,11 +155,11 @@ struct hpsb_host *hpsb_alloc_host(struct hpsb_host_driver *drv, size_t extra, | |||
155 | memcpy(&h->device, &nodemgr_dev_template_host, sizeof(h->device)); | 155 | memcpy(&h->device, &nodemgr_dev_template_host, sizeof(h->device)); |
156 | h->device.parent = dev; | 156 | h->device.parent = dev; |
157 | set_dev_node(&h->device, dev_to_node(dev)); | 157 | set_dev_node(&h->device, dev_to_node(dev)); |
158 | snprintf(h->device.bus_id, BUS_ID_SIZE, "fw-host%d", h->id); | 158 | dev_set_name(&h->device, "fw-host%d", h->id); |
159 | 159 | ||
160 | h->host_dev.parent = &h->device; | 160 | h->host_dev.parent = &h->device; |
161 | h->host_dev.class = &hpsb_host_class; | 161 | h->host_dev.class = &hpsb_host_class; |
162 | snprintf(h->host_dev.bus_id, BUS_ID_SIZE, "fw-host%d", h->id); | 162 | dev_set_name(&h->host_dev, "fw-host%d", h->id); |
163 | 163 | ||
164 | if (device_register(&h->device)) | 164 | if (device_register(&h->device)) |
165 | goto fail; | 165 | goto fail; |
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c index 2376b729e876..9e39f73282ee 100644 --- a/drivers/ieee1394/nodemgr.c +++ b/drivers/ieee1394/nodemgr.c | |||
@@ -826,13 +826,11 @@ static struct node_entry *nodemgr_create_node(octlet_t guid, | |||
826 | memcpy(&ne->device, &nodemgr_dev_template_ne, | 826 | memcpy(&ne->device, &nodemgr_dev_template_ne, |
827 | sizeof(ne->device)); | 827 | sizeof(ne->device)); |
828 | ne->device.parent = &host->device; | 828 | ne->device.parent = &host->device; |
829 | snprintf(ne->device.bus_id, BUS_ID_SIZE, "%016Lx", | 829 | dev_set_name(&ne->device, "%016Lx", (unsigned long long)(ne->guid)); |
830 | (unsigned long long)(ne->guid)); | ||
831 | 830 | ||
832 | ne->node_dev.parent = &ne->device; | 831 | ne->node_dev.parent = &ne->device; |
833 | ne->node_dev.class = &nodemgr_ne_class; | 832 | ne->node_dev.class = &nodemgr_ne_class; |
834 | snprintf(ne->node_dev.bus_id, BUS_ID_SIZE, "%016Lx", | 833 | dev_set_name(&ne->node_dev, "%016Lx", (unsigned long long)(ne->guid)); |
835 | (unsigned long long)(ne->guid)); | ||
836 | 834 | ||
837 | if (device_register(&ne->device)) | 835 | if (device_register(&ne->device)) |
838 | goto fail_devreg; | 836 | goto fail_devreg; |
@@ -932,13 +930,11 @@ static void nodemgr_register_device(struct node_entry *ne, | |||
932 | 930 | ||
933 | ud->device.parent = parent; | 931 | ud->device.parent = parent; |
934 | 932 | ||
935 | snprintf(ud->device.bus_id, BUS_ID_SIZE, "%s-%u", | 933 | dev_set_name(&ud->device, "%s-%u", dev_name(&ne->device), ud->id); |
936 | ne->device.bus_id, ud->id); | ||
937 | 934 | ||
938 | ud->unit_dev.parent = &ud->device; | 935 | ud->unit_dev.parent = &ud->device; |
939 | ud->unit_dev.class = &nodemgr_ud_class; | 936 | ud->unit_dev.class = &nodemgr_ud_class; |
940 | snprintf(ud->unit_dev.bus_id, BUS_ID_SIZE, "%s-%u", | 937 | dev_set_name(&ud->unit_dev, "%s-%u", dev_name(&ne->device), ud->id); |
941 | ne->device.bus_id, ud->id); | ||
942 | 938 | ||
943 | if (device_register(&ud->device)) | 939 | if (device_register(&ud->device)) |
944 | goto fail_devreg; | 940 | goto fail_devreg; |
@@ -953,7 +949,7 @@ static void nodemgr_register_device(struct node_entry *ne, | |||
953 | fail_classdevreg: | 949 | fail_classdevreg: |
954 | device_unregister(&ud->device); | 950 | device_unregister(&ud->device); |
955 | fail_devreg: | 951 | fail_devreg: |
956 | HPSB_ERR("Failed to create unit %s", ud->device.bus_id); | 952 | HPSB_ERR("Failed to create unit %s", dev_name(&ud->device)); |
957 | } | 953 | } |
958 | 954 | ||
959 | 955 | ||
diff --git a/drivers/ieee1394/raw1394.c b/drivers/ieee1394/raw1394.c index 9f19ac492106..bf7e761c12b1 100644 --- a/drivers/ieee1394/raw1394.c +++ b/drivers/ieee1394/raw1394.c | |||
@@ -2268,7 +2268,8 @@ static ssize_t raw1394_write(struct file *file, const char __user * buffer, | |||
2268 | return -EFAULT; | 2268 | return -EFAULT; |
2269 | } | 2269 | } |
2270 | 2270 | ||
2271 | mutex_lock(&fi->state_mutex); | 2271 | if (!mutex_trylock(&fi->state_mutex)) |
2272 | return -EAGAIN; | ||
2272 | 2273 | ||
2273 | switch (fi->state) { | 2274 | switch (fi->state) { |
2274 | case opened: | 2275 | case opened: |
@@ -2548,7 +2549,8 @@ static int raw1394_mmap(struct file *file, struct vm_area_struct *vma) | |||
2548 | struct file_info *fi = file->private_data; | 2549 | struct file_info *fi = file->private_data; |
2549 | int ret; | 2550 | int ret; |
2550 | 2551 | ||
2551 | mutex_lock(&fi->state_mutex); | 2552 | if (!mutex_trylock(&fi->state_mutex)) |
2553 | return -EAGAIN; | ||
2552 | 2554 | ||
2553 | if (fi->iso_state == RAW1394_ISO_INACTIVE) | 2555 | if (fi->iso_state == RAW1394_ISO_INACTIVE) |
2554 | ret = -EINVAL; | 2556 | ret = -EINVAL; |
@@ -2669,7 +2671,8 @@ static long raw1394_ioctl(struct file *file, unsigned int cmd, | |||
2669 | break; | 2671 | break; |
2670 | } | 2672 | } |
2671 | 2673 | ||
2672 | mutex_lock(&fi->state_mutex); | 2674 | if (!mutex_trylock(&fi->state_mutex)) |
2675 | return -EAGAIN; | ||
2673 | 2676 | ||
2674 | switch (fi->iso_state) { | 2677 | switch (fi->iso_state) { |
2675 | case RAW1394_ISO_INACTIVE: | 2678 | case RAW1394_ISO_INACTIVE: |
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index d85af1b67027..eb36a81dd09b 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c | |||
@@ -358,8 +358,6 @@ static int ib_uverbs_event_close(struct inode *inode, struct file *filp) | |||
358 | } | 358 | } |
359 | spin_unlock_irq(&file->lock); | 359 | spin_unlock_irq(&file->lock); |
360 | 360 | ||
361 | ib_uverbs_event_fasync(-1, filp, 0); | ||
362 | |||
363 | if (file->is_async) { | 361 | if (file->is_async) { |
364 | ib_unregister_event_handler(&file->uverbs_file->event_handler); | 362 | ib_unregister_event_handler(&file->uverbs_file->event_handler); |
365 | kref_put(&file->uverbs_file->ref, ib_uverbs_release_file); | 363 | kref_put(&file->uverbs_file->ref, ib_uverbs_release_file); |
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 3524bef62be6..1070db330d35 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
@@ -235,7 +235,6 @@ static int evdev_release(struct inode *inode, struct file *file) | |||
235 | evdev_ungrab(evdev, client); | 235 | evdev_ungrab(evdev, client); |
236 | mutex_unlock(&evdev->mutex); | 236 | mutex_unlock(&evdev->mutex); |
237 | 237 | ||
238 | evdev_fasync(-1, file, 0); | ||
239 | evdev_detach_client(evdev, client); | 238 | evdev_detach_client(evdev, client); |
240 | kfree(client); | 239 | kfree(client); |
241 | 240 | ||
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index 65d7077a75a1..a85b1485e774 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c | |||
@@ -244,7 +244,6 @@ static int joydev_release(struct inode *inode, struct file *file) | |||
244 | struct joydev_client *client = file->private_data; | 244 | struct joydev_client *client = file->private_data; |
245 | struct joydev *joydev = client->joydev; | 245 | struct joydev *joydev = client->joydev; |
246 | 246 | ||
247 | joydev_fasync(-1, file, 0); | ||
248 | joydev_detach_client(joydev, client); | 247 | joydev_detach_client(joydev, client); |
249 | kfree(client); | 248 | kfree(client); |
250 | 249 | ||
diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index 82ec6b1b6467..216a559f55ea 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c | |||
@@ -71,7 +71,6 @@ static int hp_sdc_rtc_ioctl(struct inode *inode, struct file *file, | |||
71 | static unsigned int hp_sdc_rtc_poll(struct file *file, poll_table *wait); | 71 | static unsigned int hp_sdc_rtc_poll(struct file *file, poll_table *wait); |
72 | 72 | ||
73 | static int hp_sdc_rtc_open(struct inode *inode, struct file *file); | 73 | static int hp_sdc_rtc_open(struct inode *inode, struct file *file); |
74 | static int hp_sdc_rtc_release(struct inode *inode, struct file *file); | ||
75 | static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on); | 74 | static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on); |
76 | 75 | ||
77 | static int hp_sdc_rtc_read_proc(char *page, char **start, off_t off, | 76 | static int hp_sdc_rtc_read_proc(char *page, char **start, off_t off, |
@@ -414,17 +413,6 @@ static int hp_sdc_rtc_open(struct inode *inode, struct file *file) | |||
414 | return 0; | 413 | return 0; |
415 | } | 414 | } |
416 | 415 | ||
417 | static int hp_sdc_rtc_release(struct inode *inode, struct file *file) | ||
418 | { | ||
419 | /* Turn off interrupts? */ | ||
420 | |||
421 | if (file->f_flags & FASYNC) { | ||
422 | hp_sdc_rtc_fasync (-1, file, 0); | ||
423 | } | ||
424 | |||
425 | return 0; | ||
426 | } | ||
427 | |||
428 | static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on) | 416 | static int hp_sdc_rtc_fasync (int fd, struct file *filp, int on) |
429 | { | 417 | { |
430 | return fasync_helper (fd, filp, on, &hp_sdc_rtc_async_queue); | 418 | return fasync_helper (fd, filp, on, &hp_sdc_rtc_async_queue); |
@@ -680,7 +668,6 @@ static const struct file_operations hp_sdc_rtc_fops = { | |||
680 | .poll = hp_sdc_rtc_poll, | 668 | .poll = hp_sdc_rtc_poll, |
681 | .ioctl = hp_sdc_rtc_ioctl, | 669 | .ioctl = hp_sdc_rtc_ioctl, |
682 | .open = hp_sdc_rtc_open, | 670 | .open = hp_sdc_rtc_open, |
683 | .release = hp_sdc_rtc_release, | ||
684 | .fasync = hp_sdc_rtc_fasync, | 671 | .fasync = hp_sdc_rtc_fasync, |
685 | }; | 672 | }; |
686 | 673 | ||
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c index 8137e50ded87..d8c056fe7e98 100644 --- a/drivers/input/mousedev.c +++ b/drivers/input/mousedev.c | |||
@@ -519,7 +519,6 @@ static int mousedev_release(struct inode *inode, struct file *file) | |||
519 | struct mousedev_client *client = file->private_data; | 519 | struct mousedev_client *client = file->private_data; |
520 | struct mousedev *mousedev = client->mousedev; | 520 | struct mousedev *mousedev = client->mousedev; |
521 | 521 | ||
522 | mousedev_fasync(-1, file, 0); | ||
523 | mousedev_detach_client(mousedev, client); | 522 | mousedev_detach_client(mousedev, client); |
524 | kfree(client); | 523 | kfree(client); |
525 | 524 | ||
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index 470770c09260..06bbd0e74c6f 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c | |||
@@ -135,7 +135,6 @@ static int serio_raw_release(struct inode *inode, struct file *file) | |||
135 | 135 | ||
136 | mutex_lock(&serio_raw_mutex); | 136 | mutex_lock(&serio_raw_mutex); |
137 | 137 | ||
138 | serio_raw_fasync(-1, file, 0); | ||
139 | serio_raw_cleanup(serio_raw); | 138 | serio_raw_cleanup(serio_raw); |
140 | 139 | ||
141 | mutex_unlock(&serio_raw_mutex); | 140 | mutex_unlock(&serio_raw_mutex); |
diff --git a/drivers/leds/leds-hp-disk.c b/drivers/leds/leds-hp-disk.c index 74645ab15660..44fa757d8254 100644 --- a/drivers/leds/leds-hp-disk.c +++ b/drivers/leds/leds-hp-disk.c | |||
@@ -27,7 +27,6 @@ | |||
27 | #include <linux/interrupt.h> | 27 | #include <linux/interrupt.h> |
28 | #include <linux/input.h> | 28 | #include <linux/input.h> |
29 | #include <linux/kthread.h> | 29 | #include <linux/kthread.h> |
30 | #include <linux/version.h> | ||
31 | #include <linux/leds.h> | 30 | #include <linux/leds.h> |
32 | #include <acpi/acpi_drivers.h> | 31 | #include <acpi/acpi_drivers.h> |
33 | 32 | ||
diff --git a/drivers/md/linear.c b/drivers/md/linear.c index 190147c79e79..3b90c5c924ec 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c | |||
@@ -148,6 +148,8 @@ static linear_conf_t *linear_conf(mddev_t *mddev, int raid_disks) | |||
148 | 148 | ||
149 | min_sectors = conf->array_sectors; | 149 | min_sectors = conf->array_sectors; |
150 | sector_div(min_sectors, PAGE_SIZE/sizeof(struct dev_info *)); | 150 | sector_div(min_sectors, PAGE_SIZE/sizeof(struct dev_info *)); |
151 | if (min_sectors == 0) | ||
152 | min_sectors = 1; | ||
151 | 153 | ||
152 | /* min_sectors is the minimum spacing that will fit the hash | 154 | /* min_sectors is the minimum spacing that will fit the hash |
153 | * table in one PAGE. This may be much smaller than needed. | 155 | * table in one PAGE. This may be much smaller than needed. |
diff --git a/drivers/md/md.c b/drivers/md/md.c index 9abf6ed16535..1b1d32694f6f 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -3884,7 +3884,6 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open) | |||
3884 | if (mode == 0) { | 3884 | if (mode == 0) { |
3885 | mdk_rdev_t *rdev; | 3885 | mdk_rdev_t *rdev; |
3886 | struct list_head *tmp; | 3886 | struct list_head *tmp; |
3887 | struct block_device *bdev; | ||
3888 | 3887 | ||
3889 | printk(KERN_INFO "md: %s stopped.\n", mdname(mddev)); | 3888 | printk(KERN_INFO "md: %s stopped.\n", mdname(mddev)); |
3890 | 3889 | ||
@@ -3941,11 +3940,6 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open) | |||
3941 | mddev->degraded = 0; | 3940 | mddev->degraded = 0; |
3942 | mddev->barriers_work = 0; | 3941 | mddev->barriers_work = 0; |
3943 | mddev->safemode = 0; | 3942 | mddev->safemode = 0; |
3944 | bdev = bdget_disk(mddev->gendisk, 0); | ||
3945 | if (bdev) { | ||
3946 | blkdev_ioctl(bdev, 0, BLKRRPART, 0); | ||
3947 | bdput(bdev); | ||
3948 | } | ||
3949 | kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE); | 3943 | kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE); |
3950 | 3944 | ||
3951 | } else if (mddev->pers) | 3945 | } else if (mddev->pers) |
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index da5129a24b18..970a96ef9b18 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -1137,7 +1137,7 @@ static int raid10_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) | |||
1137 | if (!enough(conf)) | 1137 | if (!enough(conf)) |
1138 | return -EINVAL; | 1138 | return -EINVAL; |
1139 | 1139 | ||
1140 | if (rdev->raid_disk) | 1140 | if (rdev->raid_disk >= 0) |
1141 | first = last = rdev->raid_disk; | 1141 | first = last = rdev->raid_disk; |
1142 | 1142 | ||
1143 | if (rdev->saved_raid_disk >= 0 && | 1143 | if (rdev->saved_raid_disk >= 0 && |
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c index f5233f3d9eff..b89f476cd0a9 100644 --- a/drivers/message/fusion/mptctl.c +++ b/drivers/message/fusion/mptctl.c | |||
@@ -559,12 +559,6 @@ mptctl_fasync(int fd, struct file *filep, int mode) | |||
559 | return ret; | 559 | return ret; |
560 | } | 560 | } |
561 | 561 | ||
562 | static int | ||
563 | mptctl_release(struct inode *inode, struct file *filep) | ||
564 | { | ||
565 | return fasync_helper(-1, filep, 0, &async_queue); | ||
566 | } | ||
567 | |||
568 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 562 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
569 | /* | 563 | /* |
570 | * MPT ioctl handler | 564 | * MPT ioctl handler |
@@ -2706,7 +2700,6 @@ mptctl_hp_targetinfo(unsigned long arg) | |||
2706 | static const struct file_operations mptctl_fops = { | 2700 | static const struct file_operations mptctl_fops = { |
2707 | .owner = THIS_MODULE, | 2701 | .owner = THIS_MODULE, |
2708 | .llseek = no_llseek, | 2702 | .llseek = no_llseek, |
2709 | .release = mptctl_release, | ||
2710 | .fasync = mptctl_fasync, | 2703 | .fasync = mptctl_fasync, |
2711 | .unlocked_ioctl = mptctl_ioctl, | 2704 | .unlocked_ioctl = mptctl_ioctl, |
2712 | #ifdef CONFIG_COMPAT | 2705 | #ifdef CONFIG_COMPAT |
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index a3fabdbe6ca6..f3384c32b9a1 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c | |||
@@ -1097,28 +1097,17 @@ static int cfg_fasync(int fd, struct file *fp, int on) | |||
1097 | static int cfg_release(struct inode *inode, struct file *file) | 1097 | static int cfg_release(struct inode *inode, struct file *file) |
1098 | { | 1098 | { |
1099 | ulong id = (ulong) file->private_data; | 1099 | ulong id = (ulong) file->private_data; |
1100 | struct i2o_cfg_info *p1, *p2; | 1100 | struct i2o_cfg_info *p, **q; |
1101 | unsigned long flags; | 1101 | unsigned long flags; |
1102 | 1102 | ||
1103 | lock_kernel(); | 1103 | lock_kernel(); |
1104 | p1 = p2 = NULL; | ||
1105 | |||
1106 | spin_lock_irqsave(&i2o_config_lock, flags); | 1104 | spin_lock_irqsave(&i2o_config_lock, flags); |
1107 | for (p1 = open_files; p1;) { | 1105 | for (q = &open_files; (p = *q) != NULL; q = &p->next) { |
1108 | if (p1->q_id == id) { | 1106 | if (p->q_id == id) { |
1109 | 1107 | *q = p->next; | |
1110 | if (p1->fasync) | 1108 | kfree(p); |
1111 | cfg_fasync(-1, file, 0); | ||
1112 | if (p2) | ||
1113 | p2->next = p1->next; | ||
1114 | else | ||
1115 | open_files = p1->next; | ||
1116 | |||
1117 | kfree(p1); | ||
1118 | break; | 1109 | break; |
1119 | } | 1110 | } |
1120 | p2 = p1; | ||
1121 | p1 = p1->next; | ||
1122 | } | 1111 | } |
1123 | spin_unlock_irqrestore(&i2o_config_lock, flags); | 1112 | spin_unlock_irqrestore(&i2o_config_lock, flags); |
1124 | unlock_kernel(); | 1113 | unlock_kernel(); |
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index b550267c8d5e..257277394f8c 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig | |||
@@ -81,7 +81,7 @@ config MFD_TMIO | |||
81 | 81 | ||
82 | config MFD_T7L66XB | 82 | config MFD_T7L66XB |
83 | bool "Support Toshiba T7L66XB" | 83 | bool "Support Toshiba T7L66XB" |
84 | depends on ARM | 84 | depends on ARM && HAVE_CLK |
85 | select MFD_CORE | 85 | select MFD_CORE |
86 | select MFD_TMIO | 86 | select MFD_TMIO |
87 | help | 87 | help |
@@ -89,7 +89,7 @@ config MFD_T7L66XB | |||
89 | 89 | ||
90 | config MFD_TC6387XB | 90 | config MFD_TC6387XB |
91 | bool "Support Toshiba TC6387XB" | 91 | bool "Support Toshiba TC6387XB" |
92 | depends on ARM | 92 | depends on ARM && HAVE_CLK |
93 | select MFD_CORE | 93 | select MFD_CORE |
94 | select MFD_TMIO | 94 | select MFD_TMIO |
95 | help | 95 | help |
diff --git a/drivers/misc/panasonic-laptop.c b/drivers/misc/panasonic-laptop.c index a2cb598d8ab5..4a1bc64485d5 100644 --- a/drivers/misc/panasonic-laptop.c +++ b/drivers/misc/panasonic-laptop.c | |||
@@ -116,7 +116,6 @@ | |||
116 | * | 116 | * |
117 | */ | 117 | */ |
118 | 118 | ||
119 | #include <linux/version.h> | ||
120 | #include <linux/kernel.h> | 119 | #include <linux/kernel.h> |
121 | #include <linux/module.h> | 120 | #include <linux/module.h> |
122 | #include <linux/init.h> | 121 | #include <linux/init.h> |
diff --git a/drivers/misc/sony-laptop.c b/drivers/misc/sony-laptop.c index f483c4221f76..06f07e19dc70 100644 --- a/drivers/misc/sony-laptop.c +++ b/drivers/misc/sony-laptop.c | |||
@@ -1920,7 +1920,6 @@ static int sonypi_misc_fasync(int fd, struct file *filp, int on) | |||
1920 | 1920 | ||
1921 | static int sonypi_misc_release(struct inode *inode, struct file *file) | 1921 | static int sonypi_misc_release(struct inode *inode, struct file *file) |
1922 | { | 1922 | { |
1923 | sonypi_misc_fasync(-1, file, 0); | ||
1924 | atomic_dec(&sonypi_compat.open_count); | 1923 | atomic_dec(&sonypi_compat.open_count); |
1925 | return 0; | 1924 | return 0; |
1926 | } | 1925 | } |
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 3e6f5d8609e8..d74ec46aa032 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c | |||
@@ -406,19 +406,6 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) | |||
406 | /* Set the default CFI lock/unlock addresses */ | 406 | /* Set the default CFI lock/unlock addresses */ |
407 | cfi->addr_unlock1 = 0x555; | 407 | cfi->addr_unlock1 = 0x555; |
408 | cfi->addr_unlock2 = 0x2aa; | 408 | cfi->addr_unlock2 = 0x2aa; |
409 | /* Modify the unlock address if we are in compatibility mode */ | ||
410 | if ( /* x16 in x8 mode */ | ||
411 | ((cfi->device_type == CFI_DEVICETYPE_X8) && | ||
412 | (cfi->cfiq->InterfaceDesc == | ||
413 | CFI_INTERFACE_X8_BY_X16_ASYNC)) || | ||
414 | /* x32 in x16 mode */ | ||
415 | ((cfi->device_type == CFI_DEVICETYPE_X16) && | ||
416 | (cfi->cfiq->InterfaceDesc == | ||
417 | CFI_INTERFACE_X16_BY_X32_ASYNC))) | ||
418 | { | ||
419 | cfi->addr_unlock1 = 0xaaa; | ||
420 | cfi->addr_unlock2 = 0x555; | ||
421 | } | ||
422 | 409 | ||
423 | } /* CFI mode */ | 410 | } /* CFI mode */ |
424 | else if (cfi->cfi_mode == CFI_MODE_JEDEC) { | 411 | else if (cfi->cfi_mode == CFI_MODE_JEDEC) { |
diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c index f84ab6182148..2f3f2f719ba4 100644 --- a/drivers/mtd/chips/jedec_probe.c +++ b/drivers/mtd/chips/jedec_probe.c | |||
@@ -1808,9 +1808,7 @@ static inline u32 jedec_read_mfr(struct map_info *map, uint32_t base, | |||
1808 | * several first banks can contain 0x7f instead of actual ID | 1808 | * several first banks can contain 0x7f instead of actual ID |
1809 | */ | 1809 | */ |
1810 | do { | 1810 | do { |
1811 | uint32_t ofs = cfi_build_cmd_addr(0 + (bank << 8), | 1811 | uint32_t ofs = cfi_build_cmd_addr(0 + (bank << 8), map, cfi); |
1812 | cfi_interleave(cfi), | ||
1813 | cfi->device_type); | ||
1814 | mask = (1 << (cfi->device_type * 8)) - 1; | 1812 | mask = (1 << (cfi->device_type * 8)) - 1; |
1815 | result = map_read(map, base + ofs); | 1813 | result = map_read(map, base + ofs); |
1816 | bank++; | 1814 | bank++; |
@@ -1824,7 +1822,7 @@ static inline u32 jedec_read_id(struct map_info *map, uint32_t base, | |||
1824 | { | 1822 | { |
1825 | map_word result; | 1823 | map_word result; |
1826 | unsigned long mask; | 1824 | unsigned long mask; |
1827 | u32 ofs = cfi_build_cmd_addr(1, cfi_interleave(cfi), cfi->device_type); | 1825 | u32 ofs = cfi_build_cmd_addr(1, map, cfi); |
1828 | mask = (1 << (cfi->device_type * 8)) -1; | 1826 | mask = (1 << (cfi->device_type * 8)) -1; |
1829 | result = map_read(map, base + ofs); | 1827 | result = map_read(map, base + ofs); |
1830 | return result.x[0] & mask; | 1828 | return result.x[0] & mask; |
@@ -2067,8 +2065,8 @@ static int jedec_probe_chip(struct map_info *map, __u32 base, | |||
2067 | 2065 | ||
2068 | } | 2066 | } |
2069 | /* Ensure the unlock addresses we try stay inside the map */ | 2067 | /* Ensure the unlock addresses we try stay inside the map */ |
2070 | probe_offset1 = cfi_build_cmd_addr(cfi->addr_unlock1, cfi_interleave(cfi), cfi->device_type); | 2068 | probe_offset1 = cfi_build_cmd_addr(cfi->addr_unlock1, map, cfi); |
2071 | probe_offset2 = cfi_build_cmd_addr(cfi->addr_unlock2, cfi_interleave(cfi), cfi->device_type); | 2069 | probe_offset2 = cfi_build_cmd_addr(cfi->addr_unlock2, map, cfi); |
2072 | if ( ((base + probe_offset1 + map_bankwidth(map)) >= map->size) || | 2070 | if ( ((base + probe_offset1 + map_bankwidth(map)) >= map->size) || |
2073 | ((base + probe_offset2 + map_bankwidth(map)) >= map->size)) | 2071 | ((base + probe_offset2 + map_bankwidth(map)) >= map->size)) |
2074 | goto retry; | 2072 | goto retry; |
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index 8387e05daae2..e39b21d3e168 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c | |||
@@ -38,7 +38,6 @@ | |||
38 | #include <asm/arch/gpmc.h> | 38 | #include <asm/arch/gpmc.h> |
39 | #include <asm/arch/onenand.h> | 39 | #include <asm/arch/onenand.h> |
40 | #include <asm/arch/gpio.h> | 40 | #include <asm/arch/gpio.h> |
41 | #include <asm/arch/gpmc.h> | ||
42 | #include <asm/arch/pm.h> | 41 | #include <asm/arch/pm.h> |
43 | 42 | ||
44 | #include <linux/dma-mapping.h> | 43 | #include <linux/dma-mapping.h> |
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c index 226a017a9991..535c234286ea 100644 --- a/drivers/net/3c509.c +++ b/drivers/net/3c509.c | |||
@@ -94,7 +94,7 @@ | |||
94 | #include <asm/io.h> | 94 | #include <asm/io.h> |
95 | #include <asm/irq.h> | 95 | #include <asm/irq.h> |
96 | 96 | ||
97 | static char version[] __initdata = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@scyld.com\n"; | 97 | static char version[] __devinitdata = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@scyld.com\n"; |
98 | 98 | ||
99 | #ifdef EL3_DEBUG | 99 | #ifdef EL3_DEBUG |
100 | static int el3_debug = EL3_DEBUG; | 100 | static int el3_debug = EL3_DEBUG; |
@@ -186,7 +186,7 @@ static int max_interrupt_work = 10; | |||
186 | static int nopnp; | 186 | static int nopnp; |
187 | #endif | 187 | #endif |
188 | 188 | ||
189 | static int __init el3_common_init(struct net_device *dev); | 189 | static int __devinit el3_common_init(struct net_device *dev); |
190 | static void el3_common_remove(struct net_device *dev); | 190 | static void el3_common_remove(struct net_device *dev); |
191 | static ushort id_read_eeprom(int index); | 191 | static ushort id_read_eeprom(int index); |
192 | static ushort read_eeprom(int ioaddr, int index); | 192 | static ushort read_eeprom(int ioaddr, int index); |
@@ -537,7 +537,7 @@ static struct mca_driver el3_mca_driver = { | |||
537 | static int mca_registered; | 537 | static int mca_registered; |
538 | #endif /* CONFIG_MCA */ | 538 | #endif /* CONFIG_MCA */ |
539 | 539 | ||
540 | static int __init el3_common_init(struct net_device *dev) | 540 | static int __devinit el3_common_init(struct net_device *dev) |
541 | { | 541 | { |
542 | struct el3_private *lp = netdev_priv(dev); | 542 | struct el3_private *lp = netdev_priv(dev); |
543 | int err; | 543 | int err; |
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 0f3e6b2d2808..1757bb3f6e08 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -1997,9 +1997,13 @@ config IGB_LRO | |||
1997 | If in doubt, say N. | 1997 | If in doubt, say N. |
1998 | 1998 | ||
1999 | config IGB_DCA | 1999 | config IGB_DCA |
2000 | bool "Enable DCA" | 2000 | bool "Direct Cache Access (DCA) Support" |
2001 | default y | 2001 | default y |
2002 | depends on IGB && DCA && !(IGB=y && DCA=m) | 2002 | depends on IGB && DCA && !(IGB=y && DCA=m) |
2003 | ---help--- | ||
2004 | Say Y here if you want to use Direct Cache Access (DCA) in the | ||
2005 | driver. DCA is a method for warming the CPU cache before data | ||
2006 | is used, with the intent of lessening the impact of cache misses. | ||
2003 | 2007 | ||
2004 | source "drivers/net/ixp2000/Kconfig" | 2008 | source "drivers/net/ixp2000/Kconfig" |
2005 | 2009 | ||
@@ -2424,9 +2428,13 @@ config IXGBE | |||
2424 | will be called ixgbe. | 2428 | will be called ixgbe. |
2425 | 2429 | ||
2426 | config IXGBE_DCA | 2430 | config IXGBE_DCA |
2427 | bool | 2431 | bool "Direct Cache Access (DCA) Support" |
2428 | default y | 2432 | default y |
2429 | depends on IXGBE && DCA && !(IXGBE=y && DCA=m) | 2433 | depends on IXGBE && DCA && !(IXGBE=y && DCA=m) |
2434 | ---help--- | ||
2435 | Say Y here if you want to use Direct Cache Access (DCA) in the | ||
2436 | driver. DCA is a method for warming the CPU cache before data | ||
2437 | is used, with the intent of lessening the impact of cache misses. | ||
2430 | 2438 | ||
2431 | config IXGB | 2439 | config IXGB |
2432 | tristate "Intel(R) PRO/10GbE support" | 2440 | tristate "Intel(R) PRO/10GbE support" |
@@ -2476,9 +2484,13 @@ config MYRI10GE | |||
2476 | will be called myri10ge. | 2484 | will be called myri10ge. |
2477 | 2485 | ||
2478 | config MYRI10GE_DCA | 2486 | config MYRI10GE_DCA |
2479 | bool | 2487 | bool "Direct Cache Access (DCA) Support" |
2480 | default y | 2488 | default y |
2481 | depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) | 2489 | depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) |
2490 | ---help--- | ||
2491 | Say Y here if you want to use Direct Cache Access (DCA) in the | ||
2492 | driver. DCA is a method for warming the CPU cache before data | ||
2493 | is used, with the intent of lessening the impact of cache misses. | ||
2482 | 2494 | ||
2483 | config NETXEN_NIC | 2495 | config NETXEN_NIC |
2484 | tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" | 2496 | tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" |
diff --git a/drivers/net/atl1e/atl1e.h b/drivers/net/atl1e/atl1e.h index b645fa0f3f64..c49550d507a0 100644 --- a/drivers/net/atl1e/atl1e.h +++ b/drivers/net/atl1e/atl1e.h | |||
@@ -46,7 +46,6 @@ | |||
46 | #include <linux/vmalloc.h> | 46 | #include <linux/vmalloc.h> |
47 | #include <linux/pagemap.h> | 47 | #include <linux/pagemap.h> |
48 | #include <linux/tcp.h> | 48 | #include <linux/tcp.h> |
49 | #include <linux/mii.h> | ||
50 | #include <linux/ethtool.h> | 49 | #include <linux/ethtool.h> |
51 | #include <linux/if_vlan.h> | 50 | #include <linux/if_vlan.h> |
52 | #include <linux/workqueue.h> | 51 | #include <linux/workqueue.h> |
diff --git a/drivers/net/bnx2x_init.h b/drivers/net/bnx2x_init.h index 130927cfc75b..a6c0b3abba29 100644 --- a/drivers/net/bnx2x_init.h +++ b/drivers/net/bnx2x_init.h | |||
@@ -564,14 +564,15 @@ static const struct arb_line write_arb_addr[NUM_WR_Q-1] = { | |||
564 | 564 | ||
565 | static void bnx2x_init_pxp(struct bnx2x *bp) | 565 | static void bnx2x_init_pxp(struct bnx2x *bp) |
566 | { | 566 | { |
567 | u16 devctl; | ||
567 | int r_order, w_order; | 568 | int r_order, w_order; |
568 | u32 val, i; | 569 | u32 val, i; |
569 | 570 | ||
570 | pci_read_config_word(bp->pdev, | 571 | pci_read_config_word(bp->pdev, |
571 | bp->pcie_cap + PCI_EXP_DEVCTL, (u16 *)&val); | 572 | bp->pcie_cap + PCI_EXP_DEVCTL, &devctl); |
572 | DP(NETIF_MSG_HW, "read 0x%x from devctl\n", (u16)val); | 573 | DP(NETIF_MSG_HW, "read 0x%x from devctl\n", devctl); |
573 | w_order = ((val & PCI_EXP_DEVCTL_PAYLOAD) >> 5); | 574 | w_order = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5); |
574 | r_order = ((val & PCI_EXP_DEVCTL_READRQ) >> 12); | 575 | r_order = ((devctl & PCI_EXP_DEVCTL_READRQ) >> 12); |
575 | 576 | ||
576 | if (r_order > MAX_RD_ORD) { | 577 | if (r_order > MAX_RD_ORD) { |
577 | DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", | 578 | DP(NETIF_MSG_HW, "read order of %d order adjusted to %d\n", |
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 68d0ed3a50d7..49f8e7891626 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
@@ -59,8 +59,8 @@ | |||
59 | #include "bnx2x.h" | 59 | #include "bnx2x.h" |
60 | #include "bnx2x_init.h" | 60 | #include "bnx2x_init.h" |
61 | 61 | ||
62 | #define DRV_MODULE_VERSION "1.45.22" | 62 | #define DRV_MODULE_VERSION "1.45.23" |
63 | #define DRV_MODULE_RELDATE "2008/09/09" | 63 | #define DRV_MODULE_RELDATE "2008/11/03" |
64 | #define BNX2X_BC_VER 0x040200 | 64 | #define BNX2X_BC_VER 0x040200 |
65 | 65 | ||
66 | /* Time in jiffies before concluding the transmitter is hung */ | 66 | /* Time in jiffies before concluding the transmitter is hung */ |
@@ -6479,6 +6479,7 @@ load_int_disable: | |||
6479 | bnx2x_free_irq(bp); | 6479 | bnx2x_free_irq(bp); |
6480 | load_error: | 6480 | load_error: |
6481 | bnx2x_free_mem(bp); | 6481 | bnx2x_free_mem(bp); |
6482 | bp->port.pmf = 0; | ||
6482 | 6483 | ||
6483 | /* TBD we really need to reset the chip | 6484 | /* TBD we really need to reset the chip |
6484 | if we want to recover from this */ | 6485 | if we want to recover from this */ |
@@ -6789,6 +6790,7 @@ unload_error: | |||
6789 | /* Report UNLOAD_DONE to MCP */ | 6790 | /* Report UNLOAD_DONE to MCP */ |
6790 | if (!BP_NOMCP(bp)) | 6791 | if (!BP_NOMCP(bp)) |
6791 | bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE); | 6792 | bnx2x_fw_command(bp, DRV_MSG_CODE_UNLOAD_DONE); |
6793 | bp->port.pmf = 0; | ||
6792 | 6794 | ||
6793 | /* Free SKBs, SGEs, TPA pool and driver internals */ | 6795 | /* Free SKBs, SGEs, TPA pool and driver internals */ |
6794 | bnx2x_free_skbs(bp); | 6796 | bnx2x_free_skbs(bp); |
@@ -10196,8 +10198,6 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, | |||
10196 | return -ENOMEM; | 10198 | return -ENOMEM; |
10197 | } | 10199 | } |
10198 | 10200 | ||
10199 | netif_carrier_off(dev); | ||
10200 | |||
10201 | bp = netdev_priv(dev); | 10201 | bp = netdev_priv(dev); |
10202 | bp->msglevel = debug; | 10202 | bp->msglevel = debug; |
10203 | 10203 | ||
@@ -10221,6 +10221,8 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, | |||
10221 | goto init_one_exit; | 10221 | goto init_one_exit; |
10222 | } | 10222 | } |
10223 | 10223 | ||
10224 | netif_carrier_off(dev); | ||
10225 | |||
10224 | bp->common.name = board_info[ent->driver_data].name; | 10226 | bp->common.name = board_info[ent->driver_data].name; |
10225 | printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx," | 10227 | printk(KERN_INFO "%s: %s (%c%d) PCI-E x%d %s found at mem %lx," |
10226 | " IRQ %d, ", dev->name, bp->common.name, | 10228 | " IRQ %d, ", dev->name, bp->common.name, |
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c index 486fa215d3ad..c9806c58b2fd 100644 --- a/drivers/net/cris/eth_v10.c +++ b/drivers/net/cris/eth_v10.c | |||
@@ -32,14 +32,14 @@ | |||
32 | #include <linux/skbuff.h> | 32 | #include <linux/skbuff.h> |
33 | #include <linux/ethtool.h> | 33 | #include <linux/ethtool.h> |
34 | 34 | ||
35 | #include <asm/arch/svinto.h>/* DMA and register descriptions */ | 35 | #include <arch/svinto.h>/* DMA and register descriptions */ |
36 | #include <asm/io.h> /* CRIS_LED_* I/O functions */ | 36 | #include <asm/io.h> /* CRIS_LED_* I/O functions */ |
37 | #include <asm/irq.h> | 37 | #include <asm/irq.h> |
38 | #include <asm/dma.h> | 38 | #include <asm/dma.h> |
39 | #include <asm/system.h> | 39 | #include <asm/system.h> |
40 | #include <asm/ethernet.h> | 40 | #include <asm/ethernet.h> |
41 | #include <asm/cache.h> | 41 | #include <asm/cache.h> |
42 | #include <asm/arch/io_interface_mux.h> | 42 | #include <arch/io_interface_mux.h> |
43 | 43 | ||
44 | //#define ETHDEBUG | 44 | //#define ETHDEBUG |
45 | #define D(x) | 45 | #define D(x) |
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c index e32f08d18c65..df66d620b115 100644 --- a/drivers/net/fs_enet/fs_enet-main.c +++ b/drivers/net/fs_enet/fs_enet-main.c | |||
@@ -1099,7 +1099,9 @@ static int __devinit fs_enet_probe(struct of_device *ofdev, | |||
1099 | ndev->stop = fs_enet_close; | 1099 | ndev->stop = fs_enet_close; |
1100 | ndev->get_stats = fs_enet_get_stats; | 1100 | ndev->get_stats = fs_enet_get_stats; |
1101 | ndev->set_multicast_list = fs_set_multicast_list; | 1101 | ndev->set_multicast_list = fs_set_multicast_list; |
1102 | 1102 | #ifdef CONFIG_NET_POLL_CONTROLLER | |
1103 | ndev->poll_controller = fs_enet_netpoll; | ||
1104 | #endif | ||
1103 | if (fpi->use_napi) | 1105 | if (fpi->use_napi) |
1104 | netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi, | 1106 | netif_napi_add(ndev, &fep->napi, fs_enet_rx_napi, |
1105 | fpi->napi_weight); | 1107 | fpi->napi_weight); |
@@ -1206,7 +1208,7 @@ static void __exit fs_cleanup(void) | |||
1206 | static void fs_enet_netpoll(struct net_device *dev) | 1208 | static void fs_enet_netpoll(struct net_device *dev) |
1207 | { | 1209 | { |
1208 | disable_irq(dev->irq); | 1210 | disable_irq(dev->irq); |
1209 | fs_enet_interrupt(dev->irq, dev, NULL); | 1211 | fs_enet_interrupt(dev->irq, dev); |
1210 | enable_irq(dev->irq); | 1212 | enable_irq(dev->irq); |
1211 | } | 1213 | } |
1212 | #endif | 1214 | #endif |
diff --git a/drivers/net/irda/ks959-sir.c b/drivers/net/irda/ks959-sir.c index f59d5b6b7bfe..600d96f9cdb7 100644 --- a/drivers/net/irda/ks959-sir.c +++ b/drivers/net/irda/ks959-sir.c | |||
@@ -118,7 +118,6 @@ | |||
118 | #include <linux/errno.h> | 118 | #include <linux/errno.h> |
119 | #include <linux/init.h> | 119 | #include <linux/init.h> |
120 | #include <linux/slab.h> | 120 | #include <linux/slab.h> |
121 | #include <linux/module.h> | ||
122 | #include <linux/kref.h> | 121 | #include <linux/kref.h> |
123 | #include <linux/usb.h> | 122 | #include <linux/usb.h> |
124 | #include <linux/device.h> | 123 | #include <linux/device.h> |
diff --git a/drivers/net/irda/ksdazzle-sir.c b/drivers/net/irda/ksdazzle-sir.c index 6c39f3f6d4e6..0e7f89337b25 100644 --- a/drivers/net/irda/ksdazzle-sir.c +++ b/drivers/net/irda/ksdazzle-sir.c | |||
@@ -82,7 +82,6 @@ | |||
82 | #include <linux/errno.h> | 82 | #include <linux/errno.h> |
83 | #include <linux/init.h> | 83 | #include <linux/init.h> |
84 | #include <linux/slab.h> | 84 | #include <linux/slab.h> |
85 | #include <linux/module.h> | ||
86 | #include <linux/kref.h> | 85 | #include <linux/kref.h> |
87 | #include <linux/usb.h> | 86 | #include <linux/usb.h> |
88 | #include <linux/device.h> | 87 | #include <linux/device.h> |
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index e521d2cebad6..b13fbc4ebd87 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -1064,9 +1064,12 @@ static int smi_wait_ready(struct mv643xx_eth_shared_private *msp) | |||
1064 | return 0; | 1064 | return 0; |
1065 | } | 1065 | } |
1066 | 1066 | ||
1067 | if (!wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp), | 1067 | if (!smi_is_done(msp)) { |
1068 | msecs_to_jiffies(100))) | 1068 | wait_event_timeout(msp->smi_busy_wait, smi_is_done(msp), |
1069 | return -ETIMEDOUT; | 1069 | msecs_to_jiffies(100)); |
1070 | if (!smi_is_done(msp)) | ||
1071 | return -ETIMEDOUT; | ||
1072 | } | ||
1070 | 1073 | ||
1071 | return 0; | 1074 | return 0; |
1072 | } | 1075 | } |
diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 0d8338450675..2c3bb36cda17 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c | |||
@@ -8663,7 +8663,6 @@ static void __devinit niu_device_announce(struct niu *np) | |||
8663 | static int __devinit niu_pci_init_one(struct pci_dev *pdev, | 8663 | static int __devinit niu_pci_init_one(struct pci_dev *pdev, |
8664 | const struct pci_device_id *ent) | 8664 | const struct pci_device_id *ent) |
8665 | { | 8665 | { |
8666 | unsigned long niureg_base, niureg_len; | ||
8667 | union niu_parent_id parent_id; | 8666 | union niu_parent_id parent_id; |
8668 | struct net_device *dev; | 8667 | struct net_device *dev; |
8669 | struct niu *np; | 8668 | struct niu *np; |
@@ -8754,10 +8753,7 @@ static int __devinit niu_pci_init_one(struct pci_dev *pdev, | |||
8754 | 8753 | ||
8755 | dev->features |= (NETIF_F_SG | NETIF_F_HW_CSUM); | 8754 | dev->features |= (NETIF_F_SG | NETIF_F_HW_CSUM); |
8756 | 8755 | ||
8757 | niureg_base = pci_resource_start(pdev, 0); | 8756 | np->regs = pci_ioremap_bar(pdev, 0); |
8758 | niureg_len = pci_resource_len(pdev, 0); | ||
8759 | |||
8760 | np->regs = ioremap_nocache(niureg_base, niureg_len); | ||
8761 | if (!np->regs) { | 8757 | if (!np->regs) { |
8762 | dev_err(&pdev->dev, PFX "Cannot map device registers, " | 8758 | dev_err(&pdev->dev, PFX "Cannot map device registers, " |
8763 | "aborting.\n"); | 8759 | "aborting.\n"); |
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index a8cf006c0998..e0b972d36664 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c | |||
@@ -498,7 +498,7 @@ static void smc911x_hardware_send_pkt(struct net_device *dev) | |||
498 | #else | 498 | #else |
499 | SMC_PUSH_DATA(lp, buf, len); | 499 | SMC_PUSH_DATA(lp, buf, len); |
500 | dev->trans_start = jiffies; | 500 | dev->trans_start = jiffies; |
501 | dev_kfree_skb(skb); | 501 | dev_kfree_skb_irq(skb); |
502 | #endif | 502 | #endif |
503 | if (!lp->tx_throttle) { | 503 | if (!lp->tx_throttle) { |
504 | netif_wake_queue(dev); | 504 | netif_wake_queue(dev); |
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index 2ca301d71902..5879c719b538 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c | |||
@@ -2058,6 +2058,7 @@ static int smc_request_attrib(struct platform_device *pdev, | |||
2058 | struct net_device *ndev) | 2058 | struct net_device *ndev) |
2059 | { | 2059 | { |
2060 | struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); | 2060 | struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); |
2061 | struct smc_local *lp __maybe_unused = netdev_priv(ndev); | ||
2061 | 2062 | ||
2062 | if (!res) | 2063 | if (!res) |
2063 | return 0; | 2064 | return 0; |
@@ -2072,6 +2073,7 @@ static void smc_release_attrib(struct platform_device *pdev, | |||
2072 | struct net_device *ndev) | 2073 | struct net_device *ndev) |
2073 | { | 2074 | { |
2074 | struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); | 2075 | struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-attrib"); |
2076 | struct smc_local *lp __maybe_unused = netdev_priv(ndev); | ||
2075 | 2077 | ||
2076 | if (res) | 2078 | if (res) |
2077 | release_mem_region(res->start, ATTRIB_SIZE); | 2079 | release_mem_region(res->start, ATTRIB_SIZE); |
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 680d78e38f13..5a6203072ce7 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -1068,8 +1068,6 @@ static int tun_chr_close(struct inode *inode, struct file *file) | |||
1068 | 1068 | ||
1069 | DBG(KERN_INFO "%s: tun_chr_close\n", tun->dev->name); | 1069 | DBG(KERN_INFO "%s: tun_chr_close\n", tun->dev->name); |
1070 | 1070 | ||
1071 | tun_chr_fasync(-1, file, 0); | ||
1072 | |||
1073 | rtnl_lock(); | 1071 | rtnl_lock(); |
1074 | 1072 | ||
1075 | /* Detach from net device */ | 1073 | /* Detach from net device */ |
diff --git a/drivers/net/ucc_geth_ethtool.c b/drivers/net/ucc_geth_ethtool.c index cfbbfee55836..85f38a6b6a49 100644 --- a/drivers/net/ucc_geth_ethtool.c +++ b/drivers/net/ucc_geth_ethtool.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #include <asm/irq.h> | 37 | #include <asm/irq.h> |
38 | #include <asm/uaccess.h> | 38 | #include <asm/uaccess.h> |
39 | #include <asm/types.h> | 39 | #include <asm/types.h> |
40 | #include <asm/uaccess.h> | ||
41 | 40 | ||
42 | #include "ucc_geth.h" | 41 | #include "ucc_geth.h" |
43 | #include "ucc_geth_mii.h" | 42 | #include "ucc_geth_mii.h" |
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index 7ac5f2847da5..6f368e8cdf17 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -2949,8 +2949,10 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw, | |||
2949 | sc->opmode != NL80211_IFTYPE_MESH_POINT && | 2949 | sc->opmode != NL80211_IFTYPE_MESH_POINT && |
2950 | test_bit(ATH_STAT_PROMISC, sc->status)) | 2950 | test_bit(ATH_STAT_PROMISC, sc->status)) |
2951 | rfilt |= AR5K_RX_FILTER_PROM; | 2951 | rfilt |= AR5K_RX_FILTER_PROM; |
2952 | if (sc->opmode == NL80211_IFTYPE_ADHOC) | 2952 | if (sc->opmode == NL80211_IFTYPE_STATION || |
2953 | sc->opmode == NL80211_IFTYPE_ADHOC) { | ||
2953 | rfilt |= AR5K_RX_FILTER_BEACON; | 2954 | rfilt |= AR5K_RX_FILTER_BEACON; |
2955 | } | ||
2954 | if (sc->opmode == NL80211_IFTYPE_MESH_POINT) | 2956 | if (sc->opmode == NL80211_IFTYPE_MESH_POINT) |
2955 | rfilt |= AR5K_RX_FILTER_CONTROL | AR5K_RX_FILTER_BEACON | | 2957 | rfilt |= AR5K_RX_FILTER_CONTROL | AR5K_RX_FILTER_BEACON | |
2956 | AR5K_RX_FILTER_PROBEREQ | AR5K_RX_FILTER_PROM; | 2958 | AR5K_RX_FILTER_PROBEREQ | AR5K_RX_FILTER_PROM; |
diff --git a/drivers/net/wireless/ath5k/desc.c b/drivers/net/wireless/ath5k/desc.c index dd1374052ba9..5e362a7a3620 100644 --- a/drivers/net/wireless/ath5k/desc.c +++ b/drivers/net/wireless/ath5k/desc.c | |||
@@ -531,10 +531,10 @@ static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah, | |||
531 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_SIGNAL); | 531 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_SIGNAL); |
532 | rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, | 532 | rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, |
533 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_RATE); | 533 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_RATE); |
534 | rs->rs_antenna = rx_status->rx_status_0 & | 534 | rs->rs_antenna = AR5K_REG_MS(rx_status->rx_status_0, |
535 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_ANTENNA; | 535 | AR5K_5210_RX_DESC_STATUS0_RECEIVE_ANTENNA); |
536 | rs->rs_more = rx_status->rx_status_0 & | 536 | rs->rs_more = !!(rx_status->rx_status_0 & |
537 | AR5K_5210_RX_DESC_STATUS0_MORE; | 537 | AR5K_5210_RX_DESC_STATUS0_MORE); |
538 | /* TODO: this timestamp is 13 bit, later on we assume 15 bit */ | 538 | /* TODO: this timestamp is 13 bit, later on we assume 15 bit */ |
539 | rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, | 539 | rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, |
540 | AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); | 540 | AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); |
@@ -607,10 +607,10 @@ static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah, | |||
607 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_SIGNAL); | 607 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_SIGNAL); |
608 | rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, | 608 | rs->rs_rate = AR5K_REG_MS(rx_status->rx_status_0, |
609 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_RATE); | 609 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_RATE); |
610 | rs->rs_antenna = rx_status->rx_status_0 & | 610 | rs->rs_antenna = AR5K_REG_MS(rx_status->rx_status_0, |
611 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_ANTENNA; | 611 | AR5K_5212_RX_DESC_STATUS0_RECEIVE_ANTENNA); |
612 | rs->rs_more = rx_status->rx_status_0 & | 612 | rs->rs_more = !!(rx_status->rx_status_0 & |
613 | AR5K_5212_RX_DESC_STATUS0_MORE; | 613 | AR5K_5212_RX_DESC_STATUS0_MORE); |
614 | rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, | 614 | rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1, |
615 | AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); | 615 | AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP); |
616 | rs->rs_status = 0; | 616 | rs->rs_status = 0; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 82e98b4602c5..2c35a017e5f6 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -3237,7 +3237,11 @@ static void iwl4965_mac_update_tkip_key(struct ieee80211_hw *hw, | |||
3237 | return; | 3237 | return; |
3238 | } | 3238 | } |
3239 | 3239 | ||
3240 | iwl_scan_cancel_timeout(priv, 100); | 3240 | if (iwl_scan_cancel(priv)) { |
3241 | /* cancel scan failed, just live w/ bad key and rely | ||
3242 | briefly on SW decryption */ | ||
3243 | return; | ||
3244 | } | ||
3241 | 3245 | ||
3242 | key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); | 3246 | key_flags |= (STA_KEY_FLG_TKIP | STA_KEY_FLG_MAP_KEY_MSK); |
3243 | key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); | 3247 | key_flags |= cpu_to_le16(keyconf->keyidx << STA_KEY_FLG_KEYID_POS); |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 5436cb43bca7..f675b2993a3d 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -5720,7 +5720,6 @@ static void iwl3945_alive_start(struct iwl3945_priv *priv) | |||
5720 | if (priv->error_recovering) | 5720 | if (priv->error_recovering) |
5721 | iwl3945_error_recovery(priv); | 5721 | iwl3945_error_recovery(priv); |
5722 | 5722 | ||
5723 | ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC); | ||
5724 | return; | 5723 | return; |
5725 | 5724 | ||
5726 | restart: | 5725 | restart: |
@@ -5965,6 +5964,7 @@ static void iwl3945_bg_alive_start(struct work_struct *data) | |||
5965 | mutex_lock(&priv->mutex); | 5964 | mutex_lock(&priv->mutex); |
5966 | iwl3945_alive_start(priv); | 5965 | iwl3945_alive_start(priv); |
5967 | mutex_unlock(&priv->mutex); | 5966 | mutex_unlock(&priv->mutex); |
5967 | ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC); | ||
5968 | } | 5968 | } |
5969 | 5969 | ||
5970 | static void iwl3945_bg_rf_kill(struct work_struct *work) | 5970 | static void iwl3945_bg_rf_kill(struct work_struct *work) |
@@ -6209,6 +6209,11 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
6209 | n_probes, | 6209 | n_probes, |
6210 | (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); | 6210 | (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); |
6211 | 6211 | ||
6212 | if (scan->channel_count == 0) { | ||
6213 | IWL_DEBUG_SCAN("channel count %d\n", scan->channel_count); | ||
6214 | goto done; | ||
6215 | } | ||
6216 | |||
6212 | cmd.len += le16_to_cpu(scan->tx_cmd.len) + | 6217 | cmd.len += le16_to_cpu(scan->tx_cmd.len) + |
6213 | scan->channel_count * sizeof(struct iwl3945_scan_channel); | 6218 | scan->channel_count * sizeof(struct iwl3945_scan_channel); |
6214 | cmd.data = scan; | 6219 | cmd.data = scan; |
@@ -6226,6 +6231,14 @@ static void iwl3945_bg_request_scan(struct work_struct *data) | |||
6226 | return; | 6231 | return; |
6227 | 6232 | ||
6228 | done: | 6233 | done: |
6234 | /* can not perform scan make sure we clear scanning | ||
6235 | * bits from status so next scan request can be performed. | ||
6236 | * if we dont clear scanning status bit here all next scan | ||
6237 | * will fail | ||
6238 | */ | ||
6239 | clear_bit(STATUS_SCAN_HW, &priv->status); | ||
6240 | clear_bit(STATUS_SCANNING, &priv->status); | ||
6241 | |||
6229 | /* inform mac80211 scan aborted */ | 6242 | /* inform mac80211 scan aborted */ |
6230 | queue_work(priv->workqueue, &priv->scan_completed); | 6243 | queue_work(priv->workqueue, &priv->scan_completed); |
6231 | mutex_unlock(&priv->mutex); | 6244 | mutex_unlock(&priv->mutex); |
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index d7a2f52e40cf..04c139666965 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c | |||
@@ -61,6 +61,7 @@ static struct usb_device_id usb_ids[] = { | |||
61 | { USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 }, | 61 | { USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 }, |
62 | /* ZD1211B */ | 62 | /* ZD1211B */ |
63 | { USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B }, | 63 | { USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B }, |
64 | { USB_DEVICE(0x0ace, 0xb215), .driver_info = DEVICE_ZD1211B }, | ||
64 | { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B }, | 65 | { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B }, |
65 | { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B }, | 66 | { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B }, |
66 | { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B }, | 67 | { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B }, |
@@ -82,6 +83,7 @@ static struct usb_device_id usb_ids[] = { | |||
82 | { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B }, | 83 | { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B }, |
83 | { USB_DEVICE(0x0586, 0x340a), .driver_info = DEVICE_ZD1211B }, | 84 | { USB_DEVICE(0x0586, 0x340a), .driver_info = DEVICE_ZD1211B }, |
84 | { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B }, | 85 | { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B }, |
86 | { USB_DEVICE(0x07fa, 0x1196), .driver_info = DEVICE_ZD1211B }, | ||
85 | /* "Driverless" devices that need ejecting */ | 87 | /* "Driverless" devices that need ejecting */ |
86 | { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, | 88 | { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER }, |
87 | { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER }, | 89 | { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER }, |
diff --git a/drivers/of/device.c b/drivers/of/device.c index 51e5214071da..224ae6bc67b6 100644 --- a/drivers/of/device.c +++ b/drivers/of/device.c | |||
@@ -105,7 +105,16 @@ EXPORT_SYMBOL(of_release_dev); | |||
105 | int of_device_register(struct of_device *ofdev) | 105 | int of_device_register(struct of_device *ofdev) |
106 | { | 106 | { |
107 | BUG_ON(ofdev->node == NULL); | 107 | BUG_ON(ofdev->node == NULL); |
108 | return device_register(&ofdev->dev); | 108 | |
109 | device_initialize(&ofdev->dev); | ||
110 | |||
111 | /* device_add will assume that this device is on the same node as | ||
112 | * the parent. If there is no parent defined, set the node | ||
113 | * explicitly */ | ||
114 | if (!ofdev->dev.parent) | ||
115 | set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->node)); | ||
116 | |||
117 | return device_add(&ofdev->dev); | ||
109 | } | 118 | } |
110 | EXPORT_SYMBOL(of_device_register); | 119 | EXPORT_SYMBOL(of_device_register); |
111 | 120 | ||
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index f57eeae3830a..222904411a13 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig | |||
@@ -188,10 +188,6 @@ config PCMCIA_M8XX | |||
188 | 188 | ||
189 | This driver is also available as a module called m8xx_pcmcia. | 189 | This driver is also available as a module called m8xx_pcmcia. |
190 | 190 | ||
191 | config HD64465_PCMCIA | ||
192 | tristate "HD64465 host bridge support" | ||
193 | depends on HD64465 && PCMCIA | ||
194 | |||
195 | config PCMCIA_AU1X00 | 191 | config PCMCIA_AU1X00 |
196 | tristate "Au1x00 pcmcia support" | 192 | tristate "Au1x00 pcmcia support" |
197 | depends on SOC_AU1X00 && PCMCIA | 193 | depends on SOC_AU1X00 && PCMCIA |
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile index 23e492bf75cf..238629ad7f7c 100644 --- a/drivers/pcmcia/Makefile +++ b/drivers/pcmcia/Makefile | |||
@@ -22,7 +22,6 @@ obj-$(CONFIG_I82365) += i82365.o | |||
22 | obj-$(CONFIG_I82092) += i82092.o | 22 | obj-$(CONFIG_I82092) += i82092.o |
23 | obj-$(CONFIG_TCIC) += tcic.o | 23 | obj-$(CONFIG_TCIC) += tcic.o |
24 | obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o | 24 | obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o |
25 | obj-$(CONFIG_HD64465_PCMCIA) += hd64465_ss.o | ||
26 | obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o | 25 | obj-$(CONFIG_PCMCIA_SA1100) += sa11xx_core.o sa1100_cs.o |
27 | obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o | 26 | obj-$(CONFIG_PCMCIA_SA1111) += sa11xx_core.o sa1111_cs.o |
28 | obj-$(CONFIG_M32R_PCC) += m32r_pcc.o | 27 | obj-$(CONFIG_M32R_PCC) += m32r_pcc.o |
diff --git a/drivers/pcmcia/hd64465_ss.c b/drivers/pcmcia/hd64465_ss.c deleted file mode 100644 index 9ef69cdb3183..000000000000 --- a/drivers/pcmcia/hd64465_ss.c +++ /dev/null | |||
@@ -1,939 +0,0 @@ | |||
1 | /* | ||
2 | * Device driver for the PCMCIA controller module of the | ||
3 | * Hitachi HD64465 handheld companion chip. | ||
4 | * | ||
5 | * Note that the HD64465 provides a very thin PCMCIA host bridge | ||
6 | * layer, requiring a lot of the work of supporting cards to be | ||
7 | * performed by the processor. For example: mapping of card | ||
8 | * interrupts to processor IRQs is done by IRQ demuxing software; | ||
9 | * IO and memory mappings are fixed; setting voltages according | ||
10 | * to card Voltage Select pins etc is done in software. | ||
11 | * | ||
12 | * Note also that this driver uses only the simple, fixed, | ||
13 | * 16MB, 16-bit wide mappings to PCMCIA spaces defined by the | ||
14 | * HD64465. Larger mappings, smaller mappings, or mappings of | ||
15 | * different width to the same socket, are all possible only by | ||
16 | * involving the SH7750's MMU, which is considered unnecessary here. | ||
17 | * The downside is that it may be possible for some drivers to | ||
18 | * break because they need or expect 8-bit mappings. | ||
19 | * | ||
20 | * This driver currently supports only the following configuration: | ||
21 | * SH7750 CPU, HD64465, TPS2206 voltage control chip. | ||
22 | * | ||
23 | * by Greg Banks <gbanks@pocketpenguins.com> | ||
24 | * (c) 2000 PocketPenguins Inc | ||
25 | */ | ||
26 | |||
27 | #include <linux/types.h> | ||
28 | #include <linux/module.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/string.h> | ||
31 | #include <linux/kernel.h> | ||
32 | #include <linux/ioport.h> | ||
33 | #include <linux/mm.h> | ||
34 | #include <linux/vmalloc.h> | ||
35 | #include <asm/errno.h> | ||
36 | #include <linux/irq.h> | ||
37 | #include <linux/interrupt.h> | ||
38 | #include <linux/platform_device.h> | ||
39 | |||
40 | #include <asm/io.h> | ||
41 | #include <asm/hd64465/hd64465.h> | ||
42 | #include <asm/hd64465/io.h> | ||
43 | |||
44 | #include <pcmcia/cs_types.h> | ||
45 | #include <pcmcia/cs.h> | ||
46 | #include <pcmcia/cistpl.h> | ||
47 | #include <pcmcia/ds.h> | ||
48 | #include <pcmcia/ss.h> | ||
49 | |||
50 | #define MODNAME "hd64465_ss" | ||
51 | |||
52 | /* #define HD64465_DEBUG 1 */ | ||
53 | |||
54 | #if HD64465_DEBUG | ||
55 | #define DPRINTK(args...) printk(MODNAME ": " args) | ||
56 | #else | ||
57 | #define DPRINTK(args...) | ||
58 | #endif | ||
59 | |||
60 | extern int hd64465_io_debug; | ||
61 | extern void * p3_ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags); | ||
62 | extern void p3_iounmap(void *addr); | ||
63 | |||
64 | /*============================================================*/ | ||
65 | |||
66 | #define HS_IO_MAP_SIZE (64*1024) | ||
67 | |||
68 | typedef struct hs_socket_t | ||
69 | { | ||
70 | unsigned int number; | ||
71 | u_int irq; | ||
72 | u_long mem_base; | ||
73 | void *io_base; | ||
74 | u_long mem_length; | ||
75 | u_int ctrl_base; | ||
76 | socket_state_t state; | ||
77 | pccard_io_map io_maps[MAX_IO_WIN]; | ||
78 | pccard_mem_map mem_maps[MAX_WIN]; | ||
79 | struct pcmcia_socket socket; | ||
80 | } hs_socket_t; | ||
81 | |||
82 | |||
83 | |||
84 | #define HS_MAX_SOCKETS 2 | ||
85 | static hs_socket_t hs_sockets[HS_MAX_SOCKETS]; | ||
86 | |||
87 | #define hs_in(sp, r) inb((sp)->ctrl_base + (r)) | ||
88 | #define hs_out(sp, v, r) outb(v, (sp)->ctrl_base + (r)) | ||
89 | |||
90 | |||
91 | /* translate a boolean value to a bit in a register */ | ||
92 | #define bool_to_regbit(sp, r, bi, bo) \ | ||
93 | do { \ | ||
94 | unsigned short v = hs_in(sp, r); \ | ||
95 | if (bo) \ | ||
96 | v |= (bi); \ | ||
97 | else \ | ||
98 | v &= ~(bi); \ | ||
99 | hs_out(sp, v, r); \ | ||
100 | } while(0) | ||
101 | |||
102 | /* register offsets from HD64465_REG_PCC[01]ISR */ | ||
103 | #define ISR 0x0 | ||
104 | #define GCR 0x2 | ||
105 | #define CSCR 0x4 | ||
106 | #define CSCIER 0x6 | ||
107 | #define SCR 0x8 | ||
108 | |||
109 | |||
110 | /* Mask and values for CSCIER register */ | ||
111 | #define IER_MASK 0x80 | ||
112 | #define IER_ON 0x3f /* interrupts on */ | ||
113 | #define IER_OFF 0x00 /* interrupts off */ | ||
114 | |||
115 | /*============================================================*/ | ||
116 | |||
117 | #if HD64465_DEBUG > 10 | ||
118 | |||
119 | static void cis_hex_dump(const unsigned char *x, int len) | ||
120 | { | ||
121 | int i; | ||
122 | |||
123 | for (i=0 ; i<len ; i++) | ||
124 | { | ||
125 | if (!(i & 0xf)) | ||
126 | printk("\n%08x", (unsigned)(x + i)); | ||
127 | printk(" %02x", *(volatile unsigned short*)x); | ||
128 | x += 2; | ||
129 | } | ||
130 | printk("\n"); | ||
131 | } | ||
132 | |||
133 | #endif | ||
134 | /*============================================================*/ | ||
135 | |||
136 | /* | ||
137 | * This code helps create the illusion that the IREQ line from | ||
138 | * the PC card is mapped to one of the CPU's IRQ lines by the | ||
139 | * host bridge hardware (which is how every host bridge *except* | ||
140 | * the HD64465 works). In particular, it supports enabling | ||
141 | * and disabling the IREQ line by code which knows nothing | ||
142 | * about the host bridge (e.g. device drivers, IDE code) using | ||
143 | * the request_irq(), free_irq(), probe_irq_on() and probe_irq_off() | ||
144 | * functions. Also, it supports sharing the mapped IRQ with | ||
145 | * real hardware IRQs from the -IRL0-3 lines. | ||
146 | */ | ||
147 | |||
148 | #define HS_NUM_MAPPED_IRQS 16 /* Limitation of the PCMCIA code */ | ||
149 | static struct | ||
150 | { | ||
151 | /* index is mapped irq number */ | ||
152 | hs_socket_t *sock; | ||
153 | hw_irq_controller *old_handler; | ||
154 | } hs_mapped_irq[HS_NUM_MAPPED_IRQS]; | ||
155 | |||
156 | static void hs_socket_enable_ireq(hs_socket_t *sp) | ||
157 | { | ||
158 | unsigned short cscier; | ||
159 | |||
160 | DPRINTK("hs_socket_enable_ireq(sock=%d)\n", sp->number); | ||
161 | |||
162 | cscier = hs_in(sp, CSCIER); | ||
163 | cscier &= ~HD64465_PCCCSCIER_PIREQE_MASK; | ||
164 | cscier |= HD64465_PCCCSCIER_PIREQE_LEVEL; | ||
165 | hs_out(sp, cscier, CSCIER); | ||
166 | } | ||
167 | |||
168 | static void hs_socket_disable_ireq(hs_socket_t *sp) | ||
169 | { | ||
170 | unsigned short cscier; | ||
171 | |||
172 | DPRINTK("hs_socket_disable_ireq(sock=%d)\n", sp->number); | ||
173 | |||
174 | cscier = hs_in(sp, CSCIER); | ||
175 | cscier &= ~HD64465_PCCCSCIER_PIREQE_MASK; | ||
176 | hs_out(sp, cscier, CSCIER); | ||
177 | } | ||
178 | |||
179 | static unsigned int hs_startup_irq(unsigned int irq) | ||
180 | { | ||
181 | hs_socket_enable_ireq(hs_mapped_irq[irq].sock); | ||
182 | hs_mapped_irq[irq].old_handler->startup(irq); | ||
183 | return 0; | ||
184 | } | ||
185 | |||
186 | static void hs_shutdown_irq(unsigned int irq) | ||
187 | { | ||
188 | hs_socket_disable_ireq(hs_mapped_irq[irq].sock); | ||
189 | hs_mapped_irq[irq].old_handler->shutdown(irq); | ||
190 | } | ||
191 | |||
192 | static void hs_enable_irq(unsigned int irq) | ||
193 | { | ||
194 | hs_socket_enable_ireq(hs_mapped_irq[irq].sock); | ||
195 | hs_mapped_irq[irq].old_handler->enable(irq); | ||
196 | } | ||
197 | |||
198 | static void hs_disable_irq(unsigned int irq) | ||
199 | { | ||
200 | hs_socket_disable_ireq(hs_mapped_irq[irq].sock); | ||
201 | hs_mapped_irq[irq].old_handler->disable(irq); | ||
202 | } | ||
203 | |||
204 | extern struct hw_interrupt_type no_irq_type; | ||
205 | |||
206 | static void hs_mask_and_ack_irq(unsigned int irq) | ||
207 | { | ||
208 | hs_socket_disable_ireq(hs_mapped_irq[irq].sock); | ||
209 | /* ack_none() spuriously complains about an unexpected IRQ */ | ||
210 | if (hs_mapped_irq[irq].old_handler != &no_irq_type) | ||
211 | hs_mapped_irq[irq].old_handler->ack(irq); | ||
212 | } | ||
213 | |||
214 | static void hs_end_irq(unsigned int irq) | ||
215 | { | ||
216 | hs_socket_enable_ireq(hs_mapped_irq[irq].sock); | ||
217 | hs_mapped_irq[irq].old_handler->end(irq); | ||
218 | } | ||
219 | |||
220 | |||
221 | static struct hw_interrupt_type hd64465_ss_irq_type = { | ||
222 | .typename = "PCMCIA-IRQ", | ||
223 | .startup = hs_startup_irq, | ||
224 | .shutdown = hs_shutdown_irq, | ||
225 | .enable = hs_enable_irq, | ||
226 | .disable = hs_disable_irq, | ||
227 | .ack = hs_mask_and_ack_irq, | ||
228 | .end = hs_end_irq | ||
229 | }; | ||
230 | |||
231 | /* | ||
232 | * This function should only ever be called with interrupts disabled. | ||
233 | */ | ||
234 | static void hs_map_irq(hs_socket_t *sp, unsigned int irq) | ||
235 | { | ||
236 | struct irq_desc *desc; | ||
237 | |||
238 | DPRINTK("hs_map_irq(sock=%d irq=%d)\n", sp->number, irq); | ||
239 | |||
240 | if (irq >= HS_NUM_MAPPED_IRQS) | ||
241 | return; | ||
242 | |||
243 | desc = irq_to_desc(irq); | ||
244 | hs_mapped_irq[irq].sock = sp; | ||
245 | /* insert ourselves as the irq controller */ | ||
246 | hs_mapped_irq[irq].old_handler = desc->chip; | ||
247 | desc->chip = &hd64465_ss_irq_type; | ||
248 | } | ||
249 | |||
250 | |||
251 | /* | ||
252 | * This function should only ever be called with interrupts disabled. | ||
253 | */ | ||
254 | static void hs_unmap_irq(hs_socket_t *sp, unsigned int irq) | ||
255 | { | ||
256 | struct irq_desc *desc; | ||
257 | |||
258 | DPRINTK("hs_unmap_irq(sock=%d irq=%d)\n", sp->number, irq); | ||
259 | |||
260 | if (irq >= HS_NUM_MAPPED_IRQS) | ||
261 | return; | ||
262 | |||
263 | desc = irq_to_desc(irq); | ||
264 | /* restore the original irq controller */ | ||
265 | desc->chip = hs_mapped_irq[irq].old_handler; | ||
266 | } | ||
267 | |||
268 | /*============================================================*/ | ||
269 | |||
270 | |||
271 | /* | ||
272 | * Set Vpp and Vcc (in tenths of a Volt). Does not | ||
273 | * support the hi-Z state. | ||
274 | * | ||
275 | * Note, this assumes the board uses a TPS2206 chip to control | ||
276 | * the Vcc and Vpp voltages to the hs_sockets. If your board | ||
277 | * uses the MIC2563 (also supported by the HD64465) then you | ||
278 | * will have to modify this function. | ||
279 | */ | ||
280 | /* 0V 3.3V 5.5V */ | ||
281 | static const u_char hs_tps2206_avcc[3] = { 0x00, 0x04, 0x08 }; | ||
282 | static const u_char hs_tps2206_bvcc[3] = { 0x00, 0x80, 0x40 }; | ||
283 | |||
284 | static int hs_set_voltages(hs_socket_t *sp, int Vcc, int Vpp) | ||
285 | { | ||
286 | u_int psr; | ||
287 | u_int vcci = 0; | ||
288 | u_int sock = sp->number; | ||
289 | |||
290 | DPRINTK("hs_set_voltage(%d, %d, %d)\n", sock, Vcc, Vpp); | ||
291 | |||
292 | switch (Vcc) | ||
293 | { | ||
294 | case 0: vcci = 0; break; | ||
295 | case 33: vcci = 1; break; | ||
296 | case 50: vcci = 2; break; | ||
297 | default: return 0; | ||
298 | } | ||
299 | |||
300 | /* Note: Vpp = 120 not supported -- Greg Banks */ | ||
301 | if (Vpp != 0 && Vpp != Vcc) | ||
302 | return 0; | ||
303 | |||
304 | /* The PSR register holds 8 of the 9 bits which control | ||
305 | * the TPS2206 via its serial interface. | ||
306 | */ | ||
307 | psr = inw(HD64465_REG_PCCPSR); | ||
308 | switch (sock) | ||
309 | { | ||
310 | case 0: | ||
311 | psr &= 0x0f; | ||
312 | psr |= hs_tps2206_avcc[vcci]; | ||
313 | psr |= (Vpp == 0 ? 0x00 : 0x02); | ||
314 | break; | ||
315 | case 1: | ||
316 | psr &= 0xf0; | ||
317 | psr |= hs_tps2206_bvcc[vcci]; | ||
318 | psr |= (Vpp == 0 ? 0x00 : 0x20); | ||
319 | break; | ||
320 | }; | ||
321 | outw(psr, HD64465_REG_PCCPSR); | ||
322 | |||
323 | return 1; | ||
324 | } | ||
325 | |||
326 | |||
327 | /*============================================================*/ | ||
328 | |||
329 | /* | ||
330 | * Drive the RESET line to the card. | ||
331 | */ | ||
332 | static void hs_reset_socket(hs_socket_t *sp, int on) | ||
333 | { | ||
334 | unsigned short v; | ||
335 | |||
336 | v = hs_in(sp, GCR); | ||
337 | if (on) | ||
338 | v |= HD64465_PCCGCR_PCCR; | ||
339 | else | ||
340 | v &= ~HD64465_PCCGCR_PCCR; | ||
341 | hs_out(sp, v, GCR); | ||
342 | } | ||
343 | |||
344 | /*============================================================*/ | ||
345 | |||
346 | static int hs_init(struct pcmcia_socket *s) | ||
347 | { | ||
348 | hs_socket_t *sp = container_of(s, struct hs_socket_t, socket); | ||
349 | |||
350 | DPRINTK("hs_init(%d)\n", sp->number); | ||
351 | |||
352 | return 0; | ||
353 | } | ||
354 | |||
355 | /*============================================================*/ | ||
356 | |||
357 | |||
358 | static int hs_get_status(struct pcmcia_socket *s, u_int *value) | ||
359 | { | ||
360 | hs_socket_t *sp = container_of(s, struct hs_socket_t, socket); | ||
361 | unsigned int isr; | ||
362 | u_int status = 0; | ||
363 | |||
364 | |||
365 | isr = hs_in(sp, ISR); | ||
366 | |||
367 | /* Card is seated and powered when *both* CD pins are low */ | ||
368 | if ((isr & HD64465_PCCISR_PCD_MASK) == 0) | ||
369 | { | ||
370 | status |= SS_DETECT; /* card present */ | ||
371 | |||
372 | switch (isr & HD64465_PCCISR_PBVD_MASK) | ||
373 | { | ||
374 | case HD64465_PCCISR_PBVD_BATGOOD: | ||
375 | break; | ||
376 | case HD64465_PCCISR_PBVD_BATWARN: | ||
377 | status |= SS_BATWARN; | ||
378 | break; | ||
379 | default: | ||
380 | status |= SS_BATDEAD; | ||
381 | break; | ||
382 | } | ||
383 | |||
384 | if (isr & HD64465_PCCISR_PREADY) | ||
385 | status |= SS_READY; | ||
386 | |||
387 | if (isr & HD64465_PCCISR_PMWP) | ||
388 | status |= SS_WRPROT; | ||
389 | |||
390 | /* Voltage Select pins interpreted as per Table 4-5 of the std. | ||
391 | * Assuming we have the TPS2206, the socket is a "Low Voltage | ||
392 | * key, 3.3V and 5V available, no X.XV available". | ||
393 | */ | ||
394 | switch (isr & (HD64465_PCCISR_PVS2|HD64465_PCCISR_PVS1)) | ||
395 | { | ||
396 | case HD64465_PCCISR_PVS1: | ||
397 | printk(KERN_NOTICE MODNAME ": cannot handle X.XV card, ignored\n"); | ||
398 | status = 0; | ||
399 | break; | ||
400 | case 0: | ||
401 | case HD64465_PCCISR_PVS2: | ||
402 | /* 3.3V */ | ||
403 | status |= SS_3VCARD; | ||
404 | break; | ||
405 | case HD64465_PCCISR_PVS2|HD64465_PCCISR_PVS1: | ||
406 | /* 5V */ | ||
407 | break; | ||
408 | } | ||
409 | |||
410 | /* TODO: SS_POWERON */ | ||
411 | /* TODO: SS_STSCHG */ | ||
412 | } | ||
413 | |||
414 | DPRINTK("hs_get_status(%d) = %x\n", sock, status); | ||
415 | |||
416 | *value = status; | ||
417 | return 0; | ||
418 | } | ||
419 | |||
420 | /*============================================================*/ | ||
421 | |||
422 | static int hs_set_socket(struct pcmcia_socket *s, socket_state_t *state) | ||
423 | { | ||
424 | hs_socket_t *sp = container_of(s, struct hs_socket_t, socket); | ||
425 | u_long flags; | ||
426 | u_int changed; | ||
427 | unsigned short cscier; | ||
428 | |||
429 | DPRINTK("hs_set_socket(sock=%d, flags=%x, csc_mask=%x, Vcc=%d, Vpp=%d, io_irq=%d)\n", | ||
430 | sock, state->flags, state->csc_mask, state->Vcc, state->Vpp, state->io_irq); | ||
431 | |||
432 | local_irq_save(flags); /* Don't want interrupts happening here */ | ||
433 | |||
434 | if (state->Vpp != sp->state.Vpp || | ||
435 | state->Vcc != sp->state.Vcc) { | ||
436 | if (!hs_set_voltages(sp, state->Vcc, state->Vpp)) { | ||
437 | local_irq_restore(flags); | ||
438 | return -EINVAL; | ||
439 | } | ||
440 | } | ||
441 | |||
442 | /* hd64465_io_debug = 1; */ | ||
443 | /* | ||
444 | * Handle changes in the Card Status Change mask, | ||
445 | * by propagating to the CSCR register | ||
446 | */ | ||
447 | changed = sp->state.csc_mask ^ state->csc_mask; | ||
448 | cscier = hs_in(sp, CSCIER); | ||
449 | |||
450 | if (changed & SS_DETECT) { | ||
451 | if (state->csc_mask & SS_DETECT) | ||
452 | cscier |= HD64465_PCCCSCIER_PCDE; | ||
453 | else | ||
454 | cscier &= ~HD64465_PCCCSCIER_PCDE; | ||
455 | } | ||
456 | |||
457 | if (changed & SS_READY) { | ||
458 | if (state->csc_mask & SS_READY) | ||
459 | cscier |= HD64465_PCCCSCIER_PRE; | ||
460 | else | ||
461 | cscier &= ~HD64465_PCCCSCIER_PRE; | ||
462 | } | ||
463 | |||
464 | if (changed & SS_BATDEAD) { | ||
465 | if (state->csc_mask & SS_BATDEAD) | ||
466 | cscier |= HD64465_PCCCSCIER_PBDE; | ||
467 | else | ||
468 | cscier &= ~HD64465_PCCCSCIER_PBDE; | ||
469 | } | ||
470 | |||
471 | if (changed & SS_BATWARN) { | ||
472 | if (state->csc_mask & SS_BATWARN) | ||
473 | cscier |= HD64465_PCCCSCIER_PBWE; | ||
474 | else | ||
475 | cscier &= ~HD64465_PCCCSCIER_PBWE; | ||
476 | } | ||
477 | |||
478 | if (changed & SS_STSCHG) { | ||
479 | if (state->csc_mask & SS_STSCHG) | ||
480 | cscier |= HD64465_PCCCSCIER_PSCE; | ||
481 | else | ||
482 | cscier &= ~HD64465_PCCCSCIER_PSCE; | ||
483 | } | ||
484 | |||
485 | hs_out(sp, cscier, CSCIER); | ||
486 | |||
487 | if (sp->state.io_irq && !state->io_irq) | ||
488 | hs_unmap_irq(sp, sp->state.io_irq); | ||
489 | else if (!sp->state.io_irq && state->io_irq) | ||
490 | hs_map_irq(sp, state->io_irq); | ||
491 | |||
492 | |||
493 | /* | ||
494 | * Handle changes in the flags field, | ||
495 | * by propagating to config registers. | ||
496 | */ | ||
497 | changed = sp->state.flags ^ state->flags; | ||
498 | |||
499 | if (changed & SS_IOCARD) { | ||
500 | DPRINTK("card type: %s\n", | ||
501 | (state->flags & SS_IOCARD ? "i/o" : "memory" )); | ||
502 | bool_to_regbit(sp, GCR, HD64465_PCCGCR_PCCT, | ||
503 | state->flags & SS_IOCARD); | ||
504 | } | ||
505 | |||
506 | if (changed & SS_RESET) { | ||
507 | DPRINTK("%s reset card\n", | ||
508 | (state->flags & SS_RESET ? "start" : "stop")); | ||
509 | bool_to_regbit(sp, GCR, HD64465_PCCGCR_PCCR, | ||
510 | state->flags & SS_RESET); | ||
511 | } | ||
512 | |||
513 | if (changed & SS_OUTPUT_ENA) { | ||
514 | DPRINTK("%sabling card output\n", | ||
515 | (state->flags & SS_OUTPUT_ENA ? "en" : "dis")); | ||
516 | bool_to_regbit(sp, GCR, HD64465_PCCGCR_PDRV, | ||
517 | state->flags & SS_OUTPUT_ENA); | ||
518 | } | ||
519 | |||
520 | /* TODO: SS_SPKR_ENA */ | ||
521 | |||
522 | /* hd64465_io_debug = 0; */ | ||
523 | sp->state = *state; | ||
524 | |||
525 | local_irq_restore(flags); | ||
526 | |||
527 | #if HD64465_DEBUG > 10 | ||
528 | if (state->flags & SS_OUTPUT_ENA) | ||
529 | cis_hex_dump((const unsigned char*)sp->mem_base, 0x100); | ||
530 | #endif | ||
531 | return 0; | ||
532 | } | ||
533 | |||
534 | /*============================================================*/ | ||
535 | |||
536 | static int hs_set_io_map(struct pcmcia_socket *s, struct pccard_io_map *io) | ||
537 | { | ||
538 | hs_socket_t *sp = container_of(s, struct hs_socket_t, socket); | ||
539 | int map = io->map; | ||
540 | int sock = sp->number; | ||
541 | struct pccard_io_map *sio; | ||
542 | pgprot_t prot; | ||
543 | |||
544 | DPRINTK("hs_set_io_map(sock=%d, map=%d, flags=0x%x, speed=%dns, start=%#lx, stop=%#lx)\n", | ||
545 | sock, map, io->flags, io->speed, io->start, io->stop); | ||
546 | if (map >= MAX_IO_WIN) | ||
547 | return -EINVAL; | ||
548 | sio = &sp->io_maps[map]; | ||
549 | |||
550 | /* check for null changes */ | ||
551 | if (io->flags == sio->flags && | ||
552 | io->start == sio->start && | ||
553 | io->stop == sio->stop) | ||
554 | return 0; | ||
555 | |||
556 | if (io->flags & MAP_AUTOSZ) | ||
557 | prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IODYN); | ||
558 | else if (io->flags & MAP_16BIT) | ||
559 | prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IO16); | ||
560 | else | ||
561 | prot = PAGE_KERNEL_PCC(sock, _PAGE_PCC_IO8); | ||
562 | |||
563 | /* TODO: handle MAP_USE_WAIT */ | ||
564 | if (io->flags & MAP_USE_WAIT) | ||
565 | printk(KERN_INFO MODNAME ": MAP_USE_WAIT unimplemented\n"); | ||
566 | /* TODO: handle MAP_PREFETCH */ | ||
567 | if (io->flags & MAP_PREFETCH) | ||
568 | printk(KERN_INFO MODNAME ": MAP_PREFETCH unimplemented\n"); | ||
569 | /* TODO: handle MAP_WRPROT */ | ||
570 | if (io->flags & MAP_WRPROT) | ||
571 | printk(KERN_INFO MODNAME ": MAP_WRPROT unimplemented\n"); | ||
572 | /* TODO: handle MAP_0WS */ | ||
573 | if (io->flags & MAP_0WS) | ||
574 | printk(KERN_INFO MODNAME ": MAP_0WS unimplemented\n"); | ||
575 | |||
576 | if (io->flags & MAP_ACTIVE) { | ||
577 | unsigned long pstart, psize, paddrbase; | ||
578 | |||
579 | paddrbase = virt_to_phys((void*)(sp->mem_base + 2 * HD64465_PCC_WINDOW)); | ||
580 | pstart = io->start & PAGE_MASK; | ||
581 | psize = ((io->stop + PAGE_SIZE) & PAGE_MASK) - pstart; | ||
582 | |||
583 | /* | ||
584 | * Change PTEs in only that portion of the mapping requested | ||
585 | * by the caller. This means that most of the time, most of | ||
586 | * the PTEs in the io_vma will be unmapped and only the bottom | ||
587 | * page will be mapped. But the code allows for weird cards | ||
588 | * that might want IO ports > 4K. | ||
589 | */ | ||
590 | sp->io_base = p3_ioremap(paddrbase + pstart, psize, pgprot_val(prot)); | ||
591 | |||
592 | /* | ||
593 | * Change the mapping used by inb() outb() etc | ||
594 | */ | ||
595 | hd64465_port_map(io->start, | ||
596 | io->stop - io->start + 1, | ||
597 | (unsigned long)sp->io_base + io->start, 0); | ||
598 | } else { | ||
599 | hd64465_port_unmap(sio->start, sio->stop - sio->start + 1); | ||
600 | p3_iounmap(sp->io_base); | ||
601 | } | ||
602 | |||
603 | *sio = *io; | ||
604 | return 0; | ||
605 | } | ||
606 | |||
607 | /*============================================================*/ | ||
608 | |||
609 | static int hs_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *mem) | ||
610 | { | ||
611 | hs_socket_t *sp = container_of(s, struct hs_socket_t, socket); | ||
612 | struct pccard_mem_map *smem; | ||
613 | int map = mem->map; | ||
614 | unsigned long paddr; | ||
615 | |||
616 | #if 0 | ||
617 | DPRINTK("hs_set_mem_map(sock=%d, map=%d, flags=0x%x, card_start=0x%08x)\n", | ||
618 | sock, map, mem->flags, mem->card_start); | ||
619 | #endif | ||
620 | |||
621 | if (map >= MAX_WIN) | ||
622 | return -EINVAL; | ||
623 | smem = &sp->mem_maps[map]; | ||
624 | |||
625 | paddr = sp->mem_base; /* base of Attribute mapping */ | ||
626 | if (!(mem->flags & MAP_ATTRIB)) | ||
627 | paddr += HD64465_PCC_WINDOW; /* base of Common mapping */ | ||
628 | paddr += mem->card_start; | ||
629 | |||
630 | /* Because we specified SS_CAP_STATIC_MAP, we are obliged | ||
631 | * at this time to report the system address corresponding | ||
632 | * to the card address requested. This is how Socket Services | ||
633 | * queries our fixed mapping. I wish this fact had been | ||
634 | * documented - Greg Banks. | ||
635 | */ | ||
636 | mem->static_start = paddr; | ||
637 | |||
638 | *smem = *mem; | ||
639 | |||
640 | return 0; | ||
641 | } | ||
642 | |||
643 | /* TODO: do we need to use the MMU to access Common memory ??? */ | ||
644 | |||
645 | /*============================================================*/ | ||
646 | |||
647 | /* | ||
648 | * This function is registered with the HD64465 glue code to do a | ||
649 | * secondary demux step on the PCMCIA interrupts. It handles | ||
650 | * mapping the IREQ request from the card to a standard Linux | ||
651 | * IRQ, as requested by SocketServices. | ||
652 | */ | ||
653 | static int hs_irq_demux(int irq, void *dev) | ||
654 | { | ||
655 | hs_socket_t *sp = dev; | ||
656 | u_int cscr; | ||
657 | |||
658 | DPRINTK("hs_irq_demux(irq=%d)\n", irq); | ||
659 | |||
660 | if (sp->state.io_irq && | ||
661 | (cscr = hs_in(sp, CSCR)) & HD64465_PCCCSCR_PIREQ) { | ||
662 | cscr &= ~HD64465_PCCCSCR_PIREQ; | ||
663 | hs_out(sp, cscr, CSCR); | ||
664 | return sp->state.io_irq; | ||
665 | } | ||
666 | |||
667 | return irq; | ||
668 | } | ||
669 | |||
670 | /*============================================================*/ | ||
671 | |||
672 | /* | ||
673 | * Interrupt handling routine. | ||
674 | */ | ||
675 | |||
676 | static irqreturn_t hs_interrupt(int irq, void *dev) | ||
677 | { | ||
678 | hs_socket_t *sp = dev; | ||
679 | u_int events = 0; | ||
680 | u_int cscr; | ||
681 | |||
682 | cscr = hs_in(sp, CSCR); | ||
683 | |||
684 | DPRINTK("hs_interrupt, cscr=%04x\n", cscr); | ||
685 | |||
686 | /* check for bus-related changes to be reported to Socket Services */ | ||
687 | if (cscr & HD64465_PCCCSCR_PCDC) { | ||
688 | /* double-check for a 16-bit card, as we don't support CardBus */ | ||
689 | if ((hs_in(sp, ISR) & HD64465_PCCISR_PCD_MASK) != 0) { | ||
690 | printk(KERN_NOTICE MODNAME | ||
691 | ": socket %d, card not a supported card type or not inserted correctly\n", | ||
692 | sp->number); | ||
693 | /* Don't do the rest unless a card is present */ | ||
694 | cscr &= ~(HD64465_PCCCSCR_PCDC| | ||
695 | HD64465_PCCCSCR_PRC| | ||
696 | HD64465_PCCCSCR_PBW| | ||
697 | HD64465_PCCCSCR_PBD| | ||
698 | HD64465_PCCCSCR_PSC); | ||
699 | } else { | ||
700 | cscr &= ~HD64465_PCCCSCR_PCDC; | ||
701 | events |= SS_DETECT; /* card insertion or removal */ | ||
702 | } | ||
703 | } | ||
704 | if (cscr & HD64465_PCCCSCR_PRC) { | ||
705 | cscr &= ~HD64465_PCCCSCR_PRC; | ||
706 | events |= SS_READY; /* ready signal changed */ | ||
707 | } | ||
708 | if (cscr & HD64465_PCCCSCR_PBW) { | ||
709 | cscr &= ~HD64465_PCCCSCR_PSC; | ||
710 | events |= SS_BATWARN; /* battery warning */ | ||
711 | } | ||
712 | if (cscr & HD64465_PCCCSCR_PBD) { | ||
713 | cscr &= ~HD64465_PCCCSCR_PSC; | ||
714 | events |= SS_BATDEAD; /* battery dead */ | ||
715 | } | ||
716 | if (cscr & HD64465_PCCCSCR_PSC) { | ||
717 | cscr &= ~HD64465_PCCCSCR_PSC; | ||
718 | events |= SS_STSCHG; /* STSCHG (status changed) signal */ | ||
719 | } | ||
720 | |||
721 | if (cscr & HD64465_PCCCSCR_PIREQ) { | ||
722 | cscr &= ~HD64465_PCCCSCR_PIREQ; | ||
723 | |||
724 | /* This should have been dealt with during irq demux */ | ||
725 | printk(KERN_NOTICE MODNAME ": unexpected IREQ from card\n"); | ||
726 | } | ||
727 | |||
728 | hs_out(sp, cscr, CSCR); | ||
729 | |||
730 | if (events) | ||
731 | pcmcia_parse_events(&sp->socket, events); | ||
732 | |||
733 | return IRQ_HANDLED; | ||
734 | } | ||
735 | |||
736 | /*============================================================*/ | ||
737 | |||
738 | static struct pccard_operations hs_operations = { | ||
739 | .init = hs_init, | ||
740 | .get_status = hs_get_status, | ||
741 | .set_socket = hs_set_socket, | ||
742 | .set_io_map = hs_set_io_map, | ||
743 | .set_mem_map = hs_set_mem_map, | ||
744 | }; | ||
745 | |||
746 | static int hs_init_socket(hs_socket_t *sp, int irq, unsigned long mem_base, | ||
747 | unsigned int ctrl_base) | ||
748 | { | ||
749 | unsigned short v; | ||
750 | int i, err; | ||
751 | |||
752 | memset(sp, 0, sizeof(*sp)); | ||
753 | sp->irq = irq; | ||
754 | sp->mem_base = mem_base; | ||
755 | sp->mem_length = 4*HD64465_PCC_WINDOW; /* 16MB */ | ||
756 | sp->ctrl_base = ctrl_base; | ||
757 | |||
758 | for (i=0 ; i<MAX_IO_WIN ; i++) | ||
759 | sp->io_maps[i].map = i; | ||
760 | for (i=0 ; i<MAX_WIN ; i++) | ||
761 | sp->mem_maps[i].map = i; | ||
762 | |||
763 | hd64465_register_irq_demux(sp->irq, hs_irq_demux, sp); | ||
764 | |||
765 | if ((err = request_irq(sp->irq, hs_interrupt, IRQF_DISABLED, MODNAME, sp)) < 0) | ||
766 | return err; | ||
767 | if (request_mem_region(sp->mem_base, sp->mem_length, MODNAME) == 0) { | ||
768 | sp->mem_base = 0; | ||
769 | return -ENOMEM; | ||
770 | } | ||
771 | |||
772 | |||
773 | /* According to section 3.2 of the PCMCIA standard, low-voltage | ||
774 | * capable cards must implement cold insertion, i.e. Vpp and | ||
775 | * Vcc set to 0 before card is inserted. | ||
776 | */ | ||
777 | /*hs_set_voltages(sp, 0, 0);*/ | ||
778 | |||
779 | /* hi-Z the outputs to the card and set 16MB map mode */ | ||
780 | v = hs_in(sp, GCR); | ||
781 | v &= ~HD64465_PCCGCR_PCCT; /* memory-only card */ | ||
782 | hs_out(sp, v, GCR); | ||
783 | |||
784 | v = hs_in(sp, GCR); | ||
785 | v |= HD64465_PCCGCR_PDRV; /* enable outputs to card */ | ||
786 | hs_out(sp, v, GCR); | ||
787 | |||
788 | v = hs_in(sp, GCR); | ||
789 | v |= HD64465_PCCGCR_PMMOD; /* 16MB mapping mode */ | ||
790 | hs_out(sp, v, GCR); | ||
791 | |||
792 | v = hs_in(sp, GCR); | ||
793 | /* lowest 16MB of Common */ | ||
794 | v &= ~(HD64465_PCCGCR_PPA25|HD64465_PCCGCR_PPA24); | ||
795 | hs_out(sp, v, GCR); | ||
796 | |||
797 | hs_reset_socket(sp, 1); | ||
798 | |||
799 | printk(KERN_INFO "HD64465 PCMCIA bridge socket %d at 0x%08lx irq %d\n", | ||
800 | i, sp->mem_base, sp->irq); | ||
801 | |||
802 | return 0; | ||
803 | } | ||
804 | |||
805 | static void hs_exit_socket(hs_socket_t *sp) | ||
806 | { | ||
807 | unsigned short cscier, gcr; | ||
808 | unsigned long flags; | ||
809 | |||
810 | local_irq_save(flags); | ||
811 | |||
812 | /* turn off interrupts in hardware */ | ||
813 | cscier = hs_in(sp, CSCIER); | ||
814 | cscier = (cscier & IER_MASK) | IER_OFF; | ||
815 | hs_out(sp, cscier, CSCIER); | ||
816 | |||
817 | /* hi-Z the outputs to the card */ | ||
818 | gcr = hs_in(sp, GCR); | ||
819 | gcr &= HD64465_PCCGCR_PDRV; | ||
820 | hs_out(sp, gcr, GCR); | ||
821 | |||
822 | /* power the card down */ | ||
823 | hs_set_voltages(sp, 0, 0); | ||
824 | |||
825 | if (sp->mem_base != 0) | ||
826 | release_mem_region(sp->mem_base, sp->mem_length); | ||
827 | if (sp->irq != 0) { | ||
828 | free_irq(sp->irq, hs_interrupt); | ||
829 | hd64465_unregister_irq_demux(sp->irq); | ||
830 | } | ||
831 | |||
832 | local_irq_restore(flags); | ||
833 | } | ||
834 | |||
835 | static struct device_driver hd64465_driver = { | ||
836 | .name = "hd64465-pcmcia", | ||
837 | .bus = &platform_bus_type, | ||
838 | .suspend = pcmcia_socket_dev_suspend, | ||
839 | .resume = pcmcia_socket_dev_resume, | ||
840 | }; | ||
841 | |||
842 | static struct platform_device hd64465_device = { | ||
843 | .name = "hd64465-pcmcia", | ||
844 | .id = 0, | ||
845 | }; | ||
846 | |||
847 | static int __init init_hs(void) | ||
848 | { | ||
849 | int i; | ||
850 | unsigned short v; | ||
851 | |||
852 | /* hd64465_io_debug = 1; */ | ||
853 | if (driver_register(&hd64465_driver)) | ||
854 | return -EINVAL; | ||
855 | |||
856 | /* Wake both sockets out of STANDBY mode */ | ||
857 | /* TODO: wait 15ms */ | ||
858 | v = inw(HD64465_REG_SMSCR); | ||
859 | v &= ~(HD64465_SMSCR_PC0ST|HD64465_SMSCR_PC1ST); | ||
860 | outw(v, HD64465_REG_SMSCR); | ||
861 | |||
862 | /* keep power controller out of shutdown mode */ | ||
863 | v = inb(HD64465_REG_PCC0SCR); | ||
864 | v |= HD64465_PCCSCR_SHDN; | ||
865 | outb(v, HD64465_REG_PCC0SCR); | ||
866 | |||
867 | /* use serial (TPS2206) power controller */ | ||
868 | v = inb(HD64465_REG_PCC0CSCR); | ||
869 | v |= HD64465_PCCCSCR_PSWSEL; | ||
870 | outb(v, HD64465_REG_PCC0CSCR); | ||
871 | |||
872 | /* | ||
873 | * Setup hs_sockets[] structures and request system resources. | ||
874 | * TODO: on memory allocation failure, power down the socket | ||
875 | * before quitting. | ||
876 | */ | ||
877 | for (i=0; i<HS_MAX_SOCKETS; i++) { | ||
878 | hs_set_voltages(&hs_sockets[i], 0, 0); | ||
879 | |||
880 | hs_sockets[i].socket.features |= SS_CAP_PCCARD | SS_CAP_STATIC_MAP; /* mappings are fixed in host memory */ | ||
881 | hs_sockets[i].socket.resource_ops = &pccard_static_ops; | ||
882 | hs_sockets[i].socket.irq_mask = 0xffde;/*0xffff*/ /* IRQs mapped in s/w so can do any, really */ | ||
883 | hs_sockets[i].socket.map_size = HD64465_PCC_WINDOW; /* 16MB fixed window size */ | ||
884 | |||
885 | hs_sockets[i].socket.owner = THIS_MODULE; | ||
886 | hs_sockets[i].socket.ss_entry = &hs_operations; | ||
887 | } | ||
888 | |||
889 | i = hs_init_socket(&hs_sockets[0], | ||
890 | HD64465_IRQ_PCMCIA0, | ||
891 | HD64465_PCC0_BASE, | ||
892 | HD64465_REG_PCC0ISR); | ||
893 | if (i < 0) { | ||
894 | unregister_driver(&hd64465_driver); | ||
895 | return i; | ||
896 | } | ||
897 | i = hs_init_socket(&hs_sockets[1], | ||
898 | HD64465_IRQ_PCMCIA1, | ||
899 | HD64465_PCC1_BASE, | ||
900 | HD64465_REG_PCC1ISR); | ||
901 | if (i < 0) { | ||
902 | unregister_driver(&hd64465_driver); | ||
903 | return i; | ||
904 | } | ||
905 | |||
906 | /* hd64465_io_debug = 0; */ | ||
907 | |||
908 | platform_device_register(&hd64465_device); | ||
909 | |||
910 | for (i=0; i<HS_MAX_SOCKETS; i++) { | ||
911 | unsigned int ret; | ||
912 | hs_sockets[i].socket.dev.parent = &hd64465_device.dev; | ||
913 | hs_sockets[i].number = i; | ||
914 | ret = pcmcia_register_socket(&hs_sockets[i].socket); | ||
915 | if (ret && i) | ||
916 | pcmcia_unregister_socket(&hs_sockets[0].socket); | ||
917 | } | ||
918 | |||
919 | return 0; | ||
920 | } | ||
921 | |||
922 | static void __exit exit_hs(void) | ||
923 | { | ||
924 | int i; | ||
925 | |||
926 | for (i=0 ; i<HS_MAX_SOCKETS ; i++) { | ||
927 | pcmcia_unregister_socket(&hs_sockets[i].socket); | ||
928 | hs_exit_socket(&hs_sockets[i]); | ||
929 | } | ||
930 | |||
931 | platform_device_unregister(&hd64465_device); | ||
932 | unregister_driver(&hd64465_driver); | ||
933 | } | ||
934 | |||
935 | module_init(init_hs); | ||
936 | module_exit(exit_hs); | ||
937 | |||
938 | /*============================================================*/ | ||
939 | /*END*/ | ||
diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c index 478a4a739c00..c3f1c8e9d254 100644 --- a/drivers/pnp/interface.c +++ b/drivers/pnp/interface.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
13 | #include <linux/list.h> | 13 | #include <linux/list.h> |
14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
15 | #include <linux/pnp.h> | ||
16 | #include <linux/stat.h> | 15 | #include <linux/stat.h> |
17 | #include <linux/ctype.h> | 16 | #include <linux/ctype.h> |
18 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c index 85edf945ab86..204158cf7a55 100644 --- a/drivers/ps3/ps3-lpm.c +++ b/drivers/ps3/ps3-lpm.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/uaccess.h> | 24 | #include <linux/uaccess.h> |
25 | #include <asm/smp.h> | ||
25 | #include <asm/time.h> | 26 | #include <asm/time.h> |
26 | #include <asm/ps3.h> | 27 | #include <asm/ps3.h> |
27 | #include <asm/lv1call.h> | 28 | #include <asm/lv1call.h> |
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c index 7af60b98d8a4..a04c1b6b1575 100644 --- a/drivers/rtc/interface.c +++ b/drivers/rtc/interface.c | |||
@@ -271,7 +271,7 @@ int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm) | |||
271 | dev_dbg(&rtc->dev, "alarm rollover: %s\n", "year"); | 271 | dev_dbg(&rtc->dev, "alarm rollover: %s\n", "year"); |
272 | do { | 272 | do { |
273 | alarm->time.tm_year++; | 273 | alarm->time.tm_year++; |
274 | } while (!rtc_valid_tm(&alarm->time)); | 274 | } while (rtc_valid_tm(&alarm->time) != 0); |
275 | break; | 275 | break; |
276 | 276 | ||
277 | default: | 277 | default: |
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c index 5549231179a2..6cf8e282338f 100644 --- a/drivers/rtc/rtc-cmos.c +++ b/drivers/rtc/rtc-cmos.c | |||
@@ -794,7 +794,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq) | |||
794 | goto cleanup2; | 794 | goto cleanup2; |
795 | } | 795 | } |
796 | 796 | ||
797 | pr_info("%s: alarms up to one %s%s, %zd bytes nvram, %s irqs\n", | 797 | pr_info("%s: alarms up to one %s%s, %zd bytes nvram%s\n", |
798 | cmos_rtc.rtc->dev.bus_id, | 798 | cmos_rtc.rtc->dev.bus_id, |
799 | is_valid_irq(rtc_irq) | 799 | is_valid_irq(rtc_irq) |
800 | ? (cmos_rtc.mon_alrm | 800 | ? (cmos_rtc.mon_alrm |
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c index 079e9ed907e0..ecdea44ae4e5 100644 --- a/drivers/rtc/rtc-dev.c +++ b/drivers/rtc/rtc-dev.c | |||
@@ -446,9 +446,6 @@ static int rtc_dev_release(struct inode *inode, struct file *file) | |||
446 | if (rtc->ops->release) | 446 | if (rtc->ops->release) |
447 | rtc->ops->release(rtc->dev.parent); | 447 | rtc->ops->release(rtc->dev.parent); |
448 | 448 | ||
449 | if (file->f_flags & FASYNC) | ||
450 | rtc_dev_fasync(-1, file, 0); | ||
451 | |||
452 | clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags); | 449 | clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags); |
453 | return 0; | 450 | return 0; |
454 | } | 451 | } |
diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c index 04b63dab6932..43afb7ab5289 100644 --- a/drivers/rtc/rtc-m48t59.c +++ b/drivers/rtc/rtc-m48t59.c | |||
@@ -87,6 +87,10 @@ static int m48t59_rtc_read_time(struct device *dev, struct rtc_time *tm) | |||
87 | dev_dbg(dev, "Century bit is enabled\n"); | 87 | dev_dbg(dev, "Century bit is enabled\n"); |
88 | tm->tm_year += 100; /* one century */ | 88 | tm->tm_year += 100; /* one century */ |
89 | } | 89 | } |
90 | #ifdef CONFIG_SPARC | ||
91 | /* Sun SPARC machines count years since 1968 */ | ||
92 | tm->tm_year += 68; | ||
93 | #endif | ||
90 | 94 | ||
91 | tm->tm_wday = bcd2bin(val & 0x07); | 95 | tm->tm_wday = bcd2bin(val & 0x07); |
92 | tm->tm_hour = bcd2bin(M48T59_READ(M48T59_HOUR) & 0x3F); | 96 | tm->tm_hour = bcd2bin(M48T59_READ(M48T59_HOUR) & 0x3F); |
@@ -110,11 +114,20 @@ static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm) | |||
110 | struct m48t59_private *m48t59 = platform_get_drvdata(pdev); | 114 | struct m48t59_private *m48t59 = platform_get_drvdata(pdev); |
111 | unsigned long flags; | 115 | unsigned long flags; |
112 | u8 val = 0; | 116 | u8 val = 0; |
117 | int year = tm->tm_year; | ||
118 | |||
119 | #ifdef CONFIG_SPARC | ||
120 | /* Sun SPARC machines count years since 1968 */ | ||
121 | year -= 68; | ||
122 | #endif | ||
113 | 123 | ||
114 | dev_dbg(dev, "RTC set time %04d-%02d-%02d %02d/%02d/%02d\n", | 124 | dev_dbg(dev, "RTC set time %04d-%02d-%02d %02d/%02d/%02d\n", |
115 | tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, | 125 | year + 1900, tm->tm_mon, tm->tm_mday, |
116 | tm->tm_hour, tm->tm_min, tm->tm_sec); | 126 | tm->tm_hour, tm->tm_min, tm->tm_sec); |
117 | 127 | ||
128 | if (year < 0) | ||
129 | return -EINVAL; | ||
130 | |||
118 | spin_lock_irqsave(&m48t59->lock, flags); | 131 | spin_lock_irqsave(&m48t59->lock, flags); |
119 | /* Issue the WRITE command */ | 132 | /* Issue the WRITE command */ |
120 | M48T59_SET_BITS(M48T59_CNTL_WRITE, M48T59_CNTL); | 133 | M48T59_SET_BITS(M48T59_CNTL_WRITE, M48T59_CNTL); |
@@ -125,9 +138,9 @@ static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm) | |||
125 | M48T59_WRITE((bin2bcd(tm->tm_mday) & 0x3F), M48T59_MDAY); | 138 | M48T59_WRITE((bin2bcd(tm->tm_mday) & 0x3F), M48T59_MDAY); |
126 | /* tm_mon is 0-11 */ | 139 | /* tm_mon is 0-11 */ |
127 | M48T59_WRITE((bin2bcd(tm->tm_mon + 1) & 0x1F), M48T59_MONTH); | 140 | M48T59_WRITE((bin2bcd(tm->tm_mon + 1) & 0x1F), M48T59_MONTH); |
128 | M48T59_WRITE(bin2bcd(tm->tm_year % 100), M48T59_YEAR); | 141 | M48T59_WRITE(bin2bcd(year % 100), M48T59_YEAR); |
129 | 142 | ||
130 | if (pdata->type == M48T59RTC_TYPE_M48T59 && (tm->tm_year / 100)) | 143 | if (pdata->type == M48T59RTC_TYPE_M48T59 && (year / 100)) |
131 | val = (M48T59_WDAY_CEB | M48T59_WDAY_CB); | 144 | val = (M48T59_WDAY_CEB | M48T59_WDAY_CB); |
132 | val |= (bin2bcd(tm->tm_wday) & 0x07); | 145 | val |= (bin2bcd(tm->tm_wday) & 0x07); |
133 | M48T59_WRITE(val, M48T59_WDAY); | 146 | M48T59_WRITE(val, M48T59_WDAY); |
@@ -159,6 +172,10 @@ static int m48t59_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
159 | M48T59_SET_BITS(M48T59_CNTL_READ, M48T59_CNTL); | 172 | M48T59_SET_BITS(M48T59_CNTL_READ, M48T59_CNTL); |
160 | 173 | ||
161 | tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR)); | 174 | tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR)); |
175 | #ifdef CONFIG_SPARC | ||
176 | /* Sun SPARC machines count years since 1968 */ | ||
177 | tm->tm_year += 68; | ||
178 | #endif | ||
162 | /* tm_mon is 0-11 */ | 179 | /* tm_mon is 0-11 */ |
163 | tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1; | 180 | tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1; |
164 | 181 | ||
@@ -192,11 +209,20 @@ static int m48t59_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
192 | struct rtc_time *tm = &alrm->time; | 209 | struct rtc_time *tm = &alrm->time; |
193 | u8 mday, hour, min, sec; | 210 | u8 mday, hour, min, sec; |
194 | unsigned long flags; | 211 | unsigned long flags; |
212 | int year = tm->tm_year; | ||
213 | |||
214 | #ifdef CONFIG_SPARC | ||
215 | /* Sun SPARC machines count years since 1968 */ | ||
216 | year -= 68; | ||
217 | #endif | ||
195 | 218 | ||
196 | /* If no irq, we don't support ALARM */ | 219 | /* If no irq, we don't support ALARM */ |
197 | if (m48t59->irq == NO_IRQ) | 220 | if (m48t59->irq == NO_IRQ) |
198 | return -EIO; | 221 | return -EIO; |
199 | 222 | ||
223 | if (year < 0) | ||
224 | return -EINVAL; | ||
225 | |||
200 | /* | 226 | /* |
201 | * 0xff means "always match" | 227 | * 0xff means "always match" |
202 | */ | 228 | */ |
@@ -228,7 +254,7 @@ static int m48t59_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
228 | spin_unlock_irqrestore(&m48t59->lock, flags); | 254 | spin_unlock_irqrestore(&m48t59->lock, flags); |
229 | 255 | ||
230 | dev_dbg(dev, "RTC set alarm time %04d-%02d-%02d %02d/%02d/%02d\n", | 256 | dev_dbg(dev, "RTC set alarm time %04d-%02d-%02d %02d/%02d/%02d\n", |
231 | tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, | 257 | year + 1900, tm->tm_mon, tm->tm_mday, |
232 | tm->tm_hour, tm->tm_min, tm->tm_sec); | 258 | tm->tm_hour, tm->tm_min, tm->tm_sec); |
233 | return 0; | 259 | return 0; |
234 | } | 260 | } |
diff --git a/drivers/sbus/char/jsflash.c b/drivers/sbus/char/jsflash.c index 2bec9ccc0293..a9a9893a5f95 100644 --- a/drivers/sbus/char/jsflash.c +++ b/drivers/sbus/char/jsflash.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <linux/poll.h> | 36 | #include <linux/poll.h> |
37 | #include <linux/init.h> | 37 | #include <linux/init.h> |
38 | #include <linux/string.h> | 38 | #include <linux/string.h> |
39 | #include <linux/smp_lock.h> | ||
40 | #include <linux/genhd.h> | 39 | #include <linux/genhd.h> |
41 | #include <linux/blkdev.h> | 40 | #include <linux/blkdev.h> |
42 | 41 | ||
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c index afe1de998763..a454f94623d7 100644 --- a/drivers/scsi/megaraid/megaraid_sas.c +++ b/drivers/scsi/megaraid/megaraid_sas.c | |||
@@ -2988,17 +2988,6 @@ static int megasas_mgmt_open(struct inode *inode, struct file *filep) | |||
2988 | } | 2988 | } |
2989 | 2989 | ||
2990 | /** | 2990 | /** |
2991 | * megasas_mgmt_release - char node "release" entry point | ||
2992 | */ | ||
2993 | static int megasas_mgmt_release(struct inode *inode, struct file *filep) | ||
2994 | { | ||
2995 | filep->private_data = NULL; | ||
2996 | fasync_helper(-1, filep, 0, &megasas_async_queue); | ||
2997 | |||
2998 | return 0; | ||
2999 | } | ||
3000 | |||
3001 | /** | ||
3002 | * megasas_mgmt_fasync - Async notifier registration from applications | 2991 | * megasas_mgmt_fasync - Async notifier registration from applications |
3003 | * | 2992 | * |
3004 | * This function adds the calling process to a driver global queue. When an | 2993 | * This function adds the calling process to a driver global queue. When an |
@@ -3345,7 +3334,6 @@ megasas_mgmt_compat_ioctl(struct file *file, unsigned int cmd, | |||
3345 | static const struct file_operations megasas_mgmt_fops = { | 3334 | static const struct file_operations megasas_mgmt_fops = { |
3346 | .owner = THIS_MODULE, | 3335 | .owner = THIS_MODULE, |
3347 | .open = megasas_mgmt_open, | 3336 | .open = megasas_mgmt_open, |
3348 | .release = megasas_mgmt_release, | ||
3349 | .fasync = megasas_mgmt_fasync, | 3337 | .fasync = megasas_mgmt_fasync, |
3350 | .unlocked_ioctl = megasas_mgmt_ioctl, | 3338 | .unlocked_ioctl = megasas_mgmt_ioctl, |
3351 | #ifdef CONFIG_COMPAT | 3339 | #ifdef CONFIG_COMPAT |
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 9adf35bd8b56..5103855242ae 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c | |||
@@ -327,7 +327,6 @@ sg_release(struct inode *inode, struct file *filp) | |||
327 | if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) | 327 | if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) |
328 | return -ENXIO; | 328 | return -ENXIO; |
329 | SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name)); | 329 | SCSI_LOG_TIMEOUT(3, printk("sg_release: %s\n", sdp->disk->disk_name)); |
330 | sg_fasync(-1, filp, 0); /* remove filp from async notification list */ | ||
331 | if (0 == sg_remove_sfp(sdp, sfp)) { /* Returns 1 when sdp gone */ | 330 | if (0 == sg_remove_sfp(sdp, sfp)) { /* Returns 1 when sdp gone */ |
332 | if (!sdp->detached) { | 331 | if (!sdp->detached) { |
333 | scsi_device_put(sdp->device); | 332 | scsi_device_put(sdp->device); |
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index 61fb8b6d19af..d5efd6c77904 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c | |||
@@ -1258,6 +1258,8 @@ static void __devinit atmel_init_port(struct atmel_uart_port *atmel_port, | |||
1258 | atmel_port->clk = clk_get(&pdev->dev, "usart"); | 1258 | atmel_port->clk = clk_get(&pdev->dev, "usart"); |
1259 | clk_enable(atmel_port->clk); | 1259 | clk_enable(atmel_port->clk); |
1260 | port->uartclk = clk_get_rate(atmel_port->clk); | 1260 | port->uartclk = clk_get_rate(atmel_port->clk); |
1261 | clk_disable(atmel_port->clk); | ||
1262 | /* only enable clock when USART is in use */ | ||
1261 | } | 1263 | } |
1262 | 1264 | ||
1263 | atmel_port->use_dma_rx = data->use_dma_rx; | 1265 | atmel_port->use_dma_rx = data->use_dma_rx; |
@@ -1379,6 +1381,8 @@ static int __init atmel_console_setup(struct console *co, char *options) | |||
1379 | return -ENODEV; | 1381 | return -ENODEV; |
1380 | } | 1382 | } |
1381 | 1383 | ||
1384 | clk_enable(atmel_ports[co->index].clk); | ||
1385 | |||
1382 | UART_PUT_IDR(port, -1); | 1386 | UART_PUT_IDR(port, -1); |
1383 | UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); | 1387 | UART_PUT_CR(port, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); |
1384 | UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN); | 1388 | UART_PUT_CR(port, ATMEL_US_TXEN | ATMEL_US_RXEN); |
@@ -1403,7 +1407,7 @@ static struct console atmel_console = { | |||
1403 | .data = &atmel_uart, | 1407 | .data = &atmel_uart, |
1404 | }; | 1408 | }; |
1405 | 1409 | ||
1406 | #define ATMEL_CONSOLE_DEVICE &atmel_console | 1410 | #define ATMEL_CONSOLE_DEVICE (&atmel_console) |
1407 | 1411 | ||
1408 | /* | 1412 | /* |
1409 | * Early console initialization (before VM subsystem initialized). | 1413 | * Early console initialization (before VM subsystem initialized). |
@@ -1534,6 +1538,15 @@ static int __devinit atmel_serial_probe(struct platform_device *pdev) | |||
1534 | if (ret) | 1538 | if (ret) |
1535 | goto err_add_port; | 1539 | goto err_add_port; |
1536 | 1540 | ||
1541 | if (atmel_is_console_port(&port->uart) | ||
1542 | && ATMEL_CONSOLE_DEVICE->flags & CON_ENABLED) { | ||
1543 | /* | ||
1544 | * The serial core enabled the clock for us, so undo | ||
1545 | * the clk_enable() in atmel_console_setup() | ||
1546 | */ | ||
1547 | clk_disable(port->clk); | ||
1548 | } | ||
1549 | |||
1537 | device_init_wakeup(&pdev->dev, 1); | 1550 | device_init_wakeup(&pdev->dev, 1); |
1538 | platform_set_drvdata(pdev, port); | 1551 | platform_set_drvdata(pdev, port); |
1539 | 1552 | ||
@@ -1544,7 +1557,6 @@ err_add_port: | |||
1544 | port->rx_ring.buf = NULL; | 1557 | port->rx_ring.buf = NULL; |
1545 | err_alloc_ring: | 1558 | err_alloc_ring: |
1546 | if (!atmel_is_console_port(&port->uart)) { | 1559 | if (!atmel_is_console_port(&port->uart)) { |
1547 | clk_disable(port->clk); | ||
1548 | clk_put(port->clk); | 1560 | clk_put(port->clk); |
1549 | port->clk = NULL; | 1561 | port->clk = NULL; |
1550 | } | 1562 | } |
@@ -1568,7 +1580,6 @@ static int __devexit atmel_serial_remove(struct platform_device *pdev) | |||
1568 | 1580 | ||
1569 | /* "port" is allocated statically, so we shouldn't free it */ | 1581 | /* "port" is allocated statically, so we shouldn't free it */ |
1570 | 1582 | ||
1571 | clk_disable(atmel_port->clk); | ||
1572 | clk_put(atmel_port->clk); | 1583 | clk_put(atmel_port->clk); |
1573 | 1584 | ||
1574 | return ret; | 1585 | return ret; |
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index 211c21797ce0..8b2c619a09f2 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c | |||
@@ -34,14 +34,14 @@ static char *serial_version = "$Revision: 1.25 $"; | |||
34 | #include <asm/system.h> | 34 | #include <asm/system.h> |
35 | #include <linux/delay.h> | 35 | #include <linux/delay.h> |
36 | 36 | ||
37 | #include <asm/arch/svinto.h> | 37 | #include <arch/svinto.h> |
38 | 38 | ||
39 | /* non-arch dependent serial structures are in linux/serial.h */ | 39 | /* non-arch dependent serial structures are in linux/serial.h */ |
40 | #include <linux/serial.h> | 40 | #include <linux/serial.h> |
41 | /* while we keep our own stuff (struct e100_serial) in a local .h file */ | 41 | /* while we keep our own stuff (struct e100_serial) in a local .h file */ |
42 | #include "crisv10.h" | 42 | #include "crisv10.h" |
43 | #include <asm/fasttimer.h> | 43 | #include <asm/fasttimer.h> |
44 | #include <asm/arch/io_interface_mux.h> | 44 | #include <arch/io_interface_mux.h> |
45 | 45 | ||
46 | #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER | 46 | #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER |
47 | #ifndef CONFIG_ETRAX_FAST_TIMER | 47 | #ifndef CONFIG_ETRAX_FAST_TIMER |
diff --git a/drivers/serial/crisv10.h b/drivers/serial/crisv10.h index e3c5c8c3c09b..f36a729280bc 100644 --- a/drivers/serial/crisv10.h +++ b/drivers/serial/crisv10.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <linux/circ_buf.h> | 10 | #include <linux/circ_buf.h> |
11 | #include <asm/termios.h> | 11 | #include <asm/termios.h> |
12 | #include <asm/dma.h> | 12 | #include <asm/dma.h> |
13 | #include <asm/arch/io_interface_mux.h> | 13 | #include <arch/io_interface_mux.h> |
14 | 14 | ||
15 | /* Software state per channel */ | 15 | /* Software state per channel */ |
16 | 16 | ||
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index f0658d2c45b2..5c0f32c7fbf6 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -250,8 +250,7 @@ static inline void h8300_sci_disable(struct uart_port *port) | |||
250 | } | 250 | } |
251 | #endif | 251 | #endif |
252 | 252 | ||
253 | #if defined(SCI_ONLY) || defined(SCI_AND_SCIF) && \ | 253 | #if defined(__H8300H__) || defined(__H8300S__) |
254 | defined(__H8300H__) || defined(__H8300S__) | ||
255 | static void sci_init_pins_sci(struct uart_port* port, unsigned int cflag) | 254 | static void sci_init_pins_sci(struct uart_port* port, unsigned int cflag) |
256 | { | 255 | { |
257 | int ch = (port->mapbase - SMR0) >> 3; | 256 | int ch = (port->mapbase - SMR0) >> 3; |
@@ -285,11 +284,6 @@ static void sci_init_pins_irda(struct uart_port *port, unsigned int cflag) | |||
285 | #define sci_init_pins_irda NULL | 284 | #define sci_init_pins_irda NULL |
286 | #endif | 285 | #endif |
287 | 286 | ||
288 | #ifdef SCI_ONLY | ||
289 | #define sci_init_pins_scif NULL | ||
290 | #endif | ||
291 | |||
292 | #if defined(SCIF_ONLY) || defined(SCI_AND_SCIF) | ||
293 | #if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) | 287 | #if defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) |
294 | static void sci_init_pins_scif(struct uart_port* port, unsigned int cflag) | 288 | static void sci_init_pins_scif(struct uart_port* port, unsigned int cflag) |
295 | { | 289 | { |
@@ -449,7 +443,6 @@ static inline int scif_rxroom(struct uart_port *port) | |||
449 | return sci_in(port, SCFDR) & SCIF_RFDC_MASK; | 443 | return sci_in(port, SCFDR) & SCIF_RFDC_MASK; |
450 | } | 444 | } |
451 | #endif | 445 | #endif |
452 | #endif /* SCIF_ONLY || SCI_AND_SCIF */ | ||
453 | 446 | ||
454 | static inline int sci_txroom(struct uart_port *port) | 447 | static inline int sci_txroom(struct uart_port *port) |
455 | { | 448 | { |
@@ -485,11 +478,9 @@ static void sci_transmit_chars(struct uart_port *port) | |||
485 | return; | 478 | return; |
486 | } | 479 | } |
487 | 480 | ||
488 | #ifndef SCI_ONLY | ||
489 | if (port->type == PORT_SCIF) | 481 | if (port->type == PORT_SCIF) |
490 | count = scif_txroom(port); | 482 | count = scif_txroom(port); |
491 | else | 483 | else |
492 | #endif | ||
493 | count = sci_txroom(port); | 484 | count = sci_txroom(port); |
494 | 485 | ||
495 | do { | 486 | do { |
@@ -519,12 +510,10 @@ static void sci_transmit_chars(struct uart_port *port) | |||
519 | } else { | 510 | } else { |
520 | ctrl = sci_in(port, SCSCR); | 511 | ctrl = sci_in(port, SCSCR); |
521 | 512 | ||
522 | #if !defined(SCI_ONLY) | ||
523 | if (port->type == PORT_SCIF) { | 513 | if (port->type == PORT_SCIF) { |
524 | sci_in(port, SCxSR); /* Dummy read */ | 514 | sci_in(port, SCxSR); /* Dummy read */ |
525 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port)); | 515 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port)); |
526 | } | 516 | } |
527 | #endif | ||
528 | 517 | ||
529 | ctrl |= SCI_CTRL_FLAGS_TIE; | 518 | ctrl |= SCI_CTRL_FLAGS_TIE; |
530 | sci_out(port, SCSCR, ctrl); | 519 | sci_out(port, SCSCR, ctrl); |
@@ -547,11 +536,9 @@ static inline void sci_receive_chars(struct uart_port *port) | |||
547 | return; | 536 | return; |
548 | 537 | ||
549 | while (1) { | 538 | while (1) { |
550 | #if !defined(SCI_ONLY) | ||
551 | if (port->type == PORT_SCIF) | 539 | if (port->type == PORT_SCIF) |
552 | count = scif_rxroom(port); | 540 | count = scif_rxroom(port); |
553 | else | 541 | else |
554 | #endif | ||
555 | count = sci_rxroom(port); | 542 | count = sci_rxroom(port); |
556 | 543 | ||
557 | /* Don't copy more bytes than there is room for in the buffer */ | 544 | /* Don't copy more bytes than there is room for in the buffer */ |
@@ -810,26 +797,27 @@ static irqreturn_t sci_br_interrupt(int irq, void *ptr) | |||
810 | 797 | ||
811 | static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr) | 798 | static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr) |
812 | { | 799 | { |
813 | unsigned short ssr_status, scr_status; | 800 | unsigned short ssr_status, scr_status; |
814 | struct uart_port *port = ptr; | 801 | struct uart_port *port = ptr; |
802 | irqreturn_t ret = IRQ_NONE; | ||
815 | 803 | ||
816 | ssr_status = sci_in(port,SCxSR); | 804 | ssr_status = sci_in(port,SCxSR); |
817 | scr_status = sci_in(port,SCSCR); | 805 | scr_status = sci_in(port,SCSCR); |
818 | 806 | ||
819 | /* Tx Interrupt */ | 807 | /* Tx Interrupt */ |
820 | if ((ssr_status & 0x0020) && (scr_status & 0x0080)) | 808 | if ((ssr_status & 0x0020) && (scr_status & SCI_CTRL_FLAGS_TIE)) |
821 | sci_tx_interrupt(irq, ptr); | 809 | ret = sci_tx_interrupt(irq, ptr); |
822 | /* Rx Interrupt */ | 810 | /* Rx Interrupt */ |
823 | if ((ssr_status & 0x0002) && (scr_status & 0x0040)) | 811 | if ((ssr_status & 0x0002) && (scr_status & SCI_CTRL_FLAGS_RIE)) |
824 | sci_rx_interrupt(irq, ptr); | 812 | ret = sci_rx_interrupt(irq, ptr); |
825 | /* Error Interrupt */ | 813 | /* Error Interrupt */ |
826 | if ((ssr_status & 0x0080) && (scr_status & 0x0400)) | 814 | if ((ssr_status & 0x0080) && (scr_status & SCI_CTRL_FLAGS_REIE)) |
827 | sci_er_interrupt(irq, ptr); | 815 | ret = sci_er_interrupt(irq, ptr); |
828 | /* Break Interrupt */ | 816 | /* Break Interrupt */ |
829 | if ((ssr_status & 0x0010) && (scr_status & 0x0200)) | 817 | if ((ssr_status & 0x0010) && (scr_status & SCI_CTRL_FLAGS_REIE)) |
830 | sci_br_interrupt(irq, ptr); | 818 | ret = sci_br_interrupt(irq, ptr); |
831 | 819 | ||
832 | return IRQ_HANDLED; | 820 | return ret; |
833 | } | 821 | } |
834 | 822 | ||
835 | #if defined(CONFIG_CPU_FREQ) && defined(CONFIG_HAVE_CLK) | 823 | #if defined(CONFIG_CPU_FREQ) && defined(CONFIG_HAVE_CLK) |
@@ -1054,10 +1042,8 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios, | |||
1054 | 1042 | ||
1055 | sci_out(port, SCSCR, 0x00); /* TE=0, RE=0, CKE1=0 */ | 1043 | sci_out(port, SCSCR, 0x00); /* TE=0, RE=0, CKE1=0 */ |
1056 | 1044 | ||
1057 | #if !defined(SCI_ONLY) | ||
1058 | if (port->type == PORT_SCIF) | 1045 | if (port->type == PORT_SCIF) |
1059 | sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); | 1046 | sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); |
1060 | #endif | ||
1061 | 1047 | ||
1062 | smr_val = sci_in(port, SCSMR) & 3; | 1048 | smr_val = sci_in(port, SCSMR) & 3; |
1063 | if ((termios->c_cflag & CSIZE) == CS7) | 1049 | if ((termios->c_cflag & CSIZE) == CS7) |
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h index 7cd28b226800..6163a45f968f 100644 --- a/drivers/serial/sh-sci.h +++ b/drivers/serial/sh-sci.h | |||
@@ -16,7 +16,6 @@ | |||
16 | # define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */ | 16 | # define SCPCR 0xA4000116 /* 16 bit SCI and SCIF */ |
17 | # define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */ | 17 | # define SCPDR 0xA4000136 /* 8 bit SCI and SCIF */ |
18 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ | 18 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ |
19 | # define SCI_AND_SCIF | ||
20 | #elif defined(CONFIG_CPU_SUBTYPE_SH7705) | 19 | #elif defined(CONFIG_CPU_SUBTYPE_SH7705) |
21 | # define SCIF0 0xA4400000 | 20 | # define SCIF0 0xA4400000 |
22 | # define SCIF2 0xA4410000 | 21 | # define SCIF2 0xA4410000 |
@@ -30,17 +29,15 @@ | |||
30 | * SCIF0 (0xA4400000) -> Internal clock, SCK pin as serial clock output | 29 | * SCIF0 (0xA4400000) -> Internal clock, SCK pin as serial clock output |
31 | */ | 30 | */ |
32 | # define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0 | 31 | # define SCSCR_INIT(port) (port->mapbase == SCIF2) ? 0xF3 : 0xF0 |
33 | # define SCIF_ONLY | ||
34 | #elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \ | 32 | #elif defined(CONFIG_CPU_SUBTYPE_SH7720) || \ |
35 | defined(CONFIG_CPU_SUBTYPE_SH7721) | 33 | defined(CONFIG_CPU_SUBTYPE_SH7721) |
36 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ | 34 | # define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */ |
37 | # define SCIF_ONLY | ||
38 | #define SCIF_ORER 0x0200 /* overrun error bit */ | 35 | #define SCIF_ORER 0x0200 /* overrun error bit */ |
39 | #elif defined(CONFIG_SH_RTS7751R2D) | 36 | #elif defined(CONFIG_SH_RTS7751R2D) |
37 | # define SCSPTR1 0xFFE0001C /* 8 bit SCIF */ | ||
40 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ | 38 | # define SCSPTR2 0xFFE80020 /* 16 bit SCIF */ |
41 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 39 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
42 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 40 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
43 | # define SCIF_ONLY | ||
44 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ | 41 | #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \ |
45 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | 42 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
46 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ | 43 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ |
@@ -53,28 +50,24 @@ | |||
53 | # define SCSCR_INIT(port) (((port)->type == PORT_SCI) ? \ | 50 | # define SCSCR_INIT(port) (((port)->type == PORT_SCI) ? \ |
54 | 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \ | 51 | 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ : \ |
55 | 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ ) | 52 | 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ ) |
56 | # define SCI_AND_SCIF | ||
57 | #elif defined(CONFIG_CPU_SUBTYPE_SH7760) | 53 | #elif defined(CONFIG_CPU_SUBTYPE_SH7760) |
58 | # define SCSPTR0 0xfe600024 /* 16 bit SCIF */ | 54 | # define SCSPTR0 0xfe600024 /* 16 bit SCIF */ |
59 | # define SCSPTR1 0xfe610024 /* 16 bit SCIF */ | 55 | # define SCSPTR1 0xfe610024 /* 16 bit SCIF */ |
60 | # define SCSPTR2 0xfe620024 /* 16 bit SCIF */ | 56 | # define SCSPTR2 0xfe620024 /* 16 bit SCIF */ |
61 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 57 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
62 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 58 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
63 | # define SCIF_ONLY | ||
64 | #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) | 59 | #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) |
65 | # define SCSPTR0 0xA4400000 /* 16 bit SCIF */ | 60 | # define SCSPTR0 0xA4400000 /* 16 bit SCIF */ |
66 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 61 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
67 | # define PACR 0xa4050100 | 62 | # define PACR 0xa4050100 |
68 | # define PBCR 0xa4050102 | 63 | # define PBCR 0xa4050102 |
69 | # define SCSCR_INIT(port) 0x3B | 64 | # define SCSCR_INIT(port) 0x3B |
70 | # define SCIF_ONLY | ||
71 | #elif defined(CONFIG_CPU_SUBTYPE_SH7343) | 65 | #elif defined(CONFIG_CPU_SUBTYPE_SH7343) |
72 | # define SCSPTR0 0xffe00010 /* 16 bit SCIF */ | 66 | # define SCSPTR0 0xffe00010 /* 16 bit SCIF */ |
73 | # define SCSPTR1 0xffe10010 /* 16 bit SCIF */ | 67 | # define SCSPTR1 0xffe10010 /* 16 bit SCIF */ |
74 | # define SCSPTR2 0xffe20010 /* 16 bit SCIF */ | 68 | # define SCSPTR2 0xffe20010 /* 16 bit SCIF */ |
75 | # define SCSPTR3 0xffe30010 /* 16 bit SCIF */ | 69 | # define SCSPTR3 0xffe30010 /* 16 bit SCIF */ |
76 | # define SCSCR_INIT(port) 0x32 /* TIE=0,RIE=0,TE=1,RE=1,REIE=0,CKE=1 */ | 70 | # define SCSCR_INIT(port) 0x32 /* TIE=0,RIE=0,TE=1,RE=1,REIE=0,CKE=1 */ |
77 | # define SCIF_ONLY | ||
78 | #elif defined(CONFIG_CPU_SUBTYPE_SH7722) | 71 | #elif defined(CONFIG_CPU_SUBTYPE_SH7722) |
79 | # define PADR 0xA4050120 | 72 | # define PADR 0xA4050120 |
80 | # define PSDR 0xA405013e | 73 | # define PSDR 0xA405013e |
@@ -82,7 +75,6 @@ | |||
82 | # define PSCR 0xA405011E | 75 | # define PSCR 0xA405011E |
83 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 76 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
84 | # define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 77 | # define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
85 | # define SCIF_ONLY | ||
86 | #elif defined(CONFIG_CPU_SUBTYPE_SH7366) | 78 | #elif defined(CONFIG_CPU_SUBTYPE_SH7366) |
87 | # define SCPDR0 0xA405013E /* 16 bit SCIF0 PSDR */ | 79 | # define SCPDR0 0xA405013E /* 16 bit SCIF0 PSDR */ |
88 | # define SCSPTR0 SCPDR0 | 80 | # define SCSPTR0 SCPDR0 |
@@ -97,12 +89,10 @@ | |||
97 | # define SCSPTR5 0xa4050128 | 89 | # define SCSPTR5 0xa4050128 |
98 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 90 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
99 | # define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 91 | # define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
100 | # define SCIF_ONLY | ||
101 | #elif defined(CONFIG_CPU_SUBTYPE_SH4_202) | 92 | #elif defined(CONFIG_CPU_SUBTYPE_SH4_202) |
102 | # define SCSPTR2 0xffe80020 /* 16 bit SCIF */ | 93 | # define SCSPTR2 0xffe80020 /* 16 bit SCIF */ |
103 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 94 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
104 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 95 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
105 | # define SCIF_ONLY | ||
106 | #elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) | 96 | #elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) |
107 | # define SCIF_BASE_ADDR 0x01030000 | 97 | # define SCIF_BASE_ADDR 0x01030000 |
108 | # define SCIF_ADDR_SH5 PHYS_PERIPHERAL_BLOCK+SCIF_BASE_ADDR | 98 | # define SCIF_ADDR_SH5 PHYS_PERIPHERAL_BLOCK+SCIF_BASE_ADDR |
@@ -111,14 +101,11 @@ | |||
111 | # define SCSPTR2 ((port->mapbase)+SCIF_PTR2_OFFS) /* 16 bit SCIF */ | 101 | # define SCSPTR2 ((port->mapbase)+SCIF_PTR2_OFFS) /* 16 bit SCIF */ |
112 | # define SCLSR2 ((port->mapbase)+SCIF_LSR2_OFFS) /* 16 bit SCIF */ | 102 | # define SCLSR2 ((port->mapbase)+SCIF_LSR2_OFFS) /* 16 bit SCIF */ |
113 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0, TE=1,RE=1,REIE=1 */ | 103 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0, TE=1,RE=1,REIE=1 */ |
114 | # define SCIF_ONLY | ||
115 | #elif defined(CONFIG_H83007) || defined(CONFIG_H83068) | 104 | #elif defined(CONFIG_H83007) || defined(CONFIG_H83068) |
116 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ | 105 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ |
117 | # define SCI_ONLY | ||
118 | # define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) | 106 | # define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) |
119 | #elif defined(CONFIG_H8S2678) | 107 | #elif defined(CONFIG_H8S2678) |
120 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ | 108 | # define SCSCR_INIT(port) 0x30 /* TIE=0,RIE=0,TE=1,RE=1 */ |
121 | # define SCI_ONLY | ||
122 | # define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) | 109 | # define H8300_SCI_DR(ch) *(volatile char *)(P1DR + h8300_sci_pins[ch].port) |
123 | #elif defined(CONFIG_CPU_SUBTYPE_SH7763) | 110 | #elif defined(CONFIG_CPU_SUBTYPE_SH7763) |
124 | # define SCSPTR0 0xffe00024 /* 16 bit SCIF */ | 111 | # define SCSPTR0 0xffe00024 /* 16 bit SCIF */ |
@@ -126,20 +113,17 @@ | |||
126 | # define SCSPTR2 0xffe10020 /* 16 bit SCIF/IRDA */ | 113 | # define SCSPTR2 0xffe10020 /* 16 bit SCIF/IRDA */ |
127 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 114 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
128 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 115 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
129 | # define SCIF_ONLY | ||
130 | #elif defined(CONFIG_CPU_SUBTYPE_SH7770) | 116 | #elif defined(CONFIG_CPU_SUBTYPE_SH7770) |
131 | # define SCSPTR0 0xff923020 /* 16 bit SCIF */ | 117 | # define SCSPTR0 0xff923020 /* 16 bit SCIF */ |
132 | # define SCSPTR1 0xff924020 /* 16 bit SCIF */ | 118 | # define SCSPTR1 0xff924020 /* 16 bit SCIF */ |
133 | # define SCSPTR2 0xff925020 /* 16 bit SCIF */ | 119 | # define SCSPTR2 0xff925020 /* 16 bit SCIF */ |
134 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 120 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
135 | # define SCSCR_INIT(port) 0x3c /* TIE=0,RIE=0,TE=1,RE=1,REIE=1,cke=2 */ | 121 | # define SCSCR_INIT(port) 0x3c /* TIE=0,RIE=0,TE=1,RE=1,REIE=1,cke=2 */ |
136 | # define SCIF_ONLY | ||
137 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) | 122 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) |
138 | # define SCSPTR0 0xffe00024 /* 16 bit SCIF */ | 123 | # define SCSPTR0 0xffe00024 /* 16 bit SCIF */ |
139 | # define SCSPTR1 0xffe10024 /* 16 bit SCIF */ | 124 | # define SCSPTR1 0xffe10024 /* 16 bit SCIF */ |
140 | # define SCIF_ORER 0x0001 /* Overrun error bit */ | 125 | # define SCIF_ORER 0x0001 /* Overrun error bit */ |
141 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 126 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
142 | # define SCIF_ONLY | ||
143 | #elif defined(CONFIG_CPU_SUBTYPE_SH7785) | 127 | #elif defined(CONFIG_CPU_SUBTYPE_SH7785) |
144 | # define SCSPTR0 0xffea0024 /* 16 bit SCIF */ | 128 | # define SCSPTR0 0xffea0024 /* 16 bit SCIF */ |
145 | # define SCSPTR1 0xffeb0024 /* 16 bit SCIF */ | 129 | # define SCSPTR1 0xffeb0024 /* 16 bit SCIF */ |
@@ -149,7 +133,6 @@ | |||
149 | # define SCSPTR5 0xffef0024 /* 16 bit SCIF */ | 133 | # define SCSPTR5 0xffef0024 /* 16 bit SCIF */ |
150 | # define SCIF_OPER 0x0001 /* Overrun error bit */ | 134 | # define SCIF_OPER 0x0001 /* Overrun error bit */ |
151 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 135 | # define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
152 | # define SCIF_ONLY | ||
153 | #elif defined(CONFIG_CPU_SUBTYPE_SH7203) || \ | 136 | #elif defined(CONFIG_CPU_SUBTYPE_SH7203) || \ |
154 | defined(CONFIG_CPU_SUBTYPE_SH7206) || \ | 137 | defined(CONFIG_CPU_SUBTYPE_SH7206) || \ |
155 | defined(CONFIG_CPU_SUBTYPE_SH7263) | 138 | defined(CONFIG_CPU_SUBTYPE_SH7263) |
@@ -158,14 +141,12 @@ | |||
158 | # define SCSPTR2 0xfffe9020 /* 16 bit SCIF */ | 141 | # define SCSPTR2 0xfffe9020 /* 16 bit SCIF */ |
159 | # define SCSPTR3 0xfffe9820 /* 16 bit SCIF */ | 142 | # define SCSPTR3 0xfffe9820 /* 16 bit SCIF */ |
160 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 143 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
161 | # define SCIF_ONLY | ||
162 | #elif defined(CONFIG_CPU_SUBTYPE_SH7619) | 144 | #elif defined(CONFIG_CPU_SUBTYPE_SH7619) |
163 | # define SCSPTR0 0xf8400020 /* 16 bit SCIF */ | 145 | # define SCSPTR0 0xf8400020 /* 16 bit SCIF */ |
164 | # define SCSPTR1 0xf8410020 /* 16 bit SCIF */ | 146 | # define SCSPTR1 0xf8410020 /* 16 bit SCIF */ |
165 | # define SCSPTR2 0xf8420020 /* 16 bit SCIF */ | 147 | # define SCSPTR2 0xf8420020 /* 16 bit SCIF */ |
166 | # define SCIF_ORER 0x0001 /* overrun error bit */ | 148 | # define SCIF_ORER 0x0001 /* overrun error bit */ |
167 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 149 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
168 | # define SCIF_ONLY | ||
169 | #elif defined(CONFIG_CPU_SUBTYPE_SHX3) | 150 | #elif defined(CONFIG_CPU_SUBTYPE_SHX3) |
170 | # define SCSPTR0 0xffc30020 /* 16 bit SCIF */ | 151 | # define SCSPTR0 0xffc30020 /* 16 bit SCIF */ |
171 | # define SCSPTR1 0xffc40020 /* 16 bit SCIF */ | 152 | # define SCSPTR1 0xffc40020 /* 16 bit SCIF */ |
@@ -173,7 +154,6 @@ | |||
173 | # define SCSPTR3 0xffc60020 /* 16 bit SCIF */ | 154 | # define SCSPTR3 0xffc60020 /* 16 bit SCIF */ |
174 | # define SCIF_ORER 0x0001 /* Overrun error bit */ | 155 | # define SCIF_ORER 0x0001 /* Overrun error bit */ |
175 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ | 156 | # define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */ |
176 | # define SCIF_ONLY | ||
177 | #else | 157 | #else |
178 | # error CPU subtype not defined | 158 | # error CPU subtype not defined |
179 | #endif | 159 | #endif |
@@ -186,6 +166,7 @@ | |||
186 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || \ | 166 | #if defined(CONFIG_CPU_SUBTYPE_SH7750) || \ |
187 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ | 167 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ |
188 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | 168 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
169 | defined(CONFIG_CPU_SUBTYPE_SH7722) || \ | ||
189 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ | 170 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ |
190 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ | 171 | defined(CONFIG_CPU_SUBTYPE_SH7751) || \ |
191 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ | 172 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ |
@@ -244,55 +225,28 @@ | |||
244 | # define SCIF_TXROOM_MAX 16 | 225 | # define SCIF_TXROOM_MAX 16 |
245 | #endif | 226 | #endif |
246 | 227 | ||
247 | #if defined(SCI_ONLY) | 228 | #define SCxSR_TEND(port) (((port)->type == PORT_SCI) ? SCI_TEND : SCIF_TEND) |
248 | # define SCxSR_TEND(port) SCI_TEND | 229 | #define SCxSR_ERRORS(port) (((port)->type == PORT_SCI) ? SCI_ERRORS : SCIF_ERRORS) |
249 | # define SCxSR_ERRORS(port) SCI_ERRORS | 230 | #define SCxSR_RDxF(port) (((port)->type == PORT_SCI) ? SCI_RDRF : SCIF_RDF) |
250 | # define SCxSR_RDxF(port) SCI_RDRF | 231 | #define SCxSR_TDxE(port) (((port)->type == PORT_SCI) ? SCI_TDRE : SCIF_TDFE) |
251 | # define SCxSR_TDxE(port) SCI_TDRE | 232 | #define SCxSR_FER(port) (((port)->type == PORT_SCI) ? SCI_FER : SCIF_FER) |
252 | # define SCxSR_ORER(port) SCI_ORER | 233 | #define SCxSR_PER(port) (((port)->type == PORT_SCI) ? SCI_PER : SCIF_PER) |
253 | # define SCxSR_FER(port) SCI_FER | 234 | #define SCxSR_BRK(port) (((port)->type == PORT_SCI) ? 0x00 : SCIF_BRK) |
254 | # define SCxSR_PER(port) SCI_PER | 235 | |
255 | # define SCxSR_BRK(port) 0x00 | ||
256 | # define SCxSR_RDxF_CLEAR(port) 0xbc | ||
257 | # define SCxSR_ERROR_CLEAR(port) 0xc4 | ||
258 | # define SCxSR_TDxE_CLEAR(port) 0x78 | ||
259 | # define SCxSR_BREAK_CLEAR(port) 0xc4 | ||
260 | #elif defined(SCIF_ONLY) | ||
261 | # define SCxSR_TEND(port) SCIF_TEND | ||
262 | # define SCxSR_ERRORS(port) SCIF_ERRORS | ||
263 | # define SCxSR_RDxF(port) SCIF_RDF | ||
264 | # define SCxSR_TDxE(port) SCIF_TDFE | ||
265 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) | 236 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) |
266 | # define SCxSR_ORER(port) SCIF_ORER | 237 | # define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : SCIF_ORER) |
267 | #else | 238 | #else |
268 | # define SCxSR_ORER(port) 0x0000 | 239 | # define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : 0x0000) |
269 | #endif | 240 | #endif |
270 | # define SCxSR_FER(port) SCIF_FER | 241 | |
271 | # define SCxSR_PER(port) SCIF_PER | ||
272 | # define SCxSR_BRK(port) SCIF_BRK | ||
273 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) || \ | 242 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) || \ |
274 | defined(CONFIG_CPU_SUBTYPE_SH7720) || \ | 243 | defined(CONFIG_CPU_SUBTYPE_SH7720) || \ |
275 | defined(CONFIG_CPU_SUBTYPE_SH7721) | 244 | defined(CONFIG_CPU_SUBTYPE_SH7721) |
276 | # define SCxSR_RDxF_CLEAR(port) (sci_in(port,SCxSR)&0xfffc) | 245 | # define SCxSR_RDxF_CLEAR(port) (sci_in(port, SCxSR) & 0xfffc) |
277 | # define SCxSR_ERROR_CLEAR(port) (sci_in(port,SCxSR)&0xfd73) | 246 | # define SCxSR_ERROR_CLEAR(port) (sci_in(port, SCxSR) & 0xfd73) |
278 | # define SCxSR_TDxE_CLEAR(port) (sci_in(port,SCxSR)&0xffdf) | 247 | # define SCxSR_TDxE_CLEAR(port) (sci_in(port, SCxSR) & 0xffdf) |
279 | # define SCxSR_BREAK_CLEAR(port) (sci_in(port,SCxSR)&0xffe3) | 248 | # define SCxSR_BREAK_CLEAR(port) (sci_in(port, SCxSR) & 0xffe3) |
280 | #else | ||
281 | /* SH7705 can also use this, clearing is same between 7705 and 7709 */ | ||
282 | # define SCxSR_RDxF_CLEAR(port) 0x00fc | ||
283 | # define SCxSR_ERROR_CLEAR(port) 0x0073 | ||
284 | # define SCxSR_TDxE_CLEAR(port) 0x00df | ||
285 | # define SCxSR_BREAK_CLEAR(port) 0x00e3 | ||
286 | #endif | ||
287 | #else | 249 | #else |
288 | # define SCxSR_TEND(port) (((port)->type == PORT_SCI) ? SCI_TEND : SCIF_TEND) | ||
289 | # define SCxSR_ERRORS(port) (((port)->type == PORT_SCI) ? SCI_ERRORS : SCIF_ERRORS) | ||
290 | # define SCxSR_RDxF(port) (((port)->type == PORT_SCI) ? SCI_RDRF : SCIF_RDF) | ||
291 | # define SCxSR_TDxE(port) (((port)->type == PORT_SCI) ? SCI_TDRE : SCIF_TDFE) | ||
292 | # define SCxSR_ORER(port) (((port)->type == PORT_SCI) ? SCI_ORER : 0x0000) | ||
293 | # define SCxSR_FER(port) (((port)->type == PORT_SCI) ? SCI_FER : SCIF_FER) | ||
294 | # define SCxSR_PER(port) (((port)->type == PORT_SCI) ? SCI_PER : SCIF_PER) | ||
295 | # define SCxSR_BRK(port) (((port)->type == PORT_SCI) ? 0x00 : SCIF_BRK) | ||
296 | # define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc) | 250 | # define SCxSR_RDxF_CLEAR(port) (((port)->type == PORT_SCI) ? 0xbc : 0x00fc) |
297 | # define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073) | 251 | # define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073) |
298 | # define SCxSR_TDxE_CLEAR(port) (((port)->type == PORT_SCI) ? 0x78 : 0x00df) | 252 | # define SCxSR_TDxE_CLEAR(port) (((port)->type == PORT_SCI) ? 0x78 : 0x00df) |
@@ -574,18 +528,20 @@ static inline int sci_rxd_in(struct uart_port *port) | |||
574 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ | 528 | defined(CONFIG_CPU_SUBTYPE_SH7751R) || \ |
575 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ | 529 | defined(CONFIG_CPU_SUBTYPE_SH7750R) || \ |
576 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ | 530 | defined(CONFIG_CPU_SUBTYPE_SH7750S) || \ |
577 | defined(CONFIG_CPU_SUBTYPE_SH7091) || \ | 531 | defined(CONFIG_CPU_SUBTYPE_SH7091) |
578 | defined(CONFIG_CPU_SUBTYPE_SH4_202) | ||
579 | static inline int sci_rxd_in(struct uart_port *port) | 532 | static inline int sci_rxd_in(struct uart_port *port) |
580 | { | 533 | { |
581 | #ifndef SCIF_ONLY | ||
582 | if (port->mapbase == 0xffe00000) | 534 | if (port->mapbase == 0xffe00000) |
583 | return ctrl_inb(SCSPTR1)&0x01 ? 1 : 0; /* SCI */ | 535 | return ctrl_inb(SCSPTR1)&0x01 ? 1 : 0; /* SCI */ |
584 | #endif | ||
585 | #ifndef SCI_ONLY | ||
586 | if (port->mapbase == 0xffe80000) | 536 | if (port->mapbase == 0xffe80000) |
587 | return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */ | 537 | return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */ |
588 | #endif | 538 | return 1; |
539 | } | ||
540 | #elif defined(CONFIG_CPU_SUBTYPE_SH4_202) | ||
541 | static inline int sci_rxd_in(struct uart_port *port) | ||
542 | { | ||
543 | if (port->mapbase == 0xffe80000) | ||
544 | return ctrl_inw(SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */ | ||
589 | return 1; | 545 | return 1; |
590 | } | 546 | } |
591 | #elif defined(CONFIG_CPU_SUBTYPE_SH7760) | 547 | #elif defined(CONFIG_CPU_SUBTYPE_SH7760) |
@@ -651,7 +607,7 @@ static inline int sci_rxd_in(struct uart_port *port) | |||
651 | #elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) | 607 | #elif defined(CONFIG_CPU_SUBTYPE_SH5_101) || defined(CONFIG_CPU_SUBTYPE_SH5_103) |
652 | static inline int sci_rxd_in(struct uart_port *port) | 608 | static inline int sci_rxd_in(struct uart_port *port) |
653 | { | 609 | { |
654 | return sci_in(port, SCSPTR)&0x0001 ? 1 : 0; /* SCIF */ | 610 | return sci_in(port, SCSPTR2)&0x0001 ? 1 : 0; /* SCIF */ |
655 | } | 611 | } |
656 | #elif defined(__H8300H__) || defined(__H8300S__) | 612 | #elif defined(__H8300H__) || defined(__H8300S__) |
657 | static inline int sci_rxd_in(struct uart_port *port) | 613 | static inline int sci_rxd_in(struct uart_port *port) |
diff --git a/drivers/staging/echo/echo.c b/drivers/staging/echo/echo.c index b8f2c5e9dee5..fd4007e329e7 100644 --- a/drivers/staging/echo/echo.c +++ b/drivers/staging/echo/echo.c | |||
@@ -106,7 +106,6 @@ | |||
106 | 106 | ||
107 | #include <linux/kernel.h> /* We're doing kernel work */ | 107 | #include <linux/kernel.h> /* We're doing kernel work */ |
108 | #include <linux/module.h> | 108 | #include <linux/module.h> |
109 | #include <linux/kernel.h> | ||
110 | #include <linux/slab.h> | 109 | #include <linux/slab.h> |
111 | 110 | ||
112 | #include "bit_operations.h" | 111 | #include "bit_operations.h" |
diff --git a/drivers/staging/me4000/me4000.c b/drivers/staging/me4000/me4000.c index 0b33773bb4f6..0394e2709278 100644 --- a/drivers/staging/me4000/me4000.c +++ b/drivers/staging/me4000/me4000.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | #include <asm/system.h> | 41 | #include <asm/system.h> |
42 | #include <asm/uaccess.h> | ||
43 | 42 | ||
44 | /* Include-File for the Meilhaus ME-4000 I/O board */ | 43 | /* Include-File for the Meilhaus ME-4000 I/O board */ |
45 | #include "me4000.h" | 44 | #include "me4000.h" |
@@ -1633,9 +1632,6 @@ static int me4000_release(struct inode *inode_p, struct file *file_p) | |||
1633 | 1632 | ||
1634 | free_irq(ext_int_context->irq, ext_int_context); | 1633 | free_irq(ext_int_context->irq, ext_int_context); |
1635 | 1634 | ||
1636 | /* Delete the fasync structure and free memory */ | ||
1637 | me4000_ext_int_fasync(0, file_p, 0); | ||
1638 | |||
1639 | /* Mark as unused */ | 1635 | /* Mark as unused */ |
1640 | ext_int_context->in_use = 0; | 1636 | ext_int_context->in_use = 0; |
1641 | } else { | 1637 | } else { |
diff --git a/drivers/telephony/ixj.c b/drivers/telephony/ixj.c index 41b6530b8f25..a913efc69669 100644 --- a/drivers/telephony/ixj.c +++ b/drivers/telephony/ixj.c | |||
@@ -2328,7 +2328,6 @@ static int ixj_release(struct inode *inode, struct file *file_p) | |||
2328 | j->rec_codec = j->play_codec = 0; | 2328 | j->rec_codec = j->play_codec = 0; |
2329 | j->rec_frame_size = j->play_frame_size = 0; | 2329 | j->rec_frame_size = j->play_frame_size = 0; |
2330 | j->flags.cidsent = j->flags.cidring = 0; | 2330 | j->flags.cidsent = j->flags.cidring = 0; |
2331 | ixj_fasync(-1, file_p, 0); /* remove from list of async notification */ | ||
2332 | 2331 | ||
2333 | if(j->cardtype == QTI_LINEJACK && !j->readers && !j->writers) { | 2332 | if(j->cardtype == QTI_LINEJACK && !j->readers && !j->writers) { |
2334 | ixj_set_port(j, PORT_PSTN); | 2333 | ixj_set_port(j, PORT_PSTN); |
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index f9b4647255aa..2d2440cd57a9 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c | |||
@@ -367,9 +367,6 @@ static int uio_release(struct inode *inode, struct file *filep) | |||
367 | ret = idev->info->release(idev->info, inode); | 367 | ret = idev->info->release(idev->info, inode); |
368 | 368 | ||
369 | module_put(idev->owner); | 369 | module_put(idev->owner); |
370 | |||
371 | if (filep->f_flags & FASYNC) | ||
372 | ret = uio_fasync(-1, filep, 0); | ||
373 | kfree(listener); | 370 | kfree(listener); |
374 | return ret; | 371 | return ret; |
375 | } | 372 | } |
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c index f4585d3e90d7..eeb26c0f88e5 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c | |||
@@ -1251,7 +1251,6 @@ dev_release (struct inode *inode, struct file *fd) | |||
1251 | * alternatively, all host requests will time out. | 1251 | * alternatively, all host requests will time out. |
1252 | */ | 1252 | */ |
1253 | 1253 | ||
1254 | fasync_helper (-1, fd, 0, &dev->fasync); | ||
1255 | kfree (dev->buf); | 1254 | kfree (dev->buf); |
1256 | dev->buf = NULL; | 1255 | dev->buf = NULL; |
1257 | put_dev (dev); | 1256 | put_dev (dev); |
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 0f13448c6f79..3f3ce13fef43 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -2083,6 +2083,38 @@ config FB_METRONOME | |||
2083 | controller. The pre-release name for this device was 8track | 2083 | controller. The pre-release name for this device was 8track |
2084 | and could also have been called by some vendors as PVI-nnnn. | 2084 | and could also have been called by some vendors as PVI-nnnn. |
2085 | 2085 | ||
2086 | config FB_MB862XX | ||
2087 | tristate "Fujitsu MB862xx GDC support" | ||
2088 | depends on FB | ||
2089 | select FB_CFB_FILLRECT | ||
2090 | select FB_CFB_COPYAREA | ||
2091 | select FB_CFB_IMAGEBLIT | ||
2092 | ---help--- | ||
2093 | Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers. | ||
2094 | |||
2095 | config FB_MB862XX_PCI_GDC | ||
2096 | bool "Carmine/Coral-P(A) GDC" | ||
2097 | depends on PCI && FB_MB862XX | ||
2098 | ---help--- | ||
2099 | This enables framebuffer support for Fujitsu Carmine/Coral-P(A) | ||
2100 | PCI graphics controller devices. | ||
2101 | |||
2102 | config FB_MB862XX_LIME | ||
2103 | bool "Lime GDC" | ||
2104 | depends on FB_MB862XX | ||
2105 | depends on OF && !FB_MB862XX_PCI_GDC | ||
2106 | select FB_FOREIGN_ENDIAN | ||
2107 | select FB_LITTLE_ENDIAN | ||
2108 | ---help--- | ||
2109 | Framebuffer support for Fujitsu Lime GDC on host CPU bus. | ||
2110 | |||
2111 | config FB_PRE_INIT_FB | ||
2112 | bool "Don't reinitialize, use bootloader's GDC/Display configuration" | ||
2113 | depends on FB_MB862XX_LIME | ||
2114 | ---help--- | ||
2115 | Select this option if display contents should be inherited as set by | ||
2116 | the bootloader. | ||
2117 | |||
2086 | source "drivers/video/omap/Kconfig" | 2118 | source "drivers/video/omap/Kconfig" |
2087 | 2119 | ||
2088 | source "drivers/video/backlight/Kconfig" | 2120 | source "drivers/video/backlight/Kconfig" |
diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 248bddc8d0b0..e39e33e797da 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile | |||
@@ -122,6 +122,7 @@ obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o | |||
122 | obj-$(CONFIG_FB_OMAP) += omap/ | 122 | obj-$(CONFIG_FB_OMAP) += omap/ |
123 | obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o | 123 | obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o |
124 | obj-$(CONFIG_FB_CARMINE) += carminefb.o | 124 | obj-$(CONFIG_FB_CARMINE) += carminefb.o |
125 | obj-$(CONFIG_FB_MB862XX) += mb862xx/ | ||
125 | 126 | ||
126 | # Platform or fallback drivers go here | 127 | # Platform or fallback drivers go here |
127 | obj-$(CONFIG_FB_UVESA) += uvesafb.o | 128 | obj-$(CONFIG_FB_UVESA) += uvesafb.o |
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c index 048b139f0e50..8a8760230bc7 100644 --- a/drivers/video/cirrusfb.c +++ b/drivers/video/cirrusfb.c | |||
@@ -2049,7 +2049,7 @@ static void cirrusfb_pci_unmap(struct fb_info *info) | |||
2049 | #endif /* CONFIG_PCI */ | 2049 | #endif /* CONFIG_PCI */ |
2050 | 2050 | ||
2051 | #ifdef CONFIG_ZORRO | 2051 | #ifdef CONFIG_ZORRO |
2052 | static void __devexit cirrusfb_zorro_unmap(struct fb_info *info) | 2052 | static void cirrusfb_zorro_unmap(struct fb_info *info) |
2053 | { | 2053 | { |
2054 | struct cirrusfb_info *cinfo = info->par; | 2054 | struct cirrusfb_info *cinfo = info->par; |
2055 | struct zorro_dev *zdev = to_zorro_dev(info->device); | 2055 | struct zorro_dev *zdev = to_zorro_dev(info->device); |
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 6048b55f2878..1d5ae39cb271 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c | |||
@@ -1002,13 +1002,9 @@ fb_blank(struct fb_info *info, int blank) | |||
1002 | return ret; | 1002 | return ret; |
1003 | } | 1003 | } |
1004 | 1004 | ||
1005 | static long | 1005 | static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, |
1006 | fb_ioctl(struct file *file, unsigned int cmd, | 1006 | unsigned long arg) |
1007 | unsigned long arg) | ||
1008 | { | 1007 | { |
1009 | struct inode *inode = file->f_path.dentry->d_inode; | ||
1010 | int fbidx = iminor(inode); | ||
1011 | struct fb_info *info; | ||
1012 | struct fb_ops *fb; | 1008 | struct fb_ops *fb; |
1013 | struct fb_var_screeninfo var; | 1009 | struct fb_var_screeninfo var; |
1014 | struct fb_fix_screeninfo fix; | 1010 | struct fb_fix_screeninfo fix; |
@@ -1018,14 +1014,10 @@ fb_ioctl(struct file *file, unsigned int cmd, | |||
1018 | void __user *argp = (void __user *)arg; | 1014 | void __user *argp = (void __user *)arg; |
1019 | long ret = 0; | 1015 | long ret = 0; |
1020 | 1016 | ||
1021 | info = registered_fb[fbidx]; | ||
1022 | mutex_lock(&info->lock); | ||
1023 | fb = info->fbops; | 1017 | fb = info->fbops; |
1024 | 1018 | if (!fb) | |
1025 | if (!fb) { | ||
1026 | mutex_unlock(&info->lock); | ||
1027 | return -ENODEV; | 1019 | return -ENODEV; |
1028 | } | 1020 | |
1029 | switch (cmd) { | 1021 | switch (cmd) { |
1030 | case FBIOGET_VSCREENINFO: | 1022 | case FBIOGET_VSCREENINFO: |
1031 | ret = copy_to_user(argp, &info->var, | 1023 | ret = copy_to_user(argp, &info->var, |
@@ -1126,6 +1118,21 @@ fb_ioctl(struct file *file, unsigned int cmd, | |||
1126 | else | 1118 | else |
1127 | ret = fb->fb_ioctl(info, cmd, arg); | 1119 | ret = fb->fb_ioctl(info, cmd, arg); |
1128 | } | 1120 | } |
1121 | return ret; | ||
1122 | } | ||
1123 | |||
1124 | static long fb_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | ||
1125 | __acquires(&info->lock) | ||
1126 | __releases(&info->lock) | ||
1127 | { | ||
1128 | struct inode *inode = file->f_path.dentry->d_inode; | ||
1129 | int fbidx = iminor(inode); | ||
1130 | struct fb_info *info; | ||
1131 | long ret; | ||
1132 | |||
1133 | info = registered_fb[fbidx]; | ||
1134 | mutex_lock(&info->lock); | ||
1135 | ret = do_fb_ioctl(info, cmd, arg); | ||
1129 | mutex_unlock(&info->lock); | 1136 | mutex_unlock(&info->lock); |
1130 | return ret; | 1137 | return ret; |
1131 | } | 1138 | } |
@@ -1157,8 +1164,8 @@ struct fb_cmap32 { | |||
1157 | compat_caddr_t transp; | 1164 | compat_caddr_t transp; |
1158 | }; | 1165 | }; |
1159 | 1166 | ||
1160 | static int fb_getput_cmap(struct inode *inode, struct file *file, | 1167 | static int fb_getput_cmap(struct fb_info *info, unsigned int cmd, |
1161 | unsigned int cmd, unsigned long arg) | 1168 | unsigned long arg) |
1162 | { | 1169 | { |
1163 | struct fb_cmap_user __user *cmap; | 1170 | struct fb_cmap_user __user *cmap; |
1164 | struct fb_cmap32 __user *cmap32; | 1171 | struct fb_cmap32 __user *cmap32; |
@@ -1181,7 +1188,7 @@ static int fb_getput_cmap(struct inode *inode, struct file *file, | |||
1181 | put_user(compat_ptr(data), &cmap->transp)) | 1188 | put_user(compat_ptr(data), &cmap->transp)) |
1182 | return -EFAULT; | 1189 | return -EFAULT; |
1183 | 1190 | ||
1184 | err = fb_ioctl(file, cmd, (unsigned long) cmap); | 1191 | err = do_fb_ioctl(info, cmd, (unsigned long) cmap); |
1185 | 1192 | ||
1186 | if (!err) { | 1193 | if (!err) { |
1187 | if (copy_in_user(&cmap32->start, | 1194 | if (copy_in_user(&cmap32->start, |
@@ -1223,8 +1230,8 @@ static int do_fscreeninfo_to_user(struct fb_fix_screeninfo *fix, | |||
1223 | return err; | 1230 | return err; |
1224 | } | 1231 | } |
1225 | 1232 | ||
1226 | static int fb_get_fscreeninfo(struct inode *inode, struct file *file, | 1233 | static int fb_get_fscreeninfo(struct fb_info *info, unsigned int cmd, |
1227 | unsigned int cmd, unsigned long arg) | 1234 | unsigned long arg) |
1228 | { | 1235 | { |
1229 | mm_segment_t old_fs; | 1236 | mm_segment_t old_fs; |
1230 | struct fb_fix_screeninfo fix; | 1237 | struct fb_fix_screeninfo fix; |
@@ -1235,7 +1242,7 @@ static int fb_get_fscreeninfo(struct inode *inode, struct file *file, | |||
1235 | 1242 | ||
1236 | old_fs = get_fs(); | 1243 | old_fs = get_fs(); |
1237 | set_fs(KERNEL_DS); | 1244 | set_fs(KERNEL_DS); |
1238 | err = fb_ioctl(file, cmd, (unsigned long) &fix); | 1245 | err = do_fb_ioctl(info, cmd, (unsigned long) &fix); |
1239 | set_fs(old_fs); | 1246 | set_fs(old_fs); |
1240 | 1247 | ||
1241 | if (!err) | 1248 | if (!err) |
@@ -1244,8 +1251,10 @@ static int fb_get_fscreeninfo(struct inode *inode, struct file *file, | |||
1244 | return err; | 1251 | return err; |
1245 | } | 1252 | } |
1246 | 1253 | ||
1247 | static long | 1254 | static long fb_compat_ioctl(struct file *file, unsigned int cmd, |
1248 | fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | 1255 | unsigned long arg) |
1256 | __acquires(&info->lock) | ||
1257 | __releases(&info->lock) | ||
1249 | { | 1258 | { |
1250 | struct inode *inode = file->f_path.dentry->d_inode; | 1259 | struct inode *inode = file->f_path.dentry->d_inode; |
1251 | int fbidx = iminor(inode); | 1260 | int fbidx = iminor(inode); |
@@ -1262,16 +1271,16 @@ fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | |||
1262 | case FBIOPUT_CON2FBMAP: | 1271 | case FBIOPUT_CON2FBMAP: |
1263 | arg = (unsigned long) compat_ptr(arg); | 1272 | arg = (unsigned long) compat_ptr(arg); |
1264 | case FBIOBLANK: | 1273 | case FBIOBLANK: |
1265 | mutex_unlock(&info->lock); | 1274 | ret = do_fb_ioctl(info, cmd, arg); |
1266 | return fb_ioctl(file, cmd, arg); | 1275 | break; |
1267 | 1276 | ||
1268 | case FBIOGET_FSCREENINFO: | 1277 | case FBIOGET_FSCREENINFO: |
1269 | ret = fb_get_fscreeninfo(inode, file, cmd, arg); | 1278 | ret = fb_get_fscreeninfo(info, cmd, arg); |
1270 | break; | 1279 | break; |
1271 | 1280 | ||
1272 | case FBIOGETCMAP: | 1281 | case FBIOGETCMAP: |
1273 | case FBIOPUTCMAP: | 1282 | case FBIOPUTCMAP: |
1274 | ret = fb_getput_cmap(inode, file, cmd, arg); | 1283 | ret = fb_getput_cmap(info, cmd, arg); |
1275 | break; | 1284 | break; |
1276 | 1285 | ||
1277 | default: | 1286 | default: |
@@ -1286,6 +1295,8 @@ fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | |||
1286 | 1295 | ||
1287 | static int | 1296 | static int |
1288 | fb_mmap(struct file *file, struct vm_area_struct * vma) | 1297 | fb_mmap(struct file *file, struct vm_area_struct * vma) |
1298 | __acquires(&info->lock) | ||
1299 | __releases(&info->lock) | ||
1289 | { | 1300 | { |
1290 | int fbidx = iminor(file->f_path.dentry->d_inode); | 1301 | int fbidx = iminor(file->f_path.dentry->d_inode); |
1291 | struct fb_info *info = registered_fb[fbidx]; | 1302 | struct fb_info *info = registered_fb[fbidx]; |
@@ -1339,6 +1350,8 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) | |||
1339 | 1350 | ||
1340 | static int | 1351 | static int |
1341 | fb_open(struct inode *inode, struct file *file) | 1352 | fb_open(struct inode *inode, struct file *file) |
1353 | __acquires(&info->lock) | ||
1354 | __releases(&info->lock) | ||
1342 | { | 1355 | { |
1343 | int fbidx = iminor(inode); | 1356 | int fbidx = iminor(inode); |
1344 | struct fb_info *info; | 1357 | struct fb_info *info; |
@@ -1374,6 +1387,8 @@ out: | |||
1374 | 1387 | ||
1375 | static int | 1388 | static int |
1376 | fb_release(struct inode *inode, struct file *file) | 1389 | fb_release(struct inode *inode, struct file *file) |
1390 | __acquires(&info->lock) | ||
1391 | __releases(&info->lock) | ||
1377 | { | 1392 | { |
1378 | struct fb_info * const info = file->private_data; | 1393 | struct fb_info * const info = file->private_data; |
1379 | 1394 | ||
diff --git a/drivers/video/mb862xx/Makefile b/drivers/video/mb862xx/Makefile new file mode 100644 index 000000000000..07664814bb1d --- /dev/null +++ b/drivers/video/mb862xx/Makefile | |||
@@ -0,0 +1,5 @@ | |||
1 | # | ||
2 | # Makefile for the MB862xx framebuffer driver | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_FB_MB862XX) := mb862xxfb.o | ||
diff --git a/drivers/video/mb862xx/mb862xx_reg.h b/drivers/video/mb862xx/mb862xx_reg.h new file mode 100644 index 000000000000..2ba65e118500 --- /dev/null +++ b/drivers/video/mb862xx/mb862xx_reg.h | |||
@@ -0,0 +1,138 @@ | |||
1 | /* | ||
2 | * Fujitsu MB862xx Graphics Controller Registers/Bits | ||
3 | */ | ||
4 | |||
5 | #ifndef _MB862XX_REG_H | ||
6 | #define _MB862XX_REG_H | ||
7 | |||
8 | #ifdef MB862XX_MMIO_BOTTOM | ||
9 | #define MB862XX_MMIO_BASE 0x03fc0000 | ||
10 | #else | ||
11 | #define MB862XX_MMIO_BASE 0x01fc0000 | ||
12 | #endif | ||
13 | #define MB862XX_I2C_BASE 0x0000c000 | ||
14 | #define MB862XX_DISP_BASE 0x00010000 | ||
15 | #define MB862XX_CAP_BASE 0x00018000 | ||
16 | #define MB862XX_DRAW_BASE 0x00030000 | ||
17 | #define MB862XX_GEO_BASE 0x00038000 | ||
18 | #define MB862XX_PIO_BASE 0x00038000 | ||
19 | #define MB862XX_MMIO_SIZE 0x40000 | ||
20 | |||
21 | /* Host interface/pio registers */ | ||
22 | #define GC_IST 0x00000020 | ||
23 | #define GC_IMASK 0x00000024 | ||
24 | #define GC_SRST 0x0000002c | ||
25 | #define GC_CCF 0x00000038 | ||
26 | #define GC_CID 0x000000f0 | ||
27 | #define GC_REVISION 0x00000084 | ||
28 | |||
29 | #define GC_CCF_CGE_100 0x00000000 | ||
30 | #define GC_CCF_CGE_133 0x00040000 | ||
31 | #define GC_CCF_CGE_166 0x00080000 | ||
32 | #define GC_CCF_COT_100 0x00000000 | ||
33 | #define GC_CCF_COT_133 0x00010000 | ||
34 | #define GC_CID_CNAME_MSK 0x0000ff00 | ||
35 | #define GC_CID_VERSION_MSK 0x000000ff | ||
36 | |||
37 | /* define enabled interrupts hereby */ | ||
38 | #define GC_INT_EN 0x00000000 | ||
39 | |||
40 | /* Memory interface mode register */ | ||
41 | #define GC_MMR 0x0000fffc | ||
42 | |||
43 | /* Display Controller registers */ | ||
44 | #define GC_DCM0 0x00000000 | ||
45 | #define GC_HTP 0x00000004 | ||
46 | #define GC_HDB_HDP 0x00000008 | ||
47 | #define GC_VSW_HSW_HSP 0x0000000c | ||
48 | #define GC_VTR 0x00000010 | ||
49 | #define GC_VDP_VSP 0x00000014 | ||
50 | #define GC_WY_WX 0x00000018 | ||
51 | #define GC_WH_WW 0x0000001c | ||
52 | #define GC_L0M 0x00000020 | ||
53 | #define GC_L0OA0 0x00000024 | ||
54 | #define GC_L0DA0 0x00000028 | ||
55 | #define GC_L0DY_L0DX 0x0000002c | ||
56 | #define GC_DCM1 0x00000100 | ||
57 | #define GC_L0EM 0x00000110 | ||
58 | #define GC_L0WY_L0WX 0x00000114 | ||
59 | #define GC_L0WH_L0WW 0x00000118 | ||
60 | #define GC_DCM2 0x00000104 | ||
61 | #define GC_DCM3 0x00000108 | ||
62 | #define GC_CPM_CUTC 0x000000a0 | ||
63 | #define GC_CUOA0 0x000000a4 | ||
64 | #define GC_CUY0_CUX0 0x000000a8 | ||
65 | #define GC_CUOA1 0x000000ac | ||
66 | #define GC_CUY1_CUX1 0x000000b0 | ||
67 | #define GC_L0PAL0 0x00000400 | ||
68 | |||
69 | #define GC_CPM_CEN0 0x00100000 | ||
70 | #define GC_CPM_CEN1 0x00200000 | ||
71 | |||
72 | #define GC_DCM01_ESY 0x00000004 | ||
73 | #define GC_DCM01_SC 0x00003f00 | ||
74 | #define GC_DCM01_RESV 0x00004000 | ||
75 | #define GC_DCM01_CKS 0x00008000 | ||
76 | #define GC_DCM01_L0E 0x00010000 | ||
77 | #define GC_DCM01_DEN 0x80000000 | ||
78 | #define GC_L0M_L0C_8 0x00000000 | ||
79 | #define GC_L0M_L0C_16 0x80000000 | ||
80 | #define GC_L0EM_L0EC_24 0x40000000 | ||
81 | #define GC_L0M_L0W_UNIT 64 | ||
82 | |||
83 | #define GC_DISP_REFCLK_400 400 | ||
84 | |||
85 | /* Carmine specific */ | ||
86 | #define MB86297_DRAW_BASE 0x00020000 | ||
87 | #define MB86297_DISP0_BASE 0x00100000 | ||
88 | #define MB86297_DISP1_BASE 0x00140000 | ||
89 | #define MB86297_WRBACK_BASE 0x00180000 | ||
90 | #define MB86297_CAP0_BASE 0x00200000 | ||
91 | #define MB86297_CAP1_BASE 0x00280000 | ||
92 | #define MB86297_DRAMCTRL_BASE 0x00300000 | ||
93 | #define MB86297_CTRL_BASE 0x00400000 | ||
94 | #define MB86297_I2C_BASE 0x00500000 | ||
95 | |||
96 | #define GC_CTRL_STATUS 0x00000000 | ||
97 | #define GC_CTRL_INT_MASK 0x00000004 | ||
98 | #define GC_CTRL_CLK_ENABLE 0x0000000c | ||
99 | #define GC_CTRL_SOFT_RST 0x00000010 | ||
100 | |||
101 | #define GC_CTRL_CLK_EN_DRAM 0x00000001 | ||
102 | #define GC_CTRL_CLK_EN_2D3D 0x00000002 | ||
103 | #define GC_CTRL_CLK_EN_DISP0 0x00000020 | ||
104 | #define GC_CTRL_CLK_EN_DISP1 0x00000040 | ||
105 | |||
106 | #define GC_2D3D_REV 0x000004b4 | ||
107 | #define GC_RE_REVISION 0x24240200 | ||
108 | |||
109 | /* define enabled interrupts hereby */ | ||
110 | #define GC_CARMINE_INT_EN 0x00000004 | ||
111 | |||
112 | /* DRAM controller */ | ||
113 | #define GC_DCTL_MODE_ADD 0x00000000 | ||
114 | #define GC_DCTL_SETTIME1_EMODE 0x00000004 | ||
115 | #define GC_DCTL_REFRESH_SETTIME2 0x00000008 | ||
116 | #define GC_DCTL_RSV0_STATES 0x0000000C | ||
117 | #define GC_DCTL_RSV2_RSV1 0x00000010 | ||
118 | #define GC_DCTL_DDRIF2_DDRIF1 0x00000014 | ||
119 | #define GC_DCTL_IOCONT1_IOCONT0 0x00000024 | ||
120 | |||
121 | #define GC_DCTL_STATES_MSK 0x0000000f | ||
122 | #define GC_DCTL_INIT_WAIT_CNT 3000 | ||
123 | #define GC_DCTL_INIT_WAIT_INTERVAL 1 | ||
124 | |||
125 | /* DRAM ctrl values for Carmine PCI Eval. board */ | ||
126 | #define GC_EVB_DCTL_MODE_ADD 0x012105c3 | ||
127 | #define GC_EVB_DCTL_MODE_ADD_AFT_RST 0x002105c3 | ||
128 | #define GC_EVB_DCTL_SETTIME1_EMODE 0x47498000 | ||
129 | #define GC_EVB_DCTL_REFRESH_SETTIME2 0x00422a22 | ||
130 | #define GC_EVB_DCTL_RSV0_STATES 0x00200003 | ||
131 | #define GC_EVB_DCTL_RSV0_STATES_AFT_RST 0x00200002 | ||
132 | #define GC_EVB_DCTL_RSV2_RSV1 0x0000000f | ||
133 | #define GC_EVB_DCTL_DDRIF2_DDRIF1 0x00556646 | ||
134 | #define GC_EVB_DCTL_IOCONT1_IOCONT0 0x05550555 | ||
135 | |||
136 | #define GC_DISP_REFCLK_533 533 | ||
137 | |||
138 | #endif | ||
diff --git a/drivers/video/mb862xx/mb862xxfb.c b/drivers/video/mb862xx/mb862xxfb.c new file mode 100644 index 000000000000..38718d95fbb9 --- /dev/null +++ b/drivers/video/mb862xx/mb862xxfb.c | |||
@@ -0,0 +1,1061 @@ | |||
1 | /* | ||
2 | * drivers/mb862xx/mb862xxfb.c | ||
3 | * | ||
4 | * Fujitsu Carmine/Coral-P(A)/Lime framebuffer driver | ||
5 | * | ||
6 | * (C) 2008 Anatolij Gustschin <agust@denx.de> | ||
7 | * DENX Software Engineering | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | * | ||
13 | */ | ||
14 | |||
15 | #undef DEBUG | ||
16 | |||
17 | #include <linux/fb.h> | ||
18 | #include <linux/delay.h> | ||
19 | #include <linux/init.h> | ||
20 | #include <linux/interrupt.h> | ||
21 | #include <linux/pci.h> | ||
22 | #if defined(CONFIG_PPC_OF) | ||
23 | #include <linux/of_platform.h> | ||
24 | #endif | ||
25 | #include "mb862xxfb.h" | ||
26 | #include "mb862xx_reg.h" | ||
27 | |||
28 | #define NR_PALETTE 256 | ||
29 | #define MB862XX_MEM_SIZE 0x1000000 | ||
30 | #define CORALP_MEM_SIZE 0x4000000 | ||
31 | #define CARMINE_MEM_SIZE 0x8000000 | ||
32 | #define DRV_NAME "mb862xxfb" | ||
33 | |||
34 | #if defined(CONFIG_LWMON5) | ||
35 | static struct mb862xx_gc_mode lwmon5_gc_mode = { | ||
36 | /* Mode for Sharp LQ104V1DG61 TFT LCD Panel */ | ||
37 | { "640x480", 60, 640, 480, 40000, 48, 16, 32, 11, 96, 2, 0, 0, 0 }, | ||
38 | /* 16 bits/pixel, 32MB, 100MHz, SDRAM memory mode value */ | ||
39 | 16, 0x2000000, GC_CCF_COT_100, 0x414fb7f2 | ||
40 | }; | ||
41 | #endif | ||
42 | |||
43 | #if defined(CONFIG_SOCRATES) | ||
44 | static struct mb862xx_gc_mode socrates_gc_mode = { | ||
45 | /* Mode for Prime View PM070WL4 TFT LCD Panel */ | ||
46 | { "800x480", 45, 800, 480, 40000, 86, 42, 33, 10, 128, 2, 0, 0, 0 }, | ||
47 | /* 16 bits/pixel, 16MB, 133MHz, SDRAM memory mode value */ | ||
48 | 16, 0x1000000, GC_CCF_COT_133, 0x4157ba63 | ||
49 | }; | ||
50 | #endif | ||
51 | |||
52 | /* Helpers */ | ||
53 | static inline int h_total(struct fb_var_screeninfo *var) | ||
54 | { | ||
55 | return var->xres + var->left_margin + | ||
56 | var->right_margin + var->hsync_len; | ||
57 | } | ||
58 | |||
59 | static inline int v_total(struct fb_var_screeninfo *var) | ||
60 | { | ||
61 | return var->yres + var->upper_margin + | ||
62 | var->lower_margin + var->vsync_len; | ||
63 | } | ||
64 | |||
65 | static inline int hsp(struct fb_var_screeninfo *var) | ||
66 | { | ||
67 | return var->xres + var->right_margin - 1; | ||
68 | } | ||
69 | |||
70 | static inline int vsp(struct fb_var_screeninfo *var) | ||
71 | { | ||
72 | return var->yres + var->lower_margin - 1; | ||
73 | } | ||
74 | |||
75 | static inline int d_pitch(struct fb_var_screeninfo *var) | ||
76 | { | ||
77 | return var->xres * var->bits_per_pixel / 8; | ||
78 | } | ||
79 | |||
80 | static inline unsigned int chan_to_field(unsigned int chan, | ||
81 | struct fb_bitfield *bf) | ||
82 | { | ||
83 | chan &= 0xffff; | ||
84 | chan >>= 16 - bf->length; | ||
85 | return chan << bf->offset; | ||
86 | } | ||
87 | |||
88 | static int mb862xxfb_setcolreg(unsigned regno, | ||
89 | unsigned red, unsigned green, unsigned blue, | ||
90 | unsigned transp, struct fb_info *info) | ||
91 | { | ||
92 | struct mb862xxfb_par *par = info->par; | ||
93 | unsigned int val; | ||
94 | |||
95 | switch (info->fix.visual) { | ||
96 | case FB_VISUAL_TRUECOLOR: | ||
97 | if (regno < 16) { | ||
98 | val = chan_to_field(red, &info->var.red); | ||
99 | val |= chan_to_field(green, &info->var.green); | ||
100 | val |= chan_to_field(blue, &info->var.blue); | ||
101 | par->pseudo_palette[regno] = val; | ||
102 | } | ||
103 | break; | ||
104 | case FB_VISUAL_PSEUDOCOLOR: | ||
105 | if (regno < 256) { | ||
106 | val = (red >> 8) << 16; | ||
107 | val |= (green >> 8) << 8; | ||
108 | val |= blue >> 8; | ||
109 | outreg(disp, GC_L0PAL0 + (regno * 4), val); | ||
110 | } | ||
111 | break; | ||
112 | default: | ||
113 | return 1; /* unsupported type */ | ||
114 | } | ||
115 | return 0; | ||
116 | } | ||
117 | |||
118 | static int mb862xxfb_check_var(struct fb_var_screeninfo *var, | ||
119 | struct fb_info *fbi) | ||
120 | { | ||
121 | unsigned long tmp; | ||
122 | |||
123 | if (fbi->dev) | ||
124 | dev_dbg(fbi->dev, "%s\n", __func__); | ||
125 | |||
126 | /* check if these values fit into the registers */ | ||
127 | if (var->hsync_len > 255 || var->vsync_len > 255) | ||
128 | return -EINVAL; | ||
129 | |||
130 | if ((var->xres + var->right_margin) >= 4096) | ||
131 | return -EINVAL; | ||
132 | |||
133 | if ((var->yres + var->lower_margin) > 4096) | ||
134 | return -EINVAL; | ||
135 | |||
136 | if (h_total(var) > 4096 || v_total(var) > 4096) | ||
137 | return -EINVAL; | ||
138 | |||
139 | if (var->xres_virtual > 4096 || var->yres_virtual > 4096) | ||
140 | return -EINVAL; | ||
141 | |||
142 | if (var->bits_per_pixel <= 8) | ||
143 | var->bits_per_pixel = 8; | ||
144 | else if (var->bits_per_pixel <= 16) | ||
145 | var->bits_per_pixel = 16; | ||
146 | else if (var->bits_per_pixel <= 32) | ||
147 | var->bits_per_pixel = 32; | ||
148 | |||
149 | /* | ||
150 | * can cope with 8,16 or 24/32bpp if resulting | ||
151 | * pitch is divisible by 64 without remainder | ||
152 | */ | ||
153 | if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) { | ||
154 | int r; | ||
155 | |||
156 | var->bits_per_pixel = 0; | ||
157 | do { | ||
158 | var->bits_per_pixel += 8; | ||
159 | r = d_pitch(&fbi->var) % GC_L0M_L0W_UNIT; | ||
160 | } while (r && var->bits_per_pixel <= 32); | ||
161 | |||
162 | if (d_pitch(&fbi->var) % GC_L0M_L0W_UNIT) | ||
163 | return -EINVAL; | ||
164 | } | ||
165 | |||
166 | /* line length is going to be 128 bit aligned */ | ||
167 | tmp = (var->xres * var->bits_per_pixel) / 8; | ||
168 | if ((tmp & 15) != 0) | ||
169 | return -EINVAL; | ||
170 | |||
171 | /* set r/g/b positions and validate bpp */ | ||
172 | switch (var->bits_per_pixel) { | ||
173 | case 8: | ||
174 | var->red.length = var->bits_per_pixel; | ||
175 | var->green.length = var->bits_per_pixel; | ||
176 | var->blue.length = var->bits_per_pixel; | ||
177 | var->red.offset = 0; | ||
178 | var->green.offset = 0; | ||
179 | var->blue.offset = 0; | ||
180 | var->transp.length = 0; | ||
181 | break; | ||
182 | case 16: | ||
183 | var->red.length = 5; | ||
184 | var->green.length = 5; | ||
185 | var->blue.length = 5; | ||
186 | var->red.offset = 10; | ||
187 | var->green.offset = 5; | ||
188 | var->blue.offset = 0; | ||
189 | var->transp.length = 0; | ||
190 | break; | ||
191 | case 24: | ||
192 | case 32: | ||
193 | var->transp.length = 8; | ||
194 | var->red.length = 8; | ||
195 | var->green.length = 8; | ||
196 | var->blue.length = 8; | ||
197 | var->transp.offset = 24; | ||
198 | var->red.offset = 16; | ||
199 | var->green.offset = 8; | ||
200 | var->blue.offset = 0; | ||
201 | break; | ||
202 | default: | ||
203 | return -EINVAL; | ||
204 | } | ||
205 | return 0; | ||
206 | } | ||
207 | |||
208 | /* | ||
209 | * set display parameters | ||
210 | */ | ||
211 | static int mb862xxfb_set_par(struct fb_info *fbi) | ||
212 | { | ||
213 | struct mb862xxfb_par *par = fbi->par; | ||
214 | unsigned long reg, sc; | ||
215 | |||
216 | dev_dbg(par->dev, "%s\n", __func__); | ||
217 | |||
218 | if (par->pre_init) | ||
219 | return 0; | ||
220 | |||
221 | /* disp off */ | ||
222 | reg = inreg(disp, GC_DCM1); | ||
223 | reg &= ~GC_DCM01_DEN; | ||
224 | outreg(disp, GC_DCM1, reg); | ||
225 | |||
226 | /* set display reference clock div. */ | ||
227 | sc = par->refclk / (1000000 / fbi->var.pixclock) - 1; | ||
228 | reg = inreg(disp, GC_DCM1); | ||
229 | reg &= ~(GC_DCM01_CKS | GC_DCM01_RESV | GC_DCM01_SC); | ||
230 | reg |= sc << 8; | ||
231 | outreg(disp, GC_DCM1, reg); | ||
232 | dev_dbg(par->dev, "SC 0x%lx\n", sc); | ||
233 | |||
234 | /* disp dimension, format */ | ||
235 | reg = pack(d_pitch(&fbi->var) / GC_L0M_L0W_UNIT, | ||
236 | (fbi->var.yres - 1)); | ||
237 | if (fbi->var.bits_per_pixel == 16) | ||
238 | reg |= GC_L0M_L0C_16; | ||
239 | outreg(disp, GC_L0M, reg); | ||
240 | |||
241 | if (fbi->var.bits_per_pixel == 32) { | ||
242 | reg = inreg(disp, GC_L0EM); | ||
243 | outreg(disp, GC_L0EM, reg | GC_L0EM_L0EC_24); | ||
244 | } | ||
245 | outreg(disp, GC_WY_WX, 0); | ||
246 | reg = pack(fbi->var.yres - 1, fbi->var.xres); | ||
247 | outreg(disp, GC_WH_WW, reg); | ||
248 | outreg(disp, GC_L0OA0, 0); | ||
249 | outreg(disp, GC_L0DA0, 0); | ||
250 | outreg(disp, GC_L0DY_L0DX, 0); | ||
251 | outreg(disp, GC_L0WY_L0WX, 0); | ||
252 | outreg(disp, GC_L0WH_L0WW, reg); | ||
253 | |||
254 | /* both HW-cursors off */ | ||
255 | reg = inreg(disp, GC_CPM_CUTC); | ||
256 | reg &= ~(GC_CPM_CEN0 | GC_CPM_CEN1); | ||
257 | outreg(disp, GC_CPM_CUTC, reg); | ||
258 | |||
259 | /* timings */ | ||
260 | reg = pack(fbi->var.xres - 1, fbi->var.xres - 1); | ||
261 | outreg(disp, GC_HDB_HDP, reg); | ||
262 | reg = pack((fbi->var.yres - 1), vsp(&fbi->var)); | ||
263 | outreg(disp, GC_VDP_VSP, reg); | ||
264 | reg = ((fbi->var.vsync_len - 1) << 24) | | ||
265 | pack((fbi->var.hsync_len - 1), hsp(&fbi->var)); | ||
266 | outreg(disp, GC_VSW_HSW_HSP, reg); | ||
267 | outreg(disp, GC_HTP, pack(h_total(&fbi->var) - 1, 0)); | ||
268 | outreg(disp, GC_VTR, pack(v_total(&fbi->var) - 1, 0)); | ||
269 | |||
270 | /* display on */ | ||
271 | reg = inreg(disp, GC_DCM1); | ||
272 | reg |= GC_DCM01_DEN | GC_DCM01_L0E; | ||
273 | reg &= ~GC_DCM01_ESY; | ||
274 | outreg(disp, GC_DCM1, reg); | ||
275 | return 0; | ||
276 | } | ||
277 | |||
278 | static int mb862xxfb_pan(struct fb_var_screeninfo *var, | ||
279 | struct fb_info *info) | ||
280 | { | ||
281 | struct mb862xxfb_par *par = info->par; | ||
282 | unsigned long reg; | ||
283 | |||
284 | reg = pack(var->yoffset, var->xoffset); | ||
285 | outreg(disp, GC_L0WY_L0WX, reg); | ||
286 | |||
287 | reg = pack(var->yres_virtual, var->xres_virtual); | ||
288 | outreg(disp, GC_L0WH_L0WW, reg); | ||
289 | return 0; | ||
290 | } | ||
291 | |||
292 | static int mb862xxfb_blank(int mode, struct fb_info *fbi) | ||
293 | { | ||
294 | struct mb862xxfb_par *par = fbi->par; | ||
295 | unsigned long reg; | ||
296 | |||
297 | dev_dbg(fbi->dev, "blank mode=%d\n", mode); | ||
298 | |||
299 | switch (mode) { | ||
300 | case FB_BLANK_POWERDOWN: | ||
301 | reg = inreg(disp, GC_DCM1); | ||
302 | reg &= ~GC_DCM01_DEN; | ||
303 | outreg(disp, GC_DCM1, reg); | ||
304 | break; | ||
305 | case FB_BLANK_UNBLANK: | ||
306 | reg = inreg(disp, GC_DCM1); | ||
307 | reg |= GC_DCM01_DEN; | ||
308 | outreg(disp, GC_DCM1, reg); | ||
309 | break; | ||
310 | case FB_BLANK_NORMAL: | ||
311 | case FB_BLANK_VSYNC_SUSPEND: | ||
312 | case FB_BLANK_HSYNC_SUSPEND: | ||
313 | default: | ||
314 | return 1; | ||
315 | } | ||
316 | return 0; | ||
317 | } | ||
318 | |||
319 | /* framebuffer ops */ | ||
320 | static struct fb_ops mb862xxfb_ops = { | ||
321 | .owner = THIS_MODULE, | ||
322 | .fb_check_var = mb862xxfb_check_var, | ||
323 | .fb_set_par = mb862xxfb_set_par, | ||
324 | .fb_setcolreg = mb862xxfb_setcolreg, | ||
325 | .fb_blank = mb862xxfb_blank, | ||
326 | .fb_pan_display = mb862xxfb_pan, | ||
327 | .fb_fillrect = cfb_fillrect, | ||
328 | .fb_copyarea = cfb_copyarea, | ||
329 | .fb_imageblit = cfb_imageblit, | ||
330 | }; | ||
331 | |||
332 | /* initialize fb_info data */ | ||
333 | static int mb862xxfb_init_fbinfo(struct fb_info *fbi) | ||
334 | { | ||
335 | struct mb862xxfb_par *par = fbi->par; | ||
336 | struct mb862xx_gc_mode *mode = par->gc_mode; | ||
337 | unsigned long reg; | ||
338 | |||
339 | fbi->fbops = &mb862xxfb_ops; | ||
340 | fbi->pseudo_palette = par->pseudo_palette; | ||
341 | fbi->screen_base = par->fb_base; | ||
342 | fbi->screen_size = par->mapped_vram; | ||
343 | |||
344 | strcpy(fbi->fix.id, DRV_NAME); | ||
345 | fbi->fix.smem_start = (unsigned long)par->fb_base_phys; | ||
346 | fbi->fix.smem_len = par->mapped_vram; | ||
347 | fbi->fix.mmio_start = (unsigned long)par->mmio_base_phys; | ||
348 | fbi->fix.mmio_len = par->mmio_len; | ||
349 | fbi->fix.accel = FB_ACCEL_NONE; | ||
350 | fbi->fix.type = FB_TYPE_PACKED_PIXELS; | ||
351 | fbi->fix.type_aux = 0; | ||
352 | fbi->fix.xpanstep = 1; | ||
353 | fbi->fix.ypanstep = 1; | ||
354 | fbi->fix.ywrapstep = 0; | ||
355 | |||
356 | reg = inreg(disp, GC_DCM1); | ||
357 | if (reg & GC_DCM01_DEN && reg & GC_DCM01_L0E) { | ||
358 | /* get the disp mode from active display cfg */ | ||
359 | unsigned long sc = ((reg & GC_DCM01_SC) >> 8) + 1; | ||
360 | unsigned long hsp, vsp, ht, vt; | ||
361 | |||
362 | dev_dbg(par->dev, "using bootloader's disp. mode\n"); | ||
363 | fbi->var.pixclock = (sc * 1000000) / par->refclk; | ||
364 | fbi->var.xres = (inreg(disp, GC_HDB_HDP) & 0x0fff) + 1; | ||
365 | reg = inreg(disp, GC_VDP_VSP); | ||
366 | fbi->var.yres = ((reg >> 16) & 0x0fff) + 1; | ||
367 | vsp = (reg & 0x0fff) + 1; | ||
368 | fbi->var.xres_virtual = fbi->var.xres; | ||
369 | fbi->var.yres_virtual = fbi->var.yres; | ||
370 | reg = inreg(disp, GC_L0EM); | ||
371 | if (reg & GC_L0EM_L0EC_24) { | ||
372 | fbi->var.bits_per_pixel = 32; | ||
373 | } else { | ||
374 | reg = inreg(disp, GC_L0M); | ||
375 | if (reg & GC_L0M_L0C_16) | ||
376 | fbi->var.bits_per_pixel = 16; | ||
377 | else | ||
378 | fbi->var.bits_per_pixel = 8; | ||
379 | } | ||
380 | reg = inreg(disp, GC_VSW_HSW_HSP); | ||
381 | fbi->var.hsync_len = ((reg & 0xff0000) >> 16) + 1; | ||
382 | fbi->var.vsync_len = ((reg & 0x3f000000) >> 24) + 1; | ||
383 | hsp = (reg & 0xffff) + 1; | ||
384 | ht = ((inreg(disp, GC_HTP) & 0xfff0000) >> 16) + 1; | ||
385 | fbi->var.right_margin = hsp - fbi->var.xres; | ||
386 | fbi->var.left_margin = ht - hsp - fbi->var.hsync_len; | ||
387 | vt = ((inreg(disp, GC_VTR) & 0xfff0000) >> 16) + 1; | ||
388 | fbi->var.lower_margin = vsp - fbi->var.yres; | ||
389 | fbi->var.upper_margin = vt - vsp - fbi->var.vsync_len; | ||
390 | } else if (mode) { | ||
391 | dev_dbg(par->dev, "using supplied mode\n"); | ||
392 | fb_videomode_to_var(&fbi->var, (struct fb_videomode *)mode); | ||
393 | fbi->var.bits_per_pixel = mode->def_bpp ? mode->def_bpp : 8; | ||
394 | } else { | ||
395 | int ret; | ||
396 | |||
397 | ret = fb_find_mode(&fbi->var, fbi, "640x480-16@60", | ||
398 | NULL, 0, NULL, 16); | ||
399 | if (ret == 0 || ret == 4) { | ||
400 | dev_err(par->dev, | ||
401 | "failed to get initial mode\n"); | ||
402 | return -EINVAL; | ||
403 | } | ||
404 | } | ||
405 | |||
406 | fbi->var.xoffset = 0; | ||
407 | fbi->var.yoffset = 0; | ||
408 | fbi->var.grayscale = 0; | ||
409 | fbi->var.nonstd = 0; | ||
410 | fbi->var.height = -1; | ||
411 | fbi->var.width = -1; | ||
412 | fbi->var.accel_flags = 0; | ||
413 | fbi->var.vmode = FB_VMODE_NONINTERLACED; | ||
414 | fbi->var.activate = FB_ACTIVATE_NOW; | ||
415 | fbi->flags = FBINFO_DEFAULT | | ||
416 | #ifdef __BIG_ENDIAN | ||
417 | FBINFO_FOREIGN_ENDIAN | | ||
418 | #endif | ||
419 | FBINFO_HWACCEL_XPAN | | ||
420 | FBINFO_HWACCEL_YPAN; | ||
421 | |||
422 | /* check and possibly fix bpp */ | ||
423 | if ((fbi->fbops->fb_check_var)(&fbi->var, fbi)) | ||
424 | dev_err(par->dev, "check_var() failed on initial setup?\n"); | ||
425 | |||
426 | fbi->fix.visual = fbi->var.bits_per_pixel == 8 ? | ||
427 | FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; | ||
428 | fbi->fix.line_length = (fbi->var.xres_virtual * | ||
429 | fbi->var.bits_per_pixel) / 8; | ||
430 | return 0; | ||
431 | } | ||
432 | |||
433 | /* | ||
434 | * show some display controller and cursor registers | ||
435 | */ | ||
436 | static ssize_t mb862xxfb_show_dispregs(struct device *dev, | ||
437 | struct device_attribute *attr, char *buf) | ||
438 | { | ||
439 | struct fb_info *fbi = dev_get_drvdata(dev); | ||
440 | struct mb862xxfb_par *par = fbi->par; | ||
441 | char *ptr = buf; | ||
442 | unsigned int reg; | ||
443 | |||
444 | for (reg = GC_DCM0; reg <= GC_L0DY_L0DX; reg += 4) | ||
445 | ptr += sprintf(ptr, "%08x = %08x\n", | ||
446 | reg, inreg(disp, reg)); | ||
447 | |||
448 | for (reg = GC_CPM_CUTC; reg <= GC_CUY1_CUX1; reg += 4) | ||
449 | ptr += sprintf(ptr, "%08x = %08x\n", | ||
450 | reg, inreg(disp, reg)); | ||
451 | |||
452 | for (reg = GC_DCM1; reg <= GC_L0WH_L0WW; reg += 4) | ||
453 | ptr += sprintf(ptr, "%08x = %08x\n", | ||
454 | reg, inreg(disp, reg)); | ||
455 | |||
456 | return ptr - buf; | ||
457 | } | ||
458 | |||
459 | static DEVICE_ATTR(dispregs, 0444, mb862xxfb_show_dispregs, NULL); | ||
460 | |||
461 | irqreturn_t mb862xx_intr(int irq, void *dev_id) | ||
462 | { | ||
463 | struct mb862xxfb_par *par = (struct mb862xxfb_par *) dev_id; | ||
464 | unsigned long reg_ist, mask; | ||
465 | |||
466 | if (!par) | ||
467 | return IRQ_NONE; | ||
468 | |||
469 | if (par->type == BT_CARMINE) { | ||
470 | /* Get Interrupt Status */ | ||
471 | reg_ist = inreg(ctrl, GC_CTRL_STATUS); | ||
472 | mask = inreg(ctrl, GC_CTRL_INT_MASK); | ||
473 | if (reg_ist == 0) | ||
474 | return IRQ_HANDLED; | ||
475 | |||
476 | reg_ist &= mask; | ||
477 | if (reg_ist == 0) | ||
478 | return IRQ_HANDLED; | ||
479 | |||
480 | /* Clear interrupt status */ | ||
481 | outreg(ctrl, 0x0, reg_ist); | ||
482 | } else { | ||
483 | /* Get status */ | ||
484 | reg_ist = inreg(host, GC_IST); | ||
485 | mask = inreg(host, GC_IMASK); | ||
486 | |||
487 | reg_ist &= mask; | ||
488 | if (reg_ist == 0) | ||
489 | return IRQ_HANDLED; | ||
490 | |||
491 | /* Clear status */ | ||
492 | outreg(host, GC_IST, ~reg_ist); | ||
493 | } | ||
494 | return IRQ_HANDLED; | ||
495 | } | ||
496 | |||
497 | #if defined(CONFIG_FB_MB862XX_LIME) | ||
498 | /* | ||
499 | * GDC (Lime, Coral(B/Q), Mint, ...) on host bus | ||
500 | */ | ||
501 | static int mb862xx_gdc_init(struct mb862xxfb_par *par) | ||
502 | { | ||
503 | unsigned long ccf, mmr; | ||
504 | unsigned long ver, rev; | ||
505 | |||
506 | if (!par) | ||
507 | return -ENODEV; | ||
508 | |||
509 | #if defined(CONFIG_FB_PRE_INIT_FB) | ||
510 | par->pre_init = 1; | ||
511 | #endif | ||
512 | par->host = par->mmio_base; | ||
513 | par->i2c = par->mmio_base + MB862XX_I2C_BASE; | ||
514 | par->disp = par->mmio_base + MB862XX_DISP_BASE; | ||
515 | par->cap = par->mmio_base + MB862XX_CAP_BASE; | ||
516 | par->draw = par->mmio_base + MB862XX_DRAW_BASE; | ||
517 | par->geo = par->mmio_base + MB862XX_GEO_BASE; | ||
518 | par->pio = par->mmio_base + MB862XX_PIO_BASE; | ||
519 | |||
520 | par->refclk = GC_DISP_REFCLK_400; | ||
521 | |||
522 | ver = inreg(host, GC_CID); | ||
523 | rev = inreg(pio, GC_REVISION); | ||
524 | if ((ver == 0x303) && (rev & 0xffffff00) == 0x20050100) { | ||
525 | dev_info(par->dev, "Fujitsu Lime v1.%d found\n", | ||
526 | (int)rev & 0xff); | ||
527 | par->type = BT_LIME; | ||
528 | ccf = par->gc_mode ? par->gc_mode->ccf : GC_CCF_COT_100; | ||
529 | mmr = par->gc_mode ? par->gc_mode->mmr : 0x414fb7f2; | ||
530 | } else { | ||
531 | dev_info(par->dev, "? GDC, CID/Rev.: 0x%lx/0x%lx \n", ver, rev); | ||
532 | return -ENODEV; | ||
533 | } | ||
534 | |||
535 | if (!par->pre_init) { | ||
536 | outreg(host, GC_CCF, ccf); | ||
537 | udelay(200); | ||
538 | outreg(host, GC_MMR, mmr); | ||
539 | udelay(10); | ||
540 | } | ||
541 | |||
542 | /* interrupt status */ | ||
543 | outreg(host, GC_IST, 0); | ||
544 | outreg(host, GC_IMASK, GC_INT_EN); | ||
545 | return 0; | ||
546 | } | ||
547 | |||
548 | static int __devinit of_platform_mb862xx_probe(struct of_device *ofdev, | ||
549 | const struct of_device_id *id) | ||
550 | { | ||
551 | struct device_node *np = ofdev->node; | ||
552 | struct device *dev = &ofdev->dev; | ||
553 | struct mb862xxfb_par *par; | ||
554 | struct fb_info *info; | ||
555 | struct resource res; | ||
556 | resource_size_t res_size; | ||
557 | unsigned long ret = -ENODEV; | ||
558 | |||
559 | if (of_address_to_resource(np, 0, &res)) { | ||
560 | dev_err(dev, "Invalid address\n"); | ||
561 | return -ENXIO; | ||
562 | } | ||
563 | |||
564 | info = framebuffer_alloc(sizeof(struct mb862xxfb_par), dev); | ||
565 | if (info == NULL) { | ||
566 | dev_err(dev, "cannot allocate framebuffer\n"); | ||
567 | return -ENOMEM; | ||
568 | } | ||
569 | |||
570 | par = info->par; | ||
571 | par->info = info; | ||
572 | par->dev = dev; | ||
573 | |||
574 | par->irq = irq_of_parse_and_map(np, 0); | ||
575 | if (par->irq == NO_IRQ) { | ||
576 | dev_err(dev, "failed to map irq\n"); | ||
577 | ret = -ENODEV; | ||
578 | goto fbrel; | ||
579 | } | ||
580 | |||
581 | res_size = 1 + res.end - res.start; | ||
582 | par->res = request_mem_region(res.start, res_size, DRV_NAME); | ||
583 | if (par->res == NULL) { | ||
584 | dev_err(dev, "Cannot claim framebuffer/mmio\n"); | ||
585 | ret = -ENXIO; | ||
586 | goto irqdisp; | ||
587 | } | ||
588 | |||
589 | #if defined(CONFIG_LWMON5) | ||
590 | par->gc_mode = &lwmon5_gc_mode; | ||
591 | #endif | ||
592 | |||
593 | #if defined(CONFIG_SOCRATES) | ||
594 | par->gc_mode = &socrates_gc_mode; | ||
595 | #endif | ||
596 | |||
597 | par->fb_base_phys = res.start; | ||
598 | par->mmio_base_phys = res.start + MB862XX_MMIO_BASE; | ||
599 | par->mmio_len = MB862XX_MMIO_SIZE; | ||
600 | if (par->gc_mode) | ||
601 | par->mapped_vram = par->gc_mode->max_vram; | ||
602 | else | ||
603 | par->mapped_vram = MB862XX_MEM_SIZE; | ||
604 | |||
605 | par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram); | ||
606 | if (par->fb_base == NULL) { | ||
607 | dev_err(dev, "Cannot map framebuffer\n"); | ||
608 | goto rel_reg; | ||
609 | } | ||
610 | |||
611 | par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len); | ||
612 | if (par->mmio_base == NULL) { | ||
613 | dev_err(dev, "Cannot map registers\n"); | ||
614 | goto fb_unmap; | ||
615 | } | ||
616 | |||
617 | dev_dbg(dev, "fb phys 0x%llx 0x%lx\n", | ||
618 | (u64)par->fb_base_phys, (ulong)par->mapped_vram); | ||
619 | dev_dbg(dev, "mmio phys 0x%llx 0x%lx, (irq = %d)\n", | ||
620 | (u64)par->mmio_base_phys, (ulong)par->mmio_len, par->irq); | ||
621 | |||
622 | if (mb862xx_gdc_init(par)) | ||
623 | goto io_unmap; | ||
624 | |||
625 | if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED, | ||
626 | DRV_NAME, (void *)par)) { | ||
627 | dev_err(dev, "Cannot request irq\n"); | ||
628 | goto io_unmap; | ||
629 | } | ||
630 | |||
631 | mb862xxfb_init_fbinfo(info); | ||
632 | |||
633 | if (fb_alloc_cmap(&info->cmap, NR_PALETTE, 0) < 0) { | ||
634 | dev_err(dev, "Could not allocate cmap for fb_info.\n"); | ||
635 | goto free_irq; | ||
636 | } | ||
637 | |||
638 | if ((info->fbops->fb_set_par)(info)) | ||
639 | dev_err(dev, "set_var() failed on initial setup?\n"); | ||
640 | |||
641 | if (register_framebuffer(info)) { | ||
642 | dev_err(dev, "failed to register framebuffer\n"); | ||
643 | goto rel_cmap; | ||
644 | } | ||
645 | |||
646 | dev_set_drvdata(dev, info); | ||
647 | |||
648 | if (device_create_file(dev, &dev_attr_dispregs)) | ||
649 | dev_err(dev, "Can't create sysfs regdump file\n"); | ||
650 | return 0; | ||
651 | |||
652 | rel_cmap: | ||
653 | fb_dealloc_cmap(&info->cmap); | ||
654 | free_irq: | ||
655 | outreg(host, GC_IMASK, 0); | ||
656 | free_irq(par->irq, (void *)par); | ||
657 | io_unmap: | ||
658 | iounmap(par->mmio_base); | ||
659 | fb_unmap: | ||
660 | iounmap(par->fb_base); | ||
661 | rel_reg: | ||
662 | release_mem_region(res.start, res_size); | ||
663 | irqdisp: | ||
664 | irq_dispose_mapping(par->irq); | ||
665 | fbrel: | ||
666 | dev_set_drvdata(dev, NULL); | ||
667 | framebuffer_release(info); | ||
668 | return ret; | ||
669 | } | ||
670 | |||
671 | static int __devexit of_platform_mb862xx_remove(struct of_device *ofdev) | ||
672 | { | ||
673 | struct fb_info *fbi = dev_get_drvdata(&ofdev->dev); | ||
674 | struct mb862xxfb_par *par = fbi->par; | ||
675 | resource_size_t res_size = 1 + par->res->end - par->res->start; | ||
676 | unsigned long reg; | ||
677 | |||
678 | dev_dbg(fbi->dev, "%s release\n", fbi->fix.id); | ||
679 | |||
680 | /* display off */ | ||
681 | reg = inreg(disp, GC_DCM1); | ||
682 | reg &= ~(GC_DCM01_DEN | GC_DCM01_L0E); | ||
683 | outreg(disp, GC_DCM1, reg); | ||
684 | |||
685 | /* disable interrupts */ | ||
686 | outreg(host, GC_IMASK, 0); | ||
687 | |||
688 | free_irq(par->irq, (void *)par); | ||
689 | irq_dispose_mapping(par->irq); | ||
690 | |||
691 | device_remove_file(&ofdev->dev, &dev_attr_dispregs); | ||
692 | |||
693 | unregister_framebuffer(fbi); | ||
694 | fb_dealloc_cmap(&fbi->cmap); | ||
695 | |||
696 | iounmap(par->mmio_base); | ||
697 | iounmap(par->fb_base); | ||
698 | |||
699 | dev_set_drvdata(&ofdev->dev, NULL); | ||
700 | release_mem_region(par->res->start, res_size); | ||
701 | framebuffer_release(fbi); | ||
702 | return 0; | ||
703 | } | ||
704 | |||
705 | /* | ||
706 | * common types | ||
707 | */ | ||
708 | static struct of_device_id __devinitdata of_platform_mb862xx_tbl[] = { | ||
709 | { .compatible = "fujitsu,MB86276", }, | ||
710 | { .compatible = "fujitsu,lime", }, | ||
711 | { .compatible = "fujitsu,MB86277", }, | ||
712 | { .compatible = "fujitsu,mint", }, | ||
713 | { .compatible = "fujitsu,MB86293", }, | ||
714 | { .compatible = "fujitsu,MB86294", }, | ||
715 | { .compatible = "fujitsu,coral", }, | ||
716 | { /* end */ } | ||
717 | }; | ||
718 | |||
719 | static struct of_platform_driver of_platform_mb862xxfb_driver = { | ||
720 | .owner = THIS_MODULE, | ||
721 | .name = DRV_NAME, | ||
722 | .match_table = of_platform_mb862xx_tbl, | ||
723 | .probe = of_platform_mb862xx_probe, | ||
724 | .remove = __devexit_p(of_platform_mb862xx_remove), | ||
725 | }; | ||
726 | #endif | ||
727 | |||
728 | #if defined(CONFIG_FB_MB862XX_PCI_GDC) | ||
729 | static int coralp_init(struct mb862xxfb_par *par) | ||
730 | { | ||
731 | int cn, ver; | ||
732 | |||
733 | par->host = par->mmio_base; | ||
734 | par->i2c = par->mmio_base + MB862XX_I2C_BASE; | ||
735 | par->disp = par->mmio_base + MB862XX_DISP_BASE; | ||
736 | par->cap = par->mmio_base + MB862XX_CAP_BASE; | ||
737 | par->draw = par->mmio_base + MB862XX_DRAW_BASE; | ||
738 | par->geo = par->mmio_base + MB862XX_GEO_BASE; | ||
739 | par->pio = par->mmio_base + MB862XX_PIO_BASE; | ||
740 | |||
741 | par->refclk = GC_DISP_REFCLK_400; | ||
742 | |||
743 | ver = inreg(host, GC_CID); | ||
744 | cn = (ver & GC_CID_CNAME_MSK) >> 8; | ||
745 | ver = ver & GC_CID_VERSION_MSK; | ||
746 | if (cn == 3) { | ||
747 | dev_info(par->dev, "Fujitsu Coral-%s GDC Rev.%d found\n",\ | ||
748 | (ver == 6) ? "P" : (ver == 8) ? "PA" : "?", | ||
749 | par->pdev->revision); | ||
750 | outreg(host, GC_CCF, GC_CCF_CGE_166 | GC_CCF_COT_133); | ||
751 | udelay(200); | ||
752 | outreg(host, GC_MMR, GC_MMR_CORALP_EVB_VAL); | ||
753 | udelay(10); | ||
754 | /* Clear interrupt status */ | ||
755 | outreg(host, GC_IST, 0); | ||
756 | } else { | ||
757 | return -ENODEV; | ||
758 | } | ||
759 | return 0; | ||
760 | } | ||
761 | |||
762 | static int init_dram_ctrl(struct mb862xxfb_par *par) | ||
763 | { | ||
764 | unsigned long i = 0; | ||
765 | |||
766 | /* | ||
767 | * Set io mode first! Spec. says IC may be destroyed | ||
768 | * if not set to SSTL2/LVCMOS before init. | ||
769 | */ | ||
770 | outreg(dram_ctrl, GC_DCTL_IOCONT1_IOCONT0, GC_EVB_DCTL_IOCONT1_IOCONT0); | ||
771 | |||
772 | /* DRAM init */ | ||
773 | outreg(dram_ctrl, GC_DCTL_MODE_ADD, GC_EVB_DCTL_MODE_ADD); | ||
774 | outreg(dram_ctrl, GC_DCTL_SETTIME1_EMODE, GC_EVB_DCTL_SETTIME1_EMODE); | ||
775 | outreg(dram_ctrl, GC_DCTL_REFRESH_SETTIME2, | ||
776 | GC_EVB_DCTL_REFRESH_SETTIME2); | ||
777 | outreg(dram_ctrl, GC_DCTL_RSV2_RSV1, GC_EVB_DCTL_RSV2_RSV1); | ||
778 | outreg(dram_ctrl, GC_DCTL_DDRIF2_DDRIF1, GC_EVB_DCTL_DDRIF2_DDRIF1); | ||
779 | outreg(dram_ctrl, GC_DCTL_RSV0_STATES, GC_EVB_DCTL_RSV0_STATES); | ||
780 | |||
781 | /* DLL reset done? */ | ||
782 | while ((inreg(dram_ctrl, GC_DCTL_RSV0_STATES) & GC_DCTL_STATES_MSK)) { | ||
783 | udelay(GC_DCTL_INIT_WAIT_INTERVAL); | ||
784 | if (i++ > GC_DCTL_INIT_WAIT_CNT) { | ||
785 | dev_err(par->dev, "VRAM init failed.\n"); | ||
786 | return -EINVAL; | ||
787 | } | ||
788 | } | ||
789 | outreg(dram_ctrl, GC_DCTL_MODE_ADD, GC_EVB_DCTL_MODE_ADD_AFT_RST); | ||
790 | outreg(dram_ctrl, GC_DCTL_RSV0_STATES, GC_EVB_DCTL_RSV0_STATES_AFT_RST); | ||
791 | return 0; | ||
792 | } | ||
793 | |||
794 | static int carmine_init(struct mb862xxfb_par *par) | ||
795 | { | ||
796 | unsigned long reg; | ||
797 | |||
798 | par->ctrl = par->mmio_base + MB86297_CTRL_BASE; | ||
799 | par->i2c = par->mmio_base + MB86297_I2C_BASE; | ||
800 | par->disp = par->mmio_base + MB86297_DISP0_BASE; | ||
801 | par->disp1 = par->mmio_base + MB86297_DISP1_BASE; | ||
802 | par->cap = par->mmio_base + MB86297_CAP0_BASE; | ||
803 | par->cap1 = par->mmio_base + MB86297_CAP1_BASE; | ||
804 | par->draw = par->mmio_base + MB86297_DRAW_BASE; | ||
805 | par->dram_ctrl = par->mmio_base + MB86297_DRAMCTRL_BASE; | ||
806 | par->wrback = par->mmio_base + MB86297_WRBACK_BASE; | ||
807 | |||
808 | par->refclk = GC_DISP_REFCLK_533; | ||
809 | |||
810 | /* warm up */ | ||
811 | reg = GC_CTRL_CLK_EN_DRAM | GC_CTRL_CLK_EN_2D3D | GC_CTRL_CLK_EN_DISP0; | ||
812 | outreg(ctrl, GC_CTRL_CLK_ENABLE, reg); | ||
813 | |||
814 | /* check for engine module revision */ | ||
815 | if (inreg(draw, GC_2D3D_REV) == GC_RE_REVISION) | ||
816 | dev_info(par->dev, "Fujitsu Carmine GDC Rev.%d found\n", | ||
817 | par->pdev->revision); | ||
818 | else | ||
819 | goto err_init; | ||
820 | |||
821 | reg &= ~GC_CTRL_CLK_EN_2D3D; | ||
822 | outreg(ctrl, GC_CTRL_CLK_ENABLE, reg); | ||
823 | |||
824 | /* set up vram */ | ||
825 | if (init_dram_ctrl(par) < 0) | ||
826 | goto err_init; | ||
827 | |||
828 | outreg(ctrl, GC_CTRL_INT_MASK, 0); | ||
829 | return 0; | ||
830 | |||
831 | err_init: | ||
832 | outreg(ctrl, GC_CTRL_CLK_ENABLE, 0); | ||
833 | return -EINVAL; | ||
834 | } | ||
835 | |||
836 | static inline int mb862xx_pci_gdc_init(struct mb862xxfb_par *par) | ||
837 | { | ||
838 | switch (par->type) { | ||
839 | case BT_CORALP: | ||
840 | return coralp_init(par); | ||
841 | case BT_CARMINE: | ||
842 | return carmine_init(par); | ||
843 | default: | ||
844 | return -ENODEV; | ||
845 | } | ||
846 | } | ||
847 | |||
848 | #define CHIP_ID(id) \ | ||
849 | { PCI_DEVICE(PCI_VENDOR_ID_FUJITSU_LIMITED, id) } | ||
850 | |||
851 | static struct pci_device_id mb862xx_pci_tbl[] __devinitdata = { | ||
852 | /* MB86295/MB86296 */ | ||
853 | CHIP_ID(PCI_DEVICE_ID_FUJITSU_CORALP), | ||
854 | CHIP_ID(PCI_DEVICE_ID_FUJITSU_CORALPA), | ||
855 | /* MB86297 */ | ||
856 | CHIP_ID(PCI_DEVICE_ID_FUJITSU_CARMINE), | ||
857 | { 0, } | ||
858 | }; | ||
859 | |||
860 | MODULE_DEVICE_TABLE(pci, mb862xx_pci_tbl); | ||
861 | |||
862 | static int __devinit mb862xx_pci_probe(struct pci_dev *pdev, | ||
863 | const struct pci_device_id *ent) | ||
864 | { | ||
865 | struct mb862xxfb_par *par; | ||
866 | struct fb_info *info; | ||
867 | struct device *dev = &pdev->dev; | ||
868 | int ret; | ||
869 | |||
870 | ret = pci_enable_device(pdev); | ||
871 | if (ret < 0) { | ||
872 | dev_err(dev, "Cannot enable PCI device\n"); | ||
873 | goto out; | ||
874 | } | ||
875 | |||
876 | info = framebuffer_alloc(sizeof(struct mb862xxfb_par), dev); | ||
877 | if (!info) { | ||
878 | dev_err(dev, "framebuffer alloc failed\n"); | ||
879 | ret = -ENOMEM; | ||
880 | goto dis_dev; | ||
881 | } | ||
882 | |||
883 | par = info->par; | ||
884 | par->info = info; | ||
885 | par->dev = dev; | ||
886 | par->pdev = pdev; | ||
887 | par->irq = pdev->irq; | ||
888 | |||
889 | ret = pci_request_regions(pdev, DRV_NAME); | ||
890 | if (ret < 0) { | ||
891 | dev_err(dev, "Cannot reserve region(s) for PCI device\n"); | ||
892 | goto rel_fb; | ||
893 | } | ||
894 | |||
895 | switch (pdev->device) { | ||
896 | case PCI_DEVICE_ID_FUJITSU_CORALP: | ||
897 | case PCI_DEVICE_ID_FUJITSU_CORALPA: | ||
898 | par->fb_base_phys = pci_resource_start(par->pdev, 0); | ||
899 | par->mapped_vram = CORALP_MEM_SIZE; | ||
900 | par->mmio_base_phys = par->fb_base_phys + MB862XX_MMIO_BASE; | ||
901 | par->mmio_len = MB862XX_MMIO_SIZE; | ||
902 | par->type = BT_CORALP; | ||
903 | break; | ||
904 | case PCI_DEVICE_ID_FUJITSU_CARMINE: | ||
905 | par->fb_base_phys = pci_resource_start(par->pdev, 2); | ||
906 | par->mmio_base_phys = pci_resource_start(par->pdev, 3); | ||
907 | par->mmio_len = pci_resource_len(par->pdev, 3); | ||
908 | par->mapped_vram = CARMINE_MEM_SIZE; | ||
909 | par->type = BT_CARMINE; | ||
910 | break; | ||
911 | default: | ||
912 | /* should never occur */ | ||
913 | goto rel_reg; | ||
914 | } | ||
915 | |||
916 | par->fb_base = ioremap(par->fb_base_phys, par->mapped_vram); | ||
917 | if (par->fb_base == NULL) { | ||
918 | dev_err(dev, "Cannot map framebuffer\n"); | ||
919 | goto rel_reg; | ||
920 | } | ||
921 | |||
922 | par->mmio_base = ioremap(par->mmio_base_phys, par->mmio_len); | ||
923 | if (par->mmio_base == NULL) { | ||
924 | dev_err(dev, "Cannot map registers\n"); | ||
925 | ret = -EIO; | ||
926 | goto fb_unmap; | ||
927 | } | ||
928 | |||
929 | dev_dbg(dev, "fb phys 0x%llx 0x%lx\n", | ||
930 | (u64)par->fb_base_phys, (ulong)par->mapped_vram); | ||
931 | dev_dbg(dev, "mmio phys 0x%llx 0x%lx\n", | ||
932 | (u64)par->mmio_base_phys, (ulong)par->mmio_len); | ||
933 | |||
934 | if (mb862xx_pci_gdc_init(par)) | ||
935 | goto io_unmap; | ||
936 | |||
937 | if (request_irq(par->irq, mb862xx_intr, IRQF_DISABLED | IRQF_SHARED, | ||
938 | DRV_NAME, (void *)par)) { | ||
939 | dev_err(dev, "Cannot request irq\n"); | ||
940 | goto io_unmap; | ||
941 | } | ||
942 | |||
943 | mb862xxfb_init_fbinfo(info); | ||
944 | |||
945 | if (fb_alloc_cmap(&info->cmap, NR_PALETTE, 0) < 0) { | ||
946 | dev_err(dev, "Could not allocate cmap for fb_info.\n"); | ||
947 | ret = -ENOMEM; | ||
948 | goto free_irq; | ||
949 | } | ||
950 | |||
951 | if ((info->fbops->fb_set_par)(info)) | ||
952 | dev_err(dev, "set_var() failed on initial setup?\n"); | ||
953 | |||
954 | ret = register_framebuffer(info); | ||
955 | if (ret < 0) { | ||
956 | dev_err(dev, "failed to register framebuffer\n"); | ||
957 | goto rel_cmap; | ||
958 | } | ||
959 | |||
960 | pci_set_drvdata(pdev, info); | ||
961 | |||
962 | if (device_create_file(dev, &dev_attr_dispregs)) | ||
963 | dev_err(dev, "Can't create sysfs regdump file\n"); | ||
964 | |||
965 | if (par->type == BT_CARMINE) | ||
966 | outreg(ctrl, GC_CTRL_INT_MASK, GC_CARMINE_INT_EN); | ||
967 | else | ||
968 | outreg(host, GC_IMASK, GC_INT_EN); | ||
969 | |||
970 | return 0; | ||
971 | |||
972 | rel_cmap: | ||
973 | fb_dealloc_cmap(&info->cmap); | ||
974 | free_irq: | ||
975 | free_irq(par->irq, (void *)par); | ||
976 | io_unmap: | ||
977 | iounmap(par->mmio_base); | ||
978 | fb_unmap: | ||
979 | iounmap(par->fb_base); | ||
980 | rel_reg: | ||
981 | pci_release_regions(pdev); | ||
982 | rel_fb: | ||
983 | framebuffer_release(info); | ||
984 | dis_dev: | ||
985 | pci_disable_device(pdev); | ||
986 | out: | ||
987 | return ret; | ||
988 | } | ||
989 | |||
990 | static void __devexit mb862xx_pci_remove(struct pci_dev *pdev) | ||
991 | { | ||
992 | struct fb_info *fbi = pci_get_drvdata(pdev); | ||
993 | struct mb862xxfb_par *par = fbi->par; | ||
994 | unsigned long reg; | ||
995 | |||
996 | dev_dbg(fbi->dev, "%s release\n", fbi->fix.id); | ||
997 | |||
998 | /* display off */ | ||
999 | reg = inreg(disp, GC_DCM1); | ||
1000 | reg &= ~(GC_DCM01_DEN | GC_DCM01_L0E); | ||
1001 | outreg(disp, GC_DCM1, reg); | ||
1002 | |||
1003 | if (par->type == BT_CARMINE) { | ||
1004 | outreg(ctrl, GC_CTRL_INT_MASK, 0); | ||
1005 | outreg(ctrl, GC_CTRL_CLK_ENABLE, 0); | ||
1006 | } else { | ||
1007 | outreg(host, GC_IMASK, 0); | ||
1008 | } | ||
1009 | |||
1010 | device_remove_file(&pdev->dev, &dev_attr_dispregs); | ||
1011 | |||
1012 | pci_set_drvdata(pdev, NULL); | ||
1013 | unregister_framebuffer(fbi); | ||
1014 | fb_dealloc_cmap(&fbi->cmap); | ||
1015 | |||
1016 | free_irq(par->irq, (void *)par); | ||
1017 | iounmap(par->mmio_base); | ||
1018 | iounmap(par->fb_base); | ||
1019 | |||
1020 | pci_release_regions(pdev); | ||
1021 | framebuffer_release(fbi); | ||
1022 | pci_disable_device(pdev); | ||
1023 | } | ||
1024 | |||
1025 | static struct pci_driver mb862xxfb_pci_driver = { | ||
1026 | .name = DRV_NAME, | ||
1027 | .id_table = mb862xx_pci_tbl, | ||
1028 | .probe = mb862xx_pci_probe, | ||
1029 | .remove = __devexit_p(mb862xx_pci_remove), | ||
1030 | }; | ||
1031 | #endif | ||
1032 | |||
1033 | static int __devinit mb862xxfb_init(void) | ||
1034 | { | ||
1035 | int ret = -ENODEV; | ||
1036 | |||
1037 | #if defined(CONFIG_FB_MB862XX_LIME) | ||
1038 | ret = of_register_platform_driver(&of_platform_mb862xxfb_driver); | ||
1039 | #endif | ||
1040 | #if defined(CONFIG_FB_MB862XX_PCI_GDC) | ||
1041 | ret = pci_register_driver(&mb862xxfb_pci_driver); | ||
1042 | #endif | ||
1043 | return ret; | ||
1044 | } | ||
1045 | |||
1046 | static void __exit mb862xxfb_exit(void) | ||
1047 | { | ||
1048 | #if defined(CONFIG_FB_MB862XX_LIME) | ||
1049 | of_unregister_platform_driver(&of_platform_mb862xxfb_driver); | ||
1050 | #endif | ||
1051 | #if defined(CONFIG_FB_MB862XX_PCI_GDC) | ||
1052 | pci_unregister_driver(&mb862xxfb_pci_driver); | ||
1053 | #endif | ||
1054 | } | ||
1055 | |||
1056 | module_init(mb862xxfb_init); | ||
1057 | module_exit(mb862xxfb_exit); | ||
1058 | |||
1059 | MODULE_DESCRIPTION("Fujitsu MB862xx Framebuffer driver"); | ||
1060 | MODULE_AUTHOR("Anatolij Gustschin <agust@denx.de>"); | ||
1061 | MODULE_LICENSE("GPL v2"); | ||
diff --git a/drivers/video/mb862xx/mb862xxfb.h b/drivers/video/mb862xx/mb862xxfb.h new file mode 100644 index 000000000000..c4c8f4dd2217 --- /dev/null +++ b/drivers/video/mb862xx/mb862xxfb.h | |||
@@ -0,0 +1,83 @@ | |||
1 | #ifndef __MB862XX_H__ | ||
2 | #define __MB862XX_H__ | ||
3 | |||
4 | #define PCI_VENDOR_ID_FUJITSU_LIMITED 0x10cf | ||
5 | #define PCI_DEVICE_ID_FUJITSU_CORALP 0x2019 | ||
6 | #define PCI_DEVICE_ID_FUJITSU_CORALPA 0x201e | ||
7 | #define PCI_DEVICE_ID_FUJITSU_CARMINE 0x202b | ||
8 | |||
9 | #define GC_MMR_CORALP_EVB_VAL 0x11d7fa13 | ||
10 | |||
11 | enum gdctype { | ||
12 | BT_NONE, | ||
13 | BT_LIME, | ||
14 | BT_MINT, | ||
15 | BT_CORAL, | ||
16 | BT_CORALP, | ||
17 | BT_CARMINE, | ||
18 | }; | ||
19 | |||
20 | struct mb862xx_gc_mode { | ||
21 | struct fb_videomode def_mode; /* mode of connected display */ | ||
22 | unsigned int def_bpp; /* default depth */ | ||
23 | unsigned long max_vram; /* connected SDRAM size */ | ||
24 | unsigned long ccf; /* gdc clk */ | ||
25 | unsigned long mmr; /* memory mode for SDRAM */ | ||
26 | }; | ||
27 | |||
28 | /* private data */ | ||
29 | struct mb862xxfb_par { | ||
30 | struct fb_info *info; /* fb info head */ | ||
31 | struct device *dev; | ||
32 | struct pci_dev *pdev; | ||
33 | struct resource *res; /* framebuffer/mmio resource */ | ||
34 | |||
35 | resource_size_t fb_base_phys; /* fb base, 36-bit PPC440EPx */ | ||
36 | resource_size_t mmio_base_phys; /* io base addr */ | ||
37 | void __iomem *fb_base; /* remapped framebuffer */ | ||
38 | void __iomem *mmio_base; /* remapped registers */ | ||
39 | size_t mapped_vram; /* length of remapped vram */ | ||
40 | size_t mmio_len; /* length of register region */ | ||
41 | |||
42 | void __iomem *host; /* relocatable reg. bases */ | ||
43 | void __iomem *i2c; | ||
44 | void __iomem *disp; | ||
45 | void __iomem *disp1; | ||
46 | void __iomem *cap; | ||
47 | void __iomem *cap1; | ||
48 | void __iomem *draw; | ||
49 | void __iomem *geo; | ||
50 | void __iomem *pio; | ||
51 | void __iomem *ctrl; | ||
52 | void __iomem *dram_ctrl; | ||
53 | void __iomem *wrback; | ||
54 | |||
55 | unsigned int irq; | ||
56 | unsigned int type; /* GDC type */ | ||
57 | unsigned int refclk; /* disp. reference clock */ | ||
58 | struct mb862xx_gc_mode *gc_mode; /* GDC mode init data */ | ||
59 | int pre_init; /* don't init display if 1 */ | ||
60 | |||
61 | u32 pseudo_palette[16]; | ||
62 | }; | ||
63 | |||
64 | #if defined(CONFIG_FB_MB862XX_LIME) && defined(CONFIG_FB_MB862XX_PCI_GDC) | ||
65 | #error "Select Lime GDC or CoralP/Carmine support, but not both together" | ||
66 | #endif | ||
67 | #if defined(CONFIG_FB_MB862XX_LIME) | ||
68 | #define gdc_read __raw_readl | ||
69 | #define gdc_write __raw_writel | ||
70 | #else | ||
71 | #define gdc_read readl | ||
72 | #define gdc_write writel | ||
73 | #endif | ||
74 | |||
75 | #define inreg(type, off) \ | ||
76 | gdc_read((par->type + (off))) | ||
77 | |||
78 | #define outreg(type, off, val) \ | ||
79 | gdc_write((val), (par->type + (off))) | ||
80 | |||
81 | #define pack(a, b) (((a) << 16) | (b)) | ||
82 | |||
83 | #endif | ||
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 1a22fe782a27..4fd3fa5546b1 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig | |||
@@ -67,11 +67,11 @@ config AT91RM9200_WATCHDOG | |||
67 | system when the timeout is reached. | 67 | system when the timeout is reached. |
68 | 68 | ||
69 | config AT91SAM9X_WATCHDOG | 69 | config AT91SAM9X_WATCHDOG |
70 | tristate "AT91SAM9X watchdog" | 70 | tristate "AT91SAM9X / AT91CAP9 watchdog" |
71 | depends on WATCHDOG && (ARCH_AT91SAM9260 || ARCH_AT91SAM9261) | 71 | depends on ARCH_AT91 && !ARCH_AT91RM9200 |
72 | help | 72 | help |
73 | Watchdog timer embedded into AT91SAM9X chips. This will reboot your | 73 | Watchdog timer embedded into AT91SAM9X and AT91CAP9 chips. This will |
74 | system when the timeout is reached. | 74 | reboot your system when the timeout is reached. |
75 | 75 | ||
76 | config 21285_WATCHDOG | 76 | config 21285_WATCHDOG |
77 | tristate "DC21285 watchdog" | 77 | tristate "DC21285 watchdog" |
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c index b4babfc31586..b1da287f90ec 100644 --- a/drivers/watchdog/at91sam9_wdt.c +++ b/drivers/watchdog/at91sam9_wdt.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <linux/bitops.h> | 30 | #include <linux/bitops.h> |
31 | #include <linux/uaccess.h> | 31 | #include <linux/uaccess.h> |
32 | 32 | ||
33 | #include <asm/arch/at91_wdt.h> | 33 | #include <mach/at91_wdt.h> |
34 | 34 | ||
35 | #define DRV_NAME "AT91SAM9 Watchdog" | 35 | #define DRV_NAME "AT91SAM9 Watchdog" |
36 | 36 | ||
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index 8c83abc73400..a0fb5eac407c 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c | |||
@@ -41,7 +41,6 @@ | |||
41 | #include <linux/pagemap.h> | 41 | #include <linux/pagemap.h> |
42 | #include <linux/highmem.h> | 42 | #include <linux/highmem.h> |
43 | #include <linux/mutex.h> | 43 | #include <linux/mutex.h> |
44 | #include <linux/highmem.h> | ||
45 | #include <linux/list.h> | 44 | #include <linux/list.h> |
46 | #include <linux/sysdev.h> | 45 | #include <linux/sysdev.h> |
47 | 46 | ||
diff --git a/fs/Makefile b/fs/Makefile index 2168c902d5ca..d9f8afe6f0c4 100644 --- a/fs/Makefile +++ b/fs/Makefile | |||
@@ -81,8 +81,6 @@ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/ | |||
81 | obj-$(CONFIG_CODA_FS) += coda/ | 81 | obj-$(CONFIG_CODA_FS) += coda/ |
82 | obj-$(CONFIG_MINIX_FS) += minix/ | 82 | obj-$(CONFIG_MINIX_FS) += minix/ |
83 | obj-$(CONFIG_FAT_FS) += fat/ | 83 | obj-$(CONFIG_FAT_FS) += fat/ |
84 | obj-$(CONFIG_MSDOS_FS) += msdos/ | ||
85 | obj-$(CONFIG_VFAT_FS) += vfat/ | ||
86 | obj-$(CONFIG_BFS_FS) += bfs/ | 84 | obj-$(CONFIG_BFS_FS) += bfs/ |
87 | obj-$(CONFIG_ISO9660_FS) += isofs/ | 85 | obj-$(CONFIG_ISO9660_FS) += isofs/ |
88 | obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ | 86 | obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+ |
diff --git a/fs/autofs4/dev-ioctl.c b/fs/autofs4/dev-ioctl.c index 625abf5422e2..33bf8cbfd051 100644 --- a/fs/autofs4/dev-ioctl.c +++ b/fs/autofs4/dev-ioctl.c | |||
@@ -128,9 +128,10 @@ static inline void free_dev_ioctl(struct autofs_dev_ioctl *param) | |||
128 | */ | 128 | */ |
129 | static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param) | 129 | static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param) |
130 | { | 130 | { |
131 | int err = -EINVAL; | 131 | int err; |
132 | 132 | ||
133 | if (check_dev_ioctl_version(cmd, param)) { | 133 | err = check_dev_ioctl_version(cmd, param); |
134 | if (err) { | ||
134 | AUTOFS_WARN("invalid device control module version " | 135 | AUTOFS_WARN("invalid device control module version " |
135 | "supplied for cmd(0x%08x)", cmd); | 136 | "supplied for cmd(0x%08x)", cmd); |
136 | goto out; | 137 | goto out; |
diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c index cde2f8e8935a..4b6fb3f628c0 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c | |||
@@ -56,12 +56,23 @@ static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry) | |||
56 | mntget(mnt); | 56 | mntget(mnt); |
57 | dget(dentry); | 57 | dget(dentry); |
58 | 58 | ||
59 | if (!autofs4_follow_mount(&mnt, &dentry)) | 59 | if (!follow_down(&mnt, &dentry)) |
60 | goto done; | 60 | goto done; |
61 | 61 | ||
62 | /* This is an autofs submount, we can't expire it */ | 62 | if (is_autofs4_dentry(dentry)) { |
63 | if (is_autofs4_dentry(dentry)) | 63 | struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); |
64 | goto done; | 64 | |
65 | /* This is an autofs submount, we can't expire it */ | ||
66 | if (sbi->type == AUTOFS_TYPE_INDIRECT) | ||
67 | goto done; | ||
68 | |||
69 | /* | ||
70 | * Otherwise it's an offset mount and we need to check | ||
71 | * if we can umount its mount, if there is one. | ||
72 | */ | ||
73 | if (!d_mountpoint(dentry)) | ||
74 | goto done; | ||
75 | } | ||
65 | 76 | ||
66 | /* Update the expiry counter if fs is busy */ | 77 | /* Update the expiry counter if fs is busy */ |
67 | if (!may_umount_tree(mnt)) { | 78 | if (!may_umount_tree(mnt)) { |
diff --git a/fs/block_dev.c b/fs/block_dev.c index 88a776fa0ef6..db831efbdbbd 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c | |||
@@ -986,7 +986,6 @@ static int __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part); | |||
986 | static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | 986 | static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) |
987 | { | 987 | { |
988 | struct gendisk *disk; | 988 | struct gendisk *disk; |
989 | struct hd_struct *part = NULL; | ||
990 | int ret; | 989 | int ret; |
991 | int partno; | 990 | int partno; |
992 | int perm = 0; | 991 | int perm = 0; |
@@ -1004,24 +1003,25 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1004 | return ret; | 1003 | return ret; |
1005 | } | 1004 | } |
1006 | 1005 | ||
1007 | ret = -ENXIO; | ||
1008 | |||
1009 | lock_kernel(); | 1006 | lock_kernel(); |
1010 | 1007 | ||
1008 | ret = -ENXIO; | ||
1011 | disk = get_gendisk(bdev->bd_dev, &partno); | 1009 | disk = get_gendisk(bdev->bd_dev, &partno); |
1012 | if (!disk) | 1010 | if (!disk) |
1013 | goto out_unlock_kernel; | 1011 | goto out_unlock_kernel; |
1014 | part = disk_get_part(disk, partno); | ||
1015 | if (!part) | ||
1016 | goto out_unlock_kernel; | ||
1017 | 1012 | ||
1018 | mutex_lock_nested(&bdev->bd_mutex, for_part); | 1013 | mutex_lock_nested(&bdev->bd_mutex, for_part); |
1019 | if (!bdev->bd_openers) { | 1014 | if (!bdev->bd_openers) { |
1020 | bdev->bd_disk = disk; | 1015 | bdev->bd_disk = disk; |
1021 | bdev->bd_part = part; | ||
1022 | bdev->bd_contains = bdev; | 1016 | bdev->bd_contains = bdev; |
1023 | if (!partno) { | 1017 | if (!partno) { |
1024 | struct backing_dev_info *bdi; | 1018 | struct backing_dev_info *bdi; |
1019 | |||
1020 | ret = -ENXIO; | ||
1021 | bdev->bd_part = disk_get_part(disk, partno); | ||
1022 | if (!bdev->bd_part) | ||
1023 | goto out_clear; | ||
1024 | |||
1025 | if (disk->fops->open) { | 1025 | if (disk->fops->open) { |
1026 | ret = disk->fops->open(bdev, mode); | 1026 | ret = disk->fops->open(bdev, mode); |
1027 | if (ret) | 1027 | if (ret) |
@@ -1049,18 +1049,17 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1049 | bdev->bd_contains = whole; | 1049 | bdev->bd_contains = whole; |
1050 | bdev->bd_inode->i_data.backing_dev_info = | 1050 | bdev->bd_inode->i_data.backing_dev_info = |
1051 | whole->bd_inode->i_data.backing_dev_info; | 1051 | whole->bd_inode->i_data.backing_dev_info; |
1052 | bdev->bd_part = disk_get_part(disk, partno); | ||
1052 | if (!(disk->flags & GENHD_FL_UP) || | 1053 | if (!(disk->flags & GENHD_FL_UP) || |
1053 | !part || !part->nr_sects) { | 1054 | !bdev->bd_part || !bdev->bd_part->nr_sects) { |
1054 | ret = -ENXIO; | 1055 | ret = -ENXIO; |
1055 | goto out_clear; | 1056 | goto out_clear; |
1056 | } | 1057 | } |
1057 | bd_set_size(bdev, (loff_t)part->nr_sects << 9); | 1058 | bd_set_size(bdev, (loff_t)bdev->bd_part->nr_sects << 9); |
1058 | } | 1059 | } |
1059 | } else { | 1060 | } else { |
1060 | disk_put_part(part); | ||
1061 | put_disk(disk); | 1061 | put_disk(disk); |
1062 | module_put(disk->fops->owner); | 1062 | module_put(disk->fops->owner); |
1063 | part = NULL; | ||
1064 | disk = NULL; | 1063 | disk = NULL; |
1065 | if (bdev->bd_contains == bdev) { | 1064 | if (bdev->bd_contains == bdev) { |
1066 | if (bdev->bd_disk->fops->open) { | 1065 | if (bdev->bd_disk->fops->open) { |
@@ -1080,6 +1079,7 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1080 | return 0; | 1079 | return 0; |
1081 | 1080 | ||
1082 | out_clear: | 1081 | out_clear: |
1082 | disk_put_part(bdev->bd_part); | ||
1083 | bdev->bd_disk = NULL; | 1083 | bdev->bd_disk = NULL; |
1084 | bdev->bd_part = NULL; | 1084 | bdev->bd_part = NULL; |
1085 | bdev->bd_inode->i_data.backing_dev_info = &default_backing_dev_info; | 1085 | bdev->bd_inode->i_data.backing_dev_info = &default_backing_dev_info; |
@@ -1091,7 +1091,6 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part) | |||
1091 | out_unlock_kernel: | 1091 | out_unlock_kernel: |
1092 | unlock_kernel(); | 1092 | unlock_kernel(); |
1093 | 1093 | ||
1094 | disk_put_part(part); | ||
1095 | if (disk) | 1094 | if (disk) |
1096 | module_put(disk->fops->owner); | 1095 | module_put(disk->fops->owner); |
1097 | put_disk(disk); | 1096 | put_disk(disk); |
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 8f528ea24c48..8855331b2fba 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -4,7 +4,11 @@ Various fixes to make delete of open files behavior more predictable | |||
4 | (when delete of an open file fails we mark the file as "delete-on-close" | 4 | (when delete of an open file fails we mark the file as "delete-on-close" |
5 | in a way that more servers accept, but only if we can first rename the | 5 | in a way that more servers accept, but only if we can first rename the |
6 | file to a temporary name). Add experimental support for more safely | 6 | file to a temporary name). Add experimental support for more safely |
7 | handling fcntl(F_SETLEASE). | 7 | handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp |
8 | sends, and also let tcp autotune the socket send and receive buffers. | ||
9 | This reduces the number of EAGAIN errors returned by TCP/IP in | ||
10 | high stress workloads (and the number of retries on socket writes | ||
11 | when sending large SMBWriteX requests). | ||
8 | 12 | ||
9 | Version 1.54 | 13 | Version 1.54 |
10 | ------------ | 14 | ------------ |
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index c791e5b5a914..1cb1189f24e0 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -141,6 +141,8 @@ struct TCP_Server_Info { | |||
141 | char versionMajor; | 141 | char versionMajor; |
142 | char versionMinor; | 142 | char versionMinor; |
143 | bool svlocal:1; /* local server or remote */ | 143 | bool svlocal:1; /* local server or remote */ |
144 | bool noblocksnd; /* use blocking sendmsg */ | ||
145 | bool noautotune; /* do not autotune send buf sizes */ | ||
144 | atomic_t socketUseCount; /* number of open cifs sessions on socket */ | 146 | atomic_t socketUseCount; /* number of open cifs sessions on socket */ |
145 | atomic_t inFlight; /* number of requests on the wire to server */ | 147 | atomic_t inFlight; /* number of requests on the wire to server */ |
146 | #ifdef CONFIG_CIFS_STATS2 | 148 | #ifdef CONFIG_CIFS_STATS2 |
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 0cff7fe986e8..6f21ecb85ce5 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h | |||
@@ -36,7 +36,7 @@ extern void cifs_buf_release(void *); | |||
36 | extern struct smb_hdr *cifs_small_buf_get(void); | 36 | extern struct smb_hdr *cifs_small_buf_get(void); |
37 | extern void cifs_small_buf_release(void *); | 37 | extern void cifs_small_buf_release(void *); |
38 | extern int smb_send(struct socket *, struct smb_hdr *, | 38 | extern int smb_send(struct socket *, struct smb_hdr *, |
39 | unsigned int /* length */ , struct sockaddr *); | 39 | unsigned int /* length */ , struct sockaddr *, bool); |
40 | extern unsigned int _GetXid(void); | 40 | extern unsigned int _GetXid(void); |
41 | extern void _FreeXid(unsigned int); | 41 | extern void _FreeXid(unsigned int); |
42 | #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current->fsuid)); | 42 | #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current->fsuid)); |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 843a85fb8b9a..d5eac48fc415 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -1536,7 +1536,7 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon, | |||
1536 | __u32 bytes_sent; | 1536 | __u32 bytes_sent; |
1537 | __u16 byte_count; | 1537 | __u16 byte_count; |
1538 | 1538 | ||
1539 | /* cFYI(1,("write at %lld %d bytes",offset,count));*/ | 1539 | /* cFYI(1, ("write at %lld %d bytes", offset, count));*/ |
1540 | if (tcon->ses == NULL) | 1540 | if (tcon->ses == NULL) |
1541 | return -ECONNABORTED; | 1541 | return -ECONNABORTED; |
1542 | 1542 | ||
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index cd54fee3f05c..2df8e6d0fb08 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -92,6 +92,8 @@ struct smb_vol { | |||
92 | bool seal:1; /* request transport encryption on share */ | 92 | bool seal:1; /* request transport encryption on share */ |
93 | bool nodfs:1; /* Do not request DFS, even if available */ | 93 | bool nodfs:1; /* Do not request DFS, even if available */ |
94 | bool local_lease:1; /* check leases only on local system, not remote */ | 94 | bool local_lease:1; /* check leases only on local system, not remote */ |
95 | bool noblocksnd:1; | ||
96 | bool noautotune:1; | ||
95 | unsigned int rsize; | 97 | unsigned int rsize; |
96 | unsigned int wsize; | 98 | unsigned int wsize; |
97 | unsigned int sockopt; | 99 | unsigned int sockopt; |
@@ -102,9 +104,11 @@ struct smb_vol { | |||
102 | static int ipv4_connect(struct sockaddr_in *psin_server, | 104 | static int ipv4_connect(struct sockaddr_in *psin_server, |
103 | struct socket **csocket, | 105 | struct socket **csocket, |
104 | char *netb_name, | 106 | char *netb_name, |
105 | char *server_netb_name); | 107 | char *server_netb_name, |
108 | bool noblocksnd, | ||
109 | bool nosndbuf); /* ipv6 never set sndbuf size */ | ||
106 | static int ipv6_connect(struct sockaddr_in6 *psin_server, | 110 | static int ipv6_connect(struct sockaddr_in6 *psin_server, |
107 | struct socket **csocket); | 111 | struct socket **csocket, bool noblocksnd); |
108 | 112 | ||
109 | 113 | ||
110 | /* | 114 | /* |
@@ -191,12 +195,13 @@ cifs_reconnect(struct TCP_Server_Info *server) | |||
191 | try_to_freeze(); | 195 | try_to_freeze(); |
192 | if (server->protocolType == IPV6) { | 196 | if (server->protocolType == IPV6) { |
193 | rc = ipv6_connect(&server->addr.sockAddr6, | 197 | rc = ipv6_connect(&server->addr.sockAddr6, |
194 | &server->ssocket); | 198 | &server->ssocket, server->noautotune); |
195 | } else { | 199 | } else { |
196 | rc = ipv4_connect(&server->addr.sockAddr, | 200 | rc = ipv4_connect(&server->addr.sockAddr, |
197 | &server->ssocket, | 201 | &server->ssocket, |
198 | server->workstation_RFC1001_name, | 202 | server->workstation_RFC1001_name, |
199 | server->server_RFC1001_name); | 203 | server->server_RFC1001_name, |
204 | server->noblocksnd, server->noautotune); | ||
200 | } | 205 | } |
201 | if (rc) { | 206 | if (rc) { |
202 | cFYI(1, ("reconnect error %d", rc)); | 207 | cFYI(1, ("reconnect error %d", rc)); |
@@ -1192,6 +1197,10 @@ cifs_parse_mount_options(char *options, const char *devname, | |||
1192 | /* ignore */ | 1197 | /* ignore */ |
1193 | } else if (strnicmp(data, "rw", 2) == 0) { | 1198 | } else if (strnicmp(data, "rw", 2) == 0) { |
1194 | vol->rw = true; | 1199 | vol->rw = true; |
1200 | } else if (strnicmp(data, "noblocksend", 11) == 0) { | ||
1201 | vol->noblocksnd = 1; | ||
1202 | } else if (strnicmp(data, "noautotune", 10) == 0) { | ||
1203 | vol->noautotune = 1; | ||
1195 | } else if ((strnicmp(data, "suid", 4) == 0) || | 1204 | } else if ((strnicmp(data, "suid", 4) == 0) || |
1196 | (strnicmp(data, "nosuid", 6) == 0) || | 1205 | (strnicmp(data, "nosuid", 6) == 0) || |
1197 | (strnicmp(data, "exec", 4) == 0) || | 1206 | (strnicmp(data, "exec", 4) == 0) || |
@@ -1518,7 +1527,8 @@ static void rfc1002mangle(char *target, char *source, unsigned int length) | |||
1518 | 1527 | ||
1519 | static int | 1528 | static int |
1520 | ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, | 1529 | ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, |
1521 | char *netbios_name, char *target_name) | 1530 | char *netbios_name, char *target_name, |
1531 | bool noblocksnd, bool noautotune) | ||
1522 | { | 1532 | { |
1523 | int rc = 0; | 1533 | int rc = 0; |
1524 | int connected = 0; | 1534 | int connected = 0; |
@@ -1590,11 +1600,16 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, | |||
1590 | (*csocket)->sk->sk_sndbuf, | 1600 | (*csocket)->sk->sk_sndbuf, |
1591 | (*csocket)->sk->sk_rcvbuf, (*csocket)->sk->sk_rcvtimeo)); | 1601 | (*csocket)->sk->sk_rcvbuf, (*csocket)->sk->sk_rcvtimeo)); |
1592 | (*csocket)->sk->sk_rcvtimeo = 7 * HZ; | 1602 | (*csocket)->sk->sk_rcvtimeo = 7 * HZ; |
1603 | if (!noblocksnd) | ||
1604 | (*csocket)->sk->sk_sndtimeo = 3 * HZ; | ||
1605 | |||
1593 | /* make the bufsizes depend on wsize/rsize and max requests */ | 1606 | /* make the bufsizes depend on wsize/rsize and max requests */ |
1594 | if ((*csocket)->sk->sk_sndbuf < (200 * 1024)) | 1607 | if (noautotune) { |
1595 | (*csocket)->sk->sk_sndbuf = 200 * 1024; | 1608 | if ((*csocket)->sk->sk_sndbuf < (200 * 1024)) |
1596 | if ((*csocket)->sk->sk_rcvbuf < (140 * 1024)) | 1609 | (*csocket)->sk->sk_sndbuf = 200 * 1024; |
1597 | (*csocket)->sk->sk_rcvbuf = 140 * 1024; | 1610 | if ((*csocket)->sk->sk_rcvbuf < (140 * 1024)) |
1611 | (*csocket)->sk->sk_rcvbuf = 140 * 1024; | ||
1612 | } | ||
1598 | 1613 | ||
1599 | /* send RFC1001 sessinit */ | 1614 | /* send RFC1001 sessinit */ |
1600 | if (psin_server->sin_port == htons(RFC1001_PORT)) { | 1615 | if (psin_server->sin_port == htons(RFC1001_PORT)) { |
@@ -1631,7 +1646,7 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, | |||
1631 | /* sizeof RFC1002_SESSION_REQUEST with no scope */ | 1646 | /* sizeof RFC1002_SESSION_REQUEST with no scope */ |
1632 | smb_buf->smb_buf_length = 0x81000044; | 1647 | smb_buf->smb_buf_length = 0x81000044; |
1633 | rc = smb_send(*csocket, smb_buf, 0x44, | 1648 | rc = smb_send(*csocket, smb_buf, 0x44, |
1634 | (struct sockaddr *)psin_server); | 1649 | (struct sockaddr *)psin_server, noblocksnd); |
1635 | kfree(ses_init_buf); | 1650 | kfree(ses_init_buf); |
1636 | msleep(1); /* RFC1001 layer in at least one server | 1651 | msleep(1); /* RFC1001 layer in at least one server |
1637 | requires very short break before negprot | 1652 | requires very short break before negprot |
@@ -1651,7 +1666,8 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, | |||
1651 | } | 1666 | } |
1652 | 1667 | ||
1653 | static int | 1668 | static int |
1654 | ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) | 1669 | ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket, |
1670 | bool noblocksnd) | ||
1655 | { | 1671 | { |
1656 | int rc = 0; | 1672 | int rc = 0; |
1657 | int connected = 0; | 1673 | int connected = 0; |
@@ -1720,6 +1736,9 @@ ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) | |||
1720 | the default. sock_setsockopt not used because it expects | 1736 | the default. sock_setsockopt not used because it expects |
1721 | user space buffer */ | 1737 | user space buffer */ |
1722 | (*csocket)->sk->sk_rcvtimeo = 7 * HZ; | 1738 | (*csocket)->sk->sk_rcvtimeo = 7 * HZ; |
1739 | if (!noblocksnd) | ||
1740 | (*csocket)->sk->sk_sndtimeo = 3 * HZ; | ||
1741 | |||
1723 | 1742 | ||
1724 | return rc; | 1743 | return rc; |
1725 | } | 1744 | } |
@@ -1983,11 +2002,14 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
1983 | cFYI(1, ("attempting ipv6 connect")); | 2002 | cFYI(1, ("attempting ipv6 connect")); |
1984 | /* BB should we allow ipv6 on port 139? */ | 2003 | /* BB should we allow ipv6 on port 139? */ |
1985 | /* other OS never observed in Wild doing 139 with v6 */ | 2004 | /* other OS never observed in Wild doing 139 with v6 */ |
1986 | rc = ipv6_connect(&sin_server6, &csocket); | 2005 | rc = ipv6_connect(&sin_server6, &csocket, |
2006 | volume_info.noblocksnd); | ||
1987 | } else | 2007 | } else |
1988 | rc = ipv4_connect(&sin_server, &csocket, | 2008 | rc = ipv4_connect(&sin_server, &csocket, |
1989 | volume_info.source_rfc1001_name, | 2009 | volume_info.source_rfc1001_name, |
1990 | volume_info.target_rfc1001_name); | 2010 | volume_info.target_rfc1001_name, |
2011 | volume_info.noblocksnd, | ||
2012 | volume_info.noautotune); | ||
1991 | if (rc < 0) { | 2013 | if (rc < 0) { |
1992 | cERROR(1, ("Error connecting to IPv4 socket. " | 2014 | cERROR(1, ("Error connecting to IPv4 socket. " |
1993 | "Aborting operation")); | 2015 | "Aborting operation")); |
@@ -2002,6 +2024,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
2002 | sock_release(csocket); | 2024 | sock_release(csocket); |
2003 | goto out; | 2025 | goto out; |
2004 | } else { | 2026 | } else { |
2027 | srvTcp->noblocksnd = volume_info.noblocksnd; | ||
2028 | srvTcp->noautotune = volume_info.noautotune; | ||
2005 | memcpy(&srvTcp->addr.sockAddr, &sin_server, | 2029 | memcpy(&srvTcp->addr.sockAddr, &sin_server, |
2006 | sizeof(struct sockaddr_in)); | 2030 | sizeof(struct sockaddr_in)); |
2007 | atomic_set(&srvTcp->inFlight, 0); | 2031 | atomic_set(&srvTcp->inFlight, 0); |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 62d8bd8f14c0..ead1a3bb0256 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -1824,7 +1824,7 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
1824 | pTcon = cifs_sb->tcon; | 1824 | pTcon = cifs_sb->tcon; |
1825 | 1825 | ||
1826 | pagevec_init(&lru_pvec, 0); | 1826 | pagevec_init(&lru_pvec, 0); |
1827 | cFYI(DBG2, ("rpages: num pages %d", num_pages)); | 1827 | cFYI(DBG2, ("rpages: num pages %d", num_pages)); |
1828 | for (i = 0; i < num_pages; ) { | 1828 | for (i = 0; i < num_pages; ) { |
1829 | unsigned contig_pages; | 1829 | unsigned contig_pages; |
1830 | struct page *tmp_page; | 1830 | struct page *tmp_page; |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index d54fa8aeaea9..ff8c68de4a92 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -1361,9 +1361,11 @@ int cifs_rename(struct inode *source_dir, struct dentry *source_dentry, | |||
1361 | CIFS_MOUNT_MAP_SPECIAL_CHR); | 1361 | CIFS_MOUNT_MAP_SPECIAL_CHR); |
1362 | 1362 | ||
1363 | if (tmprc == 0 && (info_buf_source->UniqueId == | 1363 | if (tmprc == 0 && (info_buf_source->UniqueId == |
1364 | info_buf_target->UniqueId)) | 1364 | info_buf_target->UniqueId)) { |
1365 | /* same file, POSIX says that this is a noop */ | 1365 | /* same file, POSIX says that this is a noop */ |
1366 | rc = 0; | ||
1366 | goto cifs_rename_exit; | 1367 | goto cifs_rename_exit; |
1368 | } | ||
1367 | } /* else ... BB we could add the same check for Windows by | 1369 | } /* else ... BB we could add the same check for Windows by |
1368 | checking the UniqueId via FILE_INTERNAL_INFO */ | 1370 | checking the UniqueId via FILE_INTERNAL_INFO */ |
1369 | 1371 | ||
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index bf0e6d8e382a..ff8243a8fe3e 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c | |||
@@ -161,7 +161,7 @@ void DeleteTconOplockQEntries(struct cifsTconInfo *tcon) | |||
161 | 161 | ||
162 | int | 162 | int |
163 | smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, | 163 | smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, |
164 | unsigned int smb_buf_length, struct sockaddr *sin) | 164 | unsigned int smb_buf_length, struct sockaddr *sin, bool noblocksnd) |
165 | { | 165 | { |
166 | int rc = 0; | 166 | int rc = 0; |
167 | int i = 0; | 167 | int i = 0; |
@@ -178,7 +178,10 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, | |||
178 | smb_msg.msg_namelen = sizeof(struct sockaddr); | 178 | smb_msg.msg_namelen = sizeof(struct sockaddr); |
179 | smb_msg.msg_control = NULL; | 179 | smb_msg.msg_control = NULL; |
180 | smb_msg.msg_controllen = 0; | 180 | smb_msg.msg_controllen = 0; |
181 | smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; /* BB add more flags?*/ | 181 | if (noblocksnd) |
182 | smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; | ||
183 | else | ||
184 | smb_msg.msg_flags = MSG_NOSIGNAL; | ||
182 | 185 | ||
183 | /* smb header is converted in header_assemble. bcc and rest of SMB word | 186 | /* smb header is converted in header_assemble. bcc and rest of SMB word |
184 | area, and byte area if necessary, is converted to littleendian in | 187 | area, and byte area if necessary, is converted to littleendian in |
@@ -229,8 +232,8 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, | |||
229 | } | 232 | } |
230 | 233 | ||
231 | static int | 234 | static int |
232 | smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, | 235 | smb_send2(struct TCP_Server_Info *server, struct kvec *iov, int n_vec, |
233 | struct sockaddr *sin) | 236 | struct sockaddr *sin, bool noblocksnd) |
234 | { | 237 | { |
235 | int rc = 0; | 238 | int rc = 0; |
236 | int i = 0; | 239 | int i = 0; |
@@ -240,6 +243,7 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, | |||
240 | unsigned int total_len; | 243 | unsigned int total_len; |
241 | int first_vec = 0; | 244 | int first_vec = 0; |
242 | unsigned int smb_buf_length = smb_buffer->smb_buf_length; | 245 | unsigned int smb_buf_length = smb_buffer->smb_buf_length; |
246 | struct socket *ssocket = server->ssocket; | ||
243 | 247 | ||
244 | if (ssocket == NULL) | 248 | if (ssocket == NULL) |
245 | return -ENOTSOCK; /* BB eventually add reconnect code here */ | 249 | return -ENOTSOCK; /* BB eventually add reconnect code here */ |
@@ -248,7 +252,10 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, | |||
248 | smb_msg.msg_namelen = sizeof(struct sockaddr); | 252 | smb_msg.msg_namelen = sizeof(struct sockaddr); |
249 | smb_msg.msg_control = NULL; | 253 | smb_msg.msg_control = NULL; |
250 | smb_msg.msg_controllen = 0; | 254 | smb_msg.msg_controllen = 0; |
251 | smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; /* BB add more flags?*/ | 255 | if (noblocksnd) |
256 | smb_msg.msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; | ||
257 | else | ||
258 | smb_msg.msg_flags = MSG_NOSIGNAL; | ||
252 | 259 | ||
253 | /* smb header is converted in header_assemble. bcc and rest of SMB word | 260 | /* smb header is converted in header_assemble. bcc and rest of SMB word |
254 | area, and byte area if necessary, is converted to littleendian in | 261 | area, and byte area if necessary, is converted to littleendian in |
@@ -283,8 +290,11 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, | |||
283 | if (rc < 0) | 290 | if (rc < 0) |
284 | break; | 291 | break; |
285 | 292 | ||
286 | if (rc >= total_len) { | 293 | if (rc == total_len) { |
287 | WARN_ON(rc > total_len); | 294 | total_len = 0; |
295 | break; | ||
296 | } else if (rc > total_len) { | ||
297 | cERROR(1, ("sent %d requested %d", rc, total_len)); | ||
288 | break; | 298 | break; |
289 | } | 299 | } |
290 | if (rc == 0) { | 300 | if (rc == 0) { |
@@ -312,6 +322,16 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec, | |||
312 | i = 0; /* in case we get ENOSPC on the next send */ | 322 | i = 0; /* in case we get ENOSPC on the next send */ |
313 | } | 323 | } |
314 | 324 | ||
325 | if ((total_len > 0) && (total_len != smb_buf_length + 4)) { | ||
326 | cFYI(1, ("partial send (%d remaining), terminating session", | ||
327 | total_len)); | ||
328 | /* If we have only sent part of an SMB then the next SMB | ||
329 | could be taken as the remainder of this one. We need | ||
330 | to kill the socket so the server throws away the partial | ||
331 | SMB */ | ||
332 | server->tcpStatus = CifsNeedReconnect; | ||
333 | } | ||
334 | |||
315 | if (rc < 0) { | 335 | if (rc < 0) { |
316 | cERROR(1, ("Error %d sending data on socket to server", rc)); | 336 | cERROR(1, ("Error %d sending data on socket to server", rc)); |
317 | } else | 337 | } else |
@@ -518,8 +538,9 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses, | |||
518 | #ifdef CONFIG_CIFS_STATS2 | 538 | #ifdef CONFIG_CIFS_STATS2 |
519 | atomic_inc(&ses->server->inSend); | 539 | atomic_inc(&ses->server->inSend); |
520 | #endif | 540 | #endif |
521 | rc = smb_send2(ses->server->ssocket, iov, n_vec, | 541 | rc = smb_send2(ses->server, iov, n_vec, |
522 | (struct sockaddr *) &(ses->server->addr.sockAddr)); | 542 | (struct sockaddr *) &(ses->server->addr.sockAddr), |
543 | ses->server->noblocksnd); | ||
523 | #ifdef CONFIG_CIFS_STATS2 | 544 | #ifdef CONFIG_CIFS_STATS2 |
524 | atomic_dec(&ses->server->inSend); | 545 | atomic_dec(&ses->server->inSend); |
525 | midQ->when_sent = jiffies; | 546 | midQ->when_sent = jiffies; |
@@ -711,7 +732,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, | |||
711 | atomic_inc(&ses->server->inSend); | 732 | atomic_inc(&ses->server->inSend); |
712 | #endif | 733 | #endif |
713 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, | 734 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, |
714 | (struct sockaddr *) &(ses->server->addr.sockAddr)); | 735 | (struct sockaddr *) &(ses->server->addr.sockAddr), |
736 | ses->server->noblocksnd); | ||
715 | #ifdef CONFIG_CIFS_STATS2 | 737 | #ifdef CONFIG_CIFS_STATS2 |
716 | atomic_dec(&ses->server->inSend); | 738 | atomic_dec(&ses->server->inSend); |
717 | midQ->when_sent = jiffies; | 739 | midQ->when_sent = jiffies; |
@@ -851,7 +873,8 @@ send_nt_cancel(struct cifsTconInfo *tcon, struct smb_hdr *in_buf, | |||
851 | return rc; | 873 | return rc; |
852 | } | 874 | } |
853 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, | 875 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, |
854 | (struct sockaddr *) &(ses->server->addr.sockAddr)); | 876 | (struct sockaddr *) &(ses->server->addr.sockAddr), |
877 | ses->server->noblocksnd); | ||
855 | up(&ses->server->tcpSem); | 878 | up(&ses->server->tcpSem); |
856 | return rc; | 879 | return rc; |
857 | } | 880 | } |
@@ -941,7 +964,8 @@ SendReceiveBlockingLock(const unsigned int xid, struct cifsTconInfo *tcon, | |||
941 | atomic_inc(&ses->server->inSend); | 964 | atomic_inc(&ses->server->inSend); |
942 | #endif | 965 | #endif |
943 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, | 966 | rc = smb_send(ses->server->ssocket, in_buf, in_buf->smb_buf_length, |
944 | (struct sockaddr *) &(ses->server->addr.sockAddr)); | 967 | (struct sockaddr *) &(ses->server->addr.sockAddr), |
968 | ses->server->noblocksnd); | ||
945 | #ifdef CONFIG_CIFS_STATS2 | 969 | #ifdef CONFIG_CIFS_STATS2 |
946 | atomic_dec(&ses->server->inSend); | 970 | atomic_dec(&ses->server->inSend); |
947 | midQ->when_sent = jiffies; | 971 | midQ->when_sent = jiffies; |
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 18eaa78ecb4e..5dec6d1356c4 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c | |||
@@ -281,7 +281,8 @@ void ext3_abort (struct super_block * sb, const char * function, | |||
281 | EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS; | 281 | EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS; |
282 | sb->s_flags |= MS_RDONLY; | 282 | sb->s_flags |= MS_RDONLY; |
283 | EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT; | 283 | EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT; |
284 | journal_abort(EXT3_SB(sb)->s_journal, -EIO); | 284 | if (EXT3_SB(sb)->s_journal) |
285 | journal_abort(EXT3_SB(sb)->s_journal, -EIO); | ||
285 | } | 286 | } |
286 | 287 | ||
287 | void ext3_warning (struct super_block * sb, const char * function, | 288 | void ext3_warning (struct super_block * sb, const char * function, |
@@ -390,11 +391,14 @@ static void ext3_put_super (struct super_block * sb) | |||
390 | { | 391 | { |
391 | struct ext3_sb_info *sbi = EXT3_SB(sb); | 392 | struct ext3_sb_info *sbi = EXT3_SB(sb); |
392 | struct ext3_super_block *es = sbi->s_es; | 393 | struct ext3_super_block *es = sbi->s_es; |
393 | int i; | 394 | int i, err; |
394 | 395 | ||
395 | ext3_xattr_put_super(sb); | 396 | ext3_xattr_put_super(sb); |
396 | if (journal_destroy(sbi->s_journal) < 0) | 397 | err = journal_destroy(sbi->s_journal); |
398 | sbi->s_journal = NULL; | ||
399 | if (err < 0) | ||
397 | ext3_abort(sb, __func__, "Couldn't clean up the journal"); | 400 | ext3_abort(sb, __func__, "Couldn't clean up the journal"); |
401 | |||
398 | if (!(sb->s_flags & MS_RDONLY)) { | 402 | if (!(sb->s_flags & MS_RDONLY)) { |
399 | EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); | 403 | EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); |
400 | es->s_state = cpu_to_le16(sbi->s_mount_state); | 404 | es->s_state = cpu_to_le16(sbi->s_mount_state); |
@@ -2386,13 +2390,12 @@ static void ext3_write_super (struct super_block * sb) | |||
2386 | 2390 | ||
2387 | static int ext3_sync_fs(struct super_block *sb, int wait) | 2391 | static int ext3_sync_fs(struct super_block *sb, int wait) |
2388 | { | 2392 | { |
2389 | tid_t target; | ||
2390 | |||
2391 | sb->s_dirt = 0; | 2393 | sb->s_dirt = 0; |
2392 | if (journal_start_commit(EXT3_SB(sb)->s_journal, &target)) { | 2394 | if (wait) |
2393 | if (wait) | 2395 | ext3_force_commit(sb); |
2394 | log_wait_commit(EXT3_SB(sb)->s_journal, target); | 2396 | else |
2395 | } | 2397 | journal_start_commit(EXT3_SB(sb)->s_journal, NULL); |
2398 | |||
2396 | return 0; | 2399 | return 0; |
2397 | } | 2400 | } |
2398 | 2401 | ||
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c index b9821be709bd..d2003cdc36aa 100644 --- a/fs/ext4/balloc.c +++ b/fs/ext4/balloc.c | |||
@@ -589,21 +589,23 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode, | |||
589 | return; | 589 | return; |
590 | } | 590 | } |
591 | 591 | ||
592 | int ext4_claim_free_blocks(struct ext4_sb_info *sbi, | 592 | /** |
593 | s64 nblocks) | 593 | * ext4_has_free_blocks() |
594 | * @sbi: in-core super block structure. | ||
595 | * @nblocks: number of needed blocks | ||
596 | * | ||
597 | * Check if filesystem has nblocks free & available for allocation. | ||
598 | * On success return 1, return 0 on failure. | ||
599 | */ | ||
600 | int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks) | ||
594 | { | 601 | { |
595 | s64 free_blocks, dirty_blocks; | 602 | s64 free_blocks, dirty_blocks, root_blocks; |
596 | s64 root_blocks = 0; | ||
597 | struct percpu_counter *fbc = &sbi->s_freeblocks_counter; | 603 | struct percpu_counter *fbc = &sbi->s_freeblocks_counter; |
598 | struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter; | 604 | struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter; |
599 | 605 | ||
600 | free_blocks = percpu_counter_read_positive(fbc); | 606 | free_blocks = percpu_counter_read_positive(fbc); |
601 | dirty_blocks = percpu_counter_read_positive(dbc); | 607 | dirty_blocks = percpu_counter_read_positive(dbc); |
602 | 608 | root_blocks = ext4_r_blocks_count(sbi->s_es); | |
603 | if (!capable(CAP_SYS_RESOURCE) && | ||
604 | sbi->s_resuid != current->fsuid && | ||
605 | (sbi->s_resgid == 0 || !in_group_p(sbi->s_resgid))) | ||
606 | root_blocks = ext4_r_blocks_count(sbi->s_es); | ||
607 | 609 | ||
608 | if (free_blocks - (nblocks + root_blocks + dirty_blocks) < | 610 | if (free_blocks - (nblocks + root_blocks + dirty_blocks) < |
609 | EXT4_FREEBLOCKS_WATERMARK) { | 611 | EXT4_FREEBLOCKS_WATERMARK) { |
@@ -616,57 +618,32 @@ int ext4_claim_free_blocks(struct ext4_sb_info *sbi, | |||
616 | } | 618 | } |
617 | } | 619 | } |
618 | /* Check whether we have space after | 620 | /* Check whether we have space after |
619 | * accounting for current dirty blocks | 621 | * accounting for current dirty blocks & root reserved blocks. |
620 | */ | 622 | */ |
621 | if (free_blocks < ((root_blocks + nblocks) + dirty_blocks)) | 623 | if (free_blocks >= ((root_blocks + nblocks) + dirty_blocks)) |
622 | /* we don't have free space */ | 624 | return 1; |
623 | return -ENOSPC; | 625 | |
626 | /* Hm, nope. Are (enough) root reserved blocks available? */ | ||
627 | if (sbi->s_resuid == current->fsuid || | ||
628 | ((sbi->s_resgid != 0) && in_group_p(sbi->s_resgid)) || | ||
629 | capable(CAP_SYS_RESOURCE)) { | ||
630 | if (free_blocks >= (nblocks + dirty_blocks)) | ||
631 | return 1; | ||
632 | } | ||
624 | 633 | ||
625 | /* Add the blocks to nblocks */ | ||
626 | percpu_counter_add(dbc, nblocks); | ||
627 | return 0; | 634 | return 0; |
628 | } | 635 | } |
629 | 636 | ||
630 | /** | 637 | int ext4_claim_free_blocks(struct ext4_sb_info *sbi, |
631 | * ext4_has_free_blocks() | ||
632 | * @sbi: in-core super block structure. | ||
633 | * @nblocks: number of neeed blocks | ||
634 | * | ||
635 | * Check if filesystem has free blocks available for allocation. | ||
636 | * Return the number of blocks avaible for allocation for this request | ||
637 | * On success, return nblocks | ||
638 | */ | ||
639 | ext4_fsblk_t ext4_has_free_blocks(struct ext4_sb_info *sbi, | ||
640 | s64 nblocks) | 638 | s64 nblocks) |
641 | { | 639 | { |
642 | s64 free_blocks, dirty_blocks; | 640 | if (ext4_has_free_blocks(sbi, nblocks)) { |
643 | s64 root_blocks = 0; | 641 | percpu_counter_add(&sbi->s_dirtyblocks_counter, nblocks); |
644 | struct percpu_counter *fbc = &sbi->s_freeblocks_counter; | ||
645 | struct percpu_counter *dbc = &sbi->s_dirtyblocks_counter; | ||
646 | |||
647 | free_blocks = percpu_counter_read_positive(fbc); | ||
648 | dirty_blocks = percpu_counter_read_positive(dbc); | ||
649 | |||
650 | if (!capable(CAP_SYS_RESOURCE) && | ||
651 | sbi->s_resuid != current->fsuid && | ||
652 | (sbi->s_resgid == 0 || !in_group_p(sbi->s_resgid))) | ||
653 | root_blocks = ext4_r_blocks_count(sbi->s_es); | ||
654 | |||
655 | if (free_blocks - (nblocks + root_blocks + dirty_blocks) < | ||
656 | EXT4_FREEBLOCKS_WATERMARK) { | ||
657 | free_blocks = percpu_counter_sum(fbc); | ||
658 | dirty_blocks = percpu_counter_sum(dbc); | ||
659 | } | ||
660 | if (free_blocks <= (root_blocks + dirty_blocks)) | ||
661 | /* we don't have free space */ | ||
662 | return 0; | 642 | return 0; |
663 | 643 | } else | |
664 | if (free_blocks - (root_blocks + dirty_blocks) < nblocks) | 644 | return -ENOSPC; |
665 | return free_blocks - (root_blocks + dirty_blocks); | ||
666 | return nblocks; | ||
667 | } | 645 | } |
668 | 646 | ||
669 | |||
670 | /** | 647 | /** |
671 | * ext4_should_retry_alloc() | 648 | * ext4_should_retry_alloc() |
672 | * @sb: super block | 649 | * @sb: super block |
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 4880cc3e6727..b0537c827024 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -1003,8 +1003,7 @@ extern ext4_fsblk_t ext4_new_blocks(handle_t *handle, struct inode *inode, | |||
1003 | ext4_lblk_t iblock, ext4_fsblk_t goal, | 1003 | ext4_lblk_t iblock, ext4_fsblk_t goal, |
1004 | unsigned long *count, int *errp); | 1004 | unsigned long *count, int *errp); |
1005 | extern int ext4_claim_free_blocks(struct ext4_sb_info *sbi, s64 nblocks); | 1005 | extern int ext4_claim_free_blocks(struct ext4_sb_info *sbi, s64 nblocks); |
1006 | extern ext4_fsblk_t ext4_has_free_blocks(struct ext4_sb_info *sbi, | 1006 | extern int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks); |
1007 | s64 nblocks); | ||
1008 | extern void ext4_free_blocks(handle_t *handle, struct inode *inode, | 1007 | extern void ext4_free_blocks(handle_t *handle, struct inode *inode, |
1009 | ext4_fsblk_t block, unsigned long count, int metadata); | 1008 | ext4_fsblk_t block, unsigned long count, int metadata); |
1010 | extern void ext4_free_blocks_sb(handle_t *handle, struct super_block *sb, | 1009 | extern void ext4_free_blocks_sb(handle_t *handle, struct super_block *sb, |
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index bdddea14e782..994859df010e 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -333,7 +333,8 @@ void ext4_abort(struct super_block *sb, const char *function, | |||
333 | EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS; | 333 | EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS; |
334 | sb->s_flags |= MS_RDONLY; | 334 | sb->s_flags |= MS_RDONLY; |
335 | EXT4_SB(sb)->s_mount_opt |= EXT4_MOUNT_ABORT; | 335 | EXT4_SB(sb)->s_mount_opt |= EXT4_MOUNT_ABORT; |
336 | jbd2_journal_abort(EXT4_SB(sb)->s_journal, -EIO); | 336 | if (EXT4_SB(sb)->s_journal) |
337 | jbd2_journal_abort(EXT4_SB(sb)->s_journal, -EIO); | ||
337 | } | 338 | } |
338 | 339 | ||
339 | void ext4_warning(struct super_block *sb, const char *function, | 340 | void ext4_warning(struct super_block *sb, const char *function, |
@@ -442,14 +443,16 @@ static void ext4_put_super(struct super_block *sb) | |||
442 | { | 443 | { |
443 | struct ext4_sb_info *sbi = EXT4_SB(sb); | 444 | struct ext4_sb_info *sbi = EXT4_SB(sb); |
444 | struct ext4_super_block *es = sbi->s_es; | 445 | struct ext4_super_block *es = sbi->s_es; |
445 | int i; | 446 | int i, err; |
446 | 447 | ||
447 | ext4_mb_release(sb); | 448 | ext4_mb_release(sb); |
448 | ext4_ext_release(sb); | 449 | ext4_ext_release(sb); |
449 | ext4_xattr_put_super(sb); | 450 | ext4_xattr_put_super(sb); |
450 | if (jbd2_journal_destroy(sbi->s_journal) < 0) | 451 | err = jbd2_journal_destroy(sbi->s_journal); |
451 | ext4_abort(sb, __func__, "Couldn't clean up the journal"); | ||
452 | sbi->s_journal = NULL; | 452 | sbi->s_journal = NULL; |
453 | if (err < 0) | ||
454 | ext4_abort(sb, __func__, "Couldn't clean up the journal"); | ||
455 | |||
453 | if (!(sb->s_flags & MS_RDONLY)) { | 456 | if (!(sb->s_flags & MS_RDONLY)) { |
454 | EXT4_CLEAR_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_RECOVER); | 457 | EXT4_CLEAR_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_RECOVER); |
455 | es->s_state = cpu_to_le16(sbi->s_mount_state); | 458 | es->s_state = cpu_to_le16(sbi->s_mount_state); |
diff --git a/fs/fat/Makefile b/fs/fat/Makefile index bfb5f06cf2c8..e06190322c1c 100644 --- a/fs/fat/Makefile +++ b/fs/fat/Makefile | |||
@@ -3,5 +3,9 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_FAT_FS) += fat.o | 5 | obj-$(CONFIG_FAT_FS) += fat.o |
6 | obj-$(CONFIG_VFAT_FS) += vfat.o | ||
7 | obj-$(CONFIG_MSDOS_FS) += msdos.o | ||
6 | 8 | ||
7 | fat-objs := cache.o dir.o fatent.o file.o inode.o misc.o | 9 | fat-y := cache.o dir.o fatent.o file.o inode.o misc.o |
10 | vfat-y := namei_vfat.o | ||
11 | msdos-y := namei_msdos.o | ||
diff --git a/fs/fat/cache.c b/fs/fat/cache.c index 3222f51c41cf..b42602298087 100644 --- a/fs/fat/cache.c +++ b/fs/fat/cache.c | |||
@@ -9,8 +9,8 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/fs.h> | 11 | #include <linux/fs.h> |
12 | #include <linux/msdos_fs.h> | ||
13 | #include <linux/buffer_head.h> | 12 | #include <linux/buffer_head.h> |
13 | #include "fat.h" | ||
14 | 14 | ||
15 | /* this must be > 0. */ | 15 | /* this must be > 0. */ |
16 | #define FAT_MAX_CACHE 8 | 16 | #define FAT_MAX_CACHE 8 |
@@ -293,10 +293,12 @@ static int fat_bmap_cluster(struct inode *inode, int cluster) | |||
293 | } | 293 | } |
294 | 294 | ||
295 | int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, | 295 | int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, |
296 | unsigned long *mapped_blocks) | 296 | unsigned long *mapped_blocks, int create) |
297 | { | 297 | { |
298 | struct super_block *sb = inode->i_sb; | 298 | struct super_block *sb = inode->i_sb; |
299 | struct msdos_sb_info *sbi = MSDOS_SB(sb); | 299 | struct msdos_sb_info *sbi = MSDOS_SB(sb); |
300 | const unsigned long blocksize = sb->s_blocksize; | ||
301 | const unsigned char blocksize_bits = sb->s_blocksize_bits; | ||
300 | sector_t last_block; | 302 | sector_t last_block; |
301 | int cluster, offset; | 303 | int cluster, offset; |
302 | 304 | ||
@@ -309,10 +311,21 @@ int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, | |||
309 | } | 311 | } |
310 | return 0; | 312 | return 0; |
311 | } | 313 | } |
312 | last_block = (MSDOS_I(inode)->mmu_private + (sb->s_blocksize - 1)) | 314 | |
313 | >> sb->s_blocksize_bits; | 315 | last_block = (i_size_read(inode) + (blocksize - 1)) >> blocksize_bits; |
314 | if (sector >= last_block) | 316 | if (sector >= last_block) { |
315 | return 0; | 317 | if (!create) |
318 | return 0; | ||
319 | |||
320 | /* | ||
321 | * ->mmu_private can access on only allocation path. | ||
322 | * (caller must hold ->i_mutex) | ||
323 | */ | ||
324 | last_block = (MSDOS_I(inode)->mmu_private + (blocksize - 1)) | ||
325 | >> blocksize_bits; | ||
326 | if (sector >= last_block) | ||
327 | return 0; | ||
328 | } | ||
316 | 329 | ||
317 | cluster = sector >> (sbi->cluster_bits - sb->s_blocksize_bits); | 330 | cluster = sector >> (sbi->cluster_bits - sb->s_blocksize_bits); |
318 | offset = sector & (sbi->sec_per_clus - 1); | 331 | offset = sector & (sbi->sec_per_clus - 1); |
diff --git a/fs/fat/dir.c b/fs/fat/dir.c index bae1c3292522..67e058357098 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c | |||
@@ -16,11 +16,11 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
18 | #include <linux/time.h> | 18 | #include <linux/time.h> |
19 | #include <linux/msdos_fs.h> | ||
20 | #include <linux/smp_lock.h> | 19 | #include <linux/smp_lock.h> |
21 | #include <linux/buffer_head.h> | 20 | #include <linux/buffer_head.h> |
22 | #include <linux/compat.h> | 21 | #include <linux/compat.h> |
23 | #include <asm/uaccess.h> | 22 | #include <asm/uaccess.h> |
23 | #include "fat.h" | ||
24 | 24 | ||
25 | static inline loff_t fat_make_i_pos(struct super_block *sb, | 25 | static inline loff_t fat_make_i_pos(struct super_block *sb, |
26 | struct buffer_head *bh, | 26 | struct buffer_head *bh, |
@@ -77,7 +77,7 @@ next: | |||
77 | 77 | ||
78 | *bh = NULL; | 78 | *bh = NULL; |
79 | iblock = *pos >> sb->s_blocksize_bits; | 79 | iblock = *pos >> sb->s_blocksize_bits; |
80 | err = fat_bmap(dir, iblock, &phys, &mapped_blocks); | 80 | err = fat_bmap(dir, iblock, &phys, &mapped_blocks, 0); |
81 | if (err || !phys) | 81 | if (err || !phys) |
82 | return -1; /* beyond EOF or error */ | 82 | return -1; /* beyond EOF or error */ |
83 | 83 | ||
@@ -86,7 +86,7 @@ next: | |||
86 | *bh = sb_bread(sb, phys); | 86 | *bh = sb_bread(sb, phys); |
87 | if (*bh == NULL) { | 87 | if (*bh == NULL) { |
88 | printk(KERN_ERR "FAT: Directory bread(block %llu) failed\n", | 88 | printk(KERN_ERR "FAT: Directory bread(block %llu) failed\n", |
89 | (unsigned long long)phys); | 89 | (llu)phys); |
90 | /* skip this block */ | 90 | /* skip this block */ |
91 | *pos = (iblock + 1) << sb->s_blocksize_bits; | 91 | *pos = (iblock + 1) << sb->s_blocksize_bits; |
92 | goto next; | 92 | goto next; |
@@ -373,9 +373,10 @@ parse_record: | |||
373 | if (de->attr == ATTR_EXT) { | 373 | if (de->attr == ATTR_EXT) { |
374 | int status = fat_parse_long(inode, &cpos, &bh, &de, | 374 | int status = fat_parse_long(inode, &cpos, &bh, &de, |
375 | &unicode, &nr_slots); | 375 | &unicode, &nr_slots); |
376 | if (status < 0) | 376 | if (status < 0) { |
377 | return status; | 377 | err = status; |
378 | else if (status == PARSE_INVALID) | 378 | goto end_of_dir; |
379 | } else if (status == PARSE_INVALID) | ||
379 | continue; | 380 | continue; |
380 | else if (status == PARSE_NOT_LONGNAME) | 381 | else if (status == PARSE_NOT_LONGNAME) |
381 | goto parse_record; | 382 | goto parse_record; |
@@ -832,6 +833,7 @@ static long fat_compat_dir_ioctl(struct file *filp, unsigned cmd, | |||
832 | #endif /* CONFIG_COMPAT */ | 833 | #endif /* CONFIG_COMPAT */ |
833 | 834 | ||
834 | const struct file_operations fat_dir_operations = { | 835 | const struct file_operations fat_dir_operations = { |
836 | .llseek = generic_file_llseek, | ||
835 | .read = generic_read_dir, | 837 | .read = generic_read_dir, |
836 | .readdir = fat_readdir, | 838 | .readdir = fat_readdir, |
837 | .ioctl = fat_dir_ioctl, | 839 | .ioctl = fat_dir_ioctl, |
@@ -1089,6 +1091,7 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts) | |||
1089 | struct msdos_dir_entry *de; | 1091 | struct msdos_dir_entry *de; |
1090 | sector_t blknr; | 1092 | sector_t blknr; |
1091 | __le16 date, time; | 1093 | __le16 date, time; |
1094 | u8 time_cs; | ||
1092 | int err, cluster; | 1095 | int err, cluster; |
1093 | 1096 | ||
1094 | err = fat_alloc_clusters(dir, &cluster, 1); | 1097 | err = fat_alloc_clusters(dir, &cluster, 1); |
@@ -1102,7 +1105,7 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts) | |||
1102 | goto error_free; | 1105 | goto error_free; |
1103 | } | 1106 | } |
1104 | 1107 | ||
1105 | fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); | 1108 | fat_time_unix2fat(sbi, ts, &time, &date, &time_cs); |
1106 | 1109 | ||
1107 | de = (struct msdos_dir_entry *)bhs[0]->b_data; | 1110 | de = (struct msdos_dir_entry *)bhs[0]->b_data; |
1108 | /* filling the new directory slots ("." and ".." entries) */ | 1111 | /* filling the new directory slots ("." and ".." entries) */ |
@@ -1112,13 +1115,14 @@ int fat_alloc_new_dir(struct inode *dir, struct timespec *ts) | |||
1112 | de[0].lcase = de[1].lcase = 0; | 1115 | de[0].lcase = de[1].lcase = 0; |
1113 | de[0].time = de[1].time = time; | 1116 | de[0].time = de[1].time = time; |
1114 | de[0].date = de[1].date = date; | 1117 | de[0].date = de[1].date = date; |
1115 | de[0].ctime_cs = de[1].ctime_cs = 0; | ||
1116 | if (sbi->options.isvfat) { | 1118 | if (sbi->options.isvfat) { |
1117 | /* extra timestamps */ | 1119 | /* extra timestamps */ |
1118 | de[0].ctime = de[1].ctime = time; | 1120 | de[0].ctime = de[1].ctime = time; |
1121 | de[0].ctime_cs = de[1].ctime_cs = time_cs; | ||
1119 | de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date; | 1122 | de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date; |
1120 | } else { | 1123 | } else { |
1121 | de[0].ctime = de[1].ctime = 0; | 1124 | de[0].ctime = de[1].ctime = 0; |
1125 | de[0].ctime_cs = de[1].ctime_cs = 0; | ||
1122 | de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0; | 1126 | de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0; |
1123 | } | 1127 | } |
1124 | de[0].start = cpu_to_le16(cluster); | 1128 | de[0].start = cpu_to_le16(cluster); |
diff --git a/fs/fat/fat.h b/fs/fat/fat.h new file mode 100644 index 000000000000..ea440d65819c --- /dev/null +++ b/fs/fat/fat.h | |||
@@ -0,0 +1,329 @@ | |||
1 | #ifndef _FAT_H | ||
2 | #define _FAT_H | ||
3 | |||
4 | #include <linux/buffer_head.h> | ||
5 | #include <linux/string.h> | ||
6 | #include <linux/nls.h> | ||
7 | #include <linux/fs.h> | ||
8 | #include <linux/mutex.h> | ||
9 | #include <linux/msdos_fs.h> | ||
10 | |||
11 | /* | ||
12 | * vfat shortname flags | ||
13 | */ | ||
14 | #define VFAT_SFN_DISPLAY_LOWER 0x0001 /* convert to lowercase for display */ | ||
15 | #define VFAT_SFN_DISPLAY_WIN95 0x0002 /* emulate win95 rule for display */ | ||
16 | #define VFAT_SFN_DISPLAY_WINNT 0x0004 /* emulate winnt rule for display */ | ||
17 | #define VFAT_SFN_CREATE_WIN95 0x0100 /* emulate win95 rule for create */ | ||
18 | #define VFAT_SFN_CREATE_WINNT 0x0200 /* emulate winnt rule for create */ | ||
19 | |||
20 | struct fat_mount_options { | ||
21 | uid_t fs_uid; | ||
22 | gid_t fs_gid; | ||
23 | unsigned short fs_fmask; | ||
24 | unsigned short fs_dmask; | ||
25 | unsigned short codepage; /* Codepage for shortname conversions */ | ||
26 | char *iocharset; /* Charset used for filename input/display */ | ||
27 | unsigned short shortname; /* flags for shortname display/create rule */ | ||
28 | unsigned char name_check; /* r = relaxed, n = normal, s = strict */ | ||
29 | unsigned short allow_utime;/* permission for setting the [am]time */ | ||
30 | unsigned quiet:1, /* set = fake successful chmods and chowns */ | ||
31 | showexec:1, /* set = only set x bit for com/exe/bat */ | ||
32 | sys_immutable:1, /* set = system files are immutable */ | ||
33 | dotsOK:1, /* set = hidden and system files are named '.filename' */ | ||
34 | isvfat:1, /* 0=no vfat long filename support, 1=vfat support */ | ||
35 | utf8:1, /* Use of UTF-8 character set (Default) */ | ||
36 | unicode_xlate:1, /* create escape sequences for unhandled Unicode */ | ||
37 | numtail:1, /* Does first alias have a numeric '~1' type tail? */ | ||
38 | flush:1, /* write things quickly */ | ||
39 | nocase:1, /* Does this need case conversion? 0=need case conversion*/ | ||
40 | usefree:1, /* Use free_clusters for FAT32 */ | ||
41 | tz_utc:1, /* Filesystem timestamps are in UTC */ | ||
42 | rodir:1; /* allow ATTR_RO for directory */ | ||
43 | }; | ||
44 | |||
45 | #define FAT_HASH_BITS 8 | ||
46 | #define FAT_HASH_SIZE (1UL << FAT_HASH_BITS) | ||
47 | |||
48 | /* | ||
49 | * MS-DOS file system in-core superblock data | ||
50 | */ | ||
51 | struct msdos_sb_info { | ||
52 | unsigned short sec_per_clus; /* sectors/cluster */ | ||
53 | unsigned short cluster_bits; /* log2(cluster_size) */ | ||
54 | unsigned int cluster_size; /* cluster size */ | ||
55 | unsigned char fats,fat_bits; /* number of FATs, FAT bits (12 or 16) */ | ||
56 | unsigned short fat_start; | ||
57 | unsigned long fat_length; /* FAT start & length (sec.) */ | ||
58 | unsigned long dir_start; | ||
59 | unsigned short dir_entries; /* root dir start & entries */ | ||
60 | unsigned long data_start; /* first data sector */ | ||
61 | unsigned long max_cluster; /* maximum cluster number */ | ||
62 | unsigned long root_cluster; /* first cluster of the root directory */ | ||
63 | unsigned long fsinfo_sector; /* sector number of FAT32 fsinfo */ | ||
64 | struct mutex fat_lock; | ||
65 | unsigned int prev_free; /* previously allocated cluster number */ | ||
66 | unsigned int free_clusters; /* -1 if undefined */ | ||
67 | unsigned int free_clus_valid; /* is free_clusters valid? */ | ||
68 | struct fat_mount_options options; | ||
69 | struct nls_table *nls_disk; /* Codepage used on disk */ | ||
70 | struct nls_table *nls_io; /* Charset used for input and display */ | ||
71 | const void *dir_ops; /* Opaque; default directory operations */ | ||
72 | int dir_per_block; /* dir entries per block */ | ||
73 | int dir_per_block_bits; /* log2(dir_per_block) */ | ||
74 | |||
75 | int fatent_shift; | ||
76 | struct fatent_operations *fatent_ops; | ||
77 | |||
78 | spinlock_t inode_hash_lock; | ||
79 | struct hlist_head inode_hashtable[FAT_HASH_SIZE]; | ||
80 | }; | ||
81 | |||
82 | #define FAT_CACHE_VALID 0 /* special case for valid cache */ | ||
83 | |||
84 | /* | ||
85 | * MS-DOS file system inode data in memory | ||
86 | */ | ||
87 | struct msdos_inode_info { | ||
88 | spinlock_t cache_lru_lock; | ||
89 | struct list_head cache_lru; | ||
90 | int nr_caches; | ||
91 | /* for avoiding the race between fat_free() and fat_get_cluster() */ | ||
92 | unsigned int cache_valid_id; | ||
93 | |||
94 | /* NOTE: mmu_private is 64bits, so must hold ->i_mutex to access */ | ||
95 | loff_t mmu_private; /* physically allocated size */ | ||
96 | |||
97 | int i_start; /* first cluster or 0 */ | ||
98 | int i_logstart; /* logical first cluster */ | ||
99 | int i_attrs; /* unused attribute bits */ | ||
100 | loff_t i_pos; /* on-disk position of directory entry or 0 */ | ||
101 | struct hlist_node i_fat_hash; /* hash by i_location */ | ||
102 | struct inode vfs_inode; | ||
103 | }; | ||
104 | |||
105 | struct fat_slot_info { | ||
106 | loff_t i_pos; /* on-disk position of directory entry */ | ||
107 | loff_t slot_off; /* offset for slot or de start */ | ||
108 | int nr_slots; /* number of slots + 1(de) in filename */ | ||
109 | struct msdos_dir_entry *de; | ||
110 | struct buffer_head *bh; | ||
111 | }; | ||
112 | |||
113 | static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb) | ||
114 | { | ||
115 | return sb->s_fs_info; | ||
116 | } | ||
117 | |||
118 | static inline struct msdos_inode_info *MSDOS_I(struct inode *inode) | ||
119 | { | ||
120 | return container_of(inode, struct msdos_inode_info, vfs_inode); | ||
121 | } | ||
122 | |||
123 | /* | ||
124 | * If ->i_mode can't hold S_IWUGO (i.e. ATTR_RO), we use ->i_attrs to | ||
125 | * save ATTR_RO instead of ->i_mode. | ||
126 | * | ||
127 | * If it's directory and !sbi->options.rodir, ATTR_RO isn't read-only | ||
128 | * bit, it's just used as flag for app. | ||
129 | */ | ||
130 | static inline int fat_mode_can_hold_ro(struct inode *inode) | ||
131 | { | ||
132 | struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb); | ||
133 | mode_t mask; | ||
134 | |||
135 | if (S_ISDIR(inode->i_mode)) { | ||
136 | if (!sbi->options.rodir) | ||
137 | return 0; | ||
138 | mask = ~sbi->options.fs_dmask; | ||
139 | } else | ||
140 | mask = ~sbi->options.fs_fmask; | ||
141 | |||
142 | if (!(mask & S_IWUGO)) | ||
143 | return 0; | ||
144 | return 1; | ||
145 | } | ||
146 | |||
147 | /* Convert attribute bits and a mask to the UNIX mode. */ | ||
148 | static inline mode_t fat_make_mode(struct msdos_sb_info *sbi, | ||
149 | u8 attrs, mode_t mode) | ||
150 | { | ||
151 | if (attrs & ATTR_RO && !((attrs & ATTR_DIR) && !sbi->options.rodir)) | ||
152 | mode &= ~S_IWUGO; | ||
153 | |||
154 | if (attrs & ATTR_DIR) | ||
155 | return (mode & ~sbi->options.fs_dmask) | S_IFDIR; | ||
156 | else | ||
157 | return (mode & ~sbi->options.fs_fmask) | S_IFREG; | ||
158 | } | ||
159 | |||
160 | /* Return the FAT attribute byte for this inode */ | ||
161 | static inline u8 fat_make_attrs(struct inode *inode) | ||
162 | { | ||
163 | u8 attrs = MSDOS_I(inode)->i_attrs; | ||
164 | if (S_ISDIR(inode->i_mode)) | ||
165 | attrs |= ATTR_DIR; | ||
166 | if (fat_mode_can_hold_ro(inode) && !(inode->i_mode & S_IWUGO)) | ||
167 | attrs |= ATTR_RO; | ||
168 | return attrs; | ||
169 | } | ||
170 | |||
171 | static inline void fat_save_attrs(struct inode *inode, u8 attrs) | ||
172 | { | ||
173 | if (fat_mode_can_hold_ro(inode)) | ||
174 | MSDOS_I(inode)->i_attrs = attrs & ATTR_UNUSED; | ||
175 | else | ||
176 | MSDOS_I(inode)->i_attrs = attrs & (ATTR_UNUSED | ATTR_RO); | ||
177 | } | ||
178 | |||
179 | static inline unsigned char fat_checksum(const __u8 *name) | ||
180 | { | ||
181 | unsigned char s = name[0]; | ||
182 | s = (s<<7) + (s>>1) + name[1]; s = (s<<7) + (s>>1) + name[2]; | ||
183 | s = (s<<7) + (s>>1) + name[3]; s = (s<<7) + (s>>1) + name[4]; | ||
184 | s = (s<<7) + (s>>1) + name[5]; s = (s<<7) + (s>>1) + name[6]; | ||
185 | s = (s<<7) + (s>>1) + name[7]; s = (s<<7) + (s>>1) + name[8]; | ||
186 | s = (s<<7) + (s>>1) + name[9]; s = (s<<7) + (s>>1) + name[10]; | ||
187 | return s; | ||
188 | } | ||
189 | |||
190 | static inline sector_t fat_clus_to_blknr(struct msdos_sb_info *sbi, int clus) | ||
191 | { | ||
192 | return ((sector_t)clus - FAT_START_ENT) * sbi->sec_per_clus | ||
193 | + sbi->data_start; | ||
194 | } | ||
195 | |||
196 | static inline void fat16_towchar(wchar_t *dst, const __u8 *src, size_t len) | ||
197 | { | ||
198 | #ifdef __BIG_ENDIAN | ||
199 | while (len--) { | ||
200 | *dst++ = src[0] | (src[1] << 8); | ||
201 | src += 2; | ||
202 | } | ||
203 | #else | ||
204 | memcpy(dst, src, len * 2); | ||
205 | #endif | ||
206 | } | ||
207 | |||
208 | static inline void fatwchar_to16(__u8 *dst, const wchar_t *src, size_t len) | ||
209 | { | ||
210 | #ifdef __BIG_ENDIAN | ||
211 | while (len--) { | ||
212 | dst[0] = *src & 0x00FF; | ||
213 | dst[1] = (*src & 0xFF00) >> 8; | ||
214 | dst += 2; | ||
215 | src++; | ||
216 | } | ||
217 | #else | ||
218 | memcpy(dst, src, len * 2); | ||
219 | #endif | ||
220 | } | ||
221 | |||
222 | /* fat/cache.c */ | ||
223 | extern void fat_cache_inval_inode(struct inode *inode); | ||
224 | extern int fat_get_cluster(struct inode *inode, int cluster, | ||
225 | int *fclus, int *dclus); | ||
226 | extern int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, | ||
227 | unsigned long *mapped_blocks, int create); | ||
228 | |||
229 | /* fat/dir.c */ | ||
230 | extern const struct file_operations fat_dir_operations; | ||
231 | extern int fat_search_long(struct inode *inode, const unsigned char *name, | ||
232 | int name_len, struct fat_slot_info *sinfo); | ||
233 | extern int fat_dir_empty(struct inode *dir); | ||
234 | extern int fat_subdirs(struct inode *dir); | ||
235 | extern int fat_scan(struct inode *dir, const unsigned char *name, | ||
236 | struct fat_slot_info *sinfo); | ||
237 | extern int fat_get_dotdot_entry(struct inode *dir, struct buffer_head **bh, | ||
238 | struct msdos_dir_entry **de, loff_t *i_pos); | ||
239 | extern int fat_alloc_new_dir(struct inode *dir, struct timespec *ts); | ||
240 | extern int fat_add_entries(struct inode *dir, void *slots, int nr_slots, | ||
241 | struct fat_slot_info *sinfo); | ||
242 | extern int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo); | ||
243 | |||
244 | /* fat/fatent.c */ | ||
245 | struct fat_entry { | ||
246 | int entry; | ||
247 | union { | ||
248 | u8 *ent12_p[2]; | ||
249 | __le16 *ent16_p; | ||
250 | __le32 *ent32_p; | ||
251 | } u; | ||
252 | int nr_bhs; | ||
253 | struct buffer_head *bhs[2]; | ||
254 | }; | ||
255 | |||
256 | static inline void fatent_init(struct fat_entry *fatent) | ||
257 | { | ||
258 | fatent->nr_bhs = 0; | ||
259 | fatent->entry = 0; | ||
260 | fatent->u.ent32_p = NULL; | ||
261 | fatent->bhs[0] = fatent->bhs[1] = NULL; | ||
262 | } | ||
263 | |||
264 | static inline void fatent_set_entry(struct fat_entry *fatent, int entry) | ||
265 | { | ||
266 | fatent->entry = entry; | ||
267 | fatent->u.ent32_p = NULL; | ||
268 | } | ||
269 | |||
270 | static inline void fatent_brelse(struct fat_entry *fatent) | ||
271 | { | ||
272 | int i; | ||
273 | fatent->u.ent32_p = NULL; | ||
274 | for (i = 0; i < fatent->nr_bhs; i++) | ||
275 | brelse(fatent->bhs[i]); | ||
276 | fatent->nr_bhs = 0; | ||
277 | fatent->bhs[0] = fatent->bhs[1] = NULL; | ||
278 | } | ||
279 | |||
280 | extern void fat_ent_access_init(struct super_block *sb); | ||
281 | extern int fat_ent_read(struct inode *inode, struct fat_entry *fatent, | ||
282 | int entry); | ||
283 | extern int fat_ent_write(struct inode *inode, struct fat_entry *fatent, | ||
284 | int new, int wait); | ||
285 | extern int fat_alloc_clusters(struct inode *inode, int *cluster, | ||
286 | int nr_cluster); | ||
287 | extern int fat_free_clusters(struct inode *inode, int cluster); | ||
288 | extern int fat_count_free_clusters(struct super_block *sb); | ||
289 | |||
290 | /* fat/file.c */ | ||
291 | extern int fat_generic_ioctl(struct inode *inode, struct file *filp, | ||
292 | unsigned int cmd, unsigned long arg); | ||
293 | extern const struct file_operations fat_file_operations; | ||
294 | extern const struct inode_operations fat_file_inode_operations; | ||
295 | extern int fat_setattr(struct dentry * dentry, struct iattr * attr); | ||
296 | extern void fat_truncate(struct inode *inode); | ||
297 | extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, | ||
298 | struct kstat *stat); | ||
299 | |||
300 | /* fat/inode.c */ | ||
301 | extern void fat_attach(struct inode *inode, loff_t i_pos); | ||
302 | extern void fat_detach(struct inode *inode); | ||
303 | extern struct inode *fat_iget(struct super_block *sb, loff_t i_pos); | ||
304 | extern struct inode *fat_build_inode(struct super_block *sb, | ||
305 | struct msdos_dir_entry *de, loff_t i_pos); | ||
306 | extern int fat_sync_inode(struct inode *inode); | ||
307 | extern int fat_fill_super(struct super_block *sb, void *data, int silent, | ||
308 | const struct inode_operations *fs_dir_inode_ops, int isvfat); | ||
309 | |||
310 | extern int fat_flush_inodes(struct super_block *sb, struct inode *i1, | ||
311 | struct inode *i2); | ||
312 | /* fat/misc.c */ | ||
313 | extern void fat_fs_panic(struct super_block *s, const char *fmt, ...) | ||
314 | __attribute__ ((format (printf, 2, 3))) __cold; | ||
315 | extern void fat_clusters_flush(struct super_block *sb); | ||
316 | extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster); | ||
317 | extern void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts, | ||
318 | __le16 __time, __le16 __date, u8 time_cs); | ||
319 | extern void fat_time_unix2fat(struct msdos_sb_info *sbi, struct timespec *ts, | ||
320 | __le16 *time, __le16 *date, u8 *time_cs); | ||
321 | extern int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs); | ||
322 | |||
323 | int fat_cache_init(void); | ||
324 | void fat_cache_destroy(void); | ||
325 | |||
326 | /* helper for printk */ | ||
327 | typedef unsigned long long llu; | ||
328 | |||
329 | #endif /* !_FAT_H */ | ||
diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c index fb98b3d847ed..da6eea47872f 100644 --- a/fs/fat/fatent.c +++ b/fs/fat/fatent.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/fs.h> | 7 | #include <linux/fs.h> |
8 | #include <linux/msdos_fs.h> | 8 | #include <linux/msdos_fs.h> |
9 | #include <linux/blkdev.h> | 9 | #include <linux/blkdev.h> |
10 | #include "fat.h" | ||
10 | 11 | ||
11 | struct fatent_operations { | 12 | struct fatent_operations { |
12 | void (*ent_blocknr)(struct super_block *, int, int *, sector_t *); | 13 | void (*ent_blocknr)(struct super_block *, int, int *, sector_t *); |
@@ -92,8 +93,7 @@ static int fat12_ent_bread(struct super_block *sb, struct fat_entry *fatent, | |||
92 | err_brelse: | 93 | err_brelse: |
93 | brelse(bhs[0]); | 94 | brelse(bhs[0]); |
94 | err: | 95 | err: |
95 | printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", | 96 | printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", (llu)blocknr); |
96 | (unsigned long long)blocknr); | ||
97 | return -EIO; | 97 | return -EIO; |
98 | } | 98 | } |
99 | 99 | ||
@@ -106,7 +106,7 @@ static int fat_ent_bread(struct super_block *sb, struct fat_entry *fatent, | |||
106 | fatent->bhs[0] = sb_bread(sb, blocknr); | 106 | fatent->bhs[0] = sb_bread(sb, blocknr); |
107 | if (!fatent->bhs[0]) { | 107 | if (!fatent->bhs[0]) { |
108 | printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", | 108 | printk(KERN_ERR "FAT: FAT read failed (blocknr %llu)\n", |
109 | (unsigned long long)blocknr); | 109 | (llu)blocknr); |
110 | return -EIO; | 110 | return -EIO; |
111 | } | 111 | } |
112 | fatent->nr_bhs = 1; | 112 | fatent->nr_bhs = 1; |
@@ -316,10 +316,20 @@ static inline int fat_ent_update_ptr(struct super_block *sb, | |||
316 | /* Is this fatent's blocks including this entry? */ | 316 | /* Is this fatent's blocks including this entry? */ |
317 | if (!fatent->nr_bhs || bhs[0]->b_blocknr != blocknr) | 317 | if (!fatent->nr_bhs || bhs[0]->b_blocknr != blocknr) |
318 | return 0; | 318 | return 0; |
319 | /* Does this entry need the next block? */ | 319 | if (sbi->fat_bits == 12) { |
320 | if (sbi->fat_bits == 12 && (offset + 1) >= sb->s_blocksize) { | 320 | if ((offset + 1) < sb->s_blocksize) { |
321 | if (fatent->nr_bhs != 2 || bhs[1]->b_blocknr != (blocknr + 1)) | 321 | /* This entry is on bhs[0]. */ |
322 | return 0; | 322 | if (fatent->nr_bhs == 2) { |
323 | brelse(bhs[1]); | ||
324 | fatent->nr_bhs = 1; | ||
325 | } | ||
326 | } else { | ||
327 | /* This entry needs the next block. */ | ||
328 | if (fatent->nr_bhs != 2) | ||
329 | return 0; | ||
330 | if (bhs[1]->b_blocknr != (blocknr + 1)) | ||
331 | return 0; | ||
332 | } | ||
323 | } | 333 | } |
324 | ops->ent_set_ptr(fatent, offset); | 334 | ops->ent_set_ptr(fatent, offset); |
325 | return 1; | 335 | return 1; |
diff --git a/fs/fat/file.c b/fs/fat/file.c index ddde37025ca6..f06a4e525ece 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c | |||
@@ -10,13 +10,13 @@ | |||
10 | #include <linux/module.h> | 10 | #include <linux/module.h> |
11 | #include <linux/mount.h> | 11 | #include <linux/mount.h> |
12 | #include <linux/time.h> | 12 | #include <linux/time.h> |
13 | #include <linux/msdos_fs.h> | ||
14 | #include <linux/buffer_head.h> | 13 | #include <linux/buffer_head.h> |
15 | #include <linux/writeback.h> | 14 | #include <linux/writeback.h> |
16 | #include <linux/backing-dev.h> | 15 | #include <linux/backing-dev.h> |
17 | #include <linux/blkdev.h> | 16 | #include <linux/blkdev.h> |
18 | #include <linux/fsnotify.h> | 17 | #include <linux/fsnotify.h> |
19 | #include <linux/security.h> | 18 | #include <linux/security.h> |
19 | #include "fat.h" | ||
20 | 20 | ||
21 | int fat_generic_ioctl(struct inode *inode, struct file *filp, | 21 | int fat_generic_ioctl(struct inode *inode, struct file *filp, |
22 | unsigned int cmd, unsigned long arg) | 22 | unsigned int cmd, unsigned long arg) |
@@ -29,10 +29,9 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp, | |||
29 | { | 29 | { |
30 | u32 attr; | 30 | u32 attr; |
31 | 31 | ||
32 | if (inode->i_ino == MSDOS_ROOT_INO) | 32 | mutex_lock(&inode->i_mutex); |
33 | attr = ATTR_DIR; | 33 | attr = fat_make_attrs(inode); |
34 | else | 34 | mutex_unlock(&inode->i_mutex); |
35 | attr = fat_attr(inode); | ||
36 | 35 | ||
37 | return put_user(attr, user_attr); | 36 | return put_user(attr, user_attr); |
38 | } | 37 | } |
@@ -62,20 +61,16 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp, | |||
62 | /* Merge in ATTR_VOLUME and ATTR_DIR */ | 61 | /* Merge in ATTR_VOLUME and ATTR_DIR */ |
63 | attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) | | 62 | attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) | |
64 | (is_dir ? ATTR_DIR : 0); | 63 | (is_dir ? ATTR_DIR : 0); |
65 | oldattr = fat_attr(inode); | 64 | oldattr = fat_make_attrs(inode); |
66 | 65 | ||
67 | /* Equivalent to a chmod() */ | 66 | /* Equivalent to a chmod() */ |
68 | ia.ia_valid = ATTR_MODE | ATTR_CTIME; | 67 | ia.ia_valid = ATTR_MODE | ATTR_CTIME; |
69 | ia.ia_ctime = current_fs_time(inode->i_sb); | 68 | ia.ia_ctime = current_fs_time(inode->i_sb); |
70 | if (is_dir) { | 69 | if (is_dir) |
71 | ia.ia_mode = MSDOS_MKMODE(attr, | 70 | ia.ia_mode = fat_make_mode(sbi, attr, S_IRWXUGO); |
72 | S_IRWXUGO & ~sbi->options.fs_dmask) | 71 | else { |
73 | | S_IFDIR; | 72 | ia.ia_mode = fat_make_mode(sbi, attr, |
74 | } else { | 73 | S_IRUGO | S_IWUGO | (inode->i_mode & S_IXUGO)); |
75 | ia.ia_mode = MSDOS_MKMODE(attr, | ||
76 | (S_IRUGO | S_IWUGO | (inode->i_mode & S_IXUGO)) | ||
77 | & ~sbi->options.fs_fmask) | ||
78 | | S_IFREG; | ||
79 | } | 74 | } |
80 | 75 | ||
81 | /* The root directory has no attributes */ | 76 | /* The root directory has no attributes */ |
@@ -115,7 +110,7 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp, | |||
115 | inode->i_flags &= S_IMMUTABLE; | 110 | inode->i_flags &= S_IMMUTABLE; |
116 | } | 111 | } |
117 | 112 | ||
118 | MSDOS_I(inode)->i_attrs = attr & ATTR_UNUSED; | 113 | fat_save_attrs(inode, attr); |
119 | mark_inode_dirty(inode); | 114 | mark_inode_dirty(inode); |
120 | up: | 115 | up: |
121 | mnt_drop_write(filp->f_path.mnt); | 116 | mnt_drop_write(filp->f_path.mnt); |
@@ -274,7 +269,7 @@ static int fat_sanitize_mode(const struct msdos_sb_info *sbi, | |||
274 | 269 | ||
275 | /* | 270 | /* |
276 | * Note, the basic check is already done by a caller of | 271 | * Note, the basic check is already done by a caller of |
277 | * (attr->ia_mode & ~MSDOS_VALID_MODE) | 272 | * (attr->ia_mode & ~FAT_VALID_MODE) |
278 | */ | 273 | */ |
279 | 274 | ||
280 | if (S_ISREG(inode->i_mode)) | 275 | if (S_ISREG(inode->i_mode)) |
@@ -287,11 +282,18 @@ static int fat_sanitize_mode(const struct msdos_sb_info *sbi, | |||
287 | /* | 282 | /* |
288 | * Of the r and x bits, all (subject to umask) must be present. Of the | 283 | * Of the r and x bits, all (subject to umask) must be present. Of the |
289 | * w bits, either all (subject to umask) or none must be present. | 284 | * w bits, either all (subject to umask) or none must be present. |
285 | * | ||
286 | * If fat_mode_can_hold_ro(inode) is false, can't change w bits. | ||
290 | */ | 287 | */ |
291 | if ((perm & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO))) | 288 | if ((perm & (S_IRUGO | S_IXUGO)) != (inode->i_mode & (S_IRUGO|S_IXUGO))) |
292 | return -EPERM; | 289 | return -EPERM; |
293 | if ((perm & S_IWUGO) && ((perm & S_IWUGO) != (S_IWUGO & ~mask))) | 290 | if (fat_mode_can_hold_ro(inode)) { |
294 | return -EPERM; | 291 | if ((perm & S_IWUGO) && ((perm & S_IWUGO) != (S_IWUGO & ~mask))) |
292 | return -EPERM; | ||
293 | } else { | ||
294 | if ((perm & S_IWUGO) != (S_IWUGO & ~mask)) | ||
295 | return -EPERM; | ||
296 | } | ||
295 | 297 | ||
296 | *mode_ptr &= S_IFMT | perm; | 298 | *mode_ptr &= S_IFMT | perm; |
297 | 299 | ||
@@ -314,13 +316,15 @@ static int fat_allow_set_time(struct msdos_sb_info *sbi, struct inode *inode) | |||
314 | } | 316 | } |
315 | 317 | ||
316 | #define TIMES_SET_FLAGS (ATTR_MTIME_SET | ATTR_ATIME_SET | ATTR_TIMES_SET) | 318 | #define TIMES_SET_FLAGS (ATTR_MTIME_SET | ATTR_ATIME_SET | ATTR_TIMES_SET) |
319 | /* valid file mode bits */ | ||
320 | #define FAT_VALID_MODE (S_IFREG | S_IFDIR | S_IRWXUGO) | ||
317 | 321 | ||
318 | int fat_setattr(struct dentry *dentry, struct iattr *attr) | 322 | int fat_setattr(struct dentry *dentry, struct iattr *attr) |
319 | { | 323 | { |
320 | struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb); | 324 | struct msdos_sb_info *sbi = MSDOS_SB(dentry->d_sb); |
321 | struct inode *inode = dentry->d_inode; | 325 | struct inode *inode = dentry->d_inode; |
322 | int error = 0; | ||
323 | unsigned int ia_valid; | 326 | unsigned int ia_valid; |
327 | int error; | ||
324 | 328 | ||
325 | /* | 329 | /* |
326 | * Expand the file. Since inode_setattr() updates ->i_size | 330 | * Expand the file. Since inode_setattr() updates ->i_size |
@@ -356,7 +360,7 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr) | |||
356 | ((attr->ia_valid & ATTR_GID) && | 360 | ((attr->ia_valid & ATTR_GID) && |
357 | (attr->ia_gid != sbi->options.fs_gid)) || | 361 | (attr->ia_gid != sbi->options.fs_gid)) || |
358 | ((attr->ia_valid & ATTR_MODE) && | 362 | ((attr->ia_valid & ATTR_MODE) && |
359 | (attr->ia_mode & ~MSDOS_VALID_MODE))) | 363 | (attr->ia_mode & ~FAT_VALID_MODE))) |
360 | error = -EPERM; | 364 | error = -EPERM; |
361 | 365 | ||
362 | if (error) { | 366 | if (error) { |
@@ -374,7 +378,8 @@ int fat_setattr(struct dentry *dentry, struct iattr *attr) | |||
374 | attr->ia_valid &= ~ATTR_MODE; | 378 | attr->ia_valid &= ~ATTR_MODE; |
375 | } | 379 | } |
376 | 380 | ||
377 | error = inode_setattr(inode, attr); | 381 | if (attr->ia_valid) |
382 | error = inode_setattr(inode, attr); | ||
378 | out: | 383 | out: |
379 | return error; | 384 | return error; |
380 | } | 385 | } |
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 2b2eec1283bf..bdd8fb7be2ca 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/slab.h> | 16 | #include <linux/slab.h> |
17 | #include <linux/smp_lock.h> | 17 | #include <linux/smp_lock.h> |
18 | #include <linux/seq_file.h> | 18 | #include <linux/seq_file.h> |
19 | #include <linux/msdos_fs.h> | ||
20 | #include <linux/pagemap.h> | 19 | #include <linux/pagemap.h> |
21 | #include <linux/mpage.h> | 20 | #include <linux/mpage.h> |
22 | #include <linux/buffer_head.h> | 21 | #include <linux/buffer_head.h> |
@@ -27,7 +26,9 @@ | |||
27 | #include <linux/uio.h> | 26 | #include <linux/uio.h> |
28 | #include <linux/writeback.h> | 27 | #include <linux/writeback.h> |
29 | #include <linux/log2.h> | 28 | #include <linux/log2.h> |
29 | #include <linux/hash.h> | ||
30 | #include <asm/unaligned.h> | 30 | #include <asm/unaligned.h> |
31 | #include "fat.h" | ||
31 | 32 | ||
32 | #ifndef CONFIG_FAT_DEFAULT_IOCHARSET | 33 | #ifndef CONFIG_FAT_DEFAULT_IOCHARSET |
33 | /* if user don't select VFAT, this is undefined. */ | 34 | /* if user don't select VFAT, this is undefined. */ |
@@ -63,7 +64,7 @@ static inline int __fat_get_block(struct inode *inode, sector_t iblock, | |||
63 | sector_t phys; | 64 | sector_t phys; |
64 | int err, offset; | 65 | int err, offset; |
65 | 66 | ||
66 | err = fat_bmap(inode, iblock, &phys, &mapped_blocks); | 67 | err = fat_bmap(inode, iblock, &phys, &mapped_blocks, create); |
67 | if (err) | 68 | if (err) |
68 | return err; | 69 | return err; |
69 | if (phys) { | 70 | if (phys) { |
@@ -93,7 +94,7 @@ static inline int __fat_get_block(struct inode *inode, sector_t iblock, | |||
93 | *max_blocks = min(mapped_blocks, *max_blocks); | 94 | *max_blocks = min(mapped_blocks, *max_blocks); |
94 | MSDOS_I(inode)->mmu_private += *max_blocks << sb->s_blocksize_bits; | 95 | MSDOS_I(inode)->mmu_private += *max_blocks << sb->s_blocksize_bits; |
95 | 96 | ||
96 | err = fat_bmap(inode, iblock, &phys, &mapped_blocks); | 97 | err = fat_bmap(inode, iblock, &phys, &mapped_blocks, create); |
97 | if (err) | 98 | if (err) |
98 | return err; | 99 | return err; |
99 | 100 | ||
@@ -198,7 +199,14 @@ static ssize_t fat_direct_IO(int rw, struct kiocb *iocb, | |||
198 | 199 | ||
199 | static sector_t _fat_bmap(struct address_space *mapping, sector_t block) | 200 | static sector_t _fat_bmap(struct address_space *mapping, sector_t block) |
200 | { | 201 | { |
201 | return generic_block_bmap(mapping, block, fat_get_block); | 202 | sector_t blocknr; |
203 | |||
204 | /* fat_get_cluster() assumes the requested blocknr isn't truncated. */ | ||
205 | mutex_lock(&mapping->host->i_mutex); | ||
206 | blocknr = generic_block_bmap(mapping, block, fat_get_block); | ||
207 | mutex_unlock(&mapping->host->i_mutex); | ||
208 | |||
209 | return blocknr; | ||
202 | } | 210 | } |
203 | 211 | ||
204 | static const struct address_space_operations fat_aops = { | 212 | static const struct address_space_operations fat_aops = { |
@@ -247,25 +255,21 @@ static void fat_hash_init(struct super_block *sb) | |||
247 | INIT_HLIST_HEAD(&sbi->inode_hashtable[i]); | 255 | INIT_HLIST_HEAD(&sbi->inode_hashtable[i]); |
248 | } | 256 | } |
249 | 257 | ||
250 | static inline unsigned long fat_hash(struct super_block *sb, loff_t i_pos) | 258 | static inline unsigned long fat_hash(loff_t i_pos) |
251 | { | 259 | { |
252 | unsigned long tmp = (unsigned long)i_pos | (unsigned long) sb; | 260 | return hash_32(i_pos, FAT_HASH_BITS); |
253 | tmp = tmp + (tmp >> FAT_HASH_BITS) + (tmp >> FAT_HASH_BITS * 2); | ||
254 | return tmp & FAT_HASH_MASK; | ||
255 | } | 261 | } |
256 | 262 | ||
257 | void fat_attach(struct inode *inode, loff_t i_pos) | 263 | void fat_attach(struct inode *inode, loff_t i_pos) |
258 | { | 264 | { |
259 | struct super_block *sb = inode->i_sb; | 265 | struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb); |
260 | struct msdos_sb_info *sbi = MSDOS_SB(sb); | 266 | struct hlist_head *head = sbi->inode_hashtable + fat_hash(i_pos); |
261 | 267 | ||
262 | spin_lock(&sbi->inode_hash_lock); | 268 | spin_lock(&sbi->inode_hash_lock); |
263 | MSDOS_I(inode)->i_pos = i_pos; | 269 | MSDOS_I(inode)->i_pos = i_pos; |
264 | hlist_add_head(&MSDOS_I(inode)->i_fat_hash, | 270 | hlist_add_head(&MSDOS_I(inode)->i_fat_hash, head); |
265 | sbi->inode_hashtable + fat_hash(sb, i_pos)); | ||
266 | spin_unlock(&sbi->inode_hash_lock); | 271 | spin_unlock(&sbi->inode_hash_lock); |
267 | } | 272 | } |
268 | |||
269 | EXPORT_SYMBOL_GPL(fat_attach); | 273 | EXPORT_SYMBOL_GPL(fat_attach); |
270 | 274 | ||
271 | void fat_detach(struct inode *inode) | 275 | void fat_detach(struct inode *inode) |
@@ -276,13 +280,12 @@ void fat_detach(struct inode *inode) | |||
276 | hlist_del_init(&MSDOS_I(inode)->i_fat_hash); | 280 | hlist_del_init(&MSDOS_I(inode)->i_fat_hash); |
277 | spin_unlock(&sbi->inode_hash_lock); | 281 | spin_unlock(&sbi->inode_hash_lock); |
278 | } | 282 | } |
279 | |||
280 | EXPORT_SYMBOL_GPL(fat_detach); | 283 | EXPORT_SYMBOL_GPL(fat_detach); |
281 | 284 | ||
282 | struct inode *fat_iget(struct super_block *sb, loff_t i_pos) | 285 | struct inode *fat_iget(struct super_block *sb, loff_t i_pos) |
283 | { | 286 | { |
284 | struct msdos_sb_info *sbi = MSDOS_SB(sb); | 287 | struct msdos_sb_info *sbi = MSDOS_SB(sb); |
285 | struct hlist_head *head = sbi->inode_hashtable + fat_hash(sb, i_pos); | 288 | struct hlist_head *head = sbi->inode_hashtable + fat_hash(i_pos); |
286 | struct hlist_node *_p; | 289 | struct hlist_node *_p; |
287 | struct msdos_inode_info *i; | 290 | struct msdos_inode_info *i; |
288 | struct inode *inode = NULL; | 291 | struct inode *inode = NULL; |
@@ -341,8 +344,7 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de) | |||
341 | 344 | ||
342 | if ((de->attr & ATTR_DIR) && !IS_FREE(de->name)) { | 345 | if ((de->attr & ATTR_DIR) && !IS_FREE(de->name)) { |
343 | inode->i_generation &= ~1; | 346 | inode->i_generation &= ~1; |
344 | inode->i_mode = MSDOS_MKMODE(de->attr, | 347 | inode->i_mode = fat_make_mode(sbi, de->attr, S_IRWXUGO); |
345 | S_IRWXUGO & ~sbi->options.fs_dmask) | S_IFDIR; | ||
346 | inode->i_op = sbi->dir_ops; | 348 | inode->i_op = sbi->dir_ops; |
347 | inode->i_fop = &fat_dir_operations; | 349 | inode->i_fop = &fat_dir_operations; |
348 | 350 | ||
@@ -359,10 +361,9 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de) | |||
359 | inode->i_nlink = fat_subdirs(inode); | 361 | inode->i_nlink = fat_subdirs(inode); |
360 | } else { /* not a directory */ | 362 | } else { /* not a directory */ |
361 | inode->i_generation |= 1; | 363 | inode->i_generation |= 1; |
362 | inode->i_mode = MSDOS_MKMODE(de->attr, | 364 | inode->i_mode = fat_make_mode(sbi, de->attr, |
363 | ((sbi->options.showexec && !is_exec(de->name + 8)) | 365 | ((sbi->options.showexec && !is_exec(de->name + 8)) |
364 | ? S_IRUGO|S_IWUGO : S_IRWXUGO) | 366 | ? S_IRUGO|S_IWUGO : S_IRWXUGO)); |
365 | & ~sbi->options.fs_fmask) | S_IFREG; | ||
366 | MSDOS_I(inode)->i_start = le16_to_cpu(de->start); | 367 | MSDOS_I(inode)->i_start = le16_to_cpu(de->start); |
367 | if (sbi->fat_bits == 32) | 368 | if (sbi->fat_bits == 32) |
368 | MSDOS_I(inode)->i_start |= (le16_to_cpu(de->starthi) << 16); | 369 | MSDOS_I(inode)->i_start |= (le16_to_cpu(de->starthi) << 16); |
@@ -378,25 +379,16 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de) | |||
378 | if (sbi->options.sys_immutable) | 379 | if (sbi->options.sys_immutable) |
379 | inode->i_flags |= S_IMMUTABLE; | 380 | inode->i_flags |= S_IMMUTABLE; |
380 | } | 381 | } |
381 | MSDOS_I(inode)->i_attrs = de->attr & ATTR_UNUSED; | 382 | fat_save_attrs(inode, de->attr); |
383 | |||
382 | inode->i_blocks = ((inode->i_size + (sbi->cluster_size - 1)) | 384 | inode->i_blocks = ((inode->i_size + (sbi->cluster_size - 1)) |
383 | & ~((loff_t)sbi->cluster_size - 1)) >> 9; | 385 | & ~((loff_t)sbi->cluster_size - 1)) >> 9; |
384 | inode->i_mtime.tv_sec = | 386 | |
385 | date_dos2unix(le16_to_cpu(de->time), le16_to_cpu(de->date), | 387 | fat_time_fat2unix(sbi, &inode->i_mtime, de->time, de->date, 0); |
386 | sbi->options.tz_utc); | ||
387 | inode->i_mtime.tv_nsec = 0; | ||
388 | if (sbi->options.isvfat) { | 388 | if (sbi->options.isvfat) { |
389 | int secs = de->ctime_cs / 100; | 389 | fat_time_fat2unix(sbi, &inode->i_ctime, de->ctime, |
390 | int csecs = de->ctime_cs % 100; | 390 | de->cdate, de->ctime_cs); |
391 | inode->i_ctime.tv_sec = | 391 | fat_time_fat2unix(sbi, &inode->i_atime, 0, de->adate, 0); |
392 | date_dos2unix(le16_to_cpu(de->ctime), | ||
393 | le16_to_cpu(de->cdate), | ||
394 | sbi->options.tz_utc) + secs; | ||
395 | inode->i_ctime.tv_nsec = csecs * 10000000; | ||
396 | inode->i_atime.tv_sec = | ||
397 | date_dos2unix(0, le16_to_cpu(de->adate), | ||
398 | sbi->options.tz_utc); | ||
399 | inode->i_atime.tv_nsec = 0; | ||
400 | } else | 392 | } else |
401 | inode->i_ctime = inode->i_atime = inode->i_mtime; | 393 | inode->i_ctime = inode->i_atime = inode->i_mtime; |
402 | 394 | ||
@@ -443,13 +435,8 @@ static void fat_delete_inode(struct inode *inode) | |||
443 | 435 | ||
444 | static void fat_clear_inode(struct inode *inode) | 436 | static void fat_clear_inode(struct inode *inode) |
445 | { | 437 | { |
446 | struct super_block *sb = inode->i_sb; | ||
447 | struct msdos_sb_info *sbi = MSDOS_SB(sb); | ||
448 | |||
449 | spin_lock(&sbi->inode_hash_lock); | ||
450 | fat_cache_inval_inode(inode); | 438 | fat_cache_inval_inode(inode); |
451 | hlist_del_init(&MSDOS_I(inode)->i_fat_hash); | 439 | fat_detach(inode); |
452 | spin_unlock(&sbi->inode_hash_lock); | ||
453 | } | 440 | } |
454 | 441 | ||
455 | static void fat_write_super(struct super_block *sb) | 442 | static void fat_write_super(struct super_block *sb) |
@@ -555,6 +542,20 @@ static int fat_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
555 | return 0; | 542 | return 0; |
556 | } | 543 | } |
557 | 544 | ||
545 | static inline loff_t fat_i_pos_read(struct msdos_sb_info *sbi, | ||
546 | struct inode *inode) | ||
547 | { | ||
548 | loff_t i_pos; | ||
549 | #if BITS_PER_LONG == 32 | ||
550 | spin_lock(&sbi->inode_hash_lock); | ||
551 | #endif | ||
552 | i_pos = MSDOS_I(inode)->i_pos; | ||
553 | #if BITS_PER_LONG == 32 | ||
554 | spin_unlock(&sbi->inode_hash_lock); | ||
555 | #endif | ||
556 | return i_pos; | ||
557 | } | ||
558 | |||
558 | static int fat_write_inode(struct inode *inode, int wait) | 559 | static int fat_write_inode(struct inode *inode, int wait) |
559 | { | 560 | { |
560 | struct super_block *sb = inode->i_sb; | 561 | struct super_block *sb = inode->i_sb; |
@@ -564,9 +565,12 @@ static int fat_write_inode(struct inode *inode, int wait) | |||
564 | loff_t i_pos; | 565 | loff_t i_pos; |
565 | int err; | 566 | int err; |
566 | 567 | ||
568 | if (inode->i_ino == MSDOS_ROOT_INO) | ||
569 | return 0; | ||
570 | |||
567 | retry: | 571 | retry: |
568 | i_pos = MSDOS_I(inode)->i_pos; | 572 | i_pos = fat_i_pos_read(sbi, inode); |
569 | if (inode->i_ino == MSDOS_ROOT_INO || !i_pos) | 573 | if (!i_pos) |
570 | return 0; | 574 | return 0; |
571 | 575 | ||
572 | bh = sb_bread(sb, i_pos >> sbi->dir_per_block_bits); | 576 | bh = sb_bread(sb, i_pos >> sbi->dir_per_block_bits); |
@@ -588,19 +592,17 @@ retry: | |||
588 | raw_entry->size = 0; | 592 | raw_entry->size = 0; |
589 | else | 593 | else |
590 | raw_entry->size = cpu_to_le32(inode->i_size); | 594 | raw_entry->size = cpu_to_le32(inode->i_size); |
591 | raw_entry->attr = fat_attr(inode); | 595 | raw_entry->attr = fat_make_attrs(inode); |
592 | raw_entry->start = cpu_to_le16(MSDOS_I(inode)->i_logstart); | 596 | raw_entry->start = cpu_to_le16(MSDOS_I(inode)->i_logstart); |
593 | raw_entry->starthi = cpu_to_le16(MSDOS_I(inode)->i_logstart >> 16); | 597 | raw_entry->starthi = cpu_to_le16(MSDOS_I(inode)->i_logstart >> 16); |
594 | fat_date_unix2dos(inode->i_mtime.tv_sec, &raw_entry->time, | 598 | fat_time_unix2fat(sbi, &inode->i_mtime, &raw_entry->time, |
595 | &raw_entry->date, sbi->options.tz_utc); | 599 | &raw_entry->date, NULL); |
596 | if (sbi->options.isvfat) { | 600 | if (sbi->options.isvfat) { |
597 | __le16 atime; | 601 | __le16 atime; |
598 | fat_date_unix2dos(inode->i_ctime.tv_sec, &raw_entry->ctime, | 602 | fat_time_unix2fat(sbi, &inode->i_ctime, &raw_entry->ctime, |
599 | &raw_entry->cdate, sbi->options.tz_utc); | 603 | &raw_entry->cdate, &raw_entry->ctime_cs); |
600 | fat_date_unix2dos(inode->i_atime.tv_sec, &atime, | 604 | fat_time_unix2fat(sbi, &inode->i_atime, &atime, |
601 | &raw_entry->adate, sbi->options.tz_utc); | 605 | &raw_entry->adate, NULL); |
602 | raw_entry->ctime_cs = (inode->i_ctime.tv_sec & 1) * 100 + | ||
603 | inode->i_ctime.tv_nsec / 10000000; | ||
604 | } | 606 | } |
605 | spin_unlock(&sbi->inode_hash_lock); | 607 | spin_unlock(&sbi->inode_hash_lock); |
606 | mark_buffer_dirty(bh); | 608 | mark_buffer_dirty(bh); |
@@ -819,8 +821,10 @@ static int fat_show_options(struct seq_file *m, struct vfsmount *mnt) | |||
819 | seq_puts(m, ",uni_xlate"); | 821 | seq_puts(m, ",uni_xlate"); |
820 | if (!opts->numtail) | 822 | if (!opts->numtail) |
821 | seq_puts(m, ",nonumtail"); | 823 | seq_puts(m, ",nonumtail"); |
824 | if (opts->rodir) | ||
825 | seq_puts(m, ",rodir"); | ||
822 | } | 826 | } |
823 | if (sbi->options.flush) | 827 | if (opts->flush) |
824 | seq_puts(m, ",flush"); | 828 | seq_puts(m, ",flush"); |
825 | if (opts->tz_utc) | 829 | if (opts->tz_utc) |
826 | seq_puts(m, ",tz=UTC"); | 830 | seq_puts(m, ",tz=UTC"); |
@@ -836,7 +840,7 @@ enum { | |||
836 | Opt_charset, Opt_shortname_lower, Opt_shortname_win95, | 840 | Opt_charset, Opt_shortname_lower, Opt_shortname_win95, |
837 | Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes, | 841 | Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes, |
838 | Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, | 842 | Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, |
839 | Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_err, | 843 | Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_rodir, Opt_err, |
840 | }; | 844 | }; |
841 | 845 | ||
842 | static const match_table_t fat_tokens = { | 846 | static const match_table_t fat_tokens = { |
@@ -908,6 +912,7 @@ static const match_table_t vfat_tokens = { | |||
908 | {Opt_nonumtail_yes, "nonumtail=yes"}, | 912 | {Opt_nonumtail_yes, "nonumtail=yes"}, |
909 | {Opt_nonumtail_yes, "nonumtail=true"}, | 913 | {Opt_nonumtail_yes, "nonumtail=true"}, |
910 | {Opt_nonumtail_yes, "nonumtail"}, | 914 | {Opt_nonumtail_yes, "nonumtail"}, |
915 | {Opt_rodir, "rodir"}, | ||
911 | {Opt_err, NULL} | 916 | {Opt_err, NULL} |
912 | }; | 917 | }; |
913 | 918 | ||
@@ -927,10 +932,13 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug, | |||
927 | opts->allow_utime = -1; | 932 | opts->allow_utime = -1; |
928 | opts->codepage = fat_default_codepage; | 933 | opts->codepage = fat_default_codepage; |
929 | opts->iocharset = fat_default_iocharset; | 934 | opts->iocharset = fat_default_iocharset; |
930 | if (is_vfat) | 935 | if (is_vfat) { |
931 | opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95; | 936 | opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95; |
932 | else | 937 | opts->rodir = 0; |
938 | } else { | ||
933 | opts->shortname = 0; | 939 | opts->shortname = 0; |
940 | opts->rodir = 1; | ||
941 | } | ||
934 | opts->name_check = 'n'; | 942 | opts->name_check = 'n'; |
935 | opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0; | 943 | opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0; |
936 | opts->utf8 = opts->unicode_xlate = 0; | 944 | opts->utf8 = opts->unicode_xlate = 0; |
@@ -1081,6 +1089,9 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug, | |||
1081 | case Opt_nonumtail_yes: /* empty or 1 or yes or true */ | 1089 | case Opt_nonumtail_yes: /* empty or 1 or yes or true */ |
1082 | opts->numtail = 0; /* negated option */ | 1090 | opts->numtail = 0; /* negated option */ |
1083 | break; | 1091 | break; |
1092 | case Opt_rodir: | ||
1093 | opts->rodir = 1; | ||
1094 | break; | ||
1084 | 1095 | ||
1085 | /* obsolete mount options */ | 1096 | /* obsolete mount options */ |
1086 | case Opt_obsolate: | 1097 | case Opt_obsolate: |
@@ -1126,7 +1137,7 @@ static int fat_read_root(struct inode *inode) | |||
1126 | inode->i_gid = sbi->options.fs_gid; | 1137 | inode->i_gid = sbi->options.fs_gid; |
1127 | inode->i_version++; | 1138 | inode->i_version++; |
1128 | inode->i_generation = 0; | 1139 | inode->i_generation = 0; |
1129 | inode->i_mode = (S_IRWXUGO & ~sbi->options.fs_dmask) | S_IFDIR; | 1140 | inode->i_mode = fat_make_mode(sbi, ATTR_DIR, S_IRWXUGO); |
1130 | inode->i_op = sbi->dir_ops; | 1141 | inode->i_op = sbi->dir_ops; |
1131 | inode->i_fop = &fat_dir_operations; | 1142 | inode->i_fop = &fat_dir_operations; |
1132 | if (sbi->fat_bits == 32) { | 1143 | if (sbi->fat_bits == 32) { |
@@ -1143,7 +1154,7 @@ static int fat_read_root(struct inode *inode) | |||
1143 | MSDOS_I(inode)->i_logstart = 0; | 1154 | MSDOS_I(inode)->i_logstart = 0; |
1144 | MSDOS_I(inode)->mmu_private = inode->i_size; | 1155 | MSDOS_I(inode)->mmu_private = inode->i_size; |
1145 | 1156 | ||
1146 | MSDOS_I(inode)->i_attrs = ATTR_NONE; | 1157 | fat_save_attrs(inode, ATTR_DIR); |
1147 | inode->i_mtime.tv_sec = inode->i_atime.tv_sec = inode->i_ctime.tv_sec = 0; | 1158 | inode->i_mtime.tv_sec = inode->i_atime.tv_sec = inode->i_ctime.tv_sec = 0; |
1148 | inode->i_mtime.tv_nsec = inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec = 0; | 1159 | inode->i_mtime.tv_nsec = inode->i_atime.tv_nsec = inode->i_ctime.tv_nsec = 0; |
1149 | inode->i_nlink = fat_subdirs(inode)+2; | 1160 | inode->i_nlink = fat_subdirs(inode)+2; |
diff --git a/fs/fat/misc.c b/fs/fat/misc.c index 79fb98ad36d4..ac39ebcc1496 100644 --- a/fs/fat/misc.c +++ b/fs/fat/misc.c | |||
@@ -8,8 +8,8 @@ | |||
8 | 8 | ||
9 | #include <linux/module.h> | 9 | #include <linux/module.h> |
10 | #include <linux/fs.h> | 10 | #include <linux/fs.h> |
11 | #include <linux/msdos_fs.h> | ||
12 | #include <linux/buffer_head.h> | 11 | #include <linux/buffer_head.h> |
12 | #include "fat.h" | ||
13 | 13 | ||
14 | /* | 14 | /* |
15 | * fat_fs_panic reports a severe file system problem and sets the file system | 15 | * fat_fs_panic reports a severe file system problem and sets the file system |
@@ -124,8 +124,9 @@ int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster) | |||
124 | mark_inode_dirty(inode); | 124 | mark_inode_dirty(inode); |
125 | } | 125 | } |
126 | if (new_fclus != (inode->i_blocks >> (sbi->cluster_bits - 9))) { | 126 | if (new_fclus != (inode->i_blocks >> (sbi->cluster_bits - 9))) { |
127 | fat_fs_panic(sb, "clusters badly computed (%d != %lu)", | 127 | fat_fs_panic(sb, "clusters badly computed (%d != %llu)", |
128 | new_fclus, inode->i_blocks >> (sbi->cluster_bits - 9)); | 128 | new_fclus, |
129 | (llu)(inode->i_blocks >> (sbi->cluster_bits - 9))); | ||
129 | fat_cache_inval_inode(inode); | 130 | fat_cache_inval_inode(inode); |
130 | } | 131 | } |
131 | inode->i_blocks += nr_cluster << (sbi->cluster_bits - 9); | 132 | inode->i_blocks += nr_cluster << (sbi->cluster_bits - 9); |
@@ -135,65 +136,131 @@ int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster) | |||
135 | 136 | ||
136 | extern struct timezone sys_tz; | 137 | extern struct timezone sys_tz; |
137 | 138 | ||
139 | /* | ||
140 | * The epoch of FAT timestamp is 1980. | ||
141 | * : bits : value | ||
142 | * date: 0 - 4: day (1 - 31) | ||
143 | * date: 5 - 8: month (1 - 12) | ||
144 | * date: 9 - 15: year (0 - 127) from 1980 | ||
145 | * time: 0 - 4: sec (0 - 29) 2sec counts | ||
146 | * time: 5 - 10: min (0 - 59) | ||
147 | * time: 11 - 15: hour (0 - 23) | ||
148 | */ | ||
149 | #define SECS_PER_MIN 60 | ||
150 | #define SECS_PER_HOUR (60 * 60) | ||
151 | #define SECS_PER_DAY (SECS_PER_HOUR * 24) | ||
152 | #define UNIX_SECS_1980 315532800L | ||
153 | #if BITS_PER_LONG == 64 | ||
154 | #define UNIX_SECS_2108 4354819200L | ||
155 | #endif | ||
156 | /* days between 1.1.70 and 1.1.80 (2 leap days) */ | ||
157 | #define DAYS_DELTA (365 * 10 + 2) | ||
158 | /* 120 (2100 - 1980) isn't leap year */ | ||
159 | #define YEAR_2100 120 | ||
160 | #define IS_LEAP_YEAR(y) (!((y) & 3) && (y) != YEAR_2100) | ||
161 | |||
138 | /* Linear day numbers of the respective 1sts in non-leap years. */ | 162 | /* Linear day numbers of the respective 1sts in non-leap years. */ |
139 | static int day_n[] = { | 163 | static time_t days_in_year[] = { |
140 | /* Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec */ | 164 | /* Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec */ |
141 | 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0, 0 | 165 | 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0, |
142 | }; | 166 | }; |
143 | 167 | ||
144 | /* Convert a MS-DOS time/date pair to a UNIX date (seconds since 1 1 70). */ | 168 | /* Convert a FAT time/date pair to a UNIX date (seconds since 1 1 70). */ |
145 | int date_dos2unix(unsigned short time, unsigned short date, int tz_utc) | 169 | void fat_time_fat2unix(struct msdos_sb_info *sbi, struct timespec *ts, |
170 | __le16 __time, __le16 __date, u8 time_cs) | ||
146 | { | 171 | { |
147 | int month, year, secs; | 172 | u16 time = le16_to_cpu(__time), date = le16_to_cpu(__date); |
173 | time_t second, day, leap_day, month, year; | ||
148 | 174 | ||
149 | /* | 175 | year = date >> 9; |
150 | * first subtract and mask after that... Otherwise, if | 176 | month = max(1, (date >> 5) & 0xf); |
151 | * date == 0, bad things happen | 177 | day = max(1, date & 0x1f) - 1; |
152 | */ | 178 | |
153 | month = ((date >> 5) - 1) & 15; | 179 | leap_day = (year + 3) / 4; |
154 | year = date >> 9; | 180 | if (year > YEAR_2100) /* 2100 isn't leap year */ |
155 | secs = (time & 31)*2+60*((time >> 5) & 63)+(time >> 11)*3600+86400* | 181 | leap_day--; |
156 | ((date & 31)-1+day_n[month]+(year/4)+year*365-((year & 3) == 0 && | 182 | if (IS_LEAP_YEAR(year) && month > 2) |
157 | month < 2 ? 1 : 0)+3653); | 183 | leap_day++; |
158 | /* days since 1.1.70 plus 80's leap day */ | 184 | |
159 | if (!tz_utc) | 185 | second = (time & 0x1f) << 1; |
160 | secs += sys_tz.tz_minuteswest*60; | 186 | second += ((time >> 5) & 0x3f) * SECS_PER_MIN; |
161 | return secs; | 187 | second += (time >> 11) * SECS_PER_HOUR; |
188 | second += (year * 365 + leap_day | ||
189 | + days_in_year[month] + day | ||
190 | + DAYS_DELTA) * SECS_PER_DAY; | ||
191 | |||
192 | if (!sbi->options.tz_utc) | ||
193 | second += sys_tz.tz_minuteswest * SECS_PER_MIN; | ||
194 | |||
195 | if (time_cs) { | ||
196 | ts->tv_sec = second + (time_cs / 100); | ||
197 | ts->tv_nsec = (time_cs % 100) * 10000000; | ||
198 | } else { | ||
199 | ts->tv_sec = second; | ||
200 | ts->tv_nsec = 0; | ||
201 | } | ||
162 | } | 202 | } |
163 | 203 | ||
164 | /* Convert linear UNIX date to a MS-DOS time/date pair. */ | 204 | /* Convert linear UNIX date to a FAT time/date pair. */ |
165 | void fat_date_unix2dos(int unix_date, __le16 *time, __le16 *date, int tz_utc) | 205 | void fat_time_unix2fat(struct msdos_sb_info *sbi, struct timespec *ts, |
206 | __le16 *time, __le16 *date, u8 *time_cs) | ||
166 | { | 207 | { |
167 | int day, year, nl_day, month; | 208 | time_t second = ts->tv_sec; |
209 | time_t day, leap_day, month, year; | ||
168 | 210 | ||
169 | if (!tz_utc) | 211 | if (!sbi->options.tz_utc) |
170 | unix_date -= sys_tz.tz_minuteswest*60; | 212 | second -= sys_tz.tz_minuteswest * SECS_PER_MIN; |
171 | 213 | ||
172 | /* Jan 1 GMT 00:00:00 1980. But what about another time zone? */ | 214 | /* Jan 1 GMT 00:00:00 1980. But what about another time zone? */ |
173 | if (unix_date < 315532800) | 215 | if (second < UNIX_SECS_1980) { |
174 | unix_date = 315532800; | 216 | *time = 0; |
175 | 217 | *date = cpu_to_le16((0 << 9) | (1 << 5) | 1); | |
176 | *time = cpu_to_le16((unix_date % 60)/2+(((unix_date/60) % 60) << 5)+ | 218 | if (time_cs) |
177 | (((unix_date/3600) % 24) << 11)); | 219 | *time_cs = 0; |
178 | day = unix_date/86400-3652; | 220 | return; |
179 | year = day/365; | 221 | } |
180 | if ((year+3)/4+365*year > day) | 222 | #if BITS_PER_LONG == 64 |
223 | if (second >= UNIX_SECS_2108) { | ||
224 | *time = cpu_to_le16((23 << 11) | (59 << 5) | 29); | ||
225 | *date = cpu_to_le16((127 << 9) | (12 << 5) | 31); | ||
226 | if (time_cs) | ||
227 | *time_cs = 199; | ||
228 | return; | ||
229 | } | ||
230 | #endif | ||
231 | |||
232 | day = second / SECS_PER_DAY - DAYS_DELTA; | ||
233 | year = day / 365; | ||
234 | leap_day = (year + 3) / 4; | ||
235 | if (year > YEAR_2100) /* 2100 isn't leap year */ | ||
236 | leap_day--; | ||
237 | if (year * 365 + leap_day > day) | ||
181 | year--; | 238 | year--; |
182 | day -= (year+3)/4+365*year; | 239 | leap_day = (year + 3) / 4; |
183 | if (day == 59 && !(year & 3)) { | 240 | if (year > YEAR_2100) /* 2100 isn't leap year */ |
184 | nl_day = day; | 241 | leap_day--; |
242 | day -= year * 365 + leap_day; | ||
243 | |||
244 | if (IS_LEAP_YEAR(year) && day == days_in_year[3]) { | ||
185 | month = 2; | 245 | month = 2; |
186 | } else { | 246 | } else { |
187 | nl_day = (year & 3) || day <= 59 ? day : day-1; | 247 | if (IS_LEAP_YEAR(year) && day > days_in_year[3]) |
188 | for (month = 0; month < 12; month++) { | 248 | day--; |
189 | if (day_n[month] > nl_day) | 249 | for (month = 1; month < 12; month++) { |
250 | if (days_in_year[month + 1] > day) | ||
190 | break; | 251 | break; |
191 | } | 252 | } |
192 | } | 253 | } |
193 | *date = cpu_to_le16(nl_day-day_n[month-1]+1+(month << 5)+(year << 9)); | 254 | day -= days_in_year[month]; |
194 | } | ||
195 | 255 | ||
196 | EXPORT_SYMBOL_GPL(fat_date_unix2dos); | 256 | *time = cpu_to_le16(((second / SECS_PER_HOUR) % 24) << 11 |
257 | | ((second / SECS_PER_MIN) % 60) << 5 | ||
258 | | (second % SECS_PER_MIN) >> 1); | ||
259 | *date = cpu_to_le16((year << 9) | (month << 5) | (day + 1)); | ||
260 | if (time_cs) | ||
261 | *time_cs = (ts->tv_sec & 1) * 100 + ts->tv_nsec / 10000000; | ||
262 | } | ||
263 | EXPORT_SYMBOL_GPL(fat_time_unix2fat); | ||
197 | 264 | ||
198 | int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs) | 265 | int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs) |
199 | { | 266 | { |
diff --git a/fs/msdos/namei.c b/fs/fat/namei_msdos.c index e844b9809d27..7ba03a4acbe0 100644 --- a/fs/msdos/namei.c +++ b/fs/fat/namei_msdos.c | |||
@@ -9,8 +9,8 @@ | |||
9 | #include <linux/module.h> | 9 | #include <linux/module.h> |
10 | #include <linux/time.h> | 10 | #include <linux/time.h> |
11 | #include <linux/buffer_head.h> | 11 | #include <linux/buffer_head.h> |
12 | #include <linux/msdos_fs.h> | ||
13 | #include <linux/smp_lock.h> | 12 | #include <linux/smp_lock.h> |
13 | #include "fat.h" | ||
14 | 14 | ||
15 | /* Characters that are undesirable in an MS-DOS file name */ | 15 | /* Characters that are undesirable in an MS-DOS file name */ |
16 | static unsigned char bad_chars[] = "*?<>|\""; | 16 | static unsigned char bad_chars[] = "*?<>|\""; |
@@ -203,33 +203,37 @@ static struct dentry *msdos_lookup(struct inode *dir, struct dentry *dentry, | |||
203 | { | 203 | { |
204 | struct super_block *sb = dir->i_sb; | 204 | struct super_block *sb = dir->i_sb; |
205 | struct fat_slot_info sinfo; | 205 | struct fat_slot_info sinfo; |
206 | struct inode *inode = NULL; | 206 | struct inode *inode; |
207 | int res; | 207 | int err; |
208 | |||
209 | dentry->d_op = &msdos_dentry_operations; | ||
210 | 208 | ||
211 | lock_super(sb); | 209 | lock_super(sb); |
212 | res = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); | 210 | |
213 | if (res == -ENOENT) | 211 | err = msdos_find(dir, dentry->d_name.name, dentry->d_name.len, &sinfo); |
214 | goto add; | 212 | if (err) { |
215 | if (res < 0) | 213 | if (err == -ENOENT) { |
216 | goto out; | 214 | inode = NULL; |
215 | goto out; | ||
216 | } | ||
217 | goto error; | ||
218 | } | ||
219 | |||
217 | inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); | 220 | inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); |
218 | brelse(sinfo.bh); | 221 | brelse(sinfo.bh); |
219 | if (IS_ERR(inode)) { | 222 | if (IS_ERR(inode)) { |
220 | res = PTR_ERR(inode); | 223 | err = PTR_ERR(inode); |
221 | goto out; | 224 | goto error; |
222 | } | 225 | } |
223 | add: | 226 | out: |
224 | res = 0; | 227 | unlock_super(sb); |
228 | dentry->d_op = &msdos_dentry_operations; | ||
225 | dentry = d_splice_alias(inode, dentry); | 229 | dentry = d_splice_alias(inode, dentry); |
226 | if (dentry) | 230 | if (dentry) |
227 | dentry->d_op = &msdos_dentry_operations; | 231 | dentry->d_op = &msdos_dentry_operations; |
228 | out: | 232 | return dentry; |
233 | |||
234 | error: | ||
229 | unlock_super(sb); | 235 | unlock_super(sb); |
230 | if (!res) | 236 | return ERR_PTR(err); |
231 | return dentry; | ||
232 | return ERR_PTR(res); | ||
233 | } | 237 | } |
234 | 238 | ||
235 | /***** Creates a directory entry (name is already formatted). */ | 239 | /***** Creates a directory entry (name is already formatted). */ |
@@ -247,7 +251,7 @@ static int msdos_add_entry(struct inode *dir, const unsigned char *name, | |||
247 | if (is_hid) | 251 | if (is_hid) |
248 | de.attr |= ATTR_HIDDEN; | 252 | de.attr |= ATTR_HIDDEN; |
249 | de.lcase = 0; | 253 | de.lcase = 0; |
250 | fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); | 254 | fat_time_unix2fat(sbi, ts, &time, &date, NULL); |
251 | de.cdate = de.adate = 0; | 255 | de.cdate = de.adate = 0; |
252 | de.ctime = 0; | 256 | de.ctime = 0; |
253 | de.ctime_cs = 0; | 257 | de.ctime_cs = 0; |
diff --git a/fs/vfat/namei.c b/fs/fat/namei_vfat.c index 155c10b4adbd..bf326d4356a3 100644 --- a/fs/vfat/namei.c +++ b/fs/fat/namei_vfat.c | |||
@@ -16,36 +16,75 @@ | |||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | |||
20 | #include <linux/jiffies.h> | 19 | #include <linux/jiffies.h> |
21 | #include <linux/msdos_fs.h> | ||
22 | #include <linux/ctype.h> | 20 | #include <linux/ctype.h> |
23 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
24 | #include <linux/smp_lock.h> | 22 | #include <linux/smp_lock.h> |
25 | #include <linux/buffer_head.h> | 23 | #include <linux/buffer_head.h> |
26 | #include <linux/namei.h> | 24 | #include <linux/namei.h> |
25 | #include "fat.h" | ||
27 | 26 | ||
28 | static int vfat_revalidate(struct dentry *dentry, struct nameidata *nd) | 27 | /* |
28 | * If new entry was created in the parent, it could create the 8.3 | ||
29 | * alias (the shortname of logname). So, the parent may have the | ||
30 | * negative-dentry which matches the created 8.3 alias. | ||
31 | * | ||
32 | * If it happened, the negative dentry isn't actually negative | ||
33 | * anymore. So, drop it. | ||
34 | */ | ||
35 | static int vfat_revalidate_shortname(struct dentry *dentry) | ||
29 | { | 36 | { |
30 | int ret = 1; | 37 | int ret = 1; |
31 | 38 | spin_lock(&dentry->d_lock); | |
32 | if (!dentry->d_inode && | 39 | if (dentry->d_time != dentry->d_parent->d_inode->i_version) |
33 | nd && !(nd->flags & LOOKUP_CONTINUE) && (nd->flags & LOOKUP_CREATE)) | ||
34 | /* | ||
35 | * negative dentry is dropped, in order to make sure | ||
36 | * to use the name which a user desires if this is | ||
37 | * create path. | ||
38 | */ | ||
39 | ret = 0; | 40 | ret = 0; |
40 | else { | 41 | spin_unlock(&dentry->d_lock); |
41 | spin_lock(&dentry->d_lock); | ||
42 | if (dentry->d_time != dentry->d_parent->d_inode->i_version) | ||
43 | ret = 0; | ||
44 | spin_unlock(&dentry->d_lock); | ||
45 | } | ||
46 | return ret; | 42 | return ret; |
47 | } | 43 | } |
48 | 44 | ||
45 | static int vfat_revalidate(struct dentry *dentry, struct nameidata *nd) | ||
46 | { | ||
47 | /* This is not negative dentry. Always valid. */ | ||
48 | if (dentry->d_inode) | ||
49 | return 1; | ||
50 | return vfat_revalidate_shortname(dentry); | ||
51 | } | ||
52 | |||
53 | static int vfat_revalidate_ci(struct dentry *dentry, struct nameidata *nd) | ||
54 | { | ||
55 | /* | ||
56 | * This is not negative dentry. Always valid. | ||
57 | * | ||
58 | * Note, rename() to existing directory entry will have ->d_inode, | ||
59 | * and will use existing name which isn't specified name by user. | ||
60 | * | ||
61 | * We may be able to drop this positive dentry here. But dropping | ||
62 | * positive dentry isn't good idea. So it's unsupported like | ||
63 | * rename("filename", "FILENAME") for now. | ||
64 | */ | ||
65 | if (dentry->d_inode) | ||
66 | return 1; | ||
67 | |||
68 | /* | ||
69 | * This may be nfsd (or something), anyway, we can't see the | ||
70 | * intent of this. So, since this can be for creation, drop it. | ||
71 | */ | ||
72 | if (!nd) | ||
73 | return 0; | ||
74 | |||
75 | /* | ||
76 | * Drop the negative dentry, in order to make sure to use the | ||
77 | * case sensitive name which is specified by user if this is | ||
78 | * for creation. | ||
79 | */ | ||
80 | if (!(nd->flags & (LOOKUP_CONTINUE | LOOKUP_PARENT))) { | ||
81 | if (nd->flags & LOOKUP_CREATE) | ||
82 | return 0; | ||
83 | } | ||
84 | |||
85 | return vfat_revalidate_shortname(dentry); | ||
86 | } | ||
87 | |||
49 | /* returns the length of a struct qstr, ignoring trailing dots */ | 88 | /* returns the length of a struct qstr, ignoring trailing dots */ |
50 | static unsigned int vfat_striptail_len(struct qstr *qstr) | 89 | static unsigned int vfat_striptail_len(struct qstr *qstr) |
51 | { | 90 | { |
@@ -127,25 +166,16 @@ static int vfat_cmp(struct dentry *dentry, struct qstr *a, struct qstr *b) | |||
127 | return 1; | 166 | return 1; |
128 | } | 167 | } |
129 | 168 | ||
130 | static struct dentry_operations vfat_dentry_ops[4] = { | 169 | static struct dentry_operations vfat_ci_dentry_ops = { |
131 | { | 170 | .d_revalidate = vfat_revalidate_ci, |
132 | .d_hash = vfat_hashi, | 171 | .d_hash = vfat_hashi, |
133 | .d_compare = vfat_cmpi, | 172 | .d_compare = vfat_cmpi, |
134 | }, | 173 | }; |
135 | { | 174 | |
136 | .d_revalidate = vfat_revalidate, | 175 | static struct dentry_operations vfat_dentry_ops = { |
137 | .d_hash = vfat_hashi, | 176 | .d_revalidate = vfat_revalidate, |
138 | .d_compare = vfat_cmpi, | 177 | .d_hash = vfat_hash, |
139 | }, | 178 | .d_compare = vfat_cmp, |
140 | { | ||
141 | .d_hash = vfat_hash, | ||
142 | .d_compare = vfat_cmp, | ||
143 | }, | ||
144 | { | ||
145 | .d_revalidate = vfat_revalidate, | ||
146 | .d_hash = vfat_hash, | ||
147 | .d_compare = vfat_cmp, | ||
148 | } | ||
149 | }; | 179 | }; |
150 | 180 | ||
151 | /* Characters that are undesirable in an MS-DOS file name */ | 181 | /* Characters that are undesirable in an MS-DOS file name */ |
@@ -569,6 +599,7 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name, | |||
569 | unsigned char msdos_name[MSDOS_NAME]; | 599 | unsigned char msdos_name[MSDOS_NAME]; |
570 | wchar_t *uname; | 600 | wchar_t *uname; |
571 | __le16 time, date; | 601 | __le16 time, date; |
602 | u8 time_cs; | ||
572 | int err, ulen, usize, i; | 603 | int err, ulen, usize, i; |
573 | loff_t offset; | 604 | loff_t offset; |
574 | 605 | ||
@@ -621,10 +652,10 @@ shortname: | |||
621 | memcpy(de->name, msdos_name, MSDOS_NAME); | 652 | memcpy(de->name, msdos_name, MSDOS_NAME); |
622 | de->attr = is_dir ? ATTR_DIR : ATTR_ARCH; | 653 | de->attr = is_dir ? ATTR_DIR : ATTR_ARCH; |
623 | de->lcase = lcase; | 654 | de->lcase = lcase; |
624 | fat_date_unix2dos(ts->tv_sec, &time, &date, sbi->options.tz_utc); | 655 | fat_time_unix2fat(sbi, ts, &time, &date, &time_cs); |
625 | de->time = de->ctime = time; | 656 | de->time = de->ctime = time; |
626 | de->date = de->cdate = de->adate = date; | 657 | de->date = de->cdate = de->adate = date; |
627 | de->ctime_cs = 0; | 658 | de->ctime_cs = time_cs; |
628 | de->start = cpu_to_le16(cluster); | 659 | de->start = cpu_to_le16(cluster); |
629 | de->starthi = cpu_to_le16(cluster >> 16); | 660 | de->starthi = cpu_to_le16(cluster >> 16); |
630 | de->size = 0; | 661 | de->size = 0; |
@@ -683,46 +714,58 @@ static struct dentry *vfat_lookup(struct inode *dir, struct dentry *dentry, | |||
683 | { | 714 | { |
684 | struct super_block *sb = dir->i_sb; | 715 | struct super_block *sb = dir->i_sb; |
685 | struct fat_slot_info sinfo; | 716 | struct fat_slot_info sinfo; |
686 | struct inode *inode = NULL; | 717 | struct inode *inode; |
687 | struct dentry *alias; | 718 | struct dentry *alias; |
688 | int err, table; | 719 | int err; |
689 | 720 | ||
690 | lock_super(sb); | 721 | lock_super(sb); |
691 | table = (MSDOS_SB(sb)->options.name_check == 's') ? 2 : 0; | ||
692 | dentry->d_op = &vfat_dentry_ops[table]; | ||
693 | 722 | ||
694 | err = vfat_find(dir, &dentry->d_name, &sinfo); | 723 | err = vfat_find(dir, &dentry->d_name, &sinfo); |
695 | if (err) { | 724 | if (err) { |
696 | table++; | 725 | if (err == -ENOENT) { |
726 | inode = NULL; | ||
727 | goto out; | ||
728 | } | ||
697 | goto error; | 729 | goto error; |
698 | } | 730 | } |
731 | |||
699 | inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); | 732 | inode = fat_build_inode(sb, sinfo.de, sinfo.i_pos); |
700 | brelse(sinfo.bh); | 733 | brelse(sinfo.bh); |
701 | if (IS_ERR(inode)) { | 734 | if (IS_ERR(inode)) { |
702 | unlock_super(sb); | 735 | err = PTR_ERR(inode); |
703 | return ERR_CAST(inode); | 736 | goto error; |
704 | } | 737 | } |
705 | alias = d_find_alias(inode); | ||
706 | if (alias) { | ||
707 | if (d_invalidate(alias) == 0) | ||
708 | dput(alias); | ||
709 | else { | ||
710 | iput(inode); | ||
711 | unlock_super(sb); | ||
712 | return alias; | ||
713 | } | ||
714 | 738 | ||
739 | alias = d_find_alias(inode); | ||
740 | if (alias && !(alias->d_flags & DCACHE_DISCONNECTED)) { | ||
741 | /* | ||
742 | * This inode has non DCACHE_DISCONNECTED dentry. This | ||
743 | * means, the user did ->lookup() by an another name | ||
744 | * (longname vs 8.3 alias of it) in past. | ||
745 | * | ||
746 | * Switch to new one for reason of locality if possible. | ||
747 | */ | ||
748 | BUG_ON(d_unhashed(alias)); | ||
749 | if (!S_ISDIR(inode->i_mode)) | ||
750 | d_move(alias, dentry); | ||
751 | iput(inode); | ||
752 | unlock_super(sb); | ||
753 | return alias; | ||
715 | } | 754 | } |
716 | error: | 755 | out: |
717 | unlock_super(sb); | 756 | unlock_super(sb); |
718 | dentry->d_op = &vfat_dentry_ops[table]; | 757 | dentry->d_op = sb->s_root->d_op; |
719 | dentry->d_time = dentry->d_parent->d_inode->i_version; | 758 | dentry->d_time = dentry->d_parent->d_inode->i_version; |
720 | dentry = d_splice_alias(inode, dentry); | 759 | dentry = d_splice_alias(inode, dentry); |
721 | if (dentry) { | 760 | if (dentry) { |
722 | dentry->d_op = &vfat_dentry_ops[table]; | 761 | dentry->d_op = sb->s_root->d_op; |
723 | dentry->d_time = dentry->d_parent->d_inode->i_version; | 762 | dentry->d_time = dentry->d_parent->d_inode->i_version; |
724 | } | 763 | } |
725 | return dentry; | 764 | return dentry; |
765 | |||
766 | error: | ||
767 | unlock_super(sb); | ||
768 | return ERR_PTR(err); | ||
726 | } | 769 | } |
727 | 770 | ||
728 | static int vfat_create(struct inode *dir, struct dentry *dentry, int mode, | 771 | static int vfat_create(struct inode *dir, struct dentry *dentry, int mode, |
@@ -1014,9 +1057,9 @@ static int vfat_fill_super(struct super_block *sb, void *data, int silent) | |||
1014 | return res; | 1057 | return res; |
1015 | 1058 | ||
1016 | if (MSDOS_SB(sb)->options.name_check != 's') | 1059 | if (MSDOS_SB(sb)->options.name_check != 's') |
1017 | sb->s_root->d_op = &vfat_dentry_ops[0]; | 1060 | sb->s_root->d_op = &vfat_ci_dentry_ops; |
1018 | else | 1061 | else |
1019 | sb->s_root->d_op = &vfat_dentry_ops[2]; | 1062 | sb->s_root->d_op = &vfat_dentry_ops; |
1020 | 1063 | ||
1021 | return 0; | 1064 | return 0; |
1022 | } | 1065 | } |
diff --git a/fs/file_table.c b/fs/file_table.c index efc06faede6c..5ad0eca6eea2 100644 --- a/fs/file_table.c +++ b/fs/file_table.c | |||
@@ -269,6 +269,10 @@ void __fput(struct file *file) | |||
269 | eventpoll_release(file); | 269 | eventpoll_release(file); |
270 | locks_remove_flock(file); | 270 | locks_remove_flock(file); |
271 | 271 | ||
272 | if (unlikely(file->f_flags & FASYNC)) { | ||
273 | if (file->f_op && file->f_op->fasync) | ||
274 | file->f_op->fasync(-1, file, 0); | ||
275 | } | ||
272 | if (file->f_op && file->f_op->release) | 276 | if (file->f_op && file->f_op->release) |
273 | file->f_op->release(inode, file); | 277 | file->f_op->release(inode, file); |
274 | security_file_free(file); | 278 | security_file_free(file); |
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 87250b6a8682..b72361479be2 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c | |||
@@ -1056,7 +1056,6 @@ static int fuse_dev_release(struct inode *inode, struct file *file) | |||
1056 | end_requests(fc, &fc->pending); | 1056 | end_requests(fc, &fc->pending); |
1057 | end_requests(fc, &fc->processing); | 1057 | end_requests(fc, &fc->processing); |
1058 | spin_unlock(&fc->lock); | 1058 | spin_unlock(&fc->lock); |
1059 | fasync_helper(-1, file, 0, &fc->fasync); | ||
1060 | fuse_conn_put(fc); | 1059 | fuse_conn_put(fc); |
1061 | } | 1060 | } |
1062 | 1061 | ||
diff --git a/fs/inotify_user.c b/fs/inotify_user.c index d85c7d931cdf..d367e9b92862 100644 --- a/fs/inotify_user.c +++ b/fs/inotify_user.c | |||
@@ -537,9 +537,6 @@ static int inotify_release(struct inode *ignored, struct file *file) | |||
537 | inotify_dev_event_dequeue(dev); | 537 | inotify_dev_event_dequeue(dev); |
538 | mutex_unlock(&dev->ev_mutex); | 538 | mutex_unlock(&dev->ev_mutex); |
539 | 539 | ||
540 | if (file->f_flags & FASYNC) | ||
541 | inotify_fasync(-1, file, 0); | ||
542 | |||
543 | /* free this device: the put matching the get in inotify_init() */ | 540 | /* free this device: the put matching the get in inotify_init() */ |
544 | put_inotify_dev(dev); | 541 | put_inotify_dev(dev); |
545 | 542 | ||
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 8b119e16aa36..ebc667bc54a8 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
@@ -974,6 +974,9 @@ restart_loop: | |||
974 | journal->j_committing_transaction = NULL; | 974 | journal->j_committing_transaction = NULL; |
975 | spin_unlock(&journal->j_state_lock); | 975 | spin_unlock(&journal->j_state_lock); |
976 | 976 | ||
977 | if (journal->j_commit_callback) | ||
978 | journal->j_commit_callback(journal, commit_transaction); | ||
979 | |||
977 | if (commit_transaction->t_checkpoint_list == NULL && | 980 | if (commit_transaction->t_checkpoint_list == NULL && |
978 | commit_transaction->t_checkpoint_io_list == NULL) { | 981 | commit_transaction->t_checkpoint_io_list == NULL) { |
979 | __jbd2_journal_drop_transaction(journal, commit_transaction); | 982 | __jbd2_journal_drop_transaction(journal, commit_transaction); |
@@ -995,11 +998,8 @@ restart_loop: | |||
995 | } | 998 | } |
996 | spin_unlock(&journal->j_list_lock); | 999 | spin_unlock(&journal->j_list_lock); |
997 | 1000 | ||
998 | if (journal->j_commit_callback) | ||
999 | journal->j_commit_callback(journal, commit_transaction); | ||
1000 | |||
1001 | trace_mark(jbd2_end_commit, "dev %s transaction %d head %d", | 1001 | trace_mark(jbd2_end_commit, "dev %s transaction %d head %d", |
1002 | journal->j_devname, commit_transaction->t_tid, | 1002 | journal->j_devname, journal->j_commit_sequence, |
1003 | journal->j_tail_sequence); | 1003 | journal->j_tail_sequence); |
1004 | jbd_debug(1, "JBD: commit %d complete, head %d\n", | 1004 | jbd_debug(1, "JBD: commit %d complete, head %d\n", |
1005 | journal->j_commit_sequence, journal->j_tail_sequence); | 1005 | journal->j_commit_sequence, journal->j_tail_sequence); |
diff --git a/fs/jffs2/background.c b/fs/jffs2/background.c index 8adebd3e43c6..3cceef4ad2b7 100644 --- a/fs/jffs2/background.c +++ b/fs/jffs2/background.c | |||
@@ -85,15 +85,15 @@ static int jffs2_garbage_collect_thread(void *_c) | |||
85 | for (;;) { | 85 | for (;;) { |
86 | allow_signal(SIGHUP); | 86 | allow_signal(SIGHUP); |
87 | again: | 87 | again: |
88 | spin_lock(&c->erase_completion_lock); | ||
88 | if (!jffs2_thread_should_wake(c)) { | 89 | if (!jffs2_thread_should_wake(c)) { |
89 | set_current_state (TASK_INTERRUPTIBLE); | 90 | set_current_state (TASK_INTERRUPTIBLE); |
91 | spin_unlock(&c->erase_completion_lock); | ||
90 | D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread sleeping...\n")); | 92 | D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread sleeping...\n")); |
91 | /* Yes, there's a race here; we checked jffs2_thread_should_wake() | ||
92 | before setting current->state to TASK_INTERRUPTIBLE. But it doesn't | ||
93 | matter - We don't care if we miss a wakeup, because the GC thread | ||
94 | is only an optimisation anyway. */ | ||
95 | schedule(); | 93 | schedule(); |
96 | } | 94 | } else |
95 | spin_unlock(&c->erase_completion_lock); | ||
96 | |||
97 | 97 | ||
98 | /* This thread is purely an optimisation. But if it runs when | 98 | /* This thread is purely an optimisation. But if it runs when |
99 | other things could be running, it actually makes things a | 99 | other things could be running, it actually makes things a |
diff --git a/fs/jffs2/compr_lzo.c b/fs/jffs2/compr_lzo.c index 47b045797e42..90cb60d09787 100644 --- a/fs/jffs2/compr_lzo.c +++ b/fs/jffs2/compr_lzo.c | |||
@@ -19,7 +19,7 @@ | |||
19 | 19 | ||
20 | static void *lzo_mem; | 20 | static void *lzo_mem; |
21 | static void *lzo_compress_buf; | 21 | static void *lzo_compress_buf; |
22 | static DEFINE_MUTEX(deflate_mutex); | 22 | static DEFINE_MUTEX(deflate_mutex); /* for lzo_mem and lzo_compress_buf */ |
23 | 23 | ||
24 | static void free_workspace(void) | 24 | static void free_workspace(void) |
25 | { | 25 | { |
@@ -49,18 +49,21 @@ static int jffs2_lzo_compress(unsigned char *data_in, unsigned char *cpage_out, | |||
49 | 49 | ||
50 | mutex_lock(&deflate_mutex); | 50 | mutex_lock(&deflate_mutex); |
51 | ret = lzo1x_1_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem); | 51 | ret = lzo1x_1_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem); |
52 | mutex_unlock(&deflate_mutex); | ||
53 | |||
54 | if (ret != LZO_E_OK) | 52 | if (ret != LZO_E_OK) |
55 | return -1; | 53 | goto fail; |
56 | 54 | ||
57 | if (compress_size > *dstlen) | 55 | if (compress_size > *dstlen) |
58 | return -1; | 56 | goto fail; |
59 | 57 | ||
60 | memcpy(cpage_out, lzo_compress_buf, compress_size); | 58 | memcpy(cpage_out, lzo_compress_buf, compress_size); |
61 | *dstlen = compress_size; | 59 | mutex_unlock(&deflate_mutex); |
62 | 60 | ||
61 | *dstlen = compress_size; | ||
63 | return 0; | 62 | return 0; |
63 | |||
64 | fail: | ||
65 | mutex_unlock(&deflate_mutex); | ||
66 | return -1; | ||
64 | } | 67 | } |
65 | 68 | ||
66 | static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out, | 69 | static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out, |
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c index 0875b60b4bf7..21a052915aa9 100644 --- a/fs/jffs2/nodemgmt.c +++ b/fs/jffs2/nodemgmt.c | |||
@@ -261,9 +261,11 @@ static int jffs2_find_nextblock(struct jffs2_sb_info *c) | |||
261 | 261 | ||
262 | jffs2_sum_reset_collected(c->summary); /* reset collected summary */ | 262 | jffs2_sum_reset_collected(c->summary); /* reset collected summary */ |
263 | 263 | ||
264 | #ifdef CONFIG_JFFS2_FS_WRITEBUFFER | ||
264 | /* adjust write buffer offset, else we get a non contiguous write bug */ | 265 | /* adjust write buffer offset, else we get a non contiguous write bug */ |
265 | if (!(c->wbuf_ofs % c->sector_size) && !c->wbuf_len) | 266 | if (!(c->wbuf_ofs % c->sector_size) && !c->wbuf_len) |
266 | c->wbuf_ofs = 0xffffffff; | 267 | c->wbuf_ofs = 0xffffffff; |
268 | #endif | ||
267 | 269 | ||
268 | D1(printk(KERN_DEBUG "jffs2_find_nextblock(): new nextblock = 0x%08x\n", c->nextblock->offset)); | 270 | D1(printk(KERN_DEBUG "jffs2_find_nextblock(): new nextblock = 0x%08x\n", c->nextblock->offset)); |
269 | 271 | ||
diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c index 014f6ce48172..4dfdcbc6bf68 100644 --- a/fs/lockd/svc4proc.c +++ b/fs/lockd/svc4proc.c | |||
@@ -434,6 +434,7 @@ nlm4svc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp, | |||
434 | * reclaim all locks we hold on this server. | 434 | * reclaim all locks we hold on this server. |
435 | */ | 435 | */ |
436 | memset(&saddr, 0, sizeof(saddr)); | 436 | memset(&saddr, 0, sizeof(saddr)); |
437 | saddr.sin_family = AF_INET; | ||
437 | saddr.sin_addr.s_addr = argp->addr; | 438 | saddr.sin_addr.s_addr = argp->addr; |
438 | nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); | 439 | nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); |
439 | 440 | ||
diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c index 548b0bb2b84d..3ca89e2a9381 100644 --- a/fs/lockd/svcproc.c +++ b/fs/lockd/svcproc.c | |||
@@ -466,6 +466,7 @@ nlmsvc_proc_sm_notify(struct svc_rqst *rqstp, struct nlm_reboot *argp, | |||
466 | * reclaim all locks we hold on this server. | 466 | * reclaim all locks we hold on this server. |
467 | */ | 467 | */ |
468 | memset(&saddr, 0, sizeof(saddr)); | 468 | memset(&saddr, 0, sizeof(saddr)); |
469 | saddr.sin_family = AF_INET; | ||
469 | saddr.sin_addr.s_addr = argp->addr; | 470 | saddr.sin_addr.s_addr = argp->addr; |
470 | nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); | 471 | nlm_host_rebooted(&saddr, argp->mon, argp->len, argp->state); |
471 | 472 | ||
diff --git a/fs/msdos/Makefile b/fs/msdos/Makefile deleted file mode 100644 index ea67646fcb95..000000000000 --- a/fs/msdos/Makefile +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the Linux msdos filesystem routines. | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_MSDOS_FS) += msdos.o | ||
6 | |||
7 | msdos-y := namei.o | ||
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 0bc56f6d9276..848a03e83a42 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -1912,6 +1912,7 @@ static int nfsd_buffered_readdir(struct file *file, filldir_t func, | |||
1912 | de = (struct buffered_dirent *)((char *)de + reclen); | 1912 | de = (struct buffered_dirent *)((char *)de + reclen); |
1913 | } | 1913 | } |
1914 | offset = vfs_llseek(file, 0, SEEK_CUR); | 1914 | offset = vfs_llseek(file, 0, SEEK_CUR); |
1915 | cdp->err = nfserr_eof; | ||
1915 | if (!buf.full) | 1916 | if (!buf.full) |
1916 | break; | 1917 | break; |
1917 | } | 1918 | } |
@@ -717,14 +717,12 @@ pipe_rdwr_fasync(int fd, struct file *filp, int on) | |||
717 | static int | 717 | static int |
718 | pipe_read_release(struct inode *inode, struct file *filp) | 718 | pipe_read_release(struct inode *inode, struct file *filp) |
719 | { | 719 | { |
720 | pipe_read_fasync(-1, filp, 0); | ||
721 | return pipe_release(inode, 1, 0); | 720 | return pipe_release(inode, 1, 0); |
722 | } | 721 | } |
723 | 722 | ||
724 | static int | 723 | static int |
725 | pipe_write_release(struct inode *inode, struct file *filp) | 724 | pipe_write_release(struct inode *inode, struct file *filp) |
726 | { | 725 | { |
727 | pipe_write_fasync(-1, filp, 0); | ||
728 | return pipe_release(inode, 0, 1); | 726 | return pipe_release(inode, 0, 1); |
729 | } | 727 | } |
730 | 728 | ||
@@ -733,7 +731,6 @@ pipe_rdwr_release(struct inode *inode, struct file *filp) | |||
733 | { | 731 | { |
734 | int decr, decw; | 732 | int decr, decw; |
735 | 733 | ||
736 | pipe_rdwr_fasync(-1, filp, 0); | ||
737 | decr = (filp->f_mode & FMODE_READ) != 0; | 734 | decr = (filp->f_mode & FMODE_READ) != 0; |
738 | decw = (filp->f_mode & FMODE_WRITE) != 0; | 735 | decw = (filp->f_mode & FMODE_WRITE) != 0; |
739 | return pipe_release(inode, decr, decw); | 736 | return pipe_release(inode, decr, decw); |
diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c index 0c10a0b3f146..df26aa88fa47 100644 --- a/fs/proc/uptime.c +++ b/fs/proc/uptime.c | |||
@@ -1,43 +1,45 @@ | |||
1 | #include <linux/fs.h> | ||
2 | #include <linux/init.h> | 1 | #include <linux/init.h> |
3 | #include <linux/proc_fs.h> | 2 | #include <linux/proc_fs.h> |
4 | #include <linux/sched.h> | 3 | #include <linux/sched.h> |
5 | #include <linux/seq_file.h> | ||
6 | #include <linux/time.h> | 4 | #include <linux/time.h> |
7 | #include <asm/cputime.h> | 5 | #include <asm/cputime.h> |
8 | 6 | ||
9 | static int uptime_proc_show(struct seq_file *m, void *v) | 7 | static int proc_calc_metrics(char *page, char **start, off_t off, |
8 | int count, int *eof, int len) | ||
9 | { | ||
10 | if (len <= off + count) | ||
11 | *eof = 1; | ||
12 | *start = page + off; | ||
13 | len -= off; | ||
14 | if (len > count) | ||
15 | len = count; | ||
16 | if (len < 0) | ||
17 | len = 0; | ||
18 | return len; | ||
19 | } | ||
20 | |||
21 | static int uptime_read_proc(char *page, char **start, off_t off, int count, | ||
22 | int *eof, void *data) | ||
10 | { | 23 | { |
11 | struct timespec uptime; | 24 | struct timespec uptime; |
12 | struct timespec idle; | 25 | struct timespec idle; |
26 | int len; | ||
13 | cputime_t idletime = cputime_add(init_task.utime, init_task.stime); | 27 | cputime_t idletime = cputime_add(init_task.utime, init_task.stime); |
14 | 28 | ||
15 | do_posix_clock_monotonic_gettime(&uptime); | 29 | do_posix_clock_monotonic_gettime(&uptime); |
16 | monotonic_to_bootbased(&uptime); | 30 | monotonic_to_bootbased(&uptime); |
17 | cputime_to_timespec(idletime, &idle); | 31 | cputime_to_timespec(idletime, &idle); |
18 | seq_printf(m, "%lu.%02lu %lu.%02lu\n", | 32 | len = sprintf(page, "%lu.%02lu %lu.%02lu\n", |
19 | (unsigned long) uptime.tv_sec, | 33 | (unsigned long) uptime.tv_sec, |
20 | (uptime.tv_nsec / (NSEC_PER_SEC / 100)), | 34 | (uptime.tv_nsec / (NSEC_PER_SEC / 100)), |
21 | (unsigned long) idle.tv_sec, | 35 | (unsigned long) idle.tv_sec, |
22 | (idle.tv_nsec / (NSEC_PER_SEC / 100))); | 36 | (idle.tv_nsec / (NSEC_PER_SEC / 100))); |
23 | return 0; | 37 | return proc_calc_metrics(page, start, off, count, eof, len); |
24 | } | 38 | } |
25 | 39 | ||
26 | static int uptime_proc_open(struct inode *inode, struct file *file) | ||
27 | { | ||
28 | return single_open(file, uptime_proc_show, NULL); | ||
29 | } | ||
30 | |||
31 | static const struct file_operations uptime_proc_fops = { | ||
32 | .open = uptime_proc_open, | ||
33 | .read = seq_read, | ||
34 | .llseek = seq_lseek, | ||
35 | .release = single_release, | ||
36 | }; | ||
37 | |||
38 | static int __init proc_uptime_init(void) | 40 | static int __init proc_uptime_init(void) |
39 | { | 41 | { |
40 | proc_create("uptime", 0, NULL, &uptime_proc_fops); | 42 | create_proc_read_entry("uptime", 0, NULL, uptime_read_proc, NULL); |
41 | return 0; | 43 | return 0; |
42 | } | 44 | } |
43 | module_init(proc_uptime_init); | 45 | module_init(proc_uptime_init); |
diff --git a/fs/vfat/Makefile b/fs/vfat/Makefile deleted file mode 100644 index 40f2798a4f08..000000000000 --- a/fs/vfat/Makefile +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the linux vfat-filesystem routines. | ||
3 | # | ||
4 | |||
5 | obj-$(CONFIG_VFAT_FS) += vfat.o | ||
6 | |||
7 | vfat-y := namei.o | ||
diff --git a/include/asm-cris/arch-v32/arbiter.h b/include/asm-cris/arch-v32/arbiter.h deleted file mode 100644 index 081a911d7af1..000000000000 --- a/include/asm-cris/arch-v32/arbiter.h +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | #ifndef _ASM_CRIS_ARCH_ARBITER_H | ||
2 | #define _ASM_CRIS_ARCH_ARBITER_H | ||
3 | |||
4 | #define EXT_REGION 0 | ||
5 | #define INT_REGION 1 | ||
6 | |||
7 | typedef void (watch_callback)(void); | ||
8 | |||
9 | enum | ||
10 | { | ||
11 | arbiter_all_dmas = 0x3ff, | ||
12 | arbiter_cpu = 0xc00, | ||
13 | arbiter_all_clients = 0x3fff | ||
14 | }; | ||
15 | |||
16 | enum | ||
17 | { | ||
18 | arbiter_all_read = 0x55, | ||
19 | arbiter_all_write = 0xaa, | ||
20 | arbiter_all_accesses = 0xff | ||
21 | }; | ||
22 | |||
23 | int crisv32_arbiter_allocate_bandwidth(int client, int region, | ||
24 | unsigned long bandwidth); | ||
25 | int crisv32_arbiter_watch(unsigned long start, unsigned long size, | ||
26 | unsigned long clients, unsigned long accesses, | ||
27 | watch_callback* cb); | ||
28 | int crisv32_arbiter_unwatch(int id); | ||
29 | |||
30 | #endif | ||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h b/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h deleted file mode 100644 index 13c725e4c774..000000000000 --- a/include/asm-cris/arch-v32/hwregs/asm/pinmux_defs_asm.h +++ /dev/null | |||
@@ -1,632 +0,0 @@ | |||
1 | #ifndef __pinmux_defs_asm_h | ||
2 | #define __pinmux_defs_asm_h | ||
3 | |||
4 | /* | ||
5 | * This file is autogenerated from | ||
6 | * file: ../../inst/pinmux/rtl/guinness/pinmux_regs.r | ||
7 | * id: pinmux_regs.r,v 1.40 2005/02/09 16:22:59 perz Exp | ||
8 | * last modfied: Mon Apr 11 16:09:11 2005 | ||
9 | * | ||
10 | * by /n/asic/design/tools/rdesc/src/rdes2c -asm --outfile asm/pinmux_defs_asm.h ../../inst/pinmux/rtl/guinness/pinmux_regs.r | ||
11 | * id: $Id: pinmux_defs_asm.h,v 1.1 2005/04/24 18:31:04 starvik Exp $ | ||
12 | * Any changes here will be lost. | ||
13 | * | ||
14 | * -*- buffer-read-only: t -*- | ||
15 | */ | ||
16 | |||
17 | #ifndef REG_FIELD | ||
18 | #define REG_FIELD( scope, reg, field, value ) \ | ||
19 | REG_FIELD_X_( value, reg_##scope##_##reg##___##field##___lsb ) | ||
20 | #define REG_FIELD_X_( value, shift ) ((value) << shift) | ||
21 | #endif | ||
22 | |||
23 | #ifndef REG_STATE | ||
24 | #define REG_STATE( scope, reg, field, symbolic_value ) \ | ||
25 | REG_STATE_X_( regk_##scope##_##symbolic_value, reg_##scope##_##reg##___##field##___lsb ) | ||
26 | #define REG_STATE_X_( k, shift ) (k << shift) | ||
27 | #endif | ||
28 | |||
29 | #ifndef REG_MASK | ||
30 | #define REG_MASK( scope, reg, field ) \ | ||
31 | REG_MASK_X_( reg_##scope##_##reg##___##field##___width, reg_##scope##_##reg##___##field##___lsb ) | ||
32 | #define REG_MASK_X_( width, lsb ) (((1 << width)-1) << lsb) | ||
33 | #endif | ||
34 | |||
35 | #ifndef REG_LSB | ||
36 | #define REG_LSB( scope, reg, field ) reg_##scope##_##reg##___##field##___lsb | ||
37 | #endif | ||
38 | |||
39 | #ifndef REG_BIT | ||
40 | #define REG_BIT( scope, reg, field ) reg_##scope##_##reg##___##field##___bit | ||
41 | #endif | ||
42 | |||
43 | #ifndef REG_ADDR | ||
44 | #define REG_ADDR( scope, inst, reg ) REG_ADDR_X_(inst, reg_##scope##_##reg##_offset) | ||
45 | #define REG_ADDR_X_( inst, offs ) ((inst) + offs) | ||
46 | #endif | ||
47 | |||
48 | #ifndef REG_ADDR_VECT | ||
49 | #define REG_ADDR_VECT( scope, inst, reg, index ) \ | ||
50 | REG_ADDR_VECT_X_(inst, reg_##scope##_##reg##_offset, index, \ | ||
51 | STRIDE_##scope##_##reg ) | ||
52 | #define REG_ADDR_VECT_X_( inst, offs, index, stride ) \ | ||
53 | ((inst) + offs + (index) * stride) | ||
54 | #endif | ||
55 | |||
56 | /* Register rw_pa, scope pinmux, type rw */ | ||
57 | #define reg_pinmux_rw_pa___pa0___lsb 0 | ||
58 | #define reg_pinmux_rw_pa___pa0___width 1 | ||
59 | #define reg_pinmux_rw_pa___pa0___bit 0 | ||
60 | #define reg_pinmux_rw_pa___pa1___lsb 1 | ||
61 | #define reg_pinmux_rw_pa___pa1___width 1 | ||
62 | #define reg_pinmux_rw_pa___pa1___bit 1 | ||
63 | #define reg_pinmux_rw_pa___pa2___lsb 2 | ||
64 | #define reg_pinmux_rw_pa___pa2___width 1 | ||
65 | #define reg_pinmux_rw_pa___pa2___bit 2 | ||
66 | #define reg_pinmux_rw_pa___pa3___lsb 3 | ||
67 | #define reg_pinmux_rw_pa___pa3___width 1 | ||
68 | #define reg_pinmux_rw_pa___pa3___bit 3 | ||
69 | #define reg_pinmux_rw_pa___pa4___lsb 4 | ||
70 | #define reg_pinmux_rw_pa___pa4___width 1 | ||
71 | #define reg_pinmux_rw_pa___pa4___bit 4 | ||
72 | #define reg_pinmux_rw_pa___pa5___lsb 5 | ||
73 | #define reg_pinmux_rw_pa___pa5___width 1 | ||
74 | #define reg_pinmux_rw_pa___pa5___bit 5 | ||
75 | #define reg_pinmux_rw_pa___pa6___lsb 6 | ||
76 | #define reg_pinmux_rw_pa___pa6___width 1 | ||
77 | #define reg_pinmux_rw_pa___pa6___bit 6 | ||
78 | #define reg_pinmux_rw_pa___pa7___lsb 7 | ||
79 | #define reg_pinmux_rw_pa___pa7___width 1 | ||
80 | #define reg_pinmux_rw_pa___pa7___bit 7 | ||
81 | #define reg_pinmux_rw_pa___csp2_n___lsb 8 | ||
82 | #define reg_pinmux_rw_pa___csp2_n___width 1 | ||
83 | #define reg_pinmux_rw_pa___csp2_n___bit 8 | ||
84 | #define reg_pinmux_rw_pa___csp3_n___lsb 9 | ||
85 | #define reg_pinmux_rw_pa___csp3_n___width 1 | ||
86 | #define reg_pinmux_rw_pa___csp3_n___bit 9 | ||
87 | #define reg_pinmux_rw_pa___csp5_n___lsb 10 | ||
88 | #define reg_pinmux_rw_pa___csp5_n___width 1 | ||
89 | #define reg_pinmux_rw_pa___csp5_n___bit 10 | ||
90 | #define reg_pinmux_rw_pa___csp6_n___lsb 11 | ||
91 | #define reg_pinmux_rw_pa___csp6_n___width 1 | ||
92 | #define reg_pinmux_rw_pa___csp6_n___bit 11 | ||
93 | #define reg_pinmux_rw_pa___hsh4___lsb 12 | ||
94 | #define reg_pinmux_rw_pa___hsh4___width 1 | ||
95 | #define reg_pinmux_rw_pa___hsh4___bit 12 | ||
96 | #define reg_pinmux_rw_pa___hsh5___lsb 13 | ||
97 | #define reg_pinmux_rw_pa___hsh5___width 1 | ||
98 | #define reg_pinmux_rw_pa___hsh5___bit 13 | ||
99 | #define reg_pinmux_rw_pa___hsh6___lsb 14 | ||
100 | #define reg_pinmux_rw_pa___hsh6___width 1 | ||
101 | #define reg_pinmux_rw_pa___hsh6___bit 14 | ||
102 | #define reg_pinmux_rw_pa___hsh7___lsb 15 | ||
103 | #define reg_pinmux_rw_pa___hsh7___width 1 | ||
104 | #define reg_pinmux_rw_pa___hsh7___bit 15 | ||
105 | #define reg_pinmux_rw_pa_offset 0 | ||
106 | |||
107 | /* Register rw_hwprot, scope pinmux, type rw */ | ||
108 | #define reg_pinmux_rw_hwprot___ser1___lsb 0 | ||
109 | #define reg_pinmux_rw_hwprot___ser1___width 1 | ||
110 | #define reg_pinmux_rw_hwprot___ser1___bit 0 | ||
111 | #define reg_pinmux_rw_hwprot___ser2___lsb 1 | ||
112 | #define reg_pinmux_rw_hwprot___ser2___width 1 | ||
113 | #define reg_pinmux_rw_hwprot___ser2___bit 1 | ||
114 | #define reg_pinmux_rw_hwprot___ser3___lsb 2 | ||
115 | #define reg_pinmux_rw_hwprot___ser3___width 1 | ||
116 | #define reg_pinmux_rw_hwprot___ser3___bit 2 | ||
117 | #define reg_pinmux_rw_hwprot___sser0___lsb 3 | ||
118 | #define reg_pinmux_rw_hwprot___sser0___width 1 | ||
119 | #define reg_pinmux_rw_hwprot___sser0___bit 3 | ||
120 | #define reg_pinmux_rw_hwprot___sser1___lsb 4 | ||
121 | #define reg_pinmux_rw_hwprot___sser1___width 1 | ||
122 | #define reg_pinmux_rw_hwprot___sser1___bit 4 | ||
123 | #define reg_pinmux_rw_hwprot___ata0___lsb 5 | ||
124 | #define reg_pinmux_rw_hwprot___ata0___width 1 | ||
125 | #define reg_pinmux_rw_hwprot___ata0___bit 5 | ||
126 | #define reg_pinmux_rw_hwprot___ata1___lsb 6 | ||
127 | #define reg_pinmux_rw_hwprot___ata1___width 1 | ||
128 | #define reg_pinmux_rw_hwprot___ata1___bit 6 | ||
129 | #define reg_pinmux_rw_hwprot___ata2___lsb 7 | ||
130 | #define reg_pinmux_rw_hwprot___ata2___width 1 | ||
131 | #define reg_pinmux_rw_hwprot___ata2___bit 7 | ||
132 | #define reg_pinmux_rw_hwprot___ata3___lsb 8 | ||
133 | #define reg_pinmux_rw_hwprot___ata3___width 1 | ||
134 | #define reg_pinmux_rw_hwprot___ata3___bit 8 | ||
135 | #define reg_pinmux_rw_hwprot___ata___lsb 9 | ||
136 | #define reg_pinmux_rw_hwprot___ata___width 1 | ||
137 | #define reg_pinmux_rw_hwprot___ata___bit 9 | ||
138 | #define reg_pinmux_rw_hwprot___eth1___lsb 10 | ||
139 | #define reg_pinmux_rw_hwprot___eth1___width 1 | ||
140 | #define reg_pinmux_rw_hwprot___eth1___bit 10 | ||
141 | #define reg_pinmux_rw_hwprot___eth1_mgm___lsb 11 | ||
142 | #define reg_pinmux_rw_hwprot___eth1_mgm___width 1 | ||
143 | #define reg_pinmux_rw_hwprot___eth1_mgm___bit 11 | ||
144 | #define reg_pinmux_rw_hwprot___timer___lsb 12 | ||
145 | #define reg_pinmux_rw_hwprot___timer___width 1 | ||
146 | #define reg_pinmux_rw_hwprot___timer___bit 12 | ||
147 | #define reg_pinmux_rw_hwprot___p21___lsb 13 | ||
148 | #define reg_pinmux_rw_hwprot___p21___width 1 | ||
149 | #define reg_pinmux_rw_hwprot___p21___bit 13 | ||
150 | #define reg_pinmux_rw_hwprot_offset 4 | ||
151 | |||
152 | /* Register rw_pb_gio, scope pinmux, type rw */ | ||
153 | #define reg_pinmux_rw_pb_gio___pb0___lsb 0 | ||
154 | #define reg_pinmux_rw_pb_gio___pb0___width 1 | ||
155 | #define reg_pinmux_rw_pb_gio___pb0___bit 0 | ||
156 | #define reg_pinmux_rw_pb_gio___pb1___lsb 1 | ||
157 | #define reg_pinmux_rw_pb_gio___pb1___width 1 | ||
158 | #define reg_pinmux_rw_pb_gio___pb1___bit 1 | ||
159 | #define reg_pinmux_rw_pb_gio___pb2___lsb 2 | ||
160 | #define reg_pinmux_rw_pb_gio___pb2___width 1 | ||
161 | #define reg_pinmux_rw_pb_gio___pb2___bit 2 | ||
162 | #define reg_pinmux_rw_pb_gio___pb3___lsb 3 | ||
163 | #define reg_pinmux_rw_pb_gio___pb3___width 1 | ||
164 | #define reg_pinmux_rw_pb_gio___pb3___bit 3 | ||
165 | #define reg_pinmux_rw_pb_gio___pb4___lsb 4 | ||
166 | #define reg_pinmux_rw_pb_gio___pb4___width 1 | ||
167 | #define reg_pinmux_rw_pb_gio___pb4___bit 4 | ||
168 | #define reg_pinmux_rw_pb_gio___pb5___lsb 5 | ||
169 | #define reg_pinmux_rw_pb_gio___pb5___width 1 | ||
170 | #define reg_pinmux_rw_pb_gio___pb5___bit 5 | ||
171 | #define reg_pinmux_rw_pb_gio___pb6___lsb 6 | ||
172 | #define reg_pinmux_rw_pb_gio___pb6___width 1 | ||
173 | #define reg_pinmux_rw_pb_gio___pb6___bit 6 | ||
174 | #define reg_pinmux_rw_pb_gio___pb7___lsb 7 | ||
175 | #define reg_pinmux_rw_pb_gio___pb7___width 1 | ||
176 | #define reg_pinmux_rw_pb_gio___pb7___bit 7 | ||
177 | #define reg_pinmux_rw_pb_gio___pb8___lsb 8 | ||
178 | #define reg_pinmux_rw_pb_gio___pb8___width 1 | ||
179 | #define reg_pinmux_rw_pb_gio___pb8___bit 8 | ||
180 | #define reg_pinmux_rw_pb_gio___pb9___lsb 9 | ||
181 | #define reg_pinmux_rw_pb_gio___pb9___width 1 | ||
182 | #define reg_pinmux_rw_pb_gio___pb9___bit 9 | ||
183 | #define reg_pinmux_rw_pb_gio___pb10___lsb 10 | ||
184 | #define reg_pinmux_rw_pb_gio___pb10___width 1 | ||
185 | #define reg_pinmux_rw_pb_gio___pb10___bit 10 | ||
186 | #define reg_pinmux_rw_pb_gio___pb11___lsb 11 | ||
187 | #define reg_pinmux_rw_pb_gio___pb11___width 1 | ||
188 | #define reg_pinmux_rw_pb_gio___pb11___bit 11 | ||
189 | #define reg_pinmux_rw_pb_gio___pb12___lsb 12 | ||
190 | #define reg_pinmux_rw_pb_gio___pb12___width 1 | ||
191 | #define reg_pinmux_rw_pb_gio___pb12___bit 12 | ||
192 | #define reg_pinmux_rw_pb_gio___pb13___lsb 13 | ||
193 | #define reg_pinmux_rw_pb_gio___pb13___width 1 | ||
194 | #define reg_pinmux_rw_pb_gio___pb13___bit 13 | ||
195 | #define reg_pinmux_rw_pb_gio___pb14___lsb 14 | ||
196 | #define reg_pinmux_rw_pb_gio___pb14___width 1 | ||
197 | #define reg_pinmux_rw_pb_gio___pb14___bit 14 | ||
198 | #define reg_pinmux_rw_pb_gio___pb15___lsb 15 | ||
199 | #define reg_pinmux_rw_pb_gio___pb15___width 1 | ||
200 | #define reg_pinmux_rw_pb_gio___pb15___bit 15 | ||
201 | #define reg_pinmux_rw_pb_gio___pb16___lsb 16 | ||
202 | #define reg_pinmux_rw_pb_gio___pb16___width 1 | ||
203 | #define reg_pinmux_rw_pb_gio___pb16___bit 16 | ||
204 | #define reg_pinmux_rw_pb_gio___pb17___lsb 17 | ||
205 | #define reg_pinmux_rw_pb_gio___pb17___width 1 | ||
206 | #define reg_pinmux_rw_pb_gio___pb17___bit 17 | ||
207 | #define reg_pinmux_rw_pb_gio_offset 8 | ||
208 | |||
209 | /* Register rw_pb_iop, scope pinmux, type rw */ | ||
210 | #define reg_pinmux_rw_pb_iop___pb0___lsb 0 | ||
211 | #define reg_pinmux_rw_pb_iop___pb0___width 1 | ||
212 | #define reg_pinmux_rw_pb_iop___pb0___bit 0 | ||
213 | #define reg_pinmux_rw_pb_iop___pb1___lsb 1 | ||
214 | #define reg_pinmux_rw_pb_iop___pb1___width 1 | ||
215 | #define reg_pinmux_rw_pb_iop___pb1___bit 1 | ||
216 | #define reg_pinmux_rw_pb_iop___pb2___lsb 2 | ||
217 | #define reg_pinmux_rw_pb_iop___pb2___width 1 | ||
218 | #define reg_pinmux_rw_pb_iop___pb2___bit 2 | ||
219 | #define reg_pinmux_rw_pb_iop___pb3___lsb 3 | ||
220 | #define reg_pinmux_rw_pb_iop___pb3___width 1 | ||
221 | #define reg_pinmux_rw_pb_iop___pb3___bit 3 | ||
222 | #define reg_pinmux_rw_pb_iop___pb4___lsb 4 | ||
223 | #define reg_pinmux_rw_pb_iop___pb4___width 1 | ||
224 | #define reg_pinmux_rw_pb_iop___pb4___bit 4 | ||
225 | #define reg_pinmux_rw_pb_iop___pb5___lsb 5 | ||
226 | #define reg_pinmux_rw_pb_iop___pb5___width 1 | ||
227 | #define reg_pinmux_rw_pb_iop___pb5___bit 5 | ||
228 | #define reg_pinmux_rw_pb_iop___pb6___lsb 6 | ||
229 | #define reg_pinmux_rw_pb_iop___pb6___width 1 | ||
230 | #define reg_pinmux_rw_pb_iop___pb6___bit 6 | ||
231 | #define reg_pinmux_rw_pb_iop___pb7___lsb 7 | ||
232 | #define reg_pinmux_rw_pb_iop___pb7___width 1 | ||
233 | #define reg_pinmux_rw_pb_iop___pb7___bit 7 | ||
234 | #define reg_pinmux_rw_pb_iop___pb8___lsb 8 | ||
235 | #define reg_pinmux_rw_pb_iop___pb8___width 1 | ||
236 | #define reg_pinmux_rw_pb_iop___pb8___bit 8 | ||
237 | #define reg_pinmux_rw_pb_iop___pb9___lsb 9 | ||
238 | #define reg_pinmux_rw_pb_iop___pb9___width 1 | ||
239 | #define reg_pinmux_rw_pb_iop___pb9___bit 9 | ||
240 | #define reg_pinmux_rw_pb_iop___pb10___lsb 10 | ||
241 | #define reg_pinmux_rw_pb_iop___pb10___width 1 | ||
242 | #define reg_pinmux_rw_pb_iop___pb10___bit 10 | ||
243 | #define reg_pinmux_rw_pb_iop___pb11___lsb 11 | ||
244 | #define reg_pinmux_rw_pb_iop___pb11___width 1 | ||
245 | #define reg_pinmux_rw_pb_iop___pb11___bit 11 | ||
246 | #define reg_pinmux_rw_pb_iop___pb12___lsb 12 | ||
247 | #define reg_pinmux_rw_pb_iop___pb12___width 1 | ||
248 | #define reg_pinmux_rw_pb_iop___pb12___bit 12 | ||
249 | #define reg_pinmux_rw_pb_iop___pb13___lsb 13 | ||
250 | #define reg_pinmux_rw_pb_iop___pb13___width 1 | ||
251 | #define reg_pinmux_rw_pb_iop___pb13___bit 13 | ||
252 | #define reg_pinmux_rw_pb_iop___pb14___lsb 14 | ||
253 | #define reg_pinmux_rw_pb_iop___pb14___width 1 | ||
254 | #define reg_pinmux_rw_pb_iop___pb14___bit 14 | ||
255 | #define reg_pinmux_rw_pb_iop___pb15___lsb 15 | ||
256 | #define reg_pinmux_rw_pb_iop___pb15___width 1 | ||
257 | #define reg_pinmux_rw_pb_iop___pb15___bit 15 | ||
258 | #define reg_pinmux_rw_pb_iop___pb16___lsb 16 | ||
259 | #define reg_pinmux_rw_pb_iop___pb16___width 1 | ||
260 | #define reg_pinmux_rw_pb_iop___pb16___bit 16 | ||
261 | #define reg_pinmux_rw_pb_iop___pb17___lsb 17 | ||
262 | #define reg_pinmux_rw_pb_iop___pb17___width 1 | ||
263 | #define reg_pinmux_rw_pb_iop___pb17___bit 17 | ||
264 | #define reg_pinmux_rw_pb_iop_offset 12 | ||
265 | |||
266 | /* Register rw_pc_gio, scope pinmux, type rw */ | ||
267 | #define reg_pinmux_rw_pc_gio___pc0___lsb 0 | ||
268 | #define reg_pinmux_rw_pc_gio___pc0___width 1 | ||
269 | #define reg_pinmux_rw_pc_gio___pc0___bit 0 | ||
270 | #define reg_pinmux_rw_pc_gio___pc1___lsb 1 | ||
271 | #define reg_pinmux_rw_pc_gio___pc1___width 1 | ||
272 | #define reg_pinmux_rw_pc_gio___pc1___bit 1 | ||
273 | #define reg_pinmux_rw_pc_gio___pc2___lsb 2 | ||
274 | #define reg_pinmux_rw_pc_gio___pc2___width 1 | ||
275 | #define reg_pinmux_rw_pc_gio___pc2___bit 2 | ||
276 | #define reg_pinmux_rw_pc_gio___pc3___lsb 3 | ||
277 | #define reg_pinmux_rw_pc_gio___pc3___width 1 | ||
278 | #define reg_pinmux_rw_pc_gio___pc3___bit 3 | ||
279 | #define reg_pinmux_rw_pc_gio___pc4___lsb 4 | ||
280 | #define reg_pinmux_rw_pc_gio___pc4___width 1 | ||
281 | #define reg_pinmux_rw_pc_gio___pc4___bit 4 | ||
282 | #define reg_pinmux_rw_pc_gio___pc5___lsb 5 | ||
283 | #define reg_pinmux_rw_pc_gio___pc5___width 1 | ||
284 | #define reg_pinmux_rw_pc_gio___pc5___bit 5 | ||
285 | #define reg_pinmux_rw_pc_gio___pc6___lsb 6 | ||
286 | #define reg_pinmux_rw_pc_gio___pc6___width 1 | ||
287 | #define reg_pinmux_rw_pc_gio___pc6___bit 6 | ||
288 | #define reg_pinmux_rw_pc_gio___pc7___lsb 7 | ||
289 | #define reg_pinmux_rw_pc_gio___pc7___width 1 | ||
290 | #define reg_pinmux_rw_pc_gio___pc7___bit 7 | ||
291 | #define reg_pinmux_rw_pc_gio___pc8___lsb 8 | ||
292 | #define reg_pinmux_rw_pc_gio___pc8___width 1 | ||
293 | #define reg_pinmux_rw_pc_gio___pc8___bit 8 | ||
294 | #define reg_pinmux_rw_pc_gio___pc9___lsb 9 | ||
295 | #define reg_pinmux_rw_pc_gio___pc9___width 1 | ||
296 | #define reg_pinmux_rw_pc_gio___pc9___bit 9 | ||
297 | #define reg_pinmux_rw_pc_gio___pc10___lsb 10 | ||
298 | #define reg_pinmux_rw_pc_gio___pc10___width 1 | ||
299 | #define reg_pinmux_rw_pc_gio___pc10___bit 10 | ||
300 | #define reg_pinmux_rw_pc_gio___pc11___lsb 11 | ||
301 | #define reg_pinmux_rw_pc_gio___pc11___width 1 | ||
302 | #define reg_pinmux_rw_pc_gio___pc11___bit 11 | ||
303 | #define reg_pinmux_rw_pc_gio___pc12___lsb 12 | ||
304 | #define reg_pinmux_rw_pc_gio___pc12___width 1 | ||
305 | #define reg_pinmux_rw_pc_gio___pc12___bit 12 | ||
306 | #define reg_pinmux_rw_pc_gio___pc13___lsb 13 | ||
307 | #define reg_pinmux_rw_pc_gio___pc13___width 1 | ||
308 | #define reg_pinmux_rw_pc_gio___pc13___bit 13 | ||
309 | #define reg_pinmux_rw_pc_gio___pc14___lsb 14 | ||
310 | #define reg_pinmux_rw_pc_gio___pc14___width 1 | ||
311 | #define reg_pinmux_rw_pc_gio___pc14___bit 14 | ||
312 | #define reg_pinmux_rw_pc_gio___pc15___lsb 15 | ||
313 | #define reg_pinmux_rw_pc_gio___pc15___width 1 | ||
314 | #define reg_pinmux_rw_pc_gio___pc15___bit 15 | ||
315 | #define reg_pinmux_rw_pc_gio___pc16___lsb 16 | ||
316 | #define reg_pinmux_rw_pc_gio___pc16___width 1 | ||
317 | #define reg_pinmux_rw_pc_gio___pc16___bit 16 | ||
318 | #define reg_pinmux_rw_pc_gio___pc17___lsb 17 | ||
319 | #define reg_pinmux_rw_pc_gio___pc17___width 1 | ||
320 | #define reg_pinmux_rw_pc_gio___pc17___bit 17 | ||
321 | #define reg_pinmux_rw_pc_gio_offset 16 | ||
322 | |||
323 | /* Register rw_pc_iop, scope pinmux, type rw */ | ||
324 | #define reg_pinmux_rw_pc_iop___pc0___lsb 0 | ||
325 | #define reg_pinmux_rw_pc_iop___pc0___width 1 | ||
326 | #define reg_pinmux_rw_pc_iop___pc0___bit 0 | ||
327 | #define reg_pinmux_rw_pc_iop___pc1___lsb 1 | ||
328 | #define reg_pinmux_rw_pc_iop___pc1___width 1 | ||
329 | #define reg_pinmux_rw_pc_iop___pc1___bit 1 | ||
330 | #define reg_pinmux_rw_pc_iop___pc2___lsb 2 | ||
331 | #define reg_pinmux_rw_pc_iop___pc2___width 1 | ||
332 | #define reg_pinmux_rw_pc_iop___pc2___bit 2 | ||
333 | #define reg_pinmux_rw_pc_iop___pc3___lsb 3 | ||
334 | #define reg_pinmux_rw_pc_iop___pc3___width 1 | ||
335 | #define reg_pinmux_rw_pc_iop___pc3___bit 3 | ||
336 | #define reg_pinmux_rw_pc_iop___pc4___lsb 4 | ||
337 | #define reg_pinmux_rw_pc_iop___pc4___width 1 | ||
338 | #define reg_pinmux_rw_pc_iop___pc4___bit 4 | ||
339 | #define reg_pinmux_rw_pc_iop___pc5___lsb 5 | ||
340 | #define reg_pinmux_rw_pc_iop___pc5___width 1 | ||
341 | #define reg_pinmux_rw_pc_iop___pc5___bit 5 | ||
342 | #define reg_pinmux_rw_pc_iop___pc6___lsb 6 | ||
343 | #define reg_pinmux_rw_pc_iop___pc6___width 1 | ||
344 | #define reg_pinmux_rw_pc_iop___pc6___bit 6 | ||
345 | #define reg_pinmux_rw_pc_iop___pc7___lsb 7 | ||
346 | #define reg_pinmux_rw_pc_iop___pc7___width 1 | ||
347 | #define reg_pinmux_rw_pc_iop___pc7___bit 7 | ||
348 | #define reg_pinmux_rw_pc_iop___pc8___lsb 8 | ||
349 | #define reg_pinmux_rw_pc_iop___pc8___width 1 | ||
350 | #define reg_pinmux_rw_pc_iop___pc8___bit 8 | ||
351 | #define reg_pinmux_rw_pc_iop___pc9___lsb 9 | ||
352 | #define reg_pinmux_rw_pc_iop___pc9___width 1 | ||
353 | #define reg_pinmux_rw_pc_iop___pc9___bit 9 | ||
354 | #define reg_pinmux_rw_pc_iop___pc10___lsb 10 | ||
355 | #define reg_pinmux_rw_pc_iop___pc10___width 1 | ||
356 | #define reg_pinmux_rw_pc_iop___pc10___bit 10 | ||
357 | #define reg_pinmux_rw_pc_iop___pc11___lsb 11 | ||
358 | #define reg_pinmux_rw_pc_iop___pc11___width 1 | ||
359 | #define reg_pinmux_rw_pc_iop___pc11___bit 11 | ||
360 | #define reg_pinmux_rw_pc_iop___pc12___lsb 12 | ||
361 | #define reg_pinmux_rw_pc_iop___pc12___width 1 | ||
362 | #define reg_pinmux_rw_pc_iop___pc12___bit 12 | ||
363 | #define reg_pinmux_rw_pc_iop___pc13___lsb 13 | ||
364 | #define reg_pinmux_rw_pc_iop___pc13___width 1 | ||
365 | #define reg_pinmux_rw_pc_iop___pc13___bit 13 | ||
366 | #define reg_pinmux_rw_pc_iop___pc14___lsb 14 | ||
367 | #define reg_pinmux_rw_pc_iop___pc14___width 1 | ||
368 | #define reg_pinmux_rw_pc_iop___pc14___bit 14 | ||
369 | #define reg_pinmux_rw_pc_iop___pc15___lsb 15 | ||
370 | #define reg_pinmux_rw_pc_iop___pc15___width 1 | ||
371 | #define reg_pinmux_rw_pc_iop___pc15___bit 15 | ||
372 | #define reg_pinmux_rw_pc_iop___pc16___lsb 16 | ||
373 | #define reg_pinmux_rw_pc_iop___pc16___width 1 | ||
374 | #define reg_pinmux_rw_pc_iop___pc16___bit 16 | ||
375 | #define reg_pinmux_rw_pc_iop___pc17___lsb 17 | ||
376 | #define reg_pinmux_rw_pc_iop___pc17___width 1 | ||
377 | #define reg_pinmux_rw_pc_iop___pc17___bit 17 | ||
378 | #define reg_pinmux_rw_pc_iop_offset 20 | ||
379 | |||
380 | /* Register rw_pd_gio, scope pinmux, type rw */ | ||
381 | #define reg_pinmux_rw_pd_gio___pd0___lsb 0 | ||
382 | #define reg_pinmux_rw_pd_gio___pd0___width 1 | ||
383 | #define reg_pinmux_rw_pd_gio___pd0___bit 0 | ||
384 | #define reg_pinmux_rw_pd_gio___pd1___lsb 1 | ||
385 | #define reg_pinmux_rw_pd_gio___pd1___width 1 | ||
386 | #define reg_pinmux_rw_pd_gio___pd1___bit 1 | ||
387 | #define reg_pinmux_rw_pd_gio___pd2___lsb 2 | ||
388 | #define reg_pinmux_rw_pd_gio___pd2___width 1 | ||
389 | #define reg_pinmux_rw_pd_gio___pd2___bit 2 | ||
390 | #define reg_pinmux_rw_pd_gio___pd3___lsb 3 | ||
391 | #define reg_pinmux_rw_pd_gio___pd3___width 1 | ||
392 | #define reg_pinmux_rw_pd_gio___pd3___bit 3 | ||
393 | #define reg_pinmux_rw_pd_gio___pd4___lsb 4 | ||
394 | #define reg_pinmux_rw_pd_gio___pd4___width 1 | ||
395 | #define reg_pinmux_rw_pd_gio___pd4___bit 4 | ||
396 | #define reg_pinmux_rw_pd_gio___pd5___lsb 5 | ||
397 | #define reg_pinmux_rw_pd_gio___pd5___width 1 | ||
398 | #define reg_pinmux_rw_pd_gio___pd5___bit 5 | ||
399 | #define reg_pinmux_rw_pd_gio___pd6___lsb 6 | ||
400 | #define reg_pinmux_rw_pd_gio___pd6___width 1 | ||
401 | #define reg_pinmux_rw_pd_gio___pd6___bit 6 | ||
402 | #define reg_pinmux_rw_pd_gio___pd7___lsb 7 | ||
403 | #define reg_pinmux_rw_pd_gio___pd7___width 1 | ||
404 | #define reg_pinmux_rw_pd_gio___pd7___bit 7 | ||
405 | #define reg_pinmux_rw_pd_gio___pd8___lsb 8 | ||
406 | #define reg_pinmux_rw_pd_gio___pd8___width 1 | ||
407 | #define reg_pinmux_rw_pd_gio___pd8___bit 8 | ||
408 | #define reg_pinmux_rw_pd_gio___pd9___lsb 9 | ||
409 | #define reg_pinmux_rw_pd_gio___pd9___width 1 | ||
410 | #define reg_pinmux_rw_pd_gio___pd9___bit 9 | ||
411 | #define reg_pinmux_rw_pd_gio___pd10___lsb 10 | ||
412 | #define reg_pinmux_rw_pd_gio___pd10___width 1 | ||
413 | #define reg_pinmux_rw_pd_gio___pd10___bit 10 | ||
414 | #define reg_pinmux_rw_pd_gio___pd11___lsb 11 | ||
415 | #define reg_pinmux_rw_pd_gio___pd11___width 1 | ||
416 | #define reg_pinmux_rw_pd_gio___pd11___bit 11 | ||
417 | #define reg_pinmux_rw_pd_gio___pd12___lsb 12 | ||
418 | #define reg_pinmux_rw_pd_gio___pd12___width 1 | ||
419 | #define reg_pinmux_rw_pd_gio___pd12___bit 12 | ||
420 | #define reg_pinmux_rw_pd_gio___pd13___lsb 13 | ||
421 | #define reg_pinmux_rw_pd_gio___pd13___width 1 | ||
422 | #define reg_pinmux_rw_pd_gio___pd13___bit 13 | ||
423 | #define reg_pinmux_rw_pd_gio___pd14___lsb 14 | ||
424 | #define reg_pinmux_rw_pd_gio___pd14___width 1 | ||
425 | #define reg_pinmux_rw_pd_gio___pd14___bit 14 | ||
426 | #define reg_pinmux_rw_pd_gio___pd15___lsb 15 | ||
427 | #define reg_pinmux_rw_pd_gio___pd15___width 1 | ||
428 | #define reg_pinmux_rw_pd_gio___pd15___bit 15 | ||
429 | #define reg_pinmux_rw_pd_gio___pd16___lsb 16 | ||
430 | #define reg_pinmux_rw_pd_gio___pd16___width 1 | ||
431 | #define reg_pinmux_rw_pd_gio___pd16___bit 16 | ||
432 | #define reg_pinmux_rw_pd_gio___pd17___lsb 17 | ||
433 | #define reg_pinmux_rw_pd_gio___pd17___width 1 | ||
434 | #define reg_pinmux_rw_pd_gio___pd17___bit 17 | ||
435 | #define reg_pinmux_rw_pd_gio_offset 24 | ||
436 | |||
437 | /* Register rw_pd_iop, scope pinmux, type rw */ | ||
438 | #define reg_pinmux_rw_pd_iop___pd0___lsb 0 | ||
439 | #define reg_pinmux_rw_pd_iop___pd0___width 1 | ||
440 | #define reg_pinmux_rw_pd_iop___pd0___bit 0 | ||
441 | #define reg_pinmux_rw_pd_iop___pd1___lsb 1 | ||
442 | #define reg_pinmux_rw_pd_iop___pd1___width 1 | ||
443 | #define reg_pinmux_rw_pd_iop___pd1___bit 1 | ||
444 | #define reg_pinmux_rw_pd_iop___pd2___lsb 2 | ||
445 | #define reg_pinmux_rw_pd_iop___pd2___width 1 | ||
446 | #define reg_pinmux_rw_pd_iop___pd2___bit 2 | ||
447 | #define reg_pinmux_rw_pd_iop___pd3___lsb 3 | ||
448 | #define reg_pinmux_rw_pd_iop___pd3___width 1 | ||
449 | #define reg_pinmux_rw_pd_iop___pd3___bit 3 | ||
450 | #define reg_pinmux_rw_pd_iop___pd4___lsb 4 | ||
451 | #define reg_pinmux_rw_pd_iop___pd4___width 1 | ||
452 | #define reg_pinmux_rw_pd_iop___pd4___bit 4 | ||
453 | #define reg_pinmux_rw_pd_iop___pd5___lsb 5 | ||
454 | #define reg_pinmux_rw_pd_iop___pd5___width 1 | ||
455 | #define reg_pinmux_rw_pd_iop___pd5___bit 5 | ||
456 | #define reg_pinmux_rw_pd_iop___pd6___lsb 6 | ||
457 | #define reg_pinmux_rw_pd_iop___pd6___width 1 | ||
458 | #define reg_pinmux_rw_pd_iop___pd6___bit 6 | ||
459 | #define reg_pinmux_rw_pd_iop___pd7___lsb 7 | ||
460 | #define reg_pinmux_rw_pd_iop___pd7___width 1 | ||
461 | #define reg_pinmux_rw_pd_iop___pd7___bit 7 | ||
462 | #define reg_pinmux_rw_pd_iop___pd8___lsb 8 | ||
463 | #define reg_pinmux_rw_pd_iop___pd8___width 1 | ||
464 | #define reg_pinmux_rw_pd_iop___pd8___bit 8 | ||
465 | #define reg_pinmux_rw_pd_iop___pd9___lsb 9 | ||
466 | #define reg_pinmux_rw_pd_iop___pd9___width 1 | ||
467 | #define reg_pinmux_rw_pd_iop___pd9___bit 9 | ||
468 | #define reg_pinmux_rw_pd_iop___pd10___lsb 10 | ||
469 | #define reg_pinmux_rw_pd_iop___pd10___width 1 | ||
470 | #define reg_pinmux_rw_pd_iop___pd10___bit 10 | ||
471 | #define reg_pinmux_rw_pd_iop___pd11___lsb 11 | ||
472 | #define reg_pinmux_rw_pd_iop___pd11___width 1 | ||
473 | #define reg_pinmux_rw_pd_iop___pd11___bit 11 | ||
474 | #define reg_pinmux_rw_pd_iop___pd12___lsb 12 | ||
475 | #define reg_pinmux_rw_pd_iop___pd12___width 1 | ||
476 | #define reg_pinmux_rw_pd_iop___pd12___bit 12 | ||
477 | #define reg_pinmux_rw_pd_iop___pd13___lsb 13 | ||
478 | #define reg_pinmux_rw_pd_iop___pd13___width 1 | ||
479 | #define reg_pinmux_rw_pd_iop___pd13___bit 13 | ||
480 | #define reg_pinmux_rw_pd_iop___pd14___lsb 14 | ||
481 | #define reg_pinmux_rw_pd_iop___pd14___width 1 | ||
482 | #define reg_pinmux_rw_pd_iop___pd14___bit 14 | ||
483 | #define reg_pinmux_rw_pd_iop___pd15___lsb 15 | ||
484 | #define reg_pinmux_rw_pd_iop___pd15___width 1 | ||
485 | #define reg_pinmux_rw_pd_iop___pd15___bit 15 | ||
486 | #define reg_pinmux_rw_pd_iop___pd16___lsb 16 | ||
487 | #define reg_pinmux_rw_pd_iop___pd16___width 1 | ||
488 | #define reg_pinmux_rw_pd_iop___pd16___bit 16 | ||
489 | #define reg_pinmux_rw_pd_iop___pd17___lsb 17 | ||
490 | #define reg_pinmux_rw_pd_iop___pd17___width 1 | ||
491 | #define reg_pinmux_rw_pd_iop___pd17___bit 17 | ||
492 | #define reg_pinmux_rw_pd_iop_offset 28 | ||
493 | |||
494 | /* Register rw_pe_gio, scope pinmux, type rw */ | ||
495 | #define reg_pinmux_rw_pe_gio___pe0___lsb 0 | ||
496 | #define reg_pinmux_rw_pe_gio___pe0___width 1 | ||
497 | #define reg_pinmux_rw_pe_gio___pe0___bit 0 | ||
498 | #define reg_pinmux_rw_pe_gio___pe1___lsb 1 | ||
499 | #define reg_pinmux_rw_pe_gio___pe1___width 1 | ||
500 | #define reg_pinmux_rw_pe_gio___pe1___bit 1 | ||
501 | #define reg_pinmux_rw_pe_gio___pe2___lsb 2 | ||
502 | #define reg_pinmux_rw_pe_gio___pe2___width 1 | ||
503 | #define reg_pinmux_rw_pe_gio___pe2___bit 2 | ||
504 | #define reg_pinmux_rw_pe_gio___pe3___lsb 3 | ||
505 | #define reg_pinmux_rw_pe_gio___pe3___width 1 | ||
506 | #define reg_pinmux_rw_pe_gio___pe3___bit 3 | ||
507 | #define reg_pinmux_rw_pe_gio___pe4___lsb 4 | ||
508 | #define reg_pinmux_rw_pe_gio___pe4___width 1 | ||
509 | #define reg_pinmux_rw_pe_gio___pe4___bit 4 | ||
510 | #define reg_pinmux_rw_pe_gio___pe5___lsb 5 | ||
511 | #define reg_pinmux_rw_pe_gio___pe5___width 1 | ||
512 | #define reg_pinmux_rw_pe_gio___pe5___bit 5 | ||
513 | #define reg_pinmux_rw_pe_gio___pe6___lsb 6 | ||
514 | #define reg_pinmux_rw_pe_gio___pe6___width 1 | ||
515 | #define reg_pinmux_rw_pe_gio___pe6___bit 6 | ||
516 | #define reg_pinmux_rw_pe_gio___pe7___lsb 7 | ||
517 | #define reg_pinmux_rw_pe_gio___pe7___width 1 | ||
518 | #define reg_pinmux_rw_pe_gio___pe7___bit 7 | ||
519 | #define reg_pinmux_rw_pe_gio___pe8___lsb 8 | ||
520 | #define reg_pinmux_rw_pe_gio___pe8___width 1 | ||
521 | #define reg_pinmux_rw_pe_gio___pe8___bit 8 | ||
522 | #define reg_pinmux_rw_pe_gio___pe9___lsb 9 | ||
523 | #define reg_pinmux_rw_pe_gio___pe9___width 1 | ||
524 | #define reg_pinmux_rw_pe_gio___pe9___bit 9 | ||
525 | #define reg_pinmux_rw_pe_gio___pe10___lsb 10 | ||
526 | #define reg_pinmux_rw_pe_gio___pe10___width 1 | ||
527 | #define reg_pinmux_rw_pe_gio___pe10___bit 10 | ||
528 | #define reg_pinmux_rw_pe_gio___pe11___lsb 11 | ||
529 | #define reg_pinmux_rw_pe_gio___pe11___width 1 | ||
530 | #define reg_pinmux_rw_pe_gio___pe11___bit 11 | ||
531 | #define reg_pinmux_rw_pe_gio___pe12___lsb 12 | ||
532 | #define reg_pinmux_rw_pe_gio___pe12___width 1 | ||
533 | #define reg_pinmux_rw_pe_gio___pe12___bit 12 | ||
534 | #define reg_pinmux_rw_pe_gio___pe13___lsb 13 | ||
535 | #define reg_pinmux_rw_pe_gio___pe13___width 1 | ||
536 | #define reg_pinmux_rw_pe_gio___pe13___bit 13 | ||
537 | #define reg_pinmux_rw_pe_gio___pe14___lsb 14 | ||
538 | #define reg_pinmux_rw_pe_gio___pe14___width 1 | ||
539 | #define reg_pinmux_rw_pe_gio___pe14___bit 14 | ||
540 | #define reg_pinmux_rw_pe_gio___pe15___lsb 15 | ||
541 | #define reg_pinmux_rw_pe_gio___pe15___width 1 | ||
542 | #define reg_pinmux_rw_pe_gio___pe15___bit 15 | ||
543 | #define reg_pinmux_rw_pe_gio___pe16___lsb 16 | ||
544 | #define reg_pinmux_rw_pe_gio___pe16___width 1 | ||
545 | #define reg_pinmux_rw_pe_gio___pe16___bit 16 | ||
546 | #define reg_pinmux_rw_pe_gio___pe17___lsb 17 | ||
547 | #define reg_pinmux_rw_pe_gio___pe17___width 1 | ||
548 | #define reg_pinmux_rw_pe_gio___pe17___bit 17 | ||
549 | #define reg_pinmux_rw_pe_gio_offset 32 | ||
550 | |||
551 | /* Register rw_pe_iop, scope pinmux, type rw */ | ||
552 | #define reg_pinmux_rw_pe_iop___pe0___lsb 0 | ||
553 | #define reg_pinmux_rw_pe_iop___pe0___width 1 | ||
554 | #define reg_pinmux_rw_pe_iop___pe0___bit 0 | ||
555 | #define reg_pinmux_rw_pe_iop___pe1___lsb 1 | ||
556 | #define reg_pinmux_rw_pe_iop___pe1___width 1 | ||
557 | #define reg_pinmux_rw_pe_iop___pe1___bit 1 | ||
558 | #define reg_pinmux_rw_pe_iop___pe2___lsb 2 | ||
559 | #define reg_pinmux_rw_pe_iop___pe2___width 1 | ||
560 | #define reg_pinmux_rw_pe_iop___pe2___bit 2 | ||
561 | #define reg_pinmux_rw_pe_iop___pe3___lsb 3 | ||
562 | #define reg_pinmux_rw_pe_iop___pe3___width 1 | ||
563 | #define reg_pinmux_rw_pe_iop___pe3___bit 3 | ||
564 | #define reg_pinmux_rw_pe_iop___pe4___lsb 4 | ||
565 | #define reg_pinmux_rw_pe_iop___pe4___width 1 | ||
566 | #define reg_pinmux_rw_pe_iop___pe4___bit 4 | ||
567 | #define reg_pinmux_rw_pe_iop___pe5___lsb 5 | ||
568 | #define reg_pinmux_rw_pe_iop___pe5___width 1 | ||
569 | #define reg_pinmux_rw_pe_iop___pe5___bit 5 | ||
570 | #define reg_pinmux_rw_pe_iop___pe6___lsb 6 | ||
571 | #define reg_pinmux_rw_pe_iop___pe6___width 1 | ||
572 | #define reg_pinmux_rw_pe_iop___pe6___bit 6 | ||
573 | #define reg_pinmux_rw_pe_iop___pe7___lsb 7 | ||
574 | #define reg_pinmux_rw_pe_iop___pe7___width 1 | ||
575 | #define reg_pinmux_rw_pe_iop___pe7___bit 7 | ||
576 | #define reg_pinmux_rw_pe_iop___pe8___lsb 8 | ||
577 | #define reg_pinmux_rw_pe_iop___pe8___width 1 | ||
578 | #define reg_pinmux_rw_pe_iop___pe8___bit 8 | ||
579 | #define reg_pinmux_rw_pe_iop___pe9___lsb 9 | ||
580 | #define reg_pinmux_rw_pe_iop___pe9___width 1 | ||
581 | #define reg_pinmux_rw_pe_iop___pe9___bit 9 | ||
582 | #define reg_pinmux_rw_pe_iop___pe10___lsb 10 | ||
583 | #define reg_pinmux_rw_pe_iop___pe10___width 1 | ||
584 | #define reg_pinmux_rw_pe_iop___pe10___bit 10 | ||
585 | #define reg_pinmux_rw_pe_iop___pe11___lsb 11 | ||
586 | #define reg_pinmux_rw_pe_iop___pe11___width 1 | ||
587 | #define reg_pinmux_rw_pe_iop___pe11___bit 11 | ||
588 | #define reg_pinmux_rw_pe_iop___pe12___lsb 12 | ||
589 | #define reg_pinmux_rw_pe_iop___pe12___width 1 | ||
590 | #define reg_pinmux_rw_pe_iop___pe12___bit 12 | ||
591 | #define reg_pinmux_rw_pe_iop___pe13___lsb 13 | ||
592 | #define reg_pinmux_rw_pe_iop___pe13___width 1 | ||
593 | #define reg_pinmux_rw_pe_iop___pe13___bit 13 | ||
594 | #define reg_pinmux_rw_pe_iop___pe14___lsb 14 | ||
595 | #define reg_pinmux_rw_pe_iop___pe14___width 1 | ||
596 | #define reg_pinmux_rw_pe_iop___pe14___bit 14 | ||
597 | #define reg_pinmux_rw_pe_iop___pe15___lsb 15 | ||
598 | #define reg_pinmux_rw_pe_iop___pe15___width 1 | ||
599 | #define reg_pinmux_rw_pe_iop___pe15___bit 15 | ||
600 | #define reg_pinmux_rw_pe_iop___pe16___lsb 16 | ||
601 | #define reg_pinmux_rw_pe_iop___pe16___width 1 | ||
602 | #define reg_pinmux_rw_pe_iop___pe16___bit 16 | ||
603 | #define reg_pinmux_rw_pe_iop___pe17___lsb 17 | ||
604 | #define reg_pinmux_rw_pe_iop___pe17___width 1 | ||
605 | #define reg_pinmux_rw_pe_iop___pe17___bit 17 | ||
606 | #define reg_pinmux_rw_pe_iop_offset 36 | ||
607 | |||
608 | /* Register rw_usb_phy, scope pinmux, type rw */ | ||
609 | #define reg_pinmux_rw_usb_phy___en_usb0___lsb 0 | ||
610 | #define reg_pinmux_rw_usb_phy___en_usb0___width 1 | ||
611 | #define reg_pinmux_rw_usb_phy___en_usb0___bit 0 | ||
612 | #define reg_pinmux_rw_usb_phy___en_usb1___lsb 1 | ||
613 | #define reg_pinmux_rw_usb_phy___en_usb1___width 1 | ||
614 | #define reg_pinmux_rw_usb_phy___en_usb1___bit 1 | ||
615 | #define reg_pinmux_rw_usb_phy_offset 40 | ||
616 | |||
617 | |||
618 | /* Constants */ | ||
619 | #define regk_pinmux_no 0x00000000 | ||
620 | #define regk_pinmux_rw_hwprot_default 0x00000000 | ||
621 | #define regk_pinmux_rw_pa_default 0x00000000 | ||
622 | #define regk_pinmux_rw_pb_gio_default 0x00000000 | ||
623 | #define regk_pinmux_rw_pb_iop_default 0x00000000 | ||
624 | #define regk_pinmux_rw_pc_gio_default 0x00000000 | ||
625 | #define regk_pinmux_rw_pc_iop_default 0x00000000 | ||
626 | #define regk_pinmux_rw_pd_gio_default 0x00000000 | ||
627 | #define regk_pinmux_rw_pd_iop_default 0x00000000 | ||
628 | #define regk_pinmux_rw_pe_gio_default 0x00000000 | ||
629 | #define regk_pinmux_rw_pe_iop_default 0x00000000 | ||
630 | #define regk_pinmux_rw_usb_phy_default 0x00000000 | ||
631 | #define regk_pinmux_yes 0x00000001 | ||
632 | #endif /* __pinmux_defs_asm_h */ | ||
diff --git a/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h b/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h deleted file mode 100644 index 76959b70cd2c..000000000000 --- a/include/asm-cris/arch-v32/hwregs/asm/reg_map_asm.h +++ /dev/null | |||
@@ -1,96 +0,0 @@ | |||
1 | #ifndef __reg_map_h | ||
2 | #define __reg_map_h | ||
3 | |||
4 | /* | ||
5 | * This file is autogenerated from | ||
6 | * file: ../../mod/fakereg.rmap | ||
7 | * id: fakereg.rmap,v 1.3 2004/02/11 19:53:22 ronny Exp | ||
8 | * last modified: Wed Feb 11 20:53:25 2004 | ||
9 | * file: ../../rtl/global.rmap | ||
10 | * id: global.rmap,v 1.3 2003/08/18 15:08:23 mikaeln Exp | ||
11 | * last modified: Mon Aug 18 17:08:23 2003 | ||
12 | * file: ../../mod/modreg.rmap | ||
13 | * id: modreg.rmap,v 1.31 2004/02/20 15:40:04 stefans Exp | ||
14 | * last modified: Fri Feb 20 16:40:04 2004 | ||
15 | * | ||
16 | * by /n/asic/design/tools/rdesc/src/rdes2c -asm --outfile asm/reg_map_asm.h -base 0xb0000000 ../../rtl/global.rmap ../../mod/modreg.rmap ../../inst/memarb/rtl/guinness/marb_top.r ../../mod/fakereg.rmap | ||
17 | * id: $Id: reg_map_asm.h,v 1.1 2005/04/24 18:31:04 starvik Exp $ | ||
18 | * Any changes here will be lost. | ||
19 | * | ||
20 | * -*- buffer-read-only: t -*- | ||
21 | */ | ||
22 | #define regi_artpec_mod 0xb7044000 | ||
23 | #define regi_ata 0xb0032000 | ||
24 | #define regi_ata_mod 0xb7006000 | ||
25 | #define regi_barber 0xb701a000 | ||
26 | #define regi_bif_core 0xb0014000 | ||
27 | #define regi_bif_dma 0xb0016000 | ||
28 | #define regi_bif_slave 0xb0018000 | ||
29 | #define regi_bif_slave_ext 0xac000000 | ||
30 | #define regi_bus_master 0xb703c000 | ||
31 | #define regi_config 0xb003c000 | ||
32 | #define regi_dma0 0xb0000000 | ||
33 | #define regi_dma1 0xb0002000 | ||
34 | #define regi_dma2 0xb0004000 | ||
35 | #define regi_dma3 0xb0006000 | ||
36 | #define regi_dma4 0xb0008000 | ||
37 | #define regi_dma5 0xb000a000 | ||
38 | #define regi_dma6 0xb000c000 | ||
39 | #define regi_dma7 0xb000e000 | ||
40 | #define regi_dma8 0xb0010000 | ||
41 | #define regi_dma9 0xb0012000 | ||
42 | #define regi_eth0 0xb0034000 | ||
43 | #define regi_eth1 0xb0036000 | ||
44 | #define regi_eth_mod 0xb7004000 | ||
45 | #define regi_eth_mod1 0xb701c000 | ||
46 | #define regi_eth_strmod 0xb7008000 | ||
47 | #define regi_eth_strmod1 0xb7032000 | ||
48 | #define regi_ext_dma 0xb703a000 | ||
49 | #define regi_ext_mem 0xb7046000 | ||
50 | #define regi_gen_io 0xb7016000 | ||
51 | #define regi_gio 0xb001a000 | ||
52 | #define regi_hook 0xb7000000 | ||
53 | #define regi_iop 0xb0020000 | ||
54 | #define regi_irq 0xb001c000 | ||
55 | #define regi_irq_nmi 0xb701e000 | ||
56 | #define regi_marb 0xb003e000 | ||
57 | #define regi_marb_bp0 0xb003e240 | ||
58 | #define regi_marb_bp1 0xb003e280 | ||
59 | #define regi_marb_bp2 0xb003e2c0 | ||
60 | #define regi_marb_bp3 0xb003e300 | ||
61 | #define regi_nand_mod 0xb7014000 | ||
62 | #define regi_p21 0xb002e000 | ||
63 | #define regi_p21_mod 0xb7042000 | ||
64 | #define regi_pci_mod 0xb7010000 | ||
65 | #define regi_pin_test 0xb7018000 | ||
66 | #define regi_pinmux 0xb0038000 | ||
67 | #define regi_sdram_chk 0xb703e000 | ||
68 | #define regi_sdram_mod 0xb7012000 | ||
69 | #define regi_ser0 0xb0026000 | ||
70 | #define regi_ser1 0xb0028000 | ||
71 | #define regi_ser2 0xb002a000 | ||
72 | #define regi_ser3 0xb002c000 | ||
73 | #define regi_ser_mod0 0xb7020000 | ||
74 | #define regi_ser_mod1 0xb7022000 | ||
75 | #define regi_ser_mod2 0xb7024000 | ||
76 | #define regi_ser_mod3 0xb7026000 | ||
77 | #define regi_smif_stat 0xb700e000 | ||
78 | #define regi_sser0 0xb0022000 | ||
79 | #define regi_sser1 0xb0024000 | ||
80 | #define regi_sser_mod0 0xb700a000 | ||
81 | #define regi_sser_mod1 0xb700c000 | ||
82 | #define regi_strcop 0xb0030000 | ||
83 | #define regi_strmux 0xb003a000 | ||
84 | #define regi_strmux_tst 0xb7040000 | ||
85 | #define regi_tap 0xb7002000 | ||
86 | #define regi_timer 0xb001e000 | ||
87 | #define regi_timer_mod 0xb7034000 | ||
88 | #define regi_trace 0xb0040000 | ||
89 | #define regi_usb0 0xb7028000 | ||
90 | #define regi_usb1 0xb702a000 | ||
91 | #define regi_usb2 0xb702c000 | ||
92 | #define regi_usb3 0xb702e000 | ||
93 | #define regi_usb_dev 0xb7030000 | ||
94 | #define regi_utmi_mod0 0xb7036000 | ||
95 | #define regi_utmi_mod1 0xb7038000 | ||
96 | #endif /* __reg_map_h */ | ||
diff --git a/include/asm-cris/arch-v32/hwregs/gio_defs.h b/include/asm-cris/arch-v32/hwregs/gio_defs.h deleted file mode 100644 index 3e9a0b25366f..000000000000 --- a/include/asm-cris/arch-v32/hwregs/gio_defs.h +++ /dev/null | |||
@@ -1,295 +0,0 @@ | |||
1 | #ifndef __gio_defs_h | ||
2 | #define __gio_defs_h | ||
3 | |||
4 | /* | ||
5 | * This file is autogenerated from | ||
6 | * file: ../../inst/gio/rtl/gio_regs.r | ||
7 | * id: gio_regs.r,v 1.5 2005/02/04 09:43:21 perz Exp | ||
8 | * last modfied: Mon Apr 11 16:07:47 2005 | ||
9 | * | ||
10 | * by /n/asic/design/tools/rdesc/src/rdes2c --outfile gio_defs.h ../../inst/gio/rtl/gio_regs.r | ||
11 | * id: $Id: gio_defs.h,v 1.6 2005/04/24 18:30:58 starvik Exp $ | ||
12 | * Any changes here will be lost. | ||
13 | * | ||
14 | * -*- buffer-read-only: t -*- | ||
15 | */ | ||
16 | /* Main access macros */ | ||
17 | #ifndef REG_RD | ||
18 | #define REG_RD( scope, inst, reg ) \ | ||
19 | REG_READ( reg_##scope##_##reg, \ | ||
20 | (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
21 | #endif | ||
22 | |||
23 | #ifndef REG_WR | ||
24 | #define REG_WR( scope, inst, reg, val ) \ | ||
25 | REG_WRITE( reg_##scope##_##reg, \ | ||
26 | (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
27 | #endif | ||
28 | |||
29 | #ifndef REG_RD_VECT | ||
30 | #define REG_RD_VECT( scope, inst, reg, index ) \ | ||
31 | REG_READ( reg_##scope##_##reg, \ | ||
32 | (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
33 | (index) * STRIDE_##scope##_##reg ) | ||
34 | #endif | ||
35 | |||
36 | #ifndef REG_WR_VECT | ||
37 | #define REG_WR_VECT( scope, inst, reg, index, val ) \ | ||
38 | REG_WRITE( reg_##scope##_##reg, \ | ||
39 | (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
40 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
41 | #endif | ||
42 | |||
43 | #ifndef REG_RD_INT | ||
44 | #define REG_RD_INT( scope, inst, reg ) \ | ||
45 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
46 | #endif | ||
47 | |||
48 | #ifndef REG_WR_INT | ||
49 | #define REG_WR_INT( scope, inst, reg, val ) \ | ||
50 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
51 | #endif | ||
52 | |||
53 | #ifndef REG_RD_INT_VECT | ||
54 | #define REG_RD_INT_VECT( scope, inst, reg, index ) \ | ||
55 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
56 | (index) * STRIDE_##scope##_##reg ) | ||
57 | #endif | ||
58 | |||
59 | #ifndef REG_WR_INT_VECT | ||
60 | #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \ | ||
61 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
62 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
63 | #endif | ||
64 | |||
65 | #ifndef REG_TYPE_CONV | ||
66 | #define REG_TYPE_CONV( type, orgtype, val ) \ | ||
67 | ( { union { orgtype o; type n; } r; r.o = val; r.n; } ) | ||
68 | #endif | ||
69 | |||
70 | #ifndef reg_page_size | ||
71 | #define reg_page_size 8192 | ||
72 | #endif | ||
73 | |||
74 | #ifndef REG_ADDR | ||
75 | #define REG_ADDR( scope, inst, reg ) \ | ||
76 | ( (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
77 | #endif | ||
78 | |||
79 | #ifndef REG_ADDR_VECT | ||
80 | #define REG_ADDR_VECT( scope, inst, reg, index ) \ | ||
81 | ( (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
82 | (index) * STRIDE_##scope##_##reg ) | ||
83 | #endif | ||
84 | |||
85 | /* C-code for register scope gio */ | ||
86 | |||
87 | /* Register rw_pa_dout, scope gio, type rw */ | ||
88 | typedef struct { | ||
89 | unsigned int data : 8; | ||
90 | unsigned int dummy1 : 24; | ||
91 | } reg_gio_rw_pa_dout; | ||
92 | #define REG_RD_ADDR_gio_rw_pa_dout 0 | ||
93 | #define REG_WR_ADDR_gio_rw_pa_dout 0 | ||
94 | |||
95 | /* Register r_pa_din, scope gio, type r */ | ||
96 | typedef struct { | ||
97 | unsigned int data : 8; | ||
98 | unsigned int dummy1 : 24; | ||
99 | } reg_gio_r_pa_din; | ||
100 | #define REG_RD_ADDR_gio_r_pa_din 4 | ||
101 | |||
102 | /* Register rw_pa_oe, scope gio, type rw */ | ||
103 | typedef struct { | ||
104 | unsigned int oe : 8; | ||
105 | unsigned int dummy1 : 24; | ||
106 | } reg_gio_rw_pa_oe; | ||
107 | #define REG_RD_ADDR_gio_rw_pa_oe 8 | ||
108 | #define REG_WR_ADDR_gio_rw_pa_oe 8 | ||
109 | |||
110 | /* Register rw_intr_cfg, scope gio, type rw */ | ||
111 | typedef struct { | ||
112 | unsigned int pa0 : 3; | ||
113 | unsigned int pa1 : 3; | ||
114 | unsigned int pa2 : 3; | ||
115 | unsigned int pa3 : 3; | ||
116 | unsigned int pa4 : 3; | ||
117 | unsigned int pa5 : 3; | ||
118 | unsigned int pa6 : 3; | ||
119 | unsigned int pa7 : 3; | ||
120 | unsigned int dummy1 : 8; | ||
121 | } reg_gio_rw_intr_cfg; | ||
122 | #define REG_RD_ADDR_gio_rw_intr_cfg 12 | ||
123 | #define REG_WR_ADDR_gio_rw_intr_cfg 12 | ||
124 | |||
125 | /* Register rw_intr_mask, scope gio, type rw */ | ||
126 | typedef struct { | ||
127 | unsigned int pa0 : 1; | ||
128 | unsigned int pa1 : 1; | ||
129 | unsigned int pa2 : 1; | ||
130 | unsigned int pa3 : 1; | ||
131 | unsigned int pa4 : 1; | ||
132 | unsigned int pa5 : 1; | ||
133 | unsigned int pa6 : 1; | ||
134 | unsigned int pa7 : 1; | ||
135 | unsigned int dummy1 : 24; | ||
136 | } reg_gio_rw_intr_mask; | ||
137 | #define REG_RD_ADDR_gio_rw_intr_mask 16 | ||
138 | #define REG_WR_ADDR_gio_rw_intr_mask 16 | ||
139 | |||
140 | /* Register rw_ack_intr, scope gio, type rw */ | ||
141 | typedef struct { | ||
142 | unsigned int pa0 : 1; | ||
143 | unsigned int pa1 : 1; | ||
144 | unsigned int pa2 : 1; | ||
145 | unsigned int pa3 : 1; | ||
146 | unsigned int pa4 : 1; | ||
147 | unsigned int pa5 : 1; | ||
148 | unsigned int pa6 : 1; | ||
149 | unsigned int pa7 : 1; | ||
150 | unsigned int dummy1 : 24; | ||
151 | } reg_gio_rw_ack_intr; | ||
152 | #define REG_RD_ADDR_gio_rw_ack_intr 20 | ||
153 | #define REG_WR_ADDR_gio_rw_ack_intr 20 | ||
154 | |||
155 | /* Register r_intr, scope gio, type r */ | ||
156 | typedef struct { | ||
157 | unsigned int pa0 : 1; | ||
158 | unsigned int pa1 : 1; | ||
159 | unsigned int pa2 : 1; | ||
160 | unsigned int pa3 : 1; | ||
161 | unsigned int pa4 : 1; | ||
162 | unsigned int pa5 : 1; | ||
163 | unsigned int pa6 : 1; | ||
164 | unsigned int pa7 : 1; | ||
165 | unsigned int dummy1 : 24; | ||
166 | } reg_gio_r_intr; | ||
167 | #define REG_RD_ADDR_gio_r_intr 24 | ||
168 | |||
169 | /* Register r_masked_intr, scope gio, type r */ | ||
170 | typedef struct { | ||
171 | unsigned int pa0 : 1; | ||
172 | unsigned int pa1 : 1; | ||
173 | unsigned int pa2 : 1; | ||
174 | unsigned int pa3 : 1; | ||
175 | unsigned int pa4 : 1; | ||
176 | unsigned int pa5 : 1; | ||
177 | unsigned int pa6 : 1; | ||
178 | unsigned int pa7 : 1; | ||
179 | unsigned int dummy1 : 24; | ||
180 | } reg_gio_r_masked_intr; | ||
181 | #define REG_RD_ADDR_gio_r_masked_intr 28 | ||
182 | |||
183 | /* Register rw_pb_dout, scope gio, type rw */ | ||
184 | typedef struct { | ||
185 | unsigned int data : 18; | ||
186 | unsigned int dummy1 : 14; | ||
187 | } reg_gio_rw_pb_dout; | ||
188 | #define REG_RD_ADDR_gio_rw_pb_dout 32 | ||
189 | #define REG_WR_ADDR_gio_rw_pb_dout 32 | ||
190 | |||
191 | /* Register r_pb_din, scope gio, type r */ | ||
192 | typedef struct { | ||
193 | unsigned int data : 18; | ||
194 | unsigned int dummy1 : 14; | ||
195 | } reg_gio_r_pb_din; | ||
196 | #define REG_RD_ADDR_gio_r_pb_din 36 | ||
197 | |||
198 | /* Register rw_pb_oe, scope gio, type rw */ | ||
199 | typedef struct { | ||
200 | unsigned int oe : 18; | ||
201 | unsigned int dummy1 : 14; | ||
202 | } reg_gio_rw_pb_oe; | ||
203 | #define REG_RD_ADDR_gio_rw_pb_oe 40 | ||
204 | #define REG_WR_ADDR_gio_rw_pb_oe 40 | ||
205 | |||
206 | /* Register rw_pc_dout, scope gio, type rw */ | ||
207 | typedef struct { | ||
208 | unsigned int data : 18; | ||
209 | unsigned int dummy1 : 14; | ||
210 | } reg_gio_rw_pc_dout; | ||
211 | #define REG_RD_ADDR_gio_rw_pc_dout 48 | ||
212 | #define REG_WR_ADDR_gio_rw_pc_dout 48 | ||
213 | |||
214 | /* Register r_pc_din, scope gio, type r */ | ||
215 | typedef struct { | ||
216 | unsigned int data : 18; | ||
217 | unsigned int dummy1 : 14; | ||
218 | } reg_gio_r_pc_din; | ||
219 | #define REG_RD_ADDR_gio_r_pc_din 52 | ||
220 | |||
221 | /* Register rw_pc_oe, scope gio, type rw */ | ||
222 | typedef struct { | ||
223 | unsigned int oe : 18; | ||
224 | unsigned int dummy1 : 14; | ||
225 | } reg_gio_rw_pc_oe; | ||
226 | #define REG_RD_ADDR_gio_rw_pc_oe 56 | ||
227 | #define REG_WR_ADDR_gio_rw_pc_oe 56 | ||
228 | |||
229 | /* Register rw_pd_dout, scope gio, type rw */ | ||
230 | typedef struct { | ||
231 | unsigned int data : 18; | ||
232 | unsigned int dummy1 : 14; | ||
233 | } reg_gio_rw_pd_dout; | ||
234 | #define REG_RD_ADDR_gio_rw_pd_dout 64 | ||
235 | #define REG_WR_ADDR_gio_rw_pd_dout 64 | ||
236 | |||
237 | /* Register r_pd_din, scope gio, type r */ | ||
238 | typedef struct { | ||
239 | unsigned int data : 18; | ||
240 | unsigned int dummy1 : 14; | ||
241 | } reg_gio_r_pd_din; | ||
242 | #define REG_RD_ADDR_gio_r_pd_din 68 | ||
243 | |||
244 | /* Register rw_pd_oe, scope gio, type rw */ | ||
245 | typedef struct { | ||
246 | unsigned int oe : 18; | ||
247 | unsigned int dummy1 : 14; | ||
248 | } reg_gio_rw_pd_oe; | ||
249 | #define REG_RD_ADDR_gio_rw_pd_oe 72 | ||
250 | #define REG_WR_ADDR_gio_rw_pd_oe 72 | ||
251 | |||
252 | /* Register rw_pe_dout, scope gio, type rw */ | ||
253 | typedef struct { | ||
254 | unsigned int data : 18; | ||
255 | unsigned int dummy1 : 14; | ||
256 | } reg_gio_rw_pe_dout; | ||
257 | #define REG_RD_ADDR_gio_rw_pe_dout 80 | ||
258 | #define REG_WR_ADDR_gio_rw_pe_dout 80 | ||
259 | |||
260 | /* Register r_pe_din, scope gio, type r */ | ||
261 | typedef struct { | ||
262 | unsigned int data : 18; | ||
263 | unsigned int dummy1 : 14; | ||
264 | } reg_gio_r_pe_din; | ||
265 | #define REG_RD_ADDR_gio_r_pe_din 84 | ||
266 | |||
267 | /* Register rw_pe_oe, scope gio, type rw */ | ||
268 | typedef struct { | ||
269 | unsigned int oe : 18; | ||
270 | unsigned int dummy1 : 14; | ||
271 | } reg_gio_rw_pe_oe; | ||
272 | #define REG_RD_ADDR_gio_rw_pe_oe 88 | ||
273 | #define REG_WR_ADDR_gio_rw_pe_oe 88 | ||
274 | |||
275 | |||
276 | /* Constants */ | ||
277 | enum { | ||
278 | regk_gio_anyedge = 0x00000007, | ||
279 | regk_gio_hi = 0x00000001, | ||
280 | regk_gio_lo = 0x00000002, | ||
281 | regk_gio_negedge = 0x00000006, | ||
282 | regk_gio_no = 0x00000000, | ||
283 | regk_gio_off = 0x00000000, | ||
284 | regk_gio_posedge = 0x00000005, | ||
285 | regk_gio_rw_intr_cfg_default = 0x00000000, | ||
286 | regk_gio_rw_intr_mask_default = 0x00000000, | ||
287 | regk_gio_rw_pa_oe_default = 0x00000000, | ||
288 | regk_gio_rw_pb_oe_default = 0x00000000, | ||
289 | regk_gio_rw_pc_oe_default = 0x00000000, | ||
290 | regk_gio_rw_pd_oe_default = 0x00000000, | ||
291 | regk_gio_rw_pe_oe_default = 0x00000000, | ||
292 | regk_gio_set = 0x00000003, | ||
293 | regk_gio_yes = 0x00000001 | ||
294 | }; | ||
295 | #endif /* __gio_defs_h */ | ||
diff --git a/include/asm-cris/arch-v32/hwregs/intr_vect.h b/include/asm-cris/arch-v32/hwregs/intr_vect.h deleted file mode 100644 index 5c1b28fb205d..000000000000 --- a/include/asm-cris/arch-v32/hwregs/intr_vect.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | /* Interrupt vector numbers autogenerated by /n/asic/design/tools/rdesc/src/rdes2intr version | ||
2 | from ../../inst/intr_vect/rtl/guinness/ivmask.config.r | ||
3 | version . */ | ||
4 | |||
5 | #ifndef _______INST_INTR_VECT_RTL_GUINNESS_IVMASK_CONFIG_R | ||
6 | #define _______INST_INTR_VECT_RTL_GUINNESS_IVMASK_CONFIG_R | ||
7 | #define MEMARB_INTR_VECT 0x31 | ||
8 | #define GEN_IO_INTR_VECT 0x32 | ||
9 | #define IOP0_INTR_VECT 0x33 | ||
10 | #define IOP1_INTR_VECT 0x34 | ||
11 | #define IOP2_INTR_VECT 0x35 | ||
12 | #define IOP3_INTR_VECT 0x36 | ||
13 | #define DMA0_INTR_VECT 0x37 | ||
14 | #define DMA1_INTR_VECT 0x38 | ||
15 | #define DMA2_INTR_VECT 0x39 | ||
16 | #define DMA3_INTR_VECT 0x3a | ||
17 | #define DMA4_INTR_VECT 0x3b | ||
18 | #define DMA5_INTR_VECT 0x3c | ||
19 | #define DMA6_INTR_VECT 0x3d | ||
20 | #define DMA7_INTR_VECT 0x3e | ||
21 | #define DMA8_INTR_VECT 0x3f | ||
22 | #define DMA9_INTR_VECT 0x40 | ||
23 | #define ATA_INTR_VECT 0x41 | ||
24 | #define SSER0_INTR_VECT 0x42 | ||
25 | #define SSER1_INTR_VECT 0x43 | ||
26 | #define SER0_INTR_VECT 0x44 | ||
27 | #define SER1_INTR_VECT 0x45 | ||
28 | #define SER2_INTR_VECT 0x46 | ||
29 | #define SER3_INTR_VECT 0x47 | ||
30 | #define P21_INTR_VECT 0x48 | ||
31 | #define ETH0_INTR_VECT 0x49 | ||
32 | #define ETH1_INTR_VECT 0x4a | ||
33 | #define TIMER_INTR_VECT 0x4b | ||
34 | #define BIF_ARB_INTR_VECT 0x4c | ||
35 | #define BIF_DMA_INTR_VECT 0x4d | ||
36 | #define EXT_INTR_VECT 0x4e | ||
37 | #define IPI_INTR_VECT 0x4f | ||
38 | |||
39 | #endif | ||
diff --git a/include/asm-cris/arch-v32/hwregs/pinmux_defs.h b/include/asm-cris/arch-v32/hwregs/pinmux_defs.h deleted file mode 100644 index 9d91c2de1b07..000000000000 --- a/include/asm-cris/arch-v32/hwregs/pinmux_defs.h +++ /dev/null | |||
@@ -1,357 +0,0 @@ | |||
1 | #ifndef __pinmux_defs_h | ||
2 | #define __pinmux_defs_h | ||
3 | |||
4 | /* | ||
5 | * This file is autogenerated from | ||
6 | * file: ../../inst/pinmux/rtl/guinness/pinmux_regs.r | ||
7 | * id: pinmux_regs.r,v 1.40 2005/02/09 16:22:59 perz Exp | ||
8 | * last modfied: Mon Apr 11 16:09:11 2005 | ||
9 | * | ||
10 | * by /n/asic/design/tools/rdesc/src/rdes2c --outfile pinmux_defs.h ../../inst/pinmux/rtl/guinness/pinmux_regs.r | ||
11 | * id: $Id: pinmux_defs.h,v 1.3 2005/04/24 18:30:58 starvik Exp $ | ||
12 | * Any changes here will be lost. | ||
13 | * | ||
14 | * -*- buffer-read-only: t -*- | ||
15 | */ | ||
16 | /* Main access macros */ | ||
17 | #ifndef REG_RD | ||
18 | #define REG_RD( scope, inst, reg ) \ | ||
19 | REG_READ( reg_##scope##_##reg, \ | ||
20 | (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
21 | #endif | ||
22 | |||
23 | #ifndef REG_WR | ||
24 | #define REG_WR( scope, inst, reg, val ) \ | ||
25 | REG_WRITE( reg_##scope##_##reg, \ | ||
26 | (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
27 | #endif | ||
28 | |||
29 | #ifndef REG_RD_VECT | ||
30 | #define REG_RD_VECT( scope, inst, reg, index ) \ | ||
31 | REG_READ( reg_##scope##_##reg, \ | ||
32 | (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
33 | (index) * STRIDE_##scope##_##reg ) | ||
34 | #endif | ||
35 | |||
36 | #ifndef REG_WR_VECT | ||
37 | #define REG_WR_VECT( scope, inst, reg, index, val ) \ | ||
38 | REG_WRITE( reg_##scope##_##reg, \ | ||
39 | (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
40 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
41 | #endif | ||
42 | |||
43 | #ifndef REG_RD_INT | ||
44 | #define REG_RD_INT( scope, inst, reg ) \ | ||
45 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
46 | #endif | ||
47 | |||
48 | #ifndef REG_WR_INT | ||
49 | #define REG_WR_INT( scope, inst, reg, val ) \ | ||
50 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
51 | #endif | ||
52 | |||
53 | #ifndef REG_RD_INT_VECT | ||
54 | #define REG_RD_INT_VECT( scope, inst, reg, index ) \ | ||
55 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
56 | (index) * STRIDE_##scope##_##reg ) | ||
57 | #endif | ||
58 | |||
59 | #ifndef REG_WR_INT_VECT | ||
60 | #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \ | ||
61 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
62 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
63 | #endif | ||
64 | |||
65 | #ifndef REG_TYPE_CONV | ||
66 | #define REG_TYPE_CONV( type, orgtype, val ) \ | ||
67 | ( { union { orgtype o; type n; } r; r.o = val; r.n; } ) | ||
68 | #endif | ||
69 | |||
70 | #ifndef reg_page_size | ||
71 | #define reg_page_size 8192 | ||
72 | #endif | ||
73 | |||
74 | #ifndef REG_ADDR | ||
75 | #define REG_ADDR( scope, inst, reg ) \ | ||
76 | ( (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
77 | #endif | ||
78 | |||
79 | #ifndef REG_ADDR_VECT | ||
80 | #define REG_ADDR_VECT( scope, inst, reg, index ) \ | ||
81 | ( (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
82 | (index) * STRIDE_##scope##_##reg ) | ||
83 | #endif | ||
84 | |||
85 | /* C-code for register scope pinmux */ | ||
86 | |||
87 | /* Register rw_pa, scope pinmux, type rw */ | ||
88 | typedef struct { | ||
89 | unsigned int pa0 : 1; | ||
90 | unsigned int pa1 : 1; | ||
91 | unsigned int pa2 : 1; | ||
92 | unsigned int pa3 : 1; | ||
93 | unsigned int pa4 : 1; | ||
94 | unsigned int pa5 : 1; | ||
95 | unsigned int pa6 : 1; | ||
96 | unsigned int pa7 : 1; | ||
97 | unsigned int csp2_n : 1; | ||
98 | unsigned int csp3_n : 1; | ||
99 | unsigned int csp5_n : 1; | ||
100 | unsigned int csp6_n : 1; | ||
101 | unsigned int hsh4 : 1; | ||
102 | unsigned int hsh5 : 1; | ||
103 | unsigned int hsh6 : 1; | ||
104 | unsigned int hsh7 : 1; | ||
105 | unsigned int dummy1 : 16; | ||
106 | } reg_pinmux_rw_pa; | ||
107 | #define REG_RD_ADDR_pinmux_rw_pa 0 | ||
108 | #define REG_WR_ADDR_pinmux_rw_pa 0 | ||
109 | |||
110 | /* Register rw_hwprot, scope pinmux, type rw */ | ||
111 | typedef struct { | ||
112 | unsigned int ser1 : 1; | ||
113 | unsigned int ser2 : 1; | ||
114 | unsigned int ser3 : 1; | ||
115 | unsigned int sser0 : 1; | ||
116 | unsigned int sser1 : 1; | ||
117 | unsigned int ata0 : 1; | ||
118 | unsigned int ata1 : 1; | ||
119 | unsigned int ata2 : 1; | ||
120 | unsigned int ata3 : 1; | ||
121 | unsigned int ata : 1; | ||
122 | unsigned int eth1 : 1; | ||
123 | unsigned int eth1_mgm : 1; | ||
124 | unsigned int timer : 1; | ||
125 | unsigned int p21 : 1; | ||
126 | unsigned int dummy1 : 18; | ||
127 | } reg_pinmux_rw_hwprot; | ||
128 | #define REG_RD_ADDR_pinmux_rw_hwprot 4 | ||
129 | #define REG_WR_ADDR_pinmux_rw_hwprot 4 | ||
130 | |||
131 | /* Register rw_pb_gio, scope pinmux, type rw */ | ||
132 | typedef struct { | ||
133 | unsigned int pb0 : 1; | ||
134 | unsigned int pb1 : 1; | ||
135 | unsigned int pb2 : 1; | ||
136 | unsigned int pb3 : 1; | ||
137 | unsigned int pb4 : 1; | ||
138 | unsigned int pb5 : 1; | ||
139 | unsigned int pb6 : 1; | ||
140 | unsigned int pb7 : 1; | ||
141 | unsigned int pb8 : 1; | ||
142 | unsigned int pb9 : 1; | ||
143 | unsigned int pb10 : 1; | ||
144 | unsigned int pb11 : 1; | ||
145 | unsigned int pb12 : 1; | ||
146 | unsigned int pb13 : 1; | ||
147 | unsigned int pb14 : 1; | ||
148 | unsigned int pb15 : 1; | ||
149 | unsigned int pb16 : 1; | ||
150 | unsigned int pb17 : 1; | ||
151 | unsigned int dummy1 : 14; | ||
152 | } reg_pinmux_rw_pb_gio; | ||
153 | #define REG_RD_ADDR_pinmux_rw_pb_gio 8 | ||
154 | #define REG_WR_ADDR_pinmux_rw_pb_gio 8 | ||
155 | |||
156 | /* Register rw_pb_iop, scope pinmux, type rw */ | ||
157 | typedef struct { | ||
158 | unsigned int pb0 : 1; | ||
159 | unsigned int pb1 : 1; | ||
160 | unsigned int pb2 : 1; | ||
161 | unsigned int pb3 : 1; | ||
162 | unsigned int pb4 : 1; | ||
163 | unsigned int pb5 : 1; | ||
164 | unsigned int pb6 : 1; | ||
165 | unsigned int pb7 : 1; | ||
166 | unsigned int pb8 : 1; | ||
167 | unsigned int pb9 : 1; | ||
168 | unsigned int pb10 : 1; | ||
169 | unsigned int pb11 : 1; | ||
170 | unsigned int pb12 : 1; | ||
171 | unsigned int pb13 : 1; | ||
172 | unsigned int pb14 : 1; | ||
173 | unsigned int pb15 : 1; | ||
174 | unsigned int pb16 : 1; | ||
175 | unsigned int pb17 : 1; | ||
176 | unsigned int dummy1 : 14; | ||
177 | } reg_pinmux_rw_pb_iop; | ||
178 | #define REG_RD_ADDR_pinmux_rw_pb_iop 12 | ||
179 | #define REG_WR_ADDR_pinmux_rw_pb_iop 12 | ||
180 | |||
181 | /* Register rw_pc_gio, scope pinmux, type rw */ | ||
182 | typedef struct { | ||
183 | unsigned int pc0 : 1; | ||
184 | unsigned int pc1 : 1; | ||
185 | unsigned int pc2 : 1; | ||
186 | unsigned int pc3 : 1; | ||
187 | unsigned int pc4 : 1; | ||
188 | unsigned int pc5 : 1; | ||
189 | unsigned int pc6 : 1; | ||
190 | unsigned int pc7 : 1; | ||
191 | unsigned int pc8 : 1; | ||
192 | unsigned int pc9 : 1; | ||
193 | unsigned int pc10 : 1; | ||
194 | unsigned int pc11 : 1; | ||
195 | unsigned int pc12 : 1; | ||
196 | unsigned int pc13 : 1; | ||
197 | unsigned int pc14 : 1; | ||
198 | unsigned int pc15 : 1; | ||
199 | unsigned int pc16 : 1; | ||
200 | unsigned int pc17 : 1; | ||
201 | unsigned int dummy1 : 14; | ||
202 | } reg_pinmux_rw_pc_gio; | ||
203 | #define REG_RD_ADDR_pinmux_rw_pc_gio 16 | ||
204 | #define REG_WR_ADDR_pinmux_rw_pc_gio 16 | ||
205 | |||
206 | /* Register rw_pc_iop, scope pinmux, type rw */ | ||
207 | typedef struct { | ||
208 | unsigned int pc0 : 1; | ||
209 | unsigned int pc1 : 1; | ||
210 | unsigned int pc2 : 1; | ||
211 | unsigned int pc3 : 1; | ||
212 | unsigned int pc4 : 1; | ||
213 | unsigned int pc5 : 1; | ||
214 | unsigned int pc6 : 1; | ||
215 | unsigned int pc7 : 1; | ||
216 | unsigned int pc8 : 1; | ||
217 | unsigned int pc9 : 1; | ||
218 | unsigned int pc10 : 1; | ||
219 | unsigned int pc11 : 1; | ||
220 | unsigned int pc12 : 1; | ||
221 | unsigned int pc13 : 1; | ||
222 | unsigned int pc14 : 1; | ||
223 | unsigned int pc15 : 1; | ||
224 | unsigned int pc16 : 1; | ||
225 | unsigned int pc17 : 1; | ||
226 | unsigned int dummy1 : 14; | ||
227 | } reg_pinmux_rw_pc_iop; | ||
228 | #define REG_RD_ADDR_pinmux_rw_pc_iop 20 | ||
229 | #define REG_WR_ADDR_pinmux_rw_pc_iop 20 | ||
230 | |||
231 | /* Register rw_pd_gio, scope pinmux, type rw */ | ||
232 | typedef struct { | ||
233 | unsigned int pd0 : 1; | ||
234 | unsigned int pd1 : 1; | ||
235 | unsigned int pd2 : 1; | ||
236 | unsigned int pd3 : 1; | ||
237 | unsigned int pd4 : 1; | ||
238 | unsigned int pd5 : 1; | ||
239 | unsigned int pd6 : 1; | ||
240 | unsigned int pd7 : 1; | ||
241 | unsigned int pd8 : 1; | ||
242 | unsigned int pd9 : 1; | ||
243 | unsigned int pd10 : 1; | ||
244 | unsigned int pd11 : 1; | ||
245 | unsigned int pd12 : 1; | ||
246 | unsigned int pd13 : 1; | ||
247 | unsigned int pd14 : 1; | ||
248 | unsigned int pd15 : 1; | ||
249 | unsigned int pd16 : 1; | ||
250 | unsigned int pd17 : 1; | ||
251 | unsigned int dummy1 : 14; | ||
252 | } reg_pinmux_rw_pd_gio; | ||
253 | #define REG_RD_ADDR_pinmux_rw_pd_gio 24 | ||
254 | #define REG_WR_ADDR_pinmux_rw_pd_gio 24 | ||
255 | |||
256 | /* Register rw_pd_iop, scope pinmux, type rw */ | ||
257 | typedef struct { | ||
258 | unsigned int pd0 : 1; | ||
259 | unsigned int pd1 : 1; | ||
260 | unsigned int pd2 : 1; | ||
261 | unsigned int pd3 : 1; | ||
262 | unsigned int pd4 : 1; | ||
263 | unsigned int pd5 : 1; | ||
264 | unsigned int pd6 : 1; | ||
265 | unsigned int pd7 : 1; | ||
266 | unsigned int pd8 : 1; | ||
267 | unsigned int pd9 : 1; | ||
268 | unsigned int pd10 : 1; | ||
269 | unsigned int pd11 : 1; | ||
270 | unsigned int pd12 : 1; | ||
271 | unsigned int pd13 : 1; | ||
272 | unsigned int pd14 : 1; | ||
273 | unsigned int pd15 : 1; | ||
274 | unsigned int pd16 : 1; | ||
275 | unsigned int pd17 : 1; | ||
276 | unsigned int dummy1 : 14; | ||
277 | } reg_pinmux_rw_pd_iop; | ||
278 | #define REG_RD_ADDR_pinmux_rw_pd_iop 28 | ||
279 | #define REG_WR_ADDR_pinmux_rw_pd_iop 28 | ||
280 | |||
281 | /* Register rw_pe_gio, scope pinmux, type rw */ | ||
282 | typedef struct { | ||
283 | unsigned int pe0 : 1; | ||
284 | unsigned int pe1 : 1; | ||
285 | unsigned int pe2 : 1; | ||
286 | unsigned int pe3 : 1; | ||
287 | unsigned int pe4 : 1; | ||
288 | unsigned int pe5 : 1; | ||
289 | unsigned int pe6 : 1; | ||
290 | unsigned int pe7 : 1; | ||
291 | unsigned int pe8 : 1; | ||
292 | unsigned int pe9 : 1; | ||
293 | unsigned int pe10 : 1; | ||
294 | unsigned int pe11 : 1; | ||
295 | unsigned int pe12 : 1; | ||
296 | unsigned int pe13 : 1; | ||
297 | unsigned int pe14 : 1; | ||
298 | unsigned int pe15 : 1; | ||
299 | unsigned int pe16 : 1; | ||
300 | unsigned int pe17 : 1; | ||
301 | unsigned int dummy1 : 14; | ||
302 | } reg_pinmux_rw_pe_gio; | ||
303 | #define REG_RD_ADDR_pinmux_rw_pe_gio 32 | ||
304 | #define REG_WR_ADDR_pinmux_rw_pe_gio 32 | ||
305 | |||
306 | /* Register rw_pe_iop, scope pinmux, type rw */ | ||
307 | typedef struct { | ||
308 | unsigned int pe0 : 1; | ||
309 | unsigned int pe1 : 1; | ||
310 | unsigned int pe2 : 1; | ||
311 | unsigned int pe3 : 1; | ||
312 | unsigned int pe4 : 1; | ||
313 | unsigned int pe5 : 1; | ||
314 | unsigned int pe6 : 1; | ||
315 | unsigned int pe7 : 1; | ||
316 | unsigned int pe8 : 1; | ||
317 | unsigned int pe9 : 1; | ||
318 | unsigned int pe10 : 1; | ||
319 | unsigned int pe11 : 1; | ||
320 | unsigned int pe12 : 1; | ||
321 | unsigned int pe13 : 1; | ||
322 | unsigned int pe14 : 1; | ||
323 | unsigned int pe15 : 1; | ||
324 | unsigned int pe16 : 1; | ||
325 | unsigned int pe17 : 1; | ||
326 | unsigned int dummy1 : 14; | ||
327 | } reg_pinmux_rw_pe_iop; | ||
328 | #define REG_RD_ADDR_pinmux_rw_pe_iop 36 | ||
329 | #define REG_WR_ADDR_pinmux_rw_pe_iop 36 | ||
330 | |||
331 | /* Register rw_usb_phy, scope pinmux, type rw */ | ||
332 | typedef struct { | ||
333 | unsigned int en_usb0 : 1; | ||
334 | unsigned int en_usb1 : 1; | ||
335 | unsigned int dummy1 : 30; | ||
336 | } reg_pinmux_rw_usb_phy; | ||
337 | #define REG_RD_ADDR_pinmux_rw_usb_phy 40 | ||
338 | #define REG_WR_ADDR_pinmux_rw_usb_phy 40 | ||
339 | |||
340 | |||
341 | /* Constants */ | ||
342 | enum { | ||
343 | regk_pinmux_no = 0x00000000, | ||
344 | regk_pinmux_rw_hwprot_default = 0x00000000, | ||
345 | regk_pinmux_rw_pa_default = 0x00000000, | ||
346 | regk_pinmux_rw_pb_gio_default = 0x00000000, | ||
347 | regk_pinmux_rw_pb_iop_default = 0x00000000, | ||
348 | regk_pinmux_rw_pc_gio_default = 0x00000000, | ||
349 | regk_pinmux_rw_pc_iop_default = 0x00000000, | ||
350 | regk_pinmux_rw_pd_gio_default = 0x00000000, | ||
351 | regk_pinmux_rw_pd_iop_default = 0x00000000, | ||
352 | regk_pinmux_rw_pe_gio_default = 0x00000000, | ||
353 | regk_pinmux_rw_pe_iop_default = 0x00000000, | ||
354 | regk_pinmux_rw_usb_phy_default = 0x00000000, | ||
355 | regk_pinmux_yes = 0x00000001 | ||
356 | }; | ||
357 | #endif /* __pinmux_defs_h */ | ||
diff --git a/include/asm-cris/arch-v32/hwregs/strmux_defs.h b/include/asm-cris/arch-v32/hwregs/strmux_defs.h deleted file mode 100644 index 67474855c499..000000000000 --- a/include/asm-cris/arch-v32/hwregs/strmux_defs.h +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | #ifndef __strmux_defs_h | ||
2 | #define __strmux_defs_h | ||
3 | |||
4 | /* | ||
5 | * This file is autogenerated from | ||
6 | * file: ../../inst/strmux/rtl/guinness/strmux_regs.r | ||
7 | * id: strmux_regs.r,v 1.10 2005/02/10 10:10:46 perz Exp | ||
8 | * last modfied: Mon Apr 11 16:09:43 2005 | ||
9 | * | ||
10 | * by /n/asic/design/tools/rdesc/src/rdes2c --outfile strmux_defs.h ../../inst/strmux/rtl/guinness/strmux_regs.r | ||
11 | * id: $Id: strmux_defs.h,v 1.5 2005/04/24 18:30:58 starvik Exp $ | ||
12 | * Any changes here will be lost. | ||
13 | * | ||
14 | * -*- buffer-read-only: t -*- | ||
15 | */ | ||
16 | /* Main access macros */ | ||
17 | #ifndef REG_RD | ||
18 | #define REG_RD( scope, inst, reg ) \ | ||
19 | REG_READ( reg_##scope##_##reg, \ | ||
20 | (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
21 | #endif | ||
22 | |||
23 | #ifndef REG_WR | ||
24 | #define REG_WR( scope, inst, reg, val ) \ | ||
25 | REG_WRITE( reg_##scope##_##reg, \ | ||
26 | (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
27 | #endif | ||
28 | |||
29 | #ifndef REG_RD_VECT | ||
30 | #define REG_RD_VECT( scope, inst, reg, index ) \ | ||
31 | REG_READ( reg_##scope##_##reg, \ | ||
32 | (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
33 | (index) * STRIDE_##scope##_##reg ) | ||
34 | #endif | ||
35 | |||
36 | #ifndef REG_WR_VECT | ||
37 | #define REG_WR_VECT( scope, inst, reg, index, val ) \ | ||
38 | REG_WRITE( reg_##scope##_##reg, \ | ||
39 | (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
40 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
41 | #endif | ||
42 | |||
43 | #ifndef REG_RD_INT | ||
44 | #define REG_RD_INT( scope, inst, reg ) \ | ||
45 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
46 | #endif | ||
47 | |||
48 | #ifndef REG_WR_INT | ||
49 | #define REG_WR_INT( scope, inst, reg, val ) \ | ||
50 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) | ||
51 | #endif | ||
52 | |||
53 | #ifndef REG_RD_INT_VECT | ||
54 | #define REG_RD_INT_VECT( scope, inst, reg, index ) \ | ||
55 | REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
56 | (index) * STRIDE_##scope##_##reg ) | ||
57 | #endif | ||
58 | |||
59 | #ifndef REG_WR_INT_VECT | ||
60 | #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \ | ||
61 | REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \ | ||
62 | (index) * STRIDE_##scope##_##reg, (val) ) | ||
63 | #endif | ||
64 | |||
65 | #ifndef REG_TYPE_CONV | ||
66 | #define REG_TYPE_CONV( type, orgtype, val ) \ | ||
67 | ( { union { orgtype o; type n; } r; r.o = val; r.n; } ) | ||
68 | #endif | ||
69 | |||
70 | #ifndef reg_page_size | ||
71 | #define reg_page_size 8192 | ||
72 | #endif | ||
73 | |||
74 | #ifndef REG_ADDR | ||
75 | #define REG_ADDR( scope, inst, reg ) \ | ||
76 | ( (inst) + REG_RD_ADDR_##scope##_##reg ) | ||
77 | #endif | ||
78 | |||
79 | #ifndef REG_ADDR_VECT | ||
80 | #define REG_ADDR_VECT( scope, inst, reg, index ) \ | ||
81 | ( (inst) + REG_RD_ADDR_##scope##_##reg + \ | ||
82 | (index) * STRIDE_##scope##_##reg ) | ||
83 | #endif | ||
84 | |||
85 | /* C-code for register scope strmux */ | ||
86 | |||
87 | /* Register rw_cfg, scope strmux, type rw */ | ||
88 | typedef struct { | ||
89 | unsigned int dma0 : 3; | ||
90 | unsigned int dma1 : 3; | ||
91 | unsigned int dma2 : 3; | ||
92 | unsigned int dma3 : 3; | ||
93 | unsigned int dma4 : 3; | ||
94 | unsigned int dma5 : 3; | ||
95 | unsigned int dma6 : 3; | ||
96 | unsigned int dma7 : 3; | ||
97 | unsigned int dma8 : 3; | ||
98 | unsigned int dma9 : 3; | ||
99 | unsigned int dummy1 : 2; | ||
100 | } reg_strmux_rw_cfg; | ||
101 | #define REG_RD_ADDR_strmux_rw_cfg 0 | ||
102 | #define REG_WR_ADDR_strmux_rw_cfg 0 | ||
103 | |||
104 | |||
105 | /* Constants */ | ||
106 | enum { | ||
107 | regk_strmux_ata = 0x00000003, | ||
108 | regk_strmux_eth0 = 0x00000001, | ||
109 | regk_strmux_eth1 = 0x00000004, | ||
110 | regk_strmux_ext0 = 0x00000001, | ||
111 | regk_strmux_ext1 = 0x00000001, | ||
112 | regk_strmux_ext2 = 0x00000001, | ||
113 | regk_strmux_ext3 = 0x00000001, | ||
114 | regk_strmux_iop0 = 0x00000002, | ||
115 | regk_strmux_iop1 = 0x00000001, | ||
116 | regk_strmux_off = 0x00000000, | ||
117 | regk_strmux_p21 = 0x00000004, | ||
118 | regk_strmux_rw_cfg_default = 0x00000000, | ||
119 | regk_strmux_ser0 = 0x00000002, | ||
120 | regk_strmux_ser1 = 0x00000002, | ||
121 | regk_strmux_ser2 = 0x00000004, | ||
122 | regk_strmux_ser3 = 0x00000003, | ||
123 | regk_strmux_sser0 = 0x00000003, | ||
124 | regk_strmux_sser1 = 0x00000003, | ||
125 | regk_strmux_strcop = 0x00000002 | ||
126 | }; | ||
127 | #endif /* __strmux_defs_h */ | ||
diff --git a/include/asm-cris/arch-v32/pinmux.h b/include/asm-cris/arch-v32/pinmux.h deleted file mode 100644 index bb09bce42e7a..000000000000 --- a/include/asm-cris/arch-v32/pinmux.h +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | #ifndef _ASM_CRIS_ARCH_PINMUX_H | ||
2 | #define _ASM_CRIS_ARCH_PINMUX_H | ||
3 | |||
4 | #define PORT_B 0 | ||
5 | #define PORT_C 1 | ||
6 | #define PORT_D 2 | ||
7 | #define PORT_E 3 | ||
8 | |||
9 | enum pin_mode | ||
10 | { | ||
11 | pinmux_none = 0, | ||
12 | pinmux_fixed, | ||
13 | pinmux_gpio, | ||
14 | pinmux_iop | ||
15 | }; | ||
16 | |||
17 | enum fixed_function | ||
18 | { | ||
19 | pinmux_ser1, | ||
20 | pinmux_ser2, | ||
21 | pinmux_ser3, | ||
22 | pinmux_sser0, | ||
23 | pinmux_sser1, | ||
24 | pinmux_ata0, | ||
25 | pinmux_ata1, | ||
26 | pinmux_ata2, | ||
27 | pinmux_ata3, | ||
28 | pinmux_ata, | ||
29 | pinmux_eth1, | ||
30 | pinmux_timer | ||
31 | }; | ||
32 | |||
33 | int crisv32_pinmux_init(void); | ||
34 | int crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode); | ||
35 | int crisv32_pinmux_alloc_fixed(enum fixed_function function); | ||
36 | int crisv32_pinmux_dealloc(int port, int first_pin, int last_pin); | ||
37 | int crisv32_pinmux_dealloc_fixed(enum fixed_function function); | ||
38 | void crisv32_pinmux_dump(void); | ||
39 | |||
40 | #endif | ||
diff --git a/include/asm-cris/spinlock.h b/include/asm-cris/spinlock.h deleted file mode 100644 index 2e8ba8afc7af..000000000000 --- a/include/asm-cris/spinlock.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm/arch/spinlock.h> | ||
diff --git a/include/asm-x86/iomap.h b/include/asm-x86/iomap.h new file mode 100644 index 000000000000..c1f06289b14b --- /dev/null +++ b/include/asm-x86/iomap.h | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright © 2008 Ingo Molnar | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but | ||
10 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
12 | * General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | ||
17 | */ | ||
18 | |||
19 | #include <linux/fs.h> | ||
20 | #include <linux/mm.h> | ||
21 | #include <linux/uaccess.h> | ||
22 | #include <asm/cacheflush.h> | ||
23 | #include <asm/pgtable.h> | ||
24 | #include <asm/tlbflush.h> | ||
25 | |||
26 | void * | ||
27 | iomap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot); | ||
28 | |||
29 | void | ||
30 | iounmap_atomic(void *kvaddr, enum km_type type); | ||
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index eb4b35031a55..152b34da927c 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
@@ -159,6 +159,7 @@ typedef struct _drm_i915_sarea { | |||
159 | #define DRM_I915_GEM_SW_FINISH 0x20 | 159 | #define DRM_I915_GEM_SW_FINISH 0x20 |
160 | #define DRM_I915_GEM_SET_TILING 0x21 | 160 | #define DRM_I915_GEM_SET_TILING 0x21 |
161 | #define DRM_I915_GEM_GET_TILING 0x22 | 161 | #define DRM_I915_GEM_GET_TILING 0x22 |
162 | #define DRM_I915_GEM_GET_APERTURE 0x23 | ||
162 | 163 | ||
163 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 164 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
164 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 165 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
@@ -190,6 +191,7 @@ typedef struct _drm_i915_sarea { | |||
190 | #define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish) | 191 | #define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish) |
191 | #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) | 192 | #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling) |
192 | #define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) | 193 | #define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling) |
194 | #define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture) | ||
193 | 195 | ||
194 | /* Allow drivers to submit batchbuffers directly to hardware, relying | 196 | /* Allow drivers to submit batchbuffers directly to hardware, relying |
195 | * on the security mechanisms provided by hardware. | 197 | * on the security mechanisms provided by hardware. |
@@ -600,4 +602,15 @@ struct drm_i915_gem_get_tiling { | |||
600 | uint32_t swizzle_mode; | 602 | uint32_t swizzle_mode; |
601 | }; | 603 | }; |
602 | 604 | ||
605 | struct drm_i915_gem_get_aperture { | ||
606 | /** Total size of the aperture used by i915_gem_execbuffer, in bytes */ | ||
607 | uint64_t aper_size; | ||
608 | |||
609 | /** | ||
610 | * Available space in the aperture used by i915_gem_execbuffer, in | ||
611 | * bytes | ||
612 | */ | ||
613 | uint64_t aper_available_size; | ||
614 | }; | ||
615 | |||
603 | #endif /* _I915_DRM_H_ */ | 616 | #endif /* _I915_DRM_H_ */ |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 1c91a176b9ae..6a642098e5c3 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -236,12 +236,16 @@ static inline void *bio_data(struct bio *bio) | |||
236 | #define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1) | 236 | #define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1) |
237 | #define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx) | 237 | #define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx) |
238 | 238 | ||
239 | /* Default implementation of BIOVEC_PHYS_MERGEABLE */ | ||
240 | #define __BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ | ||
241 | ((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2))) | ||
242 | |||
239 | /* | 243 | /* |
240 | * allow arch override, for eg virtualized architectures (put in asm/io.h) | 244 | * allow arch override, for eg virtualized architectures (put in asm/io.h) |
241 | */ | 245 | */ |
242 | #ifndef BIOVEC_PHYS_MERGEABLE | 246 | #ifndef BIOVEC_PHYS_MERGEABLE |
243 | #define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ | 247 | #define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \ |
244 | ((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2))) | 248 | __BIOVEC_PHYS_MERGEABLE(vec1, vec2) |
245 | #endif | 249 | #endif |
246 | 250 | ||
247 | #define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \ | 251 | #define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \ |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 2b3645b1acf4..07e510a3b00a 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -239,7 +239,7 @@ static inline void hrtimer_add_expires(struct hrtimer *timer, ktime_t time) | |||
239 | timer->_softexpires = ktime_add_safe(timer->_softexpires, time); | 239 | timer->_softexpires = ktime_add_safe(timer->_softexpires, time); |
240 | } | 240 | } |
241 | 241 | ||
242 | static inline void hrtimer_add_expires_ns(struct hrtimer *timer, unsigned long ns) | 242 | static inline void hrtimer_add_expires_ns(struct hrtimer *timer, u64 ns) |
243 | { | 243 | { |
244 | timer->_expires = ktime_add_ns(timer->_expires, ns); | 244 | timer->_expires = ktime_add_ns(timer->_expires, ns); |
245 | timer->_softexpires = ktime_add_ns(timer->_softexpires, ns); | 245 | timer->_softexpires = ktime_add_ns(timer->_softexpires, ns); |
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index 9e7b49b8062d..a5cb0c3f6dcf 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -114,6 +114,8 @@ extern u16 vlan_dev_vlan_id(const struct net_device *dev); | |||
114 | 114 | ||
115 | extern int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | 115 | extern int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, |
116 | u16 vlan_tci, int polling); | 116 | u16 vlan_tci, int polling); |
117 | extern int vlan_hwaccel_do_receive(struct sk_buff *skb); | ||
118 | |||
117 | #else | 119 | #else |
118 | static inline struct net_device *vlan_dev_real_dev(const struct net_device *dev) | 120 | static inline struct net_device *vlan_dev_real_dev(const struct net_device *dev) |
119 | { | 121 | { |
@@ -133,6 +135,11 @@ static inline int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | |||
133 | BUG(); | 135 | BUG(); |
134 | return NET_XMIT_SUCCESS; | 136 | return NET_XMIT_SUCCESS; |
135 | } | 137 | } |
138 | |||
139 | static inline int vlan_hwaccel_do_receive(struct sk_buff *skb) | ||
140 | { | ||
141 | return 0; | ||
142 | } | ||
136 | #endif | 143 | #endif |
137 | 144 | ||
138 | /** | 145 | /** |
diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h new file mode 100644 index 000000000000..82df31726a54 --- /dev/null +++ b/include/linux/io-mapping.h | |||
@@ -0,0 +1,125 @@ | |||
1 | /* | ||
2 | * Copyright © 2008 Keith Packard <keithp@keithp.com> | ||
3 | * | ||
4 | * This file is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of version 2 of the GNU General Public License | ||
6 | * as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software Foundation, | ||
15 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | ||
16 | */ | ||
17 | |||
18 | #ifndef _LINUX_IO_MAPPING_H | ||
19 | #define _LINUX_IO_MAPPING_H | ||
20 | |||
21 | #include <linux/types.h> | ||
22 | #include <asm/io.h> | ||
23 | #include <asm/page.h> | ||
24 | #include <asm/iomap.h> | ||
25 | |||
26 | /* | ||
27 | * The io_mapping mechanism provides an abstraction for mapping | ||
28 | * individual pages from an io device to the CPU in an efficient fashion. | ||
29 | * | ||
30 | * See Documentation/io_mapping.txt | ||
31 | */ | ||
32 | |||
33 | /* this struct isn't actually defined anywhere */ | ||
34 | struct io_mapping; | ||
35 | |||
36 | #ifdef CONFIG_HAVE_ATOMIC_IOMAP | ||
37 | |||
38 | /* | ||
39 | * For small address space machines, mapping large objects | ||
40 | * into the kernel virtual space isn't practical. Where | ||
41 | * available, use fixmap support to dynamically map pages | ||
42 | * of the object at run time. | ||
43 | */ | ||
44 | |||
45 | static inline struct io_mapping * | ||
46 | io_mapping_create_wc(unsigned long base, unsigned long size) | ||
47 | { | ||
48 | return (struct io_mapping *) base; | ||
49 | } | ||
50 | |||
51 | static inline void | ||
52 | io_mapping_free(struct io_mapping *mapping) | ||
53 | { | ||
54 | } | ||
55 | |||
56 | /* Atomic map/unmap */ | ||
57 | static inline void * | ||
58 | io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset) | ||
59 | { | ||
60 | offset += (unsigned long) mapping; | ||
61 | return iomap_atomic_prot_pfn(offset >> PAGE_SHIFT, KM_USER0, | ||
62 | __pgprot(__PAGE_KERNEL_WC)); | ||
63 | } | ||
64 | |||
65 | static inline void | ||
66 | io_mapping_unmap_atomic(void *vaddr) | ||
67 | { | ||
68 | iounmap_atomic(vaddr, KM_USER0); | ||
69 | } | ||
70 | |||
71 | static inline void * | ||
72 | io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset) | ||
73 | { | ||
74 | offset += (unsigned long) mapping; | ||
75 | return ioremap_wc(offset, PAGE_SIZE); | ||
76 | } | ||
77 | |||
78 | static inline void | ||
79 | io_mapping_unmap(void *vaddr) | ||
80 | { | ||
81 | iounmap(vaddr); | ||
82 | } | ||
83 | |||
84 | #else | ||
85 | |||
86 | /* Create the io_mapping object*/ | ||
87 | static inline struct io_mapping * | ||
88 | io_mapping_create_wc(unsigned long base, unsigned long size) | ||
89 | { | ||
90 | return (struct io_mapping *) ioremap_wc(base, size); | ||
91 | } | ||
92 | |||
93 | static inline void | ||
94 | io_mapping_free(struct io_mapping *mapping) | ||
95 | { | ||
96 | iounmap(mapping); | ||
97 | } | ||
98 | |||
99 | /* Atomic map/unmap */ | ||
100 | static inline void * | ||
101 | io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset) | ||
102 | { | ||
103 | return ((char *) mapping) + offset; | ||
104 | } | ||
105 | |||
106 | static inline void | ||
107 | io_mapping_unmap_atomic(void *vaddr) | ||
108 | { | ||
109 | } | ||
110 | |||
111 | /* Non-atomic map/unmap */ | ||
112 | static inline void * | ||
113 | io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset) | ||
114 | { | ||
115 | return ((char *) mapping) + offset; | ||
116 | } | ||
117 | |||
118 | static inline void | ||
119 | io_mapping_unmap(void *vaddr) | ||
120 | { | ||
121 | } | ||
122 | |||
123 | #endif /* HAVE_ATOMIC_IOMAP */ | ||
124 | |||
125 | #endif /* _LINUX_IO_MAPPING_H */ | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index 507f53ef8038..c7665a4134c5 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -372,6 +372,9 @@ enum { | |||
372 | ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ | 372 | ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ |
373 | ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ | 373 | ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ |
374 | ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */ | 374 | ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */ |
375 | ATA_HORKAGE_BRIDGE_OK = (1 << 10), /* no bridge limits */ | ||
376 | ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands | ||
377 | not multiple of 16 bytes */ | ||
375 | 378 | ||
376 | /* DMA mask for user DMA control: User visible values; DO NOT | 379 | /* DMA mask for user DMA control: User visible values; DO NOT |
377 | renumber */ | 380 | renumber */ |
diff --git a/include/linux/msdos_fs.h b/include/linux/msdos_fs.h index ba63858056c7..e0a9b207920d 100644 --- a/include/linux/msdos_fs.h +++ b/include/linux/msdos_fs.h | |||
@@ -46,11 +46,6 @@ | |||
46 | #define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ | 46 | #define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */ |
47 | #define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) | 47 | #define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG) |
48 | 48 | ||
49 | /* valid file mode bits */ | ||
50 | #define MSDOS_VALID_MODE (S_IFREG | S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO) | ||
51 | /* Convert attribute bits and a mask to the UNIX mode. */ | ||
52 | #define MSDOS_MKMODE(a, m) (m & (a & ATTR_RO ? S_IRUGO|S_IXUGO : S_IRWXUGO)) | ||
53 | |||
54 | #define MSDOS_NAME 11 /* maximum name length */ | 49 | #define MSDOS_NAME 11 /* maximum name length */ |
55 | #define MSDOS_LONGNAME 256 /* maximum name length */ | 50 | #define MSDOS_LONGNAME 256 /* maximum name length */ |
56 | #define MSDOS_SLOTS 21 /* max # of slots for short and long names */ | 51 | #define MSDOS_SLOTS 21 /* max # of slots for short and long names */ |
@@ -167,282 +162,10 @@ struct msdos_dir_slot { | |||
167 | }; | 162 | }; |
168 | 163 | ||
169 | #ifdef __KERNEL__ | 164 | #ifdef __KERNEL__ |
170 | |||
171 | #include <linux/buffer_head.h> | ||
172 | #include <linux/string.h> | ||
173 | #include <linux/nls.h> | ||
174 | #include <linux/fs.h> | ||
175 | #include <linux/mutex.h> | ||
176 | |||
177 | /* | ||
178 | * vfat shortname flags | ||
179 | */ | ||
180 | #define VFAT_SFN_DISPLAY_LOWER 0x0001 /* convert to lowercase for display */ | ||
181 | #define VFAT_SFN_DISPLAY_WIN95 0x0002 /* emulate win95 rule for display */ | ||
182 | #define VFAT_SFN_DISPLAY_WINNT 0x0004 /* emulate winnt rule for display */ | ||
183 | #define VFAT_SFN_CREATE_WIN95 0x0100 /* emulate win95 rule for create */ | ||
184 | #define VFAT_SFN_CREATE_WINNT 0x0200 /* emulate winnt rule for create */ | ||
185 | |||
186 | struct fat_mount_options { | ||
187 | uid_t fs_uid; | ||
188 | gid_t fs_gid; | ||
189 | unsigned short fs_fmask; | ||
190 | unsigned short fs_dmask; | ||
191 | unsigned short codepage; /* Codepage for shortname conversions */ | ||
192 | char *iocharset; /* Charset used for filename input/display */ | ||
193 | unsigned short shortname; /* flags for shortname display/create rule */ | ||
194 | unsigned char name_check; /* r = relaxed, n = normal, s = strict */ | ||
195 | unsigned short allow_utime;/* permission for setting the [am]time */ | ||
196 | unsigned quiet:1, /* set = fake successful chmods and chowns */ | ||
197 | showexec:1, /* set = only set x bit for com/exe/bat */ | ||
198 | sys_immutable:1, /* set = system files are immutable */ | ||
199 | dotsOK:1, /* set = hidden and system files are named '.filename' */ | ||
200 | isvfat:1, /* 0=no vfat long filename support, 1=vfat support */ | ||
201 | utf8:1, /* Use of UTF-8 character set (Default) */ | ||
202 | unicode_xlate:1, /* create escape sequences for unhandled Unicode */ | ||
203 | numtail:1, /* Does first alias have a numeric '~1' type tail? */ | ||
204 | flush:1, /* write things quickly */ | ||
205 | nocase:1, /* Does this need case conversion? 0=need case conversion*/ | ||
206 | usefree:1, /* Use free_clusters for FAT32 */ | ||
207 | tz_utc:1; /* Filesystem timestamps are in UTC */ | ||
208 | }; | ||
209 | |||
210 | #define FAT_HASH_BITS 8 | ||
211 | #define FAT_HASH_SIZE (1UL << FAT_HASH_BITS) | ||
212 | #define FAT_HASH_MASK (FAT_HASH_SIZE-1) | ||
213 | |||
214 | /* | ||
215 | * MS-DOS file system in-core superblock data | ||
216 | */ | ||
217 | struct msdos_sb_info { | ||
218 | unsigned short sec_per_clus; /* sectors/cluster */ | ||
219 | unsigned short cluster_bits; /* log2(cluster_size) */ | ||
220 | unsigned int cluster_size; /* cluster size */ | ||
221 | unsigned char fats,fat_bits; /* number of FATs, FAT bits (12 or 16) */ | ||
222 | unsigned short fat_start; | ||
223 | unsigned long fat_length; /* FAT start & length (sec.) */ | ||
224 | unsigned long dir_start; | ||
225 | unsigned short dir_entries; /* root dir start & entries */ | ||
226 | unsigned long data_start; /* first data sector */ | ||
227 | unsigned long max_cluster; /* maximum cluster number */ | ||
228 | unsigned long root_cluster; /* first cluster of the root directory */ | ||
229 | unsigned long fsinfo_sector; /* sector number of FAT32 fsinfo */ | ||
230 | struct mutex fat_lock; | ||
231 | unsigned int prev_free; /* previously allocated cluster number */ | ||
232 | unsigned int free_clusters; /* -1 if undefined */ | ||
233 | unsigned int free_clus_valid; /* is free_clusters valid? */ | ||
234 | struct fat_mount_options options; | ||
235 | struct nls_table *nls_disk; /* Codepage used on disk */ | ||
236 | struct nls_table *nls_io; /* Charset used for input and display */ | ||
237 | const void *dir_ops; /* Opaque; default directory operations */ | ||
238 | int dir_per_block; /* dir entries per block */ | ||
239 | int dir_per_block_bits; /* log2(dir_per_block) */ | ||
240 | |||
241 | int fatent_shift; | ||
242 | struct fatent_operations *fatent_ops; | ||
243 | |||
244 | spinlock_t inode_hash_lock; | ||
245 | struct hlist_head inode_hashtable[FAT_HASH_SIZE]; | ||
246 | }; | ||
247 | |||
248 | #define FAT_CACHE_VALID 0 /* special case for valid cache */ | ||
249 | |||
250 | /* | ||
251 | * MS-DOS file system inode data in memory | ||
252 | */ | ||
253 | struct msdos_inode_info { | ||
254 | spinlock_t cache_lru_lock; | ||
255 | struct list_head cache_lru; | ||
256 | int nr_caches; | ||
257 | /* for avoiding the race between fat_free() and fat_get_cluster() */ | ||
258 | unsigned int cache_valid_id; | ||
259 | |||
260 | loff_t mmu_private; | ||
261 | int i_start; /* first cluster or 0 */ | ||
262 | int i_logstart; /* logical first cluster */ | ||
263 | int i_attrs; /* unused attribute bits */ | ||
264 | loff_t i_pos; /* on-disk position of directory entry or 0 */ | ||
265 | struct hlist_node i_fat_hash; /* hash by i_location */ | ||
266 | struct inode vfs_inode; | ||
267 | }; | ||
268 | |||
269 | struct fat_slot_info { | ||
270 | loff_t i_pos; /* on-disk position of directory entry */ | ||
271 | loff_t slot_off; /* offset for slot or de start */ | ||
272 | int nr_slots; /* number of slots + 1(de) in filename */ | ||
273 | struct msdos_dir_entry *de; | ||
274 | struct buffer_head *bh; | ||
275 | }; | ||
276 | |||
277 | static inline struct msdos_sb_info *MSDOS_SB(struct super_block *sb) | ||
278 | { | ||
279 | return sb->s_fs_info; | ||
280 | } | ||
281 | |||
282 | static inline struct msdos_inode_info *MSDOS_I(struct inode *inode) | ||
283 | { | ||
284 | return container_of(inode, struct msdos_inode_info, vfs_inode); | ||
285 | } | ||
286 | |||
287 | /* Return the FAT attribute byte for this inode */ | ||
288 | static inline u8 fat_attr(struct inode *inode) | ||
289 | { | ||
290 | return ((inode->i_mode & S_IWUGO) ? ATTR_NONE : ATTR_RO) | | ||
291 | (S_ISDIR(inode->i_mode) ? ATTR_DIR : ATTR_NONE) | | ||
292 | MSDOS_I(inode)->i_attrs; | ||
293 | } | ||
294 | |||
295 | static inline unsigned char fat_checksum(const __u8 *name) | ||
296 | { | ||
297 | unsigned char s = name[0]; | ||
298 | s = (s<<7) + (s>>1) + name[1]; s = (s<<7) + (s>>1) + name[2]; | ||
299 | s = (s<<7) + (s>>1) + name[3]; s = (s<<7) + (s>>1) + name[4]; | ||
300 | s = (s<<7) + (s>>1) + name[5]; s = (s<<7) + (s>>1) + name[6]; | ||
301 | s = (s<<7) + (s>>1) + name[7]; s = (s<<7) + (s>>1) + name[8]; | ||
302 | s = (s<<7) + (s>>1) + name[9]; s = (s<<7) + (s>>1) + name[10]; | ||
303 | return s; | ||
304 | } | ||
305 | |||
306 | static inline sector_t fat_clus_to_blknr(struct msdos_sb_info *sbi, int clus) | ||
307 | { | ||
308 | return ((sector_t)clus - FAT_START_ENT) * sbi->sec_per_clus | ||
309 | + sbi->data_start; | ||
310 | } | ||
311 | |||
312 | static inline void fat16_towchar(wchar_t *dst, const __u8 *src, size_t len) | ||
313 | { | ||
314 | #ifdef __BIG_ENDIAN | ||
315 | while (len--) { | ||
316 | *dst++ = src[0] | (src[1] << 8); | ||
317 | src += 2; | ||
318 | } | ||
319 | #else | ||
320 | memcpy(dst, src, len * 2); | ||
321 | #endif | ||
322 | } | ||
323 | |||
324 | static inline void fatwchar_to16(__u8 *dst, const wchar_t *src, size_t len) | ||
325 | { | ||
326 | #ifdef __BIG_ENDIAN | ||
327 | while (len--) { | ||
328 | dst[0] = *src & 0x00FF; | ||
329 | dst[1] = (*src & 0xFF00) >> 8; | ||
330 | dst += 2; | ||
331 | src++; | ||
332 | } | ||
333 | #else | ||
334 | memcpy(dst, src, len * 2); | ||
335 | #endif | ||
336 | } | ||
337 | |||
338 | /* media of boot sector */ | 165 | /* media of boot sector */ |
339 | static inline int fat_valid_media(u8 media) | 166 | static inline int fat_valid_media(u8 media) |
340 | { | 167 | { |
341 | return 0xf8 <= media || media == 0xf0; | 168 | return 0xf8 <= media || media == 0xf0; |
342 | } | 169 | } |
343 | 170 | #endif /* !__KERNEL__ */ | |
344 | /* fat/cache.c */ | 171 | #endif /* !_LINUX_MSDOS_FS_H */ |
345 | extern void fat_cache_inval_inode(struct inode *inode); | ||
346 | extern int fat_get_cluster(struct inode *inode, int cluster, | ||
347 | int *fclus, int *dclus); | ||
348 | extern int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys, | ||
349 | unsigned long *mapped_blocks); | ||
350 | |||
351 | /* fat/dir.c */ | ||
352 | extern const struct file_operations fat_dir_operations; | ||
353 | extern int fat_search_long(struct inode *inode, const unsigned char *name, | ||
354 | int name_len, struct fat_slot_info *sinfo); | ||
355 | extern int fat_dir_empty(struct inode *dir); | ||
356 | extern int fat_subdirs(struct inode *dir); | ||
357 | extern int fat_scan(struct inode *dir, const unsigned char *name, | ||
358 | struct fat_slot_info *sinfo); | ||
359 | extern int fat_get_dotdot_entry(struct inode *dir, struct buffer_head **bh, | ||
360 | struct msdos_dir_entry **de, loff_t *i_pos); | ||
361 | extern int fat_alloc_new_dir(struct inode *dir, struct timespec *ts); | ||
362 | extern int fat_add_entries(struct inode *dir, void *slots, int nr_slots, | ||
363 | struct fat_slot_info *sinfo); | ||
364 | extern int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo); | ||
365 | |||
366 | /* fat/fatent.c */ | ||
367 | struct fat_entry { | ||
368 | int entry; | ||
369 | union { | ||
370 | u8 *ent12_p[2]; | ||
371 | __le16 *ent16_p; | ||
372 | __le32 *ent32_p; | ||
373 | } u; | ||
374 | int nr_bhs; | ||
375 | struct buffer_head *bhs[2]; | ||
376 | }; | ||
377 | |||
378 | static inline void fatent_init(struct fat_entry *fatent) | ||
379 | { | ||
380 | fatent->nr_bhs = 0; | ||
381 | fatent->entry = 0; | ||
382 | fatent->u.ent32_p = NULL; | ||
383 | fatent->bhs[0] = fatent->bhs[1] = NULL; | ||
384 | } | ||
385 | |||
386 | static inline void fatent_set_entry(struct fat_entry *fatent, int entry) | ||
387 | { | ||
388 | fatent->entry = entry; | ||
389 | fatent->u.ent32_p = NULL; | ||
390 | } | ||
391 | |||
392 | static inline void fatent_brelse(struct fat_entry *fatent) | ||
393 | { | ||
394 | int i; | ||
395 | fatent->u.ent32_p = NULL; | ||
396 | for (i = 0; i < fatent->nr_bhs; i++) | ||
397 | brelse(fatent->bhs[i]); | ||
398 | fatent->nr_bhs = 0; | ||
399 | fatent->bhs[0] = fatent->bhs[1] = NULL; | ||
400 | } | ||
401 | |||
402 | extern void fat_ent_access_init(struct super_block *sb); | ||
403 | extern int fat_ent_read(struct inode *inode, struct fat_entry *fatent, | ||
404 | int entry); | ||
405 | extern int fat_ent_write(struct inode *inode, struct fat_entry *fatent, | ||
406 | int new, int wait); | ||
407 | extern int fat_alloc_clusters(struct inode *inode, int *cluster, | ||
408 | int nr_cluster); | ||
409 | extern int fat_free_clusters(struct inode *inode, int cluster); | ||
410 | extern int fat_count_free_clusters(struct super_block *sb); | ||
411 | |||
412 | /* fat/file.c */ | ||
413 | extern int fat_generic_ioctl(struct inode *inode, struct file *filp, | ||
414 | unsigned int cmd, unsigned long arg); | ||
415 | extern const struct file_operations fat_file_operations; | ||
416 | extern const struct inode_operations fat_file_inode_operations; | ||
417 | extern int fat_setattr(struct dentry * dentry, struct iattr * attr); | ||
418 | extern void fat_truncate(struct inode *inode); | ||
419 | extern int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, | ||
420 | struct kstat *stat); | ||
421 | |||
422 | /* fat/inode.c */ | ||
423 | extern void fat_attach(struct inode *inode, loff_t i_pos); | ||
424 | extern void fat_detach(struct inode *inode); | ||
425 | extern struct inode *fat_iget(struct super_block *sb, loff_t i_pos); | ||
426 | extern struct inode *fat_build_inode(struct super_block *sb, | ||
427 | struct msdos_dir_entry *de, loff_t i_pos); | ||
428 | extern int fat_sync_inode(struct inode *inode); | ||
429 | extern int fat_fill_super(struct super_block *sb, void *data, int silent, | ||
430 | const struct inode_operations *fs_dir_inode_ops, int isvfat); | ||
431 | |||
432 | extern int fat_flush_inodes(struct super_block *sb, struct inode *i1, | ||
433 | struct inode *i2); | ||
434 | /* fat/misc.c */ | ||
435 | extern void fat_fs_panic(struct super_block *s, const char *fmt, ...); | ||
436 | extern void fat_clusters_flush(struct super_block *sb); | ||
437 | extern int fat_chain_add(struct inode *inode, int new_dclus, int nr_cluster); | ||
438 | extern int date_dos2unix(unsigned short time, unsigned short date, int tz_utc); | ||
439 | extern void fat_date_unix2dos(int unix_date, __le16 *time, __le16 *date, | ||
440 | int tz_utc); | ||
441 | extern int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs); | ||
442 | |||
443 | int fat_cache_init(void); | ||
444 | void fat_cache_destroy(void); | ||
445 | |||
446 | #endif /* __KERNEL__ */ | ||
447 | |||
448 | #endif | ||
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index ee5124ec319e..00e2b575021f 100644 --- a/include/linux/mtd/cfi.h +++ b/include/linux/mtd/cfi.h | |||
@@ -282,9 +282,25 @@ struct cfi_private { | |||
282 | /* | 282 | /* |
283 | * Returns the command address according to the given geometry. | 283 | * Returns the command address according to the given geometry. |
284 | */ | 284 | */ |
285 | static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs, int interleave, int type) | 285 | static inline uint32_t cfi_build_cmd_addr(uint32_t cmd_ofs, |
286 | struct map_info *map, struct cfi_private *cfi) | ||
286 | { | 287 | { |
287 | return (cmd_ofs * type) * interleave; | 288 | unsigned bankwidth = map_bankwidth(map); |
289 | unsigned interleave = cfi_interleave(cfi); | ||
290 | unsigned type = cfi->device_type; | ||
291 | uint32_t addr; | ||
292 | |||
293 | addr = (cmd_ofs * type) * interleave; | ||
294 | |||
295 | /* Modify the unlock address if we are in compatiblity mode. | ||
296 | * For 16bit devices on 8 bit busses | ||
297 | * and 32bit devices on 16 bit busses | ||
298 | * set the low bit of the alternating bit sequence of the address. | ||
299 | */ | ||
300 | if (((type * interleave) > bankwidth) && ((uint8_t)cmd_ofs == 0xaa)) | ||
301 | addr |= (type >> 1)*interleave; | ||
302 | |||
303 | return addr; | ||
288 | } | 304 | } |
289 | 305 | ||
290 | /* | 306 | /* |
@@ -430,7 +446,7 @@ static inline uint32_t cfi_send_gen_cmd(u_char cmd, uint32_t cmd_addr, uint32_t | |||
430 | int type, map_word *prev_val) | 446 | int type, map_word *prev_val) |
431 | { | 447 | { |
432 | map_word val; | 448 | map_word val; |
433 | uint32_t addr = base + cfi_build_cmd_addr(cmd_addr, cfi_interleave(cfi), type); | 449 | uint32_t addr = base + cfi_build_cmd_addr(cmd_addr, map, cfi); |
434 | val = cfi_build_cmd(cmd, map, cfi); | 450 | val = cfi_build_cmd(cmd, map, cfi); |
435 | 451 | ||
436 | if (prev_val) | 452 | if (prev_val) |
diff --git a/include/linux/sched.h b/include/linux/sched.h index b483f39a7112..295b7c756ca6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1349,6 +1349,8 @@ struct task_struct { | |||
1349 | */ | 1349 | */ |
1350 | unsigned long timer_slack_ns; | 1350 | unsigned long timer_slack_ns; |
1351 | unsigned long default_timer_slack_ns; | 1351 | unsigned long default_timer_slack_ns; |
1352 | |||
1353 | struct list_head *scm_work_list; | ||
1352 | }; | 1354 | }; |
1353 | 1355 | ||
1354 | /* | 1356 | /* |
diff --git a/include/linux/string.h b/include/linux/string.h index 810d80df0a1d..d18fc198aa2f 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _LINUX_STRING_H_ | 1 | #ifndef _LINUX_STRING_H_ |
2 | #define _LINUX_STRING_H_ | 2 | #define _LINUX_STRING_H_ |
3 | 3 | ||
4 | /* We don't want strings.h stuff being user by user stuff by accident */ | 4 | /* We don't want strings.h stuff being used by user stuff by accident */ |
5 | 5 | ||
6 | #ifndef __KERNEL__ | 6 | #ifndef __KERNEL__ |
7 | #include <string.h> | 7 | #include <string.h> |
diff --git a/include/linux/timer.h b/include/linux/timer.h index d4ba79248a27..daf9685b861c 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h | |||
@@ -186,4 +186,9 @@ unsigned long __round_jiffies_relative(unsigned long j, int cpu); | |||
186 | unsigned long round_jiffies(unsigned long j); | 186 | unsigned long round_jiffies(unsigned long j); |
187 | unsigned long round_jiffies_relative(unsigned long j); | 187 | unsigned long round_jiffies_relative(unsigned long j); |
188 | 188 | ||
189 | unsigned long __round_jiffies_up(unsigned long j, int cpu); | ||
190 | unsigned long __round_jiffies_up_relative(unsigned long j, int cpu); | ||
191 | unsigned long round_jiffies_up(unsigned long j); | ||
192 | unsigned long round_jiffies_up_relative(unsigned long j); | ||
193 | |||
189 | #endif | 194 | #endif |
diff --git a/include/linux/topology.h b/include/linux/topology.h index 2158fc0d5a56..34a7ee0ebed2 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h | |||
@@ -146,10 +146,10 @@ void arch_update_cpu_topology(void); | |||
146 | .wake_idx = 1, \ | 146 | .wake_idx = 1, \ |
147 | .forkexec_idx = 1, \ | 147 | .forkexec_idx = 1, \ |
148 | .flags = SD_LOAD_BALANCE \ | 148 | .flags = SD_LOAD_BALANCE \ |
149 | | SD_BALANCE_NEWIDLE \ | ||
150 | | SD_BALANCE_FORK \ | ||
151 | | SD_BALANCE_EXEC \ | 149 | | SD_BALANCE_EXEC \ |
150 | | SD_BALANCE_FORK \ | ||
152 | | SD_WAKE_AFFINE \ | 151 | | SD_WAKE_AFFINE \ |
152 | | SD_WAKE_BALANCE \ | ||
153 | | BALANCE_FOR_PKG_POWER,\ | 153 | | BALANCE_FOR_PKG_POWER,\ |
154 | .last_balance = jiffies, \ | 154 | .last_balance = jiffies, \ |
155 | .balance_interval = 1, \ | 155 | .balance_interval = 1, \ |
diff --git a/include/net/scm.h b/include/net/scm.h index 06df126103ca..33e9986beb86 100644 --- a/include/net/scm.h +++ b/include/net/scm.h | |||
@@ -14,8 +14,9 @@ | |||
14 | 14 | ||
15 | struct scm_fp_list | 15 | struct scm_fp_list |
16 | { | 16 | { |
17 | int count; | 17 | struct list_head list; |
18 | struct file *fp[SCM_MAX_FD]; | 18 | int count; |
19 | struct file *fp[SCM_MAX_FD]; | ||
19 | }; | 20 | }; |
20 | 21 | ||
21 | struct scm_cookie | 22 | struct scm_cookie |
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c index 4d42f450b590..d6da5cdd3c38 100644 --- a/init/do_mounts_md.c +++ b/init/do_mounts_md.c | |||
@@ -1,6 +1,5 @@ | |||
1 | #include <linux/delay.h> | 1 | #include <linux/delay.h> |
2 | #include <linux/raid/md.h> | 2 | #include <linux/raid/md.h> |
3 | #include <linux/delay.h> | ||
4 | 3 | ||
5 | #include "do_mounts.h" | 4 | #include "do_mounts.h" |
6 | 5 | ||
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 35eebd5510c2..358e77564e6f 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -2497,7 +2497,6 @@ static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry) | |||
2497 | list_del(&cgrp->sibling); | 2497 | list_del(&cgrp->sibling); |
2498 | spin_lock(&cgrp->dentry->d_lock); | 2498 | spin_lock(&cgrp->dentry->d_lock); |
2499 | d = dget(cgrp->dentry); | 2499 | d = dget(cgrp->dentry); |
2500 | cgrp->dentry = NULL; | ||
2501 | spin_unlock(&d->d_lock); | 2500 | spin_unlock(&d->d_lock); |
2502 | 2501 | ||
2503 | cgroup_d_remove_dir(d); | 2502 | cgroup_d_remove_dir(d); |
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig index dcd165f92a88..23bd4daeb96b 100644 --- a/kernel/power/Kconfig +++ b/kernel/power/Kconfig | |||
@@ -96,7 +96,7 @@ config SUSPEND | |||
96 | 96 | ||
97 | config PM_TEST_SUSPEND | 97 | config PM_TEST_SUSPEND |
98 | bool "Test suspend/resume and wakealarm during bootup" | 98 | bool "Test suspend/resume and wakealarm during bootup" |
99 | depends on SUSPEND && PM_DEBUG && RTC_LIB=y | 99 | depends on SUSPEND && PM_DEBUG && RTC_CLASS=y |
100 | ---help--- | 100 | ---help--- |
101 | This option will let you suspend your machine during bootup, and | 101 | This option will let you suspend your machine during bootup, and |
102 | make it wake up a few seconds later using an RTC wakeup alarm. | 102 | make it wake up a few seconds later using an RTC wakeup alarm. |
diff --git a/kernel/resource.c b/kernel/resource.c index 6aac5c60b25d..4337063663ef 100644 --- a/kernel/resource.c +++ b/kernel/resource.c | |||
@@ -523,7 +523,7 @@ static void __init __reserve_region_with_split(struct resource *root, | |||
523 | { | 523 | { |
524 | struct resource *parent = root; | 524 | struct resource *parent = root; |
525 | struct resource *conflict; | 525 | struct resource *conflict; |
526 | struct resource *res = kzalloc(sizeof(*res), GFP_KERNEL); | 526 | struct resource *res = kzalloc(sizeof(*res), GFP_ATOMIC); |
527 | 527 | ||
528 | if (!res) | 528 | if (!res) |
529 | return; | 529 | return; |
diff --git a/kernel/sched.c b/kernel/sched.c index e8819bc6f462..82cc839c9210 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -397,7 +397,7 @@ struct cfs_rq { | |||
397 | * 'curr' points to currently running entity on this cfs_rq. | 397 | * 'curr' points to currently running entity on this cfs_rq. |
398 | * It is set to NULL otherwise (i.e when none are currently running). | 398 | * It is set to NULL otherwise (i.e when none are currently running). |
399 | */ | 399 | */ |
400 | struct sched_entity *curr, *next; | 400 | struct sched_entity *curr, *next, *last; |
401 | 401 | ||
402 | unsigned long nr_spread_over; | 402 | unsigned long nr_spread_over; |
403 | 403 | ||
@@ -1805,7 +1805,9 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd) | |||
1805 | /* | 1805 | /* |
1806 | * Buddy candidates are cache hot: | 1806 | * Buddy candidates are cache hot: |
1807 | */ | 1807 | */ |
1808 | if (sched_feat(CACHE_HOT_BUDDY) && (&p->se == cfs_rq_of(&p->se)->next)) | 1808 | if (sched_feat(CACHE_HOT_BUDDY) && |
1809 | (&p->se == cfs_rq_of(&p->se)->next || | ||
1810 | &p->se == cfs_rq_of(&p->se)->last)) | ||
1809 | return 1; | 1811 | return 1; |
1810 | 1812 | ||
1811 | if (p->sched_class != &fair_sched_class) | 1813 | if (p->sched_class != &fair_sched_class) |
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index ce514afd78ff..51aa3e102acb 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -341,23 +341,20 @@ static void __dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) | |||
341 | cfs_rq->rb_leftmost = next_node; | 341 | cfs_rq->rb_leftmost = next_node; |
342 | } | 342 | } |
343 | 343 | ||
344 | if (cfs_rq->next == se) | ||
345 | cfs_rq->next = NULL; | ||
346 | |||
347 | rb_erase(&se->run_node, &cfs_rq->tasks_timeline); | 344 | rb_erase(&se->run_node, &cfs_rq->tasks_timeline); |
348 | } | 345 | } |
349 | 346 | ||
350 | static inline struct rb_node *first_fair(struct cfs_rq *cfs_rq) | ||
351 | { | ||
352 | return cfs_rq->rb_leftmost; | ||
353 | } | ||
354 | |||
355 | static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq) | 347 | static struct sched_entity *__pick_next_entity(struct cfs_rq *cfs_rq) |
356 | { | 348 | { |
357 | return rb_entry(first_fair(cfs_rq), struct sched_entity, run_node); | 349 | struct rb_node *left = cfs_rq->rb_leftmost; |
350 | |||
351 | if (!left) | ||
352 | return NULL; | ||
353 | |||
354 | return rb_entry(left, struct sched_entity, run_node); | ||
358 | } | 355 | } |
359 | 356 | ||
360 | static inline struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) | 357 | static struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq) |
361 | { | 358 | { |
362 | struct rb_node *last = rb_last(&cfs_rq->tasks_timeline); | 359 | struct rb_node *last = rb_last(&cfs_rq->tasks_timeline); |
363 | 360 | ||
@@ -741,6 +738,12 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int sleep) | |||
741 | #endif | 738 | #endif |
742 | } | 739 | } |
743 | 740 | ||
741 | if (cfs_rq->last == se) | ||
742 | cfs_rq->last = NULL; | ||
743 | |||
744 | if (cfs_rq->next == se) | ||
745 | cfs_rq->next = NULL; | ||
746 | |||
744 | if (se != cfs_rq->curr) | 747 | if (se != cfs_rq->curr) |
745 | __dequeue_entity(cfs_rq, se); | 748 | __dequeue_entity(cfs_rq, se); |
746 | account_entity_dequeue(cfs_rq, se); | 749 | account_entity_dequeue(cfs_rq, se); |
@@ -794,24 +797,15 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) | |||
794 | static int | 797 | static int |
795 | wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se); | 798 | wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se); |
796 | 799 | ||
797 | static struct sched_entity * | ||
798 | pick_next(struct cfs_rq *cfs_rq, struct sched_entity *se) | ||
799 | { | ||
800 | if (!cfs_rq->next || wakeup_preempt_entity(cfs_rq->next, se) == 1) | ||
801 | return se; | ||
802 | |||
803 | return cfs_rq->next; | ||
804 | } | ||
805 | |||
806 | static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq) | 800 | static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq) |
807 | { | 801 | { |
808 | struct sched_entity *se = NULL; | 802 | struct sched_entity *se = __pick_next_entity(cfs_rq); |
809 | 803 | ||
810 | if (first_fair(cfs_rq)) { | 804 | if (cfs_rq->next && wakeup_preempt_entity(cfs_rq->next, se) < 1) |
811 | se = __pick_next_entity(cfs_rq); | 805 | return cfs_rq->next; |
812 | se = pick_next(cfs_rq, se); | 806 | |
813 | set_next_entity(cfs_rq, se); | 807 | if (cfs_rq->last && wakeup_preempt_entity(cfs_rq->last, se) < 1) |
814 | } | 808 | return cfs_rq->last; |
815 | 809 | ||
816 | return se; | 810 | return se; |
817 | } | 811 | } |
@@ -1325,26 +1319,53 @@ wakeup_preempt_entity(struct sched_entity *curr, struct sched_entity *se) | |||
1325 | return 0; | 1319 | return 0; |
1326 | } | 1320 | } |
1327 | 1321 | ||
1322 | static void set_last_buddy(struct sched_entity *se) | ||
1323 | { | ||
1324 | for_each_sched_entity(se) | ||
1325 | cfs_rq_of(se)->last = se; | ||
1326 | } | ||
1327 | |||
1328 | static void set_next_buddy(struct sched_entity *se) | ||
1329 | { | ||
1330 | for_each_sched_entity(se) | ||
1331 | cfs_rq_of(se)->next = se; | ||
1332 | } | ||
1333 | |||
1328 | /* | 1334 | /* |
1329 | * Preempt the current task with a newly woken task if needed: | 1335 | * Preempt the current task with a newly woken task if needed: |
1330 | */ | 1336 | */ |
1331 | static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync) | 1337 | static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync) |
1332 | { | 1338 | { |
1333 | struct task_struct *curr = rq->curr; | 1339 | struct task_struct *curr = rq->curr; |
1334 | struct cfs_rq *cfs_rq = task_cfs_rq(curr); | ||
1335 | struct sched_entity *se = &curr->se, *pse = &p->se; | 1340 | struct sched_entity *se = &curr->se, *pse = &p->se; |
1336 | 1341 | ||
1337 | if (unlikely(rt_prio(p->prio))) { | 1342 | if (unlikely(rt_prio(p->prio))) { |
1343 | struct cfs_rq *cfs_rq = task_cfs_rq(curr); | ||
1344 | |||
1338 | update_rq_clock(rq); | 1345 | update_rq_clock(rq); |
1339 | update_curr(cfs_rq); | 1346 | update_curr(cfs_rq); |
1340 | resched_task(curr); | 1347 | resched_task(curr); |
1341 | return; | 1348 | return; |
1342 | } | 1349 | } |
1343 | 1350 | ||
1351 | if (unlikely(p->sched_class != &fair_sched_class)) | ||
1352 | return; | ||
1353 | |||
1344 | if (unlikely(se == pse)) | 1354 | if (unlikely(se == pse)) |
1345 | return; | 1355 | return; |
1346 | 1356 | ||
1347 | cfs_rq_of(pse)->next = pse; | 1357 | /* |
1358 | * Only set the backward buddy when the current task is still on the | ||
1359 | * rq. This can happen when a wakeup gets interleaved with schedule on | ||
1360 | * the ->pre_schedule() or idle_balance() point, either of which can | ||
1361 | * drop the rq lock. | ||
1362 | * | ||
1363 | * Also, during early boot the idle thread is in the fair class, for | ||
1364 | * obvious reasons its a bad idea to schedule back to the idle thread. | ||
1365 | */ | ||
1366 | if (sched_feat(LAST_BUDDY) && likely(se->on_rq && curr != rq->idle)) | ||
1367 | set_last_buddy(se); | ||
1368 | set_next_buddy(pse); | ||
1348 | 1369 | ||
1349 | /* | 1370 | /* |
1350 | * We can come here with TIF_NEED_RESCHED already set from new task | 1371 | * We can come here with TIF_NEED_RESCHED already set from new task |
@@ -1396,6 +1417,7 @@ static struct task_struct *pick_next_task_fair(struct rq *rq) | |||
1396 | 1417 | ||
1397 | do { | 1418 | do { |
1398 | se = pick_next_entity(cfs_rq); | 1419 | se = pick_next_entity(cfs_rq); |
1420 | set_next_entity(cfs_rq, se); | ||
1399 | cfs_rq = group_cfs_rq(se); | 1421 | cfs_rq = group_cfs_rq(se); |
1400 | } while (cfs_rq); | 1422 | } while (cfs_rq); |
1401 | 1423 | ||
diff --git a/kernel/sched_features.h b/kernel/sched_features.h index fda016218296..da5d93b5d2c6 100644 --- a/kernel/sched_features.h +++ b/kernel/sched_features.h | |||
@@ -12,3 +12,4 @@ SCHED_FEAT(LB_BIAS, 1) | |||
12 | SCHED_FEAT(LB_WAKEUP_UPDATE, 1) | 12 | SCHED_FEAT(LB_WAKEUP_UPDATE, 1) |
13 | SCHED_FEAT(ASYM_EFF_LOAD, 1) | 13 | SCHED_FEAT(ASYM_EFF_LOAD, 1) |
14 | SCHED_FEAT(WAKEUP_OVERLAP, 0) | 14 | SCHED_FEAT(WAKEUP_OVERLAP, 0) |
15 | SCHED_FEAT(LAST_BUDDY, 1) | ||
diff --git a/kernel/smp.c b/kernel/smp.c index f362a8553777..75c8dde58c55 100644 --- a/kernel/smp.c +++ b/kernel/smp.c | |||
@@ -51,10 +51,6 @@ static void csd_flag_wait(struct call_single_data *data) | |||
51 | { | 51 | { |
52 | /* Wait for response */ | 52 | /* Wait for response */ |
53 | do { | 53 | do { |
54 | /* | ||
55 | * We need to see the flags store in the IPI handler | ||
56 | */ | ||
57 | smp_mb(); | ||
58 | if (!(data->flags & CSD_FLAG_WAIT)) | 54 | if (!(data->flags & CSD_FLAG_WAIT)) |
59 | break; | 55 | break; |
60 | cpu_relax(); | 56 | cpu_relax(); |
@@ -76,6 +72,11 @@ static void generic_exec_single(int cpu, struct call_single_data *data) | |||
76 | list_add_tail(&data->list, &dst->list); | 72 | list_add_tail(&data->list, &dst->list); |
77 | spin_unlock_irqrestore(&dst->lock, flags); | 73 | spin_unlock_irqrestore(&dst->lock, flags); |
78 | 74 | ||
75 | /* | ||
76 | * Make the list addition visible before sending the ipi. | ||
77 | */ | ||
78 | smp_mb(); | ||
79 | |||
79 | if (ipi) | 80 | if (ipi) |
80 | arch_send_call_function_single_ipi(cpu); | 81 | arch_send_call_function_single_ipi(cpu); |
81 | 82 | ||
@@ -157,7 +158,7 @@ void generic_smp_call_function_single_interrupt(void) | |||
157 | * Need to see other stores to list head for checking whether | 158 | * Need to see other stores to list head for checking whether |
158 | * list is empty without holding q->lock | 159 | * list is empty without holding q->lock |
159 | */ | 160 | */ |
160 | smp_mb(); | 161 | smp_read_barrier_depends(); |
161 | while (!list_empty(&q->list)) { | 162 | while (!list_empty(&q->list)) { |
162 | unsigned int data_flags; | 163 | unsigned int data_flags; |
163 | 164 | ||
@@ -191,7 +192,7 @@ void generic_smp_call_function_single_interrupt(void) | |||
191 | /* | 192 | /* |
192 | * See comment on outer loop | 193 | * See comment on outer loop |
193 | */ | 194 | */ |
194 | smp_mb(); | 195 | smp_read_barrier_depends(); |
195 | } | 196 | } |
196 | } | 197 | } |
197 | 198 | ||
@@ -370,6 +371,11 @@ int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info, | |||
370 | list_add_tail_rcu(&data->csd.list, &call_function_queue); | 371 | list_add_tail_rcu(&data->csd.list, &call_function_queue); |
371 | spin_unlock_irqrestore(&call_function_lock, flags); | 372 | spin_unlock_irqrestore(&call_function_lock, flags); |
372 | 373 | ||
374 | /* | ||
375 | * Make the list addition visible before sending the ipi. | ||
376 | */ | ||
377 | smp_mb(); | ||
378 | |||
373 | /* Send a message to all CPUs in the map */ | 379 | /* Send a message to all CPUs in the map */ |
374 | arch_send_call_function_ipi(mask); | 380 | arch_send_call_function_ipi(mask); |
375 | 381 | ||
diff --git a/kernel/timer.c b/kernel/timer.c index 56becf373c58..dbd50fabe4c7 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -112,27 +112,8 @@ timer_set_base(struct timer_list *timer, struct tvec_base *new_base) | |||
112 | tbase_get_deferrable(timer->base)); | 112 | tbase_get_deferrable(timer->base)); |
113 | } | 113 | } |
114 | 114 | ||
115 | /** | 115 | static unsigned long round_jiffies_common(unsigned long j, int cpu, |
116 | * __round_jiffies - function to round jiffies to a full second | 116 | bool force_up) |
117 | * @j: the time in (absolute) jiffies that should be rounded | ||
118 | * @cpu: the processor number on which the timeout will happen | ||
119 | * | ||
120 | * __round_jiffies() rounds an absolute time in the future (in jiffies) | ||
121 | * up or down to (approximately) full seconds. This is useful for timers | ||
122 | * for which the exact time they fire does not matter too much, as long as | ||
123 | * they fire approximately every X seconds. | ||
124 | * | ||
125 | * By rounding these timers to whole seconds, all such timers will fire | ||
126 | * at the same time, rather than at various times spread out. The goal | ||
127 | * of this is to have the CPU wake up less, which saves power. | ||
128 | * | ||
129 | * The exact rounding is skewed for each processor to avoid all | ||
130 | * processors firing at the exact same time, which could lead | ||
131 | * to lock contention or spurious cache line bouncing. | ||
132 | * | ||
133 | * The return value is the rounded version of the @j parameter. | ||
134 | */ | ||
135 | unsigned long __round_jiffies(unsigned long j, int cpu) | ||
136 | { | 117 | { |
137 | int rem; | 118 | int rem; |
138 | unsigned long original = j; | 119 | unsigned long original = j; |
@@ -154,8 +135,9 @@ unsigned long __round_jiffies(unsigned long j, int cpu) | |||
154 | * due to delays of the timer irq, long irq off times etc etc) then | 135 | * due to delays of the timer irq, long irq off times etc etc) then |
155 | * we should round down to the whole second, not up. Use 1/4th second | 136 | * we should round down to the whole second, not up. Use 1/4th second |
156 | * as cutoff for this rounding as an extreme upper bound for this. | 137 | * as cutoff for this rounding as an extreme upper bound for this. |
138 | * But never round down if @force_up is set. | ||
157 | */ | 139 | */ |
158 | if (rem < HZ/4) /* round down */ | 140 | if (rem < HZ/4 && !force_up) /* round down */ |
159 | j = j - rem; | 141 | j = j - rem; |
160 | else /* round up */ | 142 | else /* round up */ |
161 | j = j - rem + HZ; | 143 | j = j - rem + HZ; |
@@ -167,6 +149,31 @@ unsigned long __round_jiffies(unsigned long j, int cpu) | |||
167 | return original; | 149 | return original; |
168 | return j; | 150 | return j; |
169 | } | 151 | } |
152 | |||
153 | /** | ||
154 | * __round_jiffies - function to round jiffies to a full second | ||
155 | * @j: the time in (absolute) jiffies that should be rounded | ||
156 | * @cpu: the processor number on which the timeout will happen | ||
157 | * | ||
158 | * __round_jiffies() rounds an absolute time in the future (in jiffies) | ||
159 | * up or down to (approximately) full seconds. This is useful for timers | ||
160 | * for which the exact time they fire does not matter too much, as long as | ||
161 | * they fire approximately every X seconds. | ||
162 | * | ||
163 | * By rounding these timers to whole seconds, all such timers will fire | ||
164 | * at the same time, rather than at various times spread out. The goal | ||
165 | * of this is to have the CPU wake up less, which saves power. | ||
166 | * | ||
167 | * The exact rounding is skewed for each processor to avoid all | ||
168 | * processors firing at the exact same time, which could lead | ||
169 | * to lock contention or spurious cache line bouncing. | ||
170 | * | ||
171 | * The return value is the rounded version of the @j parameter. | ||
172 | */ | ||
173 | unsigned long __round_jiffies(unsigned long j, int cpu) | ||
174 | { | ||
175 | return round_jiffies_common(j, cpu, false); | ||
176 | } | ||
170 | EXPORT_SYMBOL_GPL(__round_jiffies); | 177 | EXPORT_SYMBOL_GPL(__round_jiffies); |
171 | 178 | ||
172 | /** | 179 | /** |
@@ -191,13 +198,10 @@ EXPORT_SYMBOL_GPL(__round_jiffies); | |||
191 | */ | 198 | */ |
192 | unsigned long __round_jiffies_relative(unsigned long j, int cpu) | 199 | unsigned long __round_jiffies_relative(unsigned long j, int cpu) |
193 | { | 200 | { |
194 | /* | 201 | unsigned long j0 = jiffies; |
195 | * In theory the following code can skip a jiffy in case jiffies | 202 | |
196 | * increments right between the addition and the later subtraction. | 203 | /* Use j0 because jiffies might change while we run */ |
197 | * However since the entire point of this function is to use approximate | 204 | return round_jiffies_common(j + j0, cpu, false) - j0; |
198 | * timeouts, it's entirely ok to not handle that. | ||
199 | */ | ||
200 | return __round_jiffies(j + jiffies, cpu) - jiffies; | ||
201 | } | 205 | } |
202 | EXPORT_SYMBOL_GPL(__round_jiffies_relative); | 206 | EXPORT_SYMBOL_GPL(__round_jiffies_relative); |
203 | 207 | ||
@@ -218,7 +222,7 @@ EXPORT_SYMBOL_GPL(__round_jiffies_relative); | |||
218 | */ | 222 | */ |
219 | unsigned long round_jiffies(unsigned long j) | 223 | unsigned long round_jiffies(unsigned long j) |
220 | { | 224 | { |
221 | return __round_jiffies(j, raw_smp_processor_id()); | 225 | return round_jiffies_common(j, raw_smp_processor_id(), false); |
222 | } | 226 | } |
223 | EXPORT_SYMBOL_GPL(round_jiffies); | 227 | EXPORT_SYMBOL_GPL(round_jiffies); |
224 | 228 | ||
@@ -243,6 +247,71 @@ unsigned long round_jiffies_relative(unsigned long j) | |||
243 | } | 247 | } |
244 | EXPORT_SYMBOL_GPL(round_jiffies_relative); | 248 | EXPORT_SYMBOL_GPL(round_jiffies_relative); |
245 | 249 | ||
250 | /** | ||
251 | * __round_jiffies_up - function to round jiffies up to a full second | ||
252 | * @j: the time in (absolute) jiffies that should be rounded | ||
253 | * @cpu: the processor number on which the timeout will happen | ||
254 | * | ||
255 | * This is the same as __round_jiffies() except that it will never | ||
256 | * round down. This is useful for timeouts for which the exact time | ||
257 | * of firing does not matter too much, as long as they don't fire too | ||
258 | * early. | ||
259 | */ | ||
260 | unsigned long __round_jiffies_up(unsigned long j, int cpu) | ||
261 | { | ||
262 | return round_jiffies_common(j, cpu, true); | ||
263 | } | ||
264 | EXPORT_SYMBOL_GPL(__round_jiffies_up); | ||
265 | |||
266 | /** | ||
267 | * __round_jiffies_up_relative - function to round jiffies up to a full second | ||
268 | * @j: the time in (relative) jiffies that should be rounded | ||
269 | * @cpu: the processor number on which the timeout will happen | ||
270 | * | ||
271 | * This is the same as __round_jiffies_relative() except that it will never | ||
272 | * round down. This is useful for timeouts for which the exact time | ||
273 | * of firing does not matter too much, as long as they don't fire too | ||
274 | * early. | ||
275 | */ | ||
276 | unsigned long __round_jiffies_up_relative(unsigned long j, int cpu) | ||
277 | { | ||
278 | unsigned long j0 = jiffies; | ||
279 | |||
280 | /* Use j0 because jiffies might change while we run */ | ||
281 | return round_jiffies_common(j + j0, cpu, true) - j0; | ||
282 | } | ||
283 | EXPORT_SYMBOL_GPL(__round_jiffies_up_relative); | ||
284 | |||
285 | /** | ||
286 | * round_jiffies_up - function to round jiffies up to a full second | ||
287 | * @j: the time in (absolute) jiffies that should be rounded | ||
288 | * | ||
289 | * This is the same as round_jiffies() except that it will never | ||
290 | * round down. This is useful for timeouts for which the exact time | ||
291 | * of firing does not matter too much, as long as they don't fire too | ||
292 | * early. | ||
293 | */ | ||
294 | unsigned long round_jiffies_up(unsigned long j) | ||
295 | { | ||
296 | return round_jiffies_common(j, raw_smp_processor_id(), true); | ||
297 | } | ||
298 | EXPORT_SYMBOL_GPL(round_jiffies_up); | ||
299 | |||
300 | /** | ||
301 | * round_jiffies_up_relative - function to round jiffies up to a full second | ||
302 | * @j: the time in (relative) jiffies that should be rounded | ||
303 | * | ||
304 | * This is the same as round_jiffies_relative() except that it will never | ||
305 | * round down. This is useful for timeouts for which the exact time | ||
306 | * of firing does not matter too much, as long as they don't fire too | ||
307 | * early. | ||
308 | */ | ||
309 | unsigned long round_jiffies_up_relative(unsigned long j) | ||
310 | { | ||
311 | return __round_jiffies_up_relative(j, raw_smp_processor_id()); | ||
312 | } | ||
313 | EXPORT_SYMBOL_GPL(round_jiffies_up_relative); | ||
314 | |||
246 | 315 | ||
247 | static inline void set_running_timer(struct tvec_base *base, | 316 | static inline void set_running_timer(struct tvec_base *base, |
248 | struct timer_list *timer) | 317 | struct timer_list *timer) |
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index b58f43bec363..33dbefd471e8 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -25,7 +25,7 @@ config TRACING | |||
25 | bool | 25 | bool |
26 | select DEBUG_FS | 26 | select DEBUG_FS |
27 | select RING_BUFFER | 27 | select RING_BUFFER |
28 | select STACKTRACE | 28 | select STACKTRACE if STACKTRACE_SUPPORT |
29 | select TRACEPOINTS | 29 | select TRACEPOINTS |
30 | select NOP_TRACER | 30 | select NOP_TRACER |
31 | 31 | ||
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index cedf4e268285..3f3380638646 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c | |||
@@ -1022,8 +1022,23 @@ rb_reserve_next_event(struct ring_buffer_per_cpu *cpu_buffer, | |||
1022 | struct ring_buffer_event *event; | 1022 | struct ring_buffer_event *event; |
1023 | u64 ts, delta; | 1023 | u64 ts, delta; |
1024 | int commit = 0; | 1024 | int commit = 0; |
1025 | int nr_loops = 0; | ||
1025 | 1026 | ||
1026 | again: | 1027 | again: |
1028 | /* | ||
1029 | * We allow for interrupts to reenter here and do a trace. | ||
1030 | * If one does, it will cause this original code to loop | ||
1031 | * back here. Even with heavy interrupts happening, this | ||
1032 | * should only happen a few times in a row. If this happens | ||
1033 | * 1000 times in a row, there must be either an interrupt | ||
1034 | * storm or we have something buggy. | ||
1035 | * Bail! | ||
1036 | */ | ||
1037 | if (unlikely(++nr_loops > 1000)) { | ||
1038 | RB_WARN_ON(cpu_buffer, 1); | ||
1039 | return NULL; | ||
1040 | } | ||
1041 | |||
1027 | ts = ring_buffer_time_stamp(cpu_buffer->cpu); | 1042 | ts = ring_buffer_time_stamp(cpu_buffer->cpu); |
1028 | 1043 | ||
1029 | /* | 1044 | /* |
@@ -1532,10 +1547,23 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer) | |||
1532 | { | 1547 | { |
1533 | struct buffer_page *reader = NULL; | 1548 | struct buffer_page *reader = NULL; |
1534 | unsigned long flags; | 1549 | unsigned long flags; |
1550 | int nr_loops = 0; | ||
1535 | 1551 | ||
1536 | spin_lock_irqsave(&cpu_buffer->lock, flags); | 1552 | spin_lock_irqsave(&cpu_buffer->lock, flags); |
1537 | 1553 | ||
1538 | again: | 1554 | again: |
1555 | /* | ||
1556 | * This should normally only loop twice. But because the | ||
1557 | * start of the reader inserts an empty page, it causes | ||
1558 | * a case where we will loop three times. There should be no | ||
1559 | * reason to loop four times (that I know of). | ||
1560 | */ | ||
1561 | if (unlikely(++nr_loops > 3)) { | ||
1562 | RB_WARN_ON(cpu_buffer, 1); | ||
1563 | reader = NULL; | ||
1564 | goto out; | ||
1565 | } | ||
1566 | |||
1539 | reader = cpu_buffer->reader_page; | 1567 | reader = cpu_buffer->reader_page; |
1540 | 1568 | ||
1541 | /* If there's more to read, return this page */ | 1569 | /* If there's more to read, return this page */ |
@@ -1665,6 +1693,7 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts) | |||
1665 | struct ring_buffer_per_cpu *cpu_buffer; | 1693 | struct ring_buffer_per_cpu *cpu_buffer; |
1666 | struct ring_buffer_event *event; | 1694 | struct ring_buffer_event *event; |
1667 | struct buffer_page *reader; | 1695 | struct buffer_page *reader; |
1696 | int nr_loops = 0; | ||
1668 | 1697 | ||
1669 | if (!cpu_isset(cpu, buffer->cpumask)) | 1698 | if (!cpu_isset(cpu, buffer->cpumask)) |
1670 | return NULL; | 1699 | return NULL; |
@@ -1672,6 +1701,19 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts) | |||
1672 | cpu_buffer = buffer->buffers[cpu]; | 1701 | cpu_buffer = buffer->buffers[cpu]; |
1673 | 1702 | ||
1674 | again: | 1703 | again: |
1704 | /* | ||
1705 | * We repeat when a timestamp is encountered. It is possible | ||
1706 | * to get multiple timestamps from an interrupt entering just | ||
1707 | * as one timestamp is about to be written. The max times | ||
1708 | * that this can happen is the number of nested interrupts we | ||
1709 | * can have. Nesting 10 deep of interrupts is clearly | ||
1710 | * an anomaly. | ||
1711 | */ | ||
1712 | if (unlikely(++nr_loops > 10)) { | ||
1713 | RB_WARN_ON(cpu_buffer, 1); | ||
1714 | return NULL; | ||
1715 | } | ||
1716 | |||
1675 | reader = rb_get_reader_page(cpu_buffer); | 1717 | reader = rb_get_reader_page(cpu_buffer); |
1676 | if (!reader) | 1718 | if (!reader) |
1677 | return NULL; | 1719 | return NULL; |
@@ -1722,6 +1764,7 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts) | |||
1722 | struct ring_buffer *buffer; | 1764 | struct ring_buffer *buffer; |
1723 | struct ring_buffer_per_cpu *cpu_buffer; | 1765 | struct ring_buffer_per_cpu *cpu_buffer; |
1724 | struct ring_buffer_event *event; | 1766 | struct ring_buffer_event *event; |
1767 | int nr_loops = 0; | ||
1725 | 1768 | ||
1726 | if (ring_buffer_iter_empty(iter)) | 1769 | if (ring_buffer_iter_empty(iter)) |
1727 | return NULL; | 1770 | return NULL; |
@@ -1730,6 +1773,19 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts) | |||
1730 | buffer = cpu_buffer->buffer; | 1773 | buffer = cpu_buffer->buffer; |
1731 | 1774 | ||
1732 | again: | 1775 | again: |
1776 | /* | ||
1777 | * We repeat when a timestamp is encountered. It is possible | ||
1778 | * to get multiple timestamps from an interrupt entering just | ||
1779 | * as one timestamp is about to be written. The max times | ||
1780 | * that this can happen is the number of nested interrupts we | ||
1781 | * can have. Nesting 10 deep of interrupts is clearly | ||
1782 | * an anomaly. | ||
1783 | */ | ||
1784 | if (unlikely(++nr_loops > 10)) { | ||
1785 | RB_WARN_ON(cpu_buffer, 1); | ||
1786 | return NULL; | ||
1787 | } | ||
1788 | |||
1733 | if (rb_per_cpu_empty(cpu_buffer)) | 1789 | if (rb_per_cpu_empty(cpu_buffer)) |
1734 | return NULL; | 1790 | return NULL; |
1735 | 1791 | ||
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 8a499e2adaec..9f3b478f9171 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -705,6 +705,7 @@ static void ftrace_trace_stack(struct trace_array *tr, | |||
705 | unsigned long flags, | 705 | unsigned long flags, |
706 | int skip, int pc) | 706 | int skip, int pc) |
707 | { | 707 | { |
708 | #ifdef CONFIG_STACKTRACE | ||
708 | struct ring_buffer_event *event; | 709 | struct ring_buffer_event *event; |
709 | struct stack_entry *entry; | 710 | struct stack_entry *entry; |
710 | struct stack_trace trace; | 711 | struct stack_trace trace; |
@@ -730,6 +731,7 @@ static void ftrace_trace_stack(struct trace_array *tr, | |||
730 | 731 | ||
731 | save_stack_trace(&trace); | 732 | save_stack_trace(&trace); |
732 | ring_buffer_unlock_commit(tr->buffer, event, irq_flags); | 733 | ring_buffer_unlock_commit(tr->buffer, event, irq_flags); |
734 | #endif | ||
733 | } | 735 | } |
734 | 736 | ||
735 | void __trace_stack(struct trace_array *tr, | 737 | void __trace_stack(struct trace_array *tr, |
@@ -1086,17 +1088,20 @@ static void s_stop(struct seq_file *m, void *p) | |||
1086 | mutex_unlock(&trace_types_lock); | 1088 | mutex_unlock(&trace_types_lock); |
1087 | } | 1089 | } |
1088 | 1090 | ||
1089 | #define KRETPROBE_MSG "[unknown/kretprobe'd]" | ||
1090 | |||
1091 | #ifdef CONFIG_KRETPROBES | 1091 | #ifdef CONFIG_KRETPROBES |
1092 | static inline int kretprobed(unsigned long addr) | 1092 | static inline const char *kretprobed(const char *name) |
1093 | { | 1093 | { |
1094 | return addr == (unsigned long)kretprobe_trampoline; | 1094 | static const char tramp_name[] = "kretprobe_trampoline"; |
1095 | int size = sizeof(tramp_name); | ||
1096 | |||
1097 | if (strncmp(tramp_name, name, size) == 0) | ||
1098 | return "[unknown/kretprobe'd]"; | ||
1099 | return name; | ||
1095 | } | 1100 | } |
1096 | #else | 1101 | #else |
1097 | static inline int kretprobed(unsigned long addr) | 1102 | static inline const char *kretprobed(const char *name) |
1098 | { | 1103 | { |
1099 | return 0; | 1104 | return name; |
1100 | } | 1105 | } |
1101 | #endif /* CONFIG_KRETPROBES */ | 1106 | #endif /* CONFIG_KRETPROBES */ |
1102 | 1107 | ||
@@ -1105,10 +1110,13 @@ seq_print_sym_short(struct trace_seq *s, const char *fmt, unsigned long address) | |||
1105 | { | 1110 | { |
1106 | #ifdef CONFIG_KALLSYMS | 1111 | #ifdef CONFIG_KALLSYMS |
1107 | char str[KSYM_SYMBOL_LEN]; | 1112 | char str[KSYM_SYMBOL_LEN]; |
1113 | const char *name; | ||
1108 | 1114 | ||
1109 | kallsyms_lookup(address, NULL, NULL, NULL, str); | 1115 | kallsyms_lookup(address, NULL, NULL, NULL, str); |
1110 | 1116 | ||
1111 | return trace_seq_printf(s, fmt, str); | 1117 | name = kretprobed(str); |
1118 | |||
1119 | return trace_seq_printf(s, fmt, name); | ||
1112 | #endif | 1120 | #endif |
1113 | return 1; | 1121 | return 1; |
1114 | } | 1122 | } |
@@ -1119,9 +1127,12 @@ seq_print_sym_offset(struct trace_seq *s, const char *fmt, | |||
1119 | { | 1127 | { |
1120 | #ifdef CONFIG_KALLSYMS | 1128 | #ifdef CONFIG_KALLSYMS |
1121 | char str[KSYM_SYMBOL_LEN]; | 1129 | char str[KSYM_SYMBOL_LEN]; |
1130 | const char *name; | ||
1122 | 1131 | ||
1123 | sprint_symbol(str, address); | 1132 | sprint_symbol(str, address); |
1124 | return trace_seq_printf(s, fmt, str); | 1133 | name = kretprobed(str); |
1134 | |||
1135 | return trace_seq_printf(s, fmt, name); | ||
1125 | #endif | 1136 | #endif |
1126 | return 1; | 1137 | return 1; |
1127 | } | 1138 | } |
@@ -1375,10 +1386,7 @@ print_lat_fmt(struct trace_iterator *iter, unsigned int trace_idx, int cpu) | |||
1375 | 1386 | ||
1376 | seq_print_ip_sym(s, field->ip, sym_flags); | 1387 | seq_print_ip_sym(s, field->ip, sym_flags); |
1377 | trace_seq_puts(s, " ("); | 1388 | trace_seq_puts(s, " ("); |
1378 | if (kretprobed(field->parent_ip)) | 1389 | seq_print_ip_sym(s, field->parent_ip, sym_flags); |
1379 | trace_seq_puts(s, KRETPROBE_MSG); | ||
1380 | else | ||
1381 | seq_print_ip_sym(s, field->parent_ip, sym_flags); | ||
1382 | trace_seq_puts(s, ")\n"); | 1390 | trace_seq_puts(s, ")\n"); |
1383 | break; | 1391 | break; |
1384 | } | 1392 | } |
@@ -1494,12 +1502,9 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter) | |||
1494 | ret = trace_seq_printf(s, " <-"); | 1502 | ret = trace_seq_printf(s, " <-"); |
1495 | if (!ret) | 1503 | if (!ret) |
1496 | return TRACE_TYPE_PARTIAL_LINE; | 1504 | return TRACE_TYPE_PARTIAL_LINE; |
1497 | if (kretprobed(field->parent_ip)) | 1505 | ret = seq_print_ip_sym(s, |
1498 | ret = trace_seq_puts(s, KRETPROBE_MSG); | 1506 | field->parent_ip, |
1499 | else | 1507 | sym_flags); |
1500 | ret = seq_print_ip_sym(s, | ||
1501 | field->parent_ip, | ||
1502 | sym_flags); | ||
1503 | if (!ret) | 1508 | if (!ret) |
1504 | return TRACE_TYPE_PARTIAL_LINE; | 1509 | return TRACE_TYPE_PARTIAL_LINE; |
1505 | } | 1510 | } |
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 421aee99b84a..d143ab67be44 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -354,11 +354,26 @@ static int vma_has_reserves(struct vm_area_struct *vma) | |||
354 | return 0; | 354 | return 0; |
355 | } | 355 | } |
356 | 356 | ||
357 | static void clear_gigantic_page(struct page *page, | ||
358 | unsigned long addr, unsigned long sz) | ||
359 | { | ||
360 | int i; | ||
361 | struct page *p = page; | ||
362 | |||
363 | might_sleep(); | ||
364 | for (i = 0; i < sz/PAGE_SIZE; i++, p = mem_map_next(p, page, i)) { | ||
365 | cond_resched(); | ||
366 | clear_user_highpage(p, addr + i * PAGE_SIZE); | ||
367 | } | ||
368 | } | ||
357 | static void clear_huge_page(struct page *page, | 369 | static void clear_huge_page(struct page *page, |
358 | unsigned long addr, unsigned long sz) | 370 | unsigned long addr, unsigned long sz) |
359 | { | 371 | { |
360 | int i; | 372 | int i; |
361 | 373 | ||
374 | if (unlikely(sz > MAX_ORDER_NR_PAGES)) | ||
375 | return clear_gigantic_page(page, addr, sz); | ||
376 | |||
362 | might_sleep(); | 377 | might_sleep(); |
363 | for (i = 0; i < sz/PAGE_SIZE; i++) { | 378 | for (i = 0; i < sz/PAGE_SIZE; i++) { |
364 | cond_resched(); | 379 | cond_resched(); |
@@ -366,12 +381,32 @@ static void clear_huge_page(struct page *page, | |||
366 | } | 381 | } |
367 | } | 382 | } |
368 | 383 | ||
384 | static void copy_gigantic_page(struct page *dst, struct page *src, | ||
385 | unsigned long addr, struct vm_area_struct *vma) | ||
386 | { | ||
387 | int i; | ||
388 | struct hstate *h = hstate_vma(vma); | ||
389 | struct page *dst_base = dst; | ||
390 | struct page *src_base = src; | ||
391 | might_sleep(); | ||
392 | for (i = 0; i < pages_per_huge_page(h); ) { | ||
393 | cond_resched(); | ||
394 | copy_user_highpage(dst, src, addr + i*PAGE_SIZE, vma); | ||
395 | |||
396 | i++; | ||
397 | dst = mem_map_next(dst, dst_base, i); | ||
398 | src = mem_map_next(src, src_base, i); | ||
399 | } | ||
400 | } | ||
369 | static void copy_huge_page(struct page *dst, struct page *src, | 401 | static void copy_huge_page(struct page *dst, struct page *src, |
370 | unsigned long addr, struct vm_area_struct *vma) | 402 | unsigned long addr, struct vm_area_struct *vma) |
371 | { | 403 | { |
372 | int i; | 404 | int i; |
373 | struct hstate *h = hstate_vma(vma); | 405 | struct hstate *h = hstate_vma(vma); |
374 | 406 | ||
407 | if (unlikely(pages_per_huge_page(h) > MAX_ORDER_NR_PAGES)) | ||
408 | return copy_gigantic_page(dst, src, addr, vma); | ||
409 | |||
375 | might_sleep(); | 410 | might_sleep(); |
376 | for (i = 0; i < pages_per_huge_page(h); i++) { | 411 | for (i = 0; i < pages_per_huge_page(h); i++) { |
377 | cond_resched(); | 412 | cond_resched(); |
@@ -456,6 +491,8 @@ static void update_and_free_page(struct hstate *h, struct page *page) | |||
456 | { | 491 | { |
457 | int i; | 492 | int i; |
458 | 493 | ||
494 | VM_BUG_ON(h->order >= MAX_ORDER); | ||
495 | |||
459 | h->nr_huge_pages--; | 496 | h->nr_huge_pages--; |
460 | h->nr_huge_pages_node[page_to_nid(page)]--; | 497 | h->nr_huge_pages_node[page_to_nid(page)]--; |
461 | for (i = 0; i < pages_per_huge_page(h); i++) { | 498 | for (i = 0; i < pages_per_huge_page(h); i++) { |
@@ -970,6 +1007,14 @@ found: | |||
970 | return 1; | 1007 | return 1; |
971 | } | 1008 | } |
972 | 1009 | ||
1010 | static void prep_compound_huge_page(struct page *page, int order) | ||
1011 | { | ||
1012 | if (unlikely(order > (MAX_ORDER - 1))) | ||
1013 | prep_compound_gigantic_page(page, order); | ||
1014 | else | ||
1015 | prep_compound_page(page, order); | ||
1016 | } | ||
1017 | |||
973 | /* Put bootmem huge pages into the standard lists after mem_map is up */ | 1018 | /* Put bootmem huge pages into the standard lists after mem_map is up */ |
974 | static void __init gather_bootmem_prealloc(void) | 1019 | static void __init gather_bootmem_prealloc(void) |
975 | { | 1020 | { |
@@ -980,7 +1025,7 @@ static void __init gather_bootmem_prealloc(void) | |||
980 | struct hstate *h = m->hstate; | 1025 | struct hstate *h = m->hstate; |
981 | __ClearPageReserved(page); | 1026 | __ClearPageReserved(page); |
982 | WARN_ON(page_count(page) != 1); | 1027 | WARN_ON(page_count(page) != 1); |
983 | prep_compound_page(page, h->order); | 1028 | prep_compound_huge_page(page, h->order); |
984 | prep_new_huge_page(h, page, page_to_nid(page)); | 1029 | prep_new_huge_page(h, page, page_to_nid(page)); |
985 | } | 1030 | } |
986 | } | 1031 | } |
@@ -2130,7 +2175,7 @@ same_page: | |||
2130 | if (zeropage_ok) | 2175 | if (zeropage_ok) |
2131 | pages[i] = ZERO_PAGE(0); | 2176 | pages[i] = ZERO_PAGE(0); |
2132 | else | 2177 | else |
2133 | pages[i] = page + pfn_offset; | 2178 | pages[i] = mem_map_offset(page, pfn_offset); |
2134 | get_page(pages[i]); | 2179 | get_page(pages[i]); |
2135 | } | 2180 | } |
2136 | 2181 | ||
diff --git a/mm/internal.h b/mm/internal.h index e4e728bdf324..13333bc2eb68 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -17,6 +17,7 @@ void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, | |||
17 | unsigned long floor, unsigned long ceiling); | 17 | unsigned long floor, unsigned long ceiling); |
18 | 18 | ||
19 | extern void prep_compound_page(struct page *page, unsigned long order); | 19 | extern void prep_compound_page(struct page *page, unsigned long order); |
20 | extern void prep_compound_gigantic_page(struct page *page, unsigned long order); | ||
20 | 21 | ||
21 | static inline void set_page_count(struct page *page, int v) | 22 | static inline void set_page_count(struct page *page, int v) |
22 | { | 23 | { |
@@ -176,6 +177,34 @@ static inline void free_page_mlock(struct page *page) { } | |||
176 | #endif /* CONFIG_UNEVICTABLE_LRU */ | 177 | #endif /* CONFIG_UNEVICTABLE_LRU */ |
177 | 178 | ||
178 | /* | 179 | /* |
180 | * Return the mem_map entry representing the 'offset' subpage within | ||
181 | * the maximally aligned gigantic page 'base'. Handle any discontiguity | ||
182 | * in the mem_map at MAX_ORDER_NR_PAGES boundaries. | ||
183 | */ | ||
184 | static inline struct page *mem_map_offset(struct page *base, int offset) | ||
185 | { | ||
186 | if (unlikely(offset >= MAX_ORDER_NR_PAGES)) | ||
187 | return pfn_to_page(page_to_pfn(base) + offset); | ||
188 | return base + offset; | ||
189 | } | ||
190 | |||
191 | /* | ||
192 | * Iterator over all subpages withing the maximally aligned gigantic | ||
193 | * page 'base'. Handle any discontiguity in the mem_map. | ||
194 | */ | ||
195 | static inline struct page *mem_map_next(struct page *iter, | ||
196 | struct page *base, int offset) | ||
197 | { | ||
198 | if (unlikely((offset & (MAX_ORDER_NR_PAGES - 1)) == 0)) { | ||
199 | unsigned long pfn = page_to_pfn(base) + offset; | ||
200 | if (!pfn_valid(pfn)) | ||
201 | return NULL; | ||
202 | return pfn_to_page(pfn); | ||
203 | } | ||
204 | return iter + 1; | ||
205 | } | ||
206 | |||
207 | /* | ||
179 | * FLATMEM and DISCONTIGMEM configurations use alloc_bootmem_node, | 208 | * FLATMEM and DISCONTIGMEM configurations use alloc_bootmem_node, |
180 | * so all functions starting at paging_init should be marked __init | 209 | * so all functions starting at paging_init should be marked __init |
181 | * in those cases. SPARSEMEM, however, allows for memory hotplug, | 210 | * in those cases. SPARSEMEM, however, allows for memory hotplug, |
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 36f42573a335..e9493b1c1117 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -489,12 +489,6 @@ check_range(struct mm_struct *mm, unsigned long start, unsigned long end, | |||
489 | int err; | 489 | int err; |
490 | struct vm_area_struct *first, *vma, *prev; | 490 | struct vm_area_struct *first, *vma, *prev; |
491 | 491 | ||
492 | if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { | ||
493 | |||
494 | err = migrate_prep(); | ||
495 | if (err) | ||
496 | return ERR_PTR(err); | ||
497 | } | ||
498 | 492 | ||
499 | first = find_vma(mm, start); | 493 | first = find_vma(mm, start); |
500 | if (!first) | 494 | if (!first) |
@@ -809,9 +803,13 @@ int do_migrate_pages(struct mm_struct *mm, | |||
809 | const nodemask_t *from_nodes, const nodemask_t *to_nodes, int flags) | 803 | const nodemask_t *from_nodes, const nodemask_t *to_nodes, int flags) |
810 | { | 804 | { |
811 | int busy = 0; | 805 | int busy = 0; |
812 | int err = 0; | 806 | int err; |
813 | nodemask_t tmp; | 807 | nodemask_t tmp; |
814 | 808 | ||
809 | err = migrate_prep(); | ||
810 | if (err) | ||
811 | return err; | ||
812 | |||
815 | down_read(&mm->mmap_sem); | 813 | down_read(&mm->mmap_sem); |
816 | 814 | ||
817 | err = migrate_vmas(mm, from_nodes, to_nodes, flags); | 815 | err = migrate_vmas(mm, from_nodes, to_nodes, flags); |
@@ -974,6 +972,12 @@ static long do_mbind(unsigned long start, unsigned long len, | |||
974 | start, start + len, mode, mode_flags, | 972 | start, start + len, mode, mode_flags, |
975 | nmask ? nodes_addr(*nmask)[0] : -1); | 973 | nmask ? nodes_addr(*nmask)[0] : -1); |
976 | 974 | ||
975 | if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { | ||
976 | |||
977 | err = migrate_prep(); | ||
978 | if (err) | ||
979 | return err; | ||
980 | } | ||
977 | down_write(&mm->mmap_sem); | 981 | down_write(&mm->mmap_sem); |
978 | vma = check_range(mm, start, end, nmask, | 982 | vma = check_range(mm, start, end, nmask, |
979 | flags | MPOL_MF_INVERT, &pagelist); | 983 | flags | MPOL_MF_INVERT, &pagelist); |
diff --git a/mm/migrate.c b/mm/migrate.c index 6602941bfab0..385db89f0c33 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -841,12 +841,12 @@ static int do_move_page_to_node_array(struct mm_struct *mm, | |||
841 | struct page_to_node *pp; | 841 | struct page_to_node *pp; |
842 | LIST_HEAD(pagelist); | 842 | LIST_HEAD(pagelist); |
843 | 843 | ||
844 | migrate_prep(); | ||
844 | down_read(&mm->mmap_sem); | 845 | down_read(&mm->mmap_sem); |
845 | 846 | ||
846 | /* | 847 | /* |
847 | * Build a list of pages to migrate | 848 | * Build a list of pages to migrate |
848 | */ | 849 | */ |
849 | migrate_prep(); | ||
850 | for (pp = pm; pp->node != MAX_NUMNODES; pp++) { | 850 | for (pp = pm; pp->node != MAX_NUMNODES; pp++) { |
851 | struct vm_area_struct *vma; | 851 | struct vm_area_struct *vma; |
852 | struct page *page; | 852 | struct page *page; |
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 64e5b4bcd964..a0a01902f551 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -38,7 +38,6 @@ static DEFINE_SPINLOCK(zone_scan_mutex); | |||
38 | * badness - calculate a numeric value for how bad this task has been | 38 | * badness - calculate a numeric value for how bad this task has been |
39 | * @p: task struct of which task we should calculate | 39 | * @p: task struct of which task we should calculate |
40 | * @uptime: current uptime in seconds | 40 | * @uptime: current uptime in seconds |
41 | * @mem: target memory controller | ||
42 | * | 41 | * |
43 | * The formula used is relatively simple and documented inline in the | 42 | * The formula used is relatively simple and documented inline in the |
44 | * function. The main rationale is that we want to select a good task | 43 | * function. The main rationale is that we want to select a good task |
@@ -295,6 +294,8 @@ static void dump_tasks(const struct mem_cgroup *mem) | |||
295 | continue; | 294 | continue; |
296 | if (mem && !task_in_mem_cgroup(p, mem)) | 295 | if (mem && !task_in_mem_cgroup(p, mem)) |
297 | continue; | 296 | continue; |
297 | if (!thread_group_leader(p)) | ||
298 | continue; | ||
298 | 299 | ||
299 | task_lock(p); | 300 | task_lock(p); |
300 | printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", | 301 | printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d0a240fbb8bf..54069e64e3a8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -263,24 +263,39 @@ void prep_compound_page(struct page *page, unsigned long order) | |||
263 | { | 263 | { |
264 | int i; | 264 | int i; |
265 | int nr_pages = 1 << order; | 265 | int nr_pages = 1 << order; |
266 | |||
267 | set_compound_page_dtor(page, free_compound_page); | ||
268 | set_compound_order(page, order); | ||
269 | __SetPageHead(page); | ||
270 | for (i = 1; i < nr_pages; i++) { | ||
271 | struct page *p = page + i; | ||
272 | |||
273 | __SetPageTail(p); | ||
274 | p->first_page = page; | ||
275 | } | ||
276 | } | ||
277 | |||
278 | #ifdef CONFIG_HUGETLBFS | ||
279 | void prep_compound_gigantic_page(struct page *page, unsigned long order) | ||
280 | { | ||
281 | int i; | ||
282 | int nr_pages = 1 << order; | ||
266 | struct page *p = page + 1; | 283 | struct page *p = page + 1; |
267 | 284 | ||
268 | set_compound_page_dtor(page, free_compound_page); | 285 | set_compound_page_dtor(page, free_compound_page); |
269 | set_compound_order(page, order); | 286 | set_compound_order(page, order); |
270 | __SetPageHead(page); | 287 | __SetPageHead(page); |
271 | for (i = 1; i < nr_pages; i++, p++) { | 288 | for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) { |
272 | if (unlikely((i & (MAX_ORDER_NR_PAGES - 1)) == 0)) | ||
273 | p = pfn_to_page(page_to_pfn(page) + i); | ||
274 | __SetPageTail(p); | 289 | __SetPageTail(p); |
275 | p->first_page = page; | 290 | p->first_page = page; |
276 | } | 291 | } |
277 | } | 292 | } |
293 | #endif | ||
278 | 294 | ||
279 | static void destroy_compound_page(struct page *page, unsigned long order) | 295 | static void destroy_compound_page(struct page *page, unsigned long order) |
280 | { | 296 | { |
281 | int i; | 297 | int i; |
282 | int nr_pages = 1 << order; | 298 | int nr_pages = 1 << order; |
283 | struct page *p = page + 1; | ||
284 | 299 | ||
285 | if (unlikely(compound_order(page) != order)) | 300 | if (unlikely(compound_order(page) != order)) |
286 | bad_page(page); | 301 | bad_page(page); |
@@ -288,9 +303,8 @@ static void destroy_compound_page(struct page *page, unsigned long order) | |||
288 | if (unlikely(!PageHead(page))) | 303 | if (unlikely(!PageHead(page))) |
289 | bad_page(page); | 304 | bad_page(page); |
290 | __ClearPageHead(page); | 305 | __ClearPageHead(page); |
291 | for (i = 1; i < nr_pages; i++, p++) { | 306 | for (i = 1; i < nr_pages; i++) { |
292 | if (unlikely((i & (MAX_ORDER_NR_PAGES - 1)) == 0)) | 307 | struct page *p = page + i; |
293 | p = pfn_to_page(page_to_pfn(page) + i); | ||
294 | 308 | ||
295 | if (unlikely(!PageTail(p) | | 309 | if (unlikely(!PageTail(p) | |
296 | (p->first_page != page))) | 310 | (p->first_page != page))) |
diff --git a/mm/page_isolation.c b/mm/page_isolation.c index b70a7fec1ff6..5e0ffd967452 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c | |||
@@ -130,10 +130,11 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn) | |||
130 | if (page && get_pageblock_migratetype(page) != MIGRATE_ISOLATE) | 130 | if (page && get_pageblock_migratetype(page) != MIGRATE_ISOLATE) |
131 | break; | 131 | break; |
132 | } | 132 | } |
133 | if (pfn < end_pfn) | 133 | page = __first_valid_page(start_pfn, end_pfn - start_pfn); |
134 | if ((pfn < end_pfn) || !page) | ||
134 | return -EBUSY; | 135 | return -EBUSY; |
135 | /* Check all pages are free or Marked as ISOLATED */ | 136 | /* Check all pages are free or Marked as ISOLATED */ |
136 | zone = page_zone(pfn_to_page(pfn)); | 137 | zone = page_zone(page); |
137 | spin_lock_irqsave(&zone->lock, flags); | 138 | spin_lock_irqsave(&zone->lock, flags); |
138 | ret = __test_page_isolated_in_pageblock(start_pfn, end_pfn); | 139 | ret = __test_page_isolated_in_pageblock(start_pfn, end_pfn); |
139 | spin_unlock_irqrestore(&zone->lock, flags); | 140 | spin_unlock_irqrestore(&zone->lock, flags); |
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c index a91b5f8fcaf6..a13ea6401ae7 100644 --- a/mm/sparse-vmemmap.c +++ b/mm/sparse-vmemmap.c | |||
@@ -64,7 +64,7 @@ void __meminit vmemmap_verify(pte_t *pte, int node, | |||
64 | unsigned long pfn = pte_pfn(*pte); | 64 | unsigned long pfn = pte_pfn(*pte); |
65 | int actual_node = early_pfn_to_nid(pfn); | 65 | int actual_node = early_pfn_to_nid(pfn); |
66 | 66 | ||
67 | if (actual_node != node) | 67 | if (node_distance(actual_node, node) > LOCAL_DISTANCE) |
68 | printk(KERN_WARNING "[%lx-%lx] potential offnode " | 68 | printk(KERN_WARNING "[%lx-%lx] potential offnode " |
69 | "page_structs\n", start, end - 1); | 69 | "page_structs\n", start, end - 1); |
70 | } | 70 | } |
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index f1cc03bbf6ac..66fad3fc02b1 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -178,7 +178,7 @@ static int vmap_page_range(unsigned long addr, unsigned long end, | |||
178 | static inline int is_vmalloc_or_module_addr(const void *x) | 178 | static inline int is_vmalloc_or_module_addr(const void *x) |
179 | { | 179 | { |
180 | /* | 180 | /* |
181 | * x86-64 and sparc64 put modules in a special place, | 181 | * ARM, x86-64 and sparc64 put modules in a special place, |
182 | * and fall back on vmalloc() if that fails. Others | 182 | * and fall back on vmalloc() if that fails. Others |
183 | * just put it in the vmalloc space. | 183 | * just put it in the vmalloc space. |
184 | */ | 184 | */ |
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 118adef476c3..dd86a1dc4cd0 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c | |||
@@ -3,11 +3,20 @@ | |||
3 | #include <linux/if_vlan.h> | 3 | #include <linux/if_vlan.h> |
4 | #include "vlan.h" | 4 | #include "vlan.h" |
5 | 5 | ||
6 | struct vlan_hwaccel_cb { | ||
7 | struct net_device *dev; | ||
8 | }; | ||
9 | |||
10 | static inline struct vlan_hwaccel_cb *vlan_hwaccel_cb(struct sk_buff *skb) | ||
11 | { | ||
12 | return (struct vlan_hwaccel_cb *)skb->cb; | ||
13 | } | ||
14 | |||
6 | /* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ | 15 | /* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ |
7 | int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | 16 | int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, |
8 | u16 vlan_tci, int polling) | 17 | u16 vlan_tci, int polling) |
9 | { | 18 | { |
10 | struct net_device_stats *stats; | 19 | struct vlan_hwaccel_cb *cb = vlan_hwaccel_cb(skb); |
11 | 20 | ||
12 | if (skb_bond_should_drop(skb)) { | 21 | if (skb_bond_should_drop(skb)) { |
13 | dev_kfree_skb_any(skb); | 22 | dev_kfree_skb_any(skb); |
@@ -15,22 +24,33 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | |||
15 | } | 24 | } |
16 | 25 | ||
17 | skb->vlan_tci = vlan_tci; | 26 | skb->vlan_tci = vlan_tci; |
27 | cb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK); | ||
28 | |||
29 | return (polling ? netif_receive_skb(skb) : netif_rx(skb)); | ||
30 | } | ||
31 | EXPORT_SYMBOL(__vlan_hwaccel_rx); | ||
32 | |||
33 | int vlan_hwaccel_do_receive(struct sk_buff *skb) | ||
34 | { | ||
35 | struct vlan_hwaccel_cb *cb = vlan_hwaccel_cb(skb); | ||
36 | struct net_device *dev = cb->dev; | ||
37 | struct net_device_stats *stats; | ||
38 | |||
18 | netif_nit_deliver(skb); | 39 | netif_nit_deliver(skb); |
19 | 40 | ||
20 | skb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK); | 41 | if (dev == NULL) { |
21 | if (skb->dev == NULL) { | 42 | kfree_skb(skb); |
22 | dev_kfree_skb_any(skb); | 43 | return -1; |
23 | /* Not NET_RX_DROP, this is not being dropped | ||
24 | * due to congestion. */ | ||
25 | return NET_RX_SUCCESS; | ||
26 | } | 44 | } |
45 | |||
46 | skb->dev = dev; | ||
47 | skb->priority = vlan_get_ingress_priority(dev, skb->vlan_tci); | ||
27 | skb->vlan_tci = 0; | 48 | skb->vlan_tci = 0; |
28 | 49 | ||
29 | stats = &skb->dev->stats; | 50 | stats = &dev->stats; |
30 | stats->rx_packets++; | 51 | stats->rx_packets++; |
31 | stats->rx_bytes += skb->len; | 52 | stats->rx_bytes += skb->len; |
32 | 53 | ||
33 | skb->priority = vlan_get_ingress_priority(skb->dev, vlan_tci); | ||
34 | switch (skb->pkt_type) { | 54 | switch (skb->pkt_type) { |
35 | case PACKET_BROADCAST: | 55 | case PACKET_BROADCAST: |
36 | break; | 56 | break; |
@@ -42,13 +62,12 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | |||
42 | * This allows the VLAN to have a different MAC than the | 62 | * This allows the VLAN to have a different MAC than the |
43 | * underlying device, and still route correctly. */ | 63 | * underlying device, and still route correctly. */ |
44 | if (!compare_ether_addr(eth_hdr(skb)->h_dest, | 64 | if (!compare_ether_addr(eth_hdr(skb)->h_dest, |
45 | skb->dev->dev_addr)) | 65 | dev->dev_addr)) |
46 | skb->pkt_type = PACKET_HOST; | 66 | skb->pkt_type = PACKET_HOST; |
47 | break; | 67 | break; |
48 | }; | 68 | }; |
49 | return (polling ? netif_receive_skb(skb) : netif_rx(skb)); | 69 | return 0; |
50 | } | 70 | } |
51 | EXPORT_SYMBOL(__vlan_hwaccel_rx); | ||
52 | 71 | ||
53 | struct net_device *vlan_dev_real_dev(const struct net_device *dev) | 72 | struct net_device *vlan_dev_real_dev(const struct net_device *dev) |
54 | { | 73 | { |
diff --git a/net/9p/client.c b/net/9p/client.c index 67717f69412e..4b529454616d 100644 --- a/net/9p/client.c +++ b/net/9p/client.c | |||
@@ -189,6 +189,9 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag) | |||
189 | printk(KERN_ERR "Couldn't grow tag array\n"); | 189 | printk(KERN_ERR "Couldn't grow tag array\n"); |
190 | kfree(req->tc); | 190 | kfree(req->tc); |
191 | kfree(req->rc); | 191 | kfree(req->rc); |
192 | kfree(req->wq); | ||
193 | req->tc = req->rc = NULL; | ||
194 | req->wq = NULL; | ||
192 | return ERR_PTR(-ENOMEM); | 195 | return ERR_PTR(-ENOMEM); |
193 | } | 196 | } |
194 | req->tc->sdata = (char *) req->tc + sizeof(struct p9_fcall); | 197 | req->tc->sdata = (char *) req->tc + sizeof(struct p9_fcall); |
@@ -311,12 +314,6 @@ static void p9_free_req(struct p9_client *c, struct p9_req_t *r) | |||
311 | r->status = REQ_STATUS_IDLE; | 314 | r->status = REQ_STATUS_IDLE; |
312 | if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool)) | 315 | if (tag != P9_NOTAG && p9_idpool_check(tag, c->tagpool)) |
313 | p9_idpool_put(tag, c->tagpool); | 316 | p9_idpool_put(tag, c->tagpool); |
314 | |||
315 | /* if this was a flush request we have to free response fcall */ | ||
316 | if (r->rc->id == P9_RFLUSH) { | ||
317 | kfree(r->tc); | ||
318 | kfree(r->rc); | ||
319 | } | ||
320 | } | 317 | } |
321 | 318 | ||
322 | /** | 319 | /** |
@@ -611,19 +608,21 @@ reterr: | |||
611 | 608 | ||
612 | static struct p9_fid *p9_fid_create(struct p9_client *clnt) | 609 | static struct p9_fid *p9_fid_create(struct p9_client *clnt) |
613 | { | 610 | { |
614 | int err; | 611 | int ret; |
615 | struct p9_fid *fid; | 612 | struct p9_fid *fid; |
613 | unsigned long flags; | ||
616 | 614 | ||
617 | P9_DPRINTK(P9_DEBUG_FID, "clnt %p\n", clnt); | 615 | P9_DPRINTK(P9_DEBUG_FID, "clnt %p\n", clnt); |
618 | fid = kmalloc(sizeof(struct p9_fid), GFP_KERNEL); | 616 | fid = kmalloc(sizeof(struct p9_fid), GFP_KERNEL); |
619 | if (!fid) | 617 | if (!fid) |
620 | return ERR_PTR(-ENOMEM); | 618 | return ERR_PTR(-ENOMEM); |
621 | 619 | ||
622 | fid->fid = p9_idpool_get(clnt->fidpool); | 620 | ret = p9_idpool_get(clnt->fidpool); |
623 | if (fid->fid < 0) { | 621 | if (fid->fid < 0) { |
624 | err = -ENOSPC; | 622 | ret = -ENOSPC; |
625 | goto error; | 623 | goto error; |
626 | } | 624 | } |
625 | fid->fid = ret; | ||
627 | 626 | ||
628 | memset(&fid->qid, 0, sizeof(struct p9_qid)); | 627 | memset(&fid->qid, 0, sizeof(struct p9_qid)); |
629 | fid->mode = -1; | 628 | fid->mode = -1; |
@@ -632,27 +631,28 @@ static struct p9_fid *p9_fid_create(struct p9_client *clnt) | |||
632 | fid->clnt = clnt; | 631 | fid->clnt = clnt; |
633 | fid->aux = NULL; | 632 | fid->aux = NULL; |
634 | 633 | ||
635 | spin_lock(&clnt->lock); | 634 | spin_lock_irqsave(&clnt->lock, flags); |
636 | list_add(&fid->flist, &clnt->fidlist); | 635 | list_add(&fid->flist, &clnt->fidlist); |
637 | spin_unlock(&clnt->lock); | 636 | spin_unlock_irqrestore(&clnt->lock, flags); |
638 | 637 | ||
639 | return fid; | 638 | return fid; |
640 | 639 | ||
641 | error: | 640 | error: |
642 | kfree(fid); | 641 | kfree(fid); |
643 | return ERR_PTR(err); | 642 | return ERR_PTR(ret); |
644 | } | 643 | } |
645 | 644 | ||
646 | static void p9_fid_destroy(struct p9_fid *fid) | 645 | static void p9_fid_destroy(struct p9_fid *fid) |
647 | { | 646 | { |
648 | struct p9_client *clnt; | 647 | struct p9_client *clnt; |
648 | unsigned long flags; | ||
649 | 649 | ||
650 | P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid); | 650 | P9_DPRINTK(P9_DEBUG_FID, "fid %d\n", fid->fid); |
651 | clnt = fid->clnt; | 651 | clnt = fid->clnt; |
652 | p9_idpool_put(fid->fid, clnt->fidpool); | 652 | p9_idpool_put(fid->fid, clnt->fidpool); |
653 | spin_lock(&clnt->lock); | 653 | spin_lock_irqsave(&clnt->lock, flags); |
654 | list_del(&fid->flist); | 654 | list_del(&fid->flist); |
655 | spin_unlock(&clnt->lock); | 655 | spin_unlock_irqrestore(&clnt->lock, flags); |
656 | kfree(fid); | 656 | kfree(fid); |
657 | } | 657 | } |
658 | 658 | ||
@@ -818,7 +818,9 @@ struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid, | |||
818 | } | 818 | } |
819 | 819 | ||
820 | P9_DPRINTK(P9_DEBUG_9P, "<<< RATTACH qid %x.%llx.%x\n", | 820 | P9_DPRINTK(P9_DEBUG_9P, "<<< RATTACH qid %x.%llx.%x\n", |
821 | qid.type, qid.path, qid.version); | 821 | qid.type, |
822 | (unsigned long long)qid.path, | ||
823 | qid.version); | ||
822 | 824 | ||
823 | memmove(&fid->qid, &qid, sizeof(struct p9_qid)); | 825 | memmove(&fid->qid, &qid, sizeof(struct p9_qid)); |
824 | 826 | ||
@@ -865,7 +867,9 @@ p9_client_auth(struct p9_client *clnt, char *uname, u32 n_uname, char *aname) | |||
865 | } | 867 | } |
866 | 868 | ||
867 | P9_DPRINTK(P9_DEBUG_9P, "<<< RAUTH qid %x.%llx.%x\n", | 869 | P9_DPRINTK(P9_DEBUG_9P, "<<< RAUTH qid %x.%llx.%x\n", |
868 | qid.type, qid.path, qid.version); | 870 | qid.type, |
871 | (unsigned long long)qid.path, | ||
872 | qid.version); | ||
869 | 873 | ||
870 | memmove(&afid->qid, &qid, sizeof(struct p9_qid)); | 874 | memmove(&afid->qid, &qid, sizeof(struct p9_qid)); |
871 | p9_free_req(clnt, req); | 875 | p9_free_req(clnt, req); |
@@ -930,7 +934,8 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, int nwname, char **wnames, | |||
930 | 934 | ||
931 | for (count = 0; count < nwqids; count++) | 935 | for (count = 0; count < nwqids; count++) |
932 | P9_DPRINTK(P9_DEBUG_9P, "<<< [%d] %x.%llx.%x\n", | 936 | P9_DPRINTK(P9_DEBUG_9P, "<<< [%d] %x.%llx.%x\n", |
933 | count, wqids[count].type, wqids[count].path, | 937 | count, wqids[count].type, |
938 | (unsigned long long)wqids[count].path, | ||
934 | wqids[count].version); | 939 | wqids[count].version); |
935 | 940 | ||
936 | if (nwname) | 941 | if (nwname) |
@@ -980,7 +985,9 @@ int p9_client_open(struct p9_fid *fid, int mode) | |||
980 | } | 985 | } |
981 | 986 | ||
982 | P9_DPRINTK(P9_DEBUG_9P, "<<< ROPEN qid %x.%llx.%x iounit %x\n", | 987 | P9_DPRINTK(P9_DEBUG_9P, "<<< ROPEN qid %x.%llx.%x iounit %x\n", |
983 | qid.type, qid.path, qid.version, iounit); | 988 | qid.type, |
989 | (unsigned long long)qid.path, | ||
990 | qid.version, iounit); | ||
984 | 991 | ||
985 | fid->mode = mode; | 992 | fid->mode = mode; |
986 | fid->iounit = iounit; | 993 | fid->iounit = iounit; |
@@ -1023,7 +1030,9 @@ int p9_client_fcreate(struct p9_fid *fid, char *name, u32 perm, int mode, | |||
1023 | } | 1030 | } |
1024 | 1031 | ||
1025 | P9_DPRINTK(P9_DEBUG_9P, "<<< RCREATE qid %x.%llx.%x iounit %x\n", | 1032 | P9_DPRINTK(P9_DEBUG_9P, "<<< RCREATE qid %x.%llx.%x iounit %x\n", |
1026 | qid.type, qid.path, qid.version, iounit); | 1033 | qid.type, |
1034 | (unsigned long long)qid.path, | ||
1035 | qid.version, iounit); | ||
1027 | 1036 | ||
1028 | fid->mode = mode; | 1037 | fid->mode = mode; |
1029 | fid->iounit = iounit; | 1038 | fid->iounit = iounit; |
@@ -1230,9 +1239,9 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid) | |||
1230 | "<<< name=%s uid=%s gid=%s muid=%s extension=(%s)\n" | 1239 | "<<< name=%s uid=%s gid=%s muid=%s extension=(%s)\n" |
1231 | "<<< uid=%d gid=%d n_muid=%d\n", | 1240 | "<<< uid=%d gid=%d n_muid=%d\n", |
1232 | ret->size, ret->type, ret->dev, ret->qid.type, | 1241 | ret->size, ret->type, ret->dev, ret->qid.type, |
1233 | ret->qid.path, ret->qid.version, ret->mode, | 1242 | (unsigned long long)ret->qid.path, ret->qid.version, ret->mode, |
1234 | ret->atime, ret->mtime, ret->length, ret->name, | 1243 | ret->atime, ret->mtime, (unsigned long long)ret->length, |
1235 | ret->uid, ret->gid, ret->muid, ret->extension, | 1244 | ret->name, ret->uid, ret->gid, ret->muid, ret->extension, |
1236 | ret->n_uid, ret->n_gid, ret->n_muid); | 1245 | ret->n_uid, ret->n_gid, ret->n_muid); |
1237 | 1246 | ||
1238 | free_and_error: | 1247 | free_and_error: |
@@ -1255,9 +1264,9 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) | |||
1255 | " name=%s uid=%s gid=%s muid=%s extension=(%s)\n" | 1264 | " name=%s uid=%s gid=%s muid=%s extension=(%s)\n" |
1256 | " uid=%d gid=%d n_muid=%d\n", | 1265 | " uid=%d gid=%d n_muid=%d\n", |
1257 | wst->size, wst->type, wst->dev, wst->qid.type, | 1266 | wst->size, wst->type, wst->dev, wst->qid.type, |
1258 | wst->qid.path, wst->qid.version, wst->mode, | 1267 | (unsigned long long)wst->qid.path, wst->qid.version, wst->mode, |
1259 | wst->atime, wst->mtime, wst->length, wst->name, | 1268 | wst->atime, wst->mtime, (unsigned long long)wst->length, |
1260 | wst->uid, wst->gid, wst->muid, wst->extension, | 1269 | wst->name, wst->uid, wst->gid, wst->muid, wst->extension, |
1261 | wst->n_uid, wst->n_gid, wst->n_muid); | 1270 | wst->n_uid, wst->n_gid, wst->n_muid); |
1262 | err = 0; | 1271 | err = 0; |
1263 | clnt = fid->clnt; | 1272 | clnt = fid->clnt; |
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c index a7fe63f704d5..2f1fe5fc1228 100644 --- a/net/9p/trans_rdma.c +++ b/net/9p/trans_rdma.c | |||
@@ -588,6 +588,9 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args) | |||
588 | if (IS_ERR(rdma->cm_id)) | 588 | if (IS_ERR(rdma->cm_id)) |
589 | goto error; | 589 | goto error; |
590 | 590 | ||
591 | /* Associate the client with the transport */ | ||
592 | client->trans = rdma; | ||
593 | |||
591 | /* Resolve the server's address */ | 594 | /* Resolve the server's address */ |
592 | rdma->addr.sin_family = AF_INET; | 595 | rdma->addr.sin_family = AF_INET; |
593 | rdma->addr.sin_addr.s_addr = in_aton(addr); | 596 | rdma->addr.sin_addr.s_addr = in_aton(addr); |
@@ -668,7 +671,6 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args) | |||
668 | if (err || (rdma->state != P9_RDMA_CONNECTED)) | 671 | if (err || (rdma->state != P9_RDMA_CONNECTED)) |
669 | goto error; | 672 | goto error; |
670 | 673 | ||
671 | client->trans = rdma; | ||
672 | client->status = Connected; | 674 | client->status = Connected; |
673 | 675 | ||
674 | return 0; | 676 | return 0; |
diff --git a/net/core/dev.c b/net/core/dev.c index a0c60607f1a7..e0dc67a789b7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -2223,6 +2223,9 @@ int netif_receive_skb(struct sk_buff *skb) | |||
2223 | int ret = NET_RX_DROP; | 2223 | int ret = NET_RX_DROP; |
2224 | __be16 type; | 2224 | __be16 type; |
2225 | 2225 | ||
2226 | if (skb->vlan_tci && vlan_hwaccel_do_receive(skb)) | ||
2227 | return NET_RX_SUCCESS; | ||
2228 | |||
2226 | /* if we've gotten here through NAPI, check netpoll */ | 2229 | /* if we've gotten here through NAPI, check netpoll */ |
2227 | if (netpoll_receive_skb(skb)) | 2230 | if (netpoll_receive_skb(skb)) |
2228 | return NET_RX_DROP; | 2231 | return NET_RX_DROP; |
diff --git a/net/core/scm.c b/net/core/scm.c index 10f5c65f6a47..ab242cc1acca 100644 --- a/net/core/scm.c +++ b/net/core/scm.c | |||
@@ -75,6 +75,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp) | |||
75 | if (!fpl) | 75 | if (!fpl) |
76 | return -ENOMEM; | 76 | return -ENOMEM; |
77 | *fplp = fpl; | 77 | *fplp = fpl; |
78 | INIT_LIST_HEAD(&fpl->list); | ||
78 | fpl->count = 0; | 79 | fpl->count = 0; |
79 | } | 80 | } |
80 | fpp = &fpl->fp[fpl->count]; | 81 | fpp = &fpl->fp[fpl->count]; |
@@ -106,9 +107,25 @@ void __scm_destroy(struct scm_cookie *scm) | |||
106 | 107 | ||
107 | if (fpl) { | 108 | if (fpl) { |
108 | scm->fp = NULL; | 109 | scm->fp = NULL; |
109 | for (i=fpl->count-1; i>=0; i--) | 110 | if (current->scm_work_list) { |
110 | fput(fpl->fp[i]); | 111 | list_add_tail(&fpl->list, current->scm_work_list); |
111 | kfree(fpl); | 112 | } else { |
113 | LIST_HEAD(work_list); | ||
114 | |||
115 | current->scm_work_list = &work_list; | ||
116 | |||
117 | list_add(&fpl->list, &work_list); | ||
118 | while (!list_empty(&work_list)) { | ||
119 | fpl = list_first_entry(&work_list, struct scm_fp_list, list); | ||
120 | |||
121 | list_del(&fpl->list); | ||
122 | for (i=fpl->count-1; i>=0; i--) | ||
123 | fput(fpl->fp[i]); | ||
124 | kfree(fpl); | ||
125 | } | ||
126 | |||
127 | current->scm_work_list = NULL; | ||
128 | } | ||
112 | } | 129 | } |
113 | } | 130 | } |
114 | 131 | ||
@@ -284,6 +301,7 @@ struct scm_fp_list *scm_fp_dup(struct scm_fp_list *fpl) | |||
284 | 301 | ||
285 | new_fpl = kmalloc(sizeof(*fpl), GFP_KERNEL); | 302 | new_fpl = kmalloc(sizeof(*fpl), GFP_KERNEL); |
286 | if (new_fpl) { | 303 | if (new_fpl) { |
304 | INIT_LIST_HEAD(&new_fpl->list); | ||
287 | for (i=fpl->count-1; i>=0; i--) | 305 | for (i=fpl->count-1; i>=0; i--) |
288 | get_file(fpl->fp[i]); | 306 | get_file(fpl->fp[i]); |
289 | memcpy(new_fpl, fpl, sizeof(*fpl)); | 307 | memcpy(new_fpl, fpl, sizeof(*fpl)); |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index c4c8a33f3418..f24a4951008b 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -449,6 +449,18 @@ void kfree_skb(struct sk_buff *skb) | |||
449 | __kfree_skb(skb); | 449 | __kfree_skb(skb); |
450 | } | 450 | } |
451 | 451 | ||
452 | /** | ||
453 | * skb_recycle_check - check if skb can be reused for receive | ||
454 | * @skb: buffer | ||
455 | * @skb_size: minimum receive buffer size | ||
456 | * | ||
457 | * Checks that the skb passed in is not shared or cloned, and | ||
458 | * that it is linear and its head portion at least as large as | ||
459 | * skb_size so that it can be recycled as a receive buffer. | ||
460 | * If these conditions are met, this function does any necessary | ||
461 | * reference count dropping and cleans up the skbuff as if it | ||
462 | * just came from __alloc_skb(). | ||
463 | */ | ||
452 | int skb_recycle_check(struct sk_buff *skb, int skb_size) | 464 | int skb_recycle_check(struct sk_buff *skb, int skb_size) |
453 | { | 465 | { |
454 | struct skb_shared_info *shinfo; | 466 | struct skb_shared_info *shinfo; |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 60c28add96b8..f60a5917e54d 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1374,8 +1374,7 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | |||
1374 | sk->sk_state == TCP_CLOSE || | 1374 | sk->sk_state == TCP_CLOSE || |
1375 | (sk->sk_shutdown & RCV_SHUTDOWN) || | 1375 | (sk->sk_shutdown & RCV_SHUTDOWN) || |
1376 | !timeo || | 1376 | !timeo || |
1377 | signal_pending(current) || | 1377 | signal_pending(current)) |
1378 | (flags & MSG_PEEK)) | ||
1379 | break; | 1378 | break; |
1380 | } else { | 1379 | } else { |
1381 | if (sock_flag(sk, SOCK_DONE)) | 1380 | if (sock_flag(sk, SOCK_DONE)) |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 7e4d9c871153..54badc9a019d 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -320,7 +320,7 @@ struct sock *udp4_lib_lookup(struct net *net, __be32 saddr, __be16 sport, | |||
320 | } | 320 | } |
321 | EXPORT_SYMBOL_GPL(udp4_lib_lookup); | 321 | EXPORT_SYMBOL_GPL(udp4_lib_lookup); |
322 | 322 | ||
323 | static inline struct sock *udp_v4_mcast_next(struct sock *sk, | 323 | static inline struct sock *udp_v4_mcast_next(struct net *net, struct sock *sk, |
324 | __be16 loc_port, __be32 loc_addr, | 324 | __be16 loc_port, __be32 loc_addr, |
325 | __be16 rmt_port, __be32 rmt_addr, | 325 | __be16 rmt_port, __be32 rmt_addr, |
326 | int dif) | 326 | int dif) |
@@ -332,7 +332,8 @@ static inline struct sock *udp_v4_mcast_next(struct sock *sk, | |||
332 | sk_for_each_from(s, node) { | 332 | sk_for_each_from(s, node) { |
333 | struct inet_sock *inet = inet_sk(s); | 333 | struct inet_sock *inet = inet_sk(s); |
334 | 334 | ||
335 | if (s->sk_hash != hnum || | 335 | if (!net_eq(sock_net(s), net) || |
336 | s->sk_hash != hnum || | ||
336 | (inet->daddr && inet->daddr != rmt_addr) || | 337 | (inet->daddr && inet->daddr != rmt_addr) || |
337 | (inet->dport != rmt_port && inet->dport) || | 338 | (inet->dport != rmt_port && inet->dport) || |
338 | (inet->rcv_saddr && inet->rcv_saddr != loc_addr) || | 339 | (inet->rcv_saddr && inet->rcv_saddr != loc_addr) || |
@@ -1131,15 +1132,16 @@ static int __udp4_lib_mcast_deliver(struct net *net, struct sk_buff *skb, | |||
1131 | spin_lock(&hslot->lock); | 1132 | spin_lock(&hslot->lock); |
1132 | sk = sk_head(&hslot->head); | 1133 | sk = sk_head(&hslot->head); |
1133 | dif = skb->dev->ifindex; | 1134 | dif = skb->dev->ifindex; |
1134 | sk = udp_v4_mcast_next(sk, uh->dest, daddr, uh->source, saddr, dif); | 1135 | sk = udp_v4_mcast_next(net, sk, uh->dest, daddr, uh->source, saddr, dif); |
1135 | if (sk) { | 1136 | if (sk) { |
1136 | struct sock *sknext = NULL; | 1137 | struct sock *sknext = NULL; |
1137 | 1138 | ||
1138 | do { | 1139 | do { |
1139 | struct sk_buff *skb1 = skb; | 1140 | struct sk_buff *skb1 = skb; |
1140 | 1141 | ||
1141 | sknext = udp_v4_mcast_next(sk_next(sk), uh->dest, daddr, | 1142 | sknext = udp_v4_mcast_next(net, sk_next(sk), uh->dest, |
1142 | uh->source, saddr, dif); | 1143 | daddr, uh->source, saddr, |
1144 | dif); | ||
1143 | if (sknext) | 1145 | if (sknext) |
1144 | skb1 = skb_clone(skb, GFP_ATOMIC); | 1146 | skb1 = skb_clone(skb, GFP_ATOMIC); |
1145 | 1147 | ||
diff --git a/net/ipv4/xfrm4_state.c b/net/ipv4/xfrm4_state.c index 07735ed280d7..55dc6beab9aa 100644 --- a/net/ipv4/xfrm4_state.c +++ b/net/ipv4/xfrm4_state.c | |||
@@ -33,6 +33,7 @@ __xfrm4_init_tempsel(struct xfrm_state *x, struct flowi *fl, | |||
33 | x->sel.dport_mask = htons(0xffff); | 33 | x->sel.dport_mask = htons(0xffff); |
34 | x->sel.sport = xfrm_flowi_sport(fl); | 34 | x->sel.sport = xfrm_flowi_sport(fl); |
35 | x->sel.sport_mask = htons(0xffff); | 35 | x->sel.sport_mask = htons(0xffff); |
36 | x->sel.family = AF_INET; | ||
36 | x->sel.prefixlen_d = 32; | 37 | x->sel.prefixlen_d = 32; |
37 | x->sel.prefixlen_s = 32; | 38 | x->sel.prefixlen_s = 32; |
38 | x->sel.proto = fl->proto; | 39 | x->sel.proto = fl->proto; |
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 07ee758de9e1..0e41f1be6dc9 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -2483,8 +2483,10 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event, | |||
2483 | if (!idev && dev->mtu >= IPV6_MIN_MTU) | 2483 | if (!idev && dev->mtu >= IPV6_MIN_MTU) |
2484 | idev = ipv6_add_dev(dev); | 2484 | idev = ipv6_add_dev(dev); |
2485 | 2485 | ||
2486 | if (idev) | 2486 | if (idev) { |
2487 | idev->if_flags |= IF_READY; | 2487 | idev->if_flags |= IF_READY; |
2488 | run_pending = 1; | ||
2489 | } | ||
2488 | } else { | 2490 | } else { |
2489 | if (!addrconf_qdisc_ok(dev)) { | 2491 | if (!addrconf_qdisc_ok(dev)) { |
2490 | /* device is still not ready. */ | 2492 | /* device is still not ready. */ |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 32d914db6c4f..8dafa36b1ba5 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -165,6 +165,7 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk, | |||
165 | int peeked; | 165 | int peeked; |
166 | int err; | 166 | int err; |
167 | int is_udplite = IS_UDPLITE(sk); | 167 | int is_udplite = IS_UDPLITE(sk); |
168 | int is_udp4; | ||
168 | 169 | ||
169 | if (addr_len) | 170 | if (addr_len) |
170 | *addr_len=sizeof(struct sockaddr_in6); | 171 | *addr_len=sizeof(struct sockaddr_in6); |
@@ -185,6 +186,8 @@ try_again: | |||
185 | else if (copied < ulen) | 186 | else if (copied < ulen) |
186 | msg->msg_flags |= MSG_TRUNC; | 187 | msg->msg_flags |= MSG_TRUNC; |
187 | 188 | ||
189 | is_udp4 = (skb->protocol == htons(ETH_P_IP)); | ||
190 | |||
188 | /* | 191 | /* |
189 | * If checksum is needed at all, try to do it while copying the | 192 | * If checksum is needed at all, try to do it while copying the |
190 | * data. If the data is truncated, or if we only want a partial | 193 | * data. If the data is truncated, or if we only want a partial |
@@ -207,9 +210,14 @@ try_again: | |||
207 | if (err) | 210 | if (err) |
208 | goto out_free; | 211 | goto out_free; |
209 | 212 | ||
210 | if (!peeked) | 213 | if (!peeked) { |
211 | UDP6_INC_STATS_USER(sock_net(sk), | 214 | if (is_udp4) |
212 | UDP_MIB_INDATAGRAMS, is_udplite); | 215 | UDP_INC_STATS_USER(sock_net(sk), |
216 | UDP_MIB_INDATAGRAMS, is_udplite); | ||
217 | else | ||
218 | UDP6_INC_STATS_USER(sock_net(sk), | ||
219 | UDP_MIB_INDATAGRAMS, is_udplite); | ||
220 | } | ||
213 | 221 | ||
214 | sock_recv_timestamp(msg, sk, skb); | 222 | sock_recv_timestamp(msg, sk, skb); |
215 | 223 | ||
@@ -223,7 +231,7 @@ try_again: | |||
223 | sin6->sin6_flowinfo = 0; | 231 | sin6->sin6_flowinfo = 0; |
224 | sin6->sin6_scope_id = 0; | 232 | sin6->sin6_scope_id = 0; |
225 | 233 | ||
226 | if (skb->protocol == htons(ETH_P_IP)) | 234 | if (is_udp4) |
227 | ipv6_addr_set(&sin6->sin6_addr, 0, 0, | 235 | ipv6_addr_set(&sin6->sin6_addr, 0, 0, |
228 | htonl(0xffff), ip_hdr(skb)->saddr); | 236 | htonl(0xffff), ip_hdr(skb)->saddr); |
229 | else { | 237 | else { |
@@ -234,7 +242,7 @@ try_again: | |||
234 | } | 242 | } |
235 | 243 | ||
236 | } | 244 | } |
237 | if (skb->protocol == htons(ETH_P_IP)) { | 245 | if (is_udp4) { |
238 | if (inet->cmsg_flags) | 246 | if (inet->cmsg_flags) |
239 | ip_cmsg_recv(msg, skb); | 247 | ip_cmsg_recv(msg, skb); |
240 | } else { | 248 | } else { |
@@ -255,8 +263,14 @@ out: | |||
255 | 263 | ||
256 | csum_copy_err: | 264 | csum_copy_err: |
257 | lock_sock(sk); | 265 | lock_sock(sk); |
258 | if (!skb_kill_datagram(sk, skb, flags)) | 266 | if (!skb_kill_datagram(sk, skb, flags)) { |
259 | UDP6_INC_STATS_USER(sock_net(sk), UDP_MIB_INERRORS, is_udplite); | 267 | if (is_udp4) |
268 | UDP_INC_STATS_USER(sock_net(sk), | ||
269 | UDP_MIB_INERRORS, is_udplite); | ||
270 | else | ||
271 | UDP6_INC_STATS_USER(sock_net(sk), | ||
272 | UDP_MIB_INERRORS, is_udplite); | ||
273 | } | ||
260 | release_sock(sk); | 274 | release_sock(sk); |
261 | 275 | ||
262 | if (flags & MSG_DONTWAIT) | 276 | if (flags & MSG_DONTWAIT) |
@@ -355,7 +369,7 @@ drop: | |||
355 | return -1; | 369 | return -1; |
356 | } | 370 | } |
357 | 371 | ||
358 | static struct sock *udp_v6_mcast_next(struct sock *sk, | 372 | static struct sock *udp_v6_mcast_next(struct net *net, struct sock *sk, |
359 | __be16 loc_port, struct in6_addr *loc_addr, | 373 | __be16 loc_port, struct in6_addr *loc_addr, |
360 | __be16 rmt_port, struct in6_addr *rmt_addr, | 374 | __be16 rmt_port, struct in6_addr *rmt_addr, |
361 | int dif) | 375 | int dif) |
@@ -367,7 +381,7 @@ static struct sock *udp_v6_mcast_next(struct sock *sk, | |||
367 | sk_for_each_from(s, node) { | 381 | sk_for_each_from(s, node) { |
368 | struct inet_sock *inet = inet_sk(s); | 382 | struct inet_sock *inet = inet_sk(s); |
369 | 383 | ||
370 | if (sock_net(s) != sock_net(sk)) | 384 | if (!net_eq(sock_net(s), net)) |
371 | continue; | 385 | continue; |
372 | 386 | ||
373 | if (s->sk_hash == num && s->sk_family == PF_INET6) { | 387 | if (s->sk_hash == num && s->sk_family == PF_INET6) { |
@@ -411,14 +425,14 @@ static int __udp6_lib_mcast_deliver(struct net *net, struct sk_buff *skb, | |||
411 | spin_lock(&hslot->lock); | 425 | spin_lock(&hslot->lock); |
412 | sk = sk_head(&hslot->head); | 426 | sk = sk_head(&hslot->head); |
413 | dif = inet6_iif(skb); | 427 | dif = inet6_iif(skb); |
414 | sk = udp_v6_mcast_next(sk, uh->dest, daddr, uh->source, saddr, dif); | 428 | sk = udp_v6_mcast_next(net, sk, uh->dest, daddr, uh->source, saddr, dif); |
415 | if (!sk) { | 429 | if (!sk) { |
416 | kfree_skb(skb); | 430 | kfree_skb(skb); |
417 | goto out; | 431 | goto out; |
418 | } | 432 | } |
419 | 433 | ||
420 | sk2 = sk; | 434 | sk2 = sk; |
421 | while ((sk2 = udp_v6_mcast_next(sk_next(sk2), uh->dest, daddr, | 435 | while ((sk2 = udp_v6_mcast_next(net, sk_next(sk2), uh->dest, daddr, |
422 | uh->source, saddr, dif))) { | 436 | uh->source, saddr, dif))) { |
423 | struct sk_buff *buff = skb_clone(skb, GFP_ATOMIC); | 437 | struct sk_buff *buff = skb_clone(skb, GFP_ATOMIC); |
424 | if (buff) { | 438 | if (buff) { |
diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c index 89884a4f23aa..60c78cfc2737 100644 --- a/net/ipv6/xfrm6_state.c +++ b/net/ipv6/xfrm6_state.c | |||
@@ -34,6 +34,7 @@ __xfrm6_init_tempsel(struct xfrm_state *x, struct flowi *fl, | |||
34 | x->sel.dport_mask = htons(0xffff); | 34 | x->sel.dport_mask = htons(0xffff); |
35 | x->sel.sport = xfrm_flowi_sport(fl); | 35 | x->sel.sport = xfrm_flowi_sport(fl); |
36 | x->sel.sport_mask = htons(0xffff); | 36 | x->sel.sport_mask = htons(0xffff); |
37 | x->sel.family = AF_INET6; | ||
37 | x->sel.prefixlen_d = 128; | 38 | x->sel.prefixlen_d = 128; |
38 | x->sel.prefixlen_s = 128; | 39 | x->sel.prefixlen_s = 128; |
39 | x->sel.proto = fl->proto; | 40 | x->sel.proto = fl->proto; |
diff --git a/net/key/af_key.c b/net/key/af_key.c index e55e0441e4d9..3440a4637f01 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -2075,7 +2075,6 @@ static int pfkey_xfrm_policy2msg(struct sk_buff *skb, struct xfrm_policy *xp, in | |||
2075 | req_size += socklen * 2; | 2075 | req_size += socklen * 2; |
2076 | } else { | 2076 | } else { |
2077 | size -= 2*socklen; | 2077 | size -= 2*socklen; |
2078 | socklen = 0; | ||
2079 | } | 2078 | } |
2080 | rq = (void*)skb_put(skb, req_size); | 2079 | rq = (void*)skb_put(skb, req_size); |
2081 | pol->sadb_x_policy_len += req_size/8; | 2080 | pol->sadb_x_policy_len += req_size/8; |
diff --git a/net/netfilter/nf_conntrack_helper.c b/net/netfilter/nf_conntrack_helper.c index 9c06b9f86ad4..c39b6a994133 100644 --- a/net/netfilter/nf_conntrack_helper.c +++ b/net/netfilter/nf_conntrack_helper.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/netdevice.h> | 22 | #include <linux/netdevice.h> |
23 | #include <linux/rculist.h> | 23 | #include <linux/rculist.h> |
24 | #include <linux/rtnetlink.h> | ||
24 | 25 | ||
25 | #include <net/netfilter/nf_conntrack.h> | 26 | #include <net/netfilter/nf_conntrack.h> |
26 | #include <net/netfilter/nf_conntrack_l3proto.h> | 27 | #include <net/netfilter/nf_conntrack_l3proto.h> |
@@ -167,10 +168,12 @@ void nf_conntrack_helper_unregister(struct nf_conntrack_helper *me) | |||
167 | */ | 168 | */ |
168 | synchronize_rcu(); | 169 | synchronize_rcu(); |
169 | 170 | ||
171 | rtnl_lock(); | ||
170 | spin_lock_bh(&nf_conntrack_lock); | 172 | spin_lock_bh(&nf_conntrack_lock); |
171 | for_each_net(net) | 173 | for_each_net(net) |
172 | __nf_conntrack_helper_unregister(me, net); | 174 | __nf_conntrack_helper_unregister(me, net); |
173 | spin_unlock_bh(&nf_conntrack_lock); | 175 | spin_unlock_bh(&nf_conntrack_lock); |
176 | rtnl_unlock(); | ||
174 | } | 177 | } |
175 | EXPORT_SYMBOL_GPL(nf_conntrack_helper_unregister); | 178 | EXPORT_SYMBOL_GPL(nf_conntrack_helper_unregister); |
176 | 179 | ||
diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c index a59a307e685d..592d73344d46 100644 --- a/net/netfilter/nf_conntrack_proto.c +++ b/net/netfilter/nf_conntrack_proto.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/notifier.h> | 22 | #include <linux/notifier.h> |
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/netdevice.h> | 24 | #include <linux/netdevice.h> |
25 | #include <linux/rtnetlink.h> | ||
25 | 26 | ||
26 | #include <net/netfilter/nf_conntrack.h> | 27 | #include <net/netfilter/nf_conntrack.h> |
27 | #include <net/netfilter/nf_conntrack_l3proto.h> | 28 | #include <net/netfilter/nf_conntrack_l3proto.h> |
@@ -221,8 +222,10 @@ void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto) | |||
221 | synchronize_rcu(); | 222 | synchronize_rcu(); |
222 | 223 | ||
223 | /* Remove all contrack entries for this protocol */ | 224 | /* Remove all contrack entries for this protocol */ |
225 | rtnl_lock(); | ||
224 | for_each_net(net) | 226 | for_each_net(net) |
225 | nf_ct_iterate_cleanup(net, kill_l3proto, proto); | 227 | nf_ct_iterate_cleanup(net, kill_l3proto, proto); |
228 | rtnl_unlock(); | ||
226 | } | 229 | } |
227 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); | 230 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); |
228 | 231 | ||
@@ -333,8 +336,10 @@ void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) | |||
333 | synchronize_rcu(); | 336 | synchronize_rcu(); |
334 | 337 | ||
335 | /* Remove all contrack entries for this protocol */ | 338 | /* Remove all contrack entries for this protocol */ |
339 | rtnl_lock(); | ||
336 | for_each_net(net) | 340 | for_each_net(net) |
337 | nf_ct_iterate_cleanup(net, kill_l4proto, l4proto); | 341 | nf_ct_iterate_cleanup(net, kill_l4proto, l4proto); |
342 | rtnl_unlock(); | ||
338 | } | 343 | } |
339 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister); | 344 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister); |
340 | 345 | ||
diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c index c9180c8771c6..69f3a3b4dd61 100644 --- a/net/rfkill/rfkill.c +++ b/net/rfkill/rfkill.c | |||
@@ -666,7 +666,7 @@ static int rfkill_check_duplicity(const struct rfkill *rfkill) | |||
666 | } | 666 | } |
667 | 667 | ||
668 | /* 0: first switch of its kind */ | 668 | /* 0: first switch of its kind */ |
669 | return test_bit(rfkill->type, seen); | 669 | return (test_bit(rfkill->type, seen)) ? 1 : 0; |
670 | } | 670 | } |
671 | 671 | ||
672 | static int rfkill_add_switch(struct rfkill *rfkill) | 672 | static int rfkill_add_switch(struct rfkill *rfkill) |
diff --git a/net/socket.c b/net/socket.c index d23cdba10d7e..d7128b761c8c 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -989,7 +989,6 @@ static int sock_close(struct inode *inode, struct file *filp) | |||
989 | printk(KERN_DEBUG "sock_close: NULL inode\n"); | 989 | printk(KERN_DEBUG "sock_close: NULL inode\n"); |
990 | return 0; | 990 | return 0; |
991 | } | 991 | } |
992 | sock_fasync(-1, filp, 0); | ||
993 | sock_release(SOCKET_I(inode)); | 992 | sock_release(SOCKET_I(inode)); |
994 | return 0; | 993 | return 0; |
995 | } | 994 | } |
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 0b80634b2b72..7d2e4f8f8172 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -2212,7 +2212,7 @@ static int unix_net_init(struct net *net) | |||
2212 | #endif | 2212 | #endif |
2213 | error = 0; | 2213 | error = 0; |
2214 | out: | 2214 | out: |
2215 | return 0; | 2215 | return error; |
2216 | } | 2216 | } |
2217 | 2217 | ||
2218 | static void unix_net_exit(struct net *net) | 2218 | static void unix_net_exit(struct net *net) |
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index fe596c6ef353..c546cf67801a 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -315,9 +315,9 @@ static void xfrm_policy_kill(struct xfrm_policy *policy) | |||
315 | return; | 315 | return; |
316 | } | 316 | } |
317 | 317 | ||
318 | spin_lock(&xfrm_policy_gc_lock); | 318 | spin_lock_bh(&xfrm_policy_gc_lock); |
319 | hlist_add_head(&policy->bydst, &xfrm_policy_gc_list); | 319 | hlist_add_head(&policy->bydst, &xfrm_policy_gc_list); |
320 | spin_unlock(&xfrm_policy_gc_lock); | 320 | spin_unlock_bh(&xfrm_policy_gc_lock); |
321 | 321 | ||
322 | schedule_work(&xfrm_policy_gc_work); | 322 | schedule_work(&xfrm_policy_gc_work); |
323 | } | 323 | } |
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 76cf56d5d834..ee15d5dd6544 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
@@ -1816,7 +1816,7 @@ static int copy_to_user_kmaddress(struct xfrm_kmaddress *k, struct sk_buff *skb) | |||
1816 | uk.family = k->family; | 1816 | uk.family = k->family; |
1817 | uk.reserved = k->reserved; | 1817 | uk.reserved = k->reserved; |
1818 | memcpy(&uk.local, &k->local, sizeof(uk.local)); | 1818 | memcpy(&uk.local, &k->local, sizeof(uk.local)); |
1819 | memcpy(&uk.remote, &k->local, sizeof(uk.remote)); | 1819 | memcpy(&uk.remote, &k->remote, sizeof(uk.remote)); |
1820 | 1820 | ||
1821 | return nla_put(skb, XFRMA_KMADDRESS, sizeof(uk), &uk); | 1821 | return nla_put(skb, XFRMA_KMADDRESS, sizeof(uk), &uk); |
1822 | } | 1822 | } |
diff --git a/security/commoncap.c b/security/commoncap.c index 399bfdb9e2da..3976613db829 100644 --- a/security/commoncap.c +++ b/security/commoncap.c | |||
@@ -279,10 +279,10 @@ static int get_file_caps(struct linux_binprm *bprm) | |||
279 | struct vfs_cap_data vcaps; | 279 | struct vfs_cap_data vcaps; |
280 | struct inode *inode; | 280 | struct inode *inode; |
281 | 281 | ||
282 | if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) { | 282 | bprm_clear_caps(bprm); |
283 | bprm_clear_caps(bprm); | 283 | |
284 | if (bprm->file->f_vfsmnt->mnt_flags & MNT_NOSUID) | ||
284 | return 0; | 285 | return 0; |
285 | } | ||
286 | 286 | ||
287 | dentry = dget(bprm->file->f_dentry); | 287 | dentry = dget(bprm->file->f_dentry); |
288 | inode = dentry->d_inode; | 288 | inode = dentry->d_inode; |
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index aedf02b1345a..f3c4bc12fea3 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -2126,14 +2126,16 @@ static inline void flush_unauthorized_files(struct files_struct *files) | |||
2126 | tty = get_current_tty(); | 2126 | tty = get_current_tty(); |
2127 | if (tty) { | 2127 | if (tty) { |
2128 | file_list_lock(); | 2128 | file_list_lock(); |
2129 | file = list_entry(tty->tty_files.next, typeof(*file), f_u.fu_list); | 2129 | if (!list_empty(&tty->tty_files)) { |
2130 | if (file) { | 2130 | struct inode *inode; |
2131 | |||
2131 | /* Revalidate access to controlling tty. | 2132 | /* Revalidate access to controlling tty. |
2132 | Use inode_has_perm on the tty inode directly rather | 2133 | Use inode_has_perm on the tty inode directly rather |
2133 | than using file_has_perm, as this particular open | 2134 | than using file_has_perm, as this particular open |
2134 | file may belong to another process and we are only | 2135 | file may belong to another process and we are only |
2135 | interested in the inode-based check here. */ | 2136 | interested in the inode-based check here. */ |
2136 | struct inode *inode = file->f_path.dentry->d_inode; | 2137 | file = list_first_entry(&tty->tty_files, struct file, f_u.fu_list); |
2138 | inode = file->f_path.dentry->d_inode; | ||
2137 | if (inode_has_perm(current, inode, | 2139 | if (inode_has_perm(current, inode, |
2138 | FILE__READ | FILE__WRITE, NULL)) { | 2140 | FILE__READ | FILE__WRITE, NULL)) { |
2139 | drop_tty = 1; | 2141 | drop_tty = 1; |
diff --git a/sound/aoa/soundbus/core.c b/sound/aoa/soundbus/core.c index f84f3e505788..fa8ab2815a98 100644 --- a/sound/aoa/soundbus/core.c +++ b/sound/aoa/soundbus/core.c | |||
@@ -176,7 +176,7 @@ int soundbus_add_one(struct soundbus_dev *dev) | |||
176 | return -EINVAL; | 176 | return -EINVAL; |
177 | } | 177 | } |
178 | 178 | ||
179 | snprintf(dev->ofdev.dev.bus_id, BUS_ID_SIZE, "soundbus:%x", ++devcount); | 179 | dev_set_name(&dev->ofdev.dev, "soundbus:%x", ++devcount); |
180 | dev->ofdev.dev.bus = &soundbus_bus_type; | 180 | dev->ofdev.dev.bus = &soundbus_bus_type; |
181 | return of_device_register(&dev->ofdev); | 181 | return of_device_register(&dev->ofdev); |
182 | } | 182 | } |
diff --git a/sound/core/control.c b/sound/core/control.c index b0bf42691047..636b3b52ef8b 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
@@ -113,7 +113,6 @@ static int snd_ctl_release(struct inode *inode, struct file *file) | |||
113 | unsigned int idx; | 113 | unsigned int idx; |
114 | 114 | ||
115 | ctl = file->private_data; | 115 | ctl = file->private_data; |
116 | fasync_helper(-1, file, 0, &ctl->fasync); | ||
117 | file->private_data = NULL; | 116 | file->private_data = NULL; |
118 | card = ctl->card; | 117 | card = ctl->card; |
119 | write_lock_irqsave(&card->ctl_files_rwlock, flags); | 118 | write_lock_irqsave(&card->ctl_files_rwlock, flags); |
diff --git a/sound/core/init.c b/sound/core/init.c index ef2352c2e451..b47ff8b44be8 100644 --- a/sound/core/init.c +++ b/sound/core/init.c | |||
@@ -264,8 +264,11 @@ static int snd_disconnect_release(struct inode *inode, struct file *file) | |||
264 | } | 264 | } |
265 | spin_unlock(&shutdown_lock); | 265 | spin_unlock(&shutdown_lock); |
266 | 266 | ||
267 | if (likely(df)) | 267 | if (likely(df)) { |
268 | if ((file->f_flags & FASYNC) && df->disconnected_f_op->fasync) | ||
269 | df->disconnected_f_op->fasync(-1, file, 0); | ||
268 | return df->disconnected_f_op->release(inode, file); | 270 | return df->disconnected_f_op->release(inode, file); |
271 | } | ||
269 | 272 | ||
270 | panic("%s(%p, %p) failed!", __func__, inode, file); | 273 | panic("%s(%p, %p) failed!", __func__, inode, file); |
271 | } | 274 | } |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index aef18682c035..a789efc9df39 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -2169,7 +2169,6 @@ static int snd_pcm_release(struct inode *inode, struct file *file) | |||
2169 | if (snd_BUG_ON(!substream)) | 2169 | if (snd_BUG_ON(!substream)) |
2170 | return -ENXIO; | 2170 | return -ENXIO; |
2171 | pcm = substream->pcm; | 2171 | pcm = substream->pcm; |
2172 | fasync_helper(-1, file, 0, &substream->runtime->fasync); | ||
2173 | mutex_lock(&pcm->open_mutex); | 2172 | mutex_lock(&pcm->open_mutex); |
2174 | snd_pcm_release_substream(substream); | 2173 | snd_pcm_release_substream(substream); |
2175 | kfree(pcm_file); | 2174 | kfree(pcm_file); |
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index c4995c9f5730..39672f68ce5d 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c | |||
@@ -148,6 +148,8 @@ static int snd_rawmidi_runtime_free(struct snd_rawmidi_substream *substream) | |||
148 | 148 | ||
149 | static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up) | 149 | static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up) |
150 | { | 150 | { |
151 | if (!substream->opened) | ||
152 | return; | ||
151 | if (up) { | 153 | if (up) { |
152 | tasklet_hi_schedule(&substream->runtime->tasklet); | 154 | tasklet_hi_schedule(&substream->runtime->tasklet); |
153 | } else { | 155 | } else { |
@@ -158,6 +160,8 @@ static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *subs | |||
158 | 160 | ||
159 | static void snd_rawmidi_input_trigger(struct snd_rawmidi_substream *substream, int up) | 161 | static void snd_rawmidi_input_trigger(struct snd_rawmidi_substream *substream, int up) |
160 | { | 162 | { |
163 | if (!substream->opened) | ||
164 | return; | ||
161 | substream->ops->trigger(substream, up); | 165 | substream->ops->trigger(substream, up); |
162 | if (!up && substream->runtime->event) | 166 | if (!up && substream->runtime->event) |
163 | tasklet_kill(&substream->runtime->tasklet); | 167 | tasklet_kill(&substream->runtime->tasklet); |
@@ -857,6 +861,8 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream, | |||
857 | int result = 0, count1; | 861 | int result = 0, count1; |
858 | struct snd_rawmidi_runtime *runtime = substream->runtime; | 862 | struct snd_rawmidi_runtime *runtime = substream->runtime; |
859 | 863 | ||
864 | if (!substream->opened) | ||
865 | return -EBADFD; | ||
860 | if (runtime->buffer == NULL) { | 866 | if (runtime->buffer == NULL) { |
861 | snd_printd("snd_rawmidi_receive: input is not active!!!\n"); | 867 | snd_printd("snd_rawmidi_receive: input is not active!!!\n"); |
862 | return -EINVAL; | 868 | return -EINVAL; |
@@ -1126,6 +1132,8 @@ int snd_rawmidi_transmit_ack(struct snd_rawmidi_substream *substream, int count) | |||
1126 | int snd_rawmidi_transmit(struct snd_rawmidi_substream *substream, | 1132 | int snd_rawmidi_transmit(struct snd_rawmidi_substream *substream, |
1127 | unsigned char *buffer, int count) | 1133 | unsigned char *buffer, int count) |
1128 | { | 1134 | { |
1135 | if (!substream->opened) | ||
1136 | return -EBADFD; | ||
1129 | count = snd_rawmidi_transmit_peek(substream, buffer, count); | 1137 | count = snd_rawmidi_transmit_peek(substream, buffer, count); |
1130 | if (count < 0) | 1138 | if (count < 0) |
1131 | return count; | 1139 | return count; |
diff --git a/sound/core/timer.c b/sound/core/timer.c index e582face89d2..c584408c9f17 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c | |||
@@ -1263,7 +1263,6 @@ static int snd_timer_user_release(struct inode *inode, struct file *file) | |||
1263 | if (file->private_data) { | 1263 | if (file->private_data) { |
1264 | tu = file->private_data; | 1264 | tu = file->private_data; |
1265 | file->private_data = NULL; | 1265 | file->private_data = NULL; |
1266 | fasync_helper(-1, file, 0, &tu->fasync); | ||
1267 | if (tu->timeri) | 1266 | if (tu->timeri) |
1268 | snd_timer_close(tu->timeri); | 1267 | snd_timer_close(tu->timeri); |
1269 | kfree(tu->queue); | 1268 | kfree(tu->queue); |
diff --git a/sound/drivers/ml403-ac97cr.c b/sound/drivers/ml403-ac97cr.c index ecdbeb6d3603..7783843ca9ae 100644 --- a/sound/drivers/ml403-ac97cr.c +++ b/sound/drivers/ml403-ac97cr.c | |||
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev, | |||
1153 | /* get irq */ | 1153 | /* get irq */ |
1154 | irq = platform_get_irq(pfdev, 0); | 1154 | irq = platform_get_irq(pfdev, 0); |
1155 | if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, | 1155 | if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, |
1156 | pfdev->dev.bus_id, (void *)ml403_ac97cr)) { | 1156 | dev_name(&pfdev->dev), (void *)ml403_ac97cr)) { |
1157 | snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " | 1157 | snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " |
1158 | "unable to grab IRQ %d\n", | 1158 | "unable to grab IRQ %d\n", |
1159 | irq); | 1159 | irq); |
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev, | |||
1166 | ml403_ac97cr->irq); | 1166 | ml403_ac97cr->irq); |
1167 | irq = platform_get_irq(pfdev, 1); | 1167 | irq = platform_get_irq(pfdev, 1); |
1168 | if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, | 1168 | if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, |
1169 | pfdev->dev.bus_id, (void *)ml403_ac97cr)) { | 1169 | dev_name(&pfdev->dev), (void *)ml403_ac97cr)) { |
1170 | snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " | 1170 | snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " |
1171 | "unable to grab IRQ %d\n", | 1171 | "unable to grab IRQ %d\n", |
1172 | irq); | 1172 | irq); |
diff --git a/sound/drivers/pcsp/pcsp_input.c b/sound/drivers/pcsp/pcsp_input.c index cd9b83e7f7d1..0444cdeb4bec 100644 --- a/sound/drivers/pcsp/pcsp_input.c +++ b/sound/drivers/pcsp/pcsp_input.c | |||
@@ -24,13 +24,13 @@ static void pcspkr_do_sound(unsigned int count) | |||
24 | spin_lock_irqsave(&i8253_lock, flags); | 24 | spin_lock_irqsave(&i8253_lock, flags); |
25 | 25 | ||
26 | if (count) { | 26 | if (count) { |
27 | /* enable counter 2 */ | ||
28 | outb_p(inb_p(0x61) | 3, 0x61); | ||
29 | /* set command for counter 2, 2 byte write */ | 27 | /* set command for counter 2, 2 byte write */ |
30 | outb_p(0xB6, 0x43); | 28 | outb_p(0xB6, 0x43); |
31 | /* select desired HZ */ | 29 | /* select desired HZ */ |
32 | outb_p(count & 0xff, 0x42); | 30 | outb_p(count & 0xff, 0x42); |
33 | outb((count >> 8) & 0xff, 0x42); | 31 | outb((count >> 8) & 0xff, 0x42); |
32 | /* enable counter 2 */ | ||
33 | outb_p(inb_p(0x61) | 3, 0x61); | ||
34 | } else { | 34 | } else { |
35 | /* disable counter 2 */ | 35 | /* disable counter 2 */ |
36 | outb(inb_p(0x61) & 0xFC, 0x61); | 36 | outb(inb_p(0x61) & 0xFC, 0x61); |
diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c index b68d20edc20f..223a6c038819 100644 --- a/sound/isa/ad1848/ad1848.c +++ b/sound/isa/ad1848/ad1848.c | |||
@@ -70,15 +70,15 @@ static int __devinit snd_ad1848_match(struct device *dev, unsigned int n) | |||
70 | return 0; | 70 | return 0; |
71 | 71 | ||
72 | if (port[n] == SNDRV_AUTO_PORT) { | 72 | if (port[n] == SNDRV_AUTO_PORT) { |
73 | snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); | 73 | dev_err(dev, "please specify port\n"); |
74 | return 0; | 74 | return 0; |
75 | } | 75 | } |
76 | if (irq[n] == SNDRV_AUTO_IRQ) { | 76 | if (irq[n] == SNDRV_AUTO_IRQ) { |
77 | snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); | 77 | dev_err(dev, "please specify irq\n"); |
78 | return 0; | 78 | return 0; |
79 | } | 79 | } |
80 | if (dma1[n] == SNDRV_AUTO_DMA) { | 80 | if (dma1[n] == SNDRV_AUTO_DMA) { |
81 | snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); | 81 | dev_err(dev, "please specify dma1\n"); |
82 | return 0; | 82 | return 0; |
83 | } | 83 | } |
84 | return 1; | 84 | return 1; |
diff --git a/sound/isa/adlib.c b/sound/isa/adlib.c index efa8c80d05b6..374b7177e111 100644 --- a/sound/isa/adlib.c +++ b/sound/isa/adlib.c | |||
@@ -36,7 +36,7 @@ static int __devinit snd_adlib_match(struct device *dev, unsigned int n) | |||
36 | return 0; | 36 | return 0; |
37 | 37 | ||
38 | if (port[n] == SNDRV_AUTO_PORT) { | 38 | if (port[n] == SNDRV_AUTO_PORT) { |
39 | snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); | 39 | dev_err(dev, "please specify port\n"); |
40 | return 0; | 40 | return 0; |
41 | } | 41 | } |
42 | return 1; | 42 | return 1; |
@@ -55,13 +55,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n) | |||
55 | 55 | ||
56 | card = snd_card_new(index[n], id[n], THIS_MODULE, 0); | 56 | card = snd_card_new(index[n], id[n], THIS_MODULE, 0); |
57 | if (!card) { | 57 | if (!card) { |
58 | snd_printk(KERN_ERR "%s: could not create card\n", dev->bus_id); | 58 | dev_err(dev, "could not create card\n"); |
59 | return -EINVAL; | 59 | return -EINVAL; |
60 | } | 60 | } |
61 | 61 | ||
62 | card->private_data = request_region(port[n], 4, CRD_NAME); | 62 | card->private_data = request_region(port[n], 4, CRD_NAME); |
63 | if (!card->private_data) { | 63 | if (!card->private_data) { |
64 | snd_printk(KERN_ERR "%s: could not grab ports\n", dev->bus_id); | 64 | dev_err(dev, "could not grab ports\n"); |
65 | error = -EBUSY; | 65 | error = -EBUSY; |
66 | goto out; | 66 | goto out; |
67 | } | 67 | } |
@@ -73,13 +73,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n) | |||
73 | 73 | ||
74 | error = snd_opl3_create(card, port[n], port[n] + 2, OPL3_HW_AUTO, 1, &opl3); | 74 | error = snd_opl3_create(card, port[n], port[n] + 2, OPL3_HW_AUTO, 1, &opl3); |
75 | if (error < 0) { | 75 | if (error < 0) { |
76 | snd_printk(KERN_ERR "%s: could not create OPL\n", dev->bus_id); | 76 | dev_err(dev, "could not create OPL\n"); |
77 | goto out; | 77 | goto out; |
78 | } | 78 | } |
79 | 79 | ||
80 | error = snd_opl3_hwdep_new(opl3, 0, 0, NULL); | 80 | error = snd_opl3_hwdep_new(opl3, 0, 0, NULL); |
81 | if (error < 0) { | 81 | if (error < 0) { |
82 | snd_printk(KERN_ERR "%s: could not create FM\n", dev->bus_id); | 82 | dev_err(dev, "could not create FM\n"); |
83 | goto out; | 83 | goto out; |
84 | } | 84 | } |
85 | 85 | ||
@@ -87,7 +87,7 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n) | |||
87 | 87 | ||
88 | error = snd_card_register(card); | 88 | error = snd_card_register(card); |
89 | if (error < 0) { | 89 | if (error < 0) { |
90 | snd_printk(KERN_ERR "%s: could not register card\n", dev->bus_id); | 90 | dev_err(dev, "could not register card\n"); |
91 | goto out; | 91 | goto out; |
92 | } | 92 | } |
93 | 93 | ||
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c index ddd289120aa8..f019d449e2d6 100644 --- a/sound/isa/cs423x/cs4231.c +++ b/sound/isa/cs423x/cs4231.c | |||
@@ -74,15 +74,15 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n) | |||
74 | return 0; | 74 | return 0; |
75 | 75 | ||
76 | if (port[n] == SNDRV_AUTO_PORT) { | 76 | if (port[n] == SNDRV_AUTO_PORT) { |
77 | snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); | 77 | dev_err(dev, "please specify port\n"); |
78 | return 0; | 78 | return 0; |
79 | } | 79 | } |
80 | if (irq[n] == SNDRV_AUTO_IRQ) { | 80 | if (irq[n] == SNDRV_AUTO_IRQ) { |
81 | snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); | 81 | dev_err(dev, "please specify irq\n"); |
82 | return 0; | 82 | return 0; |
83 | } | 83 | } |
84 | if (dma1[n] == SNDRV_AUTO_DMA) { | 84 | if (dma1[n] == SNDRV_AUTO_DMA) { |
85 | snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); | 85 | dev_err(dev, "please specify dma1\n"); |
86 | return 0; | 86 | return 0; |
87 | } | 87 | } |
88 | return 1; | 88 | return 1; |
@@ -133,7 +133,7 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n) | |||
133 | mpu_port[n], 0, mpu_irq[n], | 133 | mpu_port[n], 0, mpu_irq[n], |
134 | mpu_irq[n] >= 0 ? IRQF_DISABLED : 0, | 134 | mpu_irq[n] >= 0 ? IRQF_DISABLED : 0, |
135 | NULL) < 0) | 135 | NULL) < 0) |
136 | printk(KERN_WARNING "%s: MPU401 not detected\n", dev->bus_id); | 136 | dev_warn(dev, "MPU401 not detected\n"); |
137 | } | 137 | } |
138 | 138 | ||
139 | snd_card_set_dev(card, dev); | 139 | snd_card_set_dev(card, dev); |
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index 91f9c15d3e30..019c9401663e 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c | |||
@@ -488,19 +488,19 @@ static int __devinit snd_cs423x_isa_match(struct device *pdev, | |||
488 | return 0; | 488 | return 0; |
489 | 489 | ||
490 | if (port[dev] == SNDRV_AUTO_PORT) { | 490 | if (port[dev] == SNDRV_AUTO_PORT) { |
491 | snd_printk(KERN_ERR "%s: please specify port\n", pdev->bus_id); | 491 | dev_err(pdev, "please specify port\n"); |
492 | return 0; | 492 | return 0; |
493 | } | 493 | } |
494 | if (cport[dev] == SNDRV_AUTO_PORT) { | 494 | if (cport[dev] == SNDRV_AUTO_PORT) { |
495 | snd_printk(KERN_ERR "%s: please specify cport\n", pdev->bus_id); | 495 | dev_err(pdev, "please specify cport\n"); |
496 | return 0; | 496 | return 0; |
497 | } | 497 | } |
498 | if (irq[dev] == SNDRV_AUTO_IRQ) { | 498 | if (irq[dev] == SNDRV_AUTO_IRQ) { |
499 | snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); | 499 | dev_err(pdev, "please specify irq\n"); |
500 | return 0; | 500 | return 0; |
501 | } | 501 | } |
502 | if (dma1[dev] == SNDRV_AUTO_DMA) { | 502 | if (dma1[dev] == SNDRV_AUTO_DMA) { |
503 | snd_printk(KERN_ERR "%s: please specify dma1\n", pdev->bus_id); | 503 | dev_err(pdev, "please specify dma1\n"); |
504 | return 0; | 504 | return 0; |
505 | } | 505 | } |
506 | return 1; | 506 | return 1; |
diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c index f88639ea64b2..b46377139cf8 100644 --- a/sound/isa/es1688/es1688.c +++ b/sound/isa/es1688/es1688.c | |||
@@ -88,16 +88,14 @@ static int __devinit snd_es1688_legacy_create(struct snd_card *card, | |||
88 | if (irq[n] == SNDRV_AUTO_IRQ) { | 88 | if (irq[n] == SNDRV_AUTO_IRQ) { |
89 | irq[n] = snd_legacy_find_free_irq(possible_irqs); | 89 | irq[n] = snd_legacy_find_free_irq(possible_irqs); |
90 | if (irq[n] < 0) { | 90 | if (irq[n] < 0) { |
91 | snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", | 91 | dev_err(dev, "unable to find a free IRQ\n"); |
92 | dev->bus_id); | ||
93 | return -EBUSY; | 92 | return -EBUSY; |
94 | } | 93 | } |
95 | } | 94 | } |
96 | if (dma8[n] == SNDRV_AUTO_DMA) { | 95 | if (dma8[n] == SNDRV_AUTO_DMA) { |
97 | dma8[n] = snd_legacy_find_free_dma(possible_dmas); | 96 | dma8[n] = snd_legacy_find_free_dma(possible_dmas); |
98 | if (dma8[n] < 0) { | 97 | if (dma8[n] < 0) { |
99 | snd_printk(KERN_ERR "%s: unable to find a free DMA\n", | 98 | dev_err(dev, "unable to find a free DMA\n"); |
100 | dev->bus_id); | ||
101 | return -EBUSY; | 99 | return -EBUSY; |
102 | } | 100 | } |
103 | } | 101 | } |
@@ -147,8 +145,7 @@ static int __devinit snd_es1688_probe(struct device *dev, unsigned int n) | |||
147 | 145 | ||
148 | if (snd_opl3_create(card, chip->port, chip->port + 2, | 146 | if (snd_opl3_create(card, chip->port, chip->port + 2, |
149 | OPL3_HW_OPL3, 0, &opl3) < 0) | 147 | OPL3_HW_OPL3, 0, &opl3) < 0) |
150 | printk(KERN_WARNING "%s: opl3 not detected at 0x%lx\n", | 148 | dev_warn(dev, "opl3 not detected at 0x%lx\n", chip->port); |
151 | dev->bus_id, chip->port); | ||
152 | else { | 149 | else { |
153 | error = snd_opl3_hwdep_new(opl3, 0, 1, NULL); | 150 | error = snd_opl3_hwdep_new(opl3, 0, 1, NULL); |
154 | if (error < 0) | 151 | if (error < 0) |
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c index 8f914b37bf89..426532a4d730 100644 --- a/sound/isa/gus/gusclassic.c +++ b/sound/isa/gus/gusclassic.c | |||
@@ -90,24 +90,21 @@ static int __devinit snd_gusclassic_create(struct snd_card *card, | |||
90 | if (irq[n] == SNDRV_AUTO_IRQ) { | 90 | if (irq[n] == SNDRV_AUTO_IRQ) { |
91 | irq[n] = snd_legacy_find_free_irq(possible_irqs); | 91 | irq[n] = snd_legacy_find_free_irq(possible_irqs); |
92 | if (irq[n] < 0) { | 92 | if (irq[n] < 0) { |
93 | snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", | 93 | dev_err(dev, "unable to find a free IRQ\n"); |
94 | dev->bus_id); | ||
95 | return -EBUSY; | 94 | return -EBUSY; |
96 | } | 95 | } |
97 | } | 96 | } |
98 | if (dma1[n] == SNDRV_AUTO_DMA) { | 97 | if (dma1[n] == SNDRV_AUTO_DMA) { |
99 | dma1[n] = snd_legacy_find_free_dma(possible_dmas); | 98 | dma1[n] = snd_legacy_find_free_dma(possible_dmas); |
100 | if (dma1[n] < 0) { | 99 | if (dma1[n] < 0) { |
101 | snd_printk(KERN_ERR "%s: unable to find a free DMA1\n", | 100 | dev_err(dev, "unable to find a free DMA1\n"); |
102 | dev->bus_id); | ||
103 | return -EBUSY; | 101 | return -EBUSY; |
104 | } | 102 | } |
105 | } | 103 | } |
106 | if (dma2[n] == SNDRV_AUTO_DMA) { | 104 | if (dma2[n] == SNDRV_AUTO_DMA) { |
107 | dma2[n] = snd_legacy_find_free_dma(possible_dmas); | 105 | dma2[n] = snd_legacy_find_free_dma(possible_dmas); |
108 | if (dma2[n] < 0) { | 106 | if (dma2[n] < 0) { |
109 | snd_printk(KERN_ERR "%s: unable to find a free DMA2\n", | 107 | dev_err(dev, "unable to find a free DMA2\n"); |
110 | dev->bus_id); | ||
111 | return -EBUSY; | 108 | return -EBUSY; |
112 | } | 109 | } |
113 | } | 110 | } |
@@ -174,8 +171,8 @@ static int __devinit snd_gusclassic_probe(struct device *dev, unsigned int n) | |||
174 | 171 | ||
175 | error = -ENODEV; | 172 | error = -ENODEV; |
176 | if (gus->max_flag || gus->ess_flag) { | 173 | if (gus->max_flag || gus->ess_flag) { |
177 | snd_printk(KERN_ERR "%s: GUS Classic or ACE soundcard was " | 174 | dev_err(dev, "GUS Classic or ACE soundcard was " |
178 | "not detected at 0x%lx\n", dev->bus_id, gus->gf1.port); | 175 | "not detected at 0x%lx\n", gus->gf1.port); |
179 | goto out; | 176 | goto out; |
180 | } | 177 | } |
181 | 178 | ||
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c index da13185eb0a0..7ad4c3b41a84 100644 --- a/sound/isa/gus/gusextreme.c +++ b/sound/isa/gus/gusextreme.c | |||
@@ -106,16 +106,14 @@ static int __devinit snd_gusextreme_es1688_create(struct snd_card *card, | |||
106 | if (irq[n] == SNDRV_AUTO_IRQ) { | 106 | if (irq[n] == SNDRV_AUTO_IRQ) { |
107 | irq[n] = snd_legacy_find_free_irq(possible_irqs); | 107 | irq[n] = snd_legacy_find_free_irq(possible_irqs); |
108 | if (irq[n] < 0) { | 108 | if (irq[n] < 0) { |
109 | snd_printk(KERN_ERR "%s: unable to find a free IRQ " | 109 | dev_err(dev, "unable to find a free IRQ for ES1688\n"); |
110 | "for ES1688\n", dev->bus_id); | ||
111 | return -EBUSY; | 110 | return -EBUSY; |
112 | } | 111 | } |
113 | } | 112 | } |
114 | if (dma8[n] == SNDRV_AUTO_DMA) { | 113 | if (dma8[n] == SNDRV_AUTO_DMA) { |
115 | dma8[n] = snd_legacy_find_free_dma(possible_dmas); | 114 | dma8[n] = snd_legacy_find_free_dma(possible_dmas); |
116 | if (dma8[n] < 0) { | 115 | if (dma8[n] < 0) { |
117 | snd_printk(KERN_ERR "%s: unable to find a free DMA " | 116 | dev_err(dev, "unable to find a free DMA for ES1688\n"); |
118 | "for ES1688\n", dev->bus_id); | ||
119 | return -EBUSY; | 117 | return -EBUSY; |
120 | } | 118 | } |
121 | } | 119 | } |
@@ -143,16 +141,14 @@ static int __devinit snd_gusextreme_gus_card_create(struct snd_card *card, | |||
143 | if (gf1_irq[n] == SNDRV_AUTO_IRQ) { | 141 | if (gf1_irq[n] == SNDRV_AUTO_IRQ) { |
144 | gf1_irq[n] = snd_legacy_find_free_irq(possible_irqs); | 142 | gf1_irq[n] = snd_legacy_find_free_irq(possible_irqs); |
145 | if (gf1_irq[n] < 0) { | 143 | if (gf1_irq[n] < 0) { |
146 | snd_printk(KERN_ERR "%s: unable to find a free IRQ " | 144 | dev_err(dev, "unable to find a free IRQ for GF1\n"); |
147 | "for GF1\n", dev->bus_id); | ||
148 | return -EBUSY; | 145 | return -EBUSY; |
149 | } | 146 | } |
150 | } | 147 | } |
151 | if (dma1[n] == SNDRV_AUTO_DMA) { | 148 | if (dma1[n] == SNDRV_AUTO_DMA) { |
152 | dma1[n] = snd_legacy_find_free_dma(possible_dmas); | 149 | dma1[n] = snd_legacy_find_free_dma(possible_dmas); |
153 | if (dma1[n] < 0) { | 150 | if (dma1[n] < 0) { |
154 | snd_printk(KERN_ERR "%s: unable to find a free DMA " | 151 | dev_err(dev, "unable to find a free DMA for GF1\n"); |
155 | "for GF1\n", dev->bus_id); | ||
156 | return -EBUSY; | 152 | return -EBUSY; |
157 | } | 153 | } |
158 | } | 154 | } |
@@ -278,8 +274,8 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n) | |||
278 | 274 | ||
279 | error = -ENODEV; | 275 | error = -ENODEV; |
280 | if (!gus->ess_flag) { | 276 | if (!gus->ess_flag) { |
281 | snd_printk(KERN_ERR "%s: GUS Extreme soundcard was not " | 277 | dev_err(dev, "GUS Extreme soundcard was not " |
282 | "detected at 0x%lx\n", dev->bus_id, gus->gf1.port); | 278 | "detected at 0x%lx\n", gus->gf1.port); |
283 | goto out; | 279 | goto out; |
284 | } | 280 | } |
285 | gus->codec_flag = 1; | 281 | gus->codec_flag = 1; |
@@ -310,8 +306,7 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n) | |||
310 | 306 | ||
311 | if (snd_opl3_create(card, es1688->port, es1688->port + 2, | 307 | if (snd_opl3_create(card, es1688->port, es1688->port + 2, |
312 | OPL3_HW_OPL3, 0, &opl3) < 0) | 308 | OPL3_HW_OPL3, 0, &opl3) < 0) |
313 | printk(KERN_ERR "%s: opl3 not detected at 0x%lx\n", | 309 | dev_warn(dev, "opl3 not detected at 0x%lx\n", es1688->port); |
314 | dev->bus_id, es1688->port); | ||
315 | else { | 310 | else { |
316 | error = snd_opl3_hwdep_new(opl3, 0, 2, NULL); | 311 | error = snd_opl3_hwdep_new(opl3, 0, 2, NULL); |
317 | if (error < 0) | 312 | if (error < 0) |
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c index 336a34277907..667eccc676a4 100644 --- a/sound/isa/sb/sb8.c +++ b/sound/isa/sb/sb8.c | |||
@@ -85,11 +85,11 @@ static int __devinit snd_sb8_match(struct device *pdev, unsigned int dev) | |||
85 | if (!enable[dev]) | 85 | if (!enable[dev]) |
86 | return 0; | 86 | return 0; |
87 | if (irq[dev] == SNDRV_AUTO_IRQ) { | 87 | if (irq[dev] == SNDRV_AUTO_IRQ) { |
88 | snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); | 88 | dev_err(pdev, "please specify irq\n"); |
89 | return 0; | 89 | return 0; |
90 | } | 90 | } |
91 | if (dma8[dev] == SNDRV_AUTO_DMA) { | 91 | if (dma8[dev] == SNDRV_AUTO_DMA) { |
92 | snd_printk(KERN_ERR "%s: please specify dma8\n", pdev->bus_id); | 92 | dev_err(pdev, "please specify dma8\n"); |
93 | return 0; | 93 | return 0; |
94 | } | 94 | } |
95 | return 1; | 95 | return 1; |
diff --git a/sound/oss/dmasound/dmasound.h b/sound/oss/dmasound/dmasound.h index 1cb13fe56ec4..1308d8d34186 100644 --- a/sound/oss/dmasound/dmasound.h +++ b/sound/oss/dmasound/dmasound.h | |||
@@ -235,7 +235,7 @@ struct sound_queue { | |||
235 | */ | 235 | */ |
236 | int active; | 236 | int active; |
237 | wait_queue_head_t action_queue, open_queue, sync_queue; | 237 | wait_queue_head_t action_queue, open_queue, sync_queue; |
238 | fmode_t open_mode; | 238 | int non_blocking; |
239 | int busy, syncing, xruns, died; | 239 | int busy, syncing, xruns, died; |
240 | }; | 240 | }; |
241 | 241 | ||
diff --git a/sound/oss/dmasound/dmasound_core.c b/sound/oss/dmasound/dmasound_core.c index b8239f3168fb..793b7f478433 100644 --- a/sound/oss/dmasound/dmasound_core.c +++ b/sound/oss/dmasound/dmasound_core.c | |||
@@ -603,7 +603,7 @@ static ssize_t sq_write(struct file *file, const char __user *src, size_t uLeft, | |||
603 | while (uLeft) { | 603 | while (uLeft) { |
604 | while (write_sq.count >= write_sq.max_active) { | 604 | while (write_sq.count >= write_sq.max_active) { |
605 | sq_play(); | 605 | sq_play(); |
606 | if (write_sq.open_mode & O_NONBLOCK) | 606 | if (write_sq.non_blocking) |
607 | return uWritten > 0 ? uWritten : -EAGAIN; | 607 | return uWritten > 0 ? uWritten : -EAGAIN; |
608 | SLEEP(write_sq.action_queue); | 608 | SLEEP(write_sq.action_queue); |
609 | if (signal_pending(current)) | 609 | if (signal_pending(current)) |
@@ -718,7 +718,7 @@ static int sq_open2(struct sound_queue *sq, struct file *file, fmode_t mode, | |||
718 | return rc; | 718 | return rc; |
719 | } | 719 | } |
720 | 720 | ||
721 | sq->open_mode = file->f_mode; | 721 | sq->non_blocking = file->f_flags & O_NONBLOCK; |
722 | } | 722 | } |
723 | return rc; | 723 | return rc; |
724 | } | 724 | } |
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index 2f283ea6ad9a..de5ee8f097f6 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -1464,6 +1464,7 @@ static struct snd_emu_chip_details emu_chip_details[] = { | |||
1464 | .ca0151_chip = 1, | 1464 | .ca0151_chip = 1, |
1465 | .spk71 = 1, | 1465 | .spk71 = 1, |
1466 | .spdif_bug = 1, | 1466 | .spdif_bug = 1, |
1467 | .invert_shared_spdif = 1, /* digital/analog switch swapped */ | ||
1467 | .ac97_chip = 1} , | 1468 | .ac97_chip = 1} , |
1468 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, | 1469 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, |
1469 | .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", | 1470 | .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", |
@@ -1473,6 +1474,7 @@ static struct snd_emu_chip_details emu_chip_details[] = { | |||
1473 | .ca0151_chip = 1, | 1474 | .ca0151_chip = 1, |
1474 | .spk71 = 1, | 1475 | .spk71 = 1, |
1475 | .spdif_bug = 1, | 1476 | .spdif_bug = 1, |
1477 | .invert_shared_spdif = 1, /* digital/analog switch swapped */ | ||
1476 | .ac97_chip = 1} , | 1478 | .ac97_chip = 1} , |
1477 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, | 1479 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, |
1478 | .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", | 1480 | .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", |
@@ -1482,6 +1484,7 @@ static struct snd_emu_chip_details emu_chip_details[] = { | |||
1482 | .ca0151_chip = 1, | 1484 | .ca0151_chip = 1, |
1483 | .spk71 = 1, | 1485 | .spk71 = 1, |
1484 | .spdif_bug = 1, | 1486 | .spdif_bug = 1, |
1487 | .invert_shared_spdif = 1, /* digital/analog switch swapped */ | ||
1485 | .ac97_chip = 1} , | 1488 | .ac97_chip = 1} , |
1486 | /* Audigy 2 */ | 1489 | /* Audigy 2 */ |
1487 | /* Tested by James@superbug.co.uk 3rd July 2005 */ | 1490 | /* Tested by James@superbug.co.uk 3rd July 2005 */ |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 4eceab9bd109..a4666c96a44f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -829,6 +829,7 @@ static void alc_sku_automute(struct hda_codec *codec) | |||
829 | spec->jack_present ? 0 : PIN_OUT); | 829 | spec->jack_present ? 0 : PIN_OUT); |
830 | } | 830 | } |
831 | 831 | ||
832 | #if 0 /* it's broken in some acses -- temporarily disabled */ | ||
832 | static void alc_mic_automute(struct hda_codec *codec) | 833 | static void alc_mic_automute(struct hda_codec *codec) |
833 | { | 834 | { |
834 | struct alc_spec *spec = codec->spec; | 835 | struct alc_spec *spec = codec->spec; |
@@ -849,6 +850,9 @@ static void alc_mic_automute(struct hda_codec *codec) | |||
849 | snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic, | 850 | snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic, |
850 | HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); | 851 | HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); |
851 | } | 852 | } |
853 | #else | ||
854 | #define alc_mic_automute(codec) /* NOP */ | ||
855 | #endif /* disabled */ | ||
852 | 856 | ||
853 | /* unsolicited event for HP jack sensing */ | 857 | /* unsolicited event for HP jack sensing */ |
854 | static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res) | 858 | static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res) |
@@ -1058,12 +1062,14 @@ do_sku: | |||
1058 | AC_VERB_SET_UNSOLICITED_ENABLE, | 1062 | AC_VERB_SET_UNSOLICITED_ENABLE, |
1059 | AC_USRSP_EN | ALC880_HP_EVENT); | 1063 | AC_USRSP_EN | ALC880_HP_EVENT); |
1060 | 1064 | ||
1065 | #if 0 /* it's broken in some acses -- temporarily disabled */ | ||
1061 | if (spec->autocfg.input_pins[AUTO_PIN_MIC] && | 1066 | if (spec->autocfg.input_pins[AUTO_PIN_MIC] && |
1062 | spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC]) | 1067 | spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC]) |
1063 | snd_hda_codec_write(codec, | 1068 | snd_hda_codec_write(codec, |
1064 | spec->autocfg.input_pins[AUTO_PIN_MIC], 0, | 1069 | spec->autocfg.input_pins[AUTO_PIN_MIC], 0, |
1065 | AC_VERB_SET_UNSOLICITED_ENABLE, | 1070 | AC_VERB_SET_UNSOLICITED_ENABLE, |
1066 | AC_USRSP_EN | ALC880_MIC_EVENT); | 1071 | AC_USRSP_EN | ALC880_MIC_EVENT); |
1072 | #endif /* disabled */ | ||
1067 | 1073 | ||
1068 | spec->unsol_event = alc_sku_unsol_event; | 1074 | spec->unsol_event = alc_sku_unsol_event; |
1069 | } | 1075 | } |
@@ -8408,6 +8414,7 @@ static const char *alc883_models[ALC883_MODEL_LAST] = { | |||
8408 | static struct snd_pci_quirk alc883_cfg_tbl[] = { | 8414 | static struct snd_pci_quirk alc883_cfg_tbl[] = { |
8409 | SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG), | 8415 | SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG), |
8410 | SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE), | 8416 | SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE), |
8417 | SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_ACER_ASPIRE), | ||
8411 | SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), | 8418 | SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), |
8412 | SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), | 8419 | SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), |
8413 | SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), | 8420 | SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), |
@@ -12238,8 +12245,26 @@ static int alc269_auto_create_multi_out_ctls(struct alc_spec *spec, | |||
12238 | return 0; | 12245 | return 0; |
12239 | } | 12246 | } |
12240 | 12247 | ||
12241 | #define alc269_auto_create_analog_input_ctls \ | 12248 | static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec, |
12242 | alc880_auto_create_analog_input_ctls | 12249 | const struct auto_pin_cfg *cfg) |
12250 | { | ||
12251 | int err; | ||
12252 | |||
12253 | err = alc880_auto_create_analog_input_ctls(spec, cfg); | ||
12254 | if (err < 0) | ||
12255 | return err; | ||
12256 | /* digital-mic input pin is excluded in alc880_auto_create..() | ||
12257 | * because it's under 0x18 | ||
12258 | */ | ||
12259 | if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 || | ||
12260 | cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) { | ||
12261 | struct hda_input_mux *imux = &spec->private_imux; | ||
12262 | imux->items[imux->num_items].label = "Int Mic"; | ||
12263 | imux->items[imux->num_items].index = 0x05; | ||
12264 | imux->num_items++; | ||
12265 | } | ||
12266 | return 0; | ||
12267 | } | ||
12243 | 12268 | ||
12244 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 12269 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
12245 | #define alc269_loopbacks alc880_loopbacks | 12270 | #define alc269_loopbacks alc880_loopbacks |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index df9b0bc7f878..e6085915d86d 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -69,6 +69,7 @@ enum { | |||
69 | enum { | 69 | enum { |
70 | STAC_92HD73XX_REF, | 70 | STAC_92HD73XX_REF, |
71 | STAC_DELL_M6, | 71 | STAC_DELL_M6, |
72 | STAC_DELL_EQ, | ||
72 | STAC_92HD73XX_MODELS | 73 | STAC_92HD73XX_MODELS |
73 | }; | 74 | }; |
74 | 75 | ||
@@ -773,9 +774,7 @@ static struct hda_verb dell_eq_core_init[] = { | |||
773 | }; | 774 | }; |
774 | 775 | ||
775 | static struct hda_verb dell_m6_core_init[] = { | 776 | static struct hda_verb dell_m6_core_init[] = { |
776 | /* set master volume to max value without distortion | 777 | { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, |
777 | * and direct control */ | ||
778 | { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec}, | ||
779 | /* setup audio connections */ | 778 | /* setup audio connections */ |
780 | { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, | 779 | { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, |
781 | { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, | 780 | { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, |
@@ -1600,11 +1599,13 @@ static unsigned int dell_m6_pin_configs[13] = { | |||
1600 | static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { | 1599 | static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { |
1601 | [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, | 1600 | [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, |
1602 | [STAC_DELL_M6] = dell_m6_pin_configs, | 1601 | [STAC_DELL_M6] = dell_m6_pin_configs, |
1602 | [STAC_DELL_EQ] = dell_m6_pin_configs, | ||
1603 | }; | 1603 | }; |
1604 | 1604 | ||
1605 | static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { | 1605 | static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { |
1606 | [STAC_92HD73XX_REF] = "ref", | 1606 | [STAC_92HD73XX_REF] = "ref", |
1607 | [STAC_DELL_M6] = "dell-m6", | 1607 | [STAC_DELL_M6] = "dell-m6", |
1608 | [STAC_DELL_EQ] = "dell-eq", | ||
1608 | }; | 1609 | }; |
1609 | 1610 | ||
1610 | static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { | 1611 | static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { |
@@ -4131,12 +4132,17 @@ again: | |||
4131 | sizeof(stac92hd73xx_dmux)); | 4132 | sizeof(stac92hd73xx_dmux)); |
4132 | 4133 | ||
4133 | switch (spec->board_config) { | 4134 | switch (spec->board_config) { |
4134 | case STAC_DELL_M6: | 4135 | case STAC_DELL_EQ: |
4135 | spec->init = dell_eq_core_init; | 4136 | spec->init = dell_eq_core_init; |
4137 | /* fallthru */ | ||
4138 | case STAC_DELL_M6: | ||
4136 | spec->num_smuxes = 0; | 4139 | spec->num_smuxes = 0; |
4137 | spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; | 4140 | spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; |
4138 | spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; | 4141 | spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; |
4139 | spec->num_amps = 1; | 4142 | spec->num_amps = 1; |
4143 | |||
4144 | if (!spec->init) | ||
4145 | spec->init = dell_m6_core_init; | ||
4140 | switch (codec->subsystem_id) { | 4146 | switch (codec->subsystem_id) { |
4141 | case 0x1028025e: /* Analog Mics */ | 4147 | case 0x1028025e: /* Analog Mics */ |
4142 | case 0x1028025f: | 4148 | case 0x1028025f: |
@@ -4146,8 +4152,6 @@ again: | |||
4146 | break; | 4152 | break; |
4147 | case 0x10280271: /* Digital Mics */ | 4153 | case 0x10280271: /* Digital Mics */ |
4148 | case 0x10280272: | 4154 | case 0x10280272: |
4149 | spec->init = dell_m6_core_init; | ||
4150 | /* fall-through */ | ||
4151 | case 0x10280254: | 4155 | case 0x10280254: |
4152 | case 0x10280255: | 4156 | case 0x10280255: |
4153 | stac92xx_set_config_reg(codec, 0x13, 0x90A60160); | 4157 | stac92xx_set_config_reg(codec, 0x13, 0x90A60160); |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index a3adbf06b1e5..16c7453f4946 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -95,8 +95,8 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec) | |||
95 | codec->ac97->dev.parent = NULL; | 95 | codec->ac97->dev.parent = NULL; |
96 | codec->ac97->dev.release = soc_ac97_device_release; | 96 | codec->ac97->dev.release = soc_ac97_device_release; |
97 | 97 | ||
98 | snprintf(codec->ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s", | 98 | dev_set_name(&codec->ac97->dev, "%d-%d:%s", |
99 | codec->card->number, 0, codec->name); | 99 | codec->card->number, 0, codec->name); |
100 | err = device_register(&codec->ac97->dev); | 100 | err = device_register(&codec->ac97->dev); |
101 | if (err < 0) { | 101 | if (err < 0) { |
102 | snd_printk(KERN_ERR "Can't register ac97 bus\n"); | 102 | snd_printk(KERN_ERR "Can't register ac97 bus\n"); |
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c index c257ad8bdfbc..23ed6f04a718 100644 --- a/sound/sparc/dbri.c +++ b/sound/sparc/dbri.c | |||
@@ -2534,6 +2534,8 @@ static int __devinit snd_dbri_create(struct snd_card *card, | |||
2534 | dbri->dma = dma_alloc_coherent(&op->dev, | 2534 | dbri->dma = dma_alloc_coherent(&op->dev, |
2535 | sizeof(struct dbri_dma), | 2535 | sizeof(struct dbri_dma), |
2536 | &dbri->dma_dvma, GFP_ATOMIC); | 2536 | &dbri->dma_dvma, GFP_ATOMIC); |
2537 | if (!dbri->dma) | ||
2538 | return -ENOMEM; | ||
2537 | memset((void *)dbri->dma, 0, sizeof(struct dbri_dma)); | 2539 | memset((void *)dbri->dma, 0, sizeof(struct dbri_dma)); |
2538 | 2540 | ||
2539 | dprintk(D_GEN, "DMA Cmd Block 0x%p (0x%08x)\n", | 2541 | dprintk(D_GEN, "DMA Cmd Block 0x%p (0x%08x)\n", |