diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/boards/board-ap325rxa.c | 4 | ||||
-rw-r--r-- | arch/sh/boards/mach-migor/setup.c | 8 | ||||
-rw-r--r-- | arch/sh/boards/mach-sh7763rdp/setup.c | 84 | ||||
-rw-r--r-- | arch/sh/boards/mach-x3proto/setup.c | 10 | ||||
-rw-r--r-- | arch/sh/configs/sh7763rdp_defconfig | 113 | ||||
-rw-r--r-- | arch/sh/include/asm/flat.h | 7 | ||||
-rw-r--r-- | arch/sh/include/asm/kexec.h | 2 | ||||
-rw-r--r-- | arch/sh/include/asm/migor.h | 3 | ||||
-rw-r--r-- | arch/sh/include/asm/sh_mobile_lcdc.h | 6 | ||||
-rw-r--r-- | arch/sh/include/cpu-sh3/cpu/cacheflush.h | 10 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 4 | ||||
-rw-r--r-- | arch/sh/kernel/sh_ksyms_32.c | 4 | ||||
-rw-r--r-- | arch/sh/mm/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/mm/consistent.c | 27 |
14 files changed, 258 insertions, 26 deletions
diff --git a/arch/sh/boards/board-ap325rxa.c b/arch/sh/boards/board-ap325rxa.c index 025d4fe55a58..fd1612590bf4 100644 --- a/arch/sh/boards/board-ap325rxa.c +++ b/arch/sh/boards/board-ap325rxa.c | |||
@@ -140,6 +140,10 @@ static struct sh_mobile_lcdc_info lcdc_info = { | |||
140 | .vsync_len = 1, | 140 | .vsync_len = 1, |
141 | .sync = 0, /* hsync and vsync are active low */ | 141 | .sync = 0, /* hsync and vsync are active low */ |
142 | }, | 142 | }, |
143 | .lcd_size_cfg = { /* 7.0 inch */ | ||
144 | .width = 152, | ||
145 | .height = 91, | ||
146 | }, | ||
143 | .board_cfg = { | 147 | .board_cfg = { |
144 | .display_on = ap320_wvga_power_on, | 148 | .display_on = ap320_wvga_power_on, |
145 | }, | 149 | }, |
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c index e499ee384d58..714dce91cc9b 100644 --- a/arch/sh/boards/mach-migor/setup.c +++ b/arch/sh/boards/mach-migor/setup.c | |||
@@ -224,6 +224,10 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc_info = { | |||
224 | .vsync_len = 2, | 224 | .vsync_len = 2, |
225 | .sync = 0, | 225 | .sync = 0, |
226 | }, | 226 | }, |
227 | .lcd_size_cfg = { /* 7.0 inch */ | ||
228 | .width = 152, | ||
229 | .height = 91, | ||
230 | }, | ||
227 | } | 231 | } |
228 | #endif | 232 | #endif |
229 | #ifdef CONFIG_SH_MIGOR_QVGA | 233 | #ifdef CONFIG_SH_MIGOR_QVGA |
@@ -245,6 +249,10 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc_info = { | |||
245 | .vsync_len = 2, | 249 | .vsync_len = 2, |
246 | .sync = FB_SYNC_HOR_HIGH_ACT, | 250 | .sync = FB_SYNC_HOR_HIGH_ACT, |
247 | }, | 251 | }, |
252 | .lcd_size_cfg = { /* 2.4 inch */ | ||
253 | .width = 49, | ||
254 | .height = 37, | ||
255 | }, | ||
248 | .board_cfg = { | 256 | .board_cfg = { |
249 | .setup_sys = migor_lcd_qvga_setup, | 257 | .setup_sys = migor_lcd_qvga_setup, |
250 | }, | 258 | }, |
diff --git a/arch/sh/boards/mach-sh7763rdp/setup.c b/arch/sh/boards/mach-sh7763rdp/setup.c index 925f16af7121..23850da05e3c 100644 --- a/arch/sh/boards/mach-sh7763rdp/setup.c +++ b/arch/sh/boards/mach-sh7763rdp/setup.c | |||
@@ -15,8 +15,11 @@ | |||
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/input.h> | 16 | #include <linux/input.h> |
17 | #include <linux/mtd/physmap.h> | 17 | #include <linux/mtd/physmap.h> |
18 | #include <asm/io.h> | 18 | #include <linux/fb.h> |
19 | #include <linux/io.h> | ||
19 | #include <asm/sh7763rdp.h> | 20 | #include <asm/sh7763rdp.h> |
21 | #include <asm/sh_eth.h> | ||
22 | #include <asm/sh7760fb.h> | ||
20 | 23 | ||
21 | /* NOR Flash */ | 24 | /* NOR Flash */ |
22 | static struct mtd_partition sh7763rdp_nor_flash_partitions[] = { | 25 | static struct mtd_partition sh7763rdp_nor_flash_partitions[] = { |
@@ -60,8 +63,85 @@ static struct platform_device sh7763rdp_nor_flash_device = { | |||
60 | }, | 63 | }, |
61 | }; | 64 | }; |
62 | 65 | ||
66 | /* SH-Ether */ | ||
67 | static struct resource sh_eth_resources[] = { | ||
68 | { | ||
69 | .start = 0xFEE00800, /* use eth1 */ | ||
70 | .end = 0xFEE00F7C - 1, | ||
71 | .flags = IORESOURCE_MEM, | ||
72 | }, { | ||
73 | .start = 58, /* irq number */ | ||
74 | .end = 58, | ||
75 | .flags = IORESOURCE_IRQ, | ||
76 | }, | ||
77 | }; | ||
78 | |||
79 | static struct sh_eth_plat_data sh7763_eth_pdata = { | ||
80 | .phy = 1, | ||
81 | .edmac_endian = EDMAC_LITTLE_ENDIAN, | ||
82 | }; | ||
83 | |||
84 | static struct platform_device sh7763rdp_eth_device = { | ||
85 | .name = "sh-eth", | ||
86 | .resource = sh_eth_resources, | ||
87 | .num_resources = ARRAY_SIZE(sh_eth_resources), | ||
88 | .dev = { | ||
89 | .platform_data = &sh7763_eth_pdata, | ||
90 | }, | ||
91 | }; | ||
92 | |||
93 | /* SH7763 LCDC */ | ||
94 | static struct resource sh7763rdp_fb_resources[] = { | ||
95 | { | ||
96 | .start = 0xFFE80000, | ||
97 | .end = 0xFFE80442 - 1, | ||
98 | .flags = IORESOURCE_MEM, | ||
99 | }, | ||
100 | }; | ||
101 | |||
102 | static struct fb_videomode sh7763fb_videomode = { | ||
103 | .refresh = 60, | ||
104 | .name = "VGA Monitor", | ||
105 | .xres = 640, | ||
106 | .yres = 480, | ||
107 | .pixclock = 10000, | ||
108 | .left_margin = 80, | ||
109 | .right_margin = 24, | ||
110 | .upper_margin = 30, | ||
111 | .lower_margin = 1, | ||
112 | .hsync_len = 96, | ||
113 | .vsync_len = 1, | ||
114 | .sync = 0, | ||
115 | .vmode = FB_VMODE_NONINTERLACED, | ||
116 | .flag = FBINFO_FLAG_DEFAULT, | ||
117 | }; | ||
118 | |||
119 | static struct sh7760fb_platdata sh7763fb_def_pdata = { | ||
120 | .def_mode = &sh7763fb_videomode, | ||
121 | .ldmtr = (LDMTR_TFT_COLOR_16|LDMTR_MCNT), | ||
122 | .lddfr = LDDFR_16BPP_RGB565, | ||
123 | .ldpmmr = 0x0000, | ||
124 | .ldpspr = 0xFFFF, | ||
125 | .ldaclnr = 0x0001, | ||
126 | .ldickr = 0x1102, | ||
127 | .rotate = 0, | ||
128 | .novsync = 0, | ||
129 | .blank = NULL, | ||
130 | }; | ||
131 | |||
132 | static struct platform_device sh7763rdp_fb_device = { | ||
133 | .name = "sh7760-lcdc", | ||
134 | .resource = sh7763rdp_fb_resources, | ||
135 | .num_resources = ARRAY_SIZE(sh7763rdp_fb_resources), | ||
136 | .dev = { | ||
137 | .platform_data = &sh7763fb_def_pdata, | ||
138 | }, | ||
139 | }; | ||
140 | |||
63 | static struct platform_device *sh7763rdp_devices[] __initdata = { | 141 | static struct platform_device *sh7763rdp_devices[] __initdata = { |
64 | &sh7763rdp_nor_flash_device, | 142 | &sh7763rdp_nor_flash_device, |
143 | &sh7763rdp_eth_device, | ||
144 | &sh7763rdp_fb_device, | ||
65 | }; | 145 | }; |
66 | 146 | ||
67 | static int __init sh7763rdp_devices_setup(void) | 147 | static int __init sh7763rdp_devices_setup(void) |
@@ -69,7 +149,7 @@ static int __init sh7763rdp_devices_setup(void) | |||
69 | return platform_add_devices(sh7763rdp_devices, | 149 | return platform_add_devices(sh7763rdp_devices, |
70 | ARRAY_SIZE(sh7763rdp_devices)); | 150 | ARRAY_SIZE(sh7763rdp_devices)); |
71 | } | 151 | } |
72 | __initcall(sh7763rdp_devices_setup); | 152 | device_initcall(sh7763rdp_devices_setup); |
73 | 153 | ||
74 | static void __init sh7763rdp_setup(char **cmdline_p) | 154 | static void __init sh7763rdp_setup(char **cmdline_p) |
75 | { | 155 | { |
diff --git a/arch/sh/boards/mach-x3proto/setup.c b/arch/sh/boards/mach-x3proto/setup.c index abc5b6d418fe..a70d23b21788 100644 --- a/arch/sh/boards/mach-x3proto/setup.c +++ b/arch/sh/boards/mach-x3proto/setup.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * | 3 | * |
4 | * Renesas SH-X3 Prototype Board Support. | 4 | * Renesas SH-X3 Prototype Board Support. |
5 | * | 5 | * |
6 | * Copyright (C) 2007 Paul Mundt | 6 | * Copyright (C) 2007 - 2008 Paul Mundt |
7 | * | 7 | * |
8 | * This file is subject to the terms and conditions of the GNU General Public | 8 | * This file is subject to the terms and conditions of the GNU General Public |
9 | * License. See the file "COPYING" in the main directory of this archive | 9 | * License. See the file "COPYING" in the main directory of this archive |
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/platform_device.h> | 13 | #include <linux/platform_device.h> |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/smc91x.h> | ||
16 | #include <asm/ilsel.h> | 17 | #include <asm/ilsel.h> |
17 | 18 | ||
18 | static struct resource heartbeat_resources[] = { | 19 | static struct resource heartbeat_resources[] = { |
@@ -30,6 +31,10 @@ static struct platform_device heartbeat_device = { | |||
30 | .resource = heartbeat_resources, | 31 | .resource = heartbeat_resources, |
31 | }; | 32 | }; |
32 | 33 | ||
34 | static struct smc91x_platdata smc91x_info = { | ||
35 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
36 | }; | ||
37 | |||
33 | static struct resource smc91x_resources[] = { | 38 | static struct resource smc91x_resources[] = { |
34 | [0] = { | 39 | [0] = { |
35 | .start = 0x18000300, | 40 | .start = 0x18000300, |
@@ -47,6 +52,9 @@ static struct platform_device smc91x_device = { | |||
47 | .id = -1, | 52 | .id = -1, |
48 | .resource = smc91x_resources, | 53 | .resource = smc91x_resources, |
49 | .num_resources = ARRAY_SIZE(smc91x_resources), | 54 | .num_resources = ARRAY_SIZE(smc91x_resources), |
55 | .dev = { | ||
56 | .platform_data = &smc91x_info, | ||
57 | }, | ||
50 | }; | 58 | }; |
51 | 59 | ||
52 | static struct resource r8a66597_usb_host_resources[] = { | 60 | static struct resource r8a66597_usb_host_resources[] = { |
diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig index 83f3fe5db3e5..baf830c4a7e4 100644 --- a/arch/sh/configs/sh7763rdp_defconfig +++ b/arch/sh/configs/sh7763rdp_defconfig | |||
@@ -1,15 +1,17 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.26-rc4 | 3 | # Linux kernel version: 2.6.27-rc2 |
4 | # Fri Jun 6 12:20:17 2008 | 4 | # Fri Aug 8 13:44:20 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
8 | CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_BUG=y | 10 | CONFIG_GENERIC_BUG=y |
10 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 11 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
11 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
12 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
13 | CONFIG_GENERIC_IRQ_PROBE=y | 15 | CONFIG_GENERIC_IRQ_PROBE=y |
14 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 16 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
15 | CONFIG_GENERIC_TIME=y | 17 | CONFIG_GENERIC_TIME=y |
@@ -19,7 +21,6 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 21 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
21 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 23 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
22 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | 25 | ||
25 | # | 26 | # |
@@ -83,10 +84,16 @@ CONFIG_PROFILING=y | |||
83 | # CONFIG_MARKERS is not set | 84 | # CONFIG_MARKERS is not set |
84 | CONFIG_OPROFILE=y | 85 | CONFIG_OPROFILE=y |
85 | CONFIG_HAVE_OPROFILE=y | 86 | CONFIG_HAVE_OPROFILE=y |
87 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
88 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
86 | # CONFIG_HAVE_KPROBES is not set | 89 | # CONFIG_HAVE_KPROBES is not set |
87 | # CONFIG_HAVE_KRETPROBES is not set | 90 | # CONFIG_HAVE_KRETPROBES is not set |
91 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
88 | # CONFIG_HAVE_DMA_ATTRS is not set | 92 | # CONFIG_HAVE_DMA_ATTRS is not set |
93 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
94 | CONFIG_HAVE_CLK=y | ||
89 | CONFIG_PROC_PAGE_MONITOR=y | 95 | CONFIG_PROC_PAGE_MONITOR=y |
96 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
90 | CONFIG_SLABINFO=y | 97 | CONFIG_SLABINFO=y |
91 | CONFIG_RT_MUTEXES=y | 98 | CONFIG_RT_MUTEXES=y |
92 | # CONFIG_TINY_SHMEM is not set | 99 | # CONFIG_TINY_SHMEM is not set |
@@ -96,12 +103,13 @@ CONFIG_MODULES=y | |||
96 | # CONFIG_MODULE_UNLOAD is not set | 103 | # CONFIG_MODULE_UNLOAD is not set |
97 | # CONFIG_MODVERSIONS is not set | 104 | # CONFIG_MODVERSIONS is not set |
98 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 105 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
99 | # CONFIG_KMOD is not set | 106 | CONFIG_KMOD=y |
100 | CONFIG_BLOCK=y | 107 | CONFIG_BLOCK=y |
101 | # CONFIG_LBD is not set | 108 | # CONFIG_LBD is not set |
102 | # CONFIG_BLK_DEV_IO_TRACE is not set | 109 | # CONFIG_BLK_DEV_IO_TRACE is not set |
103 | # CONFIG_LSF is not set | 110 | # CONFIG_LSF is not set |
104 | # CONFIG_BLK_DEV_BSG is not set | 111 | # CONFIG_BLK_DEV_BSG is not set |
112 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
105 | 113 | ||
106 | # | 114 | # |
107 | # IO Schedulers | 115 | # IO Schedulers |
@@ -177,6 +185,7 @@ CONFIG_PAGE_SIZE_4KB=y | |||
177 | # CONFIG_PAGE_SIZE_8KB is not set | 185 | # CONFIG_PAGE_SIZE_8KB is not set |
178 | # CONFIG_PAGE_SIZE_16KB is not set | 186 | # CONFIG_PAGE_SIZE_16KB is not set |
179 | # CONFIG_PAGE_SIZE_64KB is not set | 187 | # CONFIG_PAGE_SIZE_64KB is not set |
188 | CONFIG_ENTRY_OFFSET=0x00001000 | ||
180 | CONFIG_SELECT_MEMORY_MODEL=y | 189 | CONFIG_SELECT_MEMORY_MODEL=y |
181 | # CONFIG_FLATMEM_MANUAL is not set | 190 | # CONFIG_FLATMEM_MANUAL is not set |
182 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 191 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -258,6 +267,7 @@ CONFIG_HZ=250 | |||
258 | # CONFIG_SCHED_HRTICK is not set | 267 | # CONFIG_SCHED_HRTICK is not set |
259 | # CONFIG_KEXEC is not set | 268 | # CONFIG_KEXEC is not set |
260 | # CONFIG_CRASH_DUMP is not set | 269 | # CONFIG_CRASH_DUMP is not set |
270 | CONFIG_SECCOMP=y | ||
261 | CONFIG_PREEMPT_NONE=y | 271 | CONFIG_PREEMPT_NONE=y |
262 | # CONFIG_PREEMPT_VOLUNTARY is not set | 272 | # CONFIG_PREEMPT_VOLUNTARY is not set |
263 | # CONFIG_PREEMPT is not set | 273 | # CONFIG_PREEMPT is not set |
@@ -282,10 +292,6 @@ CONFIG_CMDLINE="console=ttySC2,115200 root=/dev/sda1 rootdelay=10" | |||
282 | # | 292 | # |
283 | CONFIG_BINFMT_ELF=y | 293 | CONFIG_BINFMT_ELF=y |
284 | # CONFIG_BINFMT_MISC is not set | 294 | # CONFIG_BINFMT_MISC is not set |
285 | |||
286 | # | ||
287 | # Networking | ||
288 | # | ||
289 | CONFIG_NET=y | 295 | CONFIG_NET=y |
290 | 296 | ||
291 | # | 297 | # |
@@ -361,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
361 | # | 367 | # |
362 | # CONFIG_CFG80211 is not set | 368 | # CONFIG_CFG80211 is not set |
363 | CONFIG_WIRELESS_EXT=y | 369 | CONFIG_WIRELESS_EXT=y |
370 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
364 | # CONFIG_MAC80211 is not set | 371 | # CONFIG_MAC80211 is not set |
365 | # CONFIG_IEEE80211 is not set | 372 | # CONFIG_IEEE80211 is not set |
366 | # CONFIG_RFKILL is not set | 373 | # CONFIG_RFKILL is not set |
@@ -377,6 +384,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
377 | CONFIG_STANDALONE=y | 384 | CONFIG_STANDALONE=y |
378 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 385 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
379 | CONFIG_FW_LOADER=y | 386 | CONFIG_FW_LOADER=y |
387 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
388 | CONFIG_EXTRA_FIRMWARE="" | ||
380 | # CONFIG_SYS_HYPERVISOR is not set | 389 | # CONFIG_SYS_HYPERVISOR is not set |
381 | # CONFIG_CONNECTOR is not set | 390 | # CONFIG_CONNECTOR is not set |
382 | CONFIG_MTD=y | 391 | CONFIG_MTD=y |
@@ -471,6 +480,7 @@ CONFIG_BLK_DEV=y | |||
471 | # CONFIG_BLK_DEV_RAM is not set | 480 | # CONFIG_BLK_DEV_RAM is not set |
472 | # CONFIG_CDROM_PKTCDVD is not set | 481 | # CONFIG_CDROM_PKTCDVD is not set |
473 | # CONFIG_ATA_OVER_ETH is not set | 482 | # CONFIG_ATA_OVER_ETH is not set |
483 | # CONFIG_BLK_DEV_HD is not set | ||
474 | # CONFIG_MISC_DEVICES is not set | 484 | # CONFIG_MISC_DEVICES is not set |
475 | CONFIG_HAVE_IDE=y | 485 | CONFIG_HAVE_IDE=y |
476 | # CONFIG_IDE is not set | 486 | # CONFIG_IDE is not set |
@@ -515,10 +525,10 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
515 | CONFIG_SCSI_LOWLEVEL=y | 525 | CONFIG_SCSI_LOWLEVEL=y |
516 | # CONFIG_ISCSI_TCP is not set | 526 | # CONFIG_ISCSI_TCP is not set |
517 | # CONFIG_SCSI_DEBUG is not set | 527 | # CONFIG_SCSI_DEBUG is not set |
528 | # CONFIG_SCSI_DH is not set | ||
518 | # CONFIG_ATA is not set | 529 | # CONFIG_ATA is not set |
519 | # CONFIG_MD is not set | 530 | # CONFIG_MD is not set |
520 | CONFIG_NETDEVICES=y | 531 | CONFIG_NETDEVICES=y |
521 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
522 | # CONFIG_DUMMY is not set | 532 | # CONFIG_DUMMY is not set |
523 | # CONFIG_BONDING is not set | 533 | # CONFIG_BONDING is not set |
524 | # CONFIG_MACVLAN is not set | 534 | # CONFIG_MACVLAN is not set |
@@ -546,7 +556,9 @@ CONFIG_NET_ETHERNET=y | |||
546 | CONFIG_MII=y | 556 | CONFIG_MII=y |
547 | # CONFIG_AX88796 is not set | 557 | # CONFIG_AX88796 is not set |
548 | # CONFIG_STNIC is not set | 558 | # CONFIG_STNIC is not set |
559 | CONFIG_SH_ETH=y | ||
549 | # CONFIG_SMC91X is not set | 560 | # CONFIG_SMC91X is not set |
561 | # CONFIG_SMC911X is not set | ||
550 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 562 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
551 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 563 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
552 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 564 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -613,7 +625,11 @@ CONFIG_INPUT=y | |||
613 | # | 625 | # |
614 | # Character devices | 626 | # Character devices |
615 | # | 627 | # |
616 | # CONFIG_VT is not set | 628 | CONFIG_VT=y |
629 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
630 | CONFIG_VT_CONSOLE=y | ||
631 | CONFIG_HW_CONSOLE=y | ||
632 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
617 | CONFIG_DEVKMEM=y | 633 | CONFIG_DEVKMEM=y |
618 | # CONFIG_SERIAL_NONSTANDARD is not set | 634 | # CONFIG_SERIAL_NONSTANDARD is not set |
619 | 635 | ||
@@ -644,6 +660,7 @@ CONFIG_HW_RANDOM=y | |||
644 | # CONFIG_POWER_SUPPLY is not set | 660 | # CONFIG_POWER_SUPPLY is not set |
645 | # CONFIG_HWMON is not set | 661 | # CONFIG_HWMON is not set |
646 | # CONFIG_THERMAL is not set | 662 | # CONFIG_THERMAL is not set |
663 | # CONFIG_THERMAL_HWMON is not set | ||
647 | # CONFIG_WATCHDOG is not set | 664 | # CONFIG_WATCHDOG is not set |
648 | 665 | ||
649 | # | 666 | # |
@@ -655,6 +672,7 @@ CONFIG_SSB_POSSIBLE=y | |||
655 | # | 672 | # |
656 | # Multifunction device drivers | 673 | # Multifunction device drivers |
657 | # | 674 | # |
675 | # CONFIG_MFD_CORE is not set | ||
658 | # CONFIG_MFD_SM501 is not set | 676 | # CONFIG_MFD_SM501 is not set |
659 | # CONFIG_HTC_PASIC3 is not set | 677 | # CONFIG_HTC_PASIC3 is not set |
660 | 678 | ||
@@ -679,7 +697,34 @@ CONFIG_SSB_POSSIBLE=y | |||
679 | # | 697 | # |
680 | # CONFIG_VGASTATE is not set | 698 | # CONFIG_VGASTATE is not set |
681 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 699 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
682 | # CONFIG_FB is not set | 700 | CONFIG_FB=y |
701 | # CONFIG_FIRMWARE_EDID is not set | ||
702 | # CONFIG_FB_DDC is not set | ||
703 | CONFIG_FB_CFB_FILLRECT=y | ||
704 | CONFIG_FB_CFB_COPYAREA=y | ||
705 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
706 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
707 | # CONFIG_FB_SYS_FILLRECT is not set | ||
708 | # CONFIG_FB_SYS_COPYAREA is not set | ||
709 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
710 | CONFIG_FB_FOREIGN_ENDIAN=y | ||
711 | CONFIG_FB_BOTH_ENDIAN=y | ||
712 | # CONFIG_FB_BIG_ENDIAN is not set | ||
713 | # CONFIG_FB_LITTLE_ENDIAN is not set | ||
714 | # CONFIG_FB_SYS_FOPS is not set | ||
715 | # CONFIG_FB_SVGALIB is not set | ||
716 | # CONFIG_FB_MACMODES is not set | ||
717 | # CONFIG_FB_BACKLIGHT is not set | ||
718 | # CONFIG_FB_MODE_HELPERS is not set | ||
719 | # CONFIG_FB_TILEBLITTING is not set | ||
720 | |||
721 | # | ||
722 | # Frame buffer hardware drivers | ||
723 | # | ||
724 | # CONFIG_FB_S1D13XXX is not set | ||
725 | # CONFIG_FB_SH_MOBILE_LCDC is not set | ||
726 | CONFIG_FB_SH7760=y | ||
727 | # CONFIG_FB_VIRTUAL is not set | ||
683 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 728 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
684 | 729 | ||
685 | # | 730 | # |
@@ -688,8 +733,22 @@ CONFIG_SSB_POSSIBLE=y | |||
688 | # CONFIG_DISPLAY_SUPPORT is not set | 733 | # CONFIG_DISPLAY_SUPPORT is not set |
689 | 734 | ||
690 | # | 735 | # |
691 | # Sound | 736 | # Console display driver support |
692 | # | 737 | # |
738 | CONFIG_DUMMY_CONSOLE=y | ||
739 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
740 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
741 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
742 | # CONFIG_FONTS is not set | ||
743 | CONFIG_FONT_8x8=y | ||
744 | CONFIG_FONT_8x16=y | ||
745 | CONFIG_LOGO=y | ||
746 | CONFIG_LOGO_LINUX_MONO=y | ||
747 | CONFIG_LOGO_LINUX_VGA16=y | ||
748 | CONFIG_LOGO_LINUX_CLUT224=y | ||
749 | CONFIG_LOGO_SUPERH_MONO=y | ||
750 | CONFIG_LOGO_SUPERH_VGA16=y | ||
751 | CONFIG_LOGO_SUPERH_CLUT224=y | ||
693 | # CONFIG_SOUND is not set | 752 | # CONFIG_SOUND is not set |
694 | # CONFIG_HID_SUPPORT is not set | 753 | # CONFIG_HID_SUPPORT is not set |
695 | CONFIG_USB_SUPPORT=y | 754 | CONFIG_USB_SUPPORT=y |
@@ -788,11 +847,27 @@ CONFIG_USB_MON=y | |||
788 | # CONFIG_USB_IOWARRIOR is not set | 847 | # CONFIG_USB_IOWARRIOR is not set |
789 | # CONFIG_USB_ISIGHTFW is not set | 848 | # CONFIG_USB_ISIGHTFW is not set |
790 | # CONFIG_USB_GADGET is not set | 849 | # CONFIG_USB_GADGET is not set |
791 | # CONFIG_MMC is not set | 850 | CONFIG_MMC=y |
851 | # CONFIG_MMC_DEBUG is not set | ||
852 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
853 | |||
854 | # | ||
855 | # MMC/SD Card Drivers | ||
856 | # | ||
857 | CONFIG_MMC_BLOCK=y | ||
858 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
859 | # CONFIG_SDIO_UART is not set | ||
860 | # CONFIG_MMC_TEST is not set | ||
861 | |||
862 | # | ||
863 | # MMC/SD Host Controller Drivers | ||
864 | # | ||
865 | # CONFIG_MMC_SDHCI is not set | ||
792 | # CONFIG_MEMSTICK is not set | 866 | # CONFIG_MEMSTICK is not set |
793 | # CONFIG_NEW_LEDS is not set | 867 | # CONFIG_NEW_LEDS is not set |
794 | # CONFIG_ACCESSIBILITY is not set | 868 | # CONFIG_ACCESSIBILITY is not set |
795 | # CONFIG_RTC_CLASS is not set | 869 | # CONFIG_RTC_CLASS is not set |
870 | # CONFIG_DMADEVICES is not set | ||
796 | # CONFIG_UIO is not set | 871 | # CONFIG_UIO is not set |
797 | 872 | ||
798 | # | 873 | # |
@@ -865,6 +940,7 @@ CONFIG_TMPFS_POSIX_ACL=y | |||
865 | # CONFIG_CRAMFS is not set | 940 | # CONFIG_CRAMFS is not set |
866 | # CONFIG_VXFS_FS is not set | 941 | # CONFIG_VXFS_FS is not set |
867 | # CONFIG_MINIX_FS is not set | 942 | # CONFIG_MINIX_FS is not set |
943 | # CONFIG_OMFS_FS is not set | ||
868 | # CONFIG_HPFS_FS is not set | 944 | # CONFIG_HPFS_FS is not set |
869 | # CONFIG_QNX4FS_FS is not set | 945 | # CONFIG_QNX4FS_FS is not set |
870 | # CONFIG_ROMFS_FS is not set | 946 | # CONFIG_ROMFS_FS is not set |
@@ -874,12 +950,11 @@ CONFIG_NETWORK_FILESYSTEMS=y | |||
874 | CONFIG_NFS_FS=y | 950 | CONFIG_NFS_FS=y |
875 | # CONFIG_NFS_V3 is not set | 951 | # CONFIG_NFS_V3 is not set |
876 | # CONFIG_NFS_V4 is not set | 952 | # CONFIG_NFS_V4 is not set |
877 | # CONFIG_NFSD is not set | ||
878 | CONFIG_ROOT_NFS=y | 953 | CONFIG_ROOT_NFS=y |
954 | # CONFIG_NFSD is not set | ||
879 | CONFIG_LOCKD=y | 955 | CONFIG_LOCKD=y |
880 | CONFIG_NFS_COMMON=y | 956 | CONFIG_NFS_COMMON=y |
881 | CONFIG_SUNRPC=y | 957 | CONFIG_SUNRPC=y |
882 | # CONFIG_SUNRPC_BIND34 is not set | ||
883 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 958 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
884 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 959 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
885 | # CONFIG_SMB_FS is not set | 960 | # CONFIG_SMB_FS is not set |
@@ -949,6 +1024,7 @@ CONFIG_FRAME_WARN=1024 | |||
949 | # CONFIG_HEADERS_CHECK is not set | 1024 | # CONFIG_HEADERS_CHECK is not set |
950 | # CONFIG_DEBUG_KERNEL is not set | 1025 | # CONFIG_DEBUG_KERNEL is not set |
951 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1026 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1027 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
952 | # CONFIG_SAMPLES is not set | 1028 | # CONFIG_SAMPLES is not set |
953 | # CONFIG_SH_STANDARD_BIOS is not set | 1029 | # CONFIG_SH_STANDARD_BIOS is not set |
954 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 1030 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
@@ -1003,6 +1079,10 @@ CONFIG_CRYPTO=y | |||
1003 | # CONFIG_CRYPTO_MD4 is not set | 1079 | # CONFIG_CRYPTO_MD4 is not set |
1004 | # CONFIG_CRYPTO_MD5 is not set | 1080 | # CONFIG_CRYPTO_MD5 is not set |
1005 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1081 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
1082 | # CONFIG_CRYPTO_RMD128 is not set | ||
1083 | # CONFIG_CRYPTO_RMD160 is not set | ||
1084 | # CONFIG_CRYPTO_RMD256 is not set | ||
1085 | # CONFIG_CRYPTO_RMD320 is not set | ||
1006 | # CONFIG_CRYPTO_SHA1 is not set | 1086 | # CONFIG_CRYPTO_SHA1 is not set |
1007 | # CONFIG_CRYPTO_SHA256 is not set | 1087 | # CONFIG_CRYPTO_SHA256 is not set |
1008 | # CONFIG_CRYPTO_SHA512 is not set | 1088 | # CONFIG_CRYPTO_SHA512 is not set |
@@ -1042,6 +1122,7 @@ CONFIG_BITREVERSE=y | |||
1042 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1122 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set |
1043 | # CONFIG_CRC_CCITT is not set | 1123 | # CONFIG_CRC_CCITT is not set |
1044 | # CONFIG_CRC16 is not set | 1124 | # CONFIG_CRC16 is not set |
1125 | CONFIG_CRC_T10DIF=y | ||
1045 | # CONFIG_CRC_ITU_T is not set | 1126 | # CONFIG_CRC_ITU_T is not set |
1046 | CONFIG_CRC32=y | 1127 | CONFIG_CRC32=y |
1047 | # CONFIG_CRC7 is not set | 1128 | # CONFIG_CRC7 is not set |
diff --git a/arch/sh/include/asm/flat.h b/arch/sh/include/asm/flat.h index 0cc800299e06..d3b2b4f109e3 100644 --- a/arch/sh/include/asm/flat.h +++ b/arch/sh/include/asm/flat.h | |||
@@ -21,4 +21,11 @@ | |||
21 | #define flat_get_relocate_addr(rel) (rel) | 21 | #define flat_get_relocate_addr(rel) (rel) |
22 | #define flat_set_persistent(relval, p) ({ (void)p; 0; }) | 22 | #define flat_set_persistent(relval, p) ({ (void)p; 0; }) |
23 | 23 | ||
24 | #define FLAT_PLAT_INIT(_r) \ | ||
25 | do { _r->regs[0]=0; _r->regs[1]=0; _r->regs[2]=0; _r->regs[3]=0; \ | ||
26 | _r->regs[4]=0; _r->regs[5]=0; _r->regs[6]=0; _r->regs[7]=0; \ | ||
27 | _r->regs[8]=0; _r->regs[9]=0; _r->regs[10]=0; _r->regs[11]=0; \ | ||
28 | _r->regs[12]=0; _r->regs[13]=0; _r->regs[14]=0; \ | ||
29 | _r->sr = SR_FD; } while (0) | ||
30 | |||
24 | #endif /* __ASM_SH_FLAT_H */ | 31 | #endif /* __ASM_SH_FLAT_H */ |
diff --git a/arch/sh/include/asm/kexec.h b/arch/sh/include/asm/kexec.h index 00f4260ef09b..765a5e1660fc 100644 --- a/arch/sh/include/asm/kexec.h +++ b/arch/sh/include/asm/kexec.h | |||
@@ -21,7 +21,7 @@ | |||
21 | /* Maximum address we can use for the control code buffer */ | 21 | /* Maximum address we can use for the control code buffer */ |
22 | #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE | 22 | #define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE |
23 | 23 | ||
24 | #define KEXEC_CONTROL_CODE_SIZE 4096 | 24 | #define KEXEC_CONTROL_PAGE_SIZE 4096 |
25 | 25 | ||
26 | /* The native architecture */ | 26 | /* The native architecture */ |
27 | #define KEXEC_ARCH KEXEC_ARCH_SH | 27 | #define KEXEC_ARCH KEXEC_ARCH_SH |
diff --git a/arch/sh/include/asm/migor.h b/arch/sh/include/asm/migor.h index 10016e0f4a4e..c12b632c540b 100644 --- a/arch/sh/include/asm/migor.h +++ b/arch/sh/include/asm/migor.h | |||
@@ -42,9 +42,6 @@ | |||
42 | 42 | ||
43 | #define PORT_MSELCRB 0xa4050182 | 43 | #define PORT_MSELCRB 0xa4050182 |
44 | 44 | ||
45 | #define MSTPCR1 0xa4150034 | ||
46 | #define MSTPCR2 0xa4150038 | ||
47 | |||
48 | #define PORT_PSELA 0xa405014e | 45 | #define PORT_PSELA 0xa405014e |
49 | #define PORT_PSELB 0xa4050150 | 46 | #define PORT_PSELB 0xa4050150 |
50 | #define PORT_PSELC 0xa4050152 | 47 | #define PORT_PSELC 0xa4050152 |
diff --git a/arch/sh/include/asm/sh_mobile_lcdc.h b/arch/sh/include/asm/sh_mobile_lcdc.h index 27677727df4d..130102f663f5 100644 --- a/arch/sh/include/asm/sh_mobile_lcdc.h +++ b/arch/sh/include/asm/sh_mobile_lcdc.h | |||
@@ -47,12 +47,18 @@ struct sh_mobile_lcdc_board_cfg { | |||
47 | void (*display_off)(void *board_data); | 47 | void (*display_off)(void *board_data); |
48 | }; | 48 | }; |
49 | 49 | ||
50 | struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */ | ||
51 | unsigned long width; | ||
52 | unsigned long height; | ||
53 | }; | ||
54 | |||
50 | struct sh_mobile_lcdc_chan_cfg { | 55 | struct sh_mobile_lcdc_chan_cfg { |
51 | int chan; | 56 | int chan; |
52 | int bpp; | 57 | int bpp; |
53 | int interface_type; /* selects RGBn or SYSn I/F, see above */ | 58 | int interface_type; /* selects RGBn or SYSn I/F, see above */ |
54 | int clock_divider; | 59 | int clock_divider; |
55 | struct fb_videomode lcd_cfg; | 60 | struct fb_videomode lcd_cfg; |
61 | struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; | ||
56 | struct sh_mobile_lcdc_board_cfg board_cfg; | 62 | struct sh_mobile_lcdc_board_cfg board_cfg; |
57 | struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ | 63 | struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ |
58 | }; | 64 | }; |
diff --git a/arch/sh/include/cpu-sh3/cpu/cacheflush.h b/arch/sh/include/cpu-sh3/cpu/cacheflush.h index abc909880807..1ac27aae6700 100644 --- a/arch/sh/include/cpu-sh3/cpu/cacheflush.h +++ b/arch/sh/include/cpu-sh3/cpu/cacheflush.h | |||
@@ -29,6 +29,16 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned l | |||
29 | void flush_dcache_page(struct page *pg); | 29 | void flush_dcache_page(struct page *pg); |
30 | void flush_icache_range(unsigned long start, unsigned long end); | 30 | void flush_icache_range(unsigned long start, unsigned long end); |
31 | void flush_icache_page(struct vm_area_struct *vma, struct page *page); | 31 | void flush_icache_page(struct vm_area_struct *vma, struct page *page); |
32 | |||
33 | #define flush_dcache_mmap_lock(mapping) do { } while (0) | ||
34 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) | ||
35 | |||
36 | /* SH3 has unified cache so no special action needed here */ | ||
37 | #define flush_cache_sigtramp(vaddr) do { } while (0) | ||
38 | #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) | ||
39 | |||
40 | #define p3_cache_init() do { } while (0) | ||
41 | |||
32 | #else | 42 | #else |
33 | #include <cpu-common/cpu/cacheflush.h> | 43 | #include <cpu-common/cpu/cacheflush.h> |
34 | #endif | 44 | #endif |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c index cd6baffdc896..a7412cede534 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c | |||
@@ -45,7 +45,7 @@ static struct platform_device vpu_device = { | |||
45 | }; | 45 | }; |
46 | 46 | ||
47 | static struct uio_info veu0_platform_data = { | 47 | static struct uio_info veu0_platform_data = { |
48 | .name = "VEU", | 48 | .name = "VEU2H", |
49 | .version = "0", | 49 | .version = "0", |
50 | .irq = 54, | 50 | .irq = 54, |
51 | }; | 51 | }; |
@@ -73,7 +73,7 @@ static struct platform_device veu0_device = { | |||
73 | }; | 73 | }; |
74 | 74 | ||
75 | static struct uio_info veu1_platform_data = { | 75 | static struct uio_info veu1_platform_data = { |
76 | .name = "VEU", | 76 | .name = "VEU2H", |
77 | .version = "0", | 77 | .version = "0", |
78 | .irq = 27, | 78 | .irq = 27, |
79 | }; | 79 | }; |
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c index 8f916536719c..6e1b1c271658 100644 --- a/arch/sh/kernel/sh_ksyms_32.c +++ b/arch/sh/kernel/sh_ksyms_32.c | |||
@@ -107,10 +107,12 @@ DECLARE_EXPORT(__movmemSI12_i4); | |||
107 | * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST | 107 | * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST |
108 | * compiler which include backported patches. | 108 | * compiler which include backported patches. |
109 | */ | 109 | */ |
110 | DECLARE_EXPORT(__sdivsi3_i4i); | ||
111 | DECLARE_EXPORT(__udiv_qrnnd_16); | 110 | DECLARE_EXPORT(__udiv_qrnnd_16); |
111 | #if !defined(CONFIG_CPU_SH2) | ||
112 | DECLARE_EXPORT(__sdivsi3_i4i); | ||
112 | DECLARE_EXPORT(__udivsi3_i4i); | 113 | DECLARE_EXPORT(__udivsi3_i4i); |
113 | #endif | 114 | #endif |
115 | #endif | ||
114 | #else /* GCC 3.x */ | 116 | #else /* GCC 3.x */ |
115 | DECLARE_EXPORT(__movstr_i4_even); | 117 | DECLARE_EXPORT(__movstr_i4_even); |
116 | DECLARE_EXPORT(__movstr_i4_odd); | 118 | DECLARE_EXPORT(__movstr_i4_odd); |
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 9c131cac91a4..8a03926ea84f 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -181,10 +181,12 @@ config ENTRY_OFFSET | |||
181 | choice | 181 | choice |
182 | prompt "HugeTLB page size" | 182 | prompt "HugeTLB page size" |
183 | depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU | 183 | depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU |
184 | default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB | ||
184 | default HUGETLB_PAGE_SIZE_64K | 185 | default HUGETLB_PAGE_SIZE_64K |
185 | 186 | ||
186 | config HUGETLB_PAGE_SIZE_64K | 187 | config HUGETLB_PAGE_SIZE_64K |
187 | bool "64kB" | 188 | bool "64kB" |
189 | depends on !PAGE_SIZE_64KB | ||
188 | 190 | ||
189 | config HUGETLB_PAGE_SIZE_256K | 191 | config HUGETLB_PAGE_SIZE_256K |
190 | bool "256kB" | 192 | bool "256kB" |
diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c index b2ce014401b5..895bb3f335c7 100644 --- a/arch/sh/mm/consistent.c +++ b/arch/sh/mm/consistent.c | |||
@@ -95,6 +95,29 @@ void dma_cache_sync(struct device *dev, void *vaddr, size_t size, | |||
95 | } | 95 | } |
96 | EXPORT_SYMBOL(dma_cache_sync); | 96 | EXPORT_SYMBOL(dma_cache_sync); |
97 | 97 | ||
98 | static int __init memchunk_setup(char *str) | ||
99 | { | ||
100 | return 1; /* accept anything that begins with "memchunk." */ | ||
101 | } | ||
102 | __setup("memchunk.", memchunk_setup); | ||
103 | |||
104 | static void memchunk_cmdline_override(char *name, unsigned long *sizep) | ||
105 | { | ||
106 | char *p = boot_command_line; | ||
107 | int k = strlen(name); | ||
108 | |||
109 | while ((p = strstr(p, "memchunk."))) { | ||
110 | p += 9; /* strlen("memchunk.") */ | ||
111 | if (!strncmp(name, p, k) && p[k] == '=') { | ||
112 | p += k + 1; | ||
113 | *sizep = memparse(p, NULL); | ||
114 | pr_info("%s: forcing memory chunk size to 0x%08lx\n", | ||
115 | name, *sizep); | ||
116 | break; | ||
117 | } | ||
118 | } | ||
119 | } | ||
120 | |||
98 | int platform_resource_setup_memory(struct platform_device *pdev, | 121 | int platform_resource_setup_memory(struct platform_device *pdev, |
99 | char *name, unsigned long memsize) | 122 | char *name, unsigned long memsize) |
100 | { | 123 | { |
@@ -109,6 +132,10 @@ int platform_resource_setup_memory(struct platform_device *pdev, | |||
109 | return -EINVAL; | 132 | return -EINVAL; |
110 | } | 133 | } |
111 | 134 | ||
135 | memchunk_cmdline_override(name, &memsize); | ||
136 | if (!memsize) | ||
137 | return 0; | ||
138 | |||
112 | buf = dma_alloc_coherent(NULL, memsize, &dma_handle, GFP_KERNEL); | 139 | buf = dma_alloc_coherent(NULL, memsize, &dma_handle, GFP_KERNEL); |
113 | if (!buf) { | 140 | if (!buf) { |
114 | pr_warning("%s: unable to allocate memory\n", name); | 141 | pr_warning("%s: unable to allocate memory\n", name); |