diff options
172 files changed, 6091 insertions, 3727 deletions
diff --git a/Documentation/DocBook/sh.tmpl b/Documentation/DocBook/sh.tmpl index 0c3dc4c69dd..d858d92cf6d 100644 --- a/Documentation/DocBook/sh.tmpl +++ b/Documentation/DocBook/sh.tmpl @@ -19,13 +19,17 @@    </authorgroup>    <copyright> -   <year>2008</year> +   <year>2008-2010</year>     <holder>Paul Mundt</holder>    </copyright>    <copyright> -   <year>2008</year> +   <year>2008-2010</year>     <holder>Renesas Technology Corp.</holder>    </copyright> +  <copyright> +   <year>2010</year> +   <holder>Renesas Electronics Corp.</holder> +  </copyright>    <legalnotice>     <para> @@ -77,7 +81,7 @@    </chapter>    <chapter id="clk">      <title>Clock Framework Extensions</title> -!Iarch/sh/include/asm/clock.h +!Iinclude/linux/sh_clk.h    </chapter>    <chapter id="mach">      <title>Machine Specific Interfaces</title> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index e6d8ab5cfa9..0e318c905ee 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -158,7 +158,6 @@ config LOCKDEP_SUPPORT  config HAVE_LATENCYTOP_SUPPORT  	def_bool y -	depends on !SMP  config ARCH_HAS_ILOG2_U32  	def_bool n @@ -238,6 +237,8 @@ config CPU_SHX2  config CPU_SHX3  	bool  	select DMA_COHERENT +	select SYS_SUPPORTS_SMP +	select SYS_SUPPORTS_NUMA  config ARCH_SHMOBILE  	bool @@ -454,18 +455,12 @@ config CPU_SUBTYPE_SH7786  	select CPU_SH4A  	select CPU_SHX3  	select CPU_HAS_PTEAEX -	select ARCH_SPARSEMEM_ENABLE -	select SYS_SUPPORTS_NUMA -	select SYS_SUPPORTS_SMP  	select GENERIC_CLOCKEVENTS_BROADCAST if SMP  config CPU_SUBTYPE_SHX3  	bool "Support SH-X3 processor"  	select CPU_SH4A  	select CPU_SHX3 -	select ARCH_SPARSEMEM_ENABLE -	select SYS_SUPPORTS_NUMA -	select SYS_SUPPORTS_SMP  	select GENERIC_CLOCKEVENTS_BROADCAST if SMP  # SH4AL-DSP Processor Support @@ -635,7 +630,7 @@ config KEXEC  config CRASH_DUMP  	bool "kernel crash dumps (EXPERIMENTAL)" -	depends on SUPERH32 && EXPERIMENTAL +	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP  	help  	  Generate crash dump after being started by kexec.  	  This should be normally only set in special crash dump kernels @@ -707,6 +702,13 @@ config NR_CPUS  	  This is purely to save memory - each supported CPU adds  	  approximately eight kilobytes to the kernel image. +config HOTPLUG_CPU +	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" +	depends on SMP && HOTPLUG && EXPERIMENTAL +	help +	  Say Y here to experiment with turning CPUs off and on.  CPUs +	  can be controlled through /sys/devices/system/cpu. +  source "kernel/Kconfig.preempt"  config GUSA @@ -733,6 +735,8 @@ config GUSA_RB  	  LLSC, this should be more efficient than the other alternative of  	  disabling interrupts around the atomic sequence. +source "drivers/sh/Kconfig" +  endmenu  menu "Boot options" @@ -864,4 +868,20 @@ source "security/Kconfig"  source "crypto/Kconfig" +menuconfig VIRTUALIZATION +	bool "Virtualization" +	default n +	---help--- +	  Say Y here to get to see options for using your Linux host to run other +	  operating systems inside virtual machines (guests). +	  This option alone does not add any kernel code. + +	  If you say N, all options in this submenu will be skipped and disabled. + +if VIRTUALIZATION + +source drivers/virtio/Kconfig + +endif # VIRTUALIZATION +  source "lib/Kconfig" diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 588579ac2e3..307b3a4a790 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -83,7 +83,6 @@ defaultimage-$(CONFIG_SH_AP325RXA)		:= uImage  defaultimage-$(CONFIG_SH_7724_SOLUTION_ENGINE)	:= uImage  defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE)	:= vmlinux  defaultimage-$(CONFIG_SH_7619_SOLUTION_ENGINE)	:= vmlinux -defaultimage-$(CONFIG_SH_SDK7786)		:= vmlinux.bin  # Set some sensible Kbuild defaults  KBUILD_IMAGE		:= $(defaultimage-y) diff --git a/arch/sh/boards/board-urquell.c b/arch/sh/boards/board-urquell.c index a9bd6e3ee10..d81c609decc 100644 --- a/arch/sh/boards/board-urquell.c +++ b/arch/sh/boards/board-urquell.c @@ -24,6 +24,7 @@  #include <cpu/sh7786.h>  #include <asm/heartbeat.h>  #include <asm/sizes.h> +#include <asm/smp-ops.h>  /*   * bit  1234 5678 @@ -203,6 +204,8 @@ static void __init urquell_setup(char **cmdline_p)  	printk(KERN_INFO "Renesas Technology Corp. Urquell support.\n");  	pm_power_off = urquell_power_off; + +	register_smp_ops(&shx3_smp_ops);  }  /* diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c index 6c13b92742e..62123885a6f 100644 --- a/arch/sh/boards/mach-ecovec24/setup.c +++ b/arch/sh/boards/mach-ecovec24/setup.c @@ -710,8 +710,6 @@ static struct clk_ops fsimck_clk_ops = {  };  static struct clk fsimckb_clk = { -	.name		= "fsimckb_clk", -	.id		= -1,  	.ops		= &fsimck_clk_ops,  	.enable_reg	= (void __iomem *)FCLKBCR,  	.rate		= 0, /* unknown */ @@ -1138,16 +1136,20 @@ static int __init arch_setup(void)  	/* set SPU2 clock to 83.4 MHz */  	clk = clk_get(NULL, "spu_clk"); -	clk_set_rate(clk, clk_round_rate(clk, 83333333)); -	clk_put(clk); +	if (clk) { +		clk_set_rate(clk, clk_round_rate(clk, 83333333)); +		clk_put(clk); +	}  	/* change parent of FSI B */  	clk = clk_get(NULL, "fsib_clk"); -	clk_register(&fsimckb_clk); -	clk_set_parent(clk, &fsimckb_clk); -	clk_set_rate(clk, 11000); -	clk_set_rate(&fsimckb_clk, 11000); -	clk_put(clk); +	if (clk) { +		clk_register(&fsimckb_clk); +		clk_set_parent(clk, &fsimckb_clk); +		clk_set_rate(clk, 11000); +		clk_set_rate(&fsimckb_clk, 11000); +		clk_put(clk); +	}  	gpio_request(GPIO_PTU0, NULL);  	gpio_direction_output(GPIO_PTU0, 0); @@ -1159,8 +1161,10 @@ static int __init arch_setup(void)  	/* set VPU clock to 166 MHz */  	clk = clk_get(NULL, "vpu_clk"); -	clk_set_rate(clk, clk_round_rate(clk, 166000000)); -	clk_put(clk); +	if (clk) { +		clk_set_rate(clk, clk_round_rate(clk, 166000000)); +		clk_put(clk); +	}  	/* enable IrDA */  	gpio_request(GPIO_FN_IRDA_OUT, NULL); diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c index affd66747ba..a5ecfbacaf3 100644 --- a/arch/sh/boards/mach-highlander/setup.c +++ b/arch/sh/boards/mach-highlander/setup.c @@ -14,6 +14,7 @@   * for more details.   */  #include <linux/init.h> +#include <linux/io.h>  #include <linux/platform_device.h>  #include <linux/ata_platform.h>  #include <linux/types.h> @@ -26,6 +27,7 @@  #include <net/ax88796.h>  #include <asm/machvec.h>  #include <mach/highlander.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/heartbeat.h>  #include <asm/io.h> @@ -326,7 +328,6 @@ static struct clk_ops ivdr_clk_ops = {  };  static struct clk ivdr_clk = { -	.name		= "ivdr_clk",  	.ops		= &ivdr_clk_ops,  }; @@ -334,6 +335,13 @@ static struct clk *r7780rp_clocks[] = {  	&ivdr_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("ivdr_clk", &ivdr_clk), +}; +  static void r7780rp_power_off(void)  {  	if (mach_is_r7780mp() || mach_is_r7785rp()) @@ -370,6 +378,8 @@ static void __init highlander_setup(char **cmdline_p)  		clk_enable(clk);  	} +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	__raw_writew(0x0000, PA_OBLED);	/* Clear LED. */  	if (mach_is_r7780rp()) diff --git a/arch/sh/boards/mach-sdk7786/setup.c b/arch/sh/boards/mach-sdk7786/setup.c index f094ea2ee78..2ec1ea5cf8e 100644 --- a/arch/sh/boards/mach-sdk7786/setup.c +++ b/arch/sh/boards/mach-sdk7786/setup.c @@ -21,6 +21,7 @@  #include <asm/heartbeat.h>  #include <asm/sizes.h>  #include <asm/reboot.h> +#include <asm/smp-ops.h>  static struct resource heartbeat_resource = {  	.start		= 0x07fff8b0, @@ -165,6 +166,19 @@ static void sdk7786_restart(char *cmd)  	fpga_write_reg(0xa5a5, SRSTR);  } +static void sdk7786_power_off(void) +{ +	fpga_write_reg(fpga_read_reg(PWRCR) | PWRCR_PDWNREQ, PWRCR); + +	/* +	 * It can take up to 20us for the R8C to do its job, back off and +	 * wait a bit until we've been shut off. Even though newer FPGA +	 * versions don't set the ACK bit, the latency issue remains. +	 */ +	while ((fpga_read_reg(PWRCR) & PWRCR_PDWNACK) == 0) +		cpu_sleep(); +} +  /* Initialize the board */  static void __init sdk7786_setup(char **cmdline_p)  { @@ -175,6 +189,9 @@ static void __init sdk7786_setup(char **cmdline_p)  	pr_info("\tPCB revision:\t%d\n", fpga_read_reg(PCBRR) & 0xf);  	machine_ops.restart = sdk7786_restart; +	pm_power_off = sdk7786_power_off; + +	register_smp_ops(&shx3_smp_ops);  }  /* diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c index ccaa290e9ab..e74ae7b0d8b 100644 --- a/arch/sh/boards/mach-se/7724/setup.c +++ b/arch/sh/boards/mach-se/7724/setup.c @@ -276,8 +276,6 @@ static struct clk_ops fsimck_clk_ops = {  };  static struct clk fsimcka_clk = { -	.name		= "fsimcka_clk", -	.id		= -1,  	.ops		= &fsimck_clk_ops,  	.enable_reg	= (void __iomem *)FCLKACR,  	.rate		= 0, /* unknown */ @@ -771,16 +769,20 @@ static int __init devices_setup(void)  	/* set SPU2 clock to 83.4 MHz */  	clk = clk_get(NULL, "spu_clk"); -	clk_set_rate(clk, clk_round_rate(clk, 83333333)); -	clk_put(clk); +	if (clk) { +		clk_set_rate(clk, clk_round_rate(clk, 83333333)); +		clk_put(clk); +	}  	/* change parent of FSI A */  	clk = clk_get(NULL, "fsia_clk"); -	clk_register(&fsimcka_clk); -	clk_set_parent(clk, &fsimcka_clk); -	clk_set_rate(clk, 11000); -	clk_set_rate(&fsimcka_clk, 11000); -	clk_put(clk); +	if (clk) { +		clk_register(&fsimcka_clk); +		clk_set_parent(clk, &fsimcka_clk); +		clk_set_rate(clk, 11000); +		clk_set_rate(&fsimcka_clk, 11000); +		clk_put(clk); +	}  	/* SDHI0 connected to cn7 */  	gpio_request(GPIO_FN_SDHI0CD, NULL); diff --git a/arch/sh/boards/mach-x3proto/setup.c b/arch/sh/boards/mach-x3proto/setup.c index e284592fd42..102bf56befb 100644 --- a/arch/sh/boards/mach-x3proto/setup.c +++ b/arch/sh/boards/mach-x3proto/setup.c @@ -19,6 +19,7 @@  #include <linux/usb/r8a66597.h>  #include <linux/usb/m66592.h>  #include <asm/ilsel.h> +#include <asm/smp-ops.h>  static struct resource heartbeat_resources[] = {  	[0] = { @@ -152,7 +153,13 @@ static void __init x3proto_init_irq(void)  	__raw_writel(__raw_readl(0xfe410000) | (1 << 21), 0xfe410000);  } +static void __init x3proto_setup(char **cmdline_p) +{ +	register_smp_ops(&shx3_smp_ops); +} +  static struct sh_machine_vector mv_x3proto __initmv = {  	.mv_name		= "x3proto", +	.mv_setup		= x3proto_setup,  	.mv_init_irq		= x3proto_init_irq,  }; diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile index 5d660b90943..cfa5a087a88 100644 --- a/arch/sh/boot/compressed/Makefile +++ b/arch/sh/boot/compressed/Makefile @@ -14,10 +14,16 @@ OBJECTS = $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/cache.o  #  # IMAGE_OFFSET is the load offset of the compression loader  # +ifeq ($(CONFIG_32BIT),y) +IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \ +		     $$[$(CONFIG_MEMORY_START)  + \ +			$(CONFIG_BOOT_LINK_OFFSET)]') +else  IMAGE_OFFSET	:= $(shell /bin/bash -c 'printf "0x%08x" \  		     $$[$(CONFIG_PAGE_OFFSET)  + \  			$(KERNEL_MEMORY) + \  			$(CONFIG_BOOT_LINK_OFFSET)]') +endif  LIBGCC	:= $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) diff --git a/arch/sh/boot/compressed/head_32.S b/arch/sh/boot/compressed/head_32.S index 02a30935f0b..200c1d4f1ef 100644 --- a/arch/sh/boot/compressed/head_32.S +++ b/arch/sh/boot/compressed/head_32.S @@ -97,7 +97,11 @@ init_stack_addr:  decompress_kernel_addr:  	.long	decompress_kernel  kernel_start_addr: +#ifdef CONFIG_32BIT +	.long	___pa(_text+PAGE_SIZE) +#else  	.long	_text+PAGE_SIZE +#endif  	.align	9  fake_headers_as_bzImage: diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig index 8931a60e37a..7fefa2b9e28 100644 --- a/arch/sh/configs/ap325rxa_defconfig +++ b/arch/sh/configs/ap325rxa_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:10:59 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:04:35 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,11 +74,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -107,7 +105,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -116,13 +114,13 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,8 +235,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -246,6 +244,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -261,7 +261,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -335,7 +335,7 @@ CONFIG_SECCOMP=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -371,6 +371,7 @@ CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -378,7 +379,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -594,6 +594,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ICS932S401 is not set  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_TI_DAC7512 is not set  # CONFIG_C2PORT is not set @@ -613,6 +614,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -774,6 +776,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -802,6 +805,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -814,15 +818,9 @@ CONFIG_I2C_SH_MOBILE=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  CONFIG_SPI=y  CONFIG_SPI_MASTER=y @@ -853,13 +851,16 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -891,22 +892,25 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_MFD_MC13783 is not set  # CONFIG_AB3100_CORE is not set  # CONFIG_EZX_PCAP is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_AB4500_CORE is not set  # CONFIG_REGULATOR is not set  CONFIG_MEDIA_SUPPORT=y @@ -1041,10 +1045,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y  # MMC/SD/SDIO Host Controller Drivers  #  # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set  CONFIG_MMC_SPI=y -# CONFIG_MMC_TMIO is not set  # CONFIG_MEMSTICK is not set  # CONFIG_NEW_LEDS is not set  # CONFIG_ACCESSIBILITY is not set @@ -1120,8 +1121,6 @@ CONFIG_RTC_DRV_PCF8563=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -1206,6 +1205,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set  # CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1234,6 +1234,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1426,6 +1427,7 @@ CONFIG_CRYPTO_CBC=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/cayman_defconfig b/arch/sh/configs/cayman_defconfig index 92589a950d0..edae0a6830d 100644 --- a/arch/sh/configs/cayman_defconfig +++ b/arch/sh/configs/cayman_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:14:50 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:01:02 2010  #  CONFIG_SUPERH=y  # CONFIG_SUPERH32 is not set @@ -13,7 +13,6 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y @@ -32,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  # CONFIG_SYSVIPC is not set  CONFIG_POSIX_MQUEUE=y @@ -70,7 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -114,7 +115,6 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y @@ -204,6 +204,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -225,7 +226,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -294,7 +295,6 @@ CONFIG_HZ=250  # CONFIG_PREEMPT_NONE is not set  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -309,9 +309,9 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -337,7 +337,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -463,6 +462,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_HP_ILO is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_C2PORT is not set @@ -480,6 +480,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -569,7 +570,7 @@ CONFIG_SCSI_LOWLEVEL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -638,6 +639,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -650,6 +653,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -732,6 +736,7 @@ CONFIG_DEVKMEM=y  #  # CONFIG_SERIAL_SH_SCI is not set  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -779,6 +784,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -791,15 +797,9 @@ CONFIG_I2C_HELPER_AUTO=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -823,10 +823,11 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_ADM1029 is not set  # CONFIG_SENSORS_ADM1031 is not set  # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7411 is not set  # CONFIG_SENSORS_ADT7462 is not set  # CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7473 is not set  # CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set  # CONFIG_SENSORS_ATXP1 is not set  # CONFIG_SENSORS_DS1621 is not set  # CONFIG_SENSORS_I5K_AMB is not set @@ -863,6 +864,7 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_SMSC47M192 is not set  # CONFIG_SENSORS_SMSC47B397 is not set  # CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_AMC6821 is not set  # CONFIG_SENSORS_THMC50 is not set  # CONFIG_SENSORS_TMP401 is not set  # CONFIG_SENSORS_TMP421 is not set @@ -909,9 +911,9 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set -# CONFIG_AB3100_CORE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -919,6 +921,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_OUTPUT_CONTROL=y @@ -1125,6 +1128,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1153,6 +1157,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1208,6 +1213,7 @@ CONFIG_SCHEDSTATS=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1234,6 +1240,7 @@ CONFIG_FRAME_POINTER=y  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1361,6 +1368,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/dreamcast_defconfig b/arch/sh/configs/dreamcast_defconfig index 55f652be954..b96bf3d2cd0 100644 --- a/arch/sh/configs/dreamcast_defconfig +++ b/arch/sh/configs/dreamcast_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:17:35 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:11:55 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -72,7 +75,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -124,6 +126,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -242,6 +245,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -263,7 +267,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -360,7 +364,6 @@ CONFIG_SECCOMP=y  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -377,9 +380,9 @@ CONFIG_CMDLINE="console=ttySC1,115200 panic=3"  #  CONFIG_MAPLE=y  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -404,7 +407,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -532,6 +534,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -549,7 +552,7 @@ CONFIG_HAVE_IDE=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -589,6 +592,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -717,6 +721,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -771,6 +776,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -778,6 +784,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -918,7 +925,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -976,6 +982,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -990,6 +997,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1135,6 +1143,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/ecovec24-romimage_defconfig b/arch/sh/configs/ecovec24-romimage_defconfig index 662c1ad2049..58aec9dd563 100644 --- a/arch/sh/configs/ecovec24-romimage_defconfig +++ b/arch/sh/configs/ecovec24-romimage_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:18:17 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:14:56 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,11 +74,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -86,6 +84,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -111,7 +110,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -120,13 +119,13 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,8 +236,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x10000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -246,6 +245,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -261,7 +262,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -336,7 +337,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -370,6 +371,7 @@ CONFIG_PM=y  # CONFIG_SUSPEND is not set  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -377,7 +379,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -485,6 +486,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -585,6 +587,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -650,6 +653,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -678,6 +682,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -690,15 +695,9 @@ CONFIG_I2C_SH_MOBILE=y  # Other I2C/SMBus bus drivers  #  # CONFIG_I2C_PCA_PLATFORM is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -712,13 +711,16 @@ CONFIG_GPIO_SYSFS=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -747,20 +749,23 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -868,7 +873,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -880,7 +884,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -911,7 +914,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1027,6 +1029,7 @@ CONFIG_DEBUG_FS=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  CONFIG_HAVE_FUNCTION_TRACER=y @@ -1056,6 +1059,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/ecovec24_defconfig b/arch/sh/configs/ecovec24_defconfig index 6041c66dd10..67c665671c6 100644 --- a/arch/sh/configs/ecovec24_defconfig +++ b/arch/sh/configs/ecovec24_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.34-rc2 -# Mon Mar 29 02:21:58 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:17:28 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -336,6 +336,7 @@ CONFIG_SECCOMP=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -762,6 +763,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -1755,6 +1757,7 @@ CONFIG_CRYPTO_CBC=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/edosk7705_defconfig b/arch/sh/configs/edosk7705_defconfig index 72f8718dd73..0883d873ea6 100644 --- a/arch/sh/configs/edosk7705_defconfig +++ b/arch/sh/configs/edosk7705_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:24:26 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:21:52 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -12,8 +12,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -29,6 +29,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -43,9 +44,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SYSVIPC is not set  # CONFIG_BSD_PROCESS_ACCT is not set @@ -61,11 +64,11 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=17 -# CONFIG_CGROUPS is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set  # CONFIG_BLK_DEV_INITRD is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_ANON_INODES=y  CONFIG_EMBEDDED=y  # CONFIG_UID16 is not set  # CONFIG_KALLSYMS is not set @@ -87,7 +90,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_VM_EVENT_COUNTERS is not set  # CONFIG_COMPAT_BRK is not set @@ -103,6 +106,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -202,6 +206,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -217,7 +222,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -330,6 +335,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_SCSI_DMA is not set  # CONFIG_SCSI_NETLINK is not set  # CONFIG_PHONE is not set @@ -361,6 +367,7 @@ CONFIG_HAVE_IDE=y  # Non-8250 serial port support  #  # CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -440,6 +447,7 @@ CONFIG_INOTIFY_USER=y  #  # Caches  # +# CONFIG_FSCACHE is not set  #  # Pseudo filesystems @@ -491,6 +499,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig index 0932e6d656e..8257f577637 100644 --- a/arch/sh/configs/edosk7760_defconfig +++ b/arch/sh/configs/edosk7760_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:24:44 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:23:10 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -72,7 +75,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=17 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -83,6 +85,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -110,8 +113,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_SLUB_DEBUG=y  CONFIG_COMPAT_BRK=y @@ -128,6 +132,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -246,6 +251,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -261,7 +267,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -342,7 +348,6 @@ CONFIG_SCHED_HRTICK=y  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -379,7 +384,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -579,6 +583,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -685,6 +690,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -713,6 +719,7 @@ CONFIG_I2C_HELPER_AUTO=y  CONFIG_I2C_SH7760=y  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -725,15 +732,9 @@ CONFIG_I2C_SH7760=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  CONFIG_I2C_DEBUG_CORE=y  CONFIG_I2C_DEBUG_ALGO=y  CONFIG_I2C_DEBUG_BUS=y -CONFIG_I2C_DEBUG_CHIP=y  # CONFIG_SPI is not set  # @@ -756,6 +757,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -763,12 +765,13 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -947,6 +950,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -969,6 +973,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1048,6 +1053,7 @@ CONFIG_TIMER_STATS=y  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_SLUB_DEBUG_ON is not set  # CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1096,6 +1102,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1214,6 +1221,7 @@ CONFIG_CRYPTO_DES=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/espt_defconfig b/arch/sh/configs/espt_defconfig index f899e5613f8..8acdc374d03 100644 --- a/arch/sh/configs/espt_defconfig +++ b/arch/sh/configs/espt_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:26:55 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:27:14 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,11 +72,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -112,7 +110,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -120,7 +117,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -131,6 +127,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -243,7 +240,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x0c000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set +# CONFIG_PMB is not set  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -253,6 +250,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -269,7 +267,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -344,7 +342,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -381,7 +379,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -444,7 +441,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -584,6 +580,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -688,6 +685,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -753,6 +751,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -944,7 +943,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -956,7 +954,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1052,6 +1049,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1078,6 +1076,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1144,13 +1143,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1158,10 +1156,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1269,7 +1264,8 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig index 06644908631..f894bdc97a6 100644 --- a/arch/sh/configs/hp6xx_defconfig +++ b/arch/sh/configs/hp6xx_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:30:31 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:30:50 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  # CONFIG_SYSVIPC is not set  CONFIG_BSD_PROCESS_ACCT=y @@ -66,7 +69,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -99,7 +101,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -115,6 +117,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -228,6 +231,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -243,7 +247,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -326,7 +330,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -344,7 +347,6 @@ CONFIG_ENTRY_OFFSET=0x00001000  CONFIG_PCCARD=y  CONFIG_PCMCIA=y  CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y  #  # PC-card bridges @@ -369,6 +371,7 @@ CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_APM_EMULATION=y  # CONFIG_PM_RUNTIME is not set +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  # CONFIG_NET is not set @@ -412,6 +415,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -544,6 +548,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -722,7 +727,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -780,6 +784,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -977,6 +982,7 @@ CONFIG_CRYPTO_MD5=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/kfr2r09-romimage_defconfig b/arch/sh/configs/kfr2r09-romimage_defconfig index 3d834e59e8f..8c54e1620e9 100644 --- a/arch/sh/configs/kfr2r09-romimage_defconfig +++ b/arch/sh/configs/kfr2r09-romimage_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:31:09 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:33:23 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y  # CONFIG_POSIX_MQUEUE is not set @@ -70,11 +73,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -85,6 +83,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -110,7 +109,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -119,13 +118,13 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -222,8 +221,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -231,6 +230,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -246,7 +247,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -321,7 +322,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -354,6 +355,7 @@ CONFIG_PM=y  # CONFIG_PM_DEBUG is not set  # CONFIG_SUSPEND is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -361,7 +363,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -449,6 +450,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_SCSI_DMA is not set  # CONFIG_SCSI_NETLINK is not set  # CONFIG_NETDEVICES is not set @@ -511,6 +513,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -538,6 +541,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -549,15 +553,9 @@ CONFIG_I2C_SH_MOBILE=y  # Other I2C/SMBus bus drivers  #  # CONFIG_I2C_PCA_PLATFORM is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -571,13 +569,16 @@ CONFIG_GPIO_SYSFS=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -606,20 +607,23 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -690,6 +694,7 @@ CONFIG_USB_GADGET_DUALSPEED=y  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  CONFIG_USB_CDC_COMPOSITE=y +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -794,6 +799,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/kfr2r09_defconfig b/arch/sh/configs/kfr2r09_defconfig index f22be494ed9..2e74b08ca14 100644 --- a/arch/sh/configs/kfr2r09_defconfig +++ b/arch/sh/configs/kfr2r09_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:32:55 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:35:20 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -72,11 +75,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -87,6 +85,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -112,7 +111,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -121,13 +120,13 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -243,8 +242,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -252,6 +251,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -267,7 +268,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -343,7 +344,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -377,6 +378,7 @@ CONFIG_PM=y  # CONFIG_SUSPEND is not set  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  CONFIG_CPU_IDLE=y  CONFIG_CPU_IDLE_GOV_LADDER=y  CONFIG_CPU_IDLE_GOV_MENU=y @@ -386,7 +388,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -580,6 +581,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -659,6 +661,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -687,6 +690,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -699,15 +703,9 @@ CONFIG_I2C_SH_MOBILE=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -721,13 +719,16 @@ CONFIG_GPIO_SYSFS=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -756,20 +757,23 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -889,6 +893,7 @@ CONFIG_USB_GADGET_DUALSPEED=y  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  CONFIG_USB_CDC_COMPOSITE=m +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -912,9 +917,6 @@ CONFIG_MMC_BLOCK_BOUNCE=y  # MMC/SD/SDIO Host Controller Drivers  #  # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set -# CONFIG_MMC_TMIO is not set  # CONFIG_MEMSTICK is not set  # CONFIG_NEW_LEDS is not set  # CONFIG_ACCESSIBILITY is not set @@ -982,8 +984,6 @@ CONFIG_RTC_DRV_SH=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -996,7 +996,6 @@ CONFIG_UIO_PDRV_GENIRQ=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1074,6 +1073,7 @@ CONFIG_DEBUG_FS=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  CONFIG_HAVE_FUNCTION_TRACER=y @@ -1103,6 +1103,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig index 2a42d4977fe..87789345d47 100644 --- a/arch/sh/configs/landisk_defconfig +++ b/arch/sh/configs/landisk_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:35:31 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:38:08 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,7 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -102,7 +104,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -120,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -238,6 +241,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -253,7 +257,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -333,7 +337,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -348,15 +351,14 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  CONFIG_PCCARD=y  CONFIG_PCMCIA=y  CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y  CONFIG_CARDBUS=y  # @@ -392,7 +394,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -612,6 +613,7 @@ CONFIG_BLK_DEV_IDEDMA=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -711,7 +713,7 @@ CONFIG_MD_RAID1=m  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -751,6 +753,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -798,6 +801,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -810,6 +815,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -835,6 +841,7 @@ CONFIG_WLAN=y  CONFIG_USB_PEGASUS=m  CONFIG_USB_RTL8150=m  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_NET_PCMCIA is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set @@ -910,6 +917,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -977,6 +985,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -984,6 +993,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1025,6 +1035,7 @@ CONFIG_USB_HID=m  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=m  CONFIG_HID_APPLE=m  CONFIG_HID_BELKIN=m @@ -1040,14 +1051,19 @@ CONFIG_HID_GYRATION=m  CONFIG_HID_LOGITECH=m  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=m +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=m  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=m  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=m +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=m  CONFIG_HID_SONY=m +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=m  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1169,6 +1185,7 @@ CONFIG_USB_SERIAL_FTDI_SIO=m  # CONFIG_USB_SERIAL_NAVMAN is not set  CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set  # CONFIG_USB_SERIAL_QUALCOMM is not set  # CONFIG_USB_SERIAL_SPCP8X5 is not set  # CONFIG_USB_SERIAL_HP4X is not set @@ -1182,6 +1199,7 @@ CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_SERIAL_OPTION is not set  # CONFIG_USB_SERIAL_OMNINET is not set  # CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set  # CONFIG_USB_SERIAL_DEBUG is not set  # @@ -1194,7 +1212,6 @@ CONFIG_USB_EMI26=m  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1208,7 +1225,6 @@ CONFIG_USB_SISUSBVGA_CON=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1313,6 +1329,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1347,6 +1364,7 @@ CONFIG_SUNRPC=m  # CONFIG_RPCSEC_GSS_SPKM3 is not set  CONFIG_SMB_FS=m  # CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1531,6 +1549,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/lboxre2_defconfig b/arch/sh/configs/lboxre2_defconfig index f2f1f8c73b2..6088a76bd21 100644 --- a/arch/sh/configs/lboxre2_defconfig +++ b/arch/sh/configs/lboxre2_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:37:01 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:42:57 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,7 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -102,7 +104,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -120,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -238,6 +241,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -253,7 +257,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -333,7 +337,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -349,15 +352,14 @@ CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  CONFIG_PCCARD=y  CONFIG_PCMCIA=y  CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y  CONFIG_CARDBUS=y  # @@ -392,7 +394,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -552,6 +553,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -670,6 +672,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -707,7 +710,7 @@ CONFIG_PATA_PLATFORM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -747,6 +750,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -798,6 +802,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -810,6 +816,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -908,6 +915,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -975,6 +983,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -982,6 +991,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1155,6 +1165,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1173,6 +1184,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1357,6 +1369,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig index a7a16ce357a..28c104da0ba 100644 --- a/arch/sh/configs/magicpanelr2_defconfig +++ b/arch/sh/configs/magicpanelr2_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:37:42 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:44:00 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,7 +74,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=17 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -82,6 +84,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -109,8 +112,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y  CONFIG_SLAB=y @@ -126,6 +130,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -244,6 +249,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -259,7 +265,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -344,7 +350,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -380,7 +385,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -586,6 +590,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -741,6 +746,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -765,6 +771,7 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders: @@ -953,6 +960,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -977,6 +985,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1051,6 +1060,7 @@ CONFIG_DEBUG_KERNEL=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1097,6 +1107,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1125,6 +1136,7 @@ CONFIG_DUMP_CODE=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/microdev_defconfig b/arch/sh/configs/microdev_defconfig index 7d43fabdc07..41cefa490ec 100644 --- a/arch/sh/configs/microdev_defconfig +++ b/arch/sh/configs/microdev_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:40:41 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:48:22 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  # CONFIG_SYSVIPC is not set  # CONFIG_POSIX_MQUEUE is not set @@ -69,7 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -80,6 +82,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -106,7 +109,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -122,6 +125,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -235,6 +239,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -256,7 +261,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -334,7 +339,6 @@ CONFIG_HZ=250  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -515,6 +519,7 @@ CONFIG_IDE_PROC_FS=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -596,6 +601,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -774,6 +780,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -800,6 +807,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -992,6 +1000,7 @@ CONFIG_CRYPTO_DES=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig index d2b18311777..1c889b74cd5 100644 --- a/arch/sh/configs/migor_defconfig +++ b/arch/sh/configs/migor_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:41:41 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:01:29 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,7 +74,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -82,6 +84,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -109,7 +112,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -117,17 +119,16 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -243,7 +244,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x0c000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_X2TLB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_NUMA=y  CONFIG_NODES_SHIFT=1 @@ -254,6 +255,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -271,7 +274,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_MIGRATION is not set  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -348,7 +351,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -384,6 +387,7 @@ CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -391,7 +395,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -454,7 +457,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -564,6 +566,7 @@ CONFIG_MTD_NAND_IDS=y  # CONFIG_MTD_NAND_DISKONCHIP is not set  # CONFIG_MTD_NAND_NANDSIM is not set  CONFIG_MTD_NAND_PLATFORM=y +# CONFIG_MTD_NAND_SH_FLCTL is not set  # CONFIG_MTD_ONENAND is not set  # @@ -596,6 +599,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ICS932S401 is not set  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_C2PORT is not set @@ -612,6 +616,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -764,6 +769,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -792,6 +798,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -804,15 +811,9 @@ CONFIG_I2C_SH_MOBILE=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -826,13 +827,16 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -861,20 +865,23 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  CONFIG_MEDIA_SUPPORT=y @@ -1054,6 +1061,7 @@ CONFIG_USB_G_SERIAL=m  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -1129,8 +1137,6 @@ CONFIG_RTC_DRV_SH=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -1143,7 +1149,6 @@ CONFIG_UIO_PDRV_GENIRQ=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1202,6 +1207,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1224,6 +1230,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1251,13 +1258,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1265,10 +1271,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1383,7 +1386,8 @@ CONFIG_CRYPTO_WORKQUEUE=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/polaris_defconfig b/arch/sh/configs/polaris_defconfig index d50c0314281..826b1198959 100644 --- a/arch/sh/configs/polaris_defconfig +++ b/arch/sh/configs/polaris_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 11:45:25 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:53:51 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,11 +74,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -109,8 +107,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y  CONFIG_SLAB=y @@ -126,6 +125,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -244,6 +244,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -259,7 +260,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=999999  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -340,7 +341,6 @@ CONFIG_SCHED_HRTICK=y  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -377,7 +377,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -583,6 +582,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -712,6 +712,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -829,7 +830,6 @@ CONFIG_RTC_DRV_SH=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -896,6 +896,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -919,6 +920,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -958,6 +960,7 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  CONFIG_DEBUG_RT_MUTEXES=y  CONFIG_DEBUG_PI_LIST=y @@ -1010,6 +1013,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1038,6 +1042,7 @@ CONFIG_DUMP_CODE=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig index efda63d4070..4b751bd37e2 100644 --- a/arch/sh/configs/r7780mp_defconfig +++ b/arch/sh/configs/r7780mp_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:16:13 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 15:58:09 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_IO_TRAPPED=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,11 +76,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -112,7 +110,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -122,7 +119,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=m  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -133,6 +129,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -245,11 +242,8 @@ CONFIG_PAGE_OFFSET=0x80000000  CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000 -# CONFIG_29BIT is not set -CONFIG_32BIT=y -CONFIG_PMB_ENABLE=y +CONFIG_29BIT=y  # CONFIG_PMB is not set -CONFIG_PMB_FIXED=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -257,6 +251,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -278,7 +273,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -358,7 +353,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -374,9 +369,9 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -402,7 +397,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -452,6 +446,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # CONFIG_ATM is not set  CONFIG_STP=m  CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y  # CONFIG_NET_DSA is not set  # CONFIG_VLAN_8021Q is not set  # CONFIG_DECNET is not set @@ -472,7 +467,6 @@ CONFIG_LLC=m  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -621,6 +615,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_HP_ILO is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_C2PORT is not set @@ -638,6 +633,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -755,6 +751,7 @@ CONFIG_SATA_SIL=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -791,7 +788,7 @@ CONFIG_PATA_PLATFORM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -832,6 +829,7 @@ CONFIG_NET_PCI=y  CONFIG_PCNET32=m  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -884,6 +882,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -896,6 +896,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -995,6 +996,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -1043,6 +1045,7 @@ CONFIG_I2C_HIGHLANDER=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -1055,15 +1058,9 @@ CONFIG_I2C_HIGHLANDER=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -1087,10 +1084,11 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_ADM1029 is not set  # CONFIG_SENSORS_ADM1031 is not set  # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7411 is not set  # CONFIG_SENSORS_ADT7462 is not set  # CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7473 is not set  # CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set  # CONFIG_SENSORS_ATXP1 is not set  # CONFIG_SENSORS_DS1621 is not set  # CONFIG_SENSORS_I5K_AMB is not set @@ -1127,6 +1125,7 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_SMSC47M192 is not set  # CONFIG_SENSORS_SMSC47B397 is not set  # CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_AMC6821 is not set  # CONFIG_SENSORS_THMC50 is not set  # CONFIG_SENSORS_TMP401 is not set  # CONFIG_SENSORS_TMP421 is not set @@ -1156,6 +1155,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -1163,12 +1163,14 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1176,6 +1178,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1372,6 +1375,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1402,6 +1406,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1480,6 +1485,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_PREEMPT is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1490,7 +1496,6 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_LOCK_STAT is not set  # CONFIG_DEBUG_SPINLOCK_SLEEP is not set  # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -CONFIG_STACKTRACE=y  # CONFIG_DEBUG_KOBJECT is not set  CONFIG_DEBUG_BUGVERBOSE=y  CONFIG_DEBUG_INFO=y @@ -1507,11 +1512,11 @@ CONFIG_DEBUG_INFO=y  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  # CONFIG_PAGE_POISONING is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1519,10 +1524,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y  # CONFIG_FUNCTION_TRACER is not set @@ -1535,6 +1537,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1662,7 +1665,8 @@ CONFIG_CRYPTO_DES=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig index f4b00451dce..f5e3819469e 100644 --- a/arch/sh/configs/r7785rp_defconfig +++ b/arch/sh/configs/r7785rp_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:19:35 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:03:27 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -34,6 +34,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_IO_TRAPPED=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -49,9 +50,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -77,7 +80,6 @@ CONFIG_TREE_RCU_TRACE=y  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -112,7 +114,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -122,18 +123,17 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  CONFIG_KPROBES=y  CONFIG_KRETPROBES=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -247,12 +247,9 @@ CONFIG_PAGE_OFFSET=0x80000000  CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000 -# CONFIG_29BIT is not set -CONFIG_32BIT=y -CONFIG_PMB_ENABLE=y +CONFIG_29BIT=y  # CONFIG_PMB is not set -CONFIG_PMB_FIXED=y -# CONFIG_X2TLB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  # CONFIG_NUMA is not set  CONFIG_ARCH_FLATMEM_ENABLE=y @@ -263,6 +260,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -285,7 +284,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=999999  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -303,6 +302,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_SH_FPU=y  CONFIG_SH_STORE_QUEUES=y +# CONFIG_SPECULATIVE_EXECUTION is not set  CONFIG_CPU_HAS_INTEVT=y  CONFIG_CPU_HAS_SR_RB=y  CONFIG_CPU_HAS_FPU=y @@ -377,7 +377,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -393,9 +393,9 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_LEGACY is not set  # CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -421,7 +421,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -471,6 +470,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # CONFIG_ATM is not set  CONFIG_STP=m  CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y  # CONFIG_NET_DSA is not set  # CONFIG_VLAN_8021Q is not set  # CONFIG_DECNET is not set @@ -492,7 +492,6 @@ CONFIG_LLC=m  #  # CONFIG_NET_PKTGEN is not set  # CONFIG_NET_TCPPROBE is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -557,6 +556,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_HP_ILO is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_C2PORT is not set @@ -574,6 +574,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -691,6 +692,7 @@ CONFIG_SATA_SIL=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -727,7 +729,7 @@ CONFIG_PATA_PLATFORM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -797,6 +799,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -809,6 +813,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -910,6 +915,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -959,6 +965,7 @@ CONFIG_I2C_HIGHLANDER=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -971,15 +978,9 @@ CONFIG_I2C_HIGHLANDER=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -994,13 +995,17 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set +# CONFIG_GPIO_SCH is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -1033,10 +1038,11 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_ADM1029 is not set  # CONFIG_SENSORS_ADM1031 is not set  # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7411 is not set  # CONFIG_SENSORS_ADT7462 is not set  # CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7473 is not set  # CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set  # CONFIG_SENSORS_ATXP1 is not set  # CONFIG_SENSORS_DS1621 is not set  # CONFIG_SENSORS_I5K_AMB is not set @@ -1074,6 +1080,7 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_SMSC47M192 is not set  # CONFIG_SENSORS_SMSC47B397 is not set  # CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_AMC6821 is not set  # CONFIG_SENSORS_THMC50 is not set  # CONFIG_SENSORS_TMP401 is not set  # CONFIG_SENSORS_TMP421 is not set @@ -1102,20 +1109,25 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set +# CONFIG_MFD_TIMBERDALE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1123,6 +1135,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1371,6 +1384,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1401,6 +1415,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1475,6 +1490,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_PREEMPT is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1510,7 +1526,6 @@ CONFIG_FRAME_POINTER=y  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  # CONFIG_PAGE_POISONING is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1518,10 +1533,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y  # CONFIG_FUNCTION_TRACER is not set @@ -1534,6 +1546,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1661,7 +1674,8 @@ CONFIG_CRYPTO_DES=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/rsk7201_defconfig b/arch/sh/configs/rsk7201_defconfig index 2fc635a5a8c..80e7b41ca62 100644 --- a/arch/sh/configs/rsk7201_defconfig +++ b/arch/sh/configs/rsk7201_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:23:12 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:09:18 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -44,9 +45,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y  CONFIG_BSD_PROCESS_ACCT=y @@ -65,7 +68,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  # CONFIG_IKCONFIG_PROC is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_SYSFS_DEPRECATED_V2 is not set  # CONFIG_RELAY is not set @@ -79,6 +81,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -105,7 +108,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -114,7 +116,6 @@ CONFIG_COMPAT_BRK=y  CONFIG_SLOB=y  # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -124,6 +125,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -240,6 +242,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -255,7 +258,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1  # @@ -326,7 +329,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -485,6 +487,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -545,6 +548,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=8  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -657,7 +661,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XATTR is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -720,6 +723,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -756,13 +760,12 @@ CONFIG_MAGIC_SYSRQ=y  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  CONFIG_SYSCTL_SYSCALL_CHECK=y -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -770,10 +773,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -795,7 +795,8 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig index 0169e60e094..66eb7d7dad4 100644 --- a/arch/sh/configs/rsk7203_defconfig +++ b/arch/sh/configs/rsk7203_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:23:54 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:11:37 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y  CONFIG_POSIX_MQUEUE=y @@ -70,7 +73,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  # CONFIG_IKCONFIG_PROC is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_SYSFS_DEPRECATED_V2 is not set  # CONFIG_RELAY is not set @@ -85,6 +87,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -112,7 +115,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -122,7 +124,6 @@ CONFIG_COMPAT_BRK=y  CONFIG_SLOB=y  # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -132,6 +133,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -248,6 +250,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -263,7 +266,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1  # @@ -350,7 +353,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -448,7 +450,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -592,6 +593,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -662,6 +664,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -723,6 +726,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=4  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -745,6 +749,7 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders: @@ -783,6 +788,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  CONFIG_REGULATOR=y  # CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_DUMMY is not set  # CONFIG_REGULATOR_FIXED_VOLTAGE is not set  # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set  # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set @@ -816,6 +822,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -831,14 +838,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -859,7 +871,6 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y  CONFIG_USB_DEVICEFS=y  CONFIG_USB_DEVICE_CLASS=y  # CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set  # CONFIG_USB_OTG is not set  # CONFIG_USB_OTG_WHITELIST is not set  # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -916,7 +927,6 @@ CONFIG_USB_R8A66597_HCD=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -928,7 +938,6 @@ CONFIG_USB_R8A66597_HCD=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -948,11 +957,11 @@ CONFIG_LEDS_GPIO=y  CONFIG_LEDS_GPIO_PLATFORM=y  # CONFIG_LEDS_REGULATOR is not set  # CONFIG_LEDS_LT3593 is not set +CONFIG_LEDS_TRIGGERS=y  #  # LED Triggers  # -CONFIG_LEDS_TRIGGERS=y  CONFIG_LEDS_TRIGGER_TIMER=y  CONFIG_LEDS_TRIGGER_HEARTBEAT=y  CONFIG_LEDS_TRIGGER_BACKLIGHT=y @@ -1018,7 +1027,6 @@ CONFIG_RTC_DRV_SH=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1072,6 +1080,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1098,6 +1107,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1180,6 +1190,7 @@ CONFIG_DEBUG_OBJECTS=y  # CONFIG_DEBUG_OBJECTS_TIMERS is not set  # CONFIG_DEBUG_OBJECTS_WORK is not set  CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1189,7 +1200,6 @@ CONFIG_DEBUG_MUTEXES=y  # CONFIG_LOCK_STAT is not set  CONFIG_DEBUG_SPINLOCK_SLEEP=y  # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -CONFIG_STACKTRACE=y  # CONFIG_DEBUG_KOBJECT is not set  CONFIG_DEBUG_BUGVERBOSE=y  CONFIG_DEBUG_INFO=y @@ -1207,11 +1217,11 @@ CONFIG_FRAME_POINTER=y  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set  # CONFIG_LATENCYTOP is not set  CONFIG_SYSCTL_SYSCALL_CHECK=y  # CONFIG_PAGE_POISONING is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1219,10 +1229,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y  # CONFIG_FUNCTION_TRACER is not set @@ -1234,6 +1241,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1263,7 +1271,8 @@ CONFIG_DUMP_CODE=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig index dba024d72a8..6bd3d95d151 100644 --- a/arch/sh/configs/rts7751r2d1_defconfig +++ b/arch/sh/configs/rts7751r2d1_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:25:36 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:15:07 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_IO_TRAPPED=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -70,7 +73,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -104,7 +106,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -113,7 +114,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -124,6 +124,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -242,6 +243,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -257,7 +259,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -343,7 +345,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -359,9 +360,9 @@ CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -389,7 +390,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -449,7 +449,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -525,6 +524,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -642,6 +642,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -678,7 +679,7 @@ CONFIG_PATA_PLATFORM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -719,6 +720,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -771,6 +773,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -783,6 +787,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -805,6 +810,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -882,6 +888,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -964,6 +971,7 @@ CONFIG_MFD_SM501=y  # CONFIG_MFD_MC13783 is not set  # CONFIG_EZX_PCAP is not set  # CONFIG_AB4500_CORE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -971,6 +979,7 @@ CONFIG_MFD_SM501=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -1152,6 +1161,7 @@ CONFIG_SND_SPI=y  CONFIG_SND_SUPERH=y  CONFIG_SND_USB=y  # CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set  # CONFIG_SND_USB_CAIAQ is not set  # CONFIG_SND_SOC is not set  CONFIG_SOUND_PRIME=m @@ -1170,6 +1180,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1185,14 +1196,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1291,7 +1307,6 @@ CONFIG_USB_LIBUSUAL=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1303,7 +1318,6 @@ CONFIG_USB_LIBUSUAL=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1381,7 +1395,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1442,6 +1455,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1456,6 +1470,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1522,13 +1537,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1536,10 +1550,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1648,7 +1659,8 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig index 6d511d06cbf..487abcc4d4e 100644 --- a/arch/sh/configs/rts7751r2dplus_defconfig +++ b/arch/sh/configs/rts7751r2dplus_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:26:39 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:20:00 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_IO_TRAPPED=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -70,7 +73,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -104,7 +106,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -113,7 +114,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -124,6 +124,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -242,6 +243,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -257,7 +259,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -343,7 +345,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -359,9 +360,9 @@ CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -389,7 +390,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -449,7 +449,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -611,6 +610,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -728,6 +728,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -764,7 +765,7 @@ CONFIG_PATA_PLATFORM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -805,6 +806,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -857,6 +859,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -869,6 +873,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -891,6 +896,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -968,6 +974,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -1050,6 +1057,7 @@ CONFIG_MFD_SM501=y  # CONFIG_MFD_MC13783 is not set  # CONFIG_EZX_PCAP is not set  # CONFIG_AB4500_CORE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1057,6 +1065,7 @@ CONFIG_MFD_SM501=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -1238,6 +1247,7 @@ CONFIG_SND_SPI=y  CONFIG_SND_SUPERH=y  CONFIG_SND_USB=y  # CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set  # CONFIG_SND_USB_CAIAQ is not set  # CONFIG_SND_SOC is not set  CONFIG_SOUND_PRIME=m @@ -1256,6 +1266,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1271,14 +1282,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1377,7 +1393,6 @@ CONFIG_USB_LIBUSUAL=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1389,7 +1404,6 @@ CONFIG_USB_LIBUSUAL=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1467,7 +1481,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1529,6 +1542,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1543,6 +1557,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1609,13 +1624,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1623,10 +1637,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1735,7 +1746,8 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/sdk7780_defconfig b/arch/sh/configs/sdk7780_defconfig index 1859ba09994..fe923142c2c 100644 --- a/arch/sh/configs/sdk7780_defconfig +++ b/arch/sh/configs/sdk7780_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:27:20 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:21:00 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,7 +76,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=18 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -107,8 +109,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y  CONFIG_SLUB_DEBUG=y @@ -126,6 +129,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,11 +241,8 @@ CONFIG_PAGE_OFFSET=0x80000000  CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000 -# CONFIG_29BIT is not set -CONFIG_32BIT=y -CONFIG_PMB_ENABLE=y +CONFIG_29BIT=y  # CONFIG_PMB is not set -CONFIG_PMB_FIXED=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -249,6 +250,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -270,7 +272,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -353,7 +355,7 @@ CONFIG_SCHED_HRTICK=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -369,16 +371,15 @@ CONFIG_CMDLINE="mem=128M console=tty0 console=ttySC0,115200 ip=bootp root=/dev/n  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_LEGACY is not set  CONFIG_PCI_DEBUG=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  CONFIG_PCCARD=y  CONFIG_PCMCIA=y  CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_IOCTL=y  CONFIG_CARDBUS=y  # @@ -417,7 +418,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -659,6 +659,7 @@ CONFIG_BLK_DEV_GENERIC=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -777,6 +778,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -824,7 +826,7 @@ CONFIG_BLK_DEV_DM=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -890,6 +892,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_NET_PCMCIA is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set @@ -995,6 +998,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -1057,6 +1061,7 @@ CONFIG_SSB_DRIVER_PCICORE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1064,6 +1069,7 @@ CONFIG_SSB_DRIVER_PCICORE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1167,6 +1173,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1182,14 +1189,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1288,7 +1300,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1301,7 +1312,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1317,10 +1327,6 @@ CONFIG_LEDS_CLASS=y  #  # LED drivers  # - -# -# LED Triggers -#  # CONFIG_LEDS_TRIGGERS is not set  # CONFIG_ACCESSIBILITY is not set  # CONFIG_INFINIBAND is not set @@ -1416,6 +1422,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1444,6 +1451,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1523,6 +1531,7 @@ CONFIG_TIMER_STATS=y  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_SLUB_DEBUG_ON is not set  # CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1571,6 +1580,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1690,6 +1700,7 @@ CONFIG_CRYPTO_DES=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/sdk7786_defconfig b/arch/sh/configs/sdk7786_defconfig index 9b331eab968..26982459852 100644 --- a/arch/sh/configs/sdk7786_defconfig +++ b/arch/sh/configs/sdk7786_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc7 -# Tue Feb  9 15:27:06 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:03:37 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -18,6 +18,8 @@ CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_LOCKBREAK=y  # CONFIG_ARCH_SUSPEND_POSSIBLE is not set  CONFIG_ARCH_HIBERNATION_POSSIBLE=y  CONFIG_SYS_SUPPORTS_HUGETLBFS=y @@ -35,6 +37,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_COHERENT=y  # CONFIG_DMA_NONCOHERENT is not set +# CONFIG_NEED_DMA_MAP_STATE is not set  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -42,7 +45,6 @@ CONFIG_CONSTRUCTORS=y  # General setup  #  CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y  CONFIG_LOCK_KERNEL=y  CONFIG_INIT_ENV_ARG_LIMIT=32  CONFIG_LOCALVERSION="" @@ -51,25 +53,27 @@ CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y  CONFIG_HAVE_KERNEL_LZO=y -CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_GZIP is not set  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_LZO is not set +CONFIG_KERNEL_LZO=y  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y  CONFIG_POSIX_MQUEUE=y  CONFIG_POSIX_MQUEUE_SYSCTL=y  CONFIG_BSD_PROCESS_ACCT=y -# CONFIG_BSD_PROCESS_ACCT_V3 is not set +CONFIG_BSD_PROCESS_ACCT_V3=y  # CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_TREE=y  #  # RCU Subsystem  # -CONFIG_TREE_RCU=y -# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_TREE_RCU is not set +CONFIG_TREE_PREEMPT_RCU=y  # CONFIG_TINY_RCU is not set  CONFIG_RCU_TRACE=y  CONFIG_RCU_FANOUT=32 @@ -77,32 +81,36 @@ CONFIG_RCU_FANOUT=32  CONFIG_TREE_RCU_TRACE=y  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set +CONFIG_LOG_BUF_SHIFT=17  CONFIG_CGROUPS=y -# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEBUG=y  CONFIG_CGROUP_NS=y  CONFIG_CGROUP_FREEZER=y  CONFIG_CGROUP_DEVICE=y -# CONFIG_CPUSETS is not set +CONFIG_CPUSETS=y +# CONFIG_PROC_PID_CPUSET is not set  CONFIG_CGROUP_CPUACCT=y  CONFIG_RESOURCE_COUNTERS=y  CONFIG_CGROUP_MEM_RES_CTLR=y -# CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set +CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y  CONFIG_MM_OWNER=y  # CONFIG_SYSFS_DEPRECATED_V2 is not set -# CONFIG_RELAY is not set +CONFIG_RELAY=y  CONFIG_NAMESPACES=y  CONFIG_UTS_NS=y  CONFIG_IPC_NS=y  CONFIG_USER_NS=y  CONFIG_PID_NS=y  CONFIG_NET_NS=y -# CONFIG_BLK_DEV_INITRD is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -131,7 +139,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -142,13 +149,15 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  CONFIG_PROFILING=y  CONFIG_TRACEPOINTS=y -# CONFIG_OPROFILE is not set +CONFIG_OPROFILE=m  CONFIG_HAVE_OPROFILE=y -# CONFIG_KPROBES is not set +CONFIG_KPROBES=y +CONFIG_KRETPROBES=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y +CONFIG_USE_GENERIC_SMP_HELPERS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y  CONFIG_HAVE_HW_BREAKPOINT=y @@ -157,7 +166,8 @@ CONFIG_HAVE_HW_BREAKPOINT=y  # GCOV-based kernel profiling  #  # CONFIG_GCOV_KERNEL is not set -# CONFIG_SLOW_WORK is not set +CONFIG_SLOW_WORK=y +CONFIG_SLOW_WORK_DEBUG=y  CONFIG_HAVE_GENERIC_DMA_COHERENT=y  CONFIG_SLABINFO=y  CONFIG_RT_MUTEXES=y @@ -168,9 +178,10 @@ CONFIG_MODULE_UNLOAD=y  # CONFIG_MODULE_FORCE_UNLOAD is not set  # CONFIG_MODVERSIONS is not set  # CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_STOP_MACHINE=y  CONFIG_BLOCK=y -# CONFIG_LBDAF is not set -# CONFIG_BLK_DEV_BSG is not set +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y  # CONFIG_BLK_DEV_INTEGRITY is not set  CONFIG_BLK_CGROUP=y  # CONFIG_DEBUG_BLK_CGROUP is not set @@ -215,7 +226,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"  # CONFIG_INLINE_WRITE_UNLOCK_BH is not set  # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set  # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set -# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_MUTEX_SPIN_ON_OWNER=y  CONFIG_FREEZER=y  # @@ -267,16 +278,15 @@ CONFIG_QUICKLIST=y  CONFIG_MMU=y  CONFIG_PAGE_OFFSET=0x80000000  CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_MEMORY_START=0x60000000 +CONFIG_MEMORY_START=0x40000000  CONFIG_MEMORY_SIZE=0x20000000  # CONFIG_29BIT is not set  CONFIG_32BIT=y  CONFIG_PMB=y -# CONFIG_PMB_LEGACY is not set  CONFIG_X2TLB=y  CONFIG_VSYSCALL=y -# CONFIG_NUMA is not set -CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_NUMA=y +CONFIG_NODES_SHIFT=1  CONFIG_ARCH_SPARSEMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1 @@ -286,21 +296,23 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y  CONFIG_ARCH_MEMORY_PROBE=y  CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set  # CONFIG_PAGE_SIZE_64KB is not set  # CONFIG_HUGETLB_PAGE_SIZE_64K is not set  # CONFIG_HUGETLB_PAGE_SIZE_256K is not set -CONFIG_HUGETLB_PAGE_SIZE_1MB=y +# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set  # CONFIG_HUGETLB_PAGE_SIZE_4MB is not set -# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set +CONFIG_HUGETLB_PAGE_SIZE_64MB=y  # CONFIG_HUGETLB_PAGE_SIZE_512MB is not set  CONFIG_SELECT_MEMORY_MODEL=y  # CONFIG_FLATMEM_MANUAL is not set  # CONFIG_DISCONTIGMEM_MANUAL is not set  CONFIG_SPARSEMEM_MANUAL=y  CONFIG_SPARSEMEM=y +CONFIG_NEED_MULTIPLE_NODES=y  CONFIG_HAVE_MEMORY_PRESENT=y  CONFIG_SPARSEMEM_STATIC=y  CONFIG_MEMORY_HOTPLUG=y @@ -313,6 +325,7 @@ CONFIG_ZONE_DMA_FLAG=0  CONFIG_NR_QUICK=1  CONFIG_KSM=y  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_SCHED_MC=y  #  # Cache configuration @@ -328,6 +341,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_SH_FPU=y  CONFIG_SH_STORE_QUEUES=y +CONFIG_SPECULATIVE_EXECUTION=y  CONFIG_CPU_HAS_INTEVT=y  CONFIG_CPU_HAS_SR_RB=y  CONFIG_CPU_HAS_PTEAEX=y @@ -372,7 +386,10 @@ CONFIG_SH_CPU_FREQ=y  #  # DMA support  # -# CONFIG_SH_DMA is not set +CONFIG_SH_DMA=y +# CONFIG_SH_DMA_API is not set +CONFIG_NR_ONCHIP_DMA_CHANNELS=6 +# CONFIG_NR_DMA_CHANNELS_BOOL is not set  #  # Companion Chips @@ -388,19 +405,21 @@ CONFIG_HEARTBEAT=y  # Kernel features  #  # CONFIG_HZ_100 is not set -CONFIG_HZ_250=y +# CONFIG_HZ_250 is not set  # CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 +CONFIG_HZ_1000=y +CONFIG_HZ=1000  CONFIG_SCHED_HRTICK=y  CONFIG_KEXEC=y -# CONFIG_CRASH_DUMP is not set  CONFIG_SECCOMP=y -# CONFIG_SMP is not set +CONFIG_SMP=y +CONFIG_NR_CPUS=2 +CONFIG_HOTPLUG_CPU=y  # CONFIG_PREEMPT_NONE is not set  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y -CONFIG_GUSA=y +CONFIG_INTC_USERIMASK=y +CONFIG_INTC_BALANCING=y  #  # Boot options @@ -410,7 +429,7 @@ CONFIG_BOOT_LINK_OFFSET=0x00800000  CONFIG_ENTRY_OFFSET=0x00001000  CONFIG_CMDLINE_OVERWRITE=y  # CONFIG_CMDLINE_EXTEND is not set -CONFIG_CMDLINE="console=ttySC1,115200 earlyprintk=sh-sci.1,115200 root=/dev/sda1 nmi_debug=state,debounce rootdelay=10" +CONFIG_CMDLINE="console=ttySC1,115200 earlyprintk=sh-sci.1,115200 root=/dev/sda1 nmi_debug=state,debounce rootdelay=5 pmb=iomap ignore_loglevel"  #  # Bus options @@ -424,8 +443,7 @@ CONFIG_PCIEAER_INJECT=y  CONFIG_PCIEASPM=y  CONFIG_PCIEASPM_DEBUG=y  # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_LEGACY is not set -CONFIG_PCI_DEBUG=y +# CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -435,7 +453,7 @@ CONFIG_PCI_DEBUG=y  # Executable file formats  #  CONFIG_BINFMT_ELF=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y  # CONFIG_HAVE_AOUT is not set  CONFIG_BINFMT_MISC=y @@ -444,9 +462,11 @@ CONFIG_BINFMT_MISC=y  #  CONFIG_PM=y  CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set  CONFIG_PM_VERBOSE=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  CONFIG_CPU_IDLE=y  CONFIG_CPU_IDLE_GOV_LADDER=y  CONFIG_CPU_IDLE_GOV_MENU=y @@ -456,7 +476,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -520,19 +539,14 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set +# CONFIG_NET_TCPPROBE is not set  # CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set  # CONFIG_BT is not set  # CONFIG_AF_RXRPC is not set -CONFIG_WIRELESS=y -# CONFIG_CFG80211 is not set -# CONFIG_LIB80211 is not set - -# -# CFG80211 needs to be enabled for MAC80211 -# +# CONFIG_WIRELESS is not set  # CONFIG_WIMAX is not set  # CONFIG_RFKILL is not set  # CONFIG_NET_9P is not set @@ -553,14 +567,118 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y  # CONFIG_DEBUG_DEVRES is not set  # CONFIG_SYS_HYPERVISOR is not set  # CONFIG_CONNECTOR is not set -# CONFIG_MTD is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +# CONFIG_MTD_CHAR is not set +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_FTL=y +CONFIG_NFTL=y +# CONFIG_NFTL_RW is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +CONFIG_MTD_OOPS=m + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=y +CONFIG_MTD_RAM=y +CONFIG_MTD_ROM=m +CONFIG_MTD_ABSENT=m + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +CONFIG_MTD_PLATRAM=y + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +CONFIG_MTD_PHRAM=y +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +CONFIG_MTD_NAND_PLATFORM=y +# CONFIG_MTD_ALAUDA is not set +CONFIG_MTD_NAND_SH_FLCTL=m +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR flash memory drivers +# +# CONFIG_MTD_LPDDR is not set + +# +# UBI - Unsorted block images +# +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +CONFIG_MTD_UBI_GLUEBI=m + +# +# UBI debugging options +# +# CONFIG_MTD_UBI_DEBUG is not set  # CONFIG_PARPORT is not set  CONFIG_BLK_DEV=y  # CONFIG_BLK_CPQ_CISS_DA is not set  # CONFIG_BLK_DEV_DAC960 is not set  # CONFIG_BLK_DEV_UMEM is not set  # CONFIG_BLK_DEV_COW_COMMON is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=y  #  # DRBD disabled because PROC_FS, INET or CONNECTOR not selected @@ -575,34 +693,63 @@ CONFIG_BLK_DEV_RAM_SIZE=4096  # CONFIG_CDROM_PKTCDVD is not set  # CONFIG_ATA_OVER_ETH is not set  # CONFIG_BLK_DEV_HD is not set -CONFIG_MISC_DEVICES=y -# CONFIG_AD525X_DPOT is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set -# CONFIG_ICS932S401 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_HP_ILO is not set -# CONFIG_ISL29003 is not set -# CONFIG_DS1682 is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_C2PORT is not set +# CONFIG_MISC_DEVICES is not set +CONFIG_HAVE_IDE=y +CONFIG_IDE=y  # -# EEPROM support +# Please see Documentation/ide/ide.txt for help/info on IDE drives  # -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_CB710_CORE is not set -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set +CONFIG_IDE_ATAPI=y +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_IDE_GD=y +CONFIG_IDE_GD_ATA=y +# CONFIG_IDE_GD_ATAPI is not set +CONFIG_BLK_DEV_IDECD=y +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_IDE_TASK_IOCTL is not set +CONFIG_IDE_PROC_FS=y + +# +# IDE chipset support/bugfixes +# +CONFIG_BLK_DEV_PLATFORM=y + +# +# PCI IDE chipsets support +# +# CONFIG_BLK_DEV_GENERIC is not set +# CONFIG_BLK_DEV_OPTI621 is not set +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +# CONFIG_BLK_DEV_CMD64X is not set +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +# CONFIG_BLK_DEV_HPT366 is not set +# CONFIG_BLK_DEV_JMICRON is not set +# CONFIG_BLK_DEV_SC1200 is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_IT8172 is not set +# CONFIG_BLK_DEV_IT8213 is not set +# CONFIG_BLK_DEV_IT821X is not set +# CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +# CONFIG_BLK_DEV_SVWKS is not set +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +# CONFIG_BLK_DEV_TRM290 is not set +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_BLK_DEV_TC86C001 is not set +# CONFIG_BLK_DEV_IDEDMA is not set  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -616,11 +763,12 @@ CONFIG_SCSI_PROC_FS=y  CONFIG_BLK_DEV_SD=y  # CONFIG_CHR_DEV_ST is not set  # CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SR_VENDOR is not set  # CONFIG_CHR_DEV_SG is not set  # CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set +CONFIG_SCSI_MULTI_LUN=y +CONFIG_SCSI_CONSTANTS=y  # CONFIG_SCSI_LOGGING is not set  # CONFIG_SCSI_SCAN_ASYNC is not set  CONFIG_SCSI_WAIT_SCAN=m @@ -631,52 +779,10 @@ CONFIG_SCSI_WAIT_SCAN=m  # CONFIG_SCSI_SPI_ATTRS is not set  # CONFIG_SCSI_FC_ATTRS is not set  # CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set  # CONFIG_SCSI_SAS_LIBSAS is not set  # CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_BNX2_ISCSI is not set -# CONFIG_BE2ISCSI is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_HPSA is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_3W_SAS is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_AIC94XX is not set -# CONFIG_SCSI_MVSAS is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_LIBFC is not set -# CONFIG_LIBFCOE is not set -# CONFIG_FCOE is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_STEX is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -# CONFIG_SCSI_QLA_FC is not set -# CONFIG_SCSI_QLA_ISCSI is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_PMCRAID is not set -# CONFIG_SCSI_PM8001 is not set -# CONFIG_SCSI_SRP is not set -# CONFIG_SCSI_BFA_FC is not set +# CONFIG_SCSI_LOWLEVEL is not set  # CONFIG_SCSI_DH is not set  # CONFIG_SCSI_OSD_INITIATOR is not set  CONFIG_ATA=y @@ -719,6 +825,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -743,7 +850,17 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_WINBOND is not set  CONFIG_PATA_PLATFORM=y  # CONFIG_PATA_SCH is not set -# CONFIG_MD is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +CONFIG_BLK_DEV_DM=y +CONFIG_DM_DEBUG=y +# CONFIG_DM_CRYPT is not set +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +CONFIG_DM_UEVENT=y  # CONFIG_FUSION is not set  # @@ -820,11 +937,7 @@ CONFIG_SMSC911X=y  # CONFIG_NETDEV_1000 is not set  # CONFIG_NETDEV_10000 is not set  # CONFIG_TR is not set -CONFIG_WLAN=y -# CONFIG_ATMEL is not set -# CONFIG_PRISM54 is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set +# CONFIG_WLAN is not set  #  # Enable WiMAX (Networking options) to see the WiMAX drivers @@ -838,6 +951,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -923,7 +1037,7 @@ CONFIG_VT=y  CONFIG_CONSOLE_TRANSLATIONS=y  CONFIG_VT_CONSOLE=y  CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_VT_HW_CONSOLE_BINDING=y  CONFIG_DEVKMEM=y  # CONFIG_SERIAL_NONSTANDARD is not set  # CONFIG_NOZOMI is not set @@ -940,9 +1054,11 @@ CONFIG_DEVKMEM=y  CONFIG_SERIAL_SH_SCI=y  CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SERIAL_SH_SCI_DMA=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -988,6 +1104,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -1001,15 +1118,9 @@ CONFIG_I2C_HELPER_AUTO=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  CONFIG_SPI=y  # CONFIG_SPI_DEBUG is not set  CONFIG_SPI_MASTER=y @@ -1045,7 +1156,8 @@ CONFIG_WATCHDOG=y  #  # CONFIG_SOFT_WATCHDOG is not set  # CONFIG_ALIM7101_WDT is not set -# CONFIG_SH_WDT is not set +CONFIG_SH_WDT=y +# CONFIG_SH_WDT_MMAP is not set  #  # PCI-based Watchdog Cards @@ -1068,6 +1180,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -1075,15 +1188,17 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_MFD_MC13783 is not set  # CONFIG_AB3100_CORE is not set  # CONFIG_EZX_PCAP is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_AB4500_CORE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1091,6 +1206,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_OUTPUT_CONTROL=m @@ -1121,6 +1237,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  # CONFIG_HID_A4TECH is not set  # CONFIG_HID_APPLE is not set  # CONFIG_HID_BELKIN is not set @@ -1135,12 +1252,16 @@ CONFIG_USB_HID=y  # CONFIG_HID_KENSINGTON is not set  # CONFIG_HID_LOGITECH is not set  # CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MOSART is not set  # CONFIG_HID_MONTEREY is not set  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  # CONFIG_HID_PANTHERLORD is not set  # CONFIG_HID_PETALYNX is not set +# CONFIG_HID_QUANTA is not set  # CONFIG_HID_SAMSUNG is not set  # CONFIG_HID_SONY is not set +# CONFIG_HID_STANTUM is not set  # CONFIG_HID_SUNPLUS is not set  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1241,7 +1362,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1253,7 +1373,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  CONFIG_USB_GADGET=y  # CONFIG_USB_GADGET_DEBUG is not set  # CONFIG_USB_GADGET_DEBUG_FILES is not set @@ -1291,6 +1410,7 @@ CONFIG_USB_GADGET_DUALSPEED=y  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -1370,43 +1490,102 @@ CONFIG_RTC_DRV_MAX6900=y  #  CONFIG_RTC_DRV_SH=y  # CONFIG_RTC_DRV_GENERIC is not set -# CONFIG_DMADEVICES is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_SH_DMAE=y +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +# CONFIG_NET_DMA is not set +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set  # CONFIG_AUXDISPLAY is not set  CONFIG_UIO=m  # CONFIG_UIO_CIF is not set -# CONFIG_UIO_PDRV is not set -# CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_SMX is not set +CONFIG_UIO_PDRV=m +CONFIG_UIO_PDRV_GENIRQ=m  # CONFIG_UIO_AEC is not set  # CONFIG_UIO_SERCOS3 is not set -# CONFIG_UIO_PCI_GENERIC is not set +CONFIG_UIO_PCI_GENERIC=m +# CONFIG_UIO_NETX is not set  #  # TI VLYNQ  # -# CONFIG_STAGING is not set +CONFIG_STAGING=y +# CONFIG_STAGING_EXCLUDE_BUILD is not set +# CONFIG_USB_IP_COMMON is not set +# CONFIG_ECHO is not set +# CONFIG_POCH is not set +# CONFIG_COMEDI is not set +# CONFIG_ASUS_OLED is not set +# CONFIG_TRANZPORT is not set + +# +# Qualcomm MSM Camera And Video +# + +# +# Camera Sensor Selection +# +# CONFIG_INPUT_GPIO is not set +# CONFIG_POHMELFS is not set +# CONFIG_IDE_PHISON is not set +# CONFIG_VME_BUS is not set + +# +# RAR Register Driver +# +# CONFIG_RAR_REGISTER is not set +# CONFIG_IIO is not set +CONFIG_RAMZSWAP=m +CONFIG_RAMZSWAP_STATS=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_STRIP is not set +# CONFIG_DT3155 is not set +# CONFIG_CRYSTALHD is not set  #  # File systems  #  CONFIG_EXT2_FS=y -# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT2_FS_XATTR=y +# CONFIG_EXT2_FS_POSIX_ACL is not set +# CONFIG_EXT2_FS_SECURITY is not set  # CONFIG_EXT2_FS_XIP is not set  CONFIG_EXT3_FS=y  # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set  CONFIG_EXT3_FS_XATTR=y  # CONFIG_EXT3_FS_POSIX_ACL is not set  # CONFIG_EXT3_FS_SECURITY is not set -# CONFIG_EXT4_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_XATTR=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_DEBUG is not set  CONFIG_JBD=y  # CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set  CONFIG_FS_MBCACHE=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_XFS_FS=y +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set +# CONFIG_XFS_DEBUG is not set +# CONFIG_GFS2_FS is not set  # CONFIG_OCFS2_FS is not set -# CONFIG_BTRFS_FS is not set +CONFIG_BTRFS_FS=y +# CONFIG_BTRFS_FS_POSIX_ACL is not set  # CONFIG_NILFS2_FS is not set  CONFIG_FILE_LOCKING=y  CONFIG_FSNOTIFY=y @@ -1415,19 +1594,30 @@ CONFIG_INOTIFY=y  CONFIG_INOTIFY_USER=y  # CONFIG_QUOTA is not set  # CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=y +CONFIG_CUSE=m  #  # Caches  # -# CONFIG_FSCACHE is not set +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_STATS is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_HISTOGRAM is not set  #  # CD-ROM/DVD Filesystems  # -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y  #  # DOS/FAT/NT Filesystems @@ -1448,7 +1638,7 @@ CONFIG_TMPFS=y  # CONFIG_TMPFS_POSIX_ACL is not set  CONFIG_HUGETLBFS=y  CONFIG_HUGETLB_PAGE=y -# CONFIG_CONFIGFS_FS is not set +CONFIG_CONFIGFS_FS=y  CONFIG_MISC_FILESYSTEMS=y  # CONFIG_ADFS_FS is not set  # CONFIG_AFFS_FS is not set @@ -1457,30 +1647,60 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set -# CONFIG_CRAMFS is not set -# CONFIG_SQUASHFS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_XATTR is not set +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_LOGFS=m +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3  # CONFIG_VXFS_FS is not set  # CONFIG_MINIX_FS is not set  # CONFIG_OMFS_FS is not set  # CONFIG_HPFS_FS is not set  # CONFIG_QNX4FS_FS is not set -# CONFIG_ROMFS_FS is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_MTD is not set +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +CONFIG_ROMFS_ON_BLOCK=y  # CONFIG_SYSV_FS is not set  # CONFIG_UFS_FS is not set  CONFIG_NETWORK_FILESYSTEMS=y  CONFIG_NFS_FS=y  CONFIG_NFS_V3=y  # CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_V4_1 is not set  CONFIG_ROOT_NFS=y  # CONFIG_NFSD is not set  CONFIG_LOCKD=y  CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=y  CONFIG_NFS_COMMON=y  CONFIG_SUNRPC=y -# CONFIG_RPCSEC_GSS_KRB5 is not set +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1493,7 +1713,7 @@ CONFIG_SUNRPC=y  CONFIG_MSDOS_PARTITION=y  CONFIG_NLS=y  CONFIG_NLS_DEFAULT="iso8859-1" -# CONFIG_NLS_CODEPAGE_437 is not set +CONFIG_NLS_CODEPAGE_437=y  # CONFIG_NLS_CODEPAGE_737 is not set  # CONFIG_NLS_CODEPAGE_775 is not set  # CONFIG_NLS_CODEPAGE_850 is not set @@ -1508,16 +1728,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"  # CONFIG_NLS_CODEPAGE_865 is not set  # CONFIG_NLS_CODEPAGE_866 is not set  # CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=y +CONFIG_NLS_CODEPAGE_949=m  # CONFIG_NLS_CODEPAGE_874 is not set  # CONFIG_NLS_ISO8859_8 is not set  # CONFIG_NLS_CODEPAGE_1250 is not set  # CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -# CONFIG_NLS_ISO8859_1 is not set +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=y  # CONFIG_NLS_ISO8859_2 is not set  # CONFIG_NLS_ISO8859_3 is not set  # CONFIG_NLS_ISO8859_4 is not set @@ -1527,10 +1747,10 @@ CONFIG_NLS_DEFAULT="iso8859-1"  # CONFIG_NLS_ISO8859_9 is not set  # CONFIG_NLS_ISO8859_13 is not set  # CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set +CONFIG_NLS_ISO8859_15=m  # CONFIG_NLS_KOI8_R is not set  # CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_UTF8 is not set +CONFIG_NLS_UTF8=m  # CONFIG_DLM is not set  # @@ -1538,7 +1758,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"  #  CONFIG_TRACE_IRQFLAGS_SUPPORT=y  CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_WARN_DEPRECATED=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set  # CONFIG_ENABLE_MUST_CHECK is not set  CONFIG_FRAME_WARN=1024  CONFIG_MAGIC_SYSRQ=y @@ -1547,7 +1767,7 @@ CONFIG_MAGIC_SYSRQ=y  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_SHIRQ=y +# CONFIG_DEBUG_SHIRQ is not set  CONFIG_DETECT_SOFTLOCKUP=y  # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set  CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 @@ -1555,8 +1775,8 @@ CONFIG_DETECT_HUNG_TASK=y  # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set  CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0  CONFIG_SCHED_DEBUG=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set  CONFIG_DEBUG_PREEMPT=y @@ -1573,24 +1793,28 @@ CONFIG_STACKTRACE=y  # CONFIG_DEBUG_KOBJECT is not set  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_INFO is not set -CONFIG_DEBUG_VM=y +# CONFIG_DEBUG_VM is not set  # CONFIG_DEBUG_WRITECOUNT is not set -# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_DEBUG_MEMORY_INIT=y  # CONFIG_DEBUG_LIST is not set  # CONFIG_DEBUG_SG is not set  # CONFIG_DEBUG_NOTIFIERS is not set  # CONFIG_DEBUG_CREDENTIALS is not set  CONFIG_FRAME_POINTER=y  # CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_CPU_STALL_DETECTOR is not set +CONFIG_RCU_CPU_STALL_DETECTOR=y +# CONFIG_RCU_CPU_STALL_VERBOSE is not set +# CONFIG_KPROBES_SANITY_TEST is not set  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -# CONFIG_SYSCTL_SYSCALL_CHECK is not set +CONFIG_LATENCYTOP=y +CONFIG_SYSCTL_SYSCALL_CHECK=y  # CONFIG_PAGE_POISONING is not set  CONFIG_NOP_TRACER=y +CONFIG_HAVE_FTRACE_NMI_ENTER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1598,16 +1822,19 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y +CONFIG_FTRACE_NMI_ENTER=y  CONFIG_EVENT_TRACING=y  CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y  CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y -# CONFIG_FUNCTION_TRACER is not set +CONFIG_FUNCTION_TRACER=y +# CONFIG_FUNCTION_GRAPH_TRACER is not set  # CONFIG_IRQSOFF_TRACER is not set  # CONFIG_PREEMPT_TRACER is not set  # CONFIG_SCHED_TRACER is not set -# CONFIG_ENABLE_DEFAULT_TRACERS is not set  # CONFIG_FTRACE_SYSCALLS is not set  # CONFIG_BOOT_TRACER is not set  CONFIG_BRANCH_PROFILE_NONE=y @@ -1619,9 +1846,13 @@ CONFIG_KSYM_TRACER=y  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set  # CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set  # CONFIG_RING_BUFFER_BENCHMARK is not set  # CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_API_DEBUG=y  # CONFIG_SAMPLES is not set  CONFIG_HAVE_ARCH_KGDB=y  # CONFIG_KGDB is not set @@ -1632,6 +1863,7 @@ CONFIG_DEBUG_STACK_USAGE=y  CONFIG_DUMP_CODE=y  CONFIG_DWARF_UNWINDER=y  # CONFIG_SH_NO_BSS_INIT is not set +CONFIG_MCOUNT=y  #  # Security options @@ -1649,10 +1881,21 @@ CONFIG_CRYPTO=y  #  # Crypto core or helper  # -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER2 is not set +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y  # CONFIG_CRYPTO_GF128MUL is not set  # CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y  # CONFIG_CRYPTO_CRYPTD is not set  # CONFIG_CRYPTO_AUTHENC is not set  # CONFIG_CRYPTO_TEST is not set @@ -1667,7 +1910,7 @@ CONFIG_CRYPTO=y  #  # Block modes  # -# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CBC=y  # CONFIG_CRYPTO_CTR is not set  # CONFIG_CRYPTO_CTS is not set  # CONFIG_CRYPTO_ECB is not set @@ -1685,10 +1928,10 @@ CONFIG_CRYPTO=y  #  # Digest  # -# CONFIG_CRYPTO_CRC32C is not set +CONFIG_CRYPTO_CRC32C=y  # CONFIG_CRYPTO_GHASH is not set  # CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set +CONFIG_CRYPTO_MD5=y  # CONFIG_CRYPTO_MICHAEL_MIC is not set  # CONFIG_CRYPTO_RMD128 is not set  # CONFIG_CRYPTO_RMD160 is not set @@ -1710,7 +1953,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_CAMELLIA is not set  # CONFIG_CRYPTO_CAST5 is not set  # CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set +CONFIG_CRYPTO_DES=y  # CONFIG_CRYPTO_FCRYPT is not set  # CONFIG_CRYPTO_KHAZAD is not set  # CONFIG_CRYPTO_SALSA20 is not set @@ -1722,9 +1965,9 @@ CONFIG_CRYPTO=y  #  # Compression  # -# CONFIG_CRYPTO_DEFLATE is not set +CONFIG_CRYPTO_DEFLATE=m  # CONFIG_CRYPTO_ZLIB is not set -# CONFIG_CRYPTO_LZO is not set +CONFIG_CRYPTO_LZO=m  #  # Random Number Generation @@ -1732,6 +1975,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  CONFIG_BINARY_PRINTF=y  # @@ -1740,12 +1984,22 @@ CONFIG_BINARY_PRINTF=y  CONFIG_BITREVERSE=y  CONFIG_GENERIC_FIND_LAST_BIT=y  # CONFIG_CRC_CCITT is not set -# CONFIG_CRC16 is not set +CONFIG_CRC16=y  # CONFIG_CRC_T10DIF is not set -# CONFIG_CRC_ITU_T is not set +CONFIG_CRC_ITU_T=m  CONFIG_CRC32=y  # CONFIG_CRC7 is not set -# CONFIG_LIBCRC32C is not set +CONFIG_LIBCRC32C=y +CONFIG_AUDIT_GENERIC=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_BTREE=y  CONFIG_HAS_IOMEM=y  CONFIG_HAS_IOPORT=y  CONFIG_HAS_DMA=y diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig index 43e6780a89d..910eaec934c 100644 --- a/arch/sh/configs/se7206_defconfig +++ b/arch/sh/configs/se7206_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:30:00 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:34:06 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y  CONFIG_POSIX_MQUEUE=y @@ -72,7 +75,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_TREE_RCU_TRACE=y  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  CONFIG_CGROUPS=y  CONFIG_CGROUP_DEBUG=y  CONFIG_CGROUP_NS=y @@ -82,6 +84,7 @@ CONFIG_CGROUP_DEVICE=y  CONFIG_CGROUP_CPUACCT=y  CONFIG_RESOURCE_COUNTERS=y  CONFIG_CGROUP_MEM_RES_CTLR=y +# CONFIG_CGROUP_SCHED is not set  CONFIG_MM_OWNER=y  # CONFIG_SYSFS_DEPRECATED_V2 is not set  CONFIG_RELAY=y @@ -96,6 +99,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -123,7 +127,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -133,7 +136,6 @@ CONFIG_VM_EVENT_COUNTERS=y  CONFIG_SLOB=y  # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -143,6 +145,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -162,7 +165,6 @@ CONFIG_BLOCK=y  CONFIG_LBDAF=y  # CONFIG_BLK_DEV_BSG is not set  # CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CGROUP is not set  #  # IO Schedulers @@ -261,6 +263,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -276,7 +279,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1  # @@ -361,7 +364,6 @@ CONFIG_HZ=1000  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -400,7 +402,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -463,7 +464,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -607,6 +607,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -688,6 +689,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=4  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -799,7 +801,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XATTR is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -853,6 +854,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -881,6 +883,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -919,6 +922,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_SCHEDSTATS is not set  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -929,7 +933,6 @@ CONFIG_DEBUG_PREEMPT=y  # CONFIG_LOCK_STAT is not set  CONFIG_DEBUG_SPINLOCK_SLEEP=y  # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -CONFIG_STACKTRACE=y  # CONFIG_DEBUG_KOBJECT is not set  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_INFO is not set @@ -947,11 +950,11 @@ CONFIG_FRAME_POINTER=y  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  # CONFIG_PAGE_POISONING is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -959,10 +962,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y  # CONFIG_FUNCTION_TRACER is not set @@ -975,6 +975,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1094,7 +1095,8 @@ CONFIG_CRYPTO_LZO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/se7343_defconfig b/arch/sh/configs/se7343_defconfig index ec494e32fa2..586cb1e02be 100644 --- a/arch/sh/configs/se7343_defconfig +++ b/arch/sh/configs/se7343_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:30:41 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:37:31 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -70,11 +73,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -107,7 +105,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -124,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -245,6 +244,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -260,7 +260,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -335,7 +335,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -370,6 +370,7 @@ CONFIG_PM_SLEEP=y  CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -377,7 +378,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -569,6 +569,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -635,6 +636,7 @@ CONFIG_USB_USBNET=y  CONFIG_USB_NET_CDCETHER=y  # CONFIG_USB_NET_CDC_EEM is not set  CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SMSC75XX is not set  # CONFIG_USB_NET_SMSC95XX is not set  # CONFIG_USB_NET_GL620A is not set  # CONFIG_USB_NET_NET1080 is not set @@ -644,6 +646,7 @@ CONFIG_USB_NET_DM9601=y  # CONFIG_USB_NET_CDC_SUBSET is not set  # CONFIG_USB_NET_ZAURUS is not set  # CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -713,6 +716,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=4  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256 @@ -739,6 +743,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -752,15 +757,9 @@ CONFIG_I2C_SH_MOBILE=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -783,6 +782,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -790,12 +790,13 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -878,6 +879,7 @@ CONFIG_SND_DRIVERS=y  CONFIG_SND_SUPERH=y  CONFIG_SND_USB=y  # CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set  # CONFIG_SND_USB_CAIAQ is not set  # CONFIG_SND_SOC is not set  # CONFIG_SOUND_PRIME is not set @@ -895,6 +897,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -910,14 +913,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -997,7 +1005,6 @@ CONFIG_USB_ISP116X_HCD=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1009,7 +1016,6 @@ CONFIG_USB_ISP116X_HCD=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1027,8 +1033,6 @@ CONFIG_RTC_LIB=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  # CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -1115,6 +1119,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1141,6 +1146,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1324,6 +1330,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig index ee87e2b2168..acb3e02a712 100644 --- a/arch/sh/configs/se7619_defconfig +++ b/arch/sh/configs/se7619_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:34:15 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:41:13 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -44,9 +45,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SYSVIPC is not set  # CONFIG_BSD_PROCESS_ACCT is not set @@ -62,7 +65,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set @@ -91,7 +93,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_VM_EVENT_COUNTERS is not set  CONFIG_COMPAT_BRK=y @@ -107,6 +109,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -217,6 +220,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -232,7 +236,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1  # @@ -301,7 +305,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -453,6 +456,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -513,6 +517,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -612,7 +617,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -664,6 +668,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -729,6 +734,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig index 03f4219f208..084fec9e905 100644 --- a/arch/sh/configs/se7705_defconfig +++ b/arch/sh/configs/se7705_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:34:37 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:42:43 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  # CONFIG_SYSVIPC is not set  # CONFIG_POSIX_MQUEUE is not set @@ -67,7 +70,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set @@ -76,6 +78,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -101,7 +104,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -117,6 +120,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -234,6 +238,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -249,7 +254,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -327,7 +332,6 @@ CONFIG_HZ=250  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -362,7 +366,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -562,6 +565,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -679,6 +683,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -798,7 +803,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -863,6 +867,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -885,6 +890,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1026,6 +1032,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7712_defconfig b/arch/sh/configs/se7712_defconfig index cfa58199a36..4487a230466 100644 --- a/arch/sh/configs/se7712_defconfig +++ b/arch/sh/configs/se7712_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:44:56 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:05:15 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -12,8 +12,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -29,6 +29,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -43,9 +44,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -68,7 +71,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -102,8 +104,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y  CONFIG_SLAB=y @@ -119,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -236,6 +240,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -251,7 +256,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -329,7 +334,6 @@ CONFIG_PREEMPT_VOLUNTARY=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -366,7 +370,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -614,6 +617,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -754,6 +758,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -834,11 +839,11 @@ CONFIG_LEDS_CLASS=y  #  # LED drivers  # +CONFIG_LEDS_TRIGGERS=y  #  # LED Triggers  # -CONFIG_LEDS_TRIGGERS=y  # CONFIG_LEDS_TRIGGER_TIMER is not set  # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set  # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set @@ -940,6 +945,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -962,6 +968,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -997,6 +1004,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1042,6 +1050,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1167,6 +1176,7 @@ CONFIG_CRYPTO_DEFLATE=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7721_defconfig b/arch/sh/configs/se7721_defconfig index 201283c829a..7c06b5c0b49 100644 --- a/arch/sh/configs/se7721_defconfig +++ b/arch/sh/configs/se7721_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:46:58 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:06:03 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -12,8 +12,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -44,9 +45,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,11 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -107,8 +105,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y  CONFIG_SLAB=y @@ -124,6 +123,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -241,6 +241,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -256,7 +257,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -334,7 +335,6 @@ CONFIG_PREEMPT_VOLUNTARY=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -371,7 +371,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -620,6 +619,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -687,6 +687,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -764,6 +765,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -829,6 +831,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -844,14 +847,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -946,7 +954,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -958,7 +965,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -973,11 +979,11 @@ CONFIG_LEDS_CLASS=y  #  # LED drivers  # +CONFIG_LEDS_TRIGGERS=y  #  # LED Triggers  # -CONFIG_LEDS_TRIGGERS=y  # CONFIG_LEDS_TRIGGER_TIMER is not set  # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set  # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set @@ -1082,6 +1088,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1163,6 +1170,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1208,6 +1216,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1333,6 +1342,7 @@ CONFIG_CRYPTO_DEFLATE=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig index 4a4efd261d0..42782e7ff8b 100644 --- a/arch/sh/configs/se7722_defconfig +++ b/arch/sh/configs/se7722_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 13:49:15 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:07:07 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,7 +76,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -84,6 +86,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -122,13 +125,13 @@ CONFIG_PROFILING=y  # CONFIG_OPROFILE is not set  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -245,7 +248,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x0c000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_X2TLB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_NUMA=y  CONFIG_NODES_SHIFT=1 @@ -256,6 +259,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -279,7 +284,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -356,7 +361,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -391,6 +396,7 @@ CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -398,7 +404,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -519,6 +524,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -676,6 +682,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -898,6 +905,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -912,6 +920,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -944,6 +953,7 @@ CONFIG_DEBUG_FS=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  CONFIG_HAVE_FUNCTION_TRACER=y @@ -1059,6 +1069,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7724_defconfig b/arch/sh/configs/se7724_defconfig index ab371afe359..ebb4ac4a7d8 100644 --- a/arch/sh/configs/se7724_defconfig +++ b/arch/sh/configs/se7724_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:36:56 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 16:55:41 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -47,9 +48,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,11 +74,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -107,7 +105,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -116,13 +114,13 @@ CONFIG_SLAB=y  # CONFIG_SLOB is not set  # CONFIG_PROFILING is not set  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,8 +235,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -246,6 +244,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -261,7 +261,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -340,7 +340,7 @@ CONFIG_SECCOMP=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -376,6 +376,7 @@ CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -383,7 +384,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  # CONFIG_NET_KEY is not set  CONFIG_INET=y @@ -559,6 +559,7 @@ CONFIG_MTD_NAND_IDS=y  # CONFIG_MTD_NAND_NANDSIM is not set  # CONFIG_MTD_NAND_PLATFORM is not set  # CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_NAND_SH_FLCTL is not set  # CONFIG_MTD_ONENAND is not set  # @@ -600,6 +601,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ICS932S401 is not set  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_TI_DAC7512 is not set  # CONFIG_C2PORT is not set @@ -619,6 +621,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -726,6 +729,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -805,6 +809,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -833,6 +838,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -846,15 +852,9 @@ CONFIG_I2C_SH_MOBILE=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  CONFIG_SPI=y  CONFIG_SPI_MASTER=y @@ -885,13 +885,16 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -923,22 +926,25 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_MFD_MC13783 is not set  # CONFIG_AB3100_CORE is not set  # CONFIG_EZX_PCAP is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_AB4500_CORE is not set  # CONFIG_REGULATOR is not set  CONFIG_MEDIA_SUPPORT=y @@ -1001,7 +1007,9 @@ CONFIG_USB_GSPCA=m  # CONFIG_USB_M5602 is not set  # CONFIG_USB_STV06XX is not set  # CONFIG_USB_GL860 is not set +# CONFIG_USB_GSPCA_BENQ is not set  # CONFIG_USB_GSPCA_CONEX is not set +# CONFIG_USB_GSPCA_CPIA1 is not set  # CONFIG_USB_GSPCA_ETOMS is not set  # CONFIG_USB_GSPCA_FINEPIX is not set  # CONFIG_USB_GSPCA_JEILINJ is not set @@ -1009,9 +1017,11 @@ CONFIG_USB_GSPCA=m  # CONFIG_USB_GSPCA_MR97310A is not set  # CONFIG_USB_GSPCA_OV519 is not set  # CONFIG_USB_GSPCA_OV534 is not set +# CONFIG_USB_GSPCA_OV534_9 is not set  # CONFIG_USB_GSPCA_PAC207 is not set  # CONFIG_USB_GSPCA_PAC7302 is not set  # CONFIG_USB_GSPCA_PAC7311 is not set +# CONFIG_USB_GSPCA_SN9C2028 is not set  # CONFIG_USB_GSPCA_SN9C20X is not set  # CONFIG_USB_GSPCA_SONIXB is not set  # CONFIG_USB_GSPCA_SONIXJ is not set @@ -1033,6 +1043,7 @@ CONFIG_USB_GSPCA=m  # CONFIG_VIDEO_PVRUSB2 is not set  # CONFIG_VIDEO_HDPVR is not set  # CONFIG_VIDEO_EM28XX is not set +# CONFIG_VIDEO_TLG2300 is not set  # CONFIG_VIDEO_CX231XX is not set  # CONFIG_VIDEO_USBVISION is not set  # CONFIG_USB_ET61X251 is not set @@ -1147,6 +1158,7 @@ CONFIG_SND_VERBOSE_PROCFS=y  # CONFIG_SND_SUPERH is not set  CONFIG_SND_USB=y  # CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set  # CONFIG_SND_USB_CAIAQ is not set  CONFIG_SND_SOC=m @@ -1155,6 +1167,7 @@ CONFIG_SND_SOC=m  #  CONFIG_SND_SOC_SH4_FSI=m  CONFIG_SND_FSI_AK4642=y +# CONFIG_SND_FSI_DA7210 is not set  CONFIG_SND_SOC_I2C_AND_SPI=m  CONFIG_SND_SOC_ALL_CODECS=m  CONFIG_SND_SOC_WM_HUBS=m @@ -1167,6 +1180,7 @@ CONFIG_SND_SOC_AK4535=m  CONFIG_SND_SOC_AK4642=m  CONFIG_SND_SOC_AK4671=m  CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_DA7210=m  CONFIG_SND_SOC_L3=m  CONFIG_SND_SOC_PCM3008=m  CONFIG_SND_SOC_SPDIF=m @@ -1189,17 +1203,21 @@ CONFIG_SND_SOC_WM8753=m  CONFIG_SND_SOC_WM8776=m  CONFIG_SND_SOC_WM8900=m  CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m  CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8955=m  CONFIG_SND_SOC_WM8960=m  CONFIG_SND_SOC_WM8961=m  CONFIG_SND_SOC_WM8971=m  CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m  CONFIG_SND_SOC_WM8988=m  CONFIG_SND_SOC_WM8990=m  CONFIG_SND_SOC_WM8993=m  CONFIG_SND_SOC_WM9081=m  CONFIG_SND_SOC_MAX9877=m  CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_WM2000=m  # CONFIG_SOUND_PRIME is not set  CONFIG_HID_SUPPORT=y  CONFIG_HID=y @@ -1215,6 +1233,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  # CONFIG_HID_A4TECH is not set  # CONFIG_HID_APPLE is not set  # CONFIG_HID_BELKIN is not set @@ -1229,12 +1248,16 @@ CONFIG_USB_HID=y  # CONFIG_HID_KENSINGTON is not set  # CONFIG_HID_LOGITECH is not set  # CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MOSART is not set  # CONFIG_HID_MONTEREY is not set  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  # CONFIG_HID_PANTHERLORD is not set  # CONFIG_HID_PETALYNX is not set +# CONFIG_HID_QUANTA is not set  # CONFIG_HID_SAMSUNG is not set  # CONFIG_HID_SONY is not set +# CONFIG_HID_STANTUM is not set  # CONFIG_HID_SUNPLUS is not set  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1327,7 +1350,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1339,7 +1361,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  CONFIG_USB_GADGET=y  # CONFIG_USB_GADGET_DEBUG_FILES is not set  CONFIG_USB_GADGET_VBUS_DRAW=2 @@ -1378,6 +1399,7 @@ CONFIG_USB_G_SERIAL=m  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -1401,10 +1423,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y  # MMC/SD/SDIO Host Controller Drivers  #  # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set  CONFIG_MMC_SPI=y -# CONFIG_MMC_TMIO is not set  # CONFIG_MEMSTICK is not set  # CONFIG_NEW_LEDS is not set  # CONFIG_ACCESSIBILITY is not set @@ -1480,8 +1499,6 @@ CONFIG_RTC_DRV_PCF8563=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -1566,6 +1583,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set  # CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1594,6 +1612,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1786,6 +1805,7 @@ CONFIG_CRYPTO_CBC=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig index b15a44e2ec4..e096c3e7e18 100644 --- a/arch/sh/configs/se7750_defconfig +++ b/arch/sh/configs/se7750_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:39:10 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:00:16 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -70,7 +73,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -103,7 +105,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -120,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,6 +240,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -252,7 +256,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -329,7 +333,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -364,7 +367,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -580,6 +582,7 @@ CONFIG_IDE_PROC_FS=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -698,6 +701,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -816,7 +820,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -885,6 +888,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -907,6 +911,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1063,6 +1068,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7751_defconfig b/arch/sh/configs/se7751_defconfig index d1effdeaa41..84d3facf6a3 100644 --- a/arch/sh/configs/se7751_defconfig +++ b/arch/sh/configs/se7751_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:39:56 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:03:26 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,7 +72,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -80,6 +82,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -106,7 +109,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -123,6 +126,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -240,6 +244,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -255,7 +260,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -333,7 +338,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -369,7 +373,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -589,6 +592,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -666,6 +670,7 @@ CONFIG_DEVKMEM=y  # Non-8250 serial port support  #  # CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -785,7 +790,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -854,6 +858,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -868,6 +873,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1012,6 +1018,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/se7780_defconfig b/arch/sh/configs/se7780_defconfig index 58533d50f06..f0d7e679e75 100644 --- a/arch/sh/configs/se7780_defconfig +++ b/arch/sh/configs/se7780_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:40:32 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:06:12 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -100,7 +103,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -117,6 +120,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -238,6 +242,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -253,7 +258,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -328,6 +333,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -343,9 +349,9 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -362,7 +368,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -571,6 +576,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -714,7 +720,7 @@ CONFIG_SATA_SIL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -772,6 +778,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -807,6 +814,7 @@ CONFIG_WLAN=y  # CONFIG_USB_KAWETH is not set  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_PPP is not set @@ -878,6 +886,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  # CONFIG_LEGACY_PTYS is not set @@ -928,6 +937,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -935,6 +945,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1032,6 +1043,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1047,14 +1059,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1148,7 +1165,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1161,7 +1177,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1192,7 +1207,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -1211,6 +1225,7 @@ CONFIG_INOTIFY_USER=y  #  # Caches  # +# CONFIG_FSCACHE is not set  #  # CD-ROM/DVD Filesystems @@ -1332,6 +1347,7 @@ CONFIG_DEBUG_FS=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  CONFIG_HAVE_FUNCTION_TRACER=y @@ -1442,6 +1458,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/sh03_defconfig b/arch/sh/configs/sh03_defconfig index 666fde110b2..562147d333e 100644 --- a/arch/sh/configs/sh03_defconfig +++ b/arch/sh/configs/sh03_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:41:25 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:10:00 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,7 +76,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -84,6 +86,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -111,7 +114,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -120,7 +122,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=m  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -131,6 +132,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -250,6 +252,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -265,7 +268,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -342,7 +345,6 @@ CONFIG_HZ=250  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -358,9 +360,9 @@ CONFIG_CMDLINE="console=ttySC1,115200 mem=64M root=/dev/nfs"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -388,7 +390,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -453,7 +454,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -574,6 +574,7 @@ CONFIG_IDE_PROC_FS=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=m  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=m  CONFIG_SCSI_DMA=y @@ -664,7 +665,7 @@ CONFIG_SCSI_LOWLEVEL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -704,6 +705,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -751,6 +753,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -763,6 +767,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -853,6 +858,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -927,6 +933,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -934,6 +941,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1075,6 +1083,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1105,6 +1114,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1187,13 +1197,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1201,10 +1210,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1323,7 +1329,8 @@ CONFIG_CRYPTO_DEFLATE=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig index 35a3beeba18..98485ca4639 100644 --- a/arch/sh/configs/sh7710voipgw_defconfig +++ b/arch/sh/configs/sh7710voipgw_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 14:43:04 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:14:59 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -30,6 +30,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -44,9 +45,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -68,11 +71,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -105,7 +103,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -122,6 +120,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -240,6 +239,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -255,7 +255,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -331,7 +331,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -367,7 +366,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -620,6 +618,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -723,6 +722,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256 @@ -824,7 +824,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -890,6 +889,7 @@ CONFIG_JFFS2_ZLIB=y  # CONFIG_JFFS2_LZO is not set  CONFIG_JFFS2_RTIME=y  # CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -904,6 +904,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -934,6 +935,7 @@ CONFIG_DEBUG_FS=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  CONFIG_HAVE_FUNCTION_TRACER=y @@ -1049,6 +1051,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/sh7724_generic_defconfig b/arch/sh/configs/sh7724_generic_defconfig index a3056b69d2b..a6a9e6887ef 100644 --- a/arch/sh/configs/sh7724_generic_defconfig +++ b/arch/sh/configs/sh7724_generic_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:03:45 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:17:36 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  # CONFIG_BSD_PROCESS_ACCT is not set @@ -65,11 +68,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=17 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  CONFIG_CGROUPS=y  # CONFIG_CGROUP_DEBUG is not set  # CONFIG_CGROUP_NS is not set @@ -78,6 +76,7 @@ CONFIG_CGROUPS=y  # CONFIG_CPUSETS is not set  # CONFIG_CGROUP_CPUACCT is not set  # CONFIG_RESOURCE_COUNTERS is not set +# CONFIG_CGROUP_SCHED is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set  # CONFIG_BLK_DEV_INITRD is not set @@ -106,7 +105,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  # CONFIG_COMPAT_BRK is not set @@ -114,21 +112,19 @@ CONFIG_VM_EVENT_COUNTERS=y  CONFIG_SLUB=y  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling  # -# CONFIG_GCOV_KERNEL is not set  # CONFIG_SLOW_WORK is not set  CONFIG_HAVE_GENERIC_DMA_COHERENT=y  CONFIG_RT_MUTEXES=y @@ -138,7 +134,6 @@ CONFIG_BLOCK=y  CONFIG_LBDAF=y  # CONFIG_BLK_DEV_BSG is not set  # CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CGROUP is not set  #  # IO Schedulers @@ -235,8 +230,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -246,6 +241,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -262,7 +259,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -353,7 +350,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -390,6 +387,7 @@ CONFIG_HIBERNATION_NVS=y  CONFIG_HIBERNATION=y  CONFIG_PM_STD_PARTITION=""  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  CONFIG_CPU_IDLE=y  CONFIG_CPU_IDLE_GOV_LADDER=y  CONFIG_CPU_IDLE_GOV_MENU=y @@ -428,6 +426,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -467,6 +466,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -491,6 +491,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -502,15 +503,9 @@ CONFIG_I2C_SH_MOBILE=y  # Other I2C/SMBus bus drivers  #  # CONFIG_I2C_PCA_PLATFORM is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -533,6 +528,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -540,12 +536,13 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -629,8 +626,6 @@ CONFIG_RTC_DRV_SH=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -643,7 +638,6 @@ CONFIG_UIO_PDRV_GENIRQ=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -707,15 +701,12 @@ CONFIG_FRAME_WARN=1024  # CONFIG_MAGIC_SYSRQ is not set  # CONFIG_STRIP_ASM_SYMS is not set  # CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set  # CONFIG_LATENCYTOP is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -723,13 +714,9 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set -# CONFIG_DYNAMIC_DEBUG is not set  # CONFIG_DMA_API_DEBUG is not set  # CONFIG_SAMPLES is not set  CONFIG_HAVE_ARCH_KGDB=y @@ -747,7 +734,8 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig index 04b841b2942..6f308b71f81 100644 --- a/arch/sh/configs/sh7763rdp_defconfig +++ b/arch/sh/configs/sh7763rdp_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:05:29 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:19:21 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -69,11 +72,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -112,7 +110,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -120,7 +117,6 @@ CONFIG_SLAB=y  # CONFIG_SLUB is not set  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set @@ -131,6 +127,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -243,7 +240,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x0c000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set +# CONFIG_PMB is not set  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -253,6 +250,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -269,7 +267,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -344,7 +342,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -381,7 +379,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -444,7 +441,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"  # Network testing  #  # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  # CONFIG_CAN is not set  # CONFIG_IRDA is not set @@ -585,6 +581,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -689,6 +686,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -754,6 +752,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=3  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -945,7 +944,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -957,7 +955,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -980,9 +977,6 @@ CONFIG_MMC_BLOCK_BOUNCE=y  # MMC/SD/SDIO Host Controller Drivers  #  # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set -# CONFIG_MMC_TMIO is not set  # CONFIG_MEMSTICK is not set  # CONFIG_NEW_LEDS is not set  # CONFIG_ACCESSIBILITY is not set @@ -1074,6 +1068,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1096,6 +1091,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1162,13 +1158,12 @@ CONFIG_FRAME_WARN=1024  CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  # CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1176,10 +1171,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set  # CONFIG_DYNAMIC_DEBUG is not set @@ -1287,7 +1279,8 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/sh7770_generic_defconfig b/arch/sh/configs/sh7770_generic_defconfig index 7b247053ece..4327f898baa 100644 --- a/arch/sh/configs/sh7770_generic_defconfig +++ b/arch/sh/configs/sh7770_generic_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:06:28 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:20:25 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -45,9 +46,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  # CONFIG_BSD_PROCESS_ACCT is not set @@ -64,11 +67,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=17 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  CONFIG_CGROUPS=y  # CONFIG_CGROUP_DEBUG is not set  # CONFIG_CGROUP_NS is not set @@ -77,6 +75,7 @@ CONFIG_CGROUPS=y  # CONFIG_CPUSETS is not set  # CONFIG_CGROUP_CPUACCT is not set  # CONFIG_RESOURCE_COUNTERS is not set +# CONFIG_CGROUP_SCHED is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set  # CONFIG_BLK_DEV_INITRD is not set @@ -105,7 +104,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  # CONFIG_COMPAT_BRK is not set @@ -113,7 +111,6 @@ CONFIG_VM_EVENT_COUNTERS=y  CONFIG_SLUB=y  # CONFIG_SLOB is not set  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  CONFIG_HAVE_IOREMAP_PROT=y @@ -123,11 +120,11 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling  # -# CONFIG_GCOV_KERNEL is not set  # CONFIG_SLOW_WORK is not set  CONFIG_HAVE_GENERIC_DMA_COHERENT=y  CONFIG_RT_MUTEXES=y @@ -137,7 +134,6 @@ CONFIG_BLOCK=y  CONFIG_LBDAF=y  # CONFIG_BLK_DEV_BSG is not set  # CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CGROUP is not set  #  # IO Schedulers @@ -232,7 +228,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set +# CONFIG_PMB is not set  CONFIG_VSYSCALL=y  CONFIG_ARCH_FLATMEM_ENABLE=y  CONFIG_ARCH_SPARSEMEM_ENABLE=y @@ -242,6 +238,7 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -258,7 +255,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -347,7 +344,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -382,6 +379,7 @@ CONFIG_HIBERNATION_NVS=y  CONFIG_HIBERNATION=y  CONFIG_PM_STD_PARTITION=""  # CONFIG_PM_RUNTIME is not set +CONFIG_PM_OPS=y  CONFIG_CPU_IDLE=y  CONFIG_CPU_IDLE_GOV_LADDER=y  CONFIG_CPU_IDLE_GOV_MENU=y @@ -420,6 +418,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -459,6 +458,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=6  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -483,6 +483,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  CONFIG_I2C_SH_MOBILE=y  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -494,15 +495,9 @@ CONFIG_I2C_SH_MOBILE=y  # Other I2C/SMBus bus drivers  #  # CONFIG_I2C_PCA_PLATFORM is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -525,6 +520,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  # CONFIG_MFD_SM501 is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -532,12 +528,13 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -621,8 +618,6 @@ CONFIG_RTC_DRV_SH=y  CONFIG_UIO=y  # CONFIG_UIO_PDRV is not set  CONFIG_UIO_PDRV_GENIRQ=y -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -635,7 +630,6 @@ CONFIG_UIO_PDRV_GENIRQ=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -699,15 +693,12 @@ CONFIG_FRAME_WARN=1024  # CONFIG_MAGIC_SYSRQ is not set  # CONFIG_STRIP_ASM_SYMS is not set  # CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y  # CONFIG_HEADERS_CHECK is not set  # CONFIG_DEBUG_KERNEL is not set -CONFIG_STACKTRACE=y  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  # CONFIG_RCU_CPU_STALL_DETECTOR is not set  # CONFIG_LATENCYTOP is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -715,13 +706,9 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  # CONFIG_FTRACE is not set -# CONFIG_DYNAMIC_DEBUG is not set  # CONFIG_DMA_API_DEBUG is not set  # CONFIG_SAMPLES is not set  CONFIG_HAVE_ARCH_KGDB=y @@ -739,7 +726,8 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/sh7785lcr_32bit_defconfig b/arch/sh/configs/sh7785lcr_32bit_defconfig index 8330813b0c1..e9af616b216 100644 --- a/arch/sh/configs/sh7785lcr_32bit_defconfig +++ b/arch/sh/configs/sh7785lcr_32bit_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:07:40 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:22:09 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -74,11 +77,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_SYSFS_DEPRECATED_V2 is not set  # CONFIG_RELAY is not set @@ -112,7 +110,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  CONFIG_PERF_COUNTERS=y  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -126,13 +123,13 @@ CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  CONFIG_KPROBES=y  CONFIG_KRETPROBES=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -246,12 +243,9 @@ CONFIG_PAGE_OFFSET=0x80000000  CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x40000000  CONFIG_MEMORY_SIZE=0x20000000 -# CONFIG_29BIT is not set -CONFIG_32BIT=y -CONFIG_PMB_ENABLE=y +CONFIG_29BIT=y  # CONFIG_PMB is not set -CONFIG_PMB_FIXED=y -# CONFIG_X2TLB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  # CONFIG_NUMA is not set  CONFIG_ARCH_FLATMEM_ENABLE=y @@ -262,6 +256,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -284,7 +280,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -302,6 +298,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_SH_FPU=y  CONFIG_SH_STORE_QUEUES=y +# CONFIG_SPECULATIVE_EXECUTION is not set  CONFIG_CPU_HAS_INTEVT=y  CONFIG_CPU_HAS_SR_RB=y  CONFIG_CPU_HAS_FPU=y @@ -311,7 +308,7 @@ CONFIG_CPU_HAS_FPU=y  #  # CONFIG_SH_HIGHLANDER is not set  CONFIG_SH_SH7785LCR=y -# CONFIG_SH_SH7785LCR_PT is not set +CONFIG_SH_SH7785LCR_29BIT_PHYSMAPS=y  #  # Timer and clock configuration @@ -374,7 +371,7 @@ CONFIG_SECCOMP=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -CONFIG_SPARSE_IRQ=y +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -389,9 +386,9 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_LEGACY is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set  # CONFIG_PCCARD is not set @@ -421,7 +418,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -633,6 +629,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -706,6 +703,7 @@ CONFIG_SATA_SIL=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -742,7 +740,7 @@ CONFIG_SATA_SIL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -797,6 +795,7 @@ CONFIG_R8169=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -901,6 +900,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  CONFIG_DEVPTS_MULTIPLE_INSTANCES=y  # CONFIG_LEGACY_PTYS is not set @@ -947,6 +947,7 @@ CONFIG_I2C_ALGOPCA=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -960,15 +961,9 @@ CONFIG_I2C_ALGOPCA=y  #  CONFIG_I2C_PCA_PLATFORM=y  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -1011,6 +1006,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  CONFIG_MFD_SM501=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -1018,12 +1014,14 @@ CONFIG_MFD_SM501=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1209,6 +1207,7 @@ CONFIG_SND_CMIPCI=y  # CONFIG_SND_SUPERH is not set  CONFIG_SND_USB=y  # CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set  # CONFIG_SND_USB_CAIAQ is not set  # CONFIG_SND_SOC is not set  # CONFIG_SOUND_PRIME is not set @@ -1226,6 +1225,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=m  CONFIG_HID_APPLE=m  CONFIG_HID_BELKIN=m @@ -1242,14 +1242,19 @@ CONFIG_HID_KENSINGTON=m  CONFIG_HID_LOGITECH=m  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=m +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=m  CONFIG_HID_NTRIG=m +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=m  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=m +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=m  CONFIG_HID_SONY=m +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=m  CONFIG_HID_GREENASIA=m  # CONFIG_GREENASIA_FF is not set @@ -1273,7 +1278,6 @@ CONFIG_USB=y  # CONFIG_USB_DEVICEFS is not set  CONFIG_USB_DEVICE_CLASS=y  # CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set  # CONFIG_USB_OTG is not set  # CONFIG_USB_OTG_WHITELIST is not set  # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -1351,7 +1355,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1364,7 +1367,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1390,10 +1392,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y  CONFIG_MMC_SDHCI=m  # CONFIG_MMC_SDHCI_PCI is not set  CONFIG_MMC_SDHCI_PLTFM=m -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set  # CONFIG_MMC_TIFM_SD is not set -# CONFIG_MMC_TMIO is not set  # CONFIG_MMC_CB710 is not set  # CONFIG_MMC_VIA_SDMMC is not set  # CONFIG_MEMSTICK is not set @@ -1460,6 +1459,7 @@ CONFIG_RTC_DRV_RS5C372=y  # CONFIG_RTC_DRV_SH is not set  # CONFIG_RTC_DRV_GENERIC is not set  CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set  #  # DMA Devices @@ -1469,10 +1469,10 @@ CONFIG_UIO=m  # CONFIG_UIO_CIF is not set  # CONFIG_UIO_PDRV is not set  # CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_SMX is not set  # CONFIG_UIO_AEC is not set  # CONFIG_UIO_SERCOS3 is not set  # CONFIG_UIO_PCI_GENERIC is not set +# CONFIG_UIO_NETX is not set  #  # TI VLYNQ @@ -1556,6 +1556,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1586,6 +1587,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1660,6 +1662,7 @@ CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_MEMORY_INIT is not set  CONFIG_FRAME_POINTER=y  # CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LKDTM is not set  CONFIG_LATENCYTOP=y  CONFIG_SYSCTL_SYSCALL_CHECK=y  CONFIG_NOP_TRACER=y @@ -1690,6 +1693,7 @@ CONFIG_SCHED_TRACER=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  CONFIG_STACK_TRACER=y  CONFIG_KMEMTRACE=y  CONFIG_WORKQUEUE_TRACER=y @@ -1815,6 +1819,7 @@ CONFIG_CRYPTO_DES=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set +# CONFIG_VIRTUALIZATION is not set  CONFIG_BINARY_PRINTF=y  # diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig index f196e87c766..30f38c2767b 100644 --- a/arch/sh/configs/sh7785lcr_defconfig +++ b/arch/sh/configs/sh7785lcr_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:09:09 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:27:53 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,11 +76,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -124,13 +122,13 @@ CONFIG_PROFILING=y  # CONFIG_OPROFILE is not set  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -244,8 +242,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  # CONFIG_NUMA is not set  CONFIG_ARCH_FLATMEM_ENABLE=y @@ -254,6 +252,8 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -269,7 +269,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -287,6 +287,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_SH_FPU=y  CONFIG_SH_STORE_QUEUES=y +# CONFIG_SPECULATIVE_EXECUTION is not set  CONFIG_CPU_HAS_INTEVT=y  CONFIG_CPU_HAS_SR_RB=y  CONFIG_CPU_HAS_FPU=y @@ -344,7 +345,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -359,9 +360,9 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -387,7 +388,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -598,6 +598,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -671,6 +672,7 @@ CONFIG_SATA_SIL=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -707,7 +709,7 @@ CONFIG_SATA_SIL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -766,6 +768,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -851,6 +854,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -899,6 +903,7 @@ CONFIG_I2C_ALGOPCA=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -912,15 +917,9 @@ CONFIG_I2C_ALGOPCA=y  #  CONFIG_I2C_PCA_PLATFORM=y  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -943,6 +942,7 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  CONFIG_MFD_SM501=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set @@ -950,12 +950,14 @@ CONFIG_MFD_SM501=y  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -963,6 +965,7 @@ CONFIG_MFD_SM501=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1059,6 +1062,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1074,14 +1078,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1182,7 +1191,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1195,7 +1203,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  CONFIG_USB_TEST=m  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1353,6 +1360,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1383,6 +1391,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1461,6 +1470,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  CONFIG_DEBUG_PREEMPT=y  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set @@ -1509,6 +1519,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1633,6 +1644,7 @@ CONFIG_CRYPTO_DES=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig index 45441c0ab30..4ba2705c7a4 100644 --- a/arch/sh/configs/shmin_defconfig +++ b/arch/sh/configs/shmin_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:10:09 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:32:23 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -12,8 +12,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -29,6 +29,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -43,9 +44,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  # CONFIG_SYSVIPC is not set  # CONFIG_POSIX_MQUEUE is not set @@ -65,7 +68,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  # CONFIG_RELAY is not set  # CONFIG_NAMESPACES is not set @@ -95,7 +97,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -111,6 +113,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -222,6 +225,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -237,7 +241,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -312,7 +316,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -544,6 +547,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -625,6 +629,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -719,7 +724,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -773,6 +777,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -797,6 +802,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -936,6 +942,7 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig index ecf50cda4cb..42f6bd34440 100644 --- a/arch/sh/configs/shx3_defconfig +++ b/arch/sh/configs/shx3_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:10:45 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:08:45 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -28,6 +28,7 @@ CONFIG_SYS_SUPPORTS_NUMA=y  CONFIG_SYS_SUPPORTS_TMU=y  CONFIG_STACKTRACE_SUPPORT=y  CONFIG_LOCKDEP_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y  # CONFIG_ARCH_HAS_ILOG2_U32 is not set  # CONFIG_ARCH_HAS_ILOG2_U64 is not set  CONFIG_ARCH_NO_VIRT_TO_BUS=y @@ -35,6 +36,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_COHERENT=y  # CONFIG_DMA_NONCOHERENT is not set +# CONFIG_NEED_DMA_MAP_STATE is not set  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -49,9 +51,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,15 +77,11 @@ CONFIG_TREE_RCU=y  CONFIG_RCU_TRACE=y  CONFIG_RCU_FANOUT=32  # CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_FAST_NO_HZ is not set  CONFIG_TREE_RCU_TRACE=y  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_USER_SCHED=y -# CONFIG_CGROUP_SCHED is not set  CONFIG_CGROUPS=y  # CONFIG_CGROUP_DEBUG is not set  CONFIG_CGROUP_NS=y @@ -92,6 +92,7 @@ CONFIG_CGROUP_CPUACCT=y  CONFIG_RESOURCE_COUNTERS=y  CONFIG_CGROUP_MEM_RES_CTLR=y  # CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set +# CONFIG_CGROUP_SCHED is not set  CONFIG_MM_OWNER=y  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -131,7 +132,6 @@ CONFIG_PERF_USE_VMALLOC=y  # Kernel Performance Events And Counters  #  CONFIG_PERF_EVENTS=y -CONFIG_EVENT_PROFILE=y  # CONFIG_PERF_COUNTERS is not set  # CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y @@ -140,12 +140,10 @@ CONFIG_COMPAT_BRK=y  # CONFIG_SLUB is not set  CONFIG_SLOB=y  CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y  CONFIG_OPROFILE=y  CONFIG_HAVE_OPROFILE=y  CONFIG_KPROBES=y  CONFIG_KRETPROBES=y -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y @@ -153,6 +151,7 @@ CONFIG_HAVE_DMA_ATTRS=y  CONFIG_USE_GENERIC_SMP_HELPERS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -173,7 +172,6 @@ CONFIG_BLOCK=y  CONFIG_LBDAF=y  # CONFIG_BLK_DEV_BSG is not set  # CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CGROUP is not set  #  # IO Schedulers @@ -269,8 +267,8 @@ CONFIG_FORCE_MAX_ZONEORDER=7  CONFIG_MEMORY_START=0x0c000000  CONFIG_MEMORY_SIZE=0x04000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_NUMA=y  CONFIG_NODES_SHIFT=3 @@ -282,6 +280,8 @@ CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y  CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  # CONFIG_PAGE_SIZE_4KB is not set  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -307,7 +307,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096  CONFIG_SCHED_MC=y @@ -392,14 +392,14 @@ CONFIG_HZ_250=y  CONFIG_HZ=250  CONFIG_SCHED_HRTICK=y  CONFIG_KEXEC=y -# CONFIG_CRASH_DUMP is not set  CONFIG_SECCOMP=y  CONFIG_SMP=y  CONFIG_NR_CPUS=4 +# CONFIG_HOTPLUG_CPU is not set  # CONFIG_PREEMPT_NONE is not set  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -518,7 +518,6 @@ CONFIG_IPV6_NDISC_NODETYPE=y  #  # CONFIG_NET_PKTGEN is not set  # CONFIG_NET_TCPPROBE is not set -# CONFIG_NET_DROP_MONITOR is not set  # CONFIG_HAMRADIO is not set  CONFIG_CAN=m  CONFIG_CAN_RAW=m @@ -583,6 +582,7 @@ CONFIG_MISC_DEVICES=y  # CONFIG_ICS932S401 is not set  # CONFIG_ENCLOSURE_SERVICES is not set  # CONFIG_ISL29003 is not set +# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_DS1682 is not set  # CONFIG_TI_DAC7512 is not set  # CONFIG_C2PORT is not set @@ -601,6 +601,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -693,6 +694,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -734,6 +736,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -760,6 +763,7 @@ CONFIG_I2C_HELPER_AUTO=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -773,15 +777,9 @@ CONFIG_I2C_HELPER_AUTO=y  #  # CONFIG_I2C_PCA_PLATFORM is not set  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  CONFIG_SPI=y  # CONFIG_SPI_DEBUG is not set  CONFIG_SPI_MASTER=y @@ -838,10 +836,9 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_MFD_MC13783 is not set -# CONFIG_AB3100_CORE is not set  # CONFIG_EZX_PCAP is not set  # CONFIG_AB4500_CORE is not set  # CONFIG_REGULATOR is not set @@ -933,7 +930,6 @@ CONFIG_USB_R8A66597_HCD=m  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -945,7 +941,6 @@ CONFIG_USB_R8A66597_HCD=m  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  CONFIG_USB_GADGET=y  # CONFIG_USB_GADGET_DEBUG is not set  # CONFIG_USB_GADGET_DEBUG_FILES is not set @@ -983,6 +978,7 @@ CONFIG_USB_GADGET_DUALSPEED=y  # CONFIG_USB_MIDI_GADGET is not set  # CONFIG_USB_G_PRINTER is not set  # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set  # CONFIG_USB_G_MULTI is not set  # @@ -1065,8 +1061,6 @@ CONFIG_RTC_DRV_SH=y  CONFIG_UIO=m  # CONFIG_UIO_PDRV is not set  # CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_SMX is not set -# CONFIG_UIO_SERCOS3 is not set  #  # TI VLYNQ @@ -1145,6 +1139,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1159,6 +1154,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1246,7 +1242,6 @@ CONFIG_DEBUG_PREEMPT=y  # CONFIG_LOCK_STAT is not set  # CONFIG_DEBUG_SPINLOCK_SLEEP is not set  # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -CONFIG_STACKTRACE=y  # CONFIG_DEBUG_KOBJECT is not set  CONFIG_DEBUG_BUGVERBOSE=y  # CONFIG_DEBUG_INFO is not set @@ -1266,9 +1261,9 @@ CONFIG_FRAME_POINTER=y  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set  # CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set  # CONFIG_SYSCTL_SYSCALL_CHECK is not set  # CONFIG_PAGE_POISONING is not set -CONFIG_NOP_TRACER=y  CONFIG_HAVE_FUNCTION_TRACER=y  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y  CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y @@ -1276,10 +1271,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y  CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y  CONFIG_HAVE_SYSCALL_TRACEPOINTS=y  CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y  CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y  CONFIG_TRACING_SUPPORT=y  CONFIG_FTRACE=y  # CONFIG_FUNCTION_TRACER is not set @@ -1292,6 +1284,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1329,6 +1322,7 @@ CONFIG_CRYPTO=y  # CONFIG_CRYPTO_MANAGER2 is not set  # CONFIG_CRYPTO_GF128MUL is not set  # CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_PCRYPT is not set  # CONFIG_CRYPTO_CRYPTD is not set  # CONFIG_CRYPTO_AUTHENC is not set  # CONFIG_CRYPTO_TEST is not set @@ -1407,7 +1401,8 @@ CONFIG_CRYPTO=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y -CONFIG_BINARY_PRINTF=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_BINARY_PRINTF is not set  #  # Library routines diff --git a/arch/sh/configs/snapgear_defconfig b/arch/sh/configs/snapgear_defconfig index 98352d75785..513834d2b8a 100644 --- a/arch/sh/configs/snapgear_defconfig +++ b/arch/sh/configs/snapgear_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:14:18 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:36:53 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  # CONFIG_SWAP is not set  # CONFIG_SYSVIPC is not set  # CONFIG_POSIX_MQUEUE is not set @@ -68,7 +71,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -79,6 +81,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -105,7 +108,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y @@ -122,6 +125,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -235,6 +239,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -250,7 +255,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -335,7 +340,6 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -350,9 +354,9 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -569,6 +573,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -586,7 +591,7 @@ CONFIG_HAVE_IDE=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -626,6 +631,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -726,6 +732,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -764,6 +771,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -771,6 +779,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -848,7 +857,6 @@ CONFIG_EXT2_FS=y  # CONFIG_EXT2_FS_XIP is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -907,6 +915,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -925,6 +934,7 @@ CONFIG_NETWORK_FILESYSTEMS=y  # CONFIG_NFS_FS is not set  # CONFIG_NFSD is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -983,6 +993,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/systemh_defconfig b/arch/sh/configs/systemh_defconfig index 72982e360e3..14e69a229c0 100644 --- a/arch/sh/configs/systemh_defconfig +++ b/arch/sh/configs/systemh_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:14:50 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:39:19 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -31,6 +31,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  # CONFIG_SYSVIPC is not set  # CONFIG_BSD_PROCESS_ACCT is not set @@ -65,7 +68,6 @@ CONFIG_RCU_FANOUT=32  # CONFIG_TREE_RCU_TRACE is not set  # CONFIG_IKCONFIG is not set  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -76,6 +78,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -102,7 +105,7 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_COMPAT_BRK=y @@ -119,6 +122,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -237,6 +241,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -252,7 +257,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -332,7 +337,6 @@ CONFIG_HZ=250  CONFIG_PREEMPT=y  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -402,6 +406,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  # CONFIG_SCSI is not set  # CONFIG_SCSI_DMA is not set @@ -442,6 +447,7 @@ CONFIG_DEVKMEM=y  # Non-8250 serial port support  #  # CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -552,7 +558,6 @@ CONFIG_RTC_LIB=y  # CONFIG_EXT2_FS is not set  # CONFIG_EXT3_FS is not set  # CONFIG_EXT4_FS is not set -CONFIG_EXT4_USE_FOR_EXT23=y  # CONFIG_REISERFS_FS is not set  # CONFIG_JFS_FS is not set  # CONFIG_FS_POSIX_ACL is not set @@ -609,6 +614,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BEFS_FS is not set  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -676,6 +682,7 @@ CONFIG_HAVE_ARCH_KGDB=y  CONFIG_DEFAULT_SECURITY_DAC=y  CONFIG_DEFAULT_SECURITY=""  # CONFIG_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/titan_defconfig b/arch/sh/configs/titan_defconfig index 78c257053c7..79196b4dfdb 100644 --- a/arch/sh/configs/titan_defconfig +++ b/arch/sh/configs/titan_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:17:20 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 17:41:12 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -32,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -46,9 +47,11 @@ CONFIG_LOCALVERSION=""  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -71,7 +74,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=16 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -82,6 +84,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -109,8 +112,9 @@ CONFIG_PERF_USE_VMALLOC=y  #  # Kernel Performance Events And Counters  # -# CONFIG_PERF_EVENTS is not set +CONFIG_PERF_EVENTS=y  # CONFIG_PERF_COUNTERS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_PCI_QUIRKS=y  CONFIG_COMPAT_BRK=y @@ -127,6 +131,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -245,6 +250,7 @@ CONFIG_ARCH_SPARSEMEM_DEFAULT=y  CONFIG_MAX_ACTIVE_REGIONS=1  CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -260,7 +266,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -345,7 +351,6 @@ CONFIG_PREEMPT_VOLUNTARY=y  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y  # CONFIG_GUSA_RB is not set -# CONFIG_SPARSE_IRQ is not set  #  # Boot options @@ -361,9 +366,9 @@ CONFIG_CMDLINE="console=ttySC1,38400N81 root=/dev/nfs ip=:::::eth1:autoconf rw"  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  # CONFIG_PCIEPORTBUS is not set  # CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_PCI_LEGACY=y  # CONFIG_PCI_DEBUG is not set  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -392,7 +397,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -561,6 +565,7 @@ CONFIG_IP6_NF_RAW=m  # CONFIG_ATM is not set  CONFIG_STP=y  CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y  # CONFIG_NET_DSA is not set  CONFIG_VLAN_8021Q=y  # CONFIG_VLAN_8021Q_GVRP is not set @@ -749,6 +754,7 @@ CONFIG_MTD_NAND_IDS=m  # CONFIG_MTD_NAND_CAFE is not set  # CONFIG_MTD_NAND_PLATFORM is not set  # CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_NAND_SH_FLCTL is not set  # CONFIG_MTD_ONENAND is not set  # @@ -768,10 +774,6 @@ CONFIG_BLK_DEV=y  # CONFIG_BLK_DEV_COW_COMMON is not set  CONFIG_BLK_DEV_LOOP=m  CONFIG_BLK_DEV_CRYPTOLOOP=m - -# -# DRBD disabled because PROC_FS, INET or CONNECTOR not selected -#  # CONFIG_BLK_DEV_DRBD is not set  # CONFIG_BLK_DEV_NBD is not set  # CONFIG_BLK_DEV_SX8 is not set @@ -802,6 +804,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -892,7 +895,7 @@ CONFIG_SCSI_LOWLEVEL=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -951,6 +954,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -1002,6 +1006,8 @@ CONFIG_NETDEV_10000=y  # CONFIG_CHELSIO_T1 is not set  CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_CHELSIO_T3 is not set +CONFIG_CHELSIO_T4_DEPENDS=y +# CONFIG_CHELSIO_T4 is not set  # CONFIG_ENIC is not set  # CONFIG_IXGBE is not set  # CONFIG_IXGB is not set @@ -1014,6 +1020,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y  # CONFIG_MLX4_CORE is not set  # CONFIG_TEHUTI is not set  # CONFIG_BNX2X is not set +# CONFIG_QLCNIC is not set  # CONFIG_QLGE is not set  # CONFIG_SFC is not set  # CONFIG_BE2NET is not set @@ -1040,6 +1047,7 @@ CONFIG_USB_NET_AX8817X=m  CONFIG_USB_NET_CDCETHER=m  # CONFIG_USB_NET_CDC_EEM is not set  # CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SMSC75XX is not set  # CONFIG_USB_NET_SMSC95XX is not set  # CONFIG_USB_NET_GL620A is not set  CONFIG_USB_NET_NET1080=m @@ -1049,6 +1057,7 @@ CONFIG_USB_NET_PLUSB=m  # CONFIG_USB_NET_CDC_SUBSET is not set  CONFIG_USB_NET_ZAURUS=m  # CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -1136,6 +1145,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -1215,6 +1225,7 @@ CONFIG_SSB_POSSIBLE=y  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set  # CONFIG_MFD_TMIO is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  # CONFIG_MEDIA_SUPPORT is not set @@ -1222,6 +1233,7 @@ CONFIG_SSB_POSSIBLE=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1372,6 +1384,7 @@ CONFIG_USB_SERIAL_ARK3116=m  # CONFIG_USB_SERIAL_NAVMAN is not set  CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set  # CONFIG_USB_SERIAL_QUALCOMM is not set  # CONFIG_USB_SERIAL_SPCP8X5 is not set  # CONFIG_USB_SERIAL_HP4X is not set @@ -1385,6 +1398,7 @@ CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_SERIAL_OPTION is not set  # CONFIG_USB_SERIAL_OMNINET is not set  # CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set  # CONFIG_USB_SERIAL_DEBUG is not set  # @@ -1397,7 +1411,6 @@ CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1410,7 +1423,6 @@ CONFIG_USB_SERIAL_PL2303=m  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1552,6 +1564,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1585,6 +1598,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  CONFIG_SMB_FS=m  # CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CEPH_FS is not set  CONFIG_CIFS=m  # CONFIG_CIFS_STATS is not set  CONFIG_CIFS_WEAK_PW_HASH=y @@ -1680,6 +1694,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1726,6 +1741,7 @@ CONFIG_FTRACE=y  CONFIG_BRANCH_PROFILE_NONE=y  # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set  # CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_KSYM_TRACER is not set  # CONFIG_STACK_TRACER is not set  # CONFIG_KMEMTRACE is not set  # CONFIG_WORKQUEUE_TRACER is not set @@ -1853,6 +1869,7 @@ CONFIG_CRYPTO_DEFLATE=y  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y  # CONFIG_CRYPTO_DEV_HIFN_795X is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig index 4fa03bf086d..17b7258dcde 100644 --- a/arch/sh/configs/ul2_defconfig +++ b/arch/sh/configs/ul2_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:18:53 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:10:50 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  # CONFIG_GENERIC_GPIO is not set  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -33,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y  CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -48,9 +49,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -73,7 +76,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_GROUP_SCHED is not set  # CONFIG_CGROUPS is not set  CONFIG_SYSFS_DEPRECATED=y  CONFIG_SYSFS_DEPRECATED_V2=y @@ -84,6 +86,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -122,13 +125,13 @@ CONFIG_PROFILING=y  # CONFIG_OPROFILE is not set  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -244,7 +247,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x01f00000  CONFIG_29BIT=y -# CONFIG_X2TLB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  CONFIG_NUMA=y  CONFIG_NODES_SHIFT=1 @@ -255,6 +258,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -278,7 +283,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  # CONFIG_MIGRATION is not set  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -352,7 +357,7 @@ CONFIG_KEXEC=y  # CONFIG_PREEMPT_VOLUNTARY is not set  CONFIG_PREEMPT=y  CONFIG_GUSA=y -# CONFIG_SPARSE_IRQ is not set +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -388,6 +393,7 @@ CONFIG_SUSPEND=y  CONFIG_SUSPEND_FREEZER=y  # CONFIG_HIBERNATION is not set  CONFIG_PM_RUNTIME=y +CONFIG_PM_OPS=y  # CONFIG_CPU_IDLE is not set  CONFIG_NET=y @@ -395,7 +401,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -473,7 +478,7 @@ CONFIG_CFG80211=y  # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set  # CONFIG_CFG80211_REG_DEBUG is not set  CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_WIRELESS_OLD_REGULATORY is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set  CONFIG_CFG80211_WEXT=y  CONFIG_WIRELESS_EXT_SYSFS=y  CONFIG_LIB80211=m @@ -619,6 +624,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -709,6 +715,7 @@ CONFIG_LIBERTAS=m  # CONFIG_LIBERTAS_USB is not set  CONFIG_LIBERTAS_SDIO=m  CONFIG_LIBERTAS_DEBUG=y +# CONFIG_LIBERTAS_MESH is not set  # CONFIG_P54_COMMON is not set  # CONFIG_RT2X00 is not set  # CONFIG_WL12XX is not set @@ -730,6 +737,7 @@ CONFIG_USB_NET_AX8817X=y  CONFIG_USB_NET_CDCETHER=y  # CONFIG_USB_NET_CDC_EEM is not set  # CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SMSC75XX is not set  # CONFIG_USB_NET_SMSC95XX is not set  # CONFIG_USB_NET_GL620A is not set  # CONFIG_USB_NET_NET1080 is not set @@ -739,6 +747,7 @@ CONFIG_USB_NET_CDCETHER=y  # CONFIG_USB_NET_CDC_SUBSET is not set  # CONFIG_USB_NET_ZAURUS is not set  # CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_PPP is not set  # CONFIG_SLIP is not set @@ -800,6 +809,7 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=1  CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_TIMBERDALE is not set  # CONFIG_UNIX98_PTYS is not set  # CONFIG_LEGACY_PTYS is not set  # CONFIG_IPMI_HANDLER is not set @@ -952,7 +962,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -964,7 +973,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -987,9 +995,6 @@ CONFIG_MMC_BLOCK_BOUNCE=y  # MMC/SD/SDIO Host Controller Drivers  #  # CONFIG_MMC_SDHCI is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_ATMELMCI is not set -# CONFIG_MMC_TMIO is not set  # CONFIG_MEMSTICK is not set  # CONFIG_NEW_LEDS is not set  # CONFIG_ACCESSIBILITY is not set @@ -1079,6 +1084,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  CONFIG_CRAMFS=y  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1104,6 +1110,7 @@ CONFIG_SUNRPC=y  # CONFIG_RPCSEC_GSS_KRB5 is not set  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1299,6 +1306,7 @@ CONFIG_CRYPTO_ARC4=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  CONFIG_CRYPTO_HW=y +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/configs/urquell_defconfig b/arch/sh/configs/urquell_defconfig index 23bda1916f4..28bb19d2cbe 100644 --- a/arch/sh/configs/urquell_defconfig +++ b/arch/sh/configs/urquell_defconfig @@ -1,7 +1,7 @@  #  # Automatically generated make config: don't edit -# Linux kernel version: 2.6.33-rc2 -# Mon Jan  4 15:27:53 2010 +# Linux kernel version: 2.6.34-rc5 +# Tue May 18 18:13:10 2010  #  CONFIG_SUPERH=y  CONFIG_SUPERH32=y @@ -13,8 +13,8 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y  CONFIG_GENERIC_HWEIGHT=y  CONFIG_GENERIC_HARDIRQS=y  CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_GENERIC_IRQ_PROBE=y  CONFIG_IRQ_PER_CPU=y +CONFIG_SPARSE_IRQ=y  CONFIG_GENERIC_GPIO=y  CONFIG_GENERIC_TIME=y  CONFIG_GENERIC_CLOCKEVENTS=y @@ -35,6 +35,7 @@ CONFIG_ARCH_HAS_DEFAULT_IDLE=y  CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y  CONFIG_DMA_COHERENT=y  # CONFIG_DMA_NONCOHERENT is not set +# CONFIG_NEED_DMA_MAP_STATE is not set  CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"  CONFIG_CONSTRUCTORS=y @@ -49,9 +50,11 @@ CONFIG_LOCALVERSION_AUTO=y  CONFIG_HAVE_KERNEL_GZIP=y  CONFIG_HAVE_KERNEL_BZIP2=y  CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y  CONFIG_KERNEL_GZIP=y  # CONFIG_KERNEL_BZIP2 is not set  # CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set  CONFIG_SWAP=y  CONFIG_SYSVIPC=y  CONFIG_SYSVIPC_SYSCTL=y @@ -77,11 +80,6 @@ CONFIG_RCU_FANOUT=32  CONFIG_IKCONFIG=y  CONFIG_IKCONFIG_PROC=y  CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y -# CONFIG_USER_SCHED is not set -CONFIG_CGROUP_SCHED=y  CONFIG_CGROUPS=y  CONFIG_CGROUP_DEBUG=y  CONFIG_CGROUP_NS=y @@ -93,6 +91,9 @@ CONFIG_CGROUP_CPUACCT=y  CONFIG_RESOURCE_COUNTERS=y  CONFIG_CGROUP_MEM_RES_CTLR=y  CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y  CONFIG_MM_OWNER=y  # CONFIG_SYSFS_DEPRECATED_V2 is not set  # CONFIG_RELAY is not set @@ -102,6 +103,7 @@ CONFIG_INITRAMFS_SOURCE=""  CONFIG_RD_GZIP=y  # CONFIG_RD_BZIP2 is not set  # CONFIG_RD_LZMA is not set +# CONFIG_RD_LZO is not set  CONFIG_CC_OPTIMIZE_FOR_SIZE=y  CONFIG_SYSCTL=y  CONFIG_ANON_INODES=y @@ -142,13 +144,13 @@ CONFIG_PROFILING=y  # CONFIG_OPROFILE is not set  CONFIG_HAVE_OPROFILE=y  # CONFIG_KPROBES is not set -CONFIG_HAVE_IOREMAP_PROT=y  CONFIG_HAVE_KPROBES=y  CONFIG_HAVE_KRETPROBES=y  CONFIG_HAVE_ARCH_TRACEHOOK=y  CONFIG_HAVE_DMA_ATTRS=y  CONFIG_HAVE_CLK=y  CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y  #  # GCOV-based kernel profiling @@ -169,7 +171,6 @@ CONFIG_BLOCK=y  CONFIG_LBDAF=y  # CONFIG_BLK_DEV_BSG is not set  # CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CGROUP is not set  #  # IO Schedulers @@ -265,8 +266,8 @@ CONFIG_FORCE_MAX_ZONEORDER=11  CONFIG_MEMORY_START=0x08000000  CONFIG_MEMORY_SIZE=0x08000000  CONFIG_29BIT=y -# CONFIG_PMB_ENABLE is not set -# CONFIG_X2TLB is not set +# CONFIG_PMB is not set +CONFIG_X2TLB=y  CONFIG_VSYSCALL=y  # CONFIG_NUMA is not set  CONFIG_ARCH_FLATMEM_ENABLE=y @@ -277,6 +278,8 @@ CONFIG_ARCH_POPULATES_NODE_MAP=y  CONFIG_ARCH_SELECT_MEMORY_MODEL=y  CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y  CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_IOREMAP_FIXED=y +CONFIG_UNCACHED_MAPPING=y  CONFIG_PAGE_SIZE_4KB=y  # CONFIG_PAGE_SIZE_8KB is not set  # CONFIG_PAGE_SIZE_16KB is not set @@ -299,7 +302,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4  CONFIG_MIGRATION=y  # CONFIG_PHYS_ADDR_T_64BIT is not set  CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 +CONFIG_NR_QUICK=1  # CONFIG_KSM is not set  CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -317,6 +320,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_SH_FPU=y  CONFIG_SH_STORE_QUEUES=y +# CONFIG_SPECULATIVE_EXECUTION is not set  CONFIG_CPU_HAS_INTEVT=y  CONFIG_CPU_HAS_SR_RB=y  CONFIG_CPU_HAS_PTEAEX=y @@ -325,15 +329,14 @@ CONFIG_CPU_HAS_FPU=y  #  # Board support  # +# CONFIG_SH_SDK7786 is not set  CONFIG_SH_URQUELL=y  #  # Timer and clock configuration  #  CONFIG_SH_TIMER_TMU=y -CONFIG_SH_PCLK_FREQ=33333333  CONFIG_SH_CLK_CPG=y -CONFIG_SH_CLK_CPG_LEGACY=y  CONFIG_TICK_ONESHOT=y  # CONFIG_NO_HZ is not set  CONFIG_HIGH_RES_TIMERS=y @@ -376,7 +379,7 @@ CONFIG_PREEMPT_NONE=y  # CONFIG_PREEMPT_VOLUNTARY is not set  # CONFIG_PREEMPT is not set  CONFIG_GUSA=y -CONFIG_SPARSE_IRQ=y +# CONFIG_INTC_USERIMASK is not set  #  # Boot options @@ -391,6 +394,7 @@ CONFIG_ENTRY_OFFSET=0x00001000  # Bus options  #  CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y  CONFIG_PCIEPORTBUS=y  CONFIG_PCIEAER=y  # CONFIG_PCIE_ECRC is not set @@ -398,7 +402,6 @@ CONFIG_PCIEAER=y  CONFIG_PCIEASPM=y  CONFIG_PCIEASPM_DEBUG=y  # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCI_LEGACY is not set  CONFIG_PCI_DEBUG=y  # CONFIG_PCI_STUB is not set  # CONFIG_PCI_IOV is not set @@ -428,7 +431,6 @@ CONFIG_NET=y  # Networking options  #  CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set  CONFIG_UNIX=y  CONFIG_XFRM=y  # CONFIG_XFRM_USER is not set @@ -639,6 +641,7 @@ CONFIG_HAVE_IDE=y  #  # SCSI device support  # +CONFIG_SCSI_MOD=y  # CONFIG_RAID_ATTRS is not set  CONFIG_SCSI=y  CONFIG_SCSI_DMA=y @@ -712,6 +715,7 @@ CONFIG_ATA_SFF=y  # CONFIG_PATA_IT821X is not set  # CONFIG_PATA_IT8213 is not set  # CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_LEGACY is not set  # CONFIG_PATA_TRIFLEX is not set  # CONFIG_PATA_MARVELL is not set  # CONFIG_PATA_MPIIX is not set @@ -748,7 +752,7 @@ CONFIG_ATA_SFF=y  #  # -# See the help texts for more information. +# The newer stack is recommended.  #  # CONFIG_FIREWIRE is not set  # CONFIG_IEEE1394 is not set @@ -807,6 +811,7 @@ CONFIG_NET_PCI=y  # CONFIG_PCNET32 is not set  # CONFIG_AMD8111_ETH is not set  # CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_KSZ884X_PCI is not set  # CONFIG_B44 is not set  # CONFIG_FORCEDETH is not set  # CONFIG_E100 is not set @@ -871,6 +876,7 @@ CONFIG_WLAN=y  # CONFIG_USB_PEGASUS is not set  # CONFIG_USB_RTL8150 is not set  # CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set  # CONFIG_WAN is not set  # CONFIG_FDDI is not set  # CONFIG_HIPPI is not set @@ -958,6 +964,7 @@ CONFIG_SERIAL_SH_SCI_CONSOLE=y  CONFIG_SERIAL_CORE=y  CONFIG_SERIAL_CORE_CONSOLE=y  # CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_TIMBERDALE is not set  CONFIG_UNIX98_PTYS=y  # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set  CONFIG_LEGACY_PTYS=y @@ -1007,6 +1014,7 @@ CONFIG_I2C_ALGOPCA=y  # CONFIG_I2C_OCORES is not set  # CONFIG_I2C_SH_MOBILE is not set  # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set  #  # External I2C/SMBus adapter drivers @@ -1020,15 +1028,9 @@ CONFIG_I2C_ALGOPCA=y  #  CONFIG_I2C_PCA_PLATFORM=y  # CONFIG_I2C_STUB is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_TSL2550 is not set  # CONFIG_I2C_DEBUG_CORE is not set  # CONFIG_I2C_DEBUG_ALGO is not set  # CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CHIP is not set  # CONFIG_SPI is not set  # @@ -1043,13 +1045,17 @@ CONFIG_GPIOLIB=y  #  # Memory mapped GPIO expanders:  # +# CONFIG_GPIO_IT8761E is not set +# CONFIG_GPIO_SCH is not set  #  # I2C GPIO expanders:  # +# CONFIG_GPIO_MAX7300 is not set  # CONFIG_GPIO_MAX732X is not set  # CONFIG_GPIO_PCA953X is not set  # CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set  #  # PCI GPIO expanders: @@ -1082,10 +1088,11 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_ADM1029 is not set  # CONFIG_SENSORS_ADM1031 is not set  # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7411 is not set  # CONFIG_SENSORS_ADT7462 is not set  # CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7473 is not set  # CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set  # CONFIG_SENSORS_ATXP1 is not set  # CONFIG_SENSORS_DS1621 is not set  # CONFIG_SENSORS_I5K_AMB is not set @@ -1123,6 +1130,7 @@ CONFIG_HWMON=y  # CONFIG_SENSORS_SMSC47M192 is not set  # CONFIG_SENSORS_SMSC47B397 is not set  # CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_AMC6821 is not set  # CONFIG_SENSORS_THMC50 is not set  # CONFIG_SENSORS_TMP401 is not set  # CONFIG_SENSORS_TMP421 is not set @@ -1151,21 +1159,26 @@ CONFIG_SSB_POSSIBLE=y  # Multifunction device drivers  #  # CONFIG_MFD_CORE is not set +# CONFIG_MFD_88PM860X is not set  CONFIG_MFD_SM501=y  # CONFIG_MFD_SM501_GPIO is not set  # CONFIG_MFD_SH_MOBILE_SDHI is not set  # CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set  # CONFIG_TPS65010 is not set  # CONFIG_TWL4030_CORE is not set  # CONFIG_MFD_TMIO is not set  # CONFIG_PMIC_DA903X is not set  # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_MAX8925 is not set  # CONFIG_MFD_WM8400 is not set  # CONFIG_MFD_WM831X is not set  # CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set  # CONFIG_MFD_PCF50633 is not set  # CONFIG_AB3100_CORE is not set -# CONFIG_MFD_88PM8607 is not set +# CONFIG_MFD_TIMBERDALE is not set +# CONFIG_LPC_SCH is not set  # CONFIG_REGULATOR is not set  CONFIG_MEDIA_SUPPORT=y @@ -1187,6 +1200,7 @@ CONFIG_VIDEO_IR=y  # Graphics support  #  CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16  # CONFIG_DRM is not set  # CONFIG_VGASTATE is not set  # CONFIG_VIDEO_OUTPUT_CONTROL is not set @@ -1283,6 +1297,7 @@ CONFIG_USB_HID=y  #  # Special HID drivers  # +# CONFIG_HID_3M_PCT is not set  CONFIG_HID_A4TECH=y  CONFIG_HID_APPLE=y  CONFIG_HID_BELKIN=y @@ -1298,14 +1313,19 @@ CONFIG_HID_GYRATION=y  CONFIG_HID_LOGITECH=y  # CONFIG_LOGITECH_FF is not set  # CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set  CONFIG_HID_MICROSOFT=y +# CONFIG_HID_MOSART is not set  CONFIG_HID_MONTEREY=y  # CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set  CONFIG_HID_PANTHERLORD=y  # CONFIG_PANTHERLORD_FF is not set  CONFIG_HID_PETALYNX=y +# CONFIG_HID_QUANTA is not set  CONFIG_HID_SAMSUNG=y  CONFIG_HID_SONY=y +# CONFIG_HID_STANTUM is not set  CONFIG_HID_SUNPLUS=y  # CONFIG_HID_GREENASIA is not set  # CONFIG_HID_SMARTJOYPLUS is not set @@ -1326,7 +1346,6 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y  CONFIG_USB_DEVICEFS=y  CONFIG_USB_DEVICE_CLASS=y  # CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_SUSPEND is not set  # CONFIG_USB_OTG is not set  # CONFIG_USB_OTG_WHITELIST is not set  # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -1405,7 +1424,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_RIO500 is not set  # CONFIG_USB_LEGOTOWER is not set  # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set  # CONFIG_USB_LED is not set  # CONFIG_USB_CYPRESS_CY7C63 is not set  # CONFIG_USB_CYTHERM is not set @@ -1417,7 +1435,6 @@ CONFIG_USB_STORAGE=y  # CONFIG_USB_IOWARRIOR is not set  # CONFIG_USB_TEST is not set  # CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_VST is not set  # CONFIG_USB_GADGET is not set  # @@ -1584,6 +1601,7 @@ CONFIG_MISC_FILESYSTEMS=y  # CONFIG_BFS_FS is not set  # CONFIG_EFS_FS is not set  # CONFIG_JFFS2_FS is not set +# CONFIG_LOGFS is not set  # CONFIG_CRAMFS is not set  # CONFIG_SQUASHFS is not set  # CONFIG_VXFS_FS is not set @@ -1610,6 +1628,7 @@ CONFIG_SUNRPC_GSS=y  CONFIG_RPCSEC_GSS_KRB5=y  # CONFIG_RPCSEC_GSS_SPKM3 is not set  # CONFIG_SMB_FS is not set +# CONFIG_CEPH_FS is not set  # CONFIG_CIFS is not set  # CONFIG_NCP_FS is not set  # CONFIG_CODA_FS is not set @@ -1688,6 +1707,7 @@ CONFIG_SCHED_DEBUG=y  # CONFIG_TIMER_STATS is not set  # CONFIG_DEBUG_OBJECTS is not set  # CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_KMEMLEAK is not set  # CONFIG_DEBUG_RT_MUTEXES is not set  # CONFIG_RT_MUTEX_TESTER is not set  # CONFIG_DEBUG_SPINLOCK is not set @@ -1713,6 +1733,7 @@ CONFIG_FRAME_POINTER=y  # CONFIG_BACKTRACE_SELF_TEST is not set  # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set  # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_LKDTM is not set  # CONFIG_FAULT_INJECTION is not set  # CONFIG_LATENCYTOP is not set  CONFIG_SYSCTL_SYSCALL_CHECK=y @@ -1846,6 +1867,7 @@ CONFIG_CRYPTO_DES=y  #  # CONFIG_CRYPTO_ANSI_CPRNG is not set  # CONFIG_CRYPTO_HW is not set +# CONFIG_VIRTUALIZATION is not set  # CONFIG_BINARY_PRINTF is not set  # diff --git a/arch/sh/include/asm/cache.h b/arch/sh/include/asm/cache.h index 02df18ea960..e461d67f03c 100644 --- a/arch/sh/include/asm/cache.h +++ b/arch/sh/include/asm/cache.h @@ -38,14 +38,10 @@ struct cache_info {  	 * 2. those in the physical page number.  	 */  	unsigned int alias_mask; -  	unsigned int n_aliases;		/* Number of aliases */  	unsigned long flags;  }; - -int __init detect_cpu_and_cache_system(void); -  #endif /* __ASSEMBLY__ */  #endif /* __KERNEL__ */  #endif /* __ASM_SH_CACHE_H */ diff --git a/arch/sh/include/asm/clkdev.h b/arch/sh/include/asm/clkdev.h new file mode 100644 index 00000000000..5645f358128 --- /dev/null +++ b/arch/sh/include/asm/clkdev.h @@ -0,0 +1,35 @@ +/* + *  arch/sh/include/asm/clkdev.h + * + * Cloned from arch/arm/include/asm/clkdev.h: + * + *  Copyright (C) 2008 Russell King. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Helper for the clk API to assist looking up a struct clk. + */ +#ifndef __ASM_CLKDEV_H +#define __ASM_CLKDEV_H + +struct clk; + +struct clk_lookup { +	struct list_head	node; +	const char		*dev_id; +	const char		*con_id; +	struct clk		*clk; +}; + +struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id, +	const char *dev_fmt, ...); + +void clkdev_add(struct clk_lookup *cl); +void clkdev_drop(struct clk_lookup *cl); + +void clkdev_add_table(struct clk_lookup *, size_t); +int clk_add_alias(const char *, const char *, char *, struct device *); + +#endif diff --git a/arch/sh/include/asm/clock.h b/arch/sh/include/asm/clock.h index 11da4c5beb6..803d4c7f09d 100644 --- a/arch/sh/include/asm/clock.h +++ b/arch/sh/include/asm/clock.h @@ -1,171 +1,16 @@  #ifndef __ASM_SH_CLOCK_H  #define __ASM_SH_CLOCK_H -#include <linux/list.h> -#include <linux/seq_file.h> -#include <linux/cpufreq.h> -#include <linux/clk.h> -#include <linux/err.h> - -struct clk; - -struct clk_ops { -	void (*init)(struct clk *clk); -	int (*enable)(struct clk *clk); -	void (*disable)(struct clk *clk); -	unsigned long (*recalc)(struct clk *clk); -	int (*set_rate)(struct clk *clk, unsigned long rate, int algo_id); -	int (*set_parent)(struct clk *clk, struct clk *parent); -	long (*round_rate)(struct clk *clk, unsigned long rate); -}; - -struct clk { -	struct list_head	node; -	const char		*name; -	int			id; -	struct module		*owner; - -	struct clk		*parent; -	struct clk_ops		*ops; - -	struct list_head	children; -	struct list_head	sibling;	/* node for children */ - -	int			usecount; - -	unsigned long		rate; -	unsigned long		flags; - -	void __iomem		*enable_reg; -	unsigned int		enable_bit; - -	unsigned long		arch_flags; -	void			*priv; -	struct dentry		*dentry; -	struct cpufreq_frequency_table *freq_table; -}; - -struct clk_lookup { -	struct list_head	node; -	const char		*dev_id; -	const char		*con_id; -	struct clk		*clk; -}; - -#define CLK_ENABLE_ON_INIT	(1 << 0) +#include <linux/sh_clk.h>  /* Should be defined by processor-specific code */  void __deprecated arch_init_clk_ops(struct clk_ops **, int type);  int __init arch_clk_init(void); -/* arch/sh/kernel/cpu/clock.c */ -int clk_init(void); -unsigned long followparent_recalc(struct clk *); -void recalculate_root_clocks(void); -void propagate_rate(struct clk *); -int clk_reparent(struct clk *child, struct clk *parent); -int clk_register(struct clk *); -void clk_unregister(struct clk *); -  /* arch/sh/kernel/cpu/clock-cpg.c */  int __init __deprecated cpg_clk_init(void); -/* the exported API, in addition to clk_set_rate */ -/** - * clk_set_rate_ex - set the clock rate for a clock source, with additional parameter - * @clk: clock source - * @rate: desired clock rate in Hz - * @algo_id: algorithm id to be passed down to ops->set_rate - * - * Returns success (0) or negative errno. - */ -int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id); - -enum clk_sh_algo_id { -	NO_CHANGE = 0, - -	IUS_N1_N1, -	IUS_322, -	IUS_522, -	IUS_N11, - -	SB_N1, - -	SB3_N1, -	SB3_32, -	SB3_43, -	SB3_54, - -	BP_N1, - -	IP_N1, -}; - -struct clk_div_mult_table { -	unsigned int *divisors; -	unsigned int nr_divisors; -	unsigned int *multipliers; -	unsigned int nr_multipliers; -}; - -struct cpufreq_frequency_table; -void clk_rate_table_build(struct clk *clk, -			  struct cpufreq_frequency_table *freq_table, -			  int nr_freqs, -			  struct clk_div_mult_table *src_table, -			  unsigned long *bitmap); - -long clk_rate_table_round(struct clk *clk, -			  struct cpufreq_frequency_table *freq_table, -			  unsigned long rate); - -int clk_rate_table_find(struct clk *clk, -			struct cpufreq_frequency_table *freq_table, -			unsigned long rate); - -#define SH_CLK_MSTP32(_name, _id, _parent, _enable_reg,	\ -	    _enable_bit, _flags)			\ -{							\ -	.name		= _name,			\ -	.id		= _id,				\ -	.parent		= _parent,			\ -	.enable_reg	= (void __iomem *)_enable_reg,	\ -	.enable_bit	= _enable_bit,			\ -	.flags		= _flags,			\ -} - -int sh_clk_mstp32_register(struct clk *clks, int nr); - -#define SH_CLK_DIV4(_name, _parent, _reg, _shift, _div_bitmap, _flags)	\ -{									\ -	.name = _name,							\ -	.parent = _parent,						\ -	.enable_reg = (void __iomem *)_reg,				\ -	.enable_bit = _shift,						\ -	.arch_flags = _div_bitmap,					\ -	.flags = _flags,						\ -} - -struct clk_div4_table { -	struct clk_div_mult_table *div_mult_table; -	void (*kick)(struct clk *clk); -}; - -int sh_clk_div4_register(struct clk *clks, int nr, -			 struct clk_div4_table *table); -int sh_clk_div4_enable_register(struct clk *clks, int nr, -			 struct clk_div4_table *table); -int sh_clk_div4_reparent_register(struct clk *clks, int nr, -			 struct clk_div4_table *table); - -#define SH_CLK_DIV6(_name, _parent, _reg, _flags)	\ -{							\ -	.name = _name,					\ -	.parent = _parent,				\ -	.enable_reg = (void __iomem *)_reg,		\ -	.flags = _flags,				\ -} - -int sh_clk_div6_register(struct clk *clks, int nr); +/* arch/sh/kernel/cpu/clock.c */ +int clk_init(void);  #endif /* __ASM_SH_CLOCK_H */ diff --git a/arch/sh/include/asm/dmaengine.h b/arch/sh/include/asm/dmaengine.h index bf2f30cf0a2..2a02b611a9a 100644 --- a/arch/sh/include/asm/dmaengine.h +++ b/arch/sh/include/asm/dmaengine.h @@ -10,14 +10,9 @@  #ifndef ASM_DMAENGINE_H  #define ASM_DMAENGINE_H -#include <linux/dmaengine.h> -#include <linux/list.h> +#include <linux/sh_dma.h> -#include <asm/dma-register.h> - -#define SH_DMAC_MAX_CHANNELS	6 - -enum sh_dmae_slave_chan_id { +enum {  	SHDMA_SLAVE_SCIF0_TX,  	SHDMA_SLAVE_SCIF0_RX,  	SHDMA_SLAVE_SCIF1_TX, @@ -34,60 +29,6 @@ enum sh_dmae_slave_chan_id {  	SHDMA_SLAVE_SIUA_RX,  	SHDMA_SLAVE_SIUB_TX,  	SHDMA_SLAVE_SIUB_RX, -	SHDMA_SLAVE_NUMBER,	/* Must stay last */ -}; - -struct sh_dmae_slave_config { -	enum sh_dmae_slave_chan_id	slave_id; -	dma_addr_t			addr; -	u32				chcr; -	char				mid_rid; -}; - -struct sh_dmae_channel { -	unsigned int	offset; -	unsigned int	dmars; -	unsigned int	dmars_bit; -}; - -struct sh_dmae_pdata { -	struct sh_dmae_slave_config *slave; -	int slave_num; -	struct sh_dmae_channel *channel; -	int channel_num; -	unsigned int ts_low_shift; -	unsigned int ts_low_mask; -	unsigned int ts_high_shift; -	unsigned int ts_high_mask; -	unsigned int *ts_shift; -	int ts_shift_num; -	u16 dmaor_init; -}; - -struct device; - -/* Used by slave DMA clients to request DMA to/from a specific peripheral */ -struct sh_dmae_slave { -	enum sh_dmae_slave_chan_id	slave_id; /* Set by the platform */ -	struct device			*dma_dev; /* Set by the platform */ -	struct sh_dmae_slave_config	*config;  /* Set by the driver */ -}; - -struct sh_dmae_regs { -	u32 sar; /* SAR / source address */ -	u32 dar; /* DAR / destination address */ -	u32 tcr; /* TCR / transfer count */ -}; - -struct sh_desc { -	struct sh_dmae_regs hw; -	struct list_head node; -	struct dma_async_tx_descriptor async_tx; -	enum dma_data_direction direction; -	dma_cookie_t cookie; -	size_t partial; -	int chunks; -	int mark;  };  #endif diff --git a/arch/sh/include/asm/hw_breakpoint.h b/arch/sh/include/asm/hw_breakpoint.h index e14cad96798..89890f61a7b 100644 --- a/arch/sh/include/asm/hw_breakpoint.h +++ b/arch/sh/include/asm/hw_breakpoint.h @@ -60,7 +60,6 @@ extern int hw_breakpoint_exceptions_notify(struct notifier_block *unused,  int arch_install_hw_breakpoint(struct perf_event *bp);  void arch_uninstall_hw_breakpoint(struct perf_event *bp);  void hw_breakpoint_pmu_read(struct perf_event *bp); -void hw_breakpoint_pmu_unthrottle(struct perf_event *bp);  extern void arch_fill_perf_breakpoint(struct perf_event *bp);  extern int register_sh_ubc(struct sh_ubc *); diff --git a/arch/sh/include/asm/hwblk.h b/arch/sh/include/asm/hwblk.h index 5d3ccae4202..855e945c619 100644 --- a/arch/sh/include/asm/hwblk.h +++ b/arch/sh/include/asm/hwblk.h @@ -58,13 +58,11 @@ void hwblk_cnt_inc(struct hwblk_info *info, int hwblk, int cnt);  void hwblk_cnt_dec(struct hwblk_info *info, int hwblk, int cnt);  /* allow clocks to enable and disable hardware blocks */ -#define SH_HWBLK_CLK(_name, _id, _parent, _hwblk, _flags)	\ -{							\ -	.name		= _name,			\ -	.id		= _id,				\ -	.parent		= _parent,			\ -	.arch_flags	= _hwblk,			\ -	.flags		= _flags,			\ +#define SH_HWBLK_CLK(_hwblk, _parent, _flags)	\ +[_hwblk] = {					\ +	.parent		= _parent,		\ +	.arch_flags	= _hwblk,		\ +	.flags		= _flags,		\  }  int sh_hwblk_clk_register(struct clk *clks, int nr); diff --git a/arch/sh/include/asm/io_generic.h b/arch/sh/include/asm/io_generic.h index 1e5d375f55d..491df93cbf8 100644 --- a/arch/sh/include/asm/io_generic.h +++ b/arch/sh/include/asm/io_generic.h @@ -38,5 +38,6 @@ void IO_CONCAT(__IO_PREFIX,iounmap)(void *addr);  void __iomem *IO_CONCAT(__IO_PREFIX,ioport_map)(unsigned long addr, unsigned int size);  void IO_CONCAT(__IO_PREFIX,ioport_unmap)(void __iomem *addr); +void IO_CONCAT(__IO_PREFIX,mem_init)(void);  #undef __IO_PREFIX diff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h index df8e1500527..02c2f0102cf 100644 --- a/arch/sh/include/asm/irq.h +++ b/arch/sh/include/asm/irq.h @@ -1,6 +1,7 @@  #ifndef __ASM_SH_IRQ_H  #define __ASM_SH_IRQ_H +#include <linux/cpumask.h>  #include <asm/machvec.h>  /* @@ -12,6 +13,14 @@  #define NR_IRQS_LEGACY		8	/* Legacy external IRQ0-7 */  /* + * This is a special IRQ number for indicating that no IRQ has been + * triggered and to simply ignore the IRQ dispatch. This is a special + * case that can happen with IRQ auto-distribution when multiple CPUs + * are woken up and signalled in parallel. + */ +#define NO_IRQ_IGNORE		((unsigned int)-1) + +/*   * Convert back and forth between INTEVT and IRQ values.   */  #ifdef CONFIG_CPU_HAS_INTEVT @@ -42,6 +51,8 @@ static inline int generic_irq_demux(int irq)  #define irq_demux(irq)		sh_mv.mv_irq_demux(irq)  void init_IRQ(void); +void migrate_irqs(void); +  asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs);  #ifdef CONFIG_IRQSTACKS @@ -53,6 +64,14 @@ extern void irq_ctx_exit(int cpu);  # define irq_ctx_exit(cpu) do { } while (0)  #endif +#ifdef CONFIG_INTC_BALANCING +extern unsigned int irq_lookup(unsigned int irq); +extern void irq_finish(unsigned int irq); +#else +#define irq_lookup(irq)		(irq) +#define irq_finish(irq)		do { } while (0) +#endif +  #include <asm-generic/irq.h>  #ifdef CONFIG_CPU_SH5  #include <cpu/irq.h> diff --git a/arch/sh/include/asm/kexec.h b/arch/sh/include/asm/kexec.h index 765a5e1660f..ad6ef8a275e 100644 --- a/arch/sh/include/asm/kexec.h +++ b/arch/sh/include/asm/kexec.h @@ -26,6 +26,10 @@  /* The native architecture */  #define KEXEC_ARCH KEXEC_ARCH_SH +#ifdef CONFIG_KEXEC +/* arch/sh/kernel/machine_kexec.c */ +void reserve_crashkernel(void); +  static inline void crash_setup_regs(struct pt_regs *newregs,  				    struct pt_regs *oldregs)  { @@ -59,4 +63,8 @@ static inline void crash_setup_regs(struct pt_regs *newregs,  		newregs->pc = (unsigned long)current_text_addr();  	}  } +#else +static inline void reserve_crashkernel(void) { } +#endif /* CONFIG_KEXEC */ +  #endif /* __ASM_SH_KEXEC_H */ diff --git a/arch/sh/include/asm/machvec.h b/arch/sh/include/asm/machvec.h index 9c30955630f..bc0218cb72e 100644 --- a/arch/sh/include/asm/machvec.h +++ b/arch/sh/include/asm/machvec.h @@ -49,6 +49,8 @@ struct sh_machine_vector {  	int (*mv_clk_init)(void);  	int (*mv_mode_pins)(void); + +	void (*mv_mem_init)(void);  };  extern struct sh_machine_vector sh_mv; diff --git a/arch/sh/include/asm/mmzone.h b/arch/sh/include/asm/mmzone.h index 7f5363b29ba..8887baff5ef 100644 --- a/arch/sh/include/asm/mmzone.h +++ b/arch/sh/include/asm/mmzone.h @@ -42,9 +42,10 @@ setup_bootmem_node(int nid, unsigned long start, unsigned long end)  void __init plat_mem_setup(void);  /* arch/sh/kernel/setup.c */ -void __init setup_bootmem_allocator(unsigned long start_pfn);  void __init __add_active_range(unsigned int nid, unsigned long start_pfn,  			       unsigned long end_pfn); +/* arch/sh/mm/init.c */ +void __init allocate_pgdat(unsigned int nid);  #endif /* __KERNEL__ */  #endif /* __ASM_SH_MMZONE_H */ diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h index d71feb35930..fb703d120d0 100644 --- a/arch/sh/include/asm/page.h +++ b/arch/sh/include/asm/page.h @@ -49,7 +49,7 @@  extern unsigned long shm_align_mask;  extern unsigned long max_low_pfn, min_low_pfn; -extern unsigned long memory_start, memory_end; +extern unsigned long memory_start, memory_end, memory_limit;  static inline unsigned long  pages_do_alias(unsigned long addr1, unsigned long addr2) @@ -128,13 +128,18 @@ typedef struct page *pgtable_t;   * added or subtracted as required.   */  #ifdef CONFIG_PMB -#define __pa(x)	((unsigned long)(x)-PAGE_OFFSET+__MEMORY_START) -#define __va(x)	((void *)((unsigned long)(x)+PAGE_OFFSET-__MEMORY_START)) +#define ___pa(x)	((x)-PAGE_OFFSET+__MEMORY_START) +#define ___va(x)	((x)+PAGE_OFFSET-__MEMORY_START)  #else -#define __pa(x)	((unsigned long)(x)-PAGE_OFFSET) -#define __va(x)	((void *)((unsigned long)(x)+PAGE_OFFSET)) +#define ___pa(x)	((x)-PAGE_OFFSET) +#define ___va(x)	((x)+PAGE_OFFSET)  #endif +#ifndef __ASSEMBLY__ +#define __pa(x)		___pa((unsigned long)x) +#define __va(x)		(void *)___va((unsigned long)x) +#endif /* !__ASSEMBLY__ */ +  #ifdef CONFIG_UNCACHED_MAPPING  #define UNCAC_ADDR(addr)	((addr) - PAGE_OFFSET + uncached_start)  #define CAC_ADDR(addr)		((addr) - uncached_start + PAGE_OFFSET) diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h index 9605e062840..0a58cb25a65 100644 --- a/arch/sh/include/asm/processor.h +++ b/arch/sh/include/asm/processor.h @@ -85,6 +85,10 @@ struct sh_cpuinfo {  	struct tlb_info itlb;  	struct tlb_info dtlb; +#ifdef CONFIG_SMP +	struct task_struct *idle; +#endif +  	unsigned long flags;  } __attribute__ ((aligned(L1_CACHE_BYTES))); @@ -102,6 +106,9 @@ struct task_struct;  extern struct pt_regs fake_swapper_regs; +extern void cpu_init(void); +extern void cpu_probe(void); +  /* arch/sh/kernel/process.c */  extern unsigned int xstate_size;  extern void free_thread_xstate(struct task_struct *); diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h index 572b4eb0949..61a445d2d02 100644 --- a/arch/sh/include/asm/processor_32.h +++ b/arch/sh/include/asm/processor_32.h @@ -27,8 +27,6 @@  #define CCN_CVR		0xff000040  #define CCN_PRR		0xff000044 -asmlinkage void __init sh_cpu_init(void); -  /*   * User space process size: 2GB.   * diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h index 4758325bb24..01fa17a3d75 100644 --- a/arch/sh/include/asm/setup.h +++ b/arch/sh/include/asm/setup.h @@ -19,6 +19,7 @@  #define COMMAND_LINE ((char *) (PARAM+0x100))  void sh_mv_setup(void); +void check_for_initrd(void);  #endif /* __KERNEL__ */ diff --git a/arch/sh/include/asm/siu.h b/arch/sh/include/asm/siu.h index f1b1e6944a5..e8d4142baf5 100644 --- a/arch/sh/include/asm/siu.h +++ b/arch/sh/include/asm/siu.h @@ -17,10 +17,10 @@ struct device;  struct siu_platform {  	struct device *dma_dev; -	enum sh_dmae_slave_chan_id dma_slave_tx_a; -	enum sh_dmae_slave_chan_id dma_slave_rx_a; -	enum sh_dmae_slave_chan_id dma_slave_tx_b; -	enum sh_dmae_slave_chan_id dma_slave_rx_b; +	unsigned int dma_slave_tx_a; +	unsigned int dma_slave_rx_a; +	unsigned int dma_slave_tx_b; +	unsigned int dma_slave_rx_b;  };  #endif /* ASM_SIU_H */ diff --git a/arch/sh/include/asm/smp-ops.h b/arch/sh/include/asm/smp-ops.h new file mode 100644 index 00000000000..c590f76856f --- /dev/null +++ b/arch/sh/include/asm/smp-ops.h @@ -0,0 +1,51 @@ +#ifndef __ASM_SH_SMP_OPS_H +#define __ASM_SH_SMP_OPS_H + +struct plat_smp_ops { +	void (*smp_setup)(void); +	unsigned int (*smp_processor_id)(void); +	void (*prepare_cpus)(unsigned int max_cpus); +	void (*start_cpu)(unsigned int cpu, unsigned long entry_point); +	void (*send_ipi)(unsigned int cpu, unsigned int message); +	int (*cpu_disable)(unsigned int cpu); +	void (*cpu_die)(unsigned int cpu); +	void (*play_dead)(void); +}; + +extern struct plat_smp_ops *mp_ops; +extern struct plat_smp_ops shx3_smp_ops; + +#ifdef CONFIG_SMP + +static inline void plat_smp_setup(void) +{ +	BUG_ON(!mp_ops); +	mp_ops->smp_setup(); +} + +static inline void play_dead(void) +{ +	mp_ops->play_dead(); +} + +extern void register_smp_ops(struct plat_smp_ops *ops); + +#else + +static inline void plat_smp_setup(void) +{ +	/* UP, nothing to do ... */ +} + +static inline void register_smp_ops(struct plat_smp_ops *ops) +{ +} + +static inline void play_dead(void) +{ +	BUG(); +} + +#endif /* CONFIG_SMP */ + +#endif /* __ASM_SH_SMP_OPS_H */ diff --git a/arch/sh/include/asm/smp.h b/arch/sh/include/asm/smp.h index 53ef26ced75..9070d943ddd 100644 --- a/arch/sh/include/asm/smp.h +++ b/arch/sh/include/asm/smp.h @@ -3,15 +3,16 @@  #include <linux/bitops.h>  #include <linux/cpumask.h> +#include <asm/smp-ops.h>  #ifdef CONFIG_SMP  #include <linux/spinlock.h>  #include <asm/atomic.h>  #include <asm/current.h> +#include <asm/percpu.h>  #define raw_smp_processor_id()	(current_thread_info()->cpu) -#define hard_smp_processor_id()	plat_smp_processor_id()  /* Map from cpu id to sequential logical cpu number. */  extern int __cpu_number_map[NR_CPUS]; @@ -30,20 +31,43 @@ enum {  	SMP_MSG_NR,	/* must be last */  }; +DECLARE_PER_CPU(int, cpu_state); +  void smp_message_recv(unsigned int msg);  void smp_timer_broadcast(const struct cpumask *mask);  void local_timer_interrupt(void);  void local_timer_setup(unsigned int cpu); - -void plat_smp_setup(void); -void plat_prepare_cpus(unsigned int max_cpus); -int plat_smp_processor_id(void); -void plat_start_cpu(unsigned int cpu, unsigned long entry_point); -void plat_send_ipi(unsigned int cpu, unsigned int message); +void local_timer_stop(unsigned int cpu);  void arch_send_call_function_single_ipi(int cpu); -extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); +void arch_send_call_function_ipi_mask(const struct cpumask *mask); + +void native_play_dead(void); +void native_cpu_die(unsigned int cpu); +int native_cpu_disable(unsigned int cpu); + +#ifdef CONFIG_HOTPLUG_CPU +void play_dead_common(void); +extern int __cpu_disable(void); + +static inline void __cpu_die(unsigned int cpu) +{ +	extern struct plat_smp_ops *mp_ops;     /* private */ + +	mp_ops->cpu_die(cpu); +} +#endif + +static inline int hard_smp_processor_id(void) +{ +	extern struct plat_smp_ops *mp_ops;	/* private */ + +	if (!mp_ops) +		return 0;	/* boot CPU */ + +	return mp_ops->smp_processor_id(); +}  #else diff --git a/arch/sh/include/cpu-sh4/cpu/dma-register.h b/arch/sh/include/cpu-sh4/cpu/dma-register.h index de235953399..9a6125eb007 100644 --- a/arch/sh/include/cpu-sh4/cpu/dma-register.h +++ b/arch/sh/include/cpu-sh4/cpu/dma-register.h @@ -23,7 +23,8 @@  #define CHCR_TS_HIGH_MASK	0  #define CHCR_TS_HIGH_SHIFT	0  #elif defined(CONFIG_CPU_SUBTYPE_SH7722) || \ -	defined(CONFIG_CPU_SUBTYPE_SH7724) +	defined(CONFIG_CPU_SUBTYPE_SH7724) || \ +	defined(CONFIG_CPU_SUBTYPE_SH7786)  #define CHCR_TS_LOW_MASK	0x00000018  #define CHCR_TS_LOW_SHIFT	3  #define CHCR_TS_HIGH_MASK	0x00300000 diff --git a/arch/sh/include/cpu-sh4/cpu/mmu_context.h b/arch/sh/include/cpu-sh4/cpu/mmu_context.h index 5963124c1d4..e46ec708105 100644 --- a/arch/sh/include/cpu-sh4/cpu/mmu_context.h +++ b/arch/sh/include/cpu-sh4/cpu/mmu_context.h @@ -19,13 +19,26 @@  #define MMUCR		0xFF000010	/* MMU Control Register */ +#define MMU_TLB_ENTRY_SHIFT	8 +  #define MMU_ITLB_ADDRESS_ARRAY  0xF2000000  #define MMU_ITLB_ADDRESS_ARRAY2	0xF2800000 +#define MMU_ITLB_DATA_ARRAY	0xF3000000 +#define MMU_ITLB_DATA_ARRAY2	0xF3800000 +  #define MMU_UTLB_ADDRESS_ARRAY	0xF6000000  #define MMU_UTLB_ADDRESS_ARRAY2	0xF6800000 +#define MMU_UTLB_DATA_ARRAY	0xF7000000 +#define MMU_UTLB_DATA_ARRAY2	0xF7800000  #define MMU_PAGE_ASSOC_BIT	0x80 -#define MMUCR_TI		(1<<2) +#ifdef CONFIG_MMU +#define MMUCR_AT		(1 << 0) +#else +#define MMUCR_AT		(0) +#endif + +#define MMUCR_TI		(1 << 2)  #define MMUCR_URB		0x00FC0000  #define MMUCR_URB_SHIFT		18 @@ -58,7 +71,8 @@  #endif  #define MMU_NTLB_ENTRIES	64 -#define MMU_CONTROL_INIT	(0x05|MMUCR_SQMD|MMUCR_ME|MMUCR_SE|MMUCR_AEX) +#define MMU_CONTROL_INIT	(MMUCR_AT | MMUCR_TI | MMUCR_SQMD | \ +				 MMUCR_ME | MMUCR_SE | MMUCR_AEX)  #define TRA	0xff000020  #define EXPEVT	0xff000024 diff --git a/arch/sh/include/mach-sdk7786/mach/fpga.h b/arch/sh/include/mach-sdk7786/mach/fpga.h index 2120d67dec7..416b621d94d 100644 --- a/arch/sh/include/mach-sdk7786/mach/fpga.h +++ b/arch/sh/include/mach-sdk7786/mach/fpga.h @@ -42,6 +42,15 @@  #define  SCBR_I2CCEN	BIT(1)	/* CPU I2C master enable */  #define PWRCR		0x1a0 +#define  PWRCR_SCISEL0	BIT(0) +#define  PWRCR_SCISEL1	BIT(1) +#define  PWRCR_SCIEN	BIT(2)	/* Serial port enable */ +#define  PWRCR_PDWNACK	BIT(5)	/* Power down acknowledge */ +#define  PWRCR_PDWNREQ	BIT(7)	/* Power down request */ +#define  PWRCR_INT2	BIT(11)	/* INT2 connection to power manager */ +#define  PWRCR_BUPINIT	BIT(13)	/* DDR backup initialize */ +#define  PWRCR_BKPRST	BIT(15) /* Backup power reset */ +  #define SPCBR		0x1b0  #define SPICR		0x1c0  #define SPIDR		0x1d0 diff --git a/arch/sh/kernel/Makefile b/arch/sh/kernel/Makefile index 02fd3ae8b0e..650b92f00ee 100644 --- a/arch/sh/kernel/Makefile +++ b/arch/sh/kernel/Makefile @@ -11,7 +11,7 @@ endif  CFLAGS_REMOVE_return_address.o = -pg -obj-y	:= debugtraps.o dma-nommu.o dumpstack.o 			\ +obj-y	:= clkdev.o debugtraps.o dma-nommu.o dumpstack.o 		\  	   idle.o io.o io_generic.o irq.o				\  	   irq_$(BITS).o machvec.o nmi_debug.o process.o		\  	   process_$(BITS).o ptrace_$(BITS).o				\ diff --git a/arch/sh/kernel/clkdev.c b/arch/sh/kernel/clkdev.c new file mode 100644 index 00000000000..defdd6e3090 --- /dev/null +++ b/arch/sh/kernel/clkdev.c @@ -0,0 +1,169 @@ +/* + * arch/sh/kernel/clkdev.c + * + * Cloned from arch/arm/common/clkdev.c: + * + *  Copyright (C) 2008 Russell King. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Helper for the clk API to assist looking up a struct clk. + */ +#include <linux/module.h> +#include <linux/kernel.h> +#include <linux/device.h> +#include <linux/list.h> +#include <linux/errno.h> +#include <linux/err.h> +#include <linux/string.h> +#include <linux/mutex.h> +#include <linux/clk.h> +#include <linux/slab.h> +#include <linux/bootmem.h> +#include <linux/mm.h> +#include <asm/clock.h> +#include <asm/clkdev.h> + +static LIST_HEAD(clocks); +static DEFINE_MUTEX(clocks_mutex); + +/* + * Find the correct struct clk for the device and connection ID. + * We do slightly fuzzy matching here: + *  An entry with a NULL ID is assumed to be a wildcard. + *  If an entry has a device ID, it must match + *  If an entry has a connection ID, it must match + * Then we take the most specific entry - with the following + * order of precidence: dev+con > dev only > con only. + */ +static struct clk *clk_find(const char *dev_id, const char *con_id) +{ +	struct clk_lookup *p; +	struct clk *clk = NULL; +	int match, best = 0; + +	list_for_each_entry(p, &clocks, node) { +		match = 0; +		if (p->dev_id) { +			if (!dev_id || strcmp(p->dev_id, dev_id)) +				continue; +			match += 2; +		} +		if (p->con_id) { +			if (!con_id || strcmp(p->con_id, con_id)) +				continue; +			match += 1; +		} +		if (match == 0) +			continue; + +		if (match > best) { +			clk = p->clk; +			best = match; +		} +	} +	return clk; +} + +struct clk *clk_get_sys(const char *dev_id, const char *con_id) +{ +	struct clk *clk; + +	mutex_lock(&clocks_mutex); +	clk = clk_find(dev_id, con_id); +	mutex_unlock(&clocks_mutex); + +	return clk ? clk : ERR_PTR(-ENOENT); +} +EXPORT_SYMBOL(clk_get_sys); + +void clkdev_add(struct clk_lookup *cl) +{ +	mutex_lock(&clocks_mutex); +	list_add_tail(&cl->node, &clocks); +	mutex_unlock(&clocks_mutex); +} +EXPORT_SYMBOL(clkdev_add); + +void __init clkdev_add_table(struct clk_lookup *cl, size_t num) +{ +	mutex_lock(&clocks_mutex); +	while (num--) { +		list_add_tail(&cl->node, &clocks); +		cl++; +	} +	mutex_unlock(&clocks_mutex); +} + +#define MAX_DEV_ID	20 +#define MAX_CON_ID	16 + +struct clk_lookup_alloc { +	struct clk_lookup cl; +	char	dev_id[MAX_DEV_ID]; +	char	con_id[MAX_CON_ID]; +}; + +struct clk_lookup * __init_refok +clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...) +{ +	struct clk_lookup_alloc *cla; + +	if (!slab_is_available()) +		cla = alloc_bootmem_low_pages(sizeof(*cla)); +	else +		cla = kzalloc(sizeof(*cla), GFP_KERNEL); + +	if (!cla) +		return NULL; + +	cla->cl.clk = clk; +	if (con_id) { +		strlcpy(cla->con_id, con_id, sizeof(cla->con_id)); +		cla->cl.con_id = cla->con_id; +	} + +	if (dev_fmt) { +		va_list ap; + +		va_start(ap, dev_fmt); +		vscnprintf(cla->dev_id, sizeof(cla->dev_id), dev_fmt, ap); +		cla->cl.dev_id = cla->dev_id; +		va_end(ap); +	} + +	return &cla->cl; +} +EXPORT_SYMBOL(clkdev_alloc); + +int clk_add_alias(const char *alias, const char *alias_dev_name, char *id, +	struct device *dev) +{ +	struct clk *r = clk_get(dev, id); +	struct clk_lookup *l; + +	if (IS_ERR(r)) +		return PTR_ERR(r); + +	l = clkdev_alloc(r, alias, alias_dev_name); +	clk_put(r); +	if (!l) +		return -ENODEV; +	clkdev_add(l); +	return 0; +} +EXPORT_SYMBOL(clk_add_alias); + +/* + * clkdev_drop - remove a clock dynamically allocated + */ +void clkdev_drop(struct clk_lookup *cl) +{ +	mutex_lock(&clocks_mutex); +	list_del(&cl->node); +	mutex_unlock(&clocks_mutex); +	kfree(cl); +} +EXPORT_SYMBOL(clkdev_drop); diff --git a/arch/sh/kernel/cpu/Makefile b/arch/sh/kernel/cpu/Makefile index 0e48bc61c27..4edcb60a135 100644 --- a/arch/sh/kernel/cpu/Makefile +++ b/arch/sh/kernel/cpu/Makefile @@ -16,7 +16,7 @@ obj-$(CONFIG_ARCH_SHMOBILE)	+= shmobile/  # Common interfaces.  obj-$(CONFIG_SH_ADC)		+= adc.o -obj-$(CONFIG_SH_CLK_CPG)	+= clock-cpg.o +obj-$(CONFIG_SH_CLK_CPG_LEGACY)	+= clock-cpg.o  obj-$(CONFIG_SH_FPU)		+= fpu.o  obj-$(CONFIG_SH_FPU_EMU)	+= fpu.o diff --git a/arch/sh/kernel/cpu/clock-cpg.c b/arch/sh/kernel/cpu/clock-cpg.c index eed5eaff96b..e2f63d68da5 100644 --- a/arch/sh/kernel/cpu/clock-cpg.c +++ b/arch/sh/kernel/cpu/clock-cpg.c @@ -2,317 +2,25 @@  #include <linux/compiler.h>  #include <linux/slab.h>  #include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h> -static int sh_clk_mstp32_enable(struct clk *clk) -{ -	__raw_writel(__raw_readl(clk->enable_reg) & ~(1 << clk->enable_bit), -		     clk->enable_reg); -	return 0; -} - -static void sh_clk_mstp32_disable(struct clk *clk) -{ -	__raw_writel(__raw_readl(clk->enable_reg) | (1 << clk->enable_bit), -		     clk->enable_reg); -} - -static struct clk_ops sh_clk_mstp32_clk_ops = { -	.enable		= sh_clk_mstp32_enable, -	.disable	= sh_clk_mstp32_disable, -	.recalc		= followparent_recalc, -}; - -int __init sh_clk_mstp32_register(struct clk *clks, int nr) -{ -	struct clk *clkp; -	int ret = 0; -	int k; - -	for (k = 0; !ret && (k < nr); k++) { -		clkp = clks + k; -		clkp->ops = &sh_clk_mstp32_clk_ops; -		ret |= clk_register(clkp); -	} - -	return ret; -} - -static long sh_clk_div_round_rate(struct clk *clk, unsigned long rate) -{ -	return clk_rate_table_round(clk, clk->freq_table, rate); -} - -static int sh_clk_div6_divisors[64] = { -	1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -	17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -	33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, -	49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 -}; - -static struct clk_div_mult_table sh_clk_div6_table = { -	.divisors = sh_clk_div6_divisors, -	.nr_divisors = ARRAY_SIZE(sh_clk_div6_divisors), -}; - -static unsigned long sh_clk_div6_recalc(struct clk *clk) -{ -	struct clk_div_mult_table *table = &sh_clk_div6_table; -	unsigned int idx; - -	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, -			     table, NULL); - -	idx = __raw_readl(clk->enable_reg) & 0x003f; - -	return clk->freq_table[idx].frequency; -} - -static int sh_clk_div6_set_rate(struct clk *clk, -				unsigned long rate, int algo_id) -{ -	unsigned long value; -	int idx; - -	idx = clk_rate_table_find(clk, clk->freq_table, rate); -	if (idx < 0) -		return idx; - -	value = __raw_readl(clk->enable_reg); -	value &= ~0x3f; -	value |= idx; -	__raw_writel(value, clk->enable_reg); -	return 0; -} - -static int sh_clk_div6_enable(struct clk *clk) -{ -	unsigned long value; -	int ret; - -	ret = sh_clk_div6_set_rate(clk, clk->rate, 0); -	if (ret == 0) { -		value = __raw_readl(clk->enable_reg); -		value &= ~0x100; /* clear stop bit to enable clock */ -		__raw_writel(value, clk->enable_reg); -	} -	return ret; -} - -static void sh_clk_div6_disable(struct clk *clk) -{ -	unsigned long value; - -	value = __raw_readl(clk->enable_reg); -	value |= 0x100; /* stop clock */ -	value |= 0x3f; /* VDIV bits must be non-zero, overwrite divider */ -	__raw_writel(value, clk->enable_reg); -} - -static struct clk_ops sh_clk_div6_clk_ops = { -	.recalc		= sh_clk_div6_recalc, -	.round_rate	= sh_clk_div_round_rate, -	.set_rate	= sh_clk_div6_set_rate, -	.enable		= sh_clk_div6_enable, -	.disable	= sh_clk_div6_disable, -}; - -int __init sh_clk_div6_register(struct clk *clks, int nr) -{ -	struct clk *clkp; -	void *freq_table; -	int nr_divs = sh_clk_div6_table.nr_divisors; -	int freq_table_size = sizeof(struct cpufreq_frequency_table); -	int ret = 0; -	int k; - -	freq_table_size *= (nr_divs + 1); -	freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); -	if (!freq_table) { -		pr_err("sh_clk_div6_register: unable to alloc memory\n"); -		return -ENOMEM; -	} - -	for (k = 0; !ret && (k < nr); k++) { -		clkp = clks + k; - -		clkp->ops = &sh_clk_div6_clk_ops; -		clkp->id = -1; -		clkp->freq_table = freq_table + (k * freq_table_size); -		clkp->freq_table[nr_divs].frequency = CPUFREQ_TABLE_END; - -		ret = clk_register(clkp); -	} - -	return ret; -} - -static unsigned long sh_clk_div4_recalc(struct clk *clk) -{ -	struct clk_div4_table *d4t = clk->priv; -	struct clk_div_mult_table *table = d4t->div_mult_table; -	unsigned int idx; - -	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, -			     table, &clk->arch_flags); - -	idx = (__raw_readl(clk->enable_reg) >> clk->enable_bit) & 0x000f; - -	return clk->freq_table[idx].frequency; -} - -static int sh_clk_div4_set_parent(struct clk *clk, struct clk *parent) -{ -	struct clk_div4_table *d4t = clk->priv; -	struct clk_div_mult_table *table = d4t->div_mult_table; -	u32 value; -	int ret; - -	if (!strcmp("pll_clk", parent->name)) -		value = __raw_readl(clk->enable_reg) & ~(1 << 7); -	else -		value = __raw_readl(clk->enable_reg) | (1 << 7); - -	ret = clk_reparent(clk, parent); -	if (ret < 0) -		return ret; - -	__raw_writel(value, clk->enable_reg); - -	/* Rebiuld the frequency table */ -	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, -			     table, &clk->arch_flags); - -	return 0; -} - -static int sh_clk_div4_set_rate(struct clk *clk, unsigned long rate, int algo_id) -{ -	struct clk_div4_table *d4t = clk->priv; -	unsigned long value; -	int idx = clk_rate_table_find(clk, clk->freq_table, rate); -	if (idx < 0) -		return idx; - -	value = __raw_readl(clk->enable_reg); -	value &= ~(0xf << clk->enable_bit); -	value |= (idx << clk->enable_bit); -	__raw_writel(value, clk->enable_reg); - -	if (d4t->kick) -		d4t->kick(clk); - -	return 0; -} - -static int sh_clk_div4_enable(struct clk *clk) -{ -	__raw_writel(__raw_readl(clk->enable_reg) & ~(1 << 8), clk->enable_reg); -	return 0; -} - -static void sh_clk_div4_disable(struct clk *clk) -{ -	__raw_writel(__raw_readl(clk->enable_reg) | (1 << 8), clk->enable_reg); -} - -static struct clk_ops sh_clk_div4_clk_ops = { -	.recalc		= sh_clk_div4_recalc, -	.set_rate	= sh_clk_div4_set_rate, -	.round_rate	= sh_clk_div_round_rate, -}; - -static struct clk_ops sh_clk_div4_enable_clk_ops = { -	.recalc		= sh_clk_div4_recalc, -	.set_rate	= sh_clk_div4_set_rate, -	.round_rate	= sh_clk_div_round_rate, -	.enable		= sh_clk_div4_enable, -	.disable	= sh_clk_div4_disable, -}; - -static struct clk_ops sh_clk_div4_reparent_clk_ops = { -	.recalc		= sh_clk_div4_recalc, -	.set_rate	= sh_clk_div4_set_rate, -	.round_rate	= sh_clk_div_round_rate, -	.enable		= sh_clk_div4_enable, -	.disable	= sh_clk_div4_disable, -	.set_parent	= sh_clk_div4_set_parent, -}; - -static int __init sh_clk_div4_register_ops(struct clk *clks, int nr, -			struct clk_div4_table *table, struct clk_ops *ops) -{ -	struct clk *clkp; -	void *freq_table; -	int nr_divs = table->div_mult_table->nr_divisors; -	int freq_table_size = sizeof(struct cpufreq_frequency_table); -	int ret = 0; -	int k; - -	freq_table_size *= (nr_divs + 1); -	freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); -	if (!freq_table) { -		pr_err("sh_clk_div4_register: unable to alloc memory\n"); -		return -ENOMEM; -	} - -	for (k = 0; !ret && (k < nr); k++) { -		clkp = clks + k; - -		clkp->ops = ops; -		clkp->id = -1; -		clkp->priv = table; - -		clkp->freq_table = freq_table + (k * freq_table_size); -		clkp->freq_table[nr_divs].frequency = CPUFREQ_TABLE_END; - -		ret = clk_register(clkp); -	} - -	return ret; -} - -int __init sh_clk_div4_register(struct clk *clks, int nr, -				struct clk_div4_table *table) -{ -	return sh_clk_div4_register_ops(clks, nr, table, &sh_clk_div4_clk_ops); -} - -int __init sh_clk_div4_enable_register(struct clk *clks, int nr, -				struct clk_div4_table *table) -{ -	return sh_clk_div4_register_ops(clks, nr, table, -					&sh_clk_div4_enable_clk_ops); -} - -int __init sh_clk_div4_reparent_register(struct clk *clks, int nr, -				struct clk_div4_table *table) -{ -	return sh_clk_div4_register_ops(clks, nr, table, -					&sh_clk_div4_reparent_clk_ops); -} - -#ifdef CONFIG_SH_CLK_CPG_LEGACY  static struct clk master_clk = { -	.name		= "master_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.rate		= CONFIG_SH_PCLK_FREQ,  };  static struct clk peripheral_clk = { -	.name		= "peripheral_clk",  	.parent		= &master_clk,  	.flags		= CLK_ENABLE_ON_INIT,  };  static struct clk bus_clk = { -	.name		= "bus_clk",  	.parent		= &master_clk,  	.flags		= CLK_ENABLE_ON_INIT,  };  static struct clk cpu_clk = { -	.name		= "cpu_clk",  	.parent		= &master_clk,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -327,6 +35,16 @@ static struct clk *onchip_clocks[] = {  	&cpu_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("master_clk", &master_clk), +	CLKDEV_CON_ID("peripheral_clk", &peripheral_clk), +	CLKDEV_CON_ID("bus_clk", &bus_clk), +	CLKDEV_CON_ID("cpu_clk", &cpu_clk), +}; +  int __init __deprecated cpg_clk_init(void)  {  	int i, ret = 0; @@ -338,6 +56,13 @@ int __init __deprecated cpg_clk_init(void)  			ret |= clk_register(clk);  	} +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); + +	clk_add_alias("tmu_fck", NULL, "peripheral_clk", NULL); +	clk_add_alias("mtu2_fck", NULL, "peripheral_clk", NULL); +	clk_add_alias("cmt_fck", NULL, "peripheral_clk", NULL); +	clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL); +  	return ret;  } @@ -349,4 +74,3 @@ int __init __weak arch_clk_init(void)  {  	return cpg_clk_init();  } -#endif /* CONFIG_SH_CPG_CLK_LEGACY */ diff --git a/arch/sh/kernel/cpu/clock.c b/arch/sh/kernel/cpu/clock.c index e9fa1bfed53..50f887dda56 100644 --- a/arch/sh/kernel/cpu/clock.c +++ b/arch/sh/kernel/cpu/clock.c @@ -10,558 +10,16 @@   *   *  Modified for omap shared clock framework by Tony Lindgren <tony@atomide.com>   * - *  With clkdev bits: - * - *	Copyright (C) 2008 Russell King. - *   * This file is subject to the terms and conditions of the GNU General Public   * License.  See the file "COPYING" in the main directory of this archive   * for more details.   */  #include <linux/kernel.h>  #include <linux/init.h> -#include <linux/module.h> -#include <linux/mutex.h> -#include <linux/list.h> -#include <linux/kobject.h> -#include <linux/sysdev.h> -#include <linux/seq_file.h> -#include <linux/err.h> -#include <linux/platform_device.h> -#include <linux/debugfs.h> -#include <linux/cpufreq.h> +#include <linux/clk.h>  #include <asm/clock.h>  #include <asm/machvec.h> -static LIST_HEAD(clock_list); -static DEFINE_SPINLOCK(clock_lock); -static DEFINE_MUTEX(clock_list_sem); - -void clk_rate_table_build(struct clk *clk, -			  struct cpufreq_frequency_table *freq_table, -			  int nr_freqs, -			  struct clk_div_mult_table *src_table, -			  unsigned long *bitmap) -{ -	unsigned long mult, div; -	unsigned long freq; -	int i; - -	for (i = 0; i < nr_freqs; i++) { -		div = 1; -		mult = 1; - -		if (src_table->divisors && i < src_table->nr_divisors) -			div = src_table->divisors[i]; - -		if (src_table->multipliers && i < src_table->nr_multipliers) -			mult = src_table->multipliers[i]; - -		if (!div || !mult || (bitmap && !test_bit(i, bitmap))) -			freq = CPUFREQ_ENTRY_INVALID; -		else -			freq = clk->parent->rate * mult / div; - -		freq_table[i].index = i; -		freq_table[i].frequency = freq; -	} - -	/* Termination entry */ -	freq_table[i].index = i; -	freq_table[i].frequency = CPUFREQ_TABLE_END; -} - -long clk_rate_table_round(struct clk *clk, -			  struct cpufreq_frequency_table *freq_table, -			  unsigned long rate) -{ -	unsigned long rate_error, rate_error_prev = ~0UL; -	unsigned long rate_best_fit = rate; -	unsigned long highest, lowest; -	int i; - -	highest = lowest = 0; - -	for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -		unsigned long freq = freq_table[i].frequency; - -		if (freq == CPUFREQ_ENTRY_INVALID) -			continue; - -		if (freq > highest) -			highest = freq; -		if (freq < lowest) -			lowest = freq; - -		rate_error = abs(freq - rate); -		if (rate_error < rate_error_prev) { -			rate_best_fit = freq; -			rate_error_prev = rate_error; -		} - -		if (rate_error == 0) -			break; -	} - -	if (rate >= highest) -		rate_best_fit = highest; -	if (rate <= lowest) -		rate_best_fit = lowest; - -	return rate_best_fit; -} - -int clk_rate_table_find(struct clk *clk, -			struct cpufreq_frequency_table *freq_table, -			unsigned long rate) -{ -	int i; - -	for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -		unsigned long freq = freq_table[i].frequency; - -		if (freq == CPUFREQ_ENTRY_INVALID) -			continue; - -		if (freq == rate) -			return i; -	} - -	return -ENOENT; -} - -/* Used for clocks that always have same value as the parent clock */ -unsigned long followparent_recalc(struct clk *clk) -{ -	return clk->parent ? clk->parent->rate : 0; -} - -int clk_reparent(struct clk *child, struct clk *parent) -{ -	list_del_init(&child->sibling); -	if (parent) -		list_add(&child->sibling, &parent->children); -	child->parent = parent; - -	/* now do the debugfs renaming to reattach the child -	   to the proper parent */ - -	return 0; -} - -/* Propagate rate to children */ -void propagate_rate(struct clk *tclk) -{ -	struct clk *clkp; - -	list_for_each_entry(clkp, &tclk->children, sibling) { -		if (clkp->ops && clkp->ops->recalc) -			clkp->rate = clkp->ops->recalc(clkp); - -		propagate_rate(clkp); -	} -} - -static void __clk_disable(struct clk *clk) -{ -	if (clk->usecount == 0) { -		printk(KERN_ERR "Trying disable clock %s with 0 usecount\n", -		       clk->name); -		WARN_ON(1); -		return; -	} - -	if (!(--clk->usecount)) { -		if (likely(clk->ops && clk->ops->disable)) -			clk->ops->disable(clk); -		if (likely(clk->parent)) -			__clk_disable(clk->parent); -	} -} - -void clk_disable(struct clk *clk) -{ -	unsigned long flags; - -	if (!clk) -		return; - -	spin_lock_irqsave(&clock_lock, flags); -	__clk_disable(clk); -	spin_unlock_irqrestore(&clock_lock, flags); -} -EXPORT_SYMBOL_GPL(clk_disable); - -static int __clk_enable(struct clk *clk) -{ -	int ret = 0; - -	if (clk->usecount++ == 0) { -		if (clk->parent) { -			ret = __clk_enable(clk->parent); -			if (unlikely(ret)) -				goto err; -		} - -		if (clk->ops && clk->ops->enable) { -			ret = clk->ops->enable(clk); -			if (ret) { -				if (clk->parent) -					__clk_disable(clk->parent); -				goto err; -			} -		} -	} - -	return ret; -err: -	clk->usecount--; -	return ret; -} - -int clk_enable(struct clk *clk) -{ -	unsigned long flags; -	int ret; - -	if (!clk) -		return -EINVAL; - -	spin_lock_irqsave(&clock_lock, flags); -	ret = __clk_enable(clk); -	spin_unlock_irqrestore(&clock_lock, flags); - -	return ret; -} -EXPORT_SYMBOL_GPL(clk_enable); - -static LIST_HEAD(root_clks); - -/** - * recalculate_root_clocks - recalculate and propagate all root clocks - * - * Recalculates all root clocks (clocks with no parent), which if the - * clock's .recalc is set correctly, should also propagate their rates. - * Called at init. - */ -void recalculate_root_clocks(void) -{ -	struct clk *clkp; - -	list_for_each_entry(clkp, &root_clks, sibling) { -		if (clkp->ops && clkp->ops->recalc) -			clkp->rate = clkp->ops->recalc(clkp); -		propagate_rate(clkp); -	} -} - -int clk_register(struct clk *clk) -{ -	if (clk == NULL || IS_ERR(clk)) -		return -EINVAL; - -	/* -	 * trap out already registered clocks -	 */ -	if (clk->node.next || clk->node.prev) -		return 0; - -	mutex_lock(&clock_list_sem); - -	INIT_LIST_HEAD(&clk->children); -	clk->usecount = 0; - -	if (clk->parent) -		list_add(&clk->sibling, &clk->parent->children); -	else -		list_add(&clk->sibling, &root_clks); - -	list_add(&clk->node, &clock_list); -	if (clk->ops && clk->ops->init) -		clk->ops->init(clk); -	mutex_unlock(&clock_list_sem); - -	return 0; -} -EXPORT_SYMBOL_GPL(clk_register); - -void clk_unregister(struct clk *clk) -{ -	mutex_lock(&clock_list_sem); -	list_del(&clk->sibling); -	list_del(&clk->node); -	mutex_unlock(&clock_list_sem); -} -EXPORT_SYMBOL_GPL(clk_unregister); - -static void clk_enable_init_clocks(void) -{ -	struct clk *clkp; - -	list_for_each_entry(clkp, &clock_list, node) -		if (clkp->flags & CLK_ENABLE_ON_INIT) -			clk_enable(clkp); -} - -unsigned long clk_get_rate(struct clk *clk) -{ -	return clk->rate; -} -EXPORT_SYMBOL_GPL(clk_get_rate); - -int clk_set_rate(struct clk *clk, unsigned long rate) -{ -	return clk_set_rate_ex(clk, rate, 0); -} -EXPORT_SYMBOL_GPL(clk_set_rate); - -int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id) -{ -	int ret = -EOPNOTSUPP; -	unsigned long flags; - -	spin_lock_irqsave(&clock_lock, flags); - -	if (likely(clk->ops && clk->ops->set_rate)) { -		ret = clk->ops->set_rate(clk, rate, algo_id); -		if (ret != 0) -			goto out_unlock; -	} else { -		clk->rate = rate; -		ret = 0; -	} - -	if (clk->ops && clk->ops->recalc) -		clk->rate = clk->ops->recalc(clk); - -	propagate_rate(clk); - -out_unlock: -	spin_unlock_irqrestore(&clock_lock, flags); - -	return ret; -} -EXPORT_SYMBOL_GPL(clk_set_rate_ex); - -int clk_set_parent(struct clk *clk, struct clk *parent) -{ -	unsigned long flags; -	int ret = -EINVAL; - -	if (!parent || !clk) -		return ret; -	if (clk->parent == parent) -		return 0; - -	spin_lock_irqsave(&clock_lock, flags); -	if (clk->usecount == 0) { -		if (clk->ops->set_parent) -			ret = clk->ops->set_parent(clk, parent); -		else -			ret = clk_reparent(clk, parent); - -		if (ret == 0) { -			pr_debug("clock: set parent of %s to %s (new rate %ld)\n", -				 clk->name, clk->parent->name, clk->rate); -			if (clk->ops->recalc) -				clk->rate = clk->ops->recalc(clk); -			propagate_rate(clk); -		} -	} else -		ret = -EBUSY; -	spin_unlock_irqrestore(&clock_lock, flags); - -	return ret; -} -EXPORT_SYMBOL_GPL(clk_set_parent); - -struct clk *clk_get_parent(struct clk *clk) -{ -	return clk->parent; -} -EXPORT_SYMBOL_GPL(clk_get_parent); - -long clk_round_rate(struct clk *clk, unsigned long rate) -{ -	if (likely(clk->ops && clk->ops->round_rate)) { -		unsigned long flags, rounded; - -		spin_lock_irqsave(&clock_lock, flags); -		rounded = clk->ops->round_rate(clk, rate); -		spin_unlock_irqrestore(&clock_lock, flags); - -		return rounded; -	} - -	return clk_get_rate(clk); -} -EXPORT_SYMBOL_GPL(clk_round_rate); - -/* - * Find the correct struct clk for the device and connection ID. - * We do slightly fuzzy matching here: - *  An entry with a NULL ID is assumed to be a wildcard. - *  If an entry has a device ID, it must match - *  If an entry has a connection ID, it must match - * Then we take the most specific entry - with the following - * order of precedence: dev+con > dev only > con only. - */ -static struct clk *clk_find(const char *dev_id, const char *con_id) -{ -	struct clk_lookup *p; -	struct clk *clk = NULL; -	int match, best = 0; - -	list_for_each_entry(p, &clock_list, node) { -		match = 0; -		if (p->dev_id) { -			if (!dev_id || strcmp(p->dev_id, dev_id)) -				continue; -			match += 2; -		} -		if (p->con_id) { -			if (!con_id || strcmp(p->con_id, con_id)) -				continue; -			match += 1; -		} -		if (match == 0) -			continue; - -		if (match > best) { -			clk = p->clk; -			best = match; -		} -	} -	return clk; -} - -struct clk *clk_get_sys(const char *dev_id, const char *con_id) -{ -	struct clk *clk; - -	mutex_lock(&clock_list_sem); -	clk = clk_find(dev_id, con_id); -	mutex_unlock(&clock_list_sem); - -	return clk ? clk : ERR_PTR(-ENOENT); -} -EXPORT_SYMBOL_GPL(clk_get_sys); - -/* - * Returns a clock. Note that we first try to use device id on the bus - * and clock name. If this fails, we try to use clock name only. - */ -struct clk *clk_get(struct device *dev, const char *id) -{ -	const char *dev_id = dev ? dev_name(dev) : NULL; -	struct clk *p, *clk = ERR_PTR(-ENOENT); -	int idno; - -	clk = clk_get_sys(dev_id, id); -	if (clk && !IS_ERR(clk)) -		return clk; - -	if (dev == NULL || dev->bus != &platform_bus_type) -		idno = -1; -	else -		idno = to_platform_device(dev)->id; - -	mutex_lock(&clock_list_sem); -	list_for_each_entry(p, &clock_list, node) { -		if (p->id == idno && -		    strcmp(id, p->name) == 0 && try_module_get(p->owner)) { -			clk = p; -			goto found; -		} -	} - -	list_for_each_entry(p, &clock_list, node) { -		if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { -			clk = p; -			break; -		} -	} - -found: -	mutex_unlock(&clock_list_sem); - -	return clk; -} -EXPORT_SYMBOL_GPL(clk_get); - -void clk_put(struct clk *clk) -{ -	if (clk && !IS_ERR(clk)) -		module_put(clk->owner); -} -EXPORT_SYMBOL_GPL(clk_put); - -#ifdef CONFIG_PM -static int clks_sysdev_suspend(struct sys_device *dev, pm_message_t state) -{ -	static pm_message_t prev_state; -	struct clk *clkp; - -	switch (state.event) { -	case PM_EVENT_ON: -		/* Resumeing from hibernation */ -		if (prev_state.event != PM_EVENT_FREEZE) -			break; - -		list_for_each_entry(clkp, &clock_list, node) { -			if (likely(clkp->ops)) { -				unsigned long rate = clkp->rate; - -				if (likely(clkp->ops->set_parent)) -					clkp->ops->set_parent(clkp, -						clkp->parent); -				if (likely(clkp->ops->set_rate)) -					clkp->ops->set_rate(clkp, -						rate, NO_CHANGE); -				else if (likely(clkp->ops->recalc)) -					clkp->rate = clkp->ops->recalc(clkp); -			} -		} -		break; -	case PM_EVENT_FREEZE: -		break; -	case PM_EVENT_SUSPEND: -		break; -	} - -	prev_state = state; -	return 0; -} - -static int clks_sysdev_resume(struct sys_device *dev) -{ -	return clks_sysdev_suspend(dev, PMSG_ON); -} - -static struct sysdev_class clks_sysdev_class = { -	.name = "clks", -}; - -static struct sysdev_driver clks_sysdev_driver = { -	.suspend = clks_sysdev_suspend, -	.resume = clks_sysdev_resume, -}; - -static struct sys_device clks_sysdev_dev = { -	.cls = &clks_sysdev_class, -}; - -static int __init clk_sysdev_init(void) -{ -	sysdev_class_register(&clks_sysdev_class); -	sysdev_driver_register(&clks_sysdev_class, &clks_sysdev_driver); -	sysdev_register(&clks_sysdev_dev); - -	return 0; -} -subsys_initcall(clk_sysdev_init); -#endif -  int __init clk_init(void)  {  	int ret; @@ -591,89 +49,19 @@ int __init clk_init(void)  }  /* - *	debugfs support to trace clock tree hierarchy and attributes + * Returns a clock. Note that we first try to use device id on the bus + * and clock name. If this fails, we try to use clock name only.   */ -static struct dentry *clk_debugfs_root; - -static int clk_debugfs_register_one(struct clk *c) +struct clk *clk_get(struct device *dev, const char *con_id)  { -	int err; -	struct dentry *d, *child, *child_tmp; -	struct clk *pa = c->parent; -	char s[255]; -	char *p = s; - -	p += sprintf(p, "%s", c->name); -	if (c->id >= 0) -		sprintf(p, ":%d", c->id); -	d = debugfs_create_dir(s, pa ? pa->dentry : clk_debugfs_root); -	if (!d) -		return -ENOMEM; -	c->dentry = d; - -	d = debugfs_create_u8("usecount", S_IRUGO, c->dentry, (u8 *)&c->usecount); -	if (!d) { -		err = -ENOMEM; -		goto err_out; -	} -	d = debugfs_create_u32("rate", S_IRUGO, c->dentry, (u32 *)&c->rate); -	if (!d) { -		err = -ENOMEM; -		goto err_out; -	} -	d = debugfs_create_x32("flags", S_IRUGO, c->dentry, (u32 *)&c->flags); -	if (!d) { -		err = -ENOMEM; -		goto err_out; -	} -	return 0; +	const char *dev_id = dev ? dev_name(dev) : NULL; -err_out: -	d = c->dentry; -	list_for_each_entry_safe(child, child_tmp, &d->d_subdirs, d_u.d_child) -		debugfs_remove(child); -	debugfs_remove(c->dentry); -	return err; +	return clk_get_sys(dev_id, con_id);  } +EXPORT_SYMBOL_GPL(clk_get); -static int clk_debugfs_register(struct clk *c) +void clk_put(struct clk *clk)  { -	int err; -	struct clk *pa = c->parent; - -	if (pa && !pa->dentry) { -		err = clk_debugfs_register(pa); -		if (err) -			return err; -	} - -	if (!c->dentry) { -		err = clk_debugfs_register_one(c); -		if (err) -			return err; -	} -	return 0;  } +EXPORT_SYMBOL_GPL(clk_put); -static int __init clk_debugfs_init(void) -{ -	struct clk *c; -	struct dentry *d; -	int err; - -	d = debugfs_create_dir("clock", NULL); -	if (!d) -		return -ENOMEM; -	clk_debugfs_root = d; - -	list_for_each_entry(c, &clock_list, node) { -		err = clk_debugfs_register(c); -		if (err) -			goto err_out; -	} -	return 0; -err_out: -	debugfs_remove(clk_debugfs_root); /* REVISIT: Cleanup correctly */ -	return err; -} -late_initcall(clk_debugfs_init); diff --git a/arch/sh/kernel/cpu/hwblk.c b/arch/sh/kernel/cpu/hwblk.c index 67a1e811cfe..3e985aae5d9 100644 --- a/arch/sh/kernel/cpu/hwblk.c +++ b/arch/sh/kernel/cpu/hwblk.c @@ -146,6 +146,11 @@ int __init sh_hwblk_clk_register(struct clk *clks, int nr)  	for (k = 0; !ret && (k < nr); k++) {  		clkp = clks + k; + +		/* skip over clocks using hwblk 0 (HWBLK_UNKNOWN) */ +		if (!clkp->arch_flags) +			continue; +  		clkp->ops = &sh_hwblk_clk_ops;  		ret |= clk_register(clkp);  	} diff --git a/arch/sh/kernel/cpu/init.c b/arch/sh/kernel/cpu/init.c index c736422344e..97661061ff2 100644 --- a/arch/sh/kernel/cpu/init.c +++ b/arch/sh/kernel/cpu/init.c @@ -43,9 +43,9 @@   * peripherals (nofpu, nodsp, and so forth).   */  #define onchip_setup(x)					\ -static int x##_disabled __initdata = !cpu_has_##x;	\ +static int x##_disabled __cpuinitdata = !cpu_has_##x;	\  							\ -static int __init x##_setup(char *opts)			\ +static int __cpuinit x##_setup(char *opts)			\  {							\  	x##_disabled = 1;				\  	return 1;					\ @@ -59,7 +59,7 @@ onchip_setup(dsp);  #define CPUOPM		0xff2f0000  #define CPUOPM_RABD	(1 << 5) -static void __init speculative_execution_init(void) +static void __cpuinit speculative_execution_init(void)  {  	/* Clear RABD */  	__raw_writel(__raw_readl(CPUOPM) & ~CPUOPM_RABD, CPUOPM); @@ -78,7 +78,7 @@ static void __init speculative_execution_init(void)  #define EXPMASK_BRDSSLP		(1 << 1)  #define EXPMASK_MMCAW		(1 << 4) -static void __init expmask_init(void) +static void __cpuinit expmask_init(void)  {  	unsigned long expmask = __raw_readl(EXPMASK); @@ -217,7 +217,7 @@ static void detect_cache_shape(void)  		l2_cache_shape = -1; /* No S-cache */  } -static void __init fpu_init(void) +static void __cpuinit fpu_init(void)  {  	/* Disable the FPU */  	if (fpu_disabled && (current_cpu_data.flags & CPU_HAS_FPU)) { @@ -230,7 +230,7 @@ static void __init fpu_init(void)  }  #ifdef CONFIG_SH_DSP -static void __init release_dsp(void) +static void __cpuinit release_dsp(void)  {  	unsigned long sr; @@ -244,7 +244,7 @@ static void __init release_dsp(void)  	);  } -static void __init dsp_init(void) +static void __cpuinit dsp_init(void)  {  	unsigned long sr; @@ -276,11 +276,11 @@ static void __init dsp_init(void)  	release_dsp();  }  #else -static inline void __init dsp_init(void) { } +static inline void __cpuinit dsp_init(void) { }  #endif /* CONFIG_SH_DSP */  /** - * sh_cpu_init + * cpu_init   *   * This is our initial entry point for each CPU, and is invoked on the   * boot CPU prior to calling start_kernel(). For SMP, a combination of @@ -293,14 +293,14 @@ static inline void __init dsp_init(void) { }   * subtype and initial configuration will all be done.   *   * Each processor family is still responsible for doing its own probing - * and cache configuration in detect_cpu_and_cache_system(). + * and cache configuration in cpu_probe().   */ -asmlinkage void __init sh_cpu_init(void) +asmlinkage void __cpuinit cpu_init(void)  {  	current_thread_info()->cpu = hard_smp_processor_id();  	/* First, probe the CPU */ -	detect_cpu_and_cache_system(); +	cpu_probe();  	if (current_cpu_data.type == CPU_SH_NONE)  		panic("Unknown CPU"); diff --git a/arch/sh/kernel/cpu/sh2/probe.c b/arch/sh/kernel/cpu/sh2/probe.c index 1db6d888388..bab8e75958a 100644 --- a/arch/sh/kernel/cpu/sh2/probe.c +++ b/arch/sh/kernel/cpu/sh2/probe.c @@ -13,7 +13,7 @@  #include <asm/processor.h>  #include <asm/cache.h> -int __init detect_cpu_and_cache_system(void) +void __cpuinit cpu_probe(void)  {  #if defined(CONFIG_CPU_SUBTYPE_SH7619)  	boot_cpu_data.type			= CPU_SH7619; @@ -30,7 +30,4 @@ int __init detect_cpu_and_cache_system(void)  	boot_cpu_data.dcache.flags |= SH_CACHE_COMBINED;  	boot_cpu_data.icache = boot_cpu_data.dcache;  	boot_cpu_data.family = CPU_FAMILY_SH2; - -	return 0;  } - diff --git a/arch/sh/kernel/cpu/sh2/setup-sh7619.c b/arch/sh/kernel/cpu/sh2/setup-sh7619.c index 114c7cee718..c3638516bff 100644 --- a/arch/sh/kernel/cpu/sh2/setup-sh7619.c +++ b/arch/sh/kernel/cpu/sh2/setup-sh7619.c @@ -128,17 +128,14 @@ static struct platform_device eth_device = {  };  static struct sh_timer_config cmt0_platform_data = { -	.name = "CMT0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt0_resources[] = {  	[0] = { -		.name	= "CMT0",  		.start	= 0xf84a0072,  		.end	= 0xf84a0077,  		.flags	= IORESOURCE_MEM, @@ -160,17 +157,14 @@ static struct platform_device cmt0_device = {  };  static struct sh_timer_config cmt1_platform_data = { -	.name = "CMT1",  	.channel_offset = 0x08,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt1_resources[] = {  	[0] = { -		.name	= "CMT1",  		.start	= 0xf84a0078,  		.end	= 0xf84a007d,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh2a/probe.c b/arch/sh/kernel/cpu/sh2a/probe.c index 6825d650716..48e97a2a0c8 100644 --- a/arch/sh/kernel/cpu/sh2a/probe.c +++ b/arch/sh/kernel/cpu/sh2a/probe.c @@ -13,7 +13,7 @@  #include <asm/processor.h>  #include <asm/cache.h> -int __init detect_cpu_and_cache_system(void) +void __cpuinit cpu_probe(void)  {  	boot_cpu_data.family			= CPU_FAMILY_SH2A; @@ -51,6 +51,4 @@ int __init detect_cpu_and_cache_system(void)  	 * on the cache info.  	 */  	boot_cpu_data.icache		= boot_cpu_data.dcache; - -	return 0;  } diff --git a/arch/sh/kernel/cpu/sh2a/setup-mxg.c b/arch/sh/kernel/cpu/sh2a/setup-mxg.c index 8f669dc9b0d..6c96ea02bf8 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-mxg.c +++ b/arch/sh/kernel/cpu/sh2a/setup-mxg.c @@ -115,16 +115,13 @@ static DECLARE_INTC_DESC(intc_desc, "mxg", vectors, groups,  			 mask_registers, prio_registers, NULL);  static struct sh_timer_config mtu2_0_platform_data = { -	.name = "MTU2_0",  	.channel_offset = -0x80,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_0_resources[] = {  	[0] = { -		.name	= "MTU2_0",  		.start	= 0xff801300,  		.end	= 0xff801326,  		.flags	= IORESOURCE_MEM, @@ -146,16 +143,13 @@ static struct platform_device mtu2_0_device = {  };  static struct sh_timer_config mtu2_1_platform_data = { -	.name = "MTU2_1",  	.channel_offset = -0x100,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_1_resources[] = {  	[0] = { -		.name	= "MTU2_1",  		.start	= 0xff801380,  		.end	= 0xff801390,  		.flags	= IORESOURCE_MEM, @@ -177,16 +171,13 @@ static struct platform_device mtu2_1_device = {  };  static struct sh_timer_config mtu2_2_platform_data = { -	.name = "MTU2_2",  	.channel_offset = 0x80,  	.timer_bit = 2, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_2_resources[] = {  	[0] = { -		.name	= "MTU2_2",  		.start	= 0xff801000,  		.end	= 0xff80100a,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7201.c b/arch/sh/kernel/cpu/sh2a/setup-sh7201.c index 4ccfeb59eb1..d08bf4c07d6 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7201.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7201.c @@ -318,16 +318,13 @@ static struct platform_device rtc_device = {  };  static struct sh_timer_config mtu2_0_platform_data = { -	.name = "MTU2_0",  	.channel_offset = -0x80,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_0_resources[] = {  	[0] = { -		.name	= "MTU2_0",  		.start	= 0xfffe4300,  		.end	= 0xfffe4326,  		.flags	= IORESOURCE_MEM, @@ -349,16 +346,13 @@ static struct platform_device mtu2_0_device = {  };  static struct sh_timer_config mtu2_1_platform_data = { -	.name = "MTU2_1",  	.channel_offset = -0x100,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_1_resources[] = {  	[0] = { -		.name	= "MTU2_1",  		.start	= 0xfffe4380,  		.end	= 0xfffe4390,  		.flags	= IORESOURCE_MEM, @@ -380,16 +374,13 @@ static struct platform_device mtu2_1_device = {  };  static struct sh_timer_config mtu2_2_platform_data = { -	.name = "MTU2_2",  	.channel_offset = 0x80,  	.timer_bit = 2, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_2_resources[] = {  	[0] = { -		.name	= "MTU2_2",  		.start	= 0xfffe4000,  		.end	= 0xfffe400a,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c index 3136966cc9b..832f401b586 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7203.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7203.c @@ -234,17 +234,14 @@ static struct platform_device scif3_device = {  };  static struct sh_timer_config cmt0_platform_data = { -	.name = "CMT0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt0_resources[] = {  	[0] = { -		.name	= "CMT0",  		.start	= 0xfffec002,  		.end	= 0xfffec007,  		.flags	= IORESOURCE_MEM, @@ -266,17 +263,14 @@ static struct platform_device cmt0_device = {  };  static struct sh_timer_config cmt1_platform_data = { -	.name = "CMT1",  	.channel_offset = 0x08,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt1_resources[] = {  	[0] = { -		.name	= "CMT1",  		.start	= 0xfffec008,  		.end	= 0xfffec00d,  		.flags	= IORESOURCE_MEM, @@ -298,16 +292,13 @@ static struct platform_device cmt1_device = {  };  static struct sh_timer_config mtu2_0_platform_data = { -	.name = "MTU2_0",  	.channel_offset = -0x80,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_0_resources[] = {  	[0] = { -		.name	= "MTU2_0",  		.start	= 0xfffe4300,  		.end	= 0xfffe4326,  		.flags	= IORESOURCE_MEM, @@ -329,16 +320,13 @@ static struct platform_device mtu2_0_device = {  };  static struct sh_timer_config mtu2_1_platform_data = { -	.name = "MTU2_1",  	.channel_offset = -0x100,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_1_resources[] = {  	[0] = { -		.name	= "MTU2_1",  		.start	= 0xfffe4380,  		.end	= 0xfffe4390,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c index 064873585a8..dc47b04e104 100644 --- a/arch/sh/kernel/cpu/sh2a/setup-sh7206.c +++ b/arch/sh/kernel/cpu/sh2a/setup-sh7206.c @@ -194,17 +194,14 @@ static struct platform_device scif3_device = {  };  static struct sh_timer_config cmt0_platform_data = { -	.name = "CMT0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt0_resources[] = {  	[0] = { -		.name	= "CMT0",  		.start	= 0xfffec002,  		.end	= 0xfffec007,  		.flags	= IORESOURCE_MEM, @@ -226,17 +223,14 @@ static struct platform_device cmt0_device = {  };  static struct sh_timer_config cmt1_platform_data = { -	.name = "CMT1",  	.channel_offset = 0x08,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 0, /* disabled due to code generation issues */  };  static struct resource cmt1_resources[] = {  	[0] = { -		.name	= "CMT1",  		.start	= 0xfffec008,  		.end	= 0xfffec00d,  		.flags	= IORESOURCE_MEM, @@ -258,16 +252,13 @@ static struct platform_device cmt1_device = {  };  static struct sh_timer_config mtu2_0_platform_data = { -	.name = "MTU2_0",  	.channel_offset = -0x80,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_0_resources[] = {  	[0] = { -		.name	= "MTU2_0",  		.start	= 0xfffe4300,  		.end	= 0xfffe4326,  		.flags	= IORESOURCE_MEM, @@ -289,16 +280,13 @@ static struct platform_device mtu2_0_device = {  };  static struct sh_timer_config mtu2_1_platform_data = { -	.name = "MTU2_1",  	.channel_offset = -0x100,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_1_resources[] = {  	[0] = { -		.name	= "MTU2_1",  		.start	= 0xfffe4380,  		.end	= 0xfffe4390,  		.flags	= IORESOURCE_MEM, @@ -320,16 +308,13 @@ static struct platform_device mtu2_1_device = {  };  static struct sh_timer_config mtu2_2_platform_data = { -	.name = "MTU2_2",  	.channel_offset = 0x80,  	.timer_bit = 2, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource mtu2_2_resources[] = {  	[0] = { -		.name	= "MTU2_2",  		.start	= 0xfffe4000,  		.end	= 0xfffe400a,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh3/probe.c b/arch/sh/kernel/cpu/sh3/probe.c index 295ec4c99e9..bf23c322e16 100644 --- a/arch/sh/kernel/cpu/sh3/probe.c +++ b/arch/sh/kernel/cpu/sh3/probe.c @@ -16,7 +16,7 @@  #include <asm/cache.h>  #include <asm/io.h> -int detect_cpu_and_cache_system(void) +void __cpuinit cpu_probe(void)  {  	unsigned long addr0, addr1, data0, data1, data2, data3; @@ -108,6 +108,4 @@ int detect_cpu_and_cache_system(void)  	boot_cpu_data.icache = boot_cpu_data.dcache;  	boot_cpu_data.family = CPU_FAMILY_SH3; - -	return 0;  } diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7705.c b/arch/sh/kernel/cpu/sh3/setup-sh7705.c index 7b892d60e3a..baadd7f54d9 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7705.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7705.c @@ -124,16 +124,13 @@ static struct platform_device rtc_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xfffffe94,  		.end	= 0xfffffe9f,  		.flags	= IORESOURCE_MEM, @@ -155,16 +152,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0xe,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xfffffea0,  		.end	= 0xfffffeab,  		.flags	= IORESOURCE_MEM, @@ -186,15 +180,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1a,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xfffffeac,  		.end	= 0xfffffebb,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh3/setup-sh770x.c b/arch/sh/kernel/cpu/sh3/setup-sh770x.c index bc0c4f68c7c..3cf8c8ef7b3 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh770x.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh770x.c @@ -157,16 +157,13 @@ static struct platform_device scif2_device = {  #endif  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xfffffe94,  		.end	= 0xfffffe9f,  		.flags	= IORESOURCE_MEM, @@ -188,16 +185,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0xe,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xfffffea0,  		.end	= 0xfffffeab,  		.flags	= IORESOURCE_MEM, @@ -219,15 +213,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1a,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xfffffeac,  		.end	= 0xfffffebb,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7710.c b/arch/sh/kernel/cpu/sh3/setup-sh7710.c index 0845a3ad006..b0c2fb4ab47 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7710.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7710.c @@ -127,16 +127,13 @@ static struct platform_device scif1_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xa412fe94,  		.end	= 0xa412fe9f,  		.flags	= IORESOURCE_MEM, @@ -158,16 +155,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0xe,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xa412fea0,  		.end	= 0xa412feab,  		.flags	= IORESOURCE_MEM, @@ -189,15 +183,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1a,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xa412feac,  		.end	= 0xa412feb5,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7720.c b/arch/sh/kernel/cpu/sh3/setup-sh7720.c index a718a623109..24b17135d5d 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7720.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7720.c @@ -130,17 +130,14 @@ static struct platform_device usbf_device = {  };  static struct sh_timer_config cmt0_platform_data = { -	.name = "CMT0",  	.channel_offset = 0x10,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 125,  	.clocksource_rating = 125,  };  static struct resource cmt0_resources[] = {  	[0] = { -		.name	= "CMT0",  		.start	= 0x044a0010,  		.end	= 0x044a001b,  		.flags	= IORESOURCE_MEM, @@ -162,15 +159,12 @@ static struct platform_device cmt0_device = {  };  static struct sh_timer_config cmt1_platform_data = { -	.name = "CMT1",  	.channel_offset = 0x20,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource cmt1_resources[] = {  	[0] = { -		.name	= "CMT1",  		.start	= 0x044a0020,  		.end	= 0x044a002b,  		.flags	= IORESOURCE_MEM, @@ -192,15 +186,12 @@ static struct platform_device cmt1_device = {  };  static struct sh_timer_config cmt2_platform_data = { -	.name = "CMT2",  	.channel_offset = 0x30,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource cmt2_resources[] = {  	[0] = { -		.name	= "CMT2",  		.start	= 0x044a0030,  		.end	= 0x044a003b,  		.flags	= IORESOURCE_MEM, @@ -222,15 +213,12 @@ static struct platform_device cmt2_device = {  };  static struct sh_timer_config cmt3_platform_data = { -	.name = "CMT3",  	.channel_offset = 0x40,  	.timer_bit = 3, -	.clk = "peripheral_clk",  };  static struct resource cmt3_resources[] = {  	[0] = { -		.name	= "CMT3",  		.start	= 0x044a0040,  		.end	= 0x044a004b,  		.flags	= IORESOURCE_MEM, @@ -252,15 +240,12 @@ static struct platform_device cmt3_device = {  };  static struct sh_timer_config cmt4_platform_data = { -	.name = "CMT4",  	.channel_offset = 0x50,  	.timer_bit = 4, -	.clk = "peripheral_clk",  };  static struct resource cmt4_resources[] = {  	[0] = { -		.name	= "CMT4",  		.start	= 0x044a0050,  		.end	= 0x044a005b,  		.flags	= IORESOURCE_MEM, @@ -282,16 +267,13 @@ static struct platform_device cmt4_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x02,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xa412fe94,  		.end	= 0xa412fe9f,  		.flags	= IORESOURCE_MEM, @@ -313,16 +295,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0xe,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xa412fea0,  		.end	= 0xa412feab,  		.flags	= IORESOURCE_MEM, @@ -344,15 +323,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1a,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xa412feac,  		.end	= 0xa412feb5,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4/clock-sh4-202.c b/arch/sh/kernel/cpu/sh4/clock-sh4-202.c index 6b80850294d..4eabc68cd75 100644 --- a/arch/sh/kernel/cpu/sh4/clock-sh4-202.c +++ b/arch/sh/kernel/cpu/sh4/clock-sh4-202.c @@ -12,9 +12,10 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/err.h> +#include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h> -#include <asm/io.h>  #define CPG2_FRQCR3	0xfe0a0018 @@ -45,7 +46,6 @@ static struct clk_ops sh4202_emi_clk_ops = {  };  static struct clk sh4202_emi_clk = { -	.name		= "emi_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh4202_emi_clk_ops,  }; @@ -61,7 +61,6 @@ static struct clk_ops sh4202_femi_clk_ops = {  };  static struct clk sh4202_femi_clk = { -	.name		= "femi_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh4202_femi_clk_ops,  }; @@ -139,7 +138,6 @@ static struct clk_ops sh4202_shoc_clk_ops = {  };  static struct clk sh4202_shoc_clk = { -	.name		= "shoc_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh4202_shoc_clk_ops,  }; @@ -150,6 +148,15 @@ static struct clk *sh4202_onchip_clocks[] = {  	&sh4202_shoc_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("emi_clk", &sh4202_emi_clk), +	CLKDEV_CON_ID("femi_clk", &sh4202_femi_clk), +	CLKDEV_CON_ID("shoc_clk", &sh4202_shoc_clk), +}; +  int __init arch_clk_init(void)  {  	struct clk *clk; @@ -167,5 +174,7 @@ int __init arch_clk_init(void)  	clk_put(clk); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index 822977a06d8..d180f16281e 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c @@ -15,7 +15,7 @@  #include <asm/processor.h>  #include <asm/cache.h> -int __init detect_cpu_and_cache_system(void) +void __cpuinit cpu_probe(void)  {  	unsigned long pvr, prr, cvr;  	unsigned long size; @@ -251,6 +251,4 @@ int __init detect_cpu_and_cache_system(void)  				 boot_cpu_data.scache.linesz);  		}  	} - -	return 0;  } diff --git a/arch/sh/kernel/cpu/sh4/setup-sh4-202.c b/arch/sh/kernel/cpu/sh4/setup-sh4-202.c index b9b7e10ad68..e916b18e1f7 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh4-202.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh4-202.c @@ -31,16 +31,13 @@ static struct platform_device scif0_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -62,16 +59,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -93,15 +87,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index ffd79e57254..911d196e86b 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c @@ -66,16 +66,13 @@ static struct platform_device scif1_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -97,16 +94,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -128,15 +122,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -163,15 +154,12 @@ static struct platform_device tmu2_device = {  	defined(CONFIG_CPU_SUBTYPE_SH7751R)  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xfe100008,  		.end	= 0xfe100013,  		.flags	= IORESOURCE_MEM, @@ -193,15 +181,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xfe100014,  		.end	= 0xfe10001f,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7760.c b/arch/sh/kernel/cpu/sh4/setup-sh7760.c index a16eb3656f4..48ea8fe85dc 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7760.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7760.c @@ -187,16 +187,13 @@ static struct platform_device scif3_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -218,16 +215,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -249,15 +243,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7343.c b/arch/sh/kernel/cpu/sh4a/clock-sh7343.c index 2c16df37eda..71291ae201b 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7343.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7343.c @@ -21,6 +21,7 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  /* SH7343 registers */ @@ -36,8 +37,6 @@  /* Fixed 32 KHz root clock for RTC and Power Management purposes */  static struct clk r_clk = { -	.name           = "rclk", -	.id             = -1,  	.rate           = 32768,  }; @@ -46,8 +45,6 @@ static struct clk r_clk = {   * from the platform code.   */  struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -69,8 +66,6 @@ static struct clk_ops dll_clk_ops = {  };  static struct clk dll_clk = { -	.name           = "dll_clk", -	.id             = -1,  	.ops		= &dll_clk_ops,  	.parent		= &r_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -91,8 +86,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -121,72 +114,168 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_U, DIV4_SH, DIV4_B, DIV4_B3, DIV4_P,         DIV4_SIUA, DIV4_SIUB, DIV4_NR }; -#define DIV4(_str, _reg, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, _reg, _bit, _mask, _flags) +#define DIV4(_reg, _bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_I] = DIV4("cpu_clk", FRQCR, 20, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_U] = DIV4("umem_clk", FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B3] = DIV4("b3_clk", FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_P] = DIV4("peripheral_clk", FRQCR, 0, 0x1fff, 0), -	[DIV4_SIUA] = DIV4("siua_clk", SCLKACR, 0, 0x1fff, 0), -	[DIV4_SIUB] = DIV4("siub_clk", SCLKBCR, 0, 0x1fff, 0), +	[DIV4_I] = DIV4(FRQCR, 20, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_U] = DIV4(FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B3] = DIV4(FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(FRQCR, 0, 0x1fff, 0), +	[DIV4_SIUA] = DIV4(SCLKACR, 0, 0x1fff, 0), +	[DIV4_SIUB] = DIV4(SCLKBCR, 0, 0x1fff, 0),  }; -struct clk div6_clks[] = { -	SH_CLK_DIV6("video_clk", &pll_clk, VCLKCR, 0), +enum { DIV6_V, DIV6_NR }; + +struct clk div6_clks[DIV6_NR] = { +	[DIV6_V] = SH_CLK_DIV6(&pll_clk, VCLKCR, 0),  }; -#define MSTP(_str, _parent, _reg, _bit, _flags) \ -  SH_CLK_MSTP32(_str, -1, _parent, _reg, _bit, _flags) +#define MSTP(_parent, _reg, _bit, _flags) \ +  SH_CLK_MSTP32(_parent, _reg, _bit, _flags) + +enum { MSTP031, MSTP030, MSTP029, MSTP028, MSTP026, +       MSTP023, MSTP022, MSTP021, MSTP020, MSTP019, MSTP018, MSTP017, MSTP016, +       MSTP015, MSTP014, MSTP013, MSTP012, MSTP011, MSTP010, +       MSTP007, MSTP006, MSTP005, MSTP004, MSTP003, MSTP002, MSTP001, +       MSTP109, MSTP108, MSTP100, +       MSTP225, MSTP224, MSTP218, MSTP217, MSTP216, +       MSTP214, MSTP213, MSTP212, MSTP211, MSTP208, +       MSTP206, MSTP205, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200, +       MSTP_NR }; -static struct clk mstp_clks[] = { -	MSTP("tlb0", &div4_clks[DIV4_I], MSTPCR0, 31, CLK_ENABLE_ON_INIT), -	MSTP("ic0", &div4_clks[DIV4_I], MSTPCR0, 30, CLK_ENABLE_ON_INIT), -	MSTP("oc0", &div4_clks[DIV4_I], MSTPCR0, 29, CLK_ENABLE_ON_INIT), -	MSTP("uram0", &div4_clks[DIV4_U], MSTPCR0, 28, CLK_ENABLE_ON_INIT), -	MSTP("xymem0", &div4_clks[DIV4_B], MSTPCR0, 26, CLK_ENABLE_ON_INIT), -	MSTP("intc3", &div4_clks[DIV4_P], MSTPCR0, 23, 0), -	MSTP("intc0", &div4_clks[DIV4_P], MSTPCR0, 22, 0), -	MSTP("dmac0", &div4_clks[DIV4_P], MSTPCR0, 21, 0), -	MSTP("sh0", &div4_clks[DIV4_P], MSTPCR0, 20, 0), -	MSTP("hudi0", &div4_clks[DIV4_P], MSTPCR0, 19, 0), -	MSTP("ubc0", &div4_clks[DIV4_P], MSTPCR0, 17, 0), -	MSTP("tmu0", &div4_clks[DIV4_P], MSTPCR0, 15, 0), -	MSTP("cmt0", &r_clk, MSTPCR0, 14, 0), -	MSTP("rwdt0", &r_clk, MSTPCR0, 13, 0), -	MSTP("mfi0", &div4_clks[DIV4_P], MSTPCR0, 11, 0), -	MSTP("flctl0", &div4_clks[DIV4_P], MSTPCR0, 10, 0), -	MSTP("scif0", &div4_clks[DIV4_P], MSTPCR0, 7, 0), -	MSTP("scif1", &div4_clks[DIV4_P], MSTPCR0, 6, 0), -	MSTP("scif2", &div4_clks[DIV4_P], MSTPCR0, 5, 0), -	MSTP("scif3", &div4_clks[DIV4_P], MSTPCR0, 4, 0), -	MSTP("sio0", &div4_clks[DIV4_P], MSTPCR0, 3, 0), -	MSTP("siof0", &div4_clks[DIV4_P], MSTPCR0, 2, 0), -	MSTP("siof1", &div4_clks[DIV4_P], MSTPCR0, 1, 0), +static struct clk mstp_clks[MSTP_NR] = { +	[MSTP031] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 31, CLK_ENABLE_ON_INIT), +	[MSTP030] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 30, CLK_ENABLE_ON_INIT), +	[MSTP029] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 29, CLK_ENABLE_ON_INIT), +	[MSTP028] = MSTP(&div4_clks[DIV4_U], MSTPCR0, 28, CLK_ENABLE_ON_INIT), +	[MSTP026] = MSTP(&div4_clks[DIV4_B], MSTPCR0, 26, CLK_ENABLE_ON_INIT), +	[MSTP023] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 23, 0), +	[MSTP022] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 22, 0), +	[MSTP021] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 21, 0), +	[MSTP020] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 20, 0), +	[MSTP019] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 19, 0), +	[MSTP017] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 17, 0), +	[MSTP015] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 15, 0), +	[MSTP014] = MSTP(&r_clk, MSTPCR0, 14, 0), +	[MSTP013] = MSTP(&r_clk, MSTPCR0, 13, 0), +	[MSTP011] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 11, 0), +	[MSTP010] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 10, 0), +	[MSTP007] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 7, 0), +	[MSTP006] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 6, 0), +	[MSTP005] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 5, 0), +	[MSTP004] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 4, 0), +	[MSTP003] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 3, 0), +	[MSTP002] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 2, 0), +	[MSTP001] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 1, 0), -	MSTP("i2c0", &div4_clks[DIV4_P], MSTPCR1, 9, 0), -	MSTP("i2c1", &div4_clks[DIV4_P], MSTPCR1, 8, 0), +	[MSTP109] = MSTP(&div4_clks[DIV4_P], MSTPCR1, 9, 0), +	[MSTP108] = MSTP(&div4_clks[DIV4_P], MSTPCR1, 8, 0), -	MSTP("tpu0", &div4_clks[DIV4_P], MSTPCR2, 25, 0), -	MSTP("irda0", &div4_clks[DIV4_P], MSTPCR2, 24, 0), -	MSTP("sdhi0", &div4_clks[DIV4_P], MSTPCR2, 18, 0), -	MSTP("mmcif0", &div4_clks[DIV4_P], MSTPCR2, 17, 0), -	MSTP("sim0", &div4_clks[DIV4_P], MSTPCR2, 16, 0), -	MSTP("keysc0", &r_clk, MSTPCR2, 14, 0), -	MSTP("tsif0", &div4_clks[DIV4_P], MSTPCR2, 13, 0), -	MSTP("s3d40", &div4_clks[DIV4_P], MSTPCR2, 12, 0), -	MSTP("usbf0", &div4_clks[DIV4_P], MSTPCR2, 11, 0), -	MSTP("siu0", &div4_clks[DIV4_B], MSTPCR2, 8, 0), -	MSTP("jpu0", &div4_clks[DIV4_B], MSTPCR2, 6, CLK_ENABLE_ON_INIT), -	MSTP("vou0", &div4_clks[DIV4_B], MSTPCR2, 5, 0), -	MSTP("beu0", &div4_clks[DIV4_B], MSTPCR2, 4, 0), -	MSTP("ceu0", &div4_clks[DIV4_B], MSTPCR2, 3, 0), -	MSTP("veu0", &div4_clks[DIV4_B], MSTPCR2, 2, CLK_ENABLE_ON_INIT), -	MSTP("vpu0", &div4_clks[DIV4_B], MSTPCR2, 1, CLK_ENABLE_ON_INIT), -	MSTP("lcdc0", &div4_clks[DIV4_B], MSTPCR2, 0, 0), +	[MSTP225] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 25, 0), +	[MSTP224] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 24, 0), +	[MSTP218] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 18, 0), +	[MSTP217] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 17, 0), +	[MSTP216] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 16, 0), +	[MSTP214] = MSTP(&r_clk, MSTPCR2, 14, 0), +	[MSTP213] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 13, 0), +	[MSTP212] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 12, 0), +	[MSTP211] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 11, 0), +	[MSTP208] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 8, 0), +	[MSTP206] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 6, CLK_ENABLE_ON_INIT), +	[MSTP205] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 5, 0), +	[MSTP204] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 4, 0), +	[MSTP203] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 3, 0), +	[MSTP202] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 2, CLK_ENABLE_ON_INIT), +	[MSTP201] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 1, CLK_ENABLE_ON_INIT), +	[MSTP200] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 0, 0), +}; + +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("rclk", &r_clk), +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("dll_clk", &dll_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), + +	/* DIV4 clocks */ +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), +	CLKDEV_CON_ID("umem_clk", &div4_clks[DIV4_U]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("b3_clk", &div4_clks[DIV4_B3]), +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("siua_clk", &div4_clks[DIV4_SIUA]), +	CLKDEV_CON_ID("siub_clk", &div4_clks[DIV4_SIUB]), + +	/* DIV6 clocks */ +	CLKDEV_CON_ID("video_clk", &div6_clks[DIV6_V]), + +	/* MSTP32 clocks */ +	CLKDEV_CON_ID("tlb0", &mstp_clks[MSTP031]), +	CLKDEV_CON_ID("ic0", &mstp_clks[MSTP030]), +	CLKDEV_CON_ID("oc0", &mstp_clks[MSTP029]), +	CLKDEV_CON_ID("uram0", &mstp_clks[MSTP028]), +	CLKDEV_CON_ID("xymem0", &mstp_clks[MSTP026]), +	CLKDEV_CON_ID("intc3", &mstp_clks[MSTP023]), +	CLKDEV_CON_ID("intc0", &mstp_clks[MSTP022]), +	CLKDEV_CON_ID("dmac0", &mstp_clks[MSTP021]), +	CLKDEV_CON_ID("sh0", &mstp_clks[MSTP020]), +	CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]), +	CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]), +	CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]), +	CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP014]), +	CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]), +	CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]), +	CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]), +	{ +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP007], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP006], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP005], +	}, { +		/* SCIF3 */ +		.dev_id		= "sh-sci.3", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP004], +	}, +	CLKDEV_CON_ID("sio0", &mstp_clks[MSTP003]), +	CLKDEV_CON_ID("siof0", &mstp_clks[MSTP002]), +	CLKDEV_CON_ID("siof1", &mstp_clks[MSTP001]), +	CLKDEV_CON_ID("i2c0", &mstp_clks[MSTP109]), +	CLKDEV_CON_ID("i2c1", &mstp_clks[MSTP108]), +	CLKDEV_CON_ID("tpu0", &mstp_clks[MSTP225]), +	CLKDEV_CON_ID("irda0", &mstp_clks[MSTP224]), +	CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP218]), +	CLKDEV_CON_ID("mmcif0", &mstp_clks[MSTP217]), +	CLKDEV_CON_ID("sim0", &mstp_clks[MSTP216]), +	CLKDEV_CON_ID("keysc0", &mstp_clks[MSTP214]), +	CLKDEV_CON_ID("tsif0", &mstp_clks[MSTP213]), +	CLKDEV_CON_ID("s3d40", &mstp_clks[MSTP212]), +	CLKDEV_CON_ID("usbf0", &mstp_clks[MSTP211]), +	CLKDEV_CON_ID("siu0", &mstp_clks[MSTP208]), +	CLKDEV_CON_ID("jpu0", &mstp_clks[MSTP206]), +	CLKDEV_CON_ID("vou0", &mstp_clks[MSTP205]), +	CLKDEV_CON_ID("beu0", &mstp_clks[MSTP204]), +	CLKDEV_CON_ID("ceu0", &mstp_clks[MSTP203]), +	CLKDEV_CON_ID("veu0", &mstp_clks[MSTP202]), +	CLKDEV_CON_ID("vpu0", &mstp_clks[MSTP201]), +	CLKDEV_CON_ID("lcdc0", &mstp_clks[MSTP200]),  };  int __init arch_clk_init(void) @@ -202,14 +291,16 @@ int __init arch_clk_init(void)  	for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++)  		ret = clk_register(main_clks[k]); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table);  	if (!ret) -		ret = sh_clk_div6_register(div6_clks, ARRAY_SIZE(div6_clks)); +		ret = sh_clk_div6_register(div6_clks, DIV6_NR);  	if (!ret) -		ret = sh_clk_mstp32_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_clk_mstp32_register(mstp_clks, MSTP_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7366.c b/arch/sh/kernel/cpu/sh4a/clock-sh7366.c index 91588d280cd..7ce5bbcd408 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7366.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7366.c @@ -21,6 +21,7 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  /* SH7366 registers */ @@ -36,8 +37,6 @@  /* Fixed 32 KHz root clock for RTC and Power Management purposes */  static struct clk r_clk = { -	.name           = "rclk", -	.id             = -1,  	.rate           = 32768,  }; @@ -46,8 +45,6 @@ static struct clk r_clk = {   * from the platform code.   */  struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -69,8 +66,6 @@ static struct clk_ops dll_clk_ops = {  };  static struct clk dll_clk = { -	.name           = "dll_clk", -	.id             = -1,  	.ops		= &dll_clk_ops,  	.parent		= &r_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -94,8 +89,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -124,69 +117,154 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_U, DIV4_SH, DIV4_B, DIV4_B3, DIV4_P,         DIV4_SIUA, DIV4_SIUB, DIV4_NR }; -#define DIV4(_str, _reg, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, _reg, _bit, _mask, _flags) +#define DIV4(_reg, _bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_I] = DIV4("cpu_clk", FRQCR, 20, 0x1fef, CLK_ENABLE_ON_INIT), -	[DIV4_U] = DIV4("umem_clk", FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B3] = DIV4("b3_clk", FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_P] = DIV4("peripheral_clk", FRQCR, 0, 0x1fff, 0), -	[DIV4_SIUA] = DIV4("siua_clk", SCLKACR, 0, 0x1fff, 0), -	[DIV4_SIUB] = DIV4("siub_clk", SCLKBCR, 0, 0x1fff, 0), +	[DIV4_I] = DIV4(FRQCR, 20, 0x1fef, CLK_ENABLE_ON_INIT), +	[DIV4_U] = DIV4(FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B3] = DIV4(FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(FRQCR, 0, 0x1fff, 0), +	[DIV4_SIUA] = DIV4(SCLKACR, 0, 0x1fff, 0), +	[DIV4_SIUB] = DIV4(SCLKBCR, 0, 0x1fff, 0),  }; -struct clk div6_clks[] = { -	SH_CLK_DIV6("video_clk", &pll_clk, VCLKCR, 0), +enum { DIV6_V, DIV6_NR }; + +struct clk div6_clks[DIV6_NR] = { +	[DIV6_V] = SH_CLK_DIV6(&pll_clk, VCLKCR, 0),  }; -#define MSTP(_str, _parent, _reg, _bit, _flags) \ -  SH_CLK_MSTP32(_str, -1, _parent, _reg, _bit, _flags) +#define MSTP(_parent, _reg, _bit, _flags) \ +  SH_CLK_MSTP32(_parent, _reg, _bit, _flags) + +enum { MSTP031, MSTP030, MSTP029, MSTP028, MSTP026, +       MSTP023, MSTP022, MSTP021, MSTP020, MSTP019, MSTP018, MSTP017, MSTP016, +       MSTP015, MSTP014, MSTP013, MSTP012, MSTP011, MSTP010, +       MSTP007, MSTP006, MSTP005, MSTP002, MSTP001, +       MSTP109, MSTP100, +       MSTP227, MSTP226, MSTP224, MSTP223, MSTP222, MSTP218, MSTP217, +       MSTP211, MSTP207, MSTP205, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200, +       MSTP_NR }; -static struct clk mstp_clks[] = { +static struct clk mstp_clks[MSTP_NR] = {  	/* See page 52 of Datasheet V0.40: Overview -> Block Diagram */ -	MSTP("tlb0", &div4_clks[DIV4_I], MSTPCR0, 31, CLK_ENABLE_ON_INIT), -	MSTP("ic0", &div4_clks[DIV4_I], MSTPCR0, 30, CLK_ENABLE_ON_INIT), -	MSTP("oc0", &div4_clks[DIV4_I], MSTPCR0, 29, CLK_ENABLE_ON_INIT), -	MSTP("rsmem0", &div4_clks[DIV4_SH], MSTPCR0, 28, CLK_ENABLE_ON_INIT), -	MSTP("xymem0", &div4_clks[DIV4_B], MSTPCR0, 26, CLK_ENABLE_ON_INIT), -	MSTP("intc3", &div4_clks[DIV4_P], MSTPCR0, 23, 0), -	MSTP("intc0", &div4_clks[DIV4_P], MSTPCR0, 22, 0), -	MSTP("dmac0", &div4_clks[DIV4_P], MSTPCR0, 21, 0), -	MSTP("sh0", &div4_clks[DIV4_P], MSTPCR0, 20, 0), -	MSTP("hudi0", &div4_clks[DIV4_P], MSTPCR0, 19, 0), -	MSTP("ubc0", &div4_clks[DIV4_P], MSTPCR0, 17, 0), -	MSTP("tmu0", &div4_clks[DIV4_P], MSTPCR0, 15, 0), -	MSTP("cmt0", &r_clk, MSTPCR0, 14, 0), -	MSTP("rwdt0", &r_clk, MSTPCR0, 13, 0), -	MSTP("mfi0", &div4_clks[DIV4_P], MSTPCR0, 11, 0), -	MSTP("flctl0", &div4_clks[DIV4_P], MSTPCR0, 10, 0), -	MSTP("scif0", &div4_clks[DIV4_P], MSTPCR0, 7, 0), -	MSTP("scif1", &div4_clks[DIV4_P], MSTPCR0, 6, 0), -	MSTP("scif2", &div4_clks[DIV4_P], MSTPCR0, 5, 0), -	MSTP("msiof0", &div4_clks[DIV4_P], MSTPCR0, 2, 0), -	MSTP("sbr0", &div4_clks[DIV4_P], MSTPCR0, 1, 0), +	[MSTP031] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 31, CLK_ENABLE_ON_INIT), +	[MSTP030] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 30, CLK_ENABLE_ON_INIT), +	[MSTP029] = MSTP(&div4_clks[DIV4_I], MSTPCR0, 29, CLK_ENABLE_ON_INIT), +	[MSTP028] = MSTP(&div4_clks[DIV4_SH], MSTPCR0, 28, CLK_ENABLE_ON_INIT), +	[MSTP026] = MSTP(&div4_clks[DIV4_B], MSTPCR0, 26, CLK_ENABLE_ON_INIT), +	[MSTP023] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 23, 0), +	[MSTP022] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 22, 0), +	[MSTP021] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 21, 0), +	[MSTP020] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 20, 0), +	[MSTP019] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 19, 0), +	[MSTP017] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 17, 0), +	[MSTP015] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 15, 0), +	[MSTP014] = MSTP(&r_clk, MSTPCR0, 14, 0), +	[MSTP013] = MSTP(&r_clk, MSTPCR0, 13, 0), +	[MSTP011] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 11, 0), +	[MSTP010] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 10, 0), +	[MSTP007] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 7, 0), +	[MSTP006] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 6, 0), +	[MSTP005] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 5, 0), +	[MSTP002] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 2, 0), +	[MSTP001] = MSTP(&div4_clks[DIV4_P], MSTPCR0, 1, 0), -	MSTP("i2c0", &div4_clks[DIV4_P], MSTPCR1, 9, 0), +	[MSTP109] = MSTP(&div4_clks[DIV4_P], MSTPCR1, 9, 0), -	MSTP("icb0", &div4_clks[DIV4_P], MSTPCR2, 27, 0), -	MSTP("meram0", &div4_clks[DIV4_P], MSTPCR2, 26, 0), -	MSTP("dacy1", &div4_clks[DIV4_P], MSTPCR2, 24, 0), -	MSTP("dacy0", &div4_clks[DIV4_P], MSTPCR2, 23, 0), -	MSTP("tsif0", &div4_clks[DIV4_P], MSTPCR2, 22, 0), -	MSTP("sdhi0", &div4_clks[DIV4_P], MSTPCR2, 18, 0), -	MSTP("mmcif0", &div4_clks[DIV4_P], MSTPCR2, 17, 0), -	MSTP("usbf0", &div4_clks[DIV4_P], MSTPCR2, 11, 0), -	MSTP("siu0", &div4_clks[DIV4_B], MSTPCR2, 9, 0), -	MSTP("veu1", &div4_clks[DIV4_B], MSTPCR2, 7, CLK_ENABLE_ON_INIT), -	MSTP("vou0", &div4_clks[DIV4_B], MSTPCR2, 5, 0), -	MSTP("beu0", &div4_clks[DIV4_B], MSTPCR2, 4, 0), -	MSTP("ceu0", &div4_clks[DIV4_B], MSTPCR2, 3, 0), -	MSTP("veu0", &div4_clks[DIV4_B], MSTPCR2, 2, CLK_ENABLE_ON_INIT), -	MSTP("vpu0", &div4_clks[DIV4_B], MSTPCR2, 1, CLK_ENABLE_ON_INIT), -	MSTP("lcdc0", &div4_clks[DIV4_B], MSTPCR2, 0, 0), +	[MSTP227] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 27, 0), +	[MSTP226] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 26, 0), +	[MSTP224] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 24, 0), +	[MSTP223] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 23, 0), +	[MSTP222] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 22, 0), +	[MSTP218] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 18, 0), +	[MSTP217] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 17, 0), +	[MSTP211] = MSTP(&div4_clks[DIV4_P], MSTPCR2, 11, 0), +	[MSTP207] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 7, CLK_ENABLE_ON_INIT), +	[MSTP205] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 5, 0), +	[MSTP204] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 4, 0), +	[MSTP203] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 3, 0), +	[MSTP202] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 2, CLK_ENABLE_ON_INIT), +	[MSTP201] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 1, CLK_ENABLE_ON_INIT), +	[MSTP200] = MSTP(&div4_clks[DIV4_B], MSTPCR2, 0, 0), +}; + +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("rclk", &r_clk), +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("dll_clk", &dll_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), + +	/* DIV4 clocks */ +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), +	CLKDEV_CON_ID("umem_clk", &div4_clks[DIV4_U]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("b3_clk", &div4_clks[DIV4_B3]), +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("siua_clk", &div4_clks[DIV4_SIUA]), +	CLKDEV_CON_ID("siub_clk", &div4_clks[DIV4_SIUB]), + +	/* DIV6 clocks */ +	CLKDEV_CON_ID("video_clk", &div6_clks[DIV6_V]), + +	/* MSTP32 clocks */ +	CLKDEV_CON_ID("tlb0", &mstp_clks[MSTP031]), +	CLKDEV_CON_ID("ic0", &mstp_clks[MSTP030]), +	CLKDEV_CON_ID("oc0", &mstp_clks[MSTP029]), +	CLKDEV_CON_ID("rsmem0", &mstp_clks[MSTP028]), +	CLKDEV_CON_ID("xymem0", &mstp_clks[MSTP026]), +	CLKDEV_CON_ID("intc3", &mstp_clks[MSTP023]), +	CLKDEV_CON_ID("intc0", &mstp_clks[MSTP022]), +	CLKDEV_CON_ID("dmac0", &mstp_clks[MSTP021]), +	CLKDEV_CON_ID("sh0", &mstp_clks[MSTP020]), +	CLKDEV_CON_ID("hudi0", &mstp_clks[MSTP019]), +	CLKDEV_CON_ID("ubc0", &mstp_clks[MSTP017]), +	CLKDEV_CON_ID("tmu_fck", &mstp_clks[MSTP015]), +	CLKDEV_CON_ID("cmt_fck", &mstp_clks[MSTP014]), +	CLKDEV_CON_ID("rwdt0", &mstp_clks[MSTP013]), +	CLKDEV_CON_ID("mfi0", &mstp_clks[MSTP011]), +	CLKDEV_CON_ID("flctl0", &mstp_clks[MSTP010]), +	{ +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP007], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP006], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP005], +	}, +	CLKDEV_CON_ID("msiof0", &mstp_clks[MSTP002]), +	CLKDEV_CON_ID("sbr0", &mstp_clks[MSTP001]), +	CLKDEV_CON_ID("i2c0", &mstp_clks[MSTP109]), +	CLKDEV_CON_ID("icb0", &mstp_clks[MSTP227]), +	CLKDEV_CON_ID("meram0", &mstp_clks[MSTP226]), +	CLKDEV_CON_ID("dacy1", &mstp_clks[MSTP224]), +	CLKDEV_CON_ID("dacy0", &mstp_clks[MSTP223]), +	CLKDEV_CON_ID("tsif0", &mstp_clks[MSTP222]), +	CLKDEV_CON_ID("sdhi0", &mstp_clks[MSTP218]), +	CLKDEV_CON_ID("mmcif0", &mstp_clks[MSTP217]), +	CLKDEV_CON_ID("usbf0", &mstp_clks[MSTP211]), +	CLKDEV_CON_ID("veu1", &mstp_clks[MSTP207]), +	CLKDEV_CON_ID("vou0", &mstp_clks[MSTP205]), +	CLKDEV_CON_ID("beu0", &mstp_clks[MSTP204]), +	CLKDEV_CON_ID("ceu0", &mstp_clks[MSTP203]), +	CLKDEV_CON_ID("veu0", &mstp_clks[MSTP202]), +	CLKDEV_CON_ID("vpu0", &mstp_clks[MSTP201]), +	CLKDEV_CON_ID("lcdc0", &mstp_clks[MSTP200]),  };  int __init arch_clk_init(void) @@ -202,14 +280,16 @@ int __init arch_clk_init(void)  	for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++)  		ret = clk_register(main_clks[k]); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table);  	if (!ret) -		ret = sh_clk_div6_register(div6_clks, ARRAY_SIZE(div6_clks)); +		ret = sh_clk_div6_register(div6_clks, DIV6_NR);  	if (!ret) -		ret = sh_clk_mstp32_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_clk_mstp32_register(mstp_clks, MSTP_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7722.c b/arch/sh/kernel/cpu/sh4a/clock-sh7722.c index 15db6d521c5..2030f3d9fac 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7722.c @@ -21,6 +21,7 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/hwblk.h>  #include <cpu/sh7722.h> @@ -36,8 +37,6 @@  /* Fixed 32 KHz root clock for RTC and Power Management purposes */  static struct clk r_clk = { -	.name           = "rclk", -	.id             = -1,  	.rate           = 32768,  }; @@ -46,8 +45,6 @@ static struct clk r_clk = {   * from the platform code.   */  struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -69,8 +66,6 @@ static struct clk_ops dll_clk_ops = {  };  static struct clk dll_clk = { -	.name           = "dll_clk", -	.id             = -1,  	.ops		= &dll_clk_ops,  	.parent		= &r_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -94,8 +89,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -121,68 +114,142 @@ static struct clk_div4_table div4_table = {  	.div_mult_table = &div4_div_mult_table,  }; -#define DIV4(_str, _reg, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, _reg, _bit, _mask, _flags) +#define DIV4(_reg, _bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)  enum { DIV4_I, DIV4_U, DIV4_SH, DIV4_B, DIV4_B3, DIV4_P, DIV4_NR };  struct clk div4_clks[DIV4_NR] = { -	[DIV4_I] = DIV4("cpu_clk", FRQCR, 20, 0x1fef, CLK_ENABLE_ON_INIT), -	[DIV4_U] = DIV4("umem_clk", FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_B3] = DIV4("b3_clk", FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), -	[DIV4_P] = DIV4("peripheral_clk", FRQCR, 0, 0x1fff, 0), +	[DIV4_I] = DIV4(FRQCR, 20, 0x1fef, CLK_ENABLE_ON_INIT), +	[DIV4_U] = DIV4(FRQCR, 16, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(FRQCR, 12, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(FRQCR, 8, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_B3] = DIV4(FRQCR, 4, 0x1fff, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(FRQCR, 0, 0x1fff, 0),  };  enum { DIV4_IRDA, DIV4_ENABLE_NR };  struct clk div4_enable_clks[DIV4_ENABLE_NR] = { -	[DIV4_IRDA] = DIV4("irda_clk", IRDACLKCR, 0, 0x1fff, 0), +	[DIV4_IRDA] = DIV4(IRDACLKCR, 0, 0x1fff, 0),  };  enum { DIV4_SIUA, DIV4_SIUB, DIV4_REPARENT_NR };  struct clk div4_reparent_clks[DIV4_REPARENT_NR] = { -	[DIV4_SIUA] = DIV4("siua_clk", SCLKACR, 0, 0x1fff, 0), -	[DIV4_SIUB] = DIV4("siub_clk", SCLKBCR, 0, 0x1fff, 0), +	[DIV4_SIUA] = DIV4(SCLKACR, 0, 0x1fff, 0), +	[DIV4_SIUB] = DIV4(SCLKBCR, 0, 0x1fff, 0),  }; -struct clk div6_clks[] = { -	SH_CLK_DIV6("video_clk", &pll_clk, VCLKCR, 0), +enum { DIV6_V, DIV6_NR }; + +struct clk div6_clks[DIV6_NR] = { +	[DIV6_V] = SH_CLK_DIV6(&pll_clk, VCLKCR, 0),  }; -#define R_CLK &r_clk -#define P_CLK &div4_clks[DIV4_P] -#define B_CLK &div4_clks[DIV4_B] -#define U_CLK &div4_clks[DIV4_U] +static struct clk mstp_clks[HWBLK_NR] = { +	SH_HWBLK_CLK(HWBLK_URAM, &div4_clks[DIV4_U], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_XYMEM, &div4_clks[DIV4_B], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_TMU, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_CMT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_RWDT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_FLCTL, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF1, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF2, &div4_clks[DIV4_P], 0), + +	SH_HWBLK_CLK(HWBLK_IIC, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_RTC, &r_clk, 0), + +	SH_HWBLK_CLK(HWBLK_SDHI, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_KEYSC, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_USBF, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_2DG, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SIU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VOU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_JPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_BEU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_CEU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VEU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_LCDC, &div4_clks[DIV4_P], 0), +}; -static struct clk mstp_clks[] = { -	SH_HWBLK_CLK("uram0", -1, U_CLK, HWBLK_URAM, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("xymem0", -1, B_CLK, HWBLK_XYMEM, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("tmu0", -1, P_CLK, HWBLK_TMU, 0), -	SH_HWBLK_CLK("cmt0", -1, R_CLK, HWBLK_CMT, 0), -	SH_HWBLK_CLK("rwdt0", -1, R_CLK, HWBLK_RWDT, 0), -	SH_HWBLK_CLK("flctl0", -1, P_CLK, HWBLK_FLCTL, 0), -	SH_HWBLK_CLK("scif0", -1, P_CLK, HWBLK_SCIF0, 0), -	SH_HWBLK_CLK("scif1", -1, P_CLK, HWBLK_SCIF1, 0), -	SH_HWBLK_CLK("scif2", -1, P_CLK, HWBLK_SCIF2, 0), +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } -	SH_HWBLK_CLK("i2c0", -1, P_CLK, HWBLK_IIC, 0), -	SH_HWBLK_CLK("rtc0", -1, R_CLK, HWBLK_RTC, 0), +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("rclk", &r_clk), +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("dll_clk", &dll_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), -	SH_HWBLK_CLK("sdhi0", -1, P_CLK, HWBLK_SDHI, 0), -	SH_HWBLK_CLK("keysc0", -1, R_CLK, HWBLK_KEYSC, 0), -	SH_HWBLK_CLK("usbf0", -1, P_CLK, HWBLK_USBF, 0), -	SH_HWBLK_CLK("2dg0", -1, B_CLK, HWBLK_2DG, 0), -	SH_HWBLK_CLK("siu0", -1, B_CLK, HWBLK_SIU, 0), -	SH_HWBLK_CLK("vou0", -1, B_CLK, HWBLK_VOU, 0), -	SH_HWBLK_CLK("jpu0", -1, B_CLK, HWBLK_JPU, 0), -	SH_HWBLK_CLK("beu0", -1, B_CLK, HWBLK_BEU, 0), -	SH_HWBLK_CLK("ceu0", -1, B_CLK, HWBLK_CEU, 0), -	SH_HWBLK_CLK("veu0", -1, B_CLK, HWBLK_VEU, 0), -	SH_HWBLK_CLK("vpu0", -1, B_CLK, HWBLK_VPU, 0), -	SH_HWBLK_CLK("lcdc0", -1, P_CLK, HWBLK_LCDC, 0), +	/* DIV4 clocks */ +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), +	CLKDEV_CON_ID("umem_clk", &div4_clks[DIV4_U]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("b3_clk", &div4_clks[DIV4_B3]), +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("irda_clk", &div4_enable_clks[DIV4_IRDA]), +	CLKDEV_CON_ID("siua_clk", &div4_reparent_clks[DIV4_SIUA]), +	CLKDEV_CON_ID("siub_clk", &div4_reparent_clks[DIV4_SIUB]), + +	/* DIV6 clocks */ +	CLKDEV_CON_ID("video_clk", &div6_clks[DIV6_V]), + +	/* MSTP clocks */ +	CLKDEV_CON_ID("uram0", &mstp_clks[HWBLK_URAM]), +	CLKDEV_CON_ID("xymem0", &mstp_clks[HWBLK_XYMEM]), +	{ +		/* TMU0 */ +		.dev_id		= "sh_tmu.0", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU], +	}, { +		/* TMU1 */ +		.dev_id		= "sh_tmu.1", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU], +	}, { +		/* TMU2 */ +		.dev_id		= "sh_tmu.2", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU], +	}, +	CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), +	CLKDEV_CON_ID("rwdt0", &mstp_clks[HWBLK_RWDT]), +	CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), +	{ +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF0], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF1], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF2], +	}, +	CLKDEV_CON_ID("i2c0", &mstp_clks[HWBLK_IIC]), +	CLKDEV_CON_ID("rtc0", &mstp_clks[HWBLK_RTC]), +	CLKDEV_CON_ID("sdhi0", &mstp_clks[HWBLK_SDHI]), +	CLKDEV_CON_ID("keysc0", &mstp_clks[HWBLK_KEYSC]), +	CLKDEV_CON_ID("usbf0", &mstp_clks[HWBLK_USBF]), +	CLKDEV_CON_ID("2dg0", &mstp_clks[HWBLK_2DG]), +	CLKDEV_CON_ID("siu0", &mstp_clks[HWBLK_SIU]), +	CLKDEV_CON_ID("vou0", &mstp_clks[HWBLK_VOU]), +	CLKDEV_CON_ID("jpu0", &mstp_clks[HWBLK_JPU]), +	CLKDEV_CON_ID("beu0", &mstp_clks[HWBLK_BEU]), +	CLKDEV_CON_ID("ceu0", &mstp_clks[HWBLK_CEU]), +	CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU]), +	CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), +	CLKDEV_CON_ID("lcdc0", &mstp_clks[HWBLK_LCDC]),  };  int __init arch_clk_init(void) @@ -198,6 +265,8 @@ int __init arch_clk_init(void)  	for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++)  		ret = clk_register(main_clks[k]); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table); @@ -210,10 +279,10 @@ int __init arch_clk_init(void)  					DIV4_REPARENT_NR, &div4_table);  	if (!ret) -		ret = sh_clk_div6_register(div6_clks, ARRAY_SIZE(div6_clks)); +		ret = sh_clk_div6_register(div6_clks, DIV6_NR);  	if (!ret) -		ret = sh_hwblk_clk_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_hwblk_clk_register(mstp_clks, HWBLK_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7723.c b/arch/sh/kernel/cpu/sh4a/clock-sh7723.c index 50babe01fe4..d3938f0d370 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7723.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7723.c @@ -21,6 +21,8 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <linux/clk.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/hwblk.h>  #include <cpu/sh7723.h> @@ -36,8 +38,6 @@  /* Fixed 32 KHz root clock for RTC and Power Management purposes */  static struct clk r_clk = { -	.name           = "rclk", -	.id             = -1,  	.rate           = 32768,  }; @@ -46,8 +46,6 @@ static struct clk r_clk = {   * from the platform code.   */  struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -69,8 +67,6 @@ static struct clk_ops dll_clk_ops = {  };  static struct clk dll_clk = { -	.name           = "dll_clk", -	.id             = -1,  	.ops		= &dll_clk_ops,  	.parent		= &r_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -94,8 +90,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -123,92 +117,215 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_U, DIV4_SH, DIV4_B, DIV4_B3, DIV4_P, DIV4_NR }; -#define DIV4(_str, _reg, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, _reg, _bit, _mask, _flags) +#define DIV4(_reg, _bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_I] = DIV4("cpu_clk", FRQCR, 20, 0x0dbf, CLK_ENABLE_ON_INIT), -	[DIV4_U] = DIV4("umem_clk", FRQCR, 16, 0x0dbf, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", FRQCR, 12, 0x0dbf, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", FRQCR, 8, 0x0dbf, CLK_ENABLE_ON_INIT), -	[DIV4_B3] = DIV4("b3_clk", FRQCR, 4, 0x0db4, CLK_ENABLE_ON_INIT), -	[DIV4_P] = DIV4("peripheral_clk", FRQCR, 0, 0x0dbf, 0), +	[DIV4_I] = DIV4(FRQCR, 20, 0x0dbf, CLK_ENABLE_ON_INIT), +	[DIV4_U] = DIV4(FRQCR, 16, 0x0dbf, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(FRQCR, 12, 0x0dbf, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(FRQCR, 8, 0x0dbf, CLK_ENABLE_ON_INIT), +	[DIV4_B3] = DIV4(FRQCR, 4, 0x0db4, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(FRQCR, 0, 0x0dbf, 0),  };  enum { DIV4_IRDA, DIV4_ENABLE_NR };  struct clk div4_enable_clks[DIV4_ENABLE_NR] = { -	[DIV4_IRDA] = DIV4("irda_clk", IRDACLKCR, 0, 0x0dbf, 0), +	[DIV4_IRDA] = DIV4(IRDACLKCR, 0, 0x0dbf, 0),  };  enum { DIV4_SIUA, DIV4_SIUB, DIV4_REPARENT_NR };  struct clk div4_reparent_clks[DIV4_REPARENT_NR] = { -	[DIV4_SIUA] = DIV4("siua_clk", SCLKACR, 0, 0x0dbf, 0), -	[DIV4_SIUB] = DIV4("siub_clk", SCLKBCR, 0, 0x0dbf, 0), -}; -struct clk div6_clks[] = { -	SH_CLK_DIV6("video_clk", &pll_clk, VCLKCR, 0), +	[DIV4_SIUA] = DIV4(SCLKACR, 0, 0x0dbf, 0), +	[DIV4_SIUB] = DIV4(SCLKBCR, 0, 0x0dbf, 0),  }; +enum { DIV6_V, DIV6_NR }; -#define R_CLK (&r_clk) -#define P_CLK (&div4_clks[DIV4_P]) -#define B_CLK (&div4_clks[DIV4_B]) -#define U_CLK (&div4_clks[DIV4_U]) -#define I_CLK (&div4_clks[DIV4_I]) -#define SH_CLK (&div4_clks[DIV4_SH]) +struct clk div6_clks[DIV6_NR] = { +	[DIV6_V] = SH_CLK_DIV6(&pll_clk, VCLKCR, 0), +};  static struct clk mstp_clks[] = {  	/* See page 60 of Datasheet V1.0: Overview -> Block Diagram */ -	SH_HWBLK_CLK("tlb0", -1, I_CLK, HWBLK_TLB, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("ic0", -1, I_CLK, HWBLK_IC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("oc0", -1, I_CLK, HWBLK_OC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("l2c0", -1, SH_CLK, HWBLK_L2C, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("ilmem0", -1, I_CLK, HWBLK_ILMEM, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("fpu0", -1, I_CLK, HWBLK_FPU, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("intc0", -1, I_CLK, HWBLK_INTC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("dmac0", -1, B_CLK, HWBLK_DMAC0, 0), -	SH_HWBLK_CLK("sh0", -1, SH_CLK, HWBLK_SHYWAY, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("hudi0", -1, P_CLK, HWBLK_HUDI, 0), -	SH_HWBLK_CLK("ubc0", -1, I_CLK, HWBLK_UBC, 0), -	SH_HWBLK_CLK("tmu0", -1, P_CLK, HWBLK_TMU0, 0), -	SH_HWBLK_CLK("cmt0", -1, R_CLK, HWBLK_CMT, 0), -	SH_HWBLK_CLK("rwdt0", -1, R_CLK, HWBLK_RWDT, 0), -	SH_HWBLK_CLK("dmac1", -1, B_CLK, HWBLK_DMAC1, 0), -	SH_HWBLK_CLK("tmu1", -1, P_CLK, HWBLK_TMU1, 0), -	SH_HWBLK_CLK("flctl0", -1, P_CLK, HWBLK_FLCTL, 0), -	SH_HWBLK_CLK("scif0", -1, P_CLK, HWBLK_SCIF0, 0), -	SH_HWBLK_CLK("scif1", -1, P_CLK, HWBLK_SCIF1, 0), -	SH_HWBLK_CLK("scif2", -1, P_CLK, HWBLK_SCIF2, 0), -	SH_HWBLK_CLK("scif3", -1, B_CLK, HWBLK_SCIF3, 0), -	SH_HWBLK_CLK("scif4", -1, B_CLK, HWBLK_SCIF4, 0), -	SH_HWBLK_CLK("scif5", -1, B_CLK, HWBLK_SCIF5, 0), -	SH_HWBLK_CLK("msiof0", -1, B_CLK, HWBLK_MSIOF0, 0), -	SH_HWBLK_CLK("msiof1", -1, B_CLK, HWBLK_MSIOF1, 0), -	SH_HWBLK_CLK("meram0", -1, SH_CLK, HWBLK_MERAM, 0), +	SH_HWBLK_CLK(HWBLK_TLB, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_IC, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_OC, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_L2C, &div4_clks[DIV4_SH], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_ILMEM, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_FPU, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_INTC, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_DMAC0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SHYWAY, &div4_clks[DIV4_SH], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_HUDI, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_UBC, &div4_clks[DIV4_I], 0), +	SH_HWBLK_CLK(HWBLK_TMU0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_CMT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_RWDT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_DMAC1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_TMU1, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_FLCTL, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF1, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF2, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF3, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SCIF4, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SCIF5, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_MSIOF0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_MSIOF1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_MERAM, &div4_clks[DIV4_SH], 0), -	SH_HWBLK_CLK("i2c0", -1, P_CLK, HWBLK_IIC, 0), -	SH_HWBLK_CLK("rtc0", -1, R_CLK, HWBLK_RTC, 0), +	SH_HWBLK_CLK(HWBLK_IIC, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_RTC, &r_clk, 0), -	SH_HWBLK_CLK("atapi0", -1, SH_CLK, HWBLK_ATAPI, 0), -	SH_HWBLK_CLK("adc0", -1, P_CLK, HWBLK_ADC, 0), -	SH_HWBLK_CLK("tpu0", -1, B_CLK, HWBLK_TPU, 0), -	SH_HWBLK_CLK("irda0", -1, P_CLK, HWBLK_IRDA, 0), -	SH_HWBLK_CLK("tsif0", -1, B_CLK, HWBLK_TSIF, 0), -	SH_HWBLK_CLK("icb0", -1, B_CLK, HWBLK_ICB, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("sdhi0", -1, B_CLK, HWBLK_SDHI0, 0), -	SH_HWBLK_CLK("sdhi1", -1, B_CLK, HWBLK_SDHI1, 0), -	SH_HWBLK_CLK("keysc0", -1, R_CLK, HWBLK_KEYSC, 0), -	SH_HWBLK_CLK("usb0", -1, B_CLK, HWBLK_USB, 0), -	SH_HWBLK_CLK("2dg0", -1, B_CLK, HWBLK_2DG, 0), -	SH_HWBLK_CLK("siu0", -1, B_CLK, HWBLK_SIU, 0), -	SH_HWBLK_CLK("veu1", -1, B_CLK, HWBLK_VEU2H1, 0), -	SH_HWBLK_CLK("vou0", -1, B_CLK, HWBLK_VOU, 0), -	SH_HWBLK_CLK("beu0", -1, B_CLK, HWBLK_BEU, 0), -	SH_HWBLK_CLK("ceu0", -1, B_CLK, HWBLK_CEU, 0), -	SH_HWBLK_CLK("veu0", -1, B_CLK, HWBLK_VEU2H0, 0), -	SH_HWBLK_CLK("vpu0", -1, B_CLK, HWBLK_VPU, 0), -	SH_HWBLK_CLK("lcdc0", -1, B_CLK, HWBLK_LCDC, 0), +	SH_HWBLK_CLK(HWBLK_ATAPI, &div4_clks[DIV4_SH], 0), +	SH_HWBLK_CLK(HWBLK_ADC, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_TPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_IRDA, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_TSIF, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_ICB, &div4_clks[DIV4_B], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_SDHI0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SDHI1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_KEYSC, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_USB, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_2DG, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SIU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VEU2H1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VOU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_BEU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_CEU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VEU2H0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_LCDC, &div4_clks[DIV4_B], 0), +}; + +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("rclk", &r_clk), +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("dll_clk", &dll_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), + +	/* DIV4 clocks */ +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), +	CLKDEV_CON_ID("umem_clk", &div4_clks[DIV4_U]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("b3_clk", &div4_clks[DIV4_B3]), +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("irda_clk", &div4_enable_clks[DIV4_IRDA]), +	CLKDEV_CON_ID("siua_clk", &div4_reparent_clks[DIV4_SIUA]), +	CLKDEV_CON_ID("siub_clk", &div4_reparent_clks[DIV4_SIUB]), + +	/* DIV6 clocks */ +	CLKDEV_CON_ID("video_clk", &div6_clks[DIV6_V]), + +	/* MSTP clocks */ +	CLKDEV_CON_ID("tlb0", &mstp_clks[HWBLK_TLB]), +	CLKDEV_CON_ID("ic0", &mstp_clks[HWBLK_IC]), +	CLKDEV_CON_ID("oc0", &mstp_clks[HWBLK_OC]), +	CLKDEV_CON_ID("l2c0", &mstp_clks[HWBLK_L2C]), +	CLKDEV_CON_ID("ilmem0", &mstp_clks[HWBLK_ILMEM]), +	CLKDEV_CON_ID("fpu0", &mstp_clks[HWBLK_FPU]), +	CLKDEV_CON_ID("intc0", &mstp_clks[HWBLK_INTC]), +	CLKDEV_CON_ID("dmac0", &mstp_clks[HWBLK_DMAC0]), +	CLKDEV_CON_ID("sh0", &mstp_clks[HWBLK_SHYWAY]), +	CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), +	CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), +	{ +		/* TMU0 */ +		.dev_id		= "sh_tmu.0", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, { +		/* TMU1 */ +		.dev_id		= "sh_tmu.1", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, { +		/* TMU2 */ +		.dev_id		= "sh_tmu.2", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, +	CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), +	CLKDEV_CON_ID("rwdt0", &mstp_clks[HWBLK_RWDT]), +	CLKDEV_CON_ID("dmac1", &mstp_clks[HWBLK_DMAC1]), +	{ +		/* TMU3 */ +		.dev_id		= "sh_tmu.3", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, { +		/* TMU4 */ +		.dev_id		= "sh_tmu.4", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, { +		/* TMU5 */ +		.dev_id		= "sh_tmu.5", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, +	CLKDEV_CON_ID("flctl0", &mstp_clks[HWBLK_FLCTL]), +	{ +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF0], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF1], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF2], +	}, { +		/* SCIF3 */ +		.dev_id		= "sh-sci.3", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF3], +	}, { +		/* SCIF4 */ +		.dev_id		= "sh-sci.4", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF4], +	}, { +		/* SCIF5 */ +		.dev_id		= "sh-sci.5", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF5], +	}, +	CLKDEV_CON_ID("msiof0", &mstp_clks[HWBLK_MSIOF0]), +	CLKDEV_CON_ID("msiof1", &mstp_clks[HWBLK_MSIOF1]), +	CLKDEV_CON_ID("meram0", &mstp_clks[HWBLK_MERAM]), +	CLKDEV_CON_ID("i2c0", &mstp_clks[HWBLK_IIC]), +	CLKDEV_CON_ID("rtc0", &mstp_clks[HWBLK_RTC]), +	CLKDEV_CON_ID("atapi0", &mstp_clks[HWBLK_ATAPI]), +	CLKDEV_CON_ID("adc0", &mstp_clks[HWBLK_ADC]), +	CLKDEV_CON_ID("tpu0", &mstp_clks[HWBLK_TPU]), +	CLKDEV_CON_ID("irda0", &mstp_clks[HWBLK_IRDA]), +	CLKDEV_CON_ID("tsif0", &mstp_clks[HWBLK_TSIF]), +	CLKDEV_CON_ID("icb0", &mstp_clks[HWBLK_ICB]), +	CLKDEV_CON_ID("sdhi0", &mstp_clks[HWBLK_SDHI0]), +	CLKDEV_CON_ID("sdhi1", &mstp_clks[HWBLK_SDHI1]), +	CLKDEV_CON_ID("keysc0", &mstp_clks[HWBLK_KEYSC]), +	CLKDEV_CON_ID("usb0", &mstp_clks[HWBLK_USB]), +	CLKDEV_CON_ID("2dg0", &mstp_clks[HWBLK_2DG]), +	CLKDEV_CON_ID("siu0", &mstp_clks[HWBLK_SIU]), +	CLKDEV_CON_ID("veu1", &mstp_clks[HWBLK_VEU2H1]), +	CLKDEV_CON_ID("vou0", &mstp_clks[HWBLK_VOU]), +	CLKDEV_CON_ID("beu0", &mstp_clks[HWBLK_BEU]), +	CLKDEV_CON_ID("ceu0", &mstp_clks[HWBLK_CEU]), +	CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU2H0]), +	CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), +	CLKDEV_CON_ID("lcdc0", &mstp_clks[HWBLK_LCDC]),  };  int __init arch_clk_init(void) @@ -222,7 +339,9 @@ int __init arch_clk_init(void)  		pll_clk.parent = &extal_clk;  	for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++) -		ret = clk_register(main_clks[k]); +		ret |= clk_register(main_clks[k]); + +	clkdev_add_table(lookups, ARRAY_SIZE(lookups));  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table); @@ -236,10 +355,10 @@ int __init arch_clk_init(void)  					DIV4_REPARENT_NR, &div4_table);  	if (!ret) -		ret = sh_clk_div6_register(div6_clks, ARRAY_SIZE(div6_clks)); +		ret = sh_clk_div6_register(div6_clks, DIV6_NR);  	if (!ret) -		ret = sh_hwblk_clk_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_hwblk_clk_register(mstp_clks, HWBLK_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c index 6707061fbf5..2d9700c6b53 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7724.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7724.c @@ -21,6 +21,8 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <linux/clk.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/hwblk.h>  #include <cpu/sh7724.h> @@ -39,8 +41,6 @@  /* Fixed 32 KHz root clock for RTC and Power Management purposes */  static struct clk r_clk = { -	.name           = "rclk", -	.id             = -1,  	.rate           = 32768,  }; @@ -49,8 +49,6 @@ static struct clk r_clk = {   * from the platform code.   */  struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -74,8 +72,6 @@ static struct clk_ops fll_clk_ops = {  };  static struct clk fll_clk = { -	.name           = "fll_clk", -	.id             = -1,  	.ops		= &fll_clk_ops,  	.parent		= &r_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -96,8 +92,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.flags		= CLK_ENABLE_ON_INIT,  }; @@ -113,8 +107,6 @@ static struct clk_ops div3_clk_ops = {  };  static struct clk div3_clk = { -	.name		= "div3_clk", -	.id		= -1,  	.ops		= &div3_clk_ops,  	.parent		= &pll_clk,  }; @@ -151,86 +143,215 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_SH, DIV4_B, DIV4_P, DIV4_M1, DIV4_NR }; -#define DIV4(_str, _reg, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, _reg, _bit, _mask, _flags) +#define DIV4(_reg, _bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, _reg, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_I] = DIV4("cpu_clk", FRQCRA, 20, 0x2f7d, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", FRQCRA, 12, 0x2f7c, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", FRQCRA, 8, 0x2f7c, CLK_ENABLE_ON_INIT), -	[DIV4_P] = DIV4("peripheral_clk", FRQCRA, 0, 0x2f7c, 0), -	[DIV4_M1] = DIV4("vpu_clk", FRQCRB, 4, 0x2f7c, CLK_ENABLE_ON_INIT), +	[DIV4_I] = DIV4(FRQCRA, 20, 0x2f7d, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(FRQCRA, 12, 0x2f7c, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(FRQCRA, 8, 0x2f7c, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(FRQCRA, 0, 0x2f7c, 0), +	[DIV4_M1] = DIV4(FRQCRB, 4, 0x2f7c, CLK_ENABLE_ON_INIT),  }; -struct clk div6_clks[] = { -	SH_CLK_DIV6("video_clk", &div3_clk, VCLKCR, 0), -	SH_CLK_DIV6("fsia_clk", &div3_clk, FCLKACR, 0), -	SH_CLK_DIV6("fsib_clk", &div3_clk, FCLKBCR, 0), -	SH_CLK_DIV6("irda_clk", &div3_clk, IRDACLKCR, 0), -	SH_CLK_DIV6("spu_clk", &div3_clk, SPUCLKCR, CLK_ENABLE_ON_INIT), +enum { DIV6_V, DIV6_FA, DIV6_FB, DIV6_I, DIV6_S, DIV6_NR }; + +struct clk div6_clks[DIV6_NR] = { +	[DIV6_V] = SH_CLK_DIV6(&div3_clk, VCLKCR, 0), +	[DIV6_FA] = SH_CLK_DIV6(&div3_clk, FCLKACR, 0), +	[DIV6_FB] = SH_CLK_DIV6(&div3_clk, FCLKBCR, 0), +	[DIV6_I] = SH_CLK_DIV6(&div3_clk, IRDACLKCR, 0), +	[DIV6_S] = SH_CLK_DIV6(&div3_clk, SPUCLKCR, CLK_ENABLE_ON_INIT),  }; -#define R_CLK (&r_clk) -#define P_CLK (&div4_clks[DIV4_P]) -#define B_CLK (&div4_clks[DIV4_B]) -#define I_CLK (&div4_clks[DIV4_I]) -#define SH_CLK (&div4_clks[DIV4_SH]) +static struct clk mstp_clks[HWBLK_NR] = { +	SH_HWBLK_CLK(HWBLK_TLB, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_IC, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_OC, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_RSMEM, &div4_clks[DIV4_B], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_ILMEM, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_L2C, &div4_clks[DIV4_SH], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_FPU, &div4_clks[DIV4_I], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_INTC, &div4_clks[DIV4_P], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_DMAC0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SHYWAY, &div4_clks[DIV4_SH], CLK_ENABLE_ON_INIT), +	SH_HWBLK_CLK(HWBLK_HUDI, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_UBC, &div4_clks[DIV4_I], 0), +	SH_HWBLK_CLK(HWBLK_TMU0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_CMT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_RWDT, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_DMAC1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_TMU1, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF1, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF2, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_SCIF3, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SCIF4, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SCIF5, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_MSIOF0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_MSIOF1, &div4_clks[DIV4_B], 0), + +	SH_HWBLK_CLK(HWBLK_KEYSC, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_RTC, &r_clk, 0), +	SH_HWBLK_CLK(HWBLK_IIC0, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_IIC1, &div4_clks[DIV4_P], 0), + +	SH_HWBLK_CLK(HWBLK_MMC, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_ETHER, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_ATAPI, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_TPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_IRDA, &div4_clks[DIV4_P], 0), +	SH_HWBLK_CLK(HWBLK_TSIF, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_USB1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_USB0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_2DG, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SDHI0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_SDHI1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VEU1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_CEU1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_BEU1, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_2DDMAC, &div4_clks[DIV4_SH], 0), +	SH_HWBLK_CLK(HWBLK_SPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_JPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VOU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_BEU0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_CEU0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VEU0, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_VPU, &div4_clks[DIV4_B], 0), +	SH_HWBLK_CLK(HWBLK_LCDC, &div4_clks[DIV4_B], 0), +}; -static struct clk mstp_clks[] = { -	SH_HWBLK_CLK("tlb0", -1, I_CLK, HWBLK_TLB, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("ic0", -1, I_CLK, HWBLK_IC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("oc0", -1, I_CLK, HWBLK_OC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("rs0", -1, B_CLK, HWBLK_RSMEM, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("ilmem0", -1, I_CLK, HWBLK_ILMEM, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("l2c0", -1, SH_CLK, HWBLK_L2C, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("fpu0", -1, I_CLK, HWBLK_FPU, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("intc0", -1, P_CLK, HWBLK_INTC, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("dmac0", -1, B_CLK, HWBLK_DMAC0, 0), -	SH_HWBLK_CLK("sh0", -1, SH_CLK, HWBLK_SHYWAY, CLK_ENABLE_ON_INIT), -	SH_HWBLK_CLK("hudi0", -1, P_CLK, HWBLK_HUDI, 0), -	SH_HWBLK_CLK("ubc0", -1, I_CLK, HWBLK_UBC, 0), -	SH_HWBLK_CLK("tmu0", -1, P_CLK, HWBLK_TMU0, 0), -	SH_HWBLK_CLK("cmt0", -1, R_CLK, HWBLK_CMT, 0), -	SH_HWBLK_CLK("rwdt0", -1, R_CLK, HWBLK_RWDT, 0), -	SH_HWBLK_CLK("dmac1", -1, B_CLK, HWBLK_DMAC1, 0), -	SH_HWBLK_CLK("tmu1", -1, P_CLK, HWBLK_TMU1, 0), -	SH_HWBLK_CLK("scif0", -1, P_CLK, HWBLK_SCIF0, 0), -	SH_HWBLK_CLK("scif1", -1, P_CLK, HWBLK_SCIF1, 0), -	SH_HWBLK_CLK("scif2", -1, P_CLK, HWBLK_SCIF2, 0), -	SH_HWBLK_CLK("scif3", -1, B_CLK, HWBLK_SCIF3, 0), -	SH_HWBLK_CLK("scif4", -1, B_CLK, HWBLK_SCIF4, 0), -	SH_HWBLK_CLK("scif5", -1, B_CLK, HWBLK_SCIF5, 0), -	SH_HWBLK_CLK("msiof0", -1, B_CLK, HWBLK_MSIOF0, 0), -	SH_HWBLK_CLK("msiof1", -1, B_CLK, HWBLK_MSIOF1, 0), +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } -	SH_HWBLK_CLK("keysc0", -1, R_CLK, HWBLK_KEYSC, 0), -	SH_HWBLK_CLK("rtc0", -1, R_CLK, HWBLK_RTC, 0), -	SH_HWBLK_CLK("i2c0", -1, P_CLK, HWBLK_IIC0, 0), -	SH_HWBLK_CLK("i2c1", -1, P_CLK, HWBLK_IIC1, 0), +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("rclk", &r_clk), +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("fll_clk", &fll_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), +	CLKDEV_CON_ID("div3_clk", &div3_clk), -	SH_HWBLK_CLK("mmc0", -1, B_CLK, HWBLK_MMC, 0), -	SH_HWBLK_CLK("eth0", -1, B_CLK, HWBLK_ETHER, 0), -	SH_HWBLK_CLK("atapi0", -1, B_CLK, HWBLK_ATAPI, 0), -	SH_HWBLK_CLK("tpu0", -1, B_CLK, HWBLK_TPU, 0), -	SH_HWBLK_CLK("irda0", -1, P_CLK, HWBLK_IRDA, 0), -	SH_HWBLK_CLK("tsif0", -1, B_CLK, HWBLK_TSIF, 0), -	SH_HWBLK_CLK("usb1", -1, B_CLK, HWBLK_USB1, 0), -	SH_HWBLK_CLK("usb0", -1, B_CLK, HWBLK_USB0, 0), -	SH_HWBLK_CLK("2dg0", -1, B_CLK, HWBLK_2DG, 0), -	SH_HWBLK_CLK("sdhi0", -1, B_CLK, HWBLK_SDHI0, 0), -	SH_HWBLK_CLK("sdhi1", -1, B_CLK, HWBLK_SDHI1, 0), -	SH_HWBLK_CLK("veu1", -1, B_CLK, HWBLK_VEU1, 0), -	SH_HWBLK_CLK("ceu1", -1, B_CLK, HWBLK_CEU1, 0), -	SH_HWBLK_CLK("beu1", -1, B_CLK, HWBLK_BEU1, 0), -	SH_HWBLK_CLK("2ddmac0", -1, SH_CLK, HWBLK_2DDMAC, 0), -	SH_HWBLK_CLK("spu0", -1, B_CLK, HWBLK_SPU, 0), -	SH_HWBLK_CLK("jpu0", -1, B_CLK, HWBLK_JPU, 0), -	SH_HWBLK_CLK("vou0", -1, B_CLK, HWBLK_VOU, 0), -	SH_HWBLK_CLK("beu0", -1, B_CLK, HWBLK_BEU0, 0), -	SH_HWBLK_CLK("ceu0", -1, B_CLK, HWBLK_CEU0, 0), -	SH_HWBLK_CLK("veu0", -1, B_CLK, HWBLK_VEU0, 0), -	SH_HWBLK_CLK("vpu0", -1, B_CLK, HWBLK_VPU, 0), -	SH_HWBLK_CLK("lcdc0", -1, B_CLK, HWBLK_LCDC, 0), +	/* DIV4 clocks */ +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("vpu_clk", &div4_clks[DIV4_M1]), + +	/* DIV6 clocks */ +	CLKDEV_CON_ID("video_clk", &div6_clks[DIV6_V]), +	CLKDEV_CON_ID("fsia_clk", &div6_clks[DIV6_FA]), +	CLKDEV_CON_ID("fsib_clk", &div6_clks[DIV6_FB]), +	CLKDEV_CON_ID("irda_clk", &div6_clks[DIV6_I]), +	CLKDEV_CON_ID("spu_clk", &div6_clks[DIV6_S]), + +	/* MSTP clocks */ +	CLKDEV_CON_ID("tlb0", &mstp_clks[HWBLK_TLB]), +	CLKDEV_CON_ID("ic0", &mstp_clks[HWBLK_IC]), +	CLKDEV_CON_ID("oc0", &mstp_clks[HWBLK_OC]), +	CLKDEV_CON_ID("rs0", &mstp_clks[HWBLK_RSMEM]), +	CLKDEV_CON_ID("ilmem0", &mstp_clks[HWBLK_ILMEM]), +	CLKDEV_CON_ID("l2c0", &mstp_clks[HWBLK_L2C]), +	CLKDEV_CON_ID("fpu0", &mstp_clks[HWBLK_FPU]), +	CLKDEV_CON_ID("intc0", &mstp_clks[HWBLK_INTC]), +	CLKDEV_CON_ID("dmac0", &mstp_clks[HWBLK_DMAC0]), +	CLKDEV_CON_ID("sh0", &mstp_clks[HWBLK_SHYWAY]), +	CLKDEV_CON_ID("hudi0", &mstp_clks[HWBLK_HUDI]), +	CLKDEV_CON_ID("ubc0", &mstp_clks[HWBLK_UBC]), +	{ +		/* TMU0 */ +		.dev_id		= "sh_tmu.0", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, { +		/* TMU1 */ +		.dev_id		= "sh_tmu.1", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, { +		/* TMU2 */ +		.dev_id		= "sh_tmu.2", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU0], +	}, { +		/* TMU3 */ +		.dev_id		= "sh_tmu.3", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, +	CLKDEV_CON_ID("cmt_fck", &mstp_clks[HWBLK_CMT]), +	CLKDEV_CON_ID("rwdt0", &mstp_clks[HWBLK_RWDT]), +	CLKDEV_CON_ID("dmac1", &mstp_clks[HWBLK_DMAC1]), +	{ +		/* TMU4 */ +		.dev_id		= "sh_tmu.4", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, { +		/* TMU5 */ +		.dev_id		= "sh_tmu.5", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[HWBLK_TMU1], +	}, { +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF0], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF1], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF2], +	}, { +		/* SCIF3 */ +		.dev_id		= "sh-sci.3", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF3], +	}, { +		/* SCIF4 */ +		.dev_id		= "sh-sci.4", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF4], +	}, { +		/* SCIF5 */ +		.dev_id		= "sh-sci.5", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[HWBLK_SCIF5], +	}, +	CLKDEV_CON_ID("msiof0", &mstp_clks[HWBLK_MSIOF0]), +	CLKDEV_CON_ID("msiof1", &mstp_clks[HWBLK_MSIOF1]), +	CLKDEV_CON_ID("keysc0", &mstp_clks[HWBLK_KEYSC]), +	CLKDEV_CON_ID("rtc0", &mstp_clks[HWBLK_RTC]), +	CLKDEV_CON_ID("i2c0", &mstp_clks[HWBLK_IIC0]), +	CLKDEV_CON_ID("i2c1", &mstp_clks[HWBLK_IIC1]), +	CLKDEV_CON_ID("mmc0", &mstp_clks[HWBLK_MMC]), +	CLKDEV_CON_ID("eth0", &mstp_clks[HWBLK_ETHER]), +	CLKDEV_CON_ID("atapi0", &mstp_clks[HWBLK_ATAPI]), +	CLKDEV_CON_ID("tpu0", &mstp_clks[HWBLK_TPU]), +	CLKDEV_CON_ID("irda0", &mstp_clks[HWBLK_IRDA]), +	CLKDEV_CON_ID("tsif0", &mstp_clks[HWBLK_TSIF]), +	CLKDEV_CON_ID("usb1", &mstp_clks[HWBLK_USB1]), +	CLKDEV_CON_ID("usb0", &mstp_clks[HWBLK_USB0]), +	CLKDEV_CON_ID("2dg0", &mstp_clks[HWBLK_2DG]), +	CLKDEV_CON_ID("sdhi0", &mstp_clks[HWBLK_SDHI0]), +	CLKDEV_CON_ID("sdhi1", &mstp_clks[HWBLK_SDHI1]), +	CLKDEV_CON_ID("veu1", &mstp_clks[HWBLK_VEU1]), +	CLKDEV_CON_ID("ceu1", &mstp_clks[HWBLK_CEU1]), +	CLKDEV_CON_ID("beu1", &mstp_clks[HWBLK_BEU1]), +	CLKDEV_CON_ID("2ddmac0", &mstp_clks[HWBLK_2DDMAC]), +	CLKDEV_CON_ID("spu0", &mstp_clks[HWBLK_SPU]), +	CLKDEV_CON_ID("jpu0", &mstp_clks[HWBLK_JPU]), +	CLKDEV_CON_ID("vou0", &mstp_clks[HWBLK_VOU]), +	CLKDEV_CON_ID("beu0", &mstp_clks[HWBLK_BEU0]), +	CLKDEV_CON_ID("ceu0", &mstp_clks[HWBLK_CEU0]), +	CLKDEV_CON_ID("veu0", &mstp_clks[HWBLK_VEU0]), +	CLKDEV_CON_ID("vpu0", &mstp_clks[HWBLK_VPU]), +	CLKDEV_CON_ID("lcdc0", &mstp_clks[HWBLK_LCDC]),  };  int __init arch_clk_init(void) @@ -246,14 +367,16 @@ int __init arch_clk_init(void)  	for (k = 0; !ret && (k < ARRAY_SIZE(main_clks)); k++)  		ret = clk_register(main_clks[k]); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, DIV4_NR, &div4_table);  	if (!ret) -		ret = sh_clk_div6_register(div6_clks, ARRAY_SIZE(div6_clks)); +		ret = sh_clk_div6_register(div6_clks, DIV6_NR);  	if (!ret) -		ret = sh_hwblk_clk_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_hwblk_clk_register(mstp_clks, HWBLK_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c index 86aae60677d..0a752bd324a 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7757.c @@ -12,6 +12,7 @@  #include <linux/init.h>  #include <linux/kernel.h>  #include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h> @@ -87,7 +88,6 @@ static struct clk_ops sh7757_shyway_clk_ops = {  };  static struct clk sh7757_shyway_clk = { -	.name		= "shyway_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh7757_shyway_clk_ops,  }; @@ -100,6 +100,13 @@ static struct clk *sh7757_onchip_clocks[] = {  	&sh7757_shyway_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("shyway_clk", &sh7757_shyway_clk), +}; +  static int __init sh7757_clk_init(void)  {  	struct clk *clk = clk_get(NULL, "master_clk"); @@ -123,6 +130,8 @@ static int __init sh7757_clk_init(void)  	clk_put(clk); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	return 0;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7763.c b/arch/sh/kernel/cpu/sh4a/clock-sh7763.c index 9f401163e71..1f1df48008c 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7763.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7763.c @@ -12,6 +12,8 @@   */  #include <linux/init.h>  #include <linux/kernel.h> +#include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h>  #include <asm/io.h> @@ -77,7 +79,6 @@ static struct clk_ops sh7763_shyway_clk_ops = {  };  static struct clk sh7763_shyway_clk = { -	.name		= "shyway_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh7763_shyway_clk_ops,  }; @@ -90,6 +91,13 @@ static struct clk *sh7763_onchip_clocks[] = {  	&sh7763_shyway_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("shyway_clk", &sh7763_shyway_clk), +}; +  int __init arch_clk_init(void)  {  	struct clk *clk; @@ -107,5 +115,7 @@ int __init arch_clk_init(void)  	clk_put(clk); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7780.c b/arch/sh/kernel/cpu/sh4a/clock-sh7780.c index 150963a6001..62d70635006 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7780.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7780.c @@ -11,6 +11,8 @@   */  #include <linux/init.h>  #include <linux/kernel.h> +#include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h>  #include <asm/io.h> @@ -83,7 +85,6 @@ static struct clk_ops sh7780_shyway_clk_ops = {  };  static struct clk sh7780_shyway_clk = { -	.name		= "shyway_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &sh7780_shyway_clk_ops,  }; @@ -96,6 +97,13 @@ static struct clk *sh7780_onchip_clocks[] = {  	&sh7780_shyway_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("shyway_clk", &sh7780_shyway_clk), +}; +  int __init arch_clk_init(void)  {  	struct clk *clk; @@ -113,5 +121,7 @@ int __init arch_clk_init(void)  	clk_put(clk); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c index d997f0a25b1..c3e458aaa2b 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c @@ -3,7 +3,7 @@   *   * SH7785 support for the clock framework   * - *  Copyright (C) 2007 - 2009  Paul Mundt + *  Copyright (C) 2007 - 2010  Paul Mundt   *   * This file is subject to the terms and conditions of the GNU General Public   * License.  See the file "COPYING" in the main directory of this archive @@ -14,6 +14,7 @@  #include <linux/clk.h>  #include <linux/io.h>  #include <linux/cpufreq.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h>  #include <cpu/sh7785.h> @@ -23,8 +24,6 @@   * from the platform code.   */  static struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -42,8 +41,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.parent		= &extal_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -69,48 +66,149 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_U, DIV4_SH, DIV4_B, DIV4_DDR, DIV4_GA,  	DIV4_DU, DIV4_P, DIV4_NR }; -#define DIV4(_str, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, FRQMR1, _bit, _mask, _flags) +#define DIV4(_bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, FRQMR1, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_P] = DIV4("peripheral_clk", 0, 0x0f80, 0), -	[DIV4_DU] = DIV4("du_clk", 4, 0x0ff0, 0), -	[DIV4_GA] = DIV4("ga_clk", 8, 0x0030, 0), -	[DIV4_DDR] = DIV4("ddr_clk", 12, 0x000c, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", 16, 0x0fe0, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", 20, 0x000c, CLK_ENABLE_ON_INIT), -	[DIV4_U] = DIV4("umem_clk", 24, 0x000c, CLK_ENABLE_ON_INIT), -	[DIV4_I] = DIV4("cpu_clk", 28, 0x000e, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(0, 0x0f80, 0), +	[DIV4_DU] = DIV4(4, 0x0ff0, 0), +	[DIV4_GA] = DIV4(8, 0x0030, 0), +	[DIV4_DDR] = DIV4(12, 0x000c, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(16, 0x0fe0, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(20, 0x000c, CLK_ENABLE_ON_INIT), +	[DIV4_U] = DIV4(24, 0x000c, CLK_ENABLE_ON_INIT), +	[DIV4_I] = DIV4(28, 0x000e, CLK_ENABLE_ON_INIT),  };  #define MSTPCR0		0xffc80030  #define MSTPCR1		0xffc80034 -static struct clk mstp_clks[] = { +enum { MSTP029, MSTP028, MSTP027, MSTP026, MSTP025, MSTP024, +       MSTP021, MSTP020, MSTP017, MSTP016, +       MSTP013, MSTP012, MSTP009, MSTP008, MSTP003, MSTP002, +       MSTP119, MSTP117, MSTP105, MSTP104, MSTP100, +       MSTP_NR }; + +static struct clk mstp_clks[MSTP_NR] = {  	/* MSTPCR0 */ -	SH_CLK_MSTP32("scif_fck", 5, &div4_clks[DIV4_P], MSTPCR0, 29, 0), -	SH_CLK_MSTP32("scif_fck", 4, &div4_clks[DIV4_P], MSTPCR0, 28, 0), -	SH_CLK_MSTP32("scif_fck", 3, &div4_clks[DIV4_P], MSTPCR0, 27, 0), -	SH_CLK_MSTP32("scif_fck", 2, &div4_clks[DIV4_P], MSTPCR0, 26, 0), -	SH_CLK_MSTP32("scif_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 25, 0), -	SH_CLK_MSTP32("scif_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 24, 0), -	SH_CLK_MSTP32("ssi_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 21, 0), -	SH_CLK_MSTP32("ssi_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 20, 0), -	SH_CLK_MSTP32("hac_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 17, 0), -	SH_CLK_MSTP32("hac_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 16, 0), -	SH_CLK_MSTP32("mmcif_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 13, 0), -	SH_CLK_MSTP32("flctl_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 12, 0), -	SH_CLK_MSTP32("tmu345_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 9, 0), -	SH_CLK_MSTP32("tmu012_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 8, 0), -	SH_CLK_MSTP32("siof_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 3, 0), -	SH_CLK_MSTP32("hspi_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 2, 0), +	[MSTP029] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 29, 0), +	[MSTP028] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 28, 0), +	[MSTP027] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 27, 0), +	[MSTP026] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 26, 0), +	[MSTP025] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 25, 0), +	[MSTP024] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 24, 0), +	[MSTP021] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 21, 0), +	[MSTP020] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 20, 0), +	[MSTP017] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 17, 0), +	[MSTP016] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 16, 0), +	[MSTP013] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 13, 0), +	[MSTP012] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 12, 0), +	[MSTP009] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 9, 0), +	[MSTP008] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 8, 0), +	[MSTP003] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 3, 0), +	[MSTP002] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 2, 0),  	/* MSTPCR1 */ -	SH_CLK_MSTP32("hudi_fck", -1, NULL, MSTPCR1, 19, 0), -	SH_CLK_MSTP32("ubc_fck", -1, NULL, MSTPCR1, 17, 0), -	SH_CLK_MSTP32("dmac_11_6_fck", -1, NULL, MSTPCR1, 5, 0), -	SH_CLK_MSTP32("dmac_5_0_fck", -1, NULL, MSTPCR1, 4, 0), -	SH_CLK_MSTP32("gdta_fck", -1, NULL, MSTPCR1, 0, 0), +	[MSTP119] = SH_CLK_MSTP32(NULL, MSTPCR1, 19, 0), +	[MSTP117] = SH_CLK_MSTP32(NULL, MSTPCR1, 17, 0), +	[MSTP105] = SH_CLK_MSTP32(NULL, MSTPCR1, 5, 0), +	[MSTP104] = SH_CLK_MSTP32(NULL, MSTPCR1, 4, 0), +	[MSTP100] = SH_CLK_MSTP32(NULL, MSTPCR1, 0, 0), +}; + +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), + +	/* DIV4 clocks */ +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("du_clk", &div4_clks[DIV4_DU]), +	CLKDEV_CON_ID("ga_clk", &div4_clks[DIV4_GA]), +	CLKDEV_CON_ID("ddr_clk", &div4_clks[DIV4_DDR]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("umem_clk", &div4_clks[DIV4_U]), +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), + +	/* MSTP32 clocks */ +	{ +		/* SCIF5 */ +		.dev_id		= "sh-sci.5", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP029], +	}, { +		/* SCIF4 */ +		.dev_id		= "sh-sci.4", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP028], +	}, { +		/* SCIF3 */ +		.dev_id		= "sh-sci.3", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP027], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP026], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP025], +	}, { +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP024], +	}, +	CLKDEV_CON_ID("ssi1_fck", &mstp_clks[MSTP021]), +	CLKDEV_CON_ID("ssi0_fck", &mstp_clks[MSTP020]), +	CLKDEV_CON_ID("hac1_fck", &mstp_clks[MSTP017]), +	CLKDEV_CON_ID("hac0_fck", &mstp_clks[MSTP016]), +	CLKDEV_CON_ID("mmcif_fck", &mstp_clks[MSTP013]), +	CLKDEV_CON_ID("flctl_fck", &mstp_clks[MSTP012]), +	{ +		/* TMU0 */ +		.dev_id		= "sh_tmu.0", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU1 */ +		.dev_id		= "sh_tmu.1", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU2 */ +		.dev_id		= "sh_tmu.2", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU3 */ +		.dev_id		= "sh_tmu.3", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, { +		/* TMU4 */ +		.dev_id		= "sh_tmu.4", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, { +		/* TMU5 */ +		.dev_id		= "sh_tmu.5", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, +	CLKDEV_CON_ID("siof_fck", &mstp_clks[MSTP003]), +	CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), +	CLKDEV_CON_ID("hudi_fck", &mstp_clks[MSTP119]), +	CLKDEV_CON_ID("ubc_fck", &mstp_clks[MSTP117]), +	CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), +	CLKDEV_CON_ID("dmac_5_0_fck", &mstp_clks[MSTP104]), +	CLKDEV_CON_ID("gdta_fck", &mstp_clks[MSTP100]),  };  int __init arch_clk_init(void) @@ -119,12 +217,14 @@ int __init arch_clk_init(void)  	for (i = 0; i < ARRAY_SIZE(clks); i++)  		ret |= clk_register(clks[i]); +	for (i = 0; i < ARRAY_SIZE(lookups); i++) +		clkdev_add(&lookups[i]);  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),  					   &div4_table);  	if (!ret) -		ret = sh_clk_mstp32_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_clk_mstp32_register(mstp_clks, MSTP_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7786.c b/arch/sh/kernel/cpu/sh4a/clock-sh7786.c index af69fd46870..105a6d41b56 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7786.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7786.c @@ -13,6 +13,8 @@  #include <linux/kernel.h>  #include <linux/clk.h>  #include <linux/io.h> +#include <linux/clk.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h> @@ -21,8 +23,6 @@   * from the platform code.   */  static struct clk extal_clk = { -	.name		= "extal", -	.id		= -1,  	.rate		= 33333333,  }; @@ -44,8 +44,6 @@ static struct clk_ops pll_clk_ops = {  };  static struct clk pll_clk = { -	.name		= "pll_clk", -	.id		= -1,  	.ops		= &pll_clk_ops,  	.parent		= &extal_clk,  	.flags		= CLK_ENABLE_ON_INIT, @@ -70,54 +68,191 @@ static struct clk_div4_table div4_table = {  enum { DIV4_I, DIV4_SH, DIV4_B, DIV4_DDR, DIV4_DU, DIV4_P, DIV4_NR }; -#define DIV4(_str, _bit, _mask, _flags) \ -  SH_CLK_DIV4(_str, &pll_clk, FRQMR1, _bit, _mask, _flags) +#define DIV4(_bit, _mask, _flags) \ +  SH_CLK_DIV4(&pll_clk, FRQMR1, _bit, _mask, _flags)  struct clk div4_clks[DIV4_NR] = { -	[DIV4_P] = DIV4("peripheral_clk", 0, 0x0b40, 0), -	[DIV4_DU] = DIV4("du_clk", 4, 0x0010, 0), -	[DIV4_DDR] = DIV4("ddr_clk", 12, 0x0002, CLK_ENABLE_ON_INIT), -	[DIV4_B] = DIV4("bus_clk", 16, 0x0360, CLK_ENABLE_ON_INIT), -	[DIV4_SH] = DIV4("shyway_clk", 20, 0x0002, CLK_ENABLE_ON_INIT), -	[DIV4_I] = DIV4("cpu_clk", 28, 0x0006, CLK_ENABLE_ON_INIT), +	[DIV4_P] = DIV4(0, 0x0b40, 0), +	[DIV4_DU] = DIV4(4, 0x0010, 0), +	[DIV4_DDR] = DIV4(12, 0x0002, CLK_ENABLE_ON_INIT), +	[DIV4_B] = DIV4(16, 0x0360, CLK_ENABLE_ON_INIT), +	[DIV4_SH] = DIV4(20, 0x0002, CLK_ENABLE_ON_INIT), +	[DIV4_I] = DIV4(28, 0x0006, CLK_ENABLE_ON_INIT),  };  #define MSTPCR0		0xffc40030  #define MSTPCR1		0xffc40034 -static struct clk mstp_clks[] = { +enum { MSTP029, MSTP028, MSTP027, MSTP026, MSTP025, MSTP024, +       MSTP023, MSTP022, MSTP021, MSTP020, MSTP017, MSTP016, +       MSTP015, MSTP014, MSTP011, MSTP010, MSTP009, MSTP008, +       MSTP005, MSTP004, MSTP002, +       MSTP112, MSTP110, MSTP109, MSTP108, +       MSTP105, MSTP104, MSTP103, MSTP102, +       MSTP_NR }; + +static struct clk mstp_clks[MSTP_NR] = {  	/* MSTPCR0 */ -	SH_CLK_MSTP32("scif_fck", 5, &div4_clks[DIV4_P], MSTPCR0, 29, 0), -	SH_CLK_MSTP32("scif_fck", 4, &div4_clks[DIV4_P], MSTPCR0, 28, 0), -	SH_CLK_MSTP32("scif_fck", 3, &div4_clks[DIV4_P], MSTPCR0, 27, 0), -	SH_CLK_MSTP32("scif_fck", 2, &div4_clks[DIV4_P], MSTPCR0, 26, 0), -	SH_CLK_MSTP32("scif_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 25, 0), -	SH_CLK_MSTP32("scif_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 24, 0), -	SH_CLK_MSTP32("ssi_fck", 3, &div4_clks[DIV4_P], MSTPCR0, 23, 0), -	SH_CLK_MSTP32("ssi_fck", 2, &div4_clks[DIV4_P], MSTPCR0, 22, 0), -	SH_CLK_MSTP32("ssi_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 21, 0), -	SH_CLK_MSTP32("ssi_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 20, 0), -	SH_CLK_MSTP32("hac_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 17, 0), -	SH_CLK_MSTP32("hac_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 16, 0), -	SH_CLK_MSTP32("i2c_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 15, 0), -	SH_CLK_MSTP32("i2c_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 14, 0), -	SH_CLK_MSTP32("tmu9_11_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 11, 0), -	SH_CLK_MSTP32("tmu678_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 10, 0), -	SH_CLK_MSTP32("tmu345_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 9, 0), -	SH_CLK_MSTP32("tmu012_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 8, 0), -	SH_CLK_MSTP32("sdif_fck", 1, &div4_clks[DIV4_P], MSTPCR0, 5, 0), -	SH_CLK_MSTP32("sdif_fck", 0, &div4_clks[DIV4_P], MSTPCR0, 4, 0), -	SH_CLK_MSTP32("hspi_fck", -1, &div4_clks[DIV4_P], MSTPCR0, 2, 0), +	[MSTP029] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 29, 0), +	[MSTP028] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 28, 0), +	[MSTP027] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 27, 0), +	[MSTP026] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 26, 0), +	[MSTP025] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 25, 0), +	[MSTP024] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 24, 0), +	[MSTP023] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 23, 0), +	[MSTP022] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 22, 0), +	[MSTP021] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 21, 0), +	[MSTP020] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 20, 0), +	[MSTP017] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 17, 0), +	[MSTP016] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 16, 0), +	[MSTP015] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 15, 0), +	[MSTP014] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 14, 0), +	[MSTP011] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 11, 0), +	[MSTP010] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 10, 0), +	[MSTP009] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 9, 0), +	[MSTP008] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 8, 0), +	[MSTP005] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 5, 0), +	[MSTP004] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 4, 0), +	[MSTP002] = SH_CLK_MSTP32(&div4_clks[DIV4_P], MSTPCR0, 2, 0),  	/* MSTPCR1 */ -	SH_CLK_MSTP32("usb_fck", -1, NULL, MSTPCR1, 12, 0), -	SH_CLK_MSTP32("pcie_fck", 2, NULL, MSTPCR1, 10, 0), -	SH_CLK_MSTP32("pcie_fck", 1, NULL, MSTPCR1, 9, 0), -	SH_CLK_MSTP32("pcie_fck", 0, NULL, MSTPCR1, 8, 0), -	SH_CLK_MSTP32("dmac_11_6_fck", -1, NULL, MSTPCR1, 5, 0), -	SH_CLK_MSTP32("dmac_5_0_fck", -1, NULL, MSTPCR1, 4, 0), -	SH_CLK_MSTP32("du_fck", -1, NULL, MSTPCR1, 3, 0), -	SH_CLK_MSTP32("ether_fck", -1, NULL, MSTPCR1, 2, 0), +	[MSTP112] = SH_CLK_MSTP32(NULL, MSTPCR1, 12, 0), +	[MSTP110] = SH_CLK_MSTP32(NULL, MSTPCR1, 10, 0), +	[MSTP109] = SH_CLK_MSTP32(NULL, MSTPCR1, 9, 0), +	[MSTP108] = SH_CLK_MSTP32(NULL, MSTPCR1, 8, 0), +	[MSTP105] = SH_CLK_MSTP32(NULL, MSTPCR1, 5, 0), +	[MSTP104] = SH_CLK_MSTP32(NULL, MSTPCR1, 4, 0), +	[MSTP103] = SH_CLK_MSTP32(NULL, MSTPCR1, 3, 0), +	[MSTP102] = SH_CLK_MSTP32(NULL, MSTPCR1, 2, 0), +}; + +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("extal", &extal_clk), +	CLKDEV_CON_ID("pll_clk", &pll_clk), + +	/* DIV4 clocks */ +	CLKDEV_CON_ID("peripheral_clk", &div4_clks[DIV4_P]), +	CLKDEV_CON_ID("du_clk", &div4_clks[DIV4_DU]), +	CLKDEV_CON_ID("ddr_clk", &div4_clks[DIV4_DDR]), +	CLKDEV_CON_ID("bus_clk", &div4_clks[DIV4_B]), +	CLKDEV_CON_ID("shyway_clk", &div4_clks[DIV4_SH]), +	CLKDEV_CON_ID("cpu_clk", &div4_clks[DIV4_I]), + +	/* MSTP32 clocks */ +	{ +		/* SCIF5 */ +		.dev_id		= "sh-sci.5", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP029], +	}, { +		/* SCIF4 */ +		.dev_id		= "sh-sci.4", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP028], +	}, { +		/* SCIF3 */ +		.dev_id		= "sh-sci.3", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP027], +	}, { +		/* SCIF2 */ +		.dev_id		= "sh-sci.2", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP026], +	}, { +		/* SCIF1 */ +		.dev_id		= "sh-sci.1", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP025], +	}, { +		/* SCIF0 */ +		.dev_id		= "sh-sci.0", +		.con_id		= "sci_fck", +		.clk		= &mstp_clks[MSTP024], +	}, +	CLKDEV_CON_ID("ssi3_fck", &mstp_clks[MSTP023]), +	CLKDEV_CON_ID("ssi2_fck", &mstp_clks[MSTP022]), +	CLKDEV_CON_ID("ssi1_fck", &mstp_clks[MSTP021]), +	CLKDEV_CON_ID("ssi0_fck", &mstp_clks[MSTP020]), +	CLKDEV_CON_ID("hac1_fck", &mstp_clks[MSTP017]), +	CLKDEV_CON_ID("hac0_fck", &mstp_clks[MSTP016]), +	CLKDEV_CON_ID("i2c1_fck", &mstp_clks[MSTP015]), +	CLKDEV_CON_ID("i2c0_fck", &mstp_clks[MSTP014]), +	{ +		/* TMU0 */ +		.dev_id		= "sh_tmu.0", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU1 */ +		.dev_id		= "sh_tmu.1", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU2 */ +		.dev_id		= "sh_tmu.2", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP008], +	}, { +		/* TMU3 */ +		.dev_id		= "sh_tmu.3", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, { +		/* TMU4 */ +		.dev_id		= "sh_tmu.4", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, { +		/* TMU5 */ +		.dev_id		= "sh_tmu.5", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP009], +	}, { +		/* TMU6 */ +		.dev_id		= "sh_tmu.6", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP010], +	}, { +		/* TMU7 */ +		.dev_id		= "sh_tmu.7", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP010], +	}, { +		/* TMU8 */ +		.dev_id		= "sh_tmu.8", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP010], +	}, { +		/* TMU9 */ +		.dev_id		= "sh_tmu.9", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP011], +	}, { +		/* TMU10 */ +		.dev_id		= "sh_tmu.10", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP011], +	}, { +		/* TMU11 */ +		.dev_id		= "sh_tmu.11", +		.con_id		= "tmu_fck", +		.clk		= &mstp_clks[MSTP011], +	}, +	CLKDEV_CON_ID("sdif1_fck", &mstp_clks[MSTP005]), +	CLKDEV_CON_ID("sdif0_fck", &mstp_clks[MSTP004]), +	CLKDEV_CON_ID("hspi_fck", &mstp_clks[MSTP002]), +	CLKDEV_CON_ID("usb_fck", &mstp_clks[MSTP112]), +	CLKDEV_CON_ID("pcie2_fck", &mstp_clks[MSTP110]), +	CLKDEV_CON_ID("pcie1_fck", &mstp_clks[MSTP109]), +	CLKDEV_CON_ID("pcie0_fck", &mstp_clks[MSTP108]), +	CLKDEV_CON_ID("dmac_11_6_fck", &mstp_clks[MSTP105]), +	CLKDEV_CON_ID("dmac_5_0_fck", &mstp_clks[MSTP104]), +	CLKDEV_CON_ID("du_fck", &mstp_clks[MSTP103]), +	CLKDEV_CON_ID("ether_fck", &mstp_clks[MSTP102]),  };  int __init arch_clk_init(void) @@ -126,12 +261,14 @@ int __init arch_clk_init(void)  	for (i = 0; i < ARRAY_SIZE(clks); i++)  		ret |= clk_register(clks[i]); +	for (i = 0; i < ARRAY_SIZE(lookups); i++) +		clkdev_add(&lookups[i]);  	if (!ret)  		ret = sh_clk_div4_register(div4_clks, ARRAY_SIZE(div4_clks),  					   &div4_table);  	if (!ret) -		ret = sh_clk_mstp32_register(mstp_clks, ARRAY_SIZE(mstp_clks)); +		ret = sh_clk_mstp32_register(mstp_clks, MSTP_NR);  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/clock-shx3.c b/arch/sh/kernel/cpu/sh4a/clock-shx3.c index e75c57bdfa5..236a6282d77 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/clock-shx3.c @@ -13,9 +13,10 @@   */  #include <linux/init.h>  #include <linux/kernel.h> +#include <linux/io.h> +#include <asm/clkdev.h>  #include <asm/clock.h>  #include <asm/freq.h> -#include <asm/io.h>  static int ifc_divisors[] = { 1, 2, 4 ,6 };  static int bfc_divisors[] = { 1, 1, 1, 1, 1, 12, 16, 18, 24, 32, 36, 48 }; @@ -94,7 +95,6 @@ static struct clk_ops shx3_shyway_clk_ops = {  };  static struct clk shx3_shyway_clk = { -	.name		= "shyway_clk",  	.flags		= CLK_ENABLE_ON_INIT,  	.ops		= &shx3_shyway_clk_ops,  }; @@ -107,6 +107,13 @@ static struct clk *shx3_onchip_clocks[] = {  	&shx3_shyway_clk,  }; +#define CLKDEV_CON_ID(_id, _clk) { .con_id = _id, .clk = _clk } + +static struct clk_lookup lookups[] = { +	/* main clocks */ +	CLKDEV_CON_ID("shyway_clk", &shx3_shyway_clk), +}; +  int __init arch_clk_init(void)  {  	struct clk *clk; @@ -124,5 +131,7 @@ int __init arch_clk_init(void)  	clk_put(clk); +	clkdev_add_table(lookups, ARRAY_SIZE(lookups)); +  	return ret;  } diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c index 45eb1bfd42c..3681cafdb4a 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c @@ -21,7 +21,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 80, 80, 80, 80 }, -	.clk		= "scif0",  };  static struct platform_device scif0_device = { @@ -37,7 +36,6 @@ static struct plat_sci_port scif1_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 81, 81, 81, 81 }, -	.clk		= "scif1",  };  static struct platform_device scif1_device = { @@ -53,7 +51,6 @@ static struct plat_sci_port scif2_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 82, 82, 82, 82 }, -	.clk		= "scif2",  };  static struct platform_device scif2_device = { @@ -69,7 +66,6 @@ static struct plat_sci_port scif3_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 83, 83, 83, 83 }, -	.clk		= "scif3",  };  static struct platform_device scif3_device = { @@ -207,17 +203,14 @@ static struct platform_device jpu_device = {  };  static struct sh_timer_config cmt_platform_data = { -	.name = "CMT",  	.channel_offset = 0x60,  	.timer_bit = 5, -	.clk = "cmt0",  	.clockevent_rating = 125,  	.clocksource_rating = 200,  };  static struct resource cmt_resources[] = {  	[0] = { -		.name	= "CMT",  		.start	= 0x044a0060,  		.end	= 0x044a006b,  		.flags	= IORESOURCE_MEM, @@ -239,16 +232,13 @@ static struct platform_device cmt_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu0",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -270,16 +260,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu0",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -301,15 +288,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu0",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c index c494c193e3b..8dab9e1bbd8 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7366.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7366.c @@ -23,7 +23,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 80, 80, 80, 80 }, -	.clk		= "scif0",  };  static struct platform_device scif0_device = { @@ -169,17 +168,14 @@ static struct platform_device veu1_device = {  };  static struct sh_timer_config cmt_platform_data = { -	.name = "CMT",  	.channel_offset = 0x60,  	.timer_bit = 5, -	.clk = "cmt0",  	.clockevent_rating = 125,  	.clocksource_rating = 200,  };  static struct resource cmt_resources[] = {  	[0] = { -		.name	= "CMT",  		.start	= 0x044a0060,  		.end	= 0x044a006b,  		.flags	= IORESOURCE_MEM, @@ -201,16 +197,13 @@ static struct platform_device cmt_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu0",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -232,16 +225,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu0",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -263,15 +253,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu0",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index fd7e3639e84..24c6167a718 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c @@ -24,7 +24,7 @@  #include <cpu/dma-register.h>  #include <cpu/sh7722.h> -static struct sh_dmae_slave_config sh7722_dmae_slaves[] = { +static const struct sh_dmae_slave_config sh7722_dmae_slaves[] = {  	{  		.slave_id	= SHDMA_SLAVE_SCIF0_TX,  		.addr		= 0xffe0000c, @@ -78,7 +78,7 @@ static struct sh_dmae_slave_config sh7722_dmae_slaves[] = {  	},  }; -static struct sh_dmae_channel sh7722_dmae_channels[] = { +static const struct sh_dmae_channel sh7722_dmae_channels[] = {  	{  		.offset = 0,  		.dmars = 0, @@ -106,7 +106,7 @@ static struct sh_dmae_channel sh7722_dmae_channels[] = {  	}  }; -static unsigned int ts_shift[] = TS_SHIFT; +static const unsigned int ts_shift[] = TS_SHIFT;  static struct sh_dmae_pdata dma_platform_data = {  	.slave		= sh7722_dmae_slaves, @@ -174,7 +174,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 80, 80, 80, 80 }, -	.clk		= "scif0",  };  static struct platform_device scif0_device = { @@ -190,7 +189,6 @@ static struct plat_sci_port scif1_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 81, 81, 81, 81 }, -	.clk		= "scif1",  };  static struct platform_device scif1_device = { @@ -206,7 +204,6 @@ static struct plat_sci_port scif2_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 82, 82, 82, 82 }, -	.clk		= "scif2",  };  static struct platform_device scif2_device = { @@ -401,17 +398,14 @@ static struct platform_device jpu_device = {  };  static struct sh_timer_config cmt_platform_data = { -	.name = "CMT",  	.channel_offset = 0x60,  	.timer_bit = 5, -	.clk = "cmt0",  	.clockevent_rating = 125,  	.clocksource_rating = 125,  };  static struct resource cmt_resources[] = {  	[0] = { -		.name	= "CMT",  		.start	= 0x044a0060,  		.end	= 0x044a006b,  		.flags	= IORESOURCE_MEM, @@ -436,16 +430,13 @@ static struct platform_device cmt_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu0",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -470,16 +461,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu0",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -504,15 +492,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu0",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c index 85c61f62470..0eadefdbbba 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c @@ -26,7 +26,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 80, 80, 80, 80 }, -	.clk		= "scif0",  };  static struct platform_device scif0_device = { @@ -42,7 +41,6 @@ static struct plat_sci_port scif1_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 81, 81, 81, 81 }, -	.clk		= "scif1",  };  static struct platform_device scif1_device = { @@ -58,7 +56,6 @@ static struct plat_sci_port scif2_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 82, 82, 82, 82 }, -	.clk		= "scif2",  };  static struct platform_device scif2_device = { @@ -74,7 +71,6 @@ static struct plat_sci_port scif3_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 56, 56, 56, 56 }, -	.clk		= "scif3",  };  static struct platform_device scif3_device = { @@ -90,7 +86,6 @@ static struct plat_sci_port scif4_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 88, 88, 88, 88 }, -	.clk		= "scif4",  };  static struct platform_device scif4_device = { @@ -106,7 +101,6 @@ static struct plat_sci_port scif5_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 109, 109, 109, 109 }, -	.clk		= "scif5",  };  static struct platform_device scif5_device = { @@ -211,17 +205,14 @@ static struct platform_device veu1_device = {  };  static struct sh_timer_config cmt_platform_data = { -	.name = "CMT",  	.channel_offset = 0x60,  	.timer_bit = 5, -	.clk = "cmt0",  	.clockevent_rating = 125,  	.clocksource_rating = 125,  };  static struct resource cmt_resources[] = {  	[0] = { -		.name	= "CMT",  		.start	= 0x044a0060,  		.end	= 0x044a006b,  		.flags	= IORESOURCE_MEM, @@ -246,16 +237,13 @@ static struct platform_device cmt_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu0",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -280,16 +268,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu0",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -314,15 +299,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu0",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002b,  		.flags	= IORESOURCE_MEM, @@ -347,15 +329,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu1",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffd90008,  		.end	= 0xffd90013,  		.flags	= IORESOURCE_MEM, @@ -380,15 +359,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu1",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffd90014,  		.end	= 0xffd9001f,  		.flags	= IORESOURCE_MEM, @@ -413,15 +389,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu1",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffd90020,  		.end	= 0xffd9002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c index e7fa2a92fc1..89fe16d20fd 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7724.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7724.c @@ -31,7 +31,7 @@  #include <cpu/sh7724.h>  /* DMA */ -static struct sh_dmae_channel sh7724_dmae0_channels[] = { +static const struct sh_dmae_channel sh7724_dmae_channels[] = {  	{  		.offset = 0,  		.dmars = 0, @@ -59,51 +59,11 @@ static struct sh_dmae_channel sh7724_dmae0_channels[] = {  	}  }; -static struct sh_dmae_channel sh7724_dmae1_channels[] = { -	{ -		.offset = 0, -		.dmars = 0, -		.dmars_bit = 0, -	}, { -		.offset = 0x10, -		.dmars = 0, -		.dmars_bit = 8, -	}, { -		.offset = 0x20, -		.dmars = 4, -		.dmars_bit = 0, -	}, { -		.offset = 0x30, -		.dmars = 4, -		.dmars_bit = 8, -	}, { -		.offset = 0x50, -		.dmars = 8, -		.dmars_bit = 0, -	}, { -		.offset = 0x60, -		.dmars = 8, -		.dmars_bit = 8, -	} -}; - -static unsigned int ts_shift[] = TS_SHIFT; - -static struct sh_dmae_pdata dma0_platform_data = { -	.channel	= sh7724_dmae0_channels, -	.channel_num	= ARRAY_SIZE(sh7724_dmae0_channels), -	.ts_low_shift	= CHCR_TS_LOW_SHIFT, -	.ts_low_mask	= CHCR_TS_LOW_MASK, -	.ts_high_shift	= CHCR_TS_HIGH_SHIFT, -	.ts_high_mask	= CHCR_TS_HIGH_MASK, -	.ts_shift	= ts_shift, -	.ts_shift_num	= ARRAY_SIZE(ts_shift), -	.dmaor_init	= DMAOR_INIT, -}; +static const unsigned int ts_shift[] = TS_SHIFT; -static struct sh_dmae_pdata dma1_platform_data = { -	.channel	= sh7724_dmae1_channels, -	.channel_num	= ARRAY_SIZE(sh7724_dmae1_channels), +static struct sh_dmae_pdata dma_platform_data = { +	.channel	= sh7724_dmae_channels, +	.channel_num	= ARRAY_SIZE(sh7724_dmae_channels),  	.ts_low_shift	= CHCR_TS_LOW_SHIFT,  	.ts_low_mask	= CHCR_TS_LOW_MASK,  	.ts_high_shift	= CHCR_TS_HIGH_SHIFT, @@ -187,7 +147,7 @@ static struct platform_device dma0_device = {  	.resource	= sh7724_dmae0_resources,  	.num_resources	= ARRAY_SIZE(sh7724_dmae0_resources),  	.dev		= { -		.platform_data	= &dma0_platform_data, +		.platform_data	= &dma_platform_data,  	},  	.archdata = {  		.hwblk_id = HWBLK_DMAC0, @@ -200,7 +160,7 @@ static struct platform_device dma1_device = {  	.resource	= sh7724_dmae1_resources,  	.num_resources	= ARRAY_SIZE(sh7724_dmae1_resources),  	.dev		= { -		.platform_data	= &dma1_platform_data, +		.platform_data	= &dma_platform_data,  	},  	.archdata = {  		.hwblk_id = HWBLK_DMAC1, @@ -213,7 +173,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 80, 80, 80, 80 }, -	.clk		= "scif0",  };  static struct platform_device scif0_device = { @@ -229,7 +188,6 @@ static struct plat_sci_port scif1_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 81, 81, 81, 81 }, -	.clk		= "scif1",  };  static struct platform_device scif1_device = { @@ -245,7 +203,6 @@ static struct plat_sci_port scif2_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIF,  	.irqs           = { 82, 82, 82, 82 }, -	.clk		= "scif2",  };  static struct platform_device scif2_device = { @@ -261,7 +218,6 @@ static struct plat_sci_port scif3_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 56, 56, 56, 56 }, -	.clk		= "scif3",  };  static struct platform_device scif3_device = { @@ -277,7 +233,6 @@ static struct plat_sci_port scif4_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 88, 88, 88, 88 }, -	.clk		= "scif4",  };  static struct platform_device scif4_device = { @@ -293,7 +248,6 @@ static struct plat_sci_port scif5_platform_data = {  	.flags          = UPF_BOOT_AUTOCONF,  	.type           = PORT_SCIFA,  	.irqs           = { 109, 109, 109, 109 }, -	.clk		= "scif5",  };  static struct platform_device scif5_device = { @@ -485,17 +439,14 @@ static struct platform_device veu1_device = {  };  static struct sh_timer_config cmt_platform_data = { -	.name = "CMT",  	.channel_offset = 0x60,  	.timer_bit = 5, -	.clk = "cmt0",  	.clockevent_rating = 125,  	.clocksource_rating = 200,  };  static struct resource cmt_resources[] = {  	[0] = { -		.name	= "CMT",  		.start	= 0x044a0060,  		.end	= 0x044a006b,  		.flags	= IORESOURCE_MEM, @@ -520,16 +471,13 @@ static struct platform_device cmt_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu0",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -554,16 +502,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu0",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -588,15 +533,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu0",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002b,  		.flags	= IORESOURCE_MEM, @@ -622,15 +564,12 @@ static struct platform_device tmu2_device = {  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu1",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffd90008,  		.end	= 0xffd90013,  		.flags	= IORESOURCE_MEM, @@ -655,15 +594,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu1",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffd90014,  		.end	= 0xffd9001f,  		.flags	= IORESOURCE_MEM, @@ -688,15 +624,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu1",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffd90020,  		.end	= 0xffd9002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7757.c b/arch/sh/kernel/cpu/sh4a/setup-sh7757.c index e75edf58796..444aca95b20 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7757.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7757.c @@ -63,16 +63,13 @@ static struct platform_device scif4_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xfe430008,  		.end	= 0xfe430013,  		.flags	= IORESOURCE_MEM, @@ -94,16 +91,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xfe430014,  		.end	= 0xfe43001f,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c index 7f6b0a5f7f8..5b5f6b005fc 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c @@ -131,16 +131,13 @@ static struct platform_device usbf_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -162,16 +159,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -193,15 +187,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -223,15 +214,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffd88008,  		.end	= 0xffd88013,  		.flags	= IORESOURCE_MEM, @@ -253,15 +241,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffd88014,  		.end	= 0xffd8801f,  		.flags	= IORESOURCE_MEM, @@ -283,15 +268,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffd88020,  		.end	= 0xffd8802b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c index 86d681ecf90..7270d7fd676 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c @@ -165,16 +165,13 @@ static struct platform_device scif9_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -196,16 +193,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -227,15 +221,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -257,15 +248,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffd81008,  		.end	= 0xffd81013,  		.flags	= IORESOURCE_MEM, @@ -287,15 +275,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffd81014,  		.end	= 0xffd8101f,  		.flags	= IORESOURCE_MEM, @@ -317,15 +302,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffd81020,  		.end	= 0xffd8102f,  		.flags	= IORESOURCE_MEM, @@ -347,15 +329,12 @@ static struct platform_device tmu5_device = {  };  static struct sh_timer_config tmu6_platform_data = { -	.name = "TMU6",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu6_resources[] = {  	[0] = { -		.name	= "TMU6",  		.start	= 0xffd82008,  		.end	= 0xffd82013,  		.flags	= IORESOURCE_MEM, @@ -377,15 +356,12 @@ static struct platform_device tmu6_device = {  };  static struct sh_timer_config tmu7_platform_data = { -	.name = "TMU7",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu7_resources[] = {  	[0] = { -		.name	= "TMU7",  		.start	= 0xffd82014,  		.end	= 0xffd8201f,  		.flags	= IORESOURCE_MEM, @@ -407,15 +383,12 @@ static struct platform_device tmu7_device = {  };  static struct sh_timer_config tmu8_platform_data = { -	.name = "TMU8",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu8_resources[] = {  	[0] = { -		.name	= "TMU8",  		.start	= 0xffd82020,  		.end	= 0xffd8202b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c index 02e792c90de..b12f537e4dd 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7780.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7780.c @@ -49,16 +49,13 @@ static struct platform_device scif1_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -80,16 +77,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -111,15 +105,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -141,15 +132,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffdc0008,  		.end	= 0xffdc0013,  		.flags	= IORESOURCE_MEM, @@ -171,15 +159,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffdc0014,  		.end	= 0xffdc001f,  		.flags	= IORESOURCE_MEM, @@ -201,15 +186,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffdc0020,  		.end	= 0xffdc002b,  		.flags	= IORESOURCE_MEM, @@ -251,7 +233,7 @@ static struct platform_device rtc_device = {  };  /* DMA */ -static struct sh_dmae_channel sh7780_dmae0_channels[] = { +static const struct sh_dmae_channel sh7780_dmae0_channels[] = {  	{  		.offset = 0,  		.dmars = 0, @@ -279,7 +261,7 @@ static struct sh_dmae_channel sh7780_dmae0_channels[] = {  	}  }; -static struct sh_dmae_channel sh7780_dmae1_channels[] = { +static const struct sh_dmae_channel sh7780_dmae1_channels[] = {  	{  		.offset = 0,  	}, { @@ -295,7 +277,7 @@ static struct sh_dmae_channel sh7780_dmae1_channels[] = {  	}  }; -static unsigned int ts_shift[] = TS_SHIFT; +static const unsigned int ts_shift[] = TS_SHIFT;  static struct sh_dmae_pdata dma0_platform_data = {  	.channel	= sh7780_dmae0_channels, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c index 1fcd88b1671..f3e3ea0ce05 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7785.c @@ -25,7 +25,6 @@ static struct plat_sci_port scif0_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 40, 40, 40, 40 }, -	.clk		= "scif_fck",  };  static struct platform_device scif0_device = { @@ -41,7 +40,6 @@ static struct plat_sci_port scif1_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 44, 44, 44, 44 }, -	.clk		= "scif_fck",  };  static struct platform_device scif1_device = { @@ -57,7 +55,6 @@ static struct plat_sci_port scif2_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 60, 60, 60, 60 }, -	.clk		= "scif_fck",  };  static struct platform_device scif2_device = { @@ -73,7 +70,6 @@ static struct plat_sci_port scif3_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 61, 61, 61, 61 }, -	.clk		= "scif_fck",  };  static struct platform_device scif3_device = { @@ -89,7 +85,6 @@ static struct plat_sci_port scif4_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 62, 62, 62, 62 }, -	.clk		= "scif_fck",  };  static struct platform_device scif4_device = { @@ -105,7 +100,6 @@ static struct plat_sci_port scif5_platform_data = {  	.flags		= UPF_BOOT_AUTOCONF,  	.type		= PORT_SCIF,  	.irqs		= { 63, 63, 63, 63 }, -	.clk		= "scif_fck",  };  static struct platform_device scif5_device = { @@ -117,16 +111,13 @@ static struct platform_device scif5_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu012_fck",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -148,16 +139,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu012_fck",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -179,15 +167,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu012_fck",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -209,15 +194,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "tmu345_fck",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffdc0008,  		.end	= 0xffdc0013,  		.flags	= IORESOURCE_MEM, @@ -239,15 +221,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "tmu345_fck",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffdc0014,  		.end	= 0xffdc001f,  		.flags	= IORESOURCE_MEM, @@ -269,15 +248,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "tmu345_fck",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffdc0020,  		.end	= 0xffdc002b,  		.flags	= IORESOURCE_MEM, @@ -299,7 +275,7 @@ static struct platform_device tmu5_device = {  };  /* DMA */ -static struct sh_dmae_channel sh7785_dmae0_channels[] = { +static const struct sh_dmae_channel sh7785_dmae0_channels[] = {  	{  		.offset = 0,  		.dmars = 0, @@ -327,7 +303,7 @@ static struct sh_dmae_channel sh7785_dmae0_channels[] = {  	}  }; -static struct sh_dmae_channel sh7785_dmae1_channels[] = { +static const struct sh_dmae_channel sh7785_dmae1_channels[] = {  	{  		.offset = 0,  	}, { @@ -343,7 +319,7 @@ static struct sh_dmae_channel sh7785_dmae1_channels[] = {  	}  }; -static unsigned int ts_shift[] = TS_SHIFT; +static const unsigned int ts_shift[] = TS_SHIFT;  static struct sh_dmae_pdata dma0_platform_data = {  	.channel	= sh7785_dmae0_channels, diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7786.c b/arch/sh/kernel/cpu/sh4a/setup-sh7786.c index 7e585320710..81657091da4 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7786.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7786.c @@ -1,7 +1,7 @@  /*   * SH7786 Setup   * - * Copyright (C) 2009  Renesas Solutions Corp. + * Copyright (C) 2009 - 2010  Renesas Solutions Corp.   * Kuninori Morimoto <morimoto.kuninori@renesas.com>   * Paul Mundt <paul.mundt@renesas.com>   * @@ -21,7 +21,10 @@  #include <linux/mm.h>  #include <linux/dma-mapping.h>  #include <linux/sh_timer.h> +#include <linux/sh_intc.h> +#include <cpu/dma-register.h>  #include <asm/mmzone.h> +#include <asm/dmaengine.h>  static struct plat_sci_port scif0_platform_data = {  	.mapbase	= 0xffea0000, @@ -117,16 +120,13 @@ static struct platform_device scif5_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffd80008,  		.end	= 0xffd80013,  		.flags	= IORESOURCE_MEM, @@ -148,16 +148,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffd80014,  		.end	= 0xffd8001f,  		.flags	= IORESOURCE_MEM, @@ -179,15 +176,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffd80020,  		.end	= 0xffd8002f,  		.flags	= IORESOURCE_MEM, @@ -209,15 +203,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffda0008,  		.end	= 0xffda0013,  		.flags	= IORESOURCE_MEM, @@ -239,15 +230,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffda0014,  		.end	= 0xffda001f,  		.flags	= IORESOURCE_MEM, @@ -269,15 +257,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffda0020,  		.end	= 0xffda002b,  		.flags	= IORESOURCE_MEM, @@ -299,15 +284,12 @@ static struct platform_device tmu5_device = {  };  static struct sh_timer_config tmu6_platform_data = { -	.name = "TMU6",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu6_resources[] = {  	[0] = { -		.name	= "TMU6",  		.start	= 0xffdc0008,  		.end	= 0xffdc0013,  		.flags	= IORESOURCE_MEM, @@ -329,15 +311,12 @@ static struct platform_device tmu6_device = {  };  static struct sh_timer_config tmu7_platform_data = { -	.name = "TMU7",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu7_resources[] = {  	[0] = { -		.name	= "TMU7",  		.start	= 0xffdc0014,  		.end	= 0xffdc001f,  		.flags	= IORESOURCE_MEM, @@ -359,15 +338,12 @@ static struct platform_device tmu7_device = {  };  static struct sh_timer_config tmu8_platform_data = { -	.name = "TMU8",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu8_resources[] = {  	[0] = { -		.name	= "TMU8",  		.start	= 0xffdc0020,  		.end	= 0xffdc002b,  		.flags	= IORESOURCE_MEM, @@ -389,15 +365,12 @@ static struct platform_device tmu8_device = {  };  static struct sh_timer_config tmu9_platform_data = { -	.name = "TMU9",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu9_resources[] = {  	[0] = { -		.name	= "TMU9",  		.start	= 0xffde0008,  		.end	= 0xffde0013,  		.flags	= IORESOURCE_MEM, @@ -419,15 +392,12 @@ static struct platform_device tmu9_device = {  };  static struct sh_timer_config tmu10_platform_data = { -	.name = "TMU10",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu10_resources[] = {  	[0] = { -		.name	= "TMU10",  		.start	= 0xffde0014,  		.end	= 0xffde001f,  		.flags	= IORESOURCE_MEM, @@ -449,15 +419,12 @@ static struct platform_device tmu10_device = {  };  static struct sh_timer_config tmu11_platform_data = { -	.name = "TMU11",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu11_resources[] = {  	[0] = { -		.name	= "TMU11",  		.start	= 0xffde0020,  		.end	= 0xffde002b,  		.flags	= IORESOURCE_MEM, @@ -478,6 +445,83 @@ static struct platform_device tmu11_device = {  	.num_resources	= ARRAY_SIZE(tmu11_resources),  }; +static const struct sh_dmae_channel dmac0_channels[] = { +	{ +		.offset = 0, +		.dmars = 0, +		.dmars_bit = 0, +	}, { +		.offset = 0x10, +		.dmars = 0, +		.dmars_bit = 8, +	}, { +		.offset = 0x20, +		.dmars = 4, +		.dmars_bit = 0, +	}, { +		.offset = 0x30, +		.dmars = 4, +		.dmars_bit = 8, +	}, { +		.offset = 0x50, +		.dmars = 8, +		.dmars_bit = 0, +	}, { +		.offset = 0x60, +		.dmars = 8, +		.dmars_bit = 8, +	} +}; + +static const unsigned int ts_shift[] = TS_SHIFT; + +static struct sh_dmae_pdata dma0_platform_data = { +	.channel	= dmac0_channels, +	.channel_num	= ARRAY_SIZE(dmac0_channels), +	.ts_low_shift	= CHCR_TS_LOW_SHIFT, +	.ts_low_mask	= CHCR_TS_LOW_MASK, +	.ts_high_shift	= CHCR_TS_HIGH_SHIFT, +	.ts_high_mask	= CHCR_TS_HIGH_MASK, +	.ts_shift	= ts_shift, +	.ts_shift_num	= ARRAY_SIZE(ts_shift), +	.dmaor_init	= DMAOR_INIT, +}; + +/* Resource order important! */ +static struct resource dmac0_resources[] = { +	{ +		/* Channel registers and DMAOR */ +		.start	= 0xfe008020, +		.end	= 0xfe00808f, +		.flags	= IORESOURCE_MEM, +	}, { +		/* DMARSx */ +		.start	= 0xfe009000, +		.end	= 0xfe00900b, +		.flags	= IORESOURCE_MEM, +	}, { +		/* DMA error IRQ */ +		.start	= evt2irq(0x5c0), +		.end	= evt2irq(0x5c0), +		.flags	= IORESOURCE_IRQ, +	}, { +		/* IRQ for channels 0-5 */ +		.start	= evt2irq(0x500), +		.end	= evt2irq(0x5a0), +		.flags	= IORESOURCE_IRQ, +	}, +}; + +static struct platform_device dma0_device = { +	.name		= "sh-dma-engine", +	.id		= 0, +	.resource	= dmac0_resources, +	.num_resources	= ARRAY_SIZE(dmac0_resources), +	.dev		= { +		.platform_data	= &dma0_platform_data, +	}, +}; +  static struct resource usb_ohci_resources[] = {  	[0] = {  		.start	= 0xffe70400, @@ -525,10 +569,10 @@ static struct platform_device *sh7786_early_devices[] __initdata = {  };  static struct platform_device *sh7786_devices[] __initdata = { +	&dma0_device,  	&usb_ohci_device,  }; -  /*   * Please call this function if your platform board   * use external clock for USB @@ -536,6 +580,7 @@ static struct platform_device *sh7786_devices[] __initdata = {  #define USBCTL0		0xffe70858  #define CLOCK_MODE_MASK 0xffffff7f  #define EXT_CLOCK_MODE  0x00000080 +  void __init sh7786_usb_use_exclock(void)  {  	u32 val = __raw_readl(USBCTL0) & CLOCK_MODE_MASK; @@ -553,6 +598,7 @@ void __init sh7786_usb_use_exclock(void)  #define PLL_ENB		0x00000002  #define PHY_RST		0x00000004  #define ACT_PLL_STATUS	0xc0000000 +  static void __init sh7786_usb_setup(void)  {  	int i = 1000000; @@ -708,9 +754,19 @@ static struct intc_vect vectors[] __initdata = {  #define INTMSK2		0xfe410068  #define INTMSKCLR2	0xfe41006c +#define INTDISTCR0	0xfe4100b0 +#define INTDISTCR1	0xfe4100b4 +#define INTACK		0xfe4100b8 +#define INTACKCLR	0xfe4100bc +#define INT2DISTCR0	0xfe410900 +#define INT2DISTCR1	0xfe410904 +#define INT2DISTCR2	0xfe410908 +#define INT2DISTCR3	0xfe41090c +  static struct intc_mask_reg mask_registers[] __initdata = {  	{ CnINTMSK0, CnINTMSKCLR0, 32, -	  { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, +	  { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 }, +	    INTC_SMP_BALANCING(INTDISTCR0) },  	{ INTMSK2, INTMSKCLR2, 32,  	  { IRL0_LLLL, IRL0_LLLH, IRL0_LLHL, IRL0_LLHH,  	    IRL0_LHLL, IRL0_LHLH, IRL0_LHHL, IRL0_LHHH, @@ -722,7 +778,8 @@ static struct intc_mask_reg mask_registers[] __initdata = {  	    IRL4_HHLL, IRL4_HHLH, IRL4_HHHL, 0, } },  	{ CnINT2MSKR0, CnINT2MSKCR0 , 32,  	  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -	    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, WDT } }, +	    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, WDT }, +	    INTC_SMP_BALANCING(INT2DISTCR0) },  	{ CnINT2MSKR1, CnINT2MSKCR1, 32,  	  { TMU0_0, TMU0_1, TMU0_2, TMU0_3, TMU1_0, TMU1_1, TMU1_2, 0,  	    DMAC0_0, DMAC0_1, DMAC0_2, DMAC0_3, DMAC0_4, DMAC0_5, DMAC0_6, @@ -731,14 +788,14 @@ static struct intc_mask_reg mask_registers[] __initdata = {  	    HPB_0, HPB_1, HPB_2,  	    SCIF0_0, SCIF0_1, SCIF0_2, SCIF0_3,  	    SCIF1, -	    TMU2, TMU3, 0, } }, +	    TMU2, TMU3, 0, }, INTC_SMP_BALANCING(INT2DISTCR1) },  	{ CnINT2MSKR2, CnINT2MSKCR2, 32,  	  { 0, 0, SCIF2, SCIF3, SCIF4, SCIF5,  	    Eth_0, Eth_1,  	    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  	    PCIeC0_0, PCIeC0_1, PCIeC0_2,  	    PCIeC1_0, PCIeC1_1, PCIeC1_2, -	    USB, 0, 0 } }, +	    USB, 0, 0 }, INTC_SMP_BALANCING(INT2DISTCR2) },  	{ CnINT2MSKR3, CnINT2MSKCR3, 32,  	  { 0, 0, 0, 0, 0, 0,  	    I2C0, I2C1, @@ -747,7 +804,7 @@ static struct intc_mask_reg mask_registers[] __initdata = {  	    HAC0, HAC1,  	    FLCTL, 0,  	    HSPI, GPIO0, GPIO1, Thermal, -	    0, 0, 0, 0, 0, 0, 0, 0 } }, +	    0, 0, 0, 0, 0, 0, 0, 0 }, INTC_SMP_BALANCING(INT2DISTCR3) },  };  static struct intc_prio_reg prio_registers[] __initdata = { @@ -863,6 +920,19 @@ static DECLARE_INTC_DESC(intc_desc_irl4567, "sh7786-irl4567", vectors_irl4567,  #define INTC_INTMSK2	INTMSK2  #define INTC_INTMSKCLR1	CnINTMSKCLR1  #define INTC_INTMSKCLR2	INTMSKCLR2 +#define INTC_USERIMASK	0xfe411000 + +#ifdef CONFIG_INTC_BALANCING +unsigned int irq_lookup(unsigned int irq) +{ +	return __raw_readl(INTACK) & 1 ? irq : NO_IRQ_IGNORE; +} + +void irq_finish(unsigned int irq) +{ +	__raw_writel(irq2evt(irq), INTACKCLR); +} +#endif  void __init plat_irq_setup(void)  { @@ -877,6 +947,7 @@ void __init plat_irq_setup(void)  	__raw_writel(__raw_readl(INTC_ICR0) & ~0x00c00000, INTC_ICR0);  	register_intc_controller(&intc_desc); +	register_intc_userimask(INTC_USERIMASK);  }  void __init plat_irq_setup_pins(int mode) diff --git a/arch/sh/kernel/cpu/sh4a/setup-shx3.c b/arch/sh/kernel/cpu/sh4a/setup-shx3.c index 780ba17a559..9158bc5ea38 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/setup-shx3.c @@ -70,16 +70,13 @@ static struct platform_device scif2_device = {  };  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= 0xffc10008,  		.end	= 0xffc10013,  		.flags	= IORESOURCE_MEM, @@ -101,16 +98,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= 0xffc10014,  		.end	= 0xffc1001f,  		.flags	= IORESOURCE_MEM, @@ -132,15 +126,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= 0xffc10020,  		.end	= 0xffc1002f,  		.flags	= IORESOURCE_MEM, @@ -162,15 +153,12 @@ static struct platform_device tmu2_device = {  };  static struct sh_timer_config tmu3_platform_data = { -	.name = "TMU3",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  };  static struct resource tmu3_resources[] = {  	[0] = { -		.name	= "TMU3",  		.start	= 0xffc20008,  		.end	= 0xffc20013,  		.flags	= IORESOURCE_MEM, @@ -192,15 +180,12 @@ static struct platform_device tmu3_device = {  };  static struct sh_timer_config tmu4_platform_data = { -	.name = "TMU4",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  };  static struct resource tmu4_resources[] = {  	[0] = { -		.name	= "TMU4",  		.start	= 0xffc20014,  		.end	= 0xffc2001f,  		.flags	= IORESOURCE_MEM, @@ -222,15 +207,12 @@ static struct platform_device tmu4_device = {  };  static struct sh_timer_config tmu5_platform_data = { -	.name = "TMU5",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu5_resources[] = {  	[0] = { -		.name	= "TMU5",  		.start	= 0xffc20020,  		.end	= 0xffc2002b,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/cpu/sh4a/smp-shx3.c b/arch/sh/kernel/cpu/sh4a/smp-shx3.c index 11bf4c1e25c..de865cac02e 100644 --- a/arch/sh/kernel/cpu/sh4a/smp-shx3.c +++ b/arch/sh/kernel/cpu/sh4a/smp-shx3.c @@ -1,7 +1,7 @@  /*   * SH-X3 SMP   * - *  Copyright (C) 2007 - 2008  Paul Mundt + *  Copyright (C) 2007 - 2010  Paul Mundt   *  Copyright (C) 2007  Magnus Damm   *   * This file is subject to the terms and conditions of the GNU General Public @@ -9,16 +9,22 @@   * for more details.   */  #include <linux/init.h> +#include <linux/kernel.h>  #include <linux/cpumask.h>  #include <linux/smp.h>  #include <linux/interrupt.h>  #include <linux/io.h> +#include <linux/sched.h> +#include <linux/delay.h> +#include <linux/cpu.h> +#include <asm/sections.h>  #define STBCR_REG(phys_id) (0xfe400004 | (phys_id << 12))  #define RESET_REG(phys_id) (0xfe400008 | (phys_id << 12))  #define STBCR_MSTP	0x00000001  #define STBCR_RESET	0x00000002 +#define STBCR_SLEEP	0x00000004  #define STBCR_LTSLP	0x80000000  static irqreturn_t ipi_interrupt_handler(int irq, void *arg) @@ -37,7 +43,7 @@ static irqreturn_t ipi_interrupt_handler(int irq, void *arg)  	return IRQ_HANDLED;  } -void __init plat_smp_setup(void) +static void shx3_smp_setup(void)  {  	unsigned int cpu = 0;  	int i, num; @@ -63,7 +69,7 @@ void __init plat_smp_setup(void)          printk(KERN_INFO "Detected %i available secondary CPU(s)\n", num);  } -void __init plat_prepare_cpus(unsigned int max_cpus) +static void shx3_prepare_cpus(unsigned int max_cpus)  {  	int i; @@ -72,11 +78,14 @@ void __init plat_prepare_cpus(unsigned int max_cpus)  	BUILD_BUG_ON(SMP_MSG_NR >= 8);  	for (i = 0; i < SMP_MSG_NR; i++) -		request_irq(104 + i, ipi_interrupt_handler, IRQF_DISABLED, -			    "IPI", (void *)(long)i); +		request_irq(104 + i, ipi_interrupt_handler, +			    IRQF_DISABLED | IRQF_PERCPU, "IPI", (void *)(long)i); + +	for (i = 0; i < max_cpus; i++) +		set_cpu_present(i, true);  } -void plat_start_cpu(unsigned int cpu, unsigned long entry_point) +static void shx3_start_cpu(unsigned int cpu, unsigned long entry_point)  {  	if (__in_29bit_mode())  		__raw_writel(entry_point, RESET_REG(cpu)); @@ -93,12 +102,12 @@ void plat_start_cpu(unsigned int cpu, unsigned long entry_point)  	__raw_writel(STBCR_RESET | STBCR_LTSLP, STBCR_REG(cpu));  } -int plat_smp_processor_id(void) +static unsigned int shx3_smp_processor_id(void)  {  	return __raw_readl(0xff000048); /* CPIDR */  } -void plat_send_ipi(unsigned int cpu, unsigned int message) +static void shx3_send_ipi(unsigned int cpu, unsigned int message)  {  	unsigned long addr = 0xfe410070 + (cpu * 4); @@ -106,3 +115,52 @@ void plat_send_ipi(unsigned int cpu, unsigned int message)  	__raw_writel(1 << (message << 2), addr); /* C0INTICI..CnINTICI */  } + +static void shx3_update_boot_vector(unsigned int cpu) +{ +	__raw_writel(STBCR_MSTP, STBCR_REG(cpu)); +	while (!(__raw_readl(STBCR_REG(cpu)) & STBCR_MSTP)) +		cpu_relax(); +	__raw_writel(STBCR_RESET, STBCR_REG(cpu)); +} + +static int __cpuinit +shx3_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) +{ +	unsigned int cpu = (unsigned int)hcpu; + +	switch (action) { +	case CPU_UP_PREPARE: +		shx3_update_boot_vector(cpu); +		break; +	case CPU_ONLINE: +		pr_info("CPU %u is now online\n", cpu); +		break; +	case CPU_DEAD: +		break; +	} + +	return NOTIFY_OK; +} + +static struct notifier_block __cpuinitdata shx3_cpu_notifier = { +	.notifier_call		= shx3_cpu_callback, +}; + +static int __cpuinit register_shx3_cpu_notifier(void) +{ +	register_hotcpu_notifier(&shx3_cpu_notifier); +	return 0; +} +late_initcall(register_shx3_cpu_notifier); + +struct plat_smp_ops shx3_smp_ops = { +	.smp_setup		= shx3_smp_setup, +	.prepare_cpus		= shx3_prepare_cpus, +	.start_cpu		= shx3_start_cpu, +	.smp_processor_id	= shx3_smp_processor_id, +	.send_ipi		= shx3_send_ipi, +	.cpu_die		= native_cpu_die, +	.cpu_disable		= native_cpu_disable, +	.play_dead		= native_play_dead, +}; diff --git a/arch/sh/kernel/cpu/sh5/probe.c b/arch/sh/kernel/cpu/sh5/probe.c index 521d05b3f7b..9e882409e4e 100644 --- a/arch/sh/kernel/cpu/sh5/probe.c +++ b/arch/sh/kernel/cpu/sh5/probe.c @@ -17,7 +17,7 @@  #include <asm/cache.h>  #include <asm/tlb.h> -int __init detect_cpu_and_cache_system(void) +void __cpuinit cpu_probe(void)  {  	unsigned long long cir; @@ -72,6 +72,4 @@ int __init detect_cpu_and_cache_system(void)  	/* Setup some I/D TLB defaults */  	sh64_tlb_init(); - -	return 0;  } diff --git a/arch/sh/kernel/cpu/sh5/setup-sh5.c b/arch/sh/kernel/cpu/sh5/setup-sh5.c index e7a3c1e4b60..d910666142b 100644 --- a/arch/sh/kernel/cpu/sh5/setup-sh5.c +++ b/arch/sh/kernel/cpu/sh5/setup-sh5.c @@ -68,16 +68,13 @@ static struct platform_device rtc_device = {  #define TMU2_BASE	(TMU_BASE + 0x8 + (0xc * 0x2))  static struct sh_timer_config tmu0_platform_data = { -	.name = "TMU0",  	.channel_offset = 0x04,  	.timer_bit = 0, -	.clk = "peripheral_clk",  	.clockevent_rating = 200,  };  static struct resource tmu0_resources[] = {  	[0] = { -		.name	= "TMU0",  		.start	= TMU0_BASE,  		.end	= TMU0_BASE + 0xc - 1,  		.flags	= IORESOURCE_MEM, @@ -99,16 +96,13 @@ static struct platform_device tmu0_device = {  };  static struct sh_timer_config tmu1_platform_data = { -	.name = "TMU1",  	.channel_offset = 0x10,  	.timer_bit = 1, -	.clk = "peripheral_clk",  	.clocksource_rating = 200,  };  static struct resource tmu1_resources[] = {  	[0] = { -		.name	= "TMU1",  		.start	= TMU1_BASE,  		.end	= TMU1_BASE + 0xc - 1,  		.flags	= IORESOURCE_MEM, @@ -130,15 +124,12 @@ static struct platform_device tmu1_device = {  };  static struct sh_timer_config tmu2_platform_data = { -	.name = "TMU2",  	.channel_offset = 0x1c,  	.timer_bit = 2, -	.clk = "peripheral_clk",  };  static struct resource tmu2_resources[] = {  	[0] = { -		.name	= "TMU2",  		.start	= TMU2_BASE,  		.end	= TMU2_BASE + 0xc - 1,  		.flags	= IORESOURCE_MEM, diff --git a/arch/sh/kernel/crash_dump.c b/arch/sh/kernel/crash_dump.c index 95d21625556..37c97d44457 100644 --- a/arch/sh/kernel/crash_dump.c +++ b/arch/sh/kernel/crash_dump.c @@ -4,7 +4,6 @@   *	Created by: Hariprasad Nellitheertha (hari@in.ibm.com)   *	Copyright (C) IBM Corporation, 2004. All rights reserved   */ -  #include <linux/errno.h>  #include <linux/crash_dump.h>  #include <linux/io.h> @@ -13,6 +12,25 @@  /* Stores the physical address of elf header of crash image. */  unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX; +/* + * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by + * is_kdump_kernel() to determine if we are booting after a panic. Hence + * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. + * + * elfcorehdr= specifies the location of elf core header + * stored by the crashed kernel. + */ +static int __init parse_elfcorehdr(char *arg) +{ +	if (!arg) +		return -EINVAL; + +	elfcorehdr_addr = memparse(arg, &arg); + +	return 0; +} +early_param("elfcorehdr", parse_elfcorehdr); +  /**   * copy_oldmem_page - copy one page from "oldmem"   * @pfn: page frame number to be copied diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c index a8234b2010d..5ec1d181869 100644 --- a/arch/sh/kernel/dwarf.c +++ b/arch/sh/kernel/dwarf.c @@ -22,6 +22,7 @@  #include <linux/mm.h>  #include <linux/elf.h>  #include <linux/ftrace.h> +#include <linux/module.h>  #include <linux/slab.h>  #include <asm/dwarf.h>  #include <asm/unwinder.h> diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S index fe0b743881b..6e35f012cc0 100644 --- a/arch/sh/kernel/head_32.S +++ b/arch/sh/kernel/head_32.S @@ -131,6 +131,7 @@ ENTRY(_stext)   *	r8 = scratch register   *	r9 = scratch register   *	r10 = number of PMB entries we've setup + *	r11 = scratch register   */  	mov.l	.LMMUCR, r1	/* Flush the TLB */ @@ -167,8 +168,9 @@ ENTRY(_stext)  .Lvalidate_existing_mappings: +	mov.l	.LPMB_DATA_MASK, r11  	mov.l	@r7, r8 -	and	r0, r8 +	and	r11, r8  	cmp/eq	r0, r8		/* Check for valid __MEMORY_START mappings */  	bt	.Lpmb_done @@ -335,12 +337,13 @@ ENTRY(stack_start)  3:	.long	__bss_start  4:	.long	_end  5:	.long	start_kernel -6:	.long	sh_cpu_init +6:	.long	cpu_init  7:	.long	init_thread_union  #ifdef CONFIG_PMB  .LPMB_ADDR:		.long	PMB_ADDR  .LPMB_DATA:		.long	PMB_DATA +.LPMB_DATA_MASK:	.long	PMB_PFN_MASK | PMB_V  .LFIRST_ADDR_ENTRY:	.long	PAGE_OFFSET | PMB_V  .LFIRST_DATA_ENTRY:	.long	__MEMORY_START | PMB_V  .LMMUCR:		.long	MMUCR diff --git a/arch/sh/kernel/hw_breakpoint.c b/arch/sh/kernel/hw_breakpoint.c index 1f2cf622986..efae6ab3d54 100644 --- a/arch/sh/kernel/hw_breakpoint.c +++ b/arch/sh/kernel/hw_breakpoint.c @@ -405,11 +405,6 @@ void hw_breakpoint_pmu_read(struct perf_event *bp)  	/* TODO */  } -void hw_breakpoint_pmu_unthrottle(struct perf_event *bp) -{ -	/* TODO */ -} -  int register_sh_ubc(struct sh_ubc *ubc)  {  	/* Bail if it's already assigned */ diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c index 273f890b17a..425d604e3a2 100644 --- a/arch/sh/kernel/idle.c +++ b/arch/sh/kernel/idle.c @@ -19,6 +19,7 @@  #include <asm/pgalloc.h>  #include <asm/system.h>  #include <asm/atomic.h> +#include <asm/smp.h>  void (*pm_idle)(void) = NULL; @@ -89,10 +90,13 @@ void cpu_idle(void)  	while (1) {  		tick_nohz_stop_sched_tick(1); -		while (!need_resched() && cpu_online(cpu)) { +		while (!need_resched()) {  			check_pgt_cache();  			rmb(); +			if (cpu_is_offline(cpu)) +				play_dead(); +  			local_irq_disable();  			/* Don't trace irqs off for idle */  			stop_critical_timings(); @@ -133,7 +137,7 @@ static void do_nothing(void *unused)  void stop_this_cpu(void *unused)  {  	local_irq_disable(); -	cpu_clear(smp_processor_id(), cpu_online_map); +	set_cpu_online(smp_processor_id(), false);  	for (;;)  		cpu_sleep(); diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index d2d41d04665..257de1f0692 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c @@ -12,6 +12,7 @@  #include <linux/kernel_stat.h>  #include <linux/seq_file.h>  #include <linux/ftrace.h> +#include <linux/delay.h>  #include <asm/processor.h>  #include <asm/machvec.h>  #include <asm/uaccess.h> @@ -113,19 +114,14 @@ union irq_ctx {  static union irq_ctx *hardirq_ctx[NR_CPUS] __read_mostly;  static union irq_ctx *softirq_ctx[NR_CPUS] __read_mostly; -#endif -asmlinkage __irq_entry int do_IRQ(unsigned int irq, struct pt_regs *regs) +static char softirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss; +static char hardirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss; + +static inline void handle_one_irq(unsigned int irq)  { -	struct pt_regs *old_regs = set_irq_regs(regs); -#ifdef CONFIG_IRQSTACKS  	union irq_ctx *curctx, *irqctx; -#endif - -	irq_enter(); -	irq = irq_demux(irq); -#ifdef CONFIG_IRQSTACKS  	curctx = (union irq_ctx *)current_thread_info();  	irqctx = hardirq_ctx[smp_processor_id()]; @@ -164,20 +160,9 @@ asmlinkage __irq_entry int do_IRQ(unsigned int irq, struct pt_regs *regs)  			  "r5", "r6", "r7", "r8", "t", "pr"  		);  	} else -#endif  		generic_handle_irq(irq); - -	irq_exit(); - -	set_irq_regs(old_regs); -	return 1;  } -#ifdef CONFIG_IRQSTACKS -static char softirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss; - -static char hardirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss; -  /*   * allocate per-cpu stacks for hardirq and for softirq processing   */ @@ -257,8 +242,33 @@ asmlinkage void do_softirq(void)  	local_irq_restore(flags);  } +#else +static inline void handle_one_irq(unsigned int irq) +{ +	generic_handle_irq(irq); +}  #endif +asmlinkage __irq_entry int do_IRQ(unsigned int irq, struct pt_regs *regs) +{ +	struct pt_regs *old_regs = set_irq_regs(regs); + +	irq_enter(); + +	irq = irq_demux(irq_lookup(irq)); + +	if (irq != NO_IRQ_IGNORE) { +		handle_one_irq(irq); +		irq_finish(irq); +	} + +	irq_exit(); + +	set_irq_regs(old_regs); + +	return IRQ_HANDLED; +} +  void __init init_IRQ(void)  {  	plat_irq_setup(); @@ -283,3 +293,44 @@ int __init arch_probe_nr_irqs(void)  	return 0;  }  #endif + +#ifdef CONFIG_HOTPLUG_CPU +static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu) +{ +	printk(KERN_INFO "IRQ%u: moving from cpu%u to cpu%u\n", +	       irq, desc->node, cpu); + +	raw_spin_lock_irq(&desc->lock); +	desc->chip->set_affinity(irq, cpumask_of(cpu)); +	raw_spin_unlock_irq(&desc->lock); +} + +/* + * The CPU has been marked offline.  Migrate IRQs off this CPU.  If + * the affinity settings do not allow other CPUs, force them onto any + * available CPU. + */ +void migrate_irqs(void) +{ +	struct irq_desc *desc; +	unsigned int irq, cpu = smp_processor_id(); + +	for_each_irq_desc(irq, desc) { +		if (desc->node == cpu) { +			unsigned int newcpu = cpumask_any_and(desc->affinity, +							      cpu_online_mask); +			if (newcpu >= nr_cpu_ids) { +				if (printk_ratelimit()) +					printk(KERN_INFO "IRQ%u no longer affine to CPU%u\n", +					       irq, cpu); + +				cpumask_setall(desc->affinity); +				newcpu = cpumask_any_and(desc->affinity, +							 cpu_online_mask); +			} + +			route_irq(desc, irq, newcpu); +		} +	} +} +#endif diff --git a/arch/sh/kernel/localtimer.c b/arch/sh/kernel/localtimer.c index 0b04e7d4a9b..8bfc6dfa8b9 100644 --- a/arch/sh/kernel/localtimer.c +++ b/arch/sh/kernel/localtimer.c @@ -44,7 +44,7 @@ static void dummy_timer_set_mode(enum clock_event_mode mode,  {  } -void __cpuinit local_timer_setup(unsigned int cpu) +void local_timer_setup(unsigned int cpu)  {  	struct clock_event_device *clk = &per_cpu(local_clockevent, cpu); @@ -60,3 +60,7 @@ void __cpuinit local_timer_setup(unsigned int cpu)  	clockevents_register_device(clk);  } + +void local_timer_stop(unsigned int cpu) +{ +} diff --git a/arch/sh/kernel/machine_kexec.c b/arch/sh/kernel/machine_kexec.c index 7672141c841..5a559e666eb 100644 --- a/arch/sh/kernel/machine_kexec.c +++ b/arch/sh/kernel/machine_kexec.c @@ -8,7 +8,6 @@   * This source code is licensed under the GNU General Public License,   * Version 2.  See the file COPYING for more details.   */ -  #include <linux/mm.h>  #include <linux/kexec.h>  #include <linux/delay.h> @@ -16,6 +15,7 @@  #include <linux/numa.h>  #include <linux/ftrace.h>  #include <linux/suspend.h> +#include <linux/lmb.h>  #include <asm/pgtable.h>  #include <asm/pgalloc.h>  #include <asm/mmu_context.h> @@ -147,4 +147,64 @@ void arch_crash_save_vmcoreinfo(void)  	VMCOREINFO_SYMBOL(node_data);  	VMCOREINFO_LENGTH(node_data, MAX_NUMNODES);  #endif +#ifdef CONFIG_X2TLB +	VMCOREINFO_CONFIG(X2TLB); +#endif +} + +void __init reserve_crashkernel(void) +{ +	unsigned long long crash_size, crash_base; +	int ret; + +	/* this is necessary because of lmb_phys_mem_size() */ +	lmb_analyze(); + +	ret = parse_crashkernel(boot_command_line, lmb_phys_mem_size(), +			&crash_size, &crash_base); +	if (ret == 0 && crash_size > 0) { +		crashk_res.start = crash_base; +		crashk_res.end = crash_base + crash_size - 1; +	} + +	if (crashk_res.end == crashk_res.start) +		goto disable; + +	crash_size = PAGE_ALIGN(crashk_res.end - crashk_res.start + 1); +	if (!crashk_res.start) { +		unsigned long max = lmb_end_of_DRAM() - memory_limit; +		crashk_res.start = __lmb_alloc_base(crash_size, PAGE_SIZE, max); +		if (!crashk_res.start) { +			pr_err("crashkernel allocation failed\n"); +			goto disable; +		} +	} else { +		ret = lmb_reserve(crashk_res.start, crash_size); +		if (unlikely(ret < 0)) { +			pr_err("crashkernel reservation failed - " +			       "memory is in use\n"); +			goto disable; +		} +	} + +	crashk_res.end = crashk_res.start + crash_size - 1; + +	/* +	 * Crash kernel trumps memory limit +	 */ +	if ((lmb_end_of_DRAM() - memory_limit) <= crashk_res.end) { +		memory_limit = 0; +		pr_info("Disabled memory limit for crashkernel\n"); +	} + +	pr_info("Reserving %ldMB of memory at 0x%08lx " +		"for crashkernel (System RAM: %ldMB)\n", +		(unsigned long)(crash_size >> 20), +		(unsigned long)(crashk_res.start), +		(unsigned long)(lmb_phys_mem_size() >> 20)); + +	return; + +disable: +	crashk_res.start = crashk_res.end = 0;  } diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c index 1652340ba3f..85cfaf916fd 100644 --- a/arch/sh/kernel/machvec.c +++ b/arch/sh/kernel/machvec.c @@ -131,6 +131,7 @@ void __init sh_mv_setup(void)  	mv_set(ioport_unmap);  	mv_set(irq_demux);  	mv_set(mode_pins); +	mv_set(mem_init);  	if (!sh_mv.mv_nr_irqs)  		sh_mv.mv_nr_irqs = NR_IRQS; diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 17f89aa4e1b..dcb126dc76f 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -90,7 +90,7 @@ void arch_task_cache_init(void)  # define HAVE_SOFTFP	0  #endif -void init_thread_xstate(void) +void __cpuinit init_thread_xstate(void)  {  	if (boot_cpu_data.flags & CPU_HAS_FPU)  		xstate_size = sizeof(struct sh_fpu_hard_struct); diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 8870d6ba64b..272734681d2 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -4,7 +4,7 @@   * This file handles the architecture-dependent parts of initialization   *   *  Copyright (C) 1999  Niibe Yutaka - *  Copyright (C) 2002 - 2007 Paul Mundt + *  Copyright (C) 2002 - 2010 Paul Mundt   */  #include <linux/screen_info.h>  #include <linux/ioport.h> @@ -39,7 +39,9 @@  #include <asm/irq.h>  #include <asm/setup.h>  #include <asm/clock.h> +#include <asm/smp.h>  #include <asm/mmu_context.h> +#include <asm/mmzone.h>  /*   * Initialize loops_per_jiffy as 10000000 (1000MIPS). @@ -93,6 +95,7 @@ unsigned long memory_start;  EXPORT_SYMBOL(memory_start);  unsigned long memory_end = 0;  EXPORT_SYMBOL(memory_end); +unsigned long memory_limit = 0;  static struct resource mem_resources[MAX_NUMNODES]; @@ -100,92 +103,73 @@ int l1i_cache_shape, l1d_cache_shape, l2_cache_shape;  static int __init early_parse_mem(char *p)  { -	unsigned long size; +	if (!p) +		return 1; -	memory_start = (unsigned long)__va(__MEMORY_START); -	size = memparse(p, &p); +	memory_limit = PAGE_ALIGN(memparse(p, &p)); -	if (size > __MEMORY_SIZE) { -		printk(KERN_ERR -			"Using mem= to increase the size of kernel memory " -			"is not allowed.\n" -			"  Recompile the kernel with the correct value for " -			"CONFIG_MEMORY_SIZE.\n"); -		return 0; -	} - -	memory_end = memory_start + size; +	pr_notice("Memory limited to %ldMB\n", memory_limit >> 20);  	return 0;  }  early_param("mem", early_parse_mem); -/* - * Register fully available low RAM pages with the bootmem allocator. - */ -static void __init register_bootmem_low_pages(void) +void __init check_for_initrd(void)  { -	unsigned long curr_pfn, last_pfn, pages; +#ifdef CONFIG_BLK_DEV_INITRD +	unsigned long start, end;  	/* -	 * We are rounding up the start address of usable memory: +	 * Check for the rare cases where boot loaders adhere to the boot +	 * ABI.  	 */ -	curr_pfn = PFN_UP(__MEMORY_START); +	if (!LOADER_TYPE || !INITRD_START || !INITRD_SIZE) +		goto disable; -	/* -	 * ... and at the end of the usable range downwards: -	 */ -	last_pfn = PFN_DOWN(__pa(memory_end)); +	start = INITRD_START + __MEMORY_START; +	end = start + INITRD_SIZE; -	if (last_pfn > max_low_pfn) -		last_pfn = max_low_pfn; +	if (unlikely(end <= start)) +		goto disable; +	if (unlikely(start & ~PAGE_MASK)) { +		pr_err("initrd must be page aligned\n"); +		goto disable; +	} -	pages = last_pfn - curr_pfn; -	free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages)); -} +	if (unlikely(start < PAGE_OFFSET)) { +		pr_err("initrd start < PAGE_OFFSET\n"); +		goto disable; +	} -#ifdef CONFIG_KEXEC -static void __init reserve_crashkernel(void) -{ -	unsigned long long free_mem; -	unsigned long long crash_size, crash_base; -	void *vp; -	int ret; +	if (unlikely(end > lmb_end_of_DRAM())) { +		pr_err("initrd extends beyond end of memory " +		       "(0x%08lx > 0x%08lx)\ndisabling initrd\n", +		       end, (unsigned long)lmb_end_of_DRAM()); +		goto disable; +	} -	free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT; +	/* +	 * If we got this far inspite of the boot loader's best efforts +	 * to the contrary, assume we actually have a valid initrd and +	 * fix up the root dev. +	 */ +	ROOT_DEV = Root_RAM0; -	ret = parse_crashkernel(boot_command_line, free_mem, -			&crash_size, &crash_base); -	if (ret == 0 && crash_size) { -		if (crash_base <= 0) { -			vp = alloc_bootmem_nopanic(crash_size); -			if (!vp) { -				printk(KERN_INFO "crashkernel allocation " -				       "failed\n"); -				return; -			} -			crash_base = __pa(vp); -		} else if (reserve_bootmem(crash_base, crash_size, -					BOOTMEM_EXCLUSIVE) < 0) { -			printk(KERN_INFO "crashkernel reservation failed - " -					"memory is in use\n"); -			return; -		} +	/* +	 * Address sanitization +	 */ +	initrd_start = (unsigned long)__va(__pa(start)); +	initrd_end = initrd_start + INITRD_SIZE; -		printk(KERN_INFO "Reserving %ldMB of memory at %ldMB " -				"for crashkernel (System RAM: %ldMB)\n", -				(unsigned long)(crash_size >> 20), -				(unsigned long)(crash_base >> 20), -				(unsigned long)(free_mem >> 20)); -		crashk_res.start = crash_base; -		crashk_res.end   = crash_base + crash_size - 1; -		insert_resource(&iomem_resource, &crashk_res); -	} -} -#else -static inline void __init reserve_crashkernel(void) -{} +	lmb_reserve(__pa(initrd_start), INITRD_SIZE); + +	return; + +disable: +	pr_info("initrd disabled\n"); +	initrd_start = initrd_end = 0;  #endif +}  void __cpuinit calibrate_delay(void)  { @@ -207,13 +191,18 @@ void __init __add_active_range(unsigned int nid, unsigned long start_pfn,  						unsigned long end_pfn)  {  	struct resource *res = &mem_resources[nid]; +	unsigned long start, end;  	WARN_ON(res->name); /* max one active range per node for now */ +	start = start_pfn << PAGE_SHIFT; +	end = end_pfn << PAGE_SHIFT; +  	res->name = "System RAM"; -	res->start = start_pfn << PAGE_SHIFT; -	res->end = (end_pfn << PAGE_SHIFT) - 1; +	res->start = start; +	res->end = end - 1;  	res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; +  	if (request_resource(&iomem_resource, res)) {  		pr_err("unable to request memory_resource 0x%lx 0x%lx\n",  		       start_pfn, end_pfn); @@ -229,138 +218,18 @@ void __init __add_active_range(unsigned int nid, unsigned long start_pfn,  	request_resource(res, &data_resource);  	request_resource(res, &bss_resource); -	add_active_range(nid, start_pfn, end_pfn); -} - -void __init setup_bootmem_allocator(unsigned long free_pfn) -{ -	unsigned long bootmap_size; -	unsigned long bootmap_pages, bootmem_paddr; -	u64 total_pages = (lmb_end_of_DRAM() - __MEMORY_START) >> PAGE_SHIFT; -	int i; - -	bootmap_pages = bootmem_bootmap_pages(total_pages); - -	bootmem_paddr = lmb_alloc(bootmap_pages << PAGE_SHIFT, PAGE_SIZE); -  	/* -	 * Find a proper area for the bootmem bitmap. After this -	 * bootstrap step all allocations (until the page allocator -	 * is intact) must be done via bootmem_alloc(). +	 * Also make sure that there is a PMB mapping that covers this +	 * range before we attempt to activate it, to avoid reset by MMU. +	 * We can hit this path with NUMA or memory hot-add.  	 */ -	bootmap_size = init_bootmem_node(NODE_DATA(0), -					 bootmem_paddr >> PAGE_SHIFT, -					 min_low_pfn, max_low_pfn); - -	/* Add active regions with valid PFNs. */ -	for (i = 0; i < lmb.memory.cnt; i++) { -		unsigned long start_pfn, end_pfn; -		start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; -		end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); -		__add_active_range(0, start_pfn, end_pfn); -	} +	pmb_bolt_mapping((unsigned long)__va(start), start, end - start, +			 PAGE_KERNEL); -	/* -	 * Add all physical memory to the bootmem map and mark each -	 * area as present. -	 */ -	register_bootmem_low_pages(); - -	/* Reserve the sections we're already using. */ -	for (i = 0; i < lmb.reserved.cnt; i++) -		reserve_bootmem(lmb.reserved.region[i].base, -				lmb_size_bytes(&lmb.reserved, i), -				BOOTMEM_DEFAULT); - -	node_set_online(0); - -	sparse_memory_present_with_active_regions(0); - -#ifdef CONFIG_BLK_DEV_INITRD -	ROOT_DEV = Root_RAM0; - -	if (LOADER_TYPE && INITRD_START) { -		unsigned long initrd_start_phys = INITRD_START + __MEMORY_START; - -		if (initrd_start_phys + INITRD_SIZE <= PFN_PHYS(max_low_pfn)) { -			reserve_bootmem(initrd_start_phys, INITRD_SIZE, -					BOOTMEM_DEFAULT); -			initrd_start = (unsigned long)__va(initrd_start_phys); -			initrd_end = initrd_start + INITRD_SIZE; -		} else { -			printk("initrd extends beyond end of memory " -			       "(0x%08lx > 0x%08lx)\ndisabling initrd\n", -			       initrd_start_phys + INITRD_SIZE, -			       (unsigned long)PFN_PHYS(max_low_pfn)); -			initrd_start = 0; -		} -	} -#endif - -	reserve_crashkernel(); -} - -#ifndef CONFIG_NEED_MULTIPLE_NODES -static void __init setup_memory(void) -{ -	unsigned long start_pfn; -	u64 base = min_low_pfn << PAGE_SHIFT; -	u64 size = (max_low_pfn << PAGE_SHIFT) - base; - -	/* -	 * Partially used pages are not usable - thus -	 * we are rounding upwards: -	 */ -	start_pfn = PFN_UP(__pa(_end)); - -	lmb_add(base, size); - -	/* -	 * Reserve the kernel text and -	 * Reserve the bootmem bitmap. We do this in two steps (first step -	 * was init_bootmem()), because this catches the (definitely buggy) -	 * case of us accidentally initializing the bootmem allocator with -	 * an invalid RAM area. -	 */ -	lmb_reserve(__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET, -		    (PFN_PHYS(start_pfn) + PAGE_SIZE - 1) - -		    (__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET)); - -	/* -	 * Reserve physical pages below CONFIG_ZERO_PAGE_OFFSET. -	 */ -	if (CONFIG_ZERO_PAGE_OFFSET != 0) -		lmb_reserve(__MEMORY_START, CONFIG_ZERO_PAGE_OFFSET); - -	lmb_analyze(); -	lmb_dump_all(); - -	setup_bootmem_allocator(start_pfn); -} -#else -extern void __init setup_memory(void); -#endif - -/* - * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by - * is_kdump_kernel() to determine if we are booting after a panic. Hence - * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE. - */ -#ifdef CONFIG_CRASH_DUMP -/* elfcorehdr= specifies the location of elf core header - * stored by the crashed kernel. - */ -static int __init parse_elfcorehdr(char *arg) -{ -	if (!arg) -		return -EINVAL; -	elfcorehdr_addr = memparse(arg, &arg); -	return 0; +	add_active_range(nid, start_pfn, end_pfn);  } -early_param("elfcorehdr", parse_elfcorehdr); -#endif -void __init __attribute__ ((weak)) plat_early_device_setup(void) +void __init __weak plat_early_device_setup(void)  {  } @@ -401,10 +270,6 @@ void __init setup_arch(char **cmdline_p)  	bss_resource.start = virt_to_phys(__bss_start);  	bss_resource.end = virt_to_phys(_ebss)-1; -	memory_start = (unsigned long)__va(__MEMORY_START); -	if (!memory_end) -		memory_end = memory_start + __MEMORY_SIZE; -  #ifdef CONFIG_CMDLINE_OVERWRITE  	strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line));  #else @@ -421,47 +286,24 @@ void __init setup_arch(char **cmdline_p)  	parse_early_param(); -	uncached_init(); -  	plat_early_device_setup(); -	/* Let earlyprintk output early console messages */ -	early_platform_driver_probe("earlyprintk", 1, 1); -  	sh_mv_setup(); -	/* -	 * Find the highest page frame number we have available -	 */ -	max_pfn = PFN_DOWN(__pa(memory_end)); - -	/* -	 * Determine low and high memory ranges: -	 */ -	max_low_pfn = max_pfn; -	min_low_pfn = __MEMORY_START >> PAGE_SHIFT; - -	nodes_clear(node_online_map); +	/* Let earlyprintk output early console messages */ +	early_platform_driver_probe("earlyprintk", 1, 1); -	pmb_init(); -	lmb_init(); -	setup_memory(); -	sparse_init(); +	paging_init();  #ifdef CONFIG_DUMMY_CONSOLE  	conswitchp = &dummy_con;  #endif -	paging_init(); - -	ioremap_fixed_init();  	/* Perform the machine specific initialisation */  	if (likely(sh_mv.mv_setup))  		sh_mv.mv_setup(cmdline_p); -#ifdef CONFIG_SMP  	plat_smp_setup(); -#endif  }  /* processor boot mode configuration */ diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index 002cc612dee..509b36b4511 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -3,7 +3,7 @@   *   * SMP support for the SuperH processors.   * - * Copyright (C) 2002 - 2008 Paul Mundt + * Copyright (C) 2002 - 2010 Paul Mundt   * Copyright (C) 2006 - 2007 Akio Idehara   *   * This file is subject to the terms and conditions of the GNU General Public @@ -31,7 +31,20 @@  int __cpu_number_map[NR_CPUS];		/* Map physical to logical */  int __cpu_logical_map[NR_CPUS];		/* Map logical to physical */ -static inline void __init smp_store_cpu_info(unsigned int cpu) +struct plat_smp_ops *mp_ops = NULL; + +/* State of each CPU */ +DEFINE_PER_CPU(int, cpu_state) = { 0 }; + +void __cpuinit register_smp_ops(struct plat_smp_ops *ops) +{ +	if (mp_ops) +		printk(KERN_WARNING "Overriding previously set SMP ops\n"); + +	mp_ops = ops; +} + +static inline void __cpuinit smp_store_cpu_info(unsigned int cpu)  {  	struct sh_cpuinfo *c = cpu_data + cpu; @@ -46,14 +59,14 @@ void __init smp_prepare_cpus(unsigned int max_cpus)  	init_new_context(current, &init_mm);  	current_thread_info()->cpu = cpu; -	plat_prepare_cpus(max_cpus); +	mp_ops->prepare_cpus(max_cpus);  #ifndef CONFIG_HOTPLUG_CPU  	init_cpu_present(&cpu_possible_map);  #endif  } -void __devinit smp_prepare_boot_cpu(void) +void __init smp_prepare_boot_cpu(void)  {  	unsigned int cpu = smp_processor_id(); @@ -62,37 +75,137 @@ void __devinit smp_prepare_boot_cpu(void)  	set_cpu_online(cpu, true);  	set_cpu_possible(cpu, true); + +	per_cpu(cpu_state, cpu) = CPU_ONLINE; +} + +#ifdef CONFIG_HOTPLUG_CPU +void native_cpu_die(unsigned int cpu) +{ +	unsigned int i; + +	for (i = 0; i < 10; i++) { +		smp_rmb(); +		if (per_cpu(cpu_state, cpu) == CPU_DEAD) { +			if (system_state == SYSTEM_RUNNING) +				pr_info("CPU %u is now offline\n", cpu); + +			return; +		} + +		msleep(100); +	} + +	pr_err("CPU %u didn't die...\n", cpu); +} + +int native_cpu_disable(unsigned int cpu) +{ +	return cpu == 0 ? -EPERM : 0; +} + +void play_dead_common(void) +{ +	idle_task_exit(); +	irq_ctx_exit(raw_smp_processor_id()); +	mb(); + +	__get_cpu_var(cpu_state) = CPU_DEAD; +	local_irq_disable(); +} + +void native_play_dead(void) +{ +	play_dead_common(); +} + +int __cpu_disable(void) +{ +	unsigned int cpu = smp_processor_id(); +	struct task_struct *p; +	int ret; + +	ret = mp_ops->cpu_disable(cpu); +	if (ret) +		return ret; + +	/* +	 * Take this CPU offline.  Once we clear this, we can't return, +	 * and we must not schedule until we're ready to give up the cpu. +	 */ +	set_cpu_online(cpu, false); + +	/* +	 * OK - migrate IRQs away from this CPU +	 */ +	migrate_irqs(); + +	/* +	 * Stop the local timer for this CPU. +	 */ +	local_timer_stop(cpu); + +	/* +	 * Flush user cache and TLB mappings, and then remove this CPU +	 * from the vm mask set of all processes. +	 */ +	flush_cache_all(); +	local_flush_tlb_all(); + +	read_lock(&tasklist_lock); +	for_each_process(p) +		if (p->mm) +			cpumask_clear_cpu(cpu, mm_cpumask(p->mm)); +	read_unlock(&tasklist_lock); + +	return 0; +} +#else /* ... !CONFIG_HOTPLUG_CPU */ +int native_cpu_disable(unsigned int cpu) +{ +	return -ENOSYS;  } +void native_cpu_die(unsigned int cpu) +{ +	/* We said "no" in __cpu_disable */ +	BUG(); +} + +void native_play_dead(void) +{ +	BUG(); +} +#endif +  asmlinkage void __cpuinit start_secondary(void)  { -	unsigned int cpu; +	unsigned int cpu = smp_processor_id();  	struct mm_struct *mm = &init_mm;  	enable_mmu();  	atomic_inc(&mm->mm_count);  	atomic_inc(&mm->mm_users);  	current->active_mm = mm; -	BUG_ON(current->mm);  	enter_lazy_tlb(mm, current); +	local_flush_tlb_all();  	per_cpu_trap_init();  	preempt_disable(); -	notify_cpu_starting(smp_processor_id()); +	notify_cpu_starting(cpu);  	local_irq_enable(); -	cpu = smp_processor_id(); -  	/* Enable local timers */  	local_timer_setup(cpu);  	calibrate_delay();  	smp_store_cpu_info(cpu); -	cpu_set(cpu, cpu_online_map); +	set_cpu_online(cpu, true); +	per_cpu(cpu_state, cpu) = CPU_ONLINE;  	cpu_idle();  } @@ -111,12 +224,19 @@ int __cpuinit __cpu_up(unsigned int cpu)  	struct task_struct *tsk;  	unsigned long timeout; -	tsk = fork_idle(cpu); -	if (IS_ERR(tsk)) { -		printk(KERN_ERR "Failed forking idle task for cpu %d\n", cpu); -		return PTR_ERR(tsk); +	tsk = cpu_data[cpu].idle; +	if (!tsk) { +		tsk = fork_idle(cpu); +		if (IS_ERR(tsk)) { +			pr_err("Failed forking idle task for cpu %d\n", cpu); +			return PTR_ERR(tsk); +		} + +		cpu_data[cpu].idle = tsk;  	} +	per_cpu(cpu_state, cpu) = CPU_UP_PREPARE; +  	/* Fill in data in head.S for secondary cpus */  	stack_start.sp = tsk->thread.sp;  	stack_start.thread_info = tsk->stack; @@ -127,7 +247,7 @@ int __cpuinit __cpu_up(unsigned int cpu)  			   (unsigned long)&stack_start + sizeof(stack_start));  	wmb(); -	plat_start_cpu(cpu, (unsigned long)_stext); +	mp_ops->start_cpu(cpu, (unsigned long)_stext);  	timeout = jiffies + HZ;  	while (time_before(jiffies, timeout)) { @@ -135,6 +255,7 @@ int __cpuinit __cpu_up(unsigned int cpu)  			break;  		udelay(10); +		barrier();  	}  	if (cpu_online(cpu)) @@ -159,7 +280,7 @@ void __init smp_cpus_done(unsigned int max_cpus)  void smp_send_reschedule(int cpu)  { -	plat_send_ipi(cpu, SMP_MSG_RESCHEDULE); +	mp_ops->send_ipi(cpu, SMP_MSG_RESCHEDULE);  }  void smp_send_stop(void) @@ -172,12 +293,12 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask)  	int cpu;  	for_each_cpu(cpu, mask) -		plat_send_ipi(cpu, SMP_MSG_FUNCTION); +		mp_ops->send_ipi(cpu, SMP_MSG_FUNCTION);  }  void arch_send_call_function_single_ipi(int cpu)  { -	plat_send_ipi(cpu, SMP_MSG_FUNCTION_SINGLE); +	mp_ops->send_ipi(cpu, SMP_MSG_FUNCTION_SINGLE);  }  void smp_timer_broadcast(const struct cpumask *mask) @@ -185,7 +306,7 @@ void smp_timer_broadcast(const struct cpumask *mask)  	int cpu;  	for_each_cpu(cpu, mask) -		plat_send_ipi(cpu, SMP_MSG_TIMER); +		mp_ops->send_ipi(cpu, SMP_MSG_TIMER);  }  static void ipi_timer(void) @@ -249,7 +370,6 @@ static void flush_tlb_mm_ipi(void *mm)   * behalf of debugees, kswapd stealing pages from another process etc).   * Kanoj 07/00.   */ -  void flush_tlb_mm(struct mm_struct *mm)  {  	preempt_disable(); diff --git a/arch/sh/kernel/topology.c b/arch/sh/kernel/topology.c index 9b0b633b6c9..948fdb65693 100644 --- a/arch/sh/kernel/topology.c +++ b/arch/sh/kernel/topology.c @@ -52,7 +52,11 @@ static int __init topology_init(void)  #endif  	for_each_present_cpu(i) { -		ret = register_cpu(&per_cpu(cpu_devices, i), i); +		struct cpu *c = &per_cpu(cpu_devices, i); + +		c->hotpluggable = 1; + +		ret = register_cpu(c, i);  		if (unlikely(ret))  			printk(KERN_WARNING "%s: register_cpu %d failed (%d)\n",  			       __func__, i, ret); diff --git a/arch/sh/kernel/traps_64.c b/arch/sh/kernel/traps_64.c index e3f92eb05ff..e67e140bf1f 100644 --- a/arch/sh/kernel/traps_64.c +++ b/arch/sh/kernel/traps_64.c @@ -944,3 +944,8 @@ asmlinkage void do_debug_interrupt(unsigned long code, struct pt_regs *regs)  	/* Clear all DEBUGINT causes */  	poke_real_address_q(DM_EXP_CAUSE_PHY, 0x0);  } + +void __cpuinit per_cpu_trap_init(void) +{ +	/* Nothing to do for now, VBR initialization later. */ +} diff --git a/arch/sh/mm/Makefile b/arch/sh/mm/Makefile index 3dc8a8a6382..53f7c684afb 100644 --- a/arch/sh/mm/Makefile +++ b/arch/sh/mm/Makefile @@ -10,6 +10,7 @@ cacheops-$(CONFIG_CPU_SH3)		:= cache-sh3.o  cacheops-$(CONFIG_CPU_SH4)		:= cache-sh4.o flush-sh4.o  cacheops-$(CONFIG_CPU_SH5)		:= cache-sh5.o flush-sh4.o  cacheops-$(CONFIG_SH7705_CACHE_32KB)	+= cache-sh7705.o +cacheops-$(CONFIG_CPU_SHX3)		+= cache-shx3.o  obj-y			+= $(cacheops-y) @@ -18,13 +19,14 @@ mmu-$(CONFIG_MMU)	:= extable_$(BITS).o fault_$(BITS).o \  			   ioremap.o kmap.o pgtable.o tlbflush_$(BITS).o  obj-y			+= $(mmu-y) -obj-$(CONFIG_DEBUG_FS)	+= asids-debugfs.o -ifdef CONFIG_DEBUG_FS -obj-$(CONFIG_CPU_SH4)	+= cache-debugfs.o +debugfs-y			:= asids-debugfs.o +ifndef CONFIG_CACHE_OFF +debugfs-$(CONFIG_CPU_SH4)	+= cache-debugfs.o  endif  ifdef CONFIG_MMU +debugfs-$(CONFIG_CPU_SH4)	+= tlb-debugfs.o  tlb-$(CONFIG_CPU_SH3)		:= tlb-sh3.o  tlb-$(CONFIG_CPU_SH4)		:= tlb-sh4.o tlb-urb.o  tlb-$(CONFIG_CPU_SH5)		:= tlb-sh5.o @@ -32,6 +34,7 @@ tlb-$(CONFIG_CPU_HAS_PTEAEX)	:= tlb-pteaex.o tlb-urb.o  obj-y				+= $(tlb-y)  endif +obj-$(CONFIG_DEBUG_FS)		+= $(debugfs-y)  obj-$(CONFIG_HUGETLB_PAGE)	+= hugetlbpage.o  obj-$(CONFIG_PMB)		+= pmb.o  obj-$(CONFIG_NUMA)		+= numa.o diff --git a/arch/sh/mm/cache-shx3.c b/arch/sh/mm/cache-shx3.c new file mode 100644 index 00000000000..c0adbee97b5 --- /dev/null +++ b/arch/sh/mm/cache-shx3.c @@ -0,0 +1,44 @@ +/* + * arch/sh/mm/cache-shx3.c - SH-X3 optimized cache ops + * + * Copyright (C) 2010  Paul Mundt + * + * This file is subject to the terms and conditions of the GNU General Public + * License.  See the file "COPYING" in the main directory of this archive + * for more details. + */ +#include <linux/init.h> +#include <linux/kernel.h> +#include <linux/io.h> +#include <asm/cache.h> + +#define CCR_CACHE_SNM	0x40000		/* Hardware-assisted synonym avoidance */ +#define CCR_CACHE_IBE	0x1000000	/* ICBI broadcast */ + +void __init shx3_cache_init(void) +{ +	unsigned int ccr; + +	ccr = __raw_readl(CCR); + +	/* +	 * If we've got cache aliases, resolve them in hardware. +	 */ +	if (boot_cpu_data.dcache.n_aliases || boot_cpu_data.icache.n_aliases) { +		ccr |= CCR_CACHE_SNM; + +		boot_cpu_data.icache.n_aliases = 0; +		boot_cpu_data.dcache.n_aliases = 0; + +		pr_info("Enabling hardware synonym avoidance\n"); +	} + +#ifdef CONFIG_SMP +	/* +	 * Broadcast I-cache block invalidations by default. +	 */ +	ccr |= CCR_CACHE_IBE; +#endif + +	writel_uncached(ccr, CCR); +} diff --git a/arch/sh/mm/cache.c b/arch/sh/mm/cache.c index 0f4095d7ac8..ba401d137bb 100644 --- a/arch/sh/mm/cache.c +++ b/arch/sh/mm/cache.c @@ -334,6 +334,13 @@ void __init cpu_cache_init(void)  		extern void __weak sh4_cache_init(void);  		sh4_cache_init(); + +		if ((boot_cpu_data.type == CPU_SH7786) || +		    (boot_cpu_data.type == CPU_SHX3)) { +			extern void __weak shx3_cache_init(void); + +			shx3_cache_init(); +		}  	}  	if (boot_cpu_data.family == CPU_FAMILY_SH5) { diff --git a/arch/sh/mm/fault_32.c b/arch/sh/mm/fault_32.c index 8bf79e3b7bd..d4c34d757f0 100644 --- a/arch/sh/mm/fault_32.c +++ b/arch/sh/mm/fault_32.c @@ -200,7 +200,6 @@ good_area:  	 * make sure we exit gracefully rather than endlessly redo  	 * the fault.  	 */ -survive:  	fault = handle_mm_fault(mm, vma, address, writeaccess ? FAULT_FLAG_WRITE : 0);  	if (unlikely(fault & VM_FAULT_ERROR)) {  		if (fault & VM_FAULT_OOM) @@ -290,15 +289,10 @@ no_context:   */  out_of_memory:  	up_read(&mm->mmap_sem); -	if (is_global_init(current)) { -		yield(); -		down_read(&mm->mmap_sem); -		goto survive; -	} -	printk("VM: killing process %s\n", tsk->comm); -	if (user_mode(regs)) -		do_group_exit(SIGKILL); -	goto no_context; +	if (!user_mode(regs)) +		goto no_context; +	pagefault_out_of_memory(); +	return;  do_sigbus:  	up_read(&mm->mmap_sem); diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index c505de61a5c..46f84de6246 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c @@ -2,7 +2,7 @@   * linux/arch/sh/mm/init.c   *   *  Copyright (C) 1999  Niibe Yutaka - *  Copyright (C) 2002 - 2007  Paul Mundt + *  Copyright (C) 2002 - 2010  Paul Mundt   *   *  Based on linux/arch/i386/mm/init.c:   *   Copyright (C) 1995  Linus Torvalds @@ -16,17 +16,31 @@  #include <linux/pagemap.h>  #include <linux/percpu.h>  #include <linux/io.h> +#include <linux/lmb.h>  #include <linux/dma-mapping.h>  #include <asm/mmu_context.h> +#include <asm/mmzone.h> +#include <asm/kexec.h>  #include <asm/tlb.h>  #include <asm/cacheflush.h>  #include <asm/sections.h> +#include <asm/setup.h>  #include <asm/cache.h>  #include <asm/sizes.h>  DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);  pgd_t swapper_pg_dir[PTRS_PER_PGD]; +void __init generic_mem_init(void) +{ +	lmb_add(__MEMORY_START, __MEMORY_SIZE); +} + +void __init __weak plat_mem_setup(void) +{ +	/* Nothing to see here, move along. */ +} +  #ifdef CONFIG_MMU  static pte_t *__get_pte_phys(unsigned long addr)  { @@ -152,15 +166,166 @@ void __init page_table_range_init(unsigned long start, unsigned long end,  }  #endif	/* CONFIG_MMU */ -/* - * paging_init() sets up the page tables - */ +void __init allocate_pgdat(unsigned int nid) +{ +	unsigned long start_pfn, end_pfn; +#ifdef CONFIG_NEED_MULTIPLE_NODES +	unsigned long phys; +#endif + +	get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); + +#ifdef CONFIG_NEED_MULTIPLE_NODES +	phys = __lmb_alloc_base(sizeof(struct pglist_data), +				SMP_CACHE_BYTES, end_pfn << PAGE_SHIFT); +	/* Retry with all of system memory */ +	if (!phys) +		phys = __lmb_alloc_base(sizeof(struct pglist_data), +					SMP_CACHE_BYTES, lmb_end_of_DRAM()); +	if (!phys) +		panic("Can't allocate pgdat for node %d\n", nid); + +	NODE_DATA(nid) = __va(phys); +	memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); + +	NODE_DATA(nid)->bdata = &bootmem_node_data[nid]; +#endif + +	NODE_DATA(nid)->node_start_pfn = start_pfn; +	NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; +} + +static void __init bootmem_init_one_node(unsigned int nid) +{ +	unsigned long total_pages, paddr; +	unsigned long end_pfn; +	struct pglist_data *p; +	int i; + +	p = NODE_DATA(nid); + +	/* Nothing to do.. */ +	if (!p->node_spanned_pages) +		return; + +	end_pfn = p->node_start_pfn + p->node_spanned_pages; + +	total_pages = bootmem_bootmap_pages(p->node_spanned_pages); + +	paddr = lmb_alloc(total_pages << PAGE_SHIFT, PAGE_SIZE); +	if (!paddr) +		panic("Can't allocate bootmap for nid[%d]\n", nid); + +	init_bootmem_node(p, paddr >> PAGE_SHIFT, p->node_start_pfn, end_pfn); + +	free_bootmem_with_active_regions(nid, end_pfn); + +	/* +	 * XXX Handle initial reservations for the system memory node +	 * only for the moment, we'll refactor this later for handling +	 * reservations in other nodes. +	 */ +	if (nid == 0) { +		/* Reserve the sections we're already using. */ +		for (i = 0; i < lmb.reserved.cnt; i++) +			reserve_bootmem(lmb.reserved.region[i].base, +					lmb_size_bytes(&lmb.reserved, i), +					BOOTMEM_DEFAULT); +	} + +	sparse_memory_present_with_active_regions(nid); +} + +static void __init do_init_bootmem(void) +{ +	int i; + +	/* Add active regions with valid PFNs. */ +	for (i = 0; i < lmb.memory.cnt; i++) { +		unsigned long start_pfn, end_pfn; +		start_pfn = lmb.memory.region[i].base >> PAGE_SHIFT; +		end_pfn = start_pfn + lmb_size_pages(&lmb.memory, i); +		__add_active_range(0, start_pfn, end_pfn); +	} + +	/* All of system RAM sits in node 0 for the non-NUMA case */ +	allocate_pgdat(0); +	node_set_online(0); + +	plat_mem_setup(); + +	for_each_online_node(i) +		bootmem_init_one_node(i); + +	sparse_init(); +} + +static void __init early_reserve_mem(void) +{ +	unsigned long start_pfn; + +	/* +	 * Partially used pages are not usable - thus +	 * we are rounding upwards: +	 */ +	start_pfn = PFN_UP(__pa(_end)); + +	/* +	 * Reserve the kernel text and Reserve the bootmem bitmap. We do +	 * this in two steps (first step was init_bootmem()), because +	 * this catches the (definitely buggy) case of us accidentally +	 * initializing the bootmem allocator with an invalid RAM area. +	 */ +	lmb_reserve(__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET, +		    (PFN_PHYS(start_pfn) + PAGE_SIZE - 1) - +		    (__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET)); + +	/* +	 * Reserve physical pages below CONFIG_ZERO_PAGE_OFFSET. +	 */ +	if (CONFIG_ZERO_PAGE_OFFSET != 0) +		lmb_reserve(__MEMORY_START, CONFIG_ZERO_PAGE_OFFSET); + +	/* +	 * Handle additional early reservations +	 */ +	check_for_initrd(); +	reserve_crashkernel(); +} +  void __init paging_init(void)  {  	unsigned long max_zone_pfns[MAX_NR_ZONES];  	unsigned long vaddr, end;  	int nid; +	lmb_init(); + +	sh_mv.mv_mem_init(); + +	early_reserve_mem(); + +	lmb_enforce_memory_limit(memory_limit); +	lmb_analyze(); + +	lmb_dump_all(); + +	/* +	 * Determine low and high memory ranges: +	 */ +	max_low_pfn = max_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; +	min_low_pfn = __MEMORY_START >> PAGE_SHIFT; + +	nodes_clear(node_online_map); + +	memory_start = (unsigned long)__va(__MEMORY_START); +	memory_end = memory_start + (memory_limit ?: lmb_phys_mem_size()); + +	uncached_init(); +	pmb_init(); +	do_init_bootmem(); +	ioremap_fixed_init(); +  	/* We don't need to map the kernel through the TLB, as  	 * it is permanatly mapped using P1. So clear the  	 * entire pgd. */ diff --git a/arch/sh/mm/numa.c b/arch/sh/mm/numa.c index 961b34085e3..a2e645f64a3 100644 --- a/arch/sh/mm/numa.c +++ b/arch/sh/mm/numa.c @@ -24,44 +24,6 @@ EXPORT_SYMBOL_GPL(node_data);   * latency. Each node's pgdat is node-local at the beginning of the node,   * immediately followed by the node mem map.   */ -void __init setup_memory(void) -{ -	unsigned long free_pfn = PFN_UP(__pa(_end)); -	u64 base = min_low_pfn << PAGE_SHIFT; -	u64 size = (max_low_pfn << PAGE_SHIFT) - base; - -	lmb_add(base, size); - -	/* Reserve the LMB regions used by the kernel, initrd, etc.. */ -	lmb_reserve(__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET, -		    (PFN_PHYS(free_pfn) + PAGE_SIZE - 1) - -		    (__MEMORY_START + CONFIG_ZERO_PAGE_OFFSET)); - -	/* -	 * Reserve physical pages below CONFIG_ZERO_PAGE_OFFSET. -	 */ -	if (CONFIG_ZERO_PAGE_OFFSET != 0) -		lmb_reserve(__MEMORY_START, CONFIG_ZERO_PAGE_OFFSET); - -	lmb_analyze(); -	lmb_dump_all(); - -	/* -	 * Node 0 sets up its pgdat at the first available pfn, -	 * and bumps it up before setting up the bootmem allocator. -	 */ -	NODE_DATA(0) = pfn_to_kaddr(free_pfn); -	memset(NODE_DATA(0), 0, sizeof(struct pglist_data)); -	free_pfn += PFN_UP(sizeof(struct pglist_data)); -	NODE_DATA(0)->bdata = &bootmem_node_data[0]; - -	/* Set up node 0 */ -	setup_bootmem_allocator(free_pfn); - -	/* Give the platforms a chance to hook up their nodes */ -	plat_mem_setup(); -} -  void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end)  {  	unsigned long bootmap_pages; diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index e43ec600afc..18623ba751b 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c @@ -341,6 +341,8 @@ int pmb_bolt_mapping(unsigned long vaddr, phys_addr_t phys,  	unsigned long flags, pmb_flags;  	int i, mapped; +	if (size < SZ_16M) +		return -EINVAL;  	if (!pmb_addr_valid(vaddr, size))  		return -EFAULT;  	if (pmb_mapping_exists(vaddr, phys, size)) @@ -680,7 +682,7 @@ static void __init pmb_merge(struct pmb_entry *head)  	/*  	 * The merged page size must be valid.  	 */ -	if (!pmb_size_valid(newsize)) +	if (!depth || !pmb_size_valid(newsize))  		return;  	head->flags &= ~PMB_SZ_MASK; diff --git a/arch/sh/mm/tlb-debugfs.c b/arch/sh/mm/tlb-debugfs.c new file mode 100644 index 00000000000..229bf75f28d --- /dev/null +++ b/arch/sh/mm/tlb-debugfs.c @@ -0,0 +1,179 @@ +/* + * arch/sh/mm/tlb-debugfs.c + * + * debugfs ops for SH-4 ITLB/UTLBs. + * + * Copyright (C) 2010  Matt Fleming + * + * This file is subject to the terms and conditions of the GNU General Public + * License.  See the file "COPYING" in the main directory of this archive + * for more details. + */ +#include <linux/init.h> +#include <linux/module.h> +#include <linux/debugfs.h> +#include <linux/seq_file.h> +#include <asm/processor.h> +#include <asm/mmu_context.h> +#include <asm/tlbflush.h> + +enum tlb_type { +	TLB_TYPE_ITLB, +	TLB_TYPE_UTLB, +}; + +static struct { +	int bits; +	const char *size; +} tlb_sizes[] = { +	{ 0x0, "  1KB" }, +	{ 0x1, "  4KB" }, +	{ 0x2, "  8KB" }, +	{ 0x4, " 64KB" }, +	{ 0x5, "256KB" }, +	{ 0x7, "  1MB" }, +	{ 0x8, "  4MB" }, +	{ 0xc, " 64MB" }, +}; + +static int tlb_seq_show(struct seq_file *file, void *iter) +{ +	unsigned int tlb_type = (unsigned int)file->private; +	unsigned long addr1, addr2, data1, data2; +	unsigned long flags; +	unsigned long mmucr; +	unsigned int nentries, entry; +	unsigned int urb; + +	mmucr = __raw_readl(MMUCR); +	if ((mmucr & 0x1) == 0) { +		seq_printf(file, "address translation disabled\n"); +		return 0; +	} + +	if (tlb_type == TLB_TYPE_ITLB) { +		addr1 = MMU_ITLB_ADDRESS_ARRAY; +		addr2 = MMU_ITLB_ADDRESS_ARRAY2; +		data1 = MMU_ITLB_DATA_ARRAY; +		data2 = MMU_ITLB_DATA_ARRAY2; +		nentries = 4; +	} else { +		addr1 = MMU_UTLB_ADDRESS_ARRAY; +		addr2 = MMU_UTLB_ADDRESS_ARRAY2; +		data1 = MMU_UTLB_DATA_ARRAY; +		data2 = MMU_UTLB_DATA_ARRAY2; +		nentries = 64; +	} + +	local_irq_save(flags); +	jump_to_uncached(); + +	urb = (mmucr & MMUCR_URB) >> MMUCR_URB_SHIFT; + +	/* Make the "entry >= urb" test fail. */ +	if (urb == 0) +		urb = MMUCR_URB_NENTRIES + 1; + +	if (tlb_type == TLB_TYPE_ITLB) { +		addr1 = MMU_ITLB_ADDRESS_ARRAY; +		addr2 = MMU_ITLB_ADDRESS_ARRAY2; +		data1 = MMU_ITLB_DATA_ARRAY; +		data2 = MMU_ITLB_DATA_ARRAY2; +		nentries = 4; +	} else { +		addr1 = MMU_UTLB_ADDRESS_ARRAY; +		addr2 = MMU_UTLB_ADDRESS_ARRAY2; +		data1 = MMU_UTLB_DATA_ARRAY; +		data2 = MMU_UTLB_DATA_ARRAY2; +		nentries = 64; +	} + +	seq_printf(file, "entry:     vpn        ppn     asid  size valid wired\n"); + +	for (entry = 0; entry < nentries; entry++) { +		unsigned long vpn, ppn, asid, size; +		unsigned long valid; +		unsigned long val; +		const char *sz = "    ?"; +		int i; + +		val = __raw_readl(addr1 | (entry << MMU_TLB_ENTRY_SHIFT)); +		ctrl_barrier(); +		vpn = val & 0xfffffc00; +		valid = val & 0x100; + +		val = __raw_readl(addr2 | (entry << MMU_TLB_ENTRY_SHIFT)); +		ctrl_barrier(); +		asid = val & MMU_CONTEXT_ASID_MASK; + +		val = __raw_readl(data1 | (entry << MMU_TLB_ENTRY_SHIFT)); +		ctrl_barrier(); +		ppn = (val & 0x0ffffc00) << 4; + +		val = __raw_readl(data2 | (entry << MMU_TLB_ENTRY_SHIFT)); +		ctrl_barrier(); +		size = (val & 0xf0) >> 4; + +		for (i = 0; i < ARRAY_SIZE(tlb_sizes); i++) { +			if (tlb_sizes[i].bits == size) +				break; +		} + +		if (i != ARRAY_SIZE(tlb_sizes)) +			sz = tlb_sizes[i].size; + +		seq_printf(file, "%2d:    0x%08lx 0x%08lx %5lu %s   %s     %s\n", +			   entry, vpn, ppn, asid, +			   sz, valid ? "V" : "-", +			   (urb <= entry) ? "W" : "-"); +	} + +	back_to_cached(); +	local_irq_restore(flags); + +	return 0; +} + +static int tlb_debugfs_open(struct inode *inode, struct file *file) +{ +	return single_open(file, tlb_seq_show, inode->i_private); +} + +static const struct file_operations tlb_debugfs_fops = { +	.owner		= THIS_MODULE, +	.open		= tlb_debugfs_open, +	.read		= seq_read, +	.llseek		= seq_lseek, +	.release	= single_release, +}; + +static int __init tlb_debugfs_init(void) +{ +	struct dentry *itlb, *utlb; + +	itlb = debugfs_create_file("itlb", S_IRUSR, sh_debugfs_root, +				   (unsigned int *)TLB_TYPE_ITLB, +				   &tlb_debugfs_fops); +	if (unlikely(!itlb)) +		return -ENOMEM; +	if (IS_ERR(itlb)) +		return PTR_ERR(itlb); + +	utlb = debugfs_create_file("utlb", S_IRUSR, sh_debugfs_root, +				   (unsigned int *)TLB_TYPE_UTLB, +				   &tlb_debugfs_fops); +	if (unlikely(!utlb)) { +		debugfs_remove(itlb); +		return -ENOMEM; +	} + +	if (IS_ERR(utlb)) { +		debugfs_remove(itlb); +		return PTR_ERR(utlb); +	} + +	return 0; +} +module_init(tlb_debugfs_init); + +MODULE_LICENSE("GPL v2"); diff --git a/arch/sh/mm/tlbflush_64.c b/arch/sh/mm/tlbflush_64.c index 706da1d3a67..03db41cc126 100644 --- a/arch/sh/mm/tlbflush_64.c +++ b/arch/sh/mm/tlbflush_64.c @@ -189,7 +189,6 @@ good_area:  	 * make sure we exit gracefully rather than endlessly redo  	 * the fault.  	 */ -survive:  	fault = handle_mm_fault(mm, vma, address, writeaccess ? FAULT_FLAG_WRITE : 0);  	if (unlikely(fault & VM_FAULT_ERROR)) {  		if (fault & VM_FAULT_OOM) @@ -294,22 +293,11 @@ no_context:   * us unable to handle the page fault gracefully.   */  out_of_memory: -	if (is_global_init(current)) { -		panic("INIT out of memory\n"); -		yield(); -		goto survive; -	} -	printk("fault:Out of memory\n");  	up_read(&mm->mmap_sem); -	if (is_global_init(current)) { -		yield(); -		down_read(&mm->mmap_sem); -		goto survive; -	} -	printk("VM: killing process %s\n", tsk->comm); -	if (user_mode(regs)) -		do_group_exit(SIGKILL); -	goto no_context; +	if (!user_mode(regs)) +		goto no_context; +	pagefault_out_of_memory(); +	return;  do_sigbus:  	printk("fault:Do sigbus\n"); diff --git a/drivers/base/platform.c b/drivers/base/platform.c index c5fbe198fbd..765bcf0df3b 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -1254,6 +1254,26 @@ static int __init early_platform_driver_probe_id(char *class_str,  		}  		if (match) { +			/* +			 * Set up a sensible init_name to enable +			 * dev_name() and others to be used before the +			 * rest of the driver core is initialized. +			 */ +			if (!match->dev.init_name && slab_is_available()) { +				if (match->id != -1) +					match->dev.init_name = +						kasprintf(GFP_KERNEL, "%s.%d", +							  match->name, +							  match->id); +				else +					match->dev.init_name = +						kasprintf(GFP_KERNEL, "%s", +							  match->name); + +				if (!match->dev.init_name) +					return -ENOMEM; +			} +  			if (epdrv->pdrv->probe(match))  				pr_warning("%s: unable to probe %s early.\n",  					   class_str, match->name); diff --git a/drivers/clocksource/sh_cmt.c b/drivers/clocksource/sh_cmt.c index 744f748cc84..f6677cb1978 100644 --- a/drivers/clocksource/sh_cmt.c +++ b/drivers/clocksource/sh_cmt.c @@ -150,13 +150,12 @@ static void sh_cmt_start_stop_ch(struct sh_cmt_priv *p, int start)  static int sh_cmt_enable(struct sh_cmt_priv *p, unsigned long *rate)  { -	struct sh_timer_config *cfg = p->pdev->dev.platform_data;  	int ret;  	/* enable clock */  	ret = clk_enable(p->clk);  	if (ret) { -		pr_err("sh_cmt: cannot enable clock \"%s\"\n", cfg->clk); +		dev_err(&p->pdev->dev, "cannot enable clock\n");  		return ret;  	} @@ -279,7 +278,7 @@ static void sh_cmt_clock_event_program_verify(struct sh_cmt_priv *p,  			delay = 1;  		if (!delay) -			pr_warning("sh_cmt: too long delay\n"); +			dev_warn(&p->pdev->dev, "too long delay\n");  	} while (delay);  } @@ -289,7 +288,7 @@ static void sh_cmt_set_next(struct sh_cmt_priv *p, unsigned long delta)  	unsigned long flags;  	if (delta > p->max_match_value) -		pr_warning("sh_cmt: delta out of range\n"); +		dev_warn(&p->pdev->dev, "delta out of range\n");  	spin_lock_irqsave(&p->lock, flags);  	p->next_match_value = delta; @@ -451,7 +450,7 @@ static int sh_cmt_register_clocksource(struct sh_cmt_priv *p,  	cs->resume = sh_cmt_clocksource_resume;  	cs->mask = CLOCKSOURCE_MASK(sizeof(unsigned long) * 8);  	cs->flags = CLOCK_SOURCE_IS_CONTINUOUS; -	pr_info("sh_cmt: %s used as clock source\n", cs->name); +	dev_info(&p->pdev->dev, "used as clock source\n");  	clocksource_register(cs);  	return 0;  } @@ -497,13 +496,11 @@ static void sh_cmt_clock_event_mode(enum clock_event_mode mode,  	switch (mode) {  	case CLOCK_EVT_MODE_PERIODIC: -		pr_info("sh_cmt: %s used for periodic clock events\n", -			ced->name); +		dev_info(&p->pdev->dev, "used for periodic clock events\n");  		sh_cmt_clock_event_start(p, 1);  		break;  	case CLOCK_EVT_MODE_ONESHOT: -		pr_info("sh_cmt: %s used for oneshot clock events\n", -			ced->name); +		dev_info(&p->pdev->dev, "used for oneshot clock events\n");  		sh_cmt_clock_event_start(p, 0);  		break;  	case CLOCK_EVT_MODE_SHUTDOWN: @@ -544,7 +541,7 @@ static void sh_cmt_register_clockevent(struct sh_cmt_priv *p,  	ced->set_next_event = sh_cmt_clock_event_next;  	ced->set_mode = sh_cmt_clock_event_mode; -	pr_info("sh_cmt: %s used for clock events\n", ced->name); +	dev_info(&p->pdev->dev, "used for clock events\n");  	clockevents_register_device(ced);  } @@ -601,22 +598,27 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)  	/* map memory, let mapbase point to our channel */  	p->mapbase = ioremap_nocache(res->start, resource_size(res));  	if (p->mapbase == NULL) { -		pr_err("sh_cmt: failed to remap I/O memory\n"); +		dev_err(&p->pdev->dev, "failed to remap I/O memory\n");  		goto err0;  	}  	/* request irq using setup_irq() (too early for request_irq()) */ -	p->irqaction.name = cfg->name; +	p->irqaction.name = dev_name(&p->pdev->dev);  	p->irqaction.handler = sh_cmt_interrupt;  	p->irqaction.dev_id = p; -	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL; +	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \ +			     IRQF_IRQPOLL  | IRQF_NOBALANCING;  	/* get hold of clock */ -	p->clk = clk_get(&p->pdev->dev, cfg->clk); +	p->clk = clk_get(&p->pdev->dev, "cmt_fck");  	if (IS_ERR(p->clk)) { -		pr_err("sh_cmt: cannot get clock \"%s\"\n", cfg->clk); -		ret = PTR_ERR(p->clk); -		goto err1; +		dev_warn(&p->pdev->dev, "using deprecated clock lookup\n"); +		p->clk = clk_get(&p->pdev->dev, cfg->clk); +		if (IS_ERR(p->clk)) { +			dev_err(&p->pdev->dev, "cannot get clock\n"); +			ret = PTR_ERR(p->clk); +			goto err1; +		}  	}  	if (resource_size(res) == 6) { @@ -629,17 +631,17 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)  		p->clear_bits = ~0xc000;  	} -	ret = sh_cmt_register(p, cfg->name, +	ret = sh_cmt_register(p, (char *)dev_name(&p->pdev->dev),  			      cfg->clockevent_rating,  			      cfg->clocksource_rating);  	if (ret) { -		pr_err("sh_cmt: registration failed\n"); +		dev_err(&p->pdev->dev, "registration failed\n");  		goto err1;  	}  	ret = setup_irq(irq, &p->irqaction);  	if (ret) { -		pr_err("sh_cmt: failed to request irq %d\n", irq); +		dev_err(&p->pdev->dev, "failed to request irq %d\n", irq);  		goto err1;  	} @@ -654,11 +656,10 @@ err0:  static int __devinit sh_cmt_probe(struct platform_device *pdev)  {  	struct sh_cmt_priv *p = platform_get_drvdata(pdev); -	struct sh_timer_config *cfg = pdev->dev.platform_data;  	int ret;  	if (p) { -		pr_info("sh_cmt: %s kept as earlytimer\n", cfg->name); +		dev_info(&pdev->dev, "kept as earlytimer\n");  		return 0;  	} diff --git a/drivers/clocksource/sh_mtu2.c b/drivers/clocksource/sh_mtu2.c index 5fb78bfd73b..ef7a5be8a09 100644 --- a/drivers/clocksource/sh_mtu2.c +++ b/drivers/clocksource/sh_mtu2.c @@ -119,13 +119,12 @@ static void sh_mtu2_start_stop_ch(struct sh_mtu2_priv *p, int start)  static int sh_mtu2_enable(struct sh_mtu2_priv *p)  { -	struct sh_timer_config *cfg = p->pdev->dev.platform_data;  	int ret;  	/* enable clock */  	ret = clk_enable(p->clk);  	if (ret) { -		pr_err("sh_mtu2: cannot enable clock \"%s\"\n", cfg->clk); +		dev_err(&p->pdev->dev, "cannot enable clock\n");  		return ret;  	} @@ -194,8 +193,7 @@ static void sh_mtu2_clock_event_mode(enum clock_event_mode mode,  	switch (mode) {  	case CLOCK_EVT_MODE_PERIODIC: -		pr_info("sh_mtu2: %s used for periodic clock events\n", -			ced->name); +		dev_info(&p->pdev->dev, "used for periodic clock events\n");  		sh_mtu2_enable(p);  		break;  	case CLOCK_EVT_MODE_UNUSED: @@ -222,13 +220,13 @@ static void sh_mtu2_register_clockevent(struct sh_mtu2_priv *p,  	ced->cpumask = cpumask_of(0);  	ced->set_mode = sh_mtu2_clock_event_mode; -	pr_info("sh_mtu2: %s used for clock events\n", ced->name); +	dev_info(&p->pdev->dev, "used for clock events\n");  	clockevents_register_device(ced);  	ret = setup_irq(p->irqaction.irq, &p->irqaction);  	if (ret) { -		pr_err("sh_mtu2: failed to request irq %d\n", -		       p->irqaction.irq); +		dev_err(&p->pdev->dev, "failed to request irq %d\n", +			p->irqaction.irq);  		return;  	}  } @@ -274,26 +272,32 @@ static int sh_mtu2_setup(struct sh_mtu2_priv *p, struct platform_device *pdev)  	/* map memory, let mapbase point to our channel */  	p->mapbase = ioremap_nocache(res->start, resource_size(res));  	if (p->mapbase == NULL) { -		pr_err("sh_mtu2: failed to remap I/O memory\n"); +		dev_err(&p->pdev->dev, "failed to remap I/O memory\n");  		goto err0;  	}  	/* setup data for setup_irq() (too early for request_irq()) */ -	p->irqaction.name = cfg->name; +	p->irqaction.name = dev_name(&p->pdev->dev);  	p->irqaction.handler = sh_mtu2_interrupt;  	p->irqaction.dev_id = p;  	p->irqaction.irq = irq; -	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL; +	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \ +			     IRQF_IRQPOLL  | IRQF_NOBALANCING;  	/* get hold of clock */ -	p->clk = clk_get(&p->pdev->dev, cfg->clk); +	p->clk = clk_get(&p->pdev->dev, "mtu2_fck");  	if (IS_ERR(p->clk)) { -		pr_err("sh_mtu2: cannot get clock \"%s\"\n", cfg->clk); -		ret = PTR_ERR(p->clk); -		goto err1; +		dev_warn(&p->pdev->dev, "using deprecated clock lookup\n"); +		p->clk = clk_get(&p->pdev->dev, cfg->clk); +		if (IS_ERR(p->clk)) { +			dev_err(&p->pdev->dev, "cannot get clock\n"); +			ret = PTR_ERR(p->clk); +			goto err1; +		}  	} -	return sh_mtu2_register(p, cfg->name, cfg->clockevent_rating); +	return sh_mtu2_register(p, (char *)dev_name(&p->pdev->dev), +				cfg->clockevent_rating);   err1:  	iounmap(p->mapbase);   err0: @@ -303,11 +307,10 @@ static int sh_mtu2_setup(struct sh_mtu2_priv *p, struct platform_device *pdev)  static int __devinit sh_mtu2_probe(struct platform_device *pdev)  {  	struct sh_mtu2_priv *p = platform_get_drvdata(pdev); -	struct sh_timer_config *cfg = pdev->dev.platform_data;  	int ret;  	if (p) { -		pr_info("sh_mtu2: %s kept as earlytimer\n", cfg->name); +		dev_info(&pdev->dev, "kept as earlytimer\n");  		return 0;  	} diff --git a/drivers/clocksource/sh_tmu.c b/drivers/clocksource/sh_tmu.c index fc9ff1e5b77..8e44e14ec4c 100644 --- a/drivers/clocksource/sh_tmu.c +++ b/drivers/clocksource/sh_tmu.c @@ -107,13 +107,12 @@ static void sh_tmu_start_stop_ch(struct sh_tmu_priv *p, int start)  static int sh_tmu_enable(struct sh_tmu_priv *p)  { -	struct sh_timer_config *cfg = p->pdev->dev.platform_data;  	int ret;  	/* enable clock */  	ret = clk_enable(p->clk);  	if (ret) { -		pr_err("sh_tmu: cannot enable clock \"%s\"\n", cfg->clk); +		dev_err(&p->pdev->dev, "cannot enable clock\n");  		return ret;  	} @@ -229,7 +228,7 @@ static int sh_tmu_register_clocksource(struct sh_tmu_priv *p,  	cs->disable = sh_tmu_clocksource_disable;  	cs->mask = CLOCKSOURCE_MASK(32);  	cs->flags = CLOCK_SOURCE_IS_CONTINUOUS; -	pr_info("sh_tmu: %s used as clock source\n", cs->name); +	dev_info(&p->pdev->dev, "used as clock source\n");  	clocksource_register(cs);  	return 0;  } @@ -277,13 +276,11 @@ static void sh_tmu_clock_event_mode(enum clock_event_mode mode,  	switch (mode) {  	case CLOCK_EVT_MODE_PERIODIC: -		pr_info("sh_tmu: %s used for periodic clock events\n", -			ced->name); +		dev_info(&p->pdev->dev, "used for periodic clock events\n");  		sh_tmu_clock_event_start(p, 1);  		break;  	case CLOCK_EVT_MODE_ONESHOT: -		pr_info("sh_tmu: %s used for oneshot clock events\n", -			ced->name); +		dev_info(&p->pdev->dev, "used for oneshot clock events\n");  		sh_tmu_clock_event_start(p, 0);  		break;  	case CLOCK_EVT_MODE_UNUSED: @@ -324,13 +321,13 @@ static void sh_tmu_register_clockevent(struct sh_tmu_priv *p,  	ced->set_next_event = sh_tmu_clock_event_next;  	ced->set_mode = sh_tmu_clock_event_mode; -	pr_info("sh_tmu: %s used for clock events\n", ced->name); +	dev_info(&p->pdev->dev, "used for clock events\n");  	clockevents_register_device(ced);  	ret = setup_irq(p->irqaction.irq, &p->irqaction);  	if (ret) { -		pr_err("sh_tmu: failed to request irq %d\n", -		       p->irqaction.irq); +		dev_err(&p->pdev->dev, "failed to request irq %d\n", +			p->irqaction.irq);  		return;  	}  } @@ -379,26 +376,31 @@ static int sh_tmu_setup(struct sh_tmu_priv *p, struct platform_device *pdev)  	/* map memory, let mapbase point to our channel */  	p->mapbase = ioremap_nocache(res->start, resource_size(res));  	if (p->mapbase == NULL) { -		pr_err("sh_tmu: failed to remap I/O memory\n"); +		dev_err(&p->pdev->dev, "failed to remap I/O memory\n");  		goto err0;  	}  	/* setup data for setup_irq() (too early for request_irq()) */ -	p->irqaction.name = cfg->name; +	p->irqaction.name = dev_name(&p->pdev->dev);  	p->irqaction.handler = sh_tmu_interrupt;  	p->irqaction.dev_id = p;  	p->irqaction.irq = irq; -	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL; +	p->irqaction.flags = IRQF_DISABLED | IRQF_TIMER | \ +			     IRQF_IRQPOLL  | IRQF_NOBALANCING;  	/* get hold of clock */ -	p->clk = clk_get(&p->pdev->dev, cfg->clk); +	p->clk = clk_get(&p->pdev->dev, "tmu_fck");  	if (IS_ERR(p->clk)) { -		pr_err("sh_tmu: cannot get clock \"%s\"\n", cfg->clk); -		ret = PTR_ERR(p->clk); -		goto err1; +		dev_warn(&p->pdev->dev, "using deprecated clock lookup\n"); +		p->clk = clk_get(&p->pdev->dev, cfg->clk); +		if (IS_ERR(p->clk)) { +			dev_err(&p->pdev->dev, "cannot get clock\n"); +			ret = PTR_ERR(p->clk); +			goto err1; +		}  	} -	return sh_tmu_register(p, cfg->name, +	return sh_tmu_register(p, (char *)dev_name(&p->pdev->dev),  			       cfg->clockevent_rating,  			       cfg->clocksource_rating);   err1: @@ -410,11 +412,10 @@ static int sh_tmu_setup(struct sh_tmu_priv *p, struct platform_device *pdev)  static int __devinit sh_tmu_probe(struct platform_device *pdev)  {  	struct sh_tmu_priv *p = platform_get_drvdata(pdev); -	struct sh_timer_config *cfg = pdev->dev.platform_data;  	int ret;  	if (p) { -		pr_info("sh_tmu: %s kept as earlytimer\n", cfg->name); +		dev_info(&pdev->dev, "kept as earlytimer\n");  		return 0;  	} diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 6f25a20de99..323afef7780 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c @@ -26,8 +26,7 @@  #include <linux/dma-mapping.h>  #include <linux/platform_device.h>  #include <linux/pm_runtime.h> - -#include <asm/dmaengine.h> +#include <linux/sh_dma.h>  #include "shdma.h" @@ -45,7 +44,7 @@ enum sh_dmae_desc_status {  #define LOG2_DEFAULT_XFER_SIZE	2  /* A bitmask with bits enough for enum sh_dmae_slave_chan_id */ -static unsigned long sh_dmae_slave_used[BITS_TO_LONGS(SHDMA_SLAVE_NUMBER)]; +static unsigned long sh_dmae_slave_used[BITS_TO_LONGS(SH_DMA_SLAVE_NUMBER)];  static void sh_dmae_chan_ld_cleanup(struct sh_dmae_chan *sh_chan, bool all); @@ -190,7 +189,7 @@ static int dmae_set_dmars(struct sh_dmae_chan *sh_chan, u16 val)  	struct sh_dmae_device *shdev = container_of(sh_chan->common.device,  						struct sh_dmae_device, common);  	struct sh_dmae_pdata *pdata = shdev->pdata; -	struct sh_dmae_channel *chan_pdata = &pdata->channel[sh_chan->id]; +	const struct sh_dmae_channel *chan_pdata = &pdata->channel[sh_chan->id];  	u16 __iomem *addr = shdev->dmars + chan_pdata->dmars / sizeof(u16);  	int shift = chan_pdata->dmars_bit; @@ -266,8 +265,8 @@ static struct sh_desc *sh_dmae_get_desc(struct sh_dmae_chan *sh_chan)  	return NULL;  } -static struct sh_dmae_slave_config *sh_dmae_find_slave( -	struct sh_dmae_chan *sh_chan, enum sh_dmae_slave_chan_id slave_id) +static const struct sh_dmae_slave_config *sh_dmae_find_slave( +	struct sh_dmae_chan *sh_chan, struct sh_dmae_slave *param)  {  	struct dma_device *dma_dev = sh_chan->common.device;  	struct sh_dmae_device *shdev = container_of(dma_dev, @@ -275,11 +274,11 @@ static struct sh_dmae_slave_config *sh_dmae_find_slave(  	struct sh_dmae_pdata *pdata = shdev->pdata;  	int i; -	if ((unsigned)slave_id >= SHDMA_SLAVE_NUMBER) +	if (param->slave_id >= SH_DMA_SLAVE_NUMBER)  		return NULL;  	for (i = 0; i < pdata->slave_num; i++) -		if (pdata->slave[i].slave_id == slave_id) +		if (pdata->slave[i].slave_id == param->slave_id)  			return pdata->slave + i;  	return NULL; @@ -299,9 +298,9 @@ static int sh_dmae_alloc_chan_resources(struct dma_chan *chan)  	 * never runs concurrently with itself or free_chan_resources.  	 */  	if (param) { -		struct sh_dmae_slave_config *cfg; +		const struct sh_dmae_slave_config *cfg; -		cfg = sh_dmae_find_slave(sh_chan, param->slave_id); +		cfg = sh_dmae_find_slave(sh_chan, param);  		if (!cfg) {  			ret = -EINVAL;  			goto efindslave; @@ -574,12 +573,14 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg(  {  	struct sh_dmae_slave *param;  	struct sh_dmae_chan *sh_chan; +	dma_addr_t slave_addr;  	if (!chan)  		return NULL;  	sh_chan = to_sh_chan(chan);  	param = chan->private; +	slave_addr = param->config->addr;  	/* Someone calling slave DMA on a public channel? */  	if (!param || !sg_len) { @@ -592,7 +593,7 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg(  	 * if (param != NULL), this is a successfully requested slave channel,  	 * therefore param->config != NULL too.  	 */ -	return sh_dmae_prep_sg(sh_chan, sgl, sg_len, ¶m->config->addr, +	return sh_dmae_prep_sg(sh_chan, sgl, sg_len, &slave_addr,  			       direction, flags);  } @@ -873,7 +874,7 @@ static int __devinit sh_dmae_chan_probe(struct sh_dmae_device *shdev, int id,  					int irq, unsigned long flags)  {  	int err; -	struct sh_dmae_channel *chan_pdata = &shdev->pdata->channel[id]; +	const struct sh_dmae_channel *chan_pdata = &shdev->pdata->channel[id];  	struct platform_device *pdev = to_platform_device(shdev->common.dev);  	struct sh_dmae_chan *new_sh_chan; diff --git a/drivers/dma/shdma.h b/drivers/dma/shdma.h index 153609a1e96..4021275a0a4 100644 --- a/drivers/dma/shdma.h +++ b/drivers/dma/shdma.h @@ -17,8 +17,8 @@  #include <linux/interrupt.h>  #include <linux/list.h> -#include <asm/dmaengine.h> - +#define SH_DMAC_MAX_CHANNELS 6 +#define SH_DMA_SLAVE_NUMBER 256  #define SH_DMA_TCR_MAX 0x00FFFFFF	/* 16MB */  struct device; diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 8eb094c1f61..8d993c4ccea 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c @@ -83,16 +83,16 @@ struct sci_port {  	/* Interface clock */  	struct clk		*iclk; -	/* Data clock */ -	struct clk		*dclk; +	/* Function clock */ +	struct clk		*fclk;  	struct list_head	node;  	struct dma_chan			*chan_tx;  	struct dma_chan			*chan_rx;  #ifdef CONFIG_SERIAL_SH_SCI_DMA  	struct device			*dma_dev; -	enum sh_dmae_slave_chan_id	slave_tx; -	enum sh_dmae_slave_chan_id	slave_rx; +	unsigned int			slave_tx; +	unsigned int			slave_rx;  	struct dma_async_tx_descriptor	*desc_tx;  	struct dma_async_tx_descriptor	*desc_rx[2];  	dma_cookie_t			cookie_tx; @@ -107,6 +107,7 @@ struct sci_port {  	struct work_struct		work_tx;  	struct work_struct		work_rx;  	struct timer_list		rx_timer; +	unsigned int			rx_timeout;  #endif  }; @@ -674,22 +675,22 @@ static irqreturn_t sci_rx_interrupt(int irq, void *ptr)  	struct sci_port *s = to_sci_port(port);  	if (s->chan_rx) { -		unsigned long tout;  		u16 scr = sci_in(port, SCSCR);  		u16 ssr = sci_in(port, SCxSR);  		/* Disable future Rx interrupts */ -		sci_out(port, SCSCR, scr & ~SCI_CTRL_FLAGS_RIE); +		if (port->type == PORT_SCIFA) { +			disable_irq_nosync(irq); +			scr |= 0x4000; +		} else { +			scr &= ~SCI_CTRL_FLAGS_RIE; +		} +		sci_out(port, SCSCR, scr);  		/* Clear current interrupt */  		sci_out(port, SCxSR, ssr & ~(1 | SCxSR_RDxF(port))); -		/* Calculate delay for 1.5 DMA buffers */ -		tout = (port->timeout - HZ / 50) * s->buf_len_rx * 3 / -			port->fifosize / 2; -		dev_dbg(port->dev, "Rx IRQ: setup timeout in %lu ms\n", -			tout * 1000 / HZ); -		if (tout < 2) -			tout = 2; -		mod_timer(&s->rx_timer, jiffies + tout); +		dev_dbg(port->dev, "Rx IRQ %lu: setup t-out in %u jiffies\n", +			jiffies, s->rx_timeout); +		mod_timer(&s->rx_timer, jiffies + s->rx_timeout);  		return IRQ_HANDLED;  	} @@ -799,7 +800,7 @@ static int sci_notifier(struct notifier_block *self,  	    (phase == CPUFREQ_RESUMECHANGE)) {  		spin_lock_irqsave(&priv->lock, flags);  		list_for_each_entry(sci_port, &priv->ports, node) -			sci_port->port.uartclk = clk_get_rate(sci_port->dclk); +			sci_port->port.uartclk = clk_get_rate(sci_port->iclk);  		spin_unlock_irqrestore(&priv->lock, flags);  	} @@ -810,21 +811,17 @@ static void sci_clk_enable(struct uart_port *port)  {  	struct sci_port *sci_port = to_sci_port(port); -	clk_enable(sci_port->dclk); -	sci_port->port.uartclk = clk_get_rate(sci_port->dclk); - -	if (sci_port->iclk) -		clk_enable(sci_port->iclk); +	clk_enable(sci_port->iclk); +	sci_port->port.uartclk = clk_get_rate(sci_port->iclk); +	clk_enable(sci_port->fclk);  }  static void sci_clk_disable(struct uart_port *port)  {  	struct sci_port *sci_port = to_sci_port(port); -	if (sci_port->iclk) -		clk_disable(sci_port->iclk); - -	clk_disable(sci_port->dclk); +	clk_disable(sci_port->fclk); +	clk_disable(sci_port->iclk);  }  static int sci_request_irq(struct sci_port *port) @@ -913,22 +910,26 @@ static void sci_dma_tx_complete(void *arg)  	spin_lock_irqsave(&port->lock, flags); -	xmit->tail += s->sg_tx.length; +	xmit->tail += sg_dma_len(&s->sg_tx);  	xmit->tail &= UART_XMIT_SIZE - 1; -	port->icount.tx += s->sg_tx.length; +	port->icount.tx += sg_dma_len(&s->sg_tx);  	async_tx_ack(s->desc_tx);  	s->cookie_tx = -EINVAL;  	s->desc_tx = NULL; -	spin_unlock_irqrestore(&port->lock, flags); -  	if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)  		uart_write_wakeup(port); -	if (uart_circ_chars_pending(xmit)) +	if (!uart_circ_empty(xmit)) {  		schedule_work(&s->work_tx); +	} else if (port->type == PORT_SCIFA) { +		u16 ctrl = sci_in(port, SCSCR); +		sci_out(port, SCSCR, ctrl & ~SCI_CTRL_FLAGS_TIE); +	} + +	spin_unlock_irqrestore(&port->lock, flags);  }  /* Locking: called with port lock held */ @@ -972,13 +973,13 @@ static void sci_dma_rx_complete(void *arg)  	unsigned long flags;  	int count; -	dev_dbg(port->dev, "%s(%d)\n", __func__, port->line); +	dev_dbg(port->dev, "%s(%d) active #%d\n", __func__, port->line, s->active_rx);  	spin_lock_irqsave(&port->lock, flags);  	count = sci_dma_rx_push(s, tty, s->buf_len_rx); -	mod_timer(&s->rx_timer, jiffies + msecs_to_jiffies(5)); +	mod_timer(&s->rx_timer, jiffies + s->rx_timeout);  	spin_unlock_irqrestore(&port->lock, flags); @@ -1050,6 +1051,8 @@ static void sci_submit_rx(struct sci_port *s)  			sci_rx_dma_release(s, true);  			return;  		} +		dev_dbg(s->port.dev, "%s(): cookie %d to #%d\n", __func__, +			s->cookie_rx[i], i);  	}  	s->active_rx = s->cookie_rx[0]; @@ -1107,10 +1110,10 @@ static void work_fn_rx(struct work_struct *work)  		return;  	} -	dev_dbg(port->dev, "%s: cookie %d #%d\n", __func__, -		s->cookie_rx[new], new); -  	s->active_rx = s->cookie_rx[!new]; + +	dev_dbg(port->dev, "%s: cookie %d #%d, new active #%d\n", __func__, +		s->cookie_rx[new], new, s->active_rx);  }  static void work_fn_tx(struct work_struct *work) @@ -1131,14 +1134,13 @@ static void work_fn_tx(struct work_struct *work)  	 */  	spin_lock_irq(&port->lock);  	sg->offset = xmit->tail & (UART_XMIT_SIZE - 1); -	sg->dma_address = (sg_dma_address(sg) & ~(UART_XMIT_SIZE - 1)) + +	sg_dma_address(sg) = (sg_dma_address(sg) & ~(UART_XMIT_SIZE - 1)) +  		sg->offset; -	sg->length = min((int)CIRC_CNT(xmit->head, xmit->tail, UART_XMIT_SIZE), +	sg_dma_len(sg) = min((int)CIRC_CNT(xmit->head, xmit->tail, UART_XMIT_SIZE),  		CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE)); -	sg->dma_length = sg->length;  	spin_unlock_irq(&port->lock); -	BUG_ON(!sg->length); +	BUG_ON(!sg_dma_len(sg));  	desc = chan->device->device_prep_slave_sg(chan,  			sg, s->sg_len_tx, DMA_TO_DEVICE, @@ -1173,23 +1175,28 @@ static void work_fn_tx(struct work_struct *work)  static void sci_start_tx(struct uart_port *port)  { +	struct sci_port *s = to_sci_port(port);  	unsigned short ctrl;  #ifdef CONFIG_SERIAL_SH_SCI_DMA -	struct sci_port *s = to_sci_port(port); - -	if (s->chan_tx) { -		if (!uart_circ_empty(&s->port.state->xmit) && s->cookie_tx < 0) -			schedule_work(&s->work_tx); - -		return; +	if (port->type == PORT_SCIFA) { +		u16 new, scr = sci_in(port, SCSCR); +		if (s->chan_tx) +			new = scr | 0x8000; +		else +			new = scr & ~0x8000; +		if (new != scr) +			sci_out(port, SCSCR, new);  	} +	if (s->chan_tx && !uart_circ_empty(&s->port.state->xmit) && +	    s->cookie_tx < 0) +		schedule_work(&s->work_tx);  #endif - -	/* Set TIE (Transmit Interrupt Enable) bit in SCSCR */ -	ctrl = sci_in(port, SCSCR); -	ctrl |= SCI_CTRL_FLAGS_TIE; -	sci_out(port, SCSCR, ctrl); +	if (!s->chan_tx || port->type == PORT_SCIFA) { +		/* Set TIE (Transmit Interrupt Enable) bit in SCSCR */ +		ctrl = sci_in(port, SCSCR); +		sci_out(port, SCSCR, ctrl | SCI_CTRL_FLAGS_TIE); +	}  }  static void sci_stop_tx(struct uart_port *port) @@ -1198,6 +1205,8 @@ static void sci_stop_tx(struct uart_port *port)  	/* Clear TIE (Transmit Interrupt Enable) bit in SCSCR */  	ctrl = sci_in(port, SCSCR); +	if (port->type == PORT_SCIFA) +		ctrl &= ~0x8000;  	ctrl &= ~SCI_CTRL_FLAGS_TIE;  	sci_out(port, SCSCR, ctrl);  } @@ -1208,6 +1217,8 @@ static void sci_start_rx(struct uart_port *port)  	/* Set RIE (Receive Interrupt Enable) bit in SCSCR */  	ctrl |= sci_in(port, SCSCR); +	if (port->type == PORT_SCIFA) +		ctrl &= ~0x4000;  	sci_out(port, SCSCR, ctrl);  } @@ -1217,6 +1228,8 @@ static void sci_stop_rx(struct uart_port *port)  	/* Clear RIE (Receive Interrupt Enable) bit in SCSCR */  	ctrl = sci_in(port, SCSCR); +	if (port->type == PORT_SCIFA) +		ctrl &= ~0x4000;  	ctrl &= ~(SCI_CTRL_FLAGS_RIE | SCI_CTRL_FLAGS_REIE);  	sci_out(port, SCSCR, ctrl);  } @@ -1251,8 +1264,12 @@ static void rx_timer_fn(unsigned long arg)  {  	struct sci_port *s = (struct sci_port *)arg;  	struct uart_port *port = &s->port; -  	u16 scr = sci_in(port, SCSCR); + +	if (port->type == PORT_SCIFA) { +		scr &= ~0x4000; +		enable_irq(s->irqs[1]); +	}  	sci_out(port, SCSCR, scr | SCI_CTRL_FLAGS_RIE);  	dev_dbg(port->dev, "DMA Rx timed out\n");  	schedule_work(&s->work_rx); @@ -1339,8 +1356,7 @@ static void sci_request_dma(struct uart_port *port)  			sg_init_table(sg, 1);  			sg_set_page(sg, virt_to_page(buf[i]), s->buf_len_rx,  				    (int)buf[i] & ~PAGE_MASK); -			sg->dma_address = dma[i]; -			sg->dma_length = sg->length; +			sg_dma_address(sg) = dma[i];  		}  		INIT_WORK(&s->work_rx, work_fn_rx); @@ -1403,8 +1419,12 @@ static void sci_shutdown(struct uart_port *port)  static void sci_set_termios(struct uart_port *port, struct ktermios *termios,  			    struct ktermios *old)  { +#ifdef CONFIG_SERIAL_SH_SCI_DMA +	struct sci_port *s = to_sci_port(port); +#endif  	unsigned int status, baud, smr_val, max_baud;  	int t = -1; +	u16 scfcr = 0;  	/*  	 * earlyprintk comes here early on with port->uartclk set to zero. @@ -1427,7 +1447,7 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios,  	sci_out(port, SCSCR, 0x00);	/* TE=0, RE=0, CKE1=0 */  	if (port->type != PORT_SCI) -		sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); +		sci_out(port, SCFCR, scfcr | SCFCR_RFRST | SCFCR_TFRST);  	smr_val = sci_in(port, SCSMR) & 3;  	if ((termios->c_cflag & CSIZE) == CS7) @@ -1458,10 +1478,32 @@ static void sci_set_termios(struct uart_port *port, struct ktermios *termios,  	}  	sci_init_pins(port, termios->c_cflag); -	sci_out(port, SCFCR, (termios->c_cflag & CRTSCTS) ? SCFCR_MCE : 0); +	sci_out(port, SCFCR, scfcr | ((termios->c_cflag & CRTSCTS) ? SCFCR_MCE : 0));  	sci_out(port, SCSCR, SCSCR_INIT(port)); +#ifdef CONFIG_SERIAL_SH_SCI_DMA +	/* +	 * Calculate delay for 1.5 DMA buffers: see +	 * drivers/serial/serial_core.c::uart_update_timeout(). With 10 bits +	 * (CS8), 250Hz, 115200 baud and 64 bytes FIFO, the above function +	 * calculates 1 jiffie for the data plus 5 jiffies for the "slop(e)." +	 * Then below we calculate 3 jiffies (12ms) for 1.5 DMA buffers (3 FIFO +	 * sizes), but it has been found out experimentally, that this is not +	 * enough: the driver too often needlessly runs on a DMA timeout. 20ms +	 * as a minimum seem to work perfectly. +	 */ +	if (s->chan_rx) { +		s->rx_timeout = (port->timeout - HZ / 50) * s->buf_len_rx * 3 / +			port->fifosize / 2; +		dev_dbg(port->dev, +			"DMA Rx t-out %ums, tty t-out %u jiffies\n", +			s->rx_timeout * 1000 / HZ, port->timeout); +		if (s->rx_timeout < msecs_to_jiffies(20)) +			s->rx_timeout = msecs_to_jiffies(20); +	} +#endif +  	if ((termios->c_cflag & CREAD) != 0)  		sci_start_rx(port);  } @@ -1553,10 +1595,10 @@ static struct uart_ops sci_uart_ops = {  #endif  }; -static void __devinit sci_init_single(struct platform_device *dev, -				      struct sci_port *sci_port, -				      unsigned int index, -				      struct plat_sci_port *p) +static int __devinit sci_init_single(struct platform_device *dev, +				     struct sci_port *sci_port, +				     unsigned int index, +				     struct plat_sci_port *p)  {  	struct uart_port *port = &sci_port->port; @@ -1577,8 +1619,23 @@ static void __devinit sci_init_single(struct platform_device *dev,  	}  	if (dev) { -		sci_port->iclk = p->clk ? clk_get(&dev->dev, p->clk) : NULL; -		sci_port->dclk = clk_get(&dev->dev, "peripheral_clk"); +		sci_port->iclk = clk_get(&dev->dev, "sci_ick"); +		if (IS_ERR(sci_port->iclk)) { +			sci_port->iclk = clk_get(&dev->dev, "peripheral_clk"); +			if (IS_ERR(sci_port->iclk)) { +				dev_err(&dev->dev, "can't get iclk\n"); +				return PTR_ERR(sci_port->iclk); +			} +		} + +		/* +		 * The function clock is optional, ignore it if we can't +		 * find it. +		 */ +		sci_port->fclk = clk_get(&dev->dev, "sci_fck"); +		if (IS_ERR(sci_port->fclk)) +			sci_port->fclk = NULL; +  		sci_port->enable = sci_clk_enable;  		sci_port->disable = sci_clk_disable;  		port->dev = &dev->dev; @@ -1605,6 +1662,7 @@ static void __devinit sci_init_single(struct platform_device *dev,  #endif  	memcpy(&sci_port->irqs, &p->irqs, sizeof(p->irqs)); +	return 0;  }  #ifdef CONFIG_SERIAL_SH_SCI_CONSOLE @@ -1754,8 +1812,11 @@ static int sci_remove(struct platform_device *dev)  	cpufreq_unregister_notifier(&priv->clk_nb, CPUFREQ_TRANSITION_NOTIFIER);  	spin_lock_irqsave(&priv->lock, flags); -	list_for_each_entry(p, &priv->ports, node) +	list_for_each_entry(p, &priv->ports, node) {  		uart_remove_one_port(&sci_uart_driver, &p->port); +		clk_put(p->iclk); +		clk_put(p->fclk); +	}  	spin_unlock_irqrestore(&priv->lock, flags);  	kfree(priv); @@ -1781,7 +1842,9 @@ static int __devinit sci_probe_single(struct platform_device *dev,  		return 0;  	} -	sci_init_single(dev, sciport, index, p); +	ret = sci_init_single(dev, sciport, index, p); +	if (ret) +		return ret;  	ret = uart_add_one_port(&sci_uart_driver, &sciport->port);  	if (ret) diff --git a/drivers/sh/Kconfig b/drivers/sh/Kconfig new file mode 100644 index 00000000000..a54de0b9b3d --- /dev/null +++ b/drivers/sh/Kconfig @@ -0,0 +1,24 @@ +config INTC_USERIMASK +	bool "Userspace interrupt masking support" +	depends on ARCH_SHMOBILE || (SUPERH && CPU_SH4A) +	help +	  This enables support for hardware-assisted userspace hardirq +	  masking. + +	  SH-4A and newer interrupt blocks all support a special shadowed +	  page with all non-masking registers obscured when mapped in to +	  userspace. This is primarily for use by userspace device +	  drivers that are using special priority levels. + +	  If in doubt, say N. + +config INTC_BALANCING +	bool "Hardware IRQ balancing support" +	depends on SMP && SUPERH && CPU_SUBTYPE_SH7786 +	help +	  This enables support for IRQ auto-distribution mode on SH-X3 +	  SMP parts. All of the balancing and CPU wakeup decisions are +	  taken care of automatically by hardware for distributed +	  vectors. + +	  If in doubt, say N. diff --git a/drivers/sh/Makefile b/drivers/sh/Makefile index 4956bf1f213..78bb5127abd 100644 --- a/drivers/sh/Makefile +++ b/drivers/sh/Makefile @@ -4,4 +4,6 @@  obj-$(CONFIG_SUPERHYWAY)	+= superhyway/  obj-$(CONFIG_MAPLE)		+= maple/  obj-$(CONFIG_GENERIC_GPIO)	+= pfc.o +obj-$(CONFIG_SUPERH)		+= clk.o +obj-$(CONFIG_SH_CLK_CPG)	+= clk-cpg.o  obj-y				+= intc.o diff --git a/drivers/sh/clk-cpg.c b/drivers/sh/clk-cpg.c new file mode 100644 index 00000000000..f5c80ba9ab1 --- /dev/null +++ b/drivers/sh/clk-cpg.c @@ -0,0 +1,298 @@ +#include <linux/clk.h> +#include <linux/compiler.h> +#include <linux/slab.h> +#include <linux/io.h> +#include <linux/sh_clk.h> + +static int sh_clk_mstp32_enable(struct clk *clk) +{ +	__raw_writel(__raw_readl(clk->enable_reg) & ~(1 << clk->enable_bit), +		     clk->enable_reg); +	return 0; +} + +static void sh_clk_mstp32_disable(struct clk *clk) +{ +	__raw_writel(__raw_readl(clk->enable_reg) | (1 << clk->enable_bit), +		     clk->enable_reg); +} + +static struct clk_ops sh_clk_mstp32_clk_ops = { +	.enable		= sh_clk_mstp32_enable, +	.disable	= sh_clk_mstp32_disable, +	.recalc		= followparent_recalc, +}; + +int __init sh_clk_mstp32_register(struct clk *clks, int nr) +{ +	struct clk *clkp; +	int ret = 0; +	int k; + +	for (k = 0; !ret && (k < nr); k++) { +		clkp = clks + k; +		clkp->ops = &sh_clk_mstp32_clk_ops; +		ret |= clk_register(clkp); +	} + +	return ret; +} + +static long sh_clk_div_round_rate(struct clk *clk, unsigned long rate) +{ +	return clk_rate_table_round(clk, clk->freq_table, rate); +} + +static int sh_clk_div6_divisors[64] = { +	1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, +	17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, +	33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, +	49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 +}; + +static struct clk_div_mult_table sh_clk_div6_table = { +	.divisors = sh_clk_div6_divisors, +	.nr_divisors = ARRAY_SIZE(sh_clk_div6_divisors), +}; + +static unsigned long sh_clk_div6_recalc(struct clk *clk) +{ +	struct clk_div_mult_table *table = &sh_clk_div6_table; +	unsigned int idx; + +	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, +			     table, NULL); + +	idx = __raw_readl(clk->enable_reg) & 0x003f; + +	return clk->freq_table[idx].frequency; +} + +static int sh_clk_div6_set_rate(struct clk *clk, +				unsigned long rate, int algo_id) +{ +	unsigned long value; +	int idx; + +	idx = clk_rate_table_find(clk, clk->freq_table, rate); +	if (idx < 0) +		return idx; + +	value = __raw_readl(clk->enable_reg); +	value &= ~0x3f; +	value |= idx; +	__raw_writel(value, clk->enable_reg); +	return 0; +} + +static int sh_clk_div6_enable(struct clk *clk) +{ +	unsigned long value; +	int ret; + +	ret = sh_clk_div6_set_rate(clk, clk->rate, 0); +	if (ret == 0) { +		value = __raw_readl(clk->enable_reg); +		value &= ~0x100; /* clear stop bit to enable clock */ +		__raw_writel(value, clk->enable_reg); +	} +	return ret; +} + +static void sh_clk_div6_disable(struct clk *clk) +{ +	unsigned long value; + +	value = __raw_readl(clk->enable_reg); +	value |= 0x100; /* stop clock */ +	value |= 0x3f; /* VDIV bits must be non-zero, overwrite divider */ +	__raw_writel(value, clk->enable_reg); +} + +static struct clk_ops sh_clk_div6_clk_ops = { +	.recalc		= sh_clk_div6_recalc, +	.round_rate	= sh_clk_div_round_rate, +	.set_rate	= sh_clk_div6_set_rate, +	.enable		= sh_clk_div6_enable, +	.disable	= sh_clk_div6_disable, +}; + +int __init sh_clk_div6_register(struct clk *clks, int nr) +{ +	struct clk *clkp; +	void *freq_table; +	int nr_divs = sh_clk_div6_table.nr_divisors; +	int freq_table_size = sizeof(struct cpufreq_frequency_table); +	int ret = 0; +	int k; + +	freq_table_size *= (nr_divs + 1); +	freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); +	if (!freq_table) { +		pr_err("sh_clk_div6_register: unable to alloc memory\n"); +		return -ENOMEM; +	} + +	for (k = 0; !ret && (k < nr); k++) { +		clkp = clks + k; + +		clkp->ops = &sh_clk_div6_clk_ops; +		clkp->id = -1; +		clkp->freq_table = freq_table + (k * freq_table_size); +		clkp->freq_table[nr_divs].frequency = CPUFREQ_TABLE_END; + +		ret = clk_register(clkp); +	} + +	return ret; +} + +static unsigned long sh_clk_div4_recalc(struct clk *clk) +{ +	struct clk_div4_table *d4t = clk->priv; +	struct clk_div_mult_table *table = d4t->div_mult_table; +	unsigned int idx; + +	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, +			     table, &clk->arch_flags); + +	idx = (__raw_readl(clk->enable_reg) >> clk->enable_bit) & 0x000f; + +	return clk->freq_table[idx].frequency; +} + +static int sh_clk_div4_set_parent(struct clk *clk, struct clk *parent) +{ +	struct clk_div4_table *d4t = clk->priv; +	struct clk_div_mult_table *table = d4t->div_mult_table; +	u32 value; +	int ret; + +	/* we really need a better way to determine parent index, but for +	 * now assume internal parent comes with CLK_ENABLE_ON_INIT set, +	 * no CLK_ENABLE_ON_INIT means external clock... +	 */ + +	if (parent->flags & CLK_ENABLE_ON_INIT) +		value = __raw_readl(clk->enable_reg) & ~(1 << 7); +	else +		value = __raw_readl(clk->enable_reg) | (1 << 7); + +	ret = clk_reparent(clk, parent); +	if (ret < 0) +		return ret; + +	__raw_writel(value, clk->enable_reg); + +	/* Rebiuld the frequency table */ +	clk_rate_table_build(clk, clk->freq_table, table->nr_divisors, +			     table, &clk->arch_flags); + +	return 0; +} + +static int sh_clk_div4_set_rate(struct clk *clk, unsigned long rate, int algo_id) +{ +	struct clk_div4_table *d4t = clk->priv; +	unsigned long value; +	int idx = clk_rate_table_find(clk, clk->freq_table, rate); +	if (idx < 0) +		return idx; + +	value = __raw_readl(clk->enable_reg); +	value &= ~(0xf << clk->enable_bit); +	value |= (idx << clk->enable_bit); +	__raw_writel(value, clk->enable_reg); + +	if (d4t->kick) +		d4t->kick(clk); + +	return 0; +} + +static int sh_clk_div4_enable(struct clk *clk) +{ +	__raw_writel(__raw_readl(clk->enable_reg) & ~(1 << 8), clk->enable_reg); +	return 0; +} + +static void sh_clk_div4_disable(struct clk *clk) +{ +	__raw_writel(__raw_readl(clk->enable_reg) | (1 << 8), clk->enable_reg); +} + +static struct clk_ops sh_clk_div4_clk_ops = { +	.recalc		= sh_clk_div4_recalc, +	.set_rate	= sh_clk_div4_set_rate, +	.round_rate	= sh_clk_div_round_rate, +}; + +static struct clk_ops sh_clk_div4_enable_clk_ops = { +	.recalc		= sh_clk_div4_recalc, +	.set_rate	= sh_clk_div4_set_rate, +	.round_rate	= sh_clk_div_round_rate, +	.enable		= sh_clk_div4_enable, +	.disable	= sh_clk_div4_disable, +}; + +static struct clk_ops sh_clk_div4_reparent_clk_ops = { +	.recalc		= sh_clk_div4_recalc, +	.set_rate	= sh_clk_div4_set_rate, +	.round_rate	= sh_clk_div_round_rate, +	.enable		= sh_clk_div4_enable, +	.disable	= sh_clk_div4_disable, +	.set_parent	= sh_clk_div4_set_parent, +}; + +static int __init sh_clk_div4_register_ops(struct clk *clks, int nr, +			struct clk_div4_table *table, struct clk_ops *ops) +{ +	struct clk *clkp; +	void *freq_table; +	int nr_divs = table->div_mult_table->nr_divisors; +	int freq_table_size = sizeof(struct cpufreq_frequency_table); +	int ret = 0; +	int k; + +	freq_table_size *= (nr_divs + 1); +	freq_table = kzalloc(freq_table_size * nr, GFP_KERNEL); +	if (!freq_table) { +		pr_err("sh_clk_div4_register: unable to alloc memory\n"); +		return -ENOMEM; +	} + +	for (k = 0; !ret && (k < nr); k++) { +		clkp = clks + k; + +		clkp->ops = ops; +		clkp->id = -1; +		clkp->priv = table; + +		clkp->freq_table = freq_table + (k * freq_table_size); +		clkp->freq_table[nr_divs].frequency = CPUFREQ_TABLE_END; + +		ret = clk_register(clkp); +	} + +	return ret; +} + +int __init sh_clk_div4_register(struct clk *clks, int nr, +				struct clk_div4_table *table) +{ +	return sh_clk_div4_register_ops(clks, nr, table, &sh_clk_div4_clk_ops); +} + +int __init sh_clk_div4_enable_register(struct clk *clks, int nr, +				struct clk_div4_table *table) +{ +	return sh_clk_div4_register_ops(clks, nr, table, +					&sh_clk_div4_enable_clk_ops); +} + +int __init sh_clk_div4_reparent_register(struct clk *clks, int nr, +				struct clk_div4_table *table) +{ +	return sh_clk_div4_register_ops(clks, nr, table, +					&sh_clk_div4_reparent_clk_ops); +} diff --git a/drivers/sh/clk.c b/drivers/sh/clk.c new file mode 100644 index 00000000000..5d84adac9ec --- /dev/null +++ b/drivers/sh/clk.c @@ -0,0 +1,545 @@ +/* + * drivers/sh/clk.c - SuperH clock framework + * + *  Copyright (C) 2005 - 2009  Paul Mundt + * + * This clock framework is derived from the OMAP version by: + * + *	Copyright (C) 2004 - 2008 Nokia Corporation + *	Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com> + * + *  Modified for omap shared clock framework by Tony Lindgren <tony@atomide.com> + * + * This file is subject to the terms and conditions of the GNU General Public + * License.  See the file "COPYING" in the main directory of this archive + * for more details. + */ +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/module.h> +#include <linux/mutex.h> +#include <linux/list.h> +#include <linux/kobject.h> +#include <linux/sysdev.h> +#include <linux/seq_file.h> +#include <linux/err.h> +#include <linux/platform_device.h> +#include <linux/debugfs.h> +#include <linux/cpufreq.h> +#include <linux/clk.h> +#include <linux/sh_clk.h> + +static LIST_HEAD(clock_list); +static DEFINE_SPINLOCK(clock_lock); +static DEFINE_MUTEX(clock_list_sem); + +void clk_rate_table_build(struct clk *clk, +			  struct cpufreq_frequency_table *freq_table, +			  int nr_freqs, +			  struct clk_div_mult_table *src_table, +			  unsigned long *bitmap) +{ +	unsigned long mult, div; +	unsigned long freq; +	int i; + +	for (i = 0; i < nr_freqs; i++) { +		div = 1; +		mult = 1; + +		if (src_table->divisors && i < src_table->nr_divisors) +			div = src_table->divisors[i]; + +		if (src_table->multipliers && i < src_table->nr_multipliers) +			mult = src_table->multipliers[i]; + +		if (!div || !mult || (bitmap && !test_bit(i, bitmap))) +			freq = CPUFREQ_ENTRY_INVALID; +		else +			freq = clk->parent->rate * mult / div; + +		freq_table[i].index = i; +		freq_table[i].frequency = freq; +	} + +	/* Termination entry */ +	freq_table[i].index = i; +	freq_table[i].frequency = CPUFREQ_TABLE_END; +} + +long clk_rate_table_round(struct clk *clk, +			  struct cpufreq_frequency_table *freq_table, +			  unsigned long rate) +{ +	unsigned long rate_error, rate_error_prev = ~0UL; +	unsigned long rate_best_fit = rate; +	unsigned long highest, lowest; +	int i; + +	highest = lowest = 0; + +	for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { +		unsigned long freq = freq_table[i].frequency; + +		if (freq == CPUFREQ_ENTRY_INVALID) +			continue; + +		if (freq > highest) +			highest = freq; +		if (freq < lowest) +			lowest = freq; + +		rate_error = abs(freq - rate); +		if (rate_error < rate_error_prev) { +			rate_best_fit = freq; +			rate_error_prev = rate_error; +		} + +		if (rate_error == 0) +			break; +	} + +	if (rate >= highest) +		rate_best_fit = highest; +	if (rate <= lowest) +		rate_best_fit = lowest; + +	return rate_best_fit; +} + +int clk_rate_table_find(struct clk *clk, +			struct cpufreq_frequency_table *freq_table, +			unsigned long rate) +{ +	int i; + +	for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { +		unsigned long freq = freq_table[i].frequency; + +		if (freq == CPUFREQ_ENTRY_INVALID) +			continue; + +		if (freq == rate) +			return i; +	} + +	return -ENOENT; +} + +/* Used for clocks that always have same value as the parent clock */ +unsigned long followparent_recalc(struct clk *clk) +{ +	return clk->parent ? clk->parent->rate : 0; +} + +int clk_reparent(struct clk *child, struct clk *parent) +{ +	list_del_init(&child->sibling); +	if (parent) +		list_add(&child->sibling, &parent->children); +	child->parent = parent; + +	/* now do the debugfs renaming to reattach the child +	   to the proper parent */ + +	return 0; +} + +/* Propagate rate to children */ +void propagate_rate(struct clk *tclk) +{ +	struct clk *clkp; + +	list_for_each_entry(clkp, &tclk->children, sibling) { +		if (clkp->ops && clkp->ops->recalc) +			clkp->rate = clkp->ops->recalc(clkp); + +		propagate_rate(clkp); +	} +} + +static void __clk_disable(struct clk *clk) +{ +	if (WARN(!clk->usecount, "Trying to disable clock %s with 0 usecount\n", +		 clk->name)) +		return; + +	if (!(--clk->usecount)) { +		if (likely(clk->ops && clk->ops->disable)) +			clk->ops->disable(clk); +		if (likely(clk->parent)) +			__clk_disable(clk->parent); +	} +} + +void clk_disable(struct clk *clk) +{ +	unsigned long flags; + +	if (!clk) +		return; + +	spin_lock_irqsave(&clock_lock, flags); +	__clk_disable(clk); +	spin_unlock_irqrestore(&clock_lock, flags); +} +EXPORT_SYMBOL_GPL(clk_disable); + +static int __clk_enable(struct clk *clk) +{ +	int ret = 0; + +	if (clk->usecount++ == 0) { +		if (clk->parent) { +			ret = __clk_enable(clk->parent); +			if (unlikely(ret)) +				goto err; +		} + +		if (clk->ops && clk->ops->enable) { +			ret = clk->ops->enable(clk); +			if (ret) { +				if (clk->parent) +					__clk_disable(clk->parent); +				goto err; +			} +		} +	} + +	return ret; +err: +	clk->usecount--; +	return ret; +} + +int clk_enable(struct clk *clk) +{ +	unsigned long flags; +	int ret; + +	if (!clk) +		return -EINVAL; + +	spin_lock_irqsave(&clock_lock, flags); +	ret = __clk_enable(clk); +	spin_unlock_irqrestore(&clock_lock, flags); + +	return ret; +} +EXPORT_SYMBOL_GPL(clk_enable); + +static LIST_HEAD(root_clks); + +/** + * recalculate_root_clocks - recalculate and propagate all root clocks + * + * Recalculates all root clocks (clocks with no parent), which if the + * clock's .recalc is set correctly, should also propagate their rates. + * Called at init. + */ +void recalculate_root_clocks(void) +{ +	struct clk *clkp; + +	list_for_each_entry(clkp, &root_clks, sibling) { +		if (clkp->ops && clkp->ops->recalc) +			clkp->rate = clkp->ops->recalc(clkp); +		propagate_rate(clkp); +	} +} + +int clk_register(struct clk *clk) +{ +	if (clk == NULL || IS_ERR(clk)) +		return -EINVAL; + +	/* +	 * trap out already registered clocks +	 */ +	if (clk->node.next || clk->node.prev) +		return 0; + +	mutex_lock(&clock_list_sem); + +	INIT_LIST_HEAD(&clk->children); +	clk->usecount = 0; + +	if (clk->parent) +		list_add(&clk->sibling, &clk->parent->children); +	else +		list_add(&clk->sibling, &root_clks); + +	list_add(&clk->node, &clock_list); +	if (clk->ops && clk->ops->init) +		clk->ops->init(clk); +	mutex_unlock(&clock_list_sem); + +	return 0; +} +EXPORT_SYMBOL_GPL(clk_register); + +void clk_unregister(struct clk *clk) +{ +	mutex_lock(&clock_list_sem); +	list_del(&clk->sibling); +	list_del(&clk->node); +	mutex_unlock(&clock_list_sem); +} +EXPORT_SYMBOL_GPL(clk_unregister); + +void clk_enable_init_clocks(void) +{ +	struct clk *clkp; + +	list_for_each_entry(clkp, &clock_list, node) +		if (clkp->flags & CLK_ENABLE_ON_INIT) +			clk_enable(clkp); +} + +unsigned long clk_get_rate(struct clk *clk) +{ +	return clk->rate; +} +EXPORT_SYMBOL_GPL(clk_get_rate); + +int clk_set_rate(struct clk *clk, unsigned long rate) +{ +	return clk_set_rate_ex(clk, rate, 0); +} +EXPORT_SYMBOL_GPL(clk_set_rate); + +int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id) +{ +	int ret = -EOPNOTSUPP; +	unsigned long flags; + +	spin_lock_irqsave(&clock_lock, flags); + +	if (likely(clk->ops && clk->ops->set_rate)) { +		ret = clk->ops->set_rate(clk, rate, algo_id); +		if (ret != 0) +			goto out_unlock; +	} else { +		clk->rate = rate; +		ret = 0; +	} + +	if (clk->ops && clk->ops->recalc) +		clk->rate = clk->ops->recalc(clk); + +	propagate_rate(clk); + +out_unlock: +	spin_unlock_irqrestore(&clock_lock, flags); + +	return ret; +} +EXPORT_SYMBOL_GPL(clk_set_rate_ex); + +int clk_set_parent(struct clk *clk, struct clk *parent) +{ +	unsigned long flags; +	int ret = -EINVAL; + +	if (!parent || !clk) +		return ret; +	if (clk->parent == parent) +		return 0; + +	spin_lock_irqsave(&clock_lock, flags); +	if (clk->usecount == 0) { +		if (clk->ops->set_parent) +			ret = clk->ops->set_parent(clk, parent); +		else +			ret = clk_reparent(clk, parent); + +		if (ret == 0) { +			pr_debug("clock: set parent of %s to %s (new rate %ld)\n", +				 clk->name, clk->parent->name, clk->rate); +			if (clk->ops->recalc) +				clk->rate = clk->ops->recalc(clk); +			propagate_rate(clk); +		} +	} else +		ret = -EBUSY; +	spin_unlock_irqrestore(&clock_lock, flags); + +	return ret; +} +EXPORT_SYMBOL_GPL(clk_set_parent); + +struct clk *clk_get_parent(struct clk *clk) +{ +	return clk->parent; +} +EXPORT_SYMBOL_GPL(clk_get_parent); + +long clk_round_rate(struct clk *clk, unsigned long rate) +{ +	if (likely(clk->ops && clk->ops->round_rate)) { +		unsigned long flags, rounded; + +		spin_lock_irqsave(&clock_lock, flags); +		rounded = clk->ops->round_rate(clk, rate); +		spin_unlock_irqrestore(&clock_lock, flags); + +		return rounded; +	} + +	return clk_get_rate(clk); +} +EXPORT_SYMBOL_GPL(clk_round_rate); + +#ifdef CONFIG_PM +static int clks_sysdev_suspend(struct sys_device *dev, pm_message_t state) +{ +	static pm_message_t prev_state; +	struct clk *clkp; + +	switch (state.event) { +	case PM_EVENT_ON: +		/* Resumeing from hibernation */ +		if (prev_state.event != PM_EVENT_FREEZE) +			break; + +		list_for_each_entry(clkp, &clock_list, node) { +			if (likely(clkp->ops)) { +				unsigned long rate = clkp->rate; + +				if (likely(clkp->ops->set_parent)) +					clkp->ops->set_parent(clkp, +						clkp->parent); +				if (likely(clkp->ops->set_rate)) +					clkp->ops->set_rate(clkp, +						rate, NO_CHANGE); +				else if (likely(clkp->ops->recalc)) +					clkp->rate = clkp->ops->recalc(clkp); +			} +		} +		break; +	case PM_EVENT_FREEZE: +		break; +	case PM_EVENT_SUSPEND: +		break; +	} + +	prev_state = state; +	return 0; +} + +static int clks_sysdev_resume(struct sys_device *dev) +{ +	return clks_sysdev_suspend(dev, PMSG_ON); +} + +static struct sysdev_class clks_sysdev_class = { +	.name = "clks", +}; + +static struct sysdev_driver clks_sysdev_driver = { +	.suspend = clks_sysdev_suspend, +	.resume = clks_sysdev_resume, +}; + +static struct sys_device clks_sysdev_dev = { +	.cls = &clks_sysdev_class, +}; + +static int __init clk_sysdev_init(void) +{ +	sysdev_class_register(&clks_sysdev_class); +	sysdev_driver_register(&clks_sysdev_class, &clks_sysdev_driver); +	sysdev_register(&clks_sysdev_dev); + +	return 0; +} +subsys_initcall(clk_sysdev_init); +#endif + +/* + *	debugfs support to trace clock tree hierarchy and attributes + */ +static struct dentry *clk_debugfs_root; + +static int clk_debugfs_register_one(struct clk *c) +{ +	int err; +	struct dentry *d, *child, *child_tmp; +	struct clk *pa = c->parent; +	char s[255]; +	char *p = s; + +	p += sprintf(p, "%s", c->name); +	if (c->id >= 0) +		sprintf(p, ":%d", c->id); +	d = debugfs_create_dir(s, pa ? pa->dentry : clk_debugfs_root); +	if (!d) +		return -ENOMEM; +	c->dentry = d; + +	d = debugfs_create_u8("usecount", S_IRUGO, c->dentry, (u8 *)&c->usecount); +	if (!d) { +		err = -ENOMEM; +		goto err_out; +	} +	d = debugfs_create_u32("rate", S_IRUGO, c->dentry, (u32 *)&c->rate); +	if (!d) { +		err = -ENOMEM; +		goto err_out; +	} +	d = debugfs_create_x32("flags", S_IRUGO, c->dentry, (u32 *)&c->flags); +	if (!d) { +		err = -ENOMEM; +		goto err_out; +	} +	return 0; + +err_out: +	d = c->dentry; +	list_for_each_entry_safe(child, child_tmp, &d->d_subdirs, d_u.d_child) +		debugfs_remove(child); +	debugfs_remove(c->dentry); +	return err; +} + +static int clk_debugfs_register(struct clk *c) +{ +	int err; +	struct clk *pa = c->parent; + +	if (pa && !pa->dentry) { +		err = clk_debugfs_register(pa); +		if (err) +			return err; +	} + +	if (!c->dentry && c->name) { +		err = clk_debugfs_register_one(c); +		if (err) +			return err; +	} +	return 0; +} + +static int __init clk_debugfs_init(void) +{ +	struct clk *c; +	struct dentry *d; +	int err; + +	d = debugfs_create_dir("clock", NULL); +	if (!d) +		return -ENOMEM; +	clk_debugfs_root = d; + +	list_for_each_entry(c, &clock_list, node) { +		err = clk_debugfs_register(c); +		if (err) +			goto err_out; +	} +	return 0; +err_out: +	debugfs_remove_recursive(clk_debugfs_root); +	return err; +} +late_initcall(clk_debugfs_init); diff --git a/drivers/sh/intc.c b/drivers/sh/intc.c index 94ad6bd86a0..c585574b9ae 100644 --- a/drivers/sh/intc.c +++ b/drivers/sh/intc.c @@ -28,6 +28,7 @@  #include <linux/topology.h>  #include <linux/bitmap.h>  #include <linux/cpumask.h> +#include <asm/sizes.h>  #define _INTC_MK(fn, mode, addr_e, addr_d, width, shift) \  	((shift) | ((width) << 5) | ((fn) << 9) | ((mode) << 13) | \ @@ -45,6 +46,12 @@ struct intc_handle_int {  	unsigned long handle;  }; +struct intc_window { +	phys_addr_t phys; +	void __iomem *virt; +	unsigned long size; +}; +  struct intc_desc_int {  	struct list_head list;  	struct sys_device sysdev; @@ -58,6 +65,8 @@ struct intc_desc_int {  	unsigned int nr_prio;  	struct intc_handle_int *sense;  	unsigned int nr_sense; +	struct intc_window *window; +	unsigned int nr_windows;  	struct irq_chip chip;  }; @@ -87,8 +96,12 @@ static DEFINE_SPINLOCK(vector_lock);  #define SMP_NR(d, x) 1  #endif -static unsigned int intc_prio_level[NR_IRQS]; /* for now */ +static unsigned int intc_prio_level[NR_IRQS];	/* for now */ +static unsigned int default_prio_level = 2;	/* 2 - 16 */  static unsigned long ack_handle[NR_IRQS]; +#ifdef CONFIG_INTC_BALANCING +static unsigned long dist_handle[NR_IRQS]; +#endif  static inline struct intc_desc_int *get_intc_desc(unsigned int irq)  { @@ -96,6 +109,47 @@ static inline struct intc_desc_int *get_intc_desc(unsigned int irq)  	return container_of(chip, struct intc_desc_int, chip);  } +static unsigned long intc_phys_to_virt(struct intc_desc_int *d, +				       unsigned long address) +{ +	struct intc_window *window; +	int k; + +	/* scan through physical windows and convert address */ +	for (k = 0; k < d->nr_windows; k++) { +		window = d->window + k; + +		if (address < window->phys) +			continue; + +		if (address >= (window->phys + window->size)) +			continue; + +		address -= window->phys; +		address += (unsigned long)window->virt; + +		return address; +	} + +	/* no windows defined, register must be 1:1 mapped virt:phys */ +	return address; +} + +static unsigned int intc_get_reg(struct intc_desc_int *d, unsigned long address) +{ +	unsigned int k; + +	address = intc_phys_to_virt(d, address); + +	for (k = 0; k < d->nr_reg; k++) { +		if (d->reg[k] == address) +			return k; +	} + +	BUG(); +	return 0; +} +  static inline unsigned int set_field(unsigned int value,  				     unsigned int field_value,  				     unsigned int handle) @@ -229,6 +283,85 @@ static void (*intc_disable_fns[])(unsigned long addr,  	[MODE_PCLR_REG] = intc_mode_field,  }; +#ifdef CONFIG_INTC_BALANCING +static inline void intc_balancing_enable(unsigned int irq) +{ +	struct intc_desc_int *d = get_intc_desc(irq); +	unsigned long handle = dist_handle[irq]; +	unsigned long addr; + +	if (irq_balancing_disabled(irq) || !handle) +		return; + +	addr = INTC_REG(d, _INTC_ADDR_D(handle), 0); +	intc_reg_fns[_INTC_FN(handle)](addr, handle, 1); +} + +static inline void intc_balancing_disable(unsigned int irq) +{ +	struct intc_desc_int *d = get_intc_desc(irq); +	unsigned long handle = dist_handle[irq]; +	unsigned long addr; + +	if (irq_balancing_disabled(irq) || !handle) +		return; + +	addr = INTC_REG(d, _INTC_ADDR_D(handle), 0); +	intc_reg_fns[_INTC_FN(handle)](addr, handle, 0); +} + +static unsigned int intc_dist_data(struct intc_desc *desc, +				   struct intc_desc_int *d, +				   intc_enum enum_id) +{ +	struct intc_mask_reg *mr = desc->hw.mask_regs; +	unsigned int i, j, fn, mode; +	unsigned long reg_e, reg_d; + +	for (i = 0; mr && enum_id && i < desc->hw.nr_mask_regs; i++) { +		mr = desc->hw.mask_regs + i; + +		/* +		 * Skip this entry if there's no auto-distribution +		 * register associated with it. +		 */ +		if (!mr->dist_reg) +			continue; + +		for (j = 0; j < ARRAY_SIZE(mr->enum_ids); j++) { +			if (mr->enum_ids[j] != enum_id) +				continue; + +			fn = REG_FN_MODIFY_BASE; +			mode = MODE_ENABLE_REG; +			reg_e = mr->dist_reg; +			reg_d = mr->dist_reg; + +			fn += (mr->reg_width >> 3) - 1; +			return _INTC_MK(fn, mode, +					intc_get_reg(d, reg_e), +					intc_get_reg(d, reg_d), +					1, +					(mr->reg_width - 1) - j); +		} +	} + +	/* +	 * It's possible we've gotten here with no distribution options +	 * available for the IRQ in question, so we just skip over those. +	 */ +	return 0; +} +#else +static inline void intc_balancing_enable(unsigned int irq) +{ +} + +static inline void intc_balancing_disable(unsigned int irq) +{ +} +#endif +  static inline void _intc_enable(unsigned int irq, unsigned long handle)  {  	struct intc_desc_int *d = get_intc_desc(irq); @@ -244,6 +377,8 @@ static inline void _intc_enable(unsigned int irq, unsigned long handle)  		intc_enable_fns[_INTC_MODE(handle)](addr, handle, intc_reg_fns\  						    [_INTC_FN(handle)], irq);  	} + +	intc_balancing_enable(irq);  }  static void intc_enable(unsigned int irq) @@ -254,10 +389,12 @@ static void intc_enable(unsigned int irq)  static void intc_disable(unsigned int irq)  {  	struct intc_desc_int *d = get_intc_desc(irq); -	unsigned long handle = (unsigned long) get_irq_chip_data(irq); +	unsigned long handle = (unsigned long)get_irq_chip_data(irq);  	unsigned long addr;  	unsigned int cpu; +	intc_balancing_disable(irq); +  	for (cpu = 0; cpu < SMP_NR(d, _INTC_ADDR_D(handle)); cpu++) {  #ifdef CONFIG_SMP  		if (!cpumask_test_cpu(cpu, irq_to_desc(irq)->affinity)) @@ -336,8 +473,7 @@ static void intc_mask_ack(unsigned int irq)  	intc_disable(irq); -	/* read register and write zero only to the assocaited bit */ - +	/* read register and write zero only to the associated bit */  	if (handle) {  		addr = INTC_REG(d, _INTC_ADDR_D(handle), 0);  		switch (_INTC_FN(handle)) { @@ -366,7 +502,8 @@ static struct intc_handle_int *intc_find_irq(struct intc_handle_int *hp,  {  	int i; -	/* this doesn't scale well, but... +	/* +	 * this doesn't scale well, but...  	 *  	 * this function should only be used for cerain uncommon  	 * operations such as intc_set_priority() and intc_set_sense() @@ -377,7 +514,6 @@ static struct intc_handle_int *intc_find_irq(struct intc_handle_int *hp,  	 * memory footprint down is to make sure the array is sorted  	 * and then perform a bisect to lookup the irq.  	 */ -  	for (i = 0; i < nr_hp; i++) {  		if ((hp + i)->irq != irq)  			continue; @@ -408,7 +544,6 @@ int intc_set_priority(unsigned int irq, unsigned int prio)  		 * primary masking method is using intc_prio_level[irq]  		 * priority level will be set during next enable()  		 */ -  		if (_INTC_FN(ihp->handle) != REG_FN_ERR)  			_intc_enable(irq, ihp->handle);  	} @@ -447,20 +582,6 @@ static int intc_set_sense(unsigned int irq, unsigned int type)  	return 0;  } -static unsigned int __init intc_get_reg(struct intc_desc_int *d, -				 unsigned long address) -{ -	unsigned int k; - -	for (k = 0; k < d->nr_reg; k++) { -		if (d->reg[k] == address) -			return k; -	} - -	BUG(); -	return 0; -} -  static intc_enum __init intc_grp_id(struct intc_desc *desc,  				    intc_enum enum_id)  { @@ -718,13 +839,14 @@ static void __init intc_register_irq(struct intc_desc *desc,  	 */  	set_bit(irq, intc_irq_map); -	/* Prefer single interrupt source bitmap over other combinations: +	/* +	 * Prefer single interrupt source bitmap over other combinations: +	 *  	 * 1. bitmap, single interrupt source  	 * 2. priority, single interrupt source  	 * 3. bitmap, multiple interrupt sources (groups)  	 * 4. priority, multiple interrupt sources (groups)  	 */ -  	data[0] = intc_mask_data(desc, d, enum_id, 0);  	data[1] = intc_prio_data(desc, d, enum_id, 0); @@ -749,10 +871,11 @@ static void __init intc_register_irq(struct intc_desc *desc,  				      handle_level_irq, "level");  	set_irq_chip_data(irq, (void *)data[primary]); -	/* set priority level +	/* +	 * set priority level  	 * - this needs to be at least 2 for 5-bit priorities on 7780  	 */ -	intc_prio_level[irq] = 2; +	intc_prio_level[irq] = default_prio_level;  	/* enable secondary masking method if present */  	if (data[!primary]) @@ -769,7 +892,6 @@ static void __init intc_register_irq(struct intc_desc *desc,  			 * only secondary priority should access registers, so  			 * set _INTC_FN(h) = REG_FN_ERR for intc_set_priority()  			 */ -  			hp->handle &= ~_INTC_MK(0x0f, 0, 0, 0, 0, 0);  			hp->handle |= _INTC_MK(REG_FN_ERR, 0, 0, 0, 0, 0);  		} @@ -790,6 +912,11 @@ static void __init intc_register_irq(struct intc_desc *desc,  	if (desc->hw.ack_regs)  		ack_handle[irq] = intc_ack_data(desc, d, enum_id); +#ifdef CONFIG_INTC_BALANCING +	if (desc->hw.mask_regs) +		dist_handle[irq] = intc_dist_data(desc, d, enum_id); +#endif +  #ifdef CONFIG_ARM  	set_irq_flags(irq, IRQF_VALID); /* Enable IRQ on ARM systems */  #endif @@ -801,6 +928,8 @@ static unsigned int __init save_reg(struct intc_desc_int *d,  				    unsigned int smp)  {  	if (value) { +		value = intc_phys_to_virt(d, value); +  		d->reg[cnt] = value;  #ifdef CONFIG_SMP  		d->smp[cnt] = smp; @@ -816,25 +945,59 @@ static void intc_redirect_irq(unsigned int irq, struct irq_desc *desc)  	generic_handle_irq((unsigned int)get_irq_data(irq));  } -void __init register_intc_controller(struct intc_desc *desc) +int __init register_intc_controller(struct intc_desc *desc)  {  	unsigned int i, k, smp;  	struct intc_hw_desc *hw = &desc->hw;  	struct intc_desc_int *d; +	struct resource *res; + +	pr_info("intc: Registered controller '%s' with %u IRQs\n", +		desc->name, hw->nr_vectors);  	d = kzalloc(sizeof(*d), GFP_NOWAIT); +	if (!d) +		goto err0;  	INIT_LIST_HEAD(&d->list);  	list_add(&d->list, &intc_list); +	if (desc->num_resources) { +		d->nr_windows = desc->num_resources; +		d->window = kzalloc(d->nr_windows * sizeof(*d->window), +				    GFP_NOWAIT); +		if (!d->window) +			goto err1; + +		for (k = 0; k < d->nr_windows; k++) { +			res = desc->resource + k; +			WARN_ON(resource_type(res) != IORESOURCE_MEM); +			d->window[k].phys = res->start; +			d->window[k].size = resource_size(res); +			d->window[k].virt = ioremap_nocache(res->start, +							 resource_size(res)); +			if (!d->window[k].virt) +				goto err2; +		} +	} +  	d->nr_reg = hw->mask_regs ? hw->nr_mask_regs * 2 : 0; +#ifdef CONFIG_INTC_BALANCING +	if (d->nr_reg) +		d->nr_reg += hw->nr_mask_regs; +#endif  	d->nr_reg += hw->prio_regs ? hw->nr_prio_regs * 2 : 0;  	d->nr_reg += hw->sense_regs ? hw->nr_sense_regs : 0;  	d->nr_reg += hw->ack_regs ? hw->nr_ack_regs : 0;  	d->reg = kzalloc(d->nr_reg * sizeof(*d->reg), GFP_NOWAIT); +	if (!d->reg) +		goto err2; +  #ifdef CONFIG_SMP  	d->smp = kzalloc(d->nr_reg * sizeof(*d->smp), GFP_NOWAIT); +	if (!d->smp) +		goto err3;  #endif  	k = 0; @@ -843,12 +1006,17 @@ void __init register_intc_controller(struct intc_desc *desc)  			smp = IS_SMP(hw->mask_regs[i]);  			k += save_reg(d, k, hw->mask_regs[i].set_reg, smp);  			k += save_reg(d, k, hw->mask_regs[i].clr_reg, smp); +#ifdef CONFIG_INTC_BALANCING +			k += save_reg(d, k, hw->mask_regs[i].dist_reg, 0); +#endif  		}  	}  	if (hw->prio_regs) {  		d->prio = kzalloc(hw->nr_vectors * sizeof(*d->prio),  				  GFP_NOWAIT); +		if (!d->prio) +			goto err4;  		for (i = 0; i < hw->nr_prio_regs; i++) {  			smp = IS_SMP(hw->prio_regs[i]); @@ -860,6 +1028,8 @@ void __init register_intc_controller(struct intc_desc *desc)  	if (hw->sense_regs) {  		d->sense = kzalloc(hw->nr_vectors * sizeof(*d->sense),  				   GFP_NOWAIT); +		if (!d->sense) +			goto err5;  		for (i = 0; i < hw->nr_sense_regs; i++)  			k += save_reg(d, k, hw->sense_regs[i].reg, 0); @@ -906,7 +1076,7 @@ void __init register_intc_controller(struct intc_desc *desc)  		irq_desc = irq_to_desc_alloc_node(irq, numa_node_id());  		if (unlikely(!irq_desc)) { -			pr_info("can't get irq_desc for %d\n", irq); +			pr_err("can't get irq_desc for %d\n", irq);  			continue;  		} @@ -926,7 +1096,7 @@ void __init register_intc_controller(struct intc_desc *desc)  			 */  			irq_desc = irq_to_desc_alloc_node(irq2, numa_node_id());  			if (unlikely(!irq_desc)) { -				pr_info("can't get irq_desc for %d\n", irq2); +				pr_err("can't get irq_desc for %d\n", irq2);  				continue;  			} @@ -942,8 +1112,100 @@ void __init register_intc_controller(struct intc_desc *desc)  	/* enable bits matching force_enable after registering irqs */  	if (desc->force_enable)  		intc_enable_disable_enum(desc, d, desc->force_enable, 1); + +	return 0; +err5: +	kfree(d->prio); +err4: +#ifdef CONFIG_SMP +	kfree(d->smp); +err3: +#endif +	kfree(d->reg); +err2: +	for (k = 0; k < d->nr_windows; k++) +		if (d->window[k].virt) +			iounmap(d->window[k].virt); + +	kfree(d->window); +err1: +	kfree(d); +err0: +	pr_err("unable to allocate INTC memory\n"); + +	return -ENOMEM; +} + +#ifdef CONFIG_INTC_USERIMASK +static void __iomem *uimask; + +int register_intc_userimask(unsigned long addr) +{ +	if (unlikely(uimask)) +		return -EBUSY; + +	uimask = ioremap_nocache(addr, SZ_4K); +	if (unlikely(!uimask)) +		return -ENOMEM; + +	pr_info("intc: userimask support registered for levels 0 -> %d\n", +		default_prio_level - 1); + +	return 0; +} + +static ssize_t +show_intc_userimask(struct sysdev_class *cls, +		    struct sysdev_class_attribute *attr, char *buf) +{ +	return sprintf(buf, "%d\n", (__raw_readl(uimask) >> 4) & 0xf); +} + +static ssize_t +store_intc_userimask(struct sysdev_class *cls, +		     struct sysdev_class_attribute *attr, +		     const char *buf, size_t count) +{ +	unsigned long level; + +	level = simple_strtoul(buf, NULL, 10); + +	/* +	 * Minimal acceptable IRQ levels are in the 2 - 16 range, but +	 * these are chomped so as to not interfere with normal IRQs. +	 * +	 * Level 1 is a special case on some CPUs in that it's not +	 * directly settable, but given that USERIMASK cuts off below a +	 * certain level, we don't care about this limitation here. +	 * Level 0 on the other hand equates to user masking disabled. +	 * +	 * We use default_prio_level as a cut off so that only special +	 * case opt-in IRQs can be mangled. +	 */ +	if (level >= default_prio_level) +		return -EINVAL; + +	__raw_writel(0xa5 << 24 | level << 4, uimask); + +	return count;  } +static SYSDEV_CLASS_ATTR(userimask, S_IRUSR | S_IWUSR, +			 show_intc_userimask, store_intc_userimask); +#endif + +static ssize_t +show_intc_name(struct sys_device *dev, struct sysdev_attribute *attr, char *buf) +{ +	struct intc_desc_int *d; + +	d = container_of(dev, struct intc_desc_int, sysdev); + +	return sprintf(buf, "%s\n", d->chip.name); +} + +static SYSDEV_ATTR(name, S_IRUGO, show_intc_name, NULL); +  static int intc_suspend(struct sys_device *dev, pm_message_t state)  {  	struct intc_desc_int *d; @@ -1003,19 +1265,28 @@ static int __init register_intc_sysdevs(void)  	int id = 0;  	error = sysdev_class_register(&intc_sysdev_class); +#ifdef CONFIG_INTC_USERIMASK +	if (!error && uimask) +		error = sysdev_class_create_file(&intc_sysdev_class, +						 &attr_userimask); +#endif  	if (!error) {  		list_for_each_entry(d, &intc_list, list) {  			d->sysdev.id = id;  			d->sysdev.cls = &intc_sysdev_class;  			error = sysdev_register(&d->sysdev); +			if (error == 0) +				error = sysdev_create_file(&d->sysdev, +							   &attr_name);  			if (error)  				break; +  			id++;  		}  	}  	if (error) -		pr_warning("intc: sysdev registration error\n"); +		pr_err("intc: sysdev registration error\n");  	return error;  } @@ -1048,7 +1319,7 @@ unsigned int create_irq_nr(unsigned int irq_want, int node)  	desc = irq_to_desc_alloc_node(new, node);  	if (unlikely(!desc)) { -		pr_info("can't get irq_desc for %d\n", new); +		pr_err("can't get irq_desc for %d\n", new);  		goto out_unlock;  	} diff --git a/include/linux/device.h b/include/linux/device.h index 182192892d4..241b96bcd7a 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -451,6 +451,10 @@ struct device {  static inline const char *dev_name(const struct device *dev)  { +	/* Use the init name until the kobject becomes available */ +	if (dev->init_name) +		return dev->init_name; +  	return kobject_name(&dev->kobj);  } diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h index 193d4bfe42f..f5364a1de68 100644 --- a/include/linux/serial_sci.h +++ b/include/linux/serial_sci.h @@ -33,8 +33,8 @@ struct plat_sci_port {  	char		*clk;			/* clock string */  	struct device	*dma_dev;  #ifdef CONFIG_SERIAL_SH_SCI_DMA -	enum sh_dmae_slave_chan_id dma_slave_tx; -	enum sh_dmae_slave_chan_id dma_slave_rx; +	unsigned int dma_slave_tx; +	unsigned int dma_slave_rx;  #endif  }; diff --git a/include/linux/sh_clk.h b/include/linux/sh_clk.h new file mode 100644 index 00000000000..1636d1e2a5f --- /dev/null +++ b/include/linux/sh_clk.h @@ -0,0 +1,150 @@ +#ifndef __SH_CLOCK_H +#define __SH_CLOCK_H + +#include <linux/list.h> +#include <linux/seq_file.h> +#include <linux/cpufreq.h> +#include <linux/clk.h> +#include <linux/err.h> + +struct clk; + +struct clk_ops { +	void (*init)(struct clk *clk); +	int (*enable)(struct clk *clk); +	void (*disable)(struct clk *clk); +	unsigned long (*recalc)(struct clk *clk); +	int (*set_rate)(struct clk *clk, unsigned long rate, int algo_id); +	int (*set_parent)(struct clk *clk, struct clk *parent); +	long (*round_rate)(struct clk *clk, unsigned long rate); +}; + +struct clk { +	struct list_head	node; +	const char		*name; +	int			id; + +	struct clk		*parent; +	struct clk_ops		*ops; + +	struct list_head	children; +	struct list_head	sibling;	/* node for children */ + +	int			usecount; + +	unsigned long		rate; +	unsigned long		flags; + +	void __iomem		*enable_reg; +	unsigned int		enable_bit; + +	unsigned long		arch_flags; +	void			*priv; +	struct dentry		*dentry; +	struct cpufreq_frequency_table *freq_table; +}; + +#define CLK_ENABLE_ON_INIT	(1 << 0) + +/* drivers/sh/clk.c */ +unsigned long followparent_recalc(struct clk *); +void recalculate_root_clocks(void); +void propagate_rate(struct clk *); +int clk_reparent(struct clk *child, struct clk *parent); +int clk_register(struct clk *); +void clk_unregister(struct clk *); +void clk_enable_init_clocks(void); + +/** + * clk_set_rate_ex - set the clock rate for a clock source, with additional parameter + * @clk: clock source + * @rate: desired clock rate in Hz + * @algo_id: algorithm id to be passed down to ops->set_rate + * + * Returns success (0) or negative errno. + */ +int clk_set_rate_ex(struct clk *clk, unsigned long rate, int algo_id); + +enum clk_sh_algo_id { +	NO_CHANGE = 0, + +	IUS_N1_N1, +	IUS_322, +	IUS_522, +	IUS_N11, + +	SB_N1, + +	SB3_N1, +	SB3_32, +	SB3_43, +	SB3_54, + +	BP_N1, + +	IP_N1, +}; + +struct clk_div_mult_table { +	unsigned int *divisors; +	unsigned int nr_divisors; +	unsigned int *multipliers; +	unsigned int nr_multipliers; +}; + +struct cpufreq_frequency_table; +void clk_rate_table_build(struct clk *clk, +			  struct cpufreq_frequency_table *freq_table, +			  int nr_freqs, +			  struct clk_div_mult_table *src_table, +			  unsigned long *bitmap); + +long clk_rate_table_round(struct clk *clk, +			  struct cpufreq_frequency_table *freq_table, +			  unsigned long rate); + +int clk_rate_table_find(struct clk *clk, +			struct cpufreq_frequency_table *freq_table, +			unsigned long rate); + +#define SH_CLK_MSTP32(_parent, _enable_reg, _enable_bit, _flags)	\ +{									\ +	.parent		= _parent,					\ +	.enable_reg	= (void __iomem *)_enable_reg,			\ +	.enable_bit	= _enable_bit,					\ +	.flags		= _flags,					\ +} + +int sh_clk_mstp32_register(struct clk *clks, int nr); + +#define SH_CLK_DIV4(_parent, _reg, _shift, _div_bitmap, _flags)	\ +{								\ +	.parent = _parent,					\ +	.enable_reg = (void __iomem *)_reg,			\ +	.enable_bit = _shift,					\ +	.arch_flags = _div_bitmap,				\ +	.flags = _flags,					\ +} + +struct clk_div4_table { +	struct clk_div_mult_table *div_mult_table; +	void (*kick)(struct clk *clk); +}; + +int sh_clk_div4_register(struct clk *clks, int nr, +			 struct clk_div4_table *table); +int sh_clk_div4_enable_register(struct clk *clks, int nr, +			 struct clk_div4_table *table); +int sh_clk_div4_reparent_register(struct clk *clks, int nr, +			 struct clk_div4_table *table); + +#define SH_CLK_DIV6(_parent, _reg, _flags)	\ +{						\ +	.parent = _parent,			\ +	.enable_reg = (void __iomem *)_reg,	\ +	.flags = _flags,			\ +} + +int sh_clk_div6_register(struct clk *clks, int nr); + +#endif /* __SH_CLOCK_H */ diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h new file mode 100644 index 00000000000..b08cd4efa15 --- /dev/null +++ b/include/linux/sh_dma.h @@ -0,0 +1,102 @@ +/* + * Header for the new SH dmaengine driver + * + * Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef SH_DMA_H +#define SH_DMA_H + +#include <linux/list.h> +#include <linux/dmaengine.h> + +/* Used by slave DMA clients to request DMA to/from a specific peripheral */ +struct sh_dmae_slave { +	unsigned int			slave_id; /* Set by the platform */ +	struct device			*dma_dev; /* Set by the platform */ +	const struct sh_dmae_slave_config	*config;  /* Set by the driver */ +}; + +struct sh_dmae_regs { +	u32 sar; /* SAR / source address */ +	u32 dar; /* DAR / destination address */ +	u32 tcr; /* TCR / transfer count */ +}; + +struct sh_desc { +	struct sh_dmae_regs hw; +	struct list_head node; +	struct dma_async_tx_descriptor async_tx; +	enum dma_data_direction direction; +	dma_cookie_t cookie; +	size_t partial; +	int chunks; +	int mark; +}; + +struct sh_dmae_slave_config { +	unsigned int			slave_id; +	dma_addr_t			addr; +	u32				chcr; +	char				mid_rid; +}; + +struct sh_dmae_channel { +	unsigned int	offset; +	unsigned int	dmars; +	unsigned int	dmars_bit; +}; + +struct sh_dmae_pdata { +	const struct sh_dmae_slave_config *slave; +	int slave_num; +	const struct sh_dmae_channel *channel; +	int channel_num; +	unsigned int ts_low_shift; +	unsigned int ts_low_mask; +	unsigned int ts_high_shift; +	unsigned int ts_high_mask; +	const unsigned int *ts_shift; +	int ts_shift_num; +	u16 dmaor_init; +}; + +/* DMA register */ +#define SAR	0x00 +#define DAR	0x04 +#define TCR	0x08 +#define CHCR	0x0C +#define DMAOR	0x40 + +/* DMAOR definitions */ +#define DMAOR_AE	0x00000004 +#define DMAOR_NMIF	0x00000002 +#define DMAOR_DME	0x00000001 + +/* Definitions for the SuperH DMAC */ +#define REQ_L	0x00000000 +#define REQ_E	0x00080000 +#define RACK_H	0x00000000 +#define RACK_L	0x00040000 +#define ACK_R	0x00000000 +#define ACK_W	0x00020000 +#define ACK_H	0x00000000 +#define ACK_L	0x00010000 +#define DM_INC	0x00004000 +#define DM_DEC	0x00008000 +#define DM_FIX	0x0000c000 +#define SM_INC	0x00001000 +#define SM_DEC	0x00002000 +#define SM_FIX	0x00003000 +#define RS_IN	0x00000200 +#define RS_OUT	0x00000300 +#define TS_BLK	0x00000040 +#define TM_BUR	0x00000020 +#define CHCR_DE	0x00000001 +#define CHCR_TE	0x00000002 +#define CHCR_IE	0x00000004 + +#endif diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h index 51d288d8ac8..0d6cd38e673 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h @@ -1,6 +1,8 @@  #ifndef __SH_INTC_H  #define __SH_INTC_H +#include <linux/ioport.h> +  typedef unsigned char intc_enum;  struct intc_vect { @@ -21,6 +23,9 @@ struct intc_group {  struct intc_mask_reg {  	unsigned long set_reg, clr_reg, reg_width;  	intc_enum enum_ids[32]; +#ifdef CONFIG_INTC_BALANCING +	unsigned long dist_reg; +#endif  #ifdef CONFIG_SMP  	unsigned long smp;  #endif @@ -39,8 +44,14 @@ struct intc_sense_reg {  	intc_enum enum_ids[16];  }; +#ifdef CONFIG_INTC_BALANCING +#define INTC_SMP_BALANCING(reg)	.dist_reg = (reg) +#else +#define INTC_SMP_BALANCING(reg) +#endif +  #ifdef CONFIG_SMP -#define INTC_SMP(stride, nr) .smp = (stride) | ((nr) << 8) +#define INTC_SMP(stride, nr)	.smp = (stride) | ((nr) << 8)  #else  #define INTC_SMP(stride, nr)  #endif @@ -71,6 +82,8 @@ struct intc_hw_desc {  struct intc_desc {  	char *name; +	struct resource *resource; +	unsigned int num_resources;  	intc_enum force_enable;  	intc_enum force_disable;  	struct intc_hw_desc hw; @@ -92,9 +105,18 @@ struct intc_desc symbol __initdata = {					\  			   prio_regs, sense_regs, ack_regs),		\  } -void __init register_intc_controller(struct intc_desc *desc); +int __init register_intc_controller(struct intc_desc *desc);  int intc_set_priority(unsigned int irq, unsigned int prio); +#ifdef CONFIG_INTC_USERIMASK +int register_intc_userimask(unsigned long addr); +#else +static inline int register_intc_userimask(unsigned long addr) +{ +	return 0; +} +#endif +  int reserve_irq_vector(unsigned int irq);  void reserve_irq_legacy(void);  |