Merge branch 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
sh: Provide a FLAT_PLAT_INIT() definition.
binfmt_flat: Stub in a FLAT_PLAT_INIT().
video: export sh_mobile_lcdc panel size
sh: select memchunk size using kernel cmdline
sh: export sh7723 VEU as VEU2H
input: migor_ts compile and detection fix
sh: remove MSTPCR defines from Migo-R header file
sh: Update sh7763rdp defconfig
sh: Add support sh7760fb to sh7763rdp board
sh: Add support sh_eth to sh7763rdp board
sh: Disable 64kB hugetlbpage size when using 64kB PAGE_SIZE.
sh: Don't export __{s,u}divsi3_i4i from SH-2 libgcc.
fix SH7705_CACHE_32KB compilation
sh: mach-x3proto: Fix up smc91x platform data.

+270 -27
+4
arch/sh/boards/board-ap325rxa.c
··· 140 140 .vsync_len = 1, 141 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 147 .board_cfg = { 144 148 .display_on = ap320_wvga_power_on, 145 149 },
+8
arch/sh/boards/mach-migor/setup.c
··· 224 224 .vsync_len = 2, 225 225 .sync = 0, 226 226 }, 227 + .lcd_size_cfg = { /* 7.0 inch */ 228 + .width = 152, 229 + .height = 91, 230 + }, 227 231 } 228 232 #endif 229 233 #ifdef CONFIG_SH_MIGOR_QVGA ··· 248 244 .lower_margin = 17, 249 245 .vsync_len = 2, 250 246 .sync = FB_SYNC_HOR_HIGH_ACT, 247 + }, 248 + .lcd_size_cfg = { /* 2.4 inch */ 249 + .width = 49, 250 + .height = 37, 251 251 }, 252 252 .board_cfg = { 253 253 .setup_sys = migor_lcd_qvga_setup,
+82 -2
arch/sh/boards/mach-sh7763rdp/setup.c
··· 15 15 #include <linux/interrupt.h> 16 16 #include <linux/input.h> 17 17 #include <linux/mtd/physmap.h> 18 - #include <asm/io.h> 18 + #include <linux/fb.h> 19 + #include <linux/io.h> 19 20 #include <asm/sh7763rdp.h> 21 + #include <asm/sh_eth.h> 22 + #include <asm/sh7760fb.h> 20 23 21 24 /* NOR Flash */ 22 25 static struct mtd_partition sh7763rdp_nor_flash_partitions[] = { ··· 63 60 }, 64 61 }; 65 62 63 + /* SH-Ether */ 64 + static struct resource sh_eth_resources[] = { 65 + { 66 + .start = 0xFEE00800, /* use eth1 */ 67 + .end = 0xFEE00F7C - 1, 68 + .flags = IORESOURCE_MEM, 69 + }, { 70 + .start = 58, /* irq number */ 71 + .end = 58, 72 + .flags = IORESOURCE_IRQ, 73 + }, 74 + }; 75 + 76 + static struct sh_eth_plat_data sh7763_eth_pdata = { 77 + .phy = 1, 78 + .edmac_endian = EDMAC_LITTLE_ENDIAN, 79 + }; 80 + 81 + static struct platform_device sh7763rdp_eth_device = { 82 + .name = "sh-eth", 83 + .resource = sh_eth_resources, 84 + .num_resources = ARRAY_SIZE(sh_eth_resources), 85 + .dev = { 86 + .platform_data = &sh7763_eth_pdata, 87 + }, 88 + }; 89 + 90 + /* SH7763 LCDC */ 91 + static struct resource sh7763rdp_fb_resources[] = { 92 + { 93 + .start = 0xFFE80000, 94 + .end = 0xFFE80442 - 1, 95 + .flags = IORESOURCE_MEM, 96 + }, 97 + }; 98 + 99 + static struct fb_videomode sh7763fb_videomode = { 100 + .refresh = 60, 101 + .name = "VGA Monitor", 102 + .xres = 640, 103 + .yres = 480, 104 + .pixclock = 10000, 105 + .left_margin = 80, 106 + .right_margin = 24, 107 + .upper_margin = 30, 108 + .lower_margin = 1, 109 + .hsync_len = 96, 110 + .vsync_len = 1, 111 + .sync = 0, 112 + .vmode = FB_VMODE_NONINTERLACED, 113 + .flag = FBINFO_FLAG_DEFAULT, 114 + }; 115 + 116 + static struct sh7760fb_platdata sh7763fb_def_pdata = { 117 + .def_mode = &sh7763fb_videomode, 118 + .ldmtr = (LDMTR_TFT_COLOR_16|LDMTR_MCNT), 119 + .lddfr = LDDFR_16BPP_RGB565, 120 + .ldpmmr = 0x0000, 121 + .ldpspr = 0xFFFF, 122 + .ldaclnr = 0x0001, 123 + .ldickr = 0x1102, 124 + .rotate = 0, 125 + .novsync = 0, 126 + .blank = NULL, 127 + }; 128 + 129 + static struct platform_device sh7763rdp_fb_device = { 130 + .name = "sh7760-lcdc", 131 + .resource = sh7763rdp_fb_resources, 132 + .num_resources = ARRAY_SIZE(sh7763rdp_fb_resources), 133 + .dev = { 134 + .platform_data = &sh7763fb_def_pdata, 135 + }, 136 + }; 137 + 66 138 static struct platform_device *sh7763rdp_devices[] __initdata = { 67 139 &sh7763rdp_nor_flash_device, 140 + &sh7763rdp_eth_device, 141 + &sh7763rdp_fb_device, 68 142 }; 69 143 70 144 static int __init sh7763rdp_devices_setup(void) ··· 149 69 return platform_add_devices(sh7763rdp_devices, 150 70 ARRAY_SIZE(sh7763rdp_devices)); 151 71 } 152 - __initcall(sh7763rdp_devices_setup); 72 + device_initcall(sh7763rdp_devices_setup); 153 73 154 74 static void __init sh7763rdp_setup(char **cmdline_p) 155 75 {
+9 -1
arch/sh/boards/mach-x3proto/setup.c
··· 3 3 * 4 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 8 * This file is subject to the terms and conditions of the GNU General Public 9 9 * License. See the file "COPYING" in the main directory of this archive ··· 13 13 #include <linux/platform_device.h> 14 14 #include <linux/kernel.h> 15 15 #include <linux/io.h> 16 + #include <linux/smc91x.h> 16 17 #include <asm/ilsel.h> 17 18 18 19 static struct resource heartbeat_resources[] = { ··· 29 28 .id = -1, 30 29 .num_resources = ARRAY_SIZE(heartbeat_resources), 31 30 .resource = heartbeat_resources, 31 + }; 32 + 33 + static struct smc91x_platdata smc91x_info = { 34 + .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, 32 35 }; 33 36 34 37 static struct resource smc91x_resources[] = { ··· 52 47 .id = -1, 53 48 .resource = smc91x_resources, 54 49 .num_resources = ARRAY_SIZE(smc91x_resources), 50 + .dev = { 51 + .platform_data = &smc91x_info, 52 + }, 55 53 }; 56 54 57 55 static struct resource r8a66597_usb_host_resources[] = {
+96 -15
arch/sh/configs/sh7763rdp_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.26-rc4 4 - # Fri Jun 6 12:20:17 2008 3 + # Linux kernel version: 2.6.27-rc2 4 + # Fri Aug 8 13:44:20 2008 5 5 # 6 6 CONFIG_SUPERH=y 7 7 CONFIG_SUPERH32=y 8 + CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" 8 9 CONFIG_RWSEM_GENERIC_SPINLOCK=y 9 10 CONFIG_GENERIC_BUG=y 10 11 CONFIG_GENERIC_FIND_NEXT_BIT=y 11 12 CONFIG_GENERIC_HWEIGHT=y 12 13 CONFIG_GENERIC_HARDIRQS=y 14 + CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 13 15 CONFIG_GENERIC_IRQ_PROBE=y 14 16 CONFIG_GENERIC_CALIBRATE_DELAY=y 15 17 CONFIG_GENERIC_TIME=y ··· 21 19 # CONFIG_ARCH_HAS_ILOG2_U32 is not set 22 20 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 23 21 CONFIG_ARCH_NO_VIRT_TO_BUS=y 24 - CONFIG_ARCH_SUPPORTS_AOUT=y 25 22 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 26 23 27 24 # ··· 84 83 # CONFIG_MARKERS is not set 85 84 CONFIG_OPROFILE=y 86 85 CONFIG_HAVE_OPROFILE=y 86 + # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set 87 + # CONFIG_HAVE_IOREMAP_PROT is not set 87 88 # CONFIG_HAVE_KPROBES is not set 88 89 # CONFIG_HAVE_KRETPROBES is not set 90 + # CONFIG_HAVE_ARCH_TRACEHOOK is not set 89 91 # CONFIG_HAVE_DMA_ATTRS is not set 92 + # CONFIG_USE_GENERIC_SMP_HELPERS is not set 93 + CONFIG_HAVE_CLK=y 90 94 CONFIG_PROC_PAGE_MONITOR=y 95 + CONFIG_HAVE_GENERIC_DMA_COHERENT=y 91 96 CONFIG_SLABINFO=y 92 97 CONFIG_RT_MUTEXES=y 93 98 # CONFIG_TINY_SHMEM is not set ··· 103 96 # CONFIG_MODULE_UNLOAD is not set 104 97 # CONFIG_MODVERSIONS is not set 105 98 # CONFIG_MODULE_SRCVERSION_ALL is not set 106 - # CONFIG_KMOD is not set 99 + CONFIG_KMOD=y 107 100 CONFIG_BLOCK=y 108 101 # CONFIG_LBD is not set 109 102 # CONFIG_BLK_DEV_IO_TRACE is not set 110 103 # CONFIG_LSF is not set 111 104 # CONFIG_BLK_DEV_BSG is not set 105 + # CONFIG_BLK_DEV_INTEGRITY is not set 112 106 113 107 # 114 108 # IO Schedulers ··· 185 177 # CONFIG_PAGE_SIZE_8KB is not set 186 178 # CONFIG_PAGE_SIZE_16KB is not set 187 179 # CONFIG_PAGE_SIZE_64KB is not set 180 + CONFIG_ENTRY_OFFSET=0x00001000 188 181 CONFIG_SELECT_MEMORY_MODEL=y 189 182 # CONFIG_FLATMEM_MANUAL is not set 190 183 # CONFIG_DISCONTIGMEM_MANUAL is not set ··· 267 258 # CONFIG_SCHED_HRTICK is not set 268 259 # CONFIG_KEXEC is not set 269 260 # CONFIG_CRASH_DUMP is not set 261 + CONFIG_SECCOMP=y 270 262 CONFIG_PREEMPT_NONE=y 271 263 # CONFIG_PREEMPT_VOLUNTARY is not set 272 264 # CONFIG_PREEMPT is not set ··· 292 282 # 293 283 CONFIG_BINFMT_ELF=y 294 284 # CONFIG_BINFMT_MISC is not set 295 - 296 - # 297 - # Networking 298 - # 299 285 CONFIG_NET=y 300 286 301 287 # ··· 367 361 # 368 362 # CONFIG_CFG80211 is not set 369 363 CONFIG_WIRELESS_EXT=y 364 + CONFIG_WIRELESS_EXT_SYSFS=y 370 365 # CONFIG_MAC80211 is not set 371 366 # CONFIG_IEEE80211 is not set 372 367 # CONFIG_RFKILL is not set ··· 384 377 CONFIG_STANDALONE=y 385 378 CONFIG_PREVENT_FIRMWARE_BUILD=y 386 379 CONFIG_FW_LOADER=y 380 + CONFIG_FIRMWARE_IN_KERNEL=y 381 + CONFIG_EXTRA_FIRMWARE="" 387 382 # CONFIG_SYS_HYPERVISOR is not set 388 383 # CONFIG_CONNECTOR is not set 389 384 CONFIG_MTD=y ··· 480 471 # CONFIG_BLK_DEV_RAM is not set 481 472 # CONFIG_CDROM_PKTCDVD is not set 482 473 # CONFIG_ATA_OVER_ETH is not set 474 + # CONFIG_BLK_DEV_HD is not set 483 475 # CONFIG_MISC_DEVICES is not set 484 476 CONFIG_HAVE_IDE=y 485 477 # CONFIG_IDE is not set ··· 525 515 CONFIG_SCSI_LOWLEVEL=y 526 516 # CONFIG_ISCSI_TCP is not set 527 517 # CONFIG_SCSI_DEBUG is not set 518 + # CONFIG_SCSI_DH is not set 528 519 # CONFIG_ATA is not set 529 520 # CONFIG_MD is not set 530 521 CONFIG_NETDEVICES=y 531 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 532 522 # CONFIG_DUMMY is not set 533 523 # CONFIG_BONDING is not set 534 524 # CONFIG_MACVLAN is not set ··· 556 546 CONFIG_MII=y 557 547 # CONFIG_AX88796 is not set 558 548 # CONFIG_STNIC is not set 549 + CONFIG_SH_ETH=y 559 550 # CONFIG_SMC91X is not set 551 + # CONFIG_SMC911X is not set 560 552 # CONFIG_IBM_NEW_EMAC_ZMII is not set 561 553 # CONFIG_IBM_NEW_EMAC_RGMII is not set 562 554 # CONFIG_IBM_NEW_EMAC_TAH is not set ··· 625 613 # 626 614 # Character devices 627 615 # 628 - # CONFIG_VT is not set 616 + CONFIG_VT=y 617 + CONFIG_CONSOLE_TRANSLATIONS=y 618 + CONFIG_VT_CONSOLE=y 619 + CONFIG_HW_CONSOLE=y 620 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 629 621 CONFIG_DEVKMEM=y 630 622 # CONFIG_SERIAL_NONSTANDARD is not set 631 623 ··· 660 644 # CONFIG_POWER_SUPPLY is not set 661 645 # CONFIG_HWMON is not set 662 646 # CONFIG_THERMAL is not set 647 + # CONFIG_THERMAL_HWMON is not set 663 648 # CONFIG_WATCHDOG is not set 664 649 665 650 # ··· 672 655 # 673 656 # Multifunction device drivers 674 657 # 658 + # CONFIG_MFD_CORE is not set 675 659 # CONFIG_MFD_SM501 is not set 676 660 # CONFIG_HTC_PASIC3 is not set 677 661 ··· 697 679 # 698 680 # CONFIG_VGASTATE is not set 699 681 # CONFIG_VIDEO_OUTPUT_CONTROL is not set 700 - # CONFIG_FB is not set 682 + CONFIG_FB=y 683 + # CONFIG_FIRMWARE_EDID is not set 684 + # CONFIG_FB_DDC is not set 685 + CONFIG_FB_CFB_FILLRECT=y 686 + CONFIG_FB_CFB_COPYAREA=y 687 + CONFIG_FB_CFB_IMAGEBLIT=y 688 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 689 + # CONFIG_FB_SYS_FILLRECT is not set 690 + # CONFIG_FB_SYS_COPYAREA is not set 691 + # CONFIG_FB_SYS_IMAGEBLIT is not set 692 + CONFIG_FB_FOREIGN_ENDIAN=y 693 + CONFIG_FB_BOTH_ENDIAN=y 694 + # CONFIG_FB_BIG_ENDIAN is not set 695 + # CONFIG_FB_LITTLE_ENDIAN is not set 696 + # CONFIG_FB_SYS_FOPS is not set 697 + # CONFIG_FB_SVGALIB is not set 698 + # CONFIG_FB_MACMODES is not set 699 + # CONFIG_FB_BACKLIGHT is not set 700 + # CONFIG_FB_MODE_HELPERS is not set 701 + # CONFIG_FB_TILEBLITTING is not set 702 + 703 + # 704 + # Frame buffer hardware drivers 705 + # 706 + # CONFIG_FB_S1D13XXX is not set 707 + # CONFIG_FB_SH_MOBILE_LCDC is not set 708 + CONFIG_FB_SH7760=y 709 + # CONFIG_FB_VIRTUAL is not set 701 710 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 702 711 703 712 # ··· 733 688 # CONFIG_DISPLAY_SUPPORT is not set 734 689 735 690 # 736 - # Sound 691 + # Console display driver support 737 692 # 693 + CONFIG_DUMMY_CONSOLE=y 694 + CONFIG_FRAMEBUFFER_CONSOLE=y 695 + # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 696 + # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 697 + # CONFIG_FONTS is not set 698 + CONFIG_FONT_8x8=y 699 + CONFIG_FONT_8x16=y 700 + CONFIG_LOGO=y 701 + CONFIG_LOGO_LINUX_MONO=y 702 + CONFIG_LOGO_LINUX_VGA16=y 703 + CONFIG_LOGO_LINUX_CLUT224=y 704 + CONFIG_LOGO_SUPERH_MONO=y 705 + CONFIG_LOGO_SUPERH_VGA16=y 706 + CONFIG_LOGO_SUPERH_CLUT224=y 738 707 # CONFIG_SOUND is not set 739 708 # CONFIG_HID_SUPPORT is not set 740 709 CONFIG_USB_SUPPORT=y ··· 847 788 # CONFIG_USB_IOWARRIOR is not set 848 789 # CONFIG_USB_ISIGHTFW is not set 849 790 # CONFIG_USB_GADGET is not set 850 - # CONFIG_MMC is not set 791 + CONFIG_MMC=y 792 + # CONFIG_MMC_DEBUG is not set 793 + # CONFIG_MMC_UNSAFE_RESUME is not set 794 + 795 + # 796 + # MMC/SD Card Drivers 797 + # 798 + CONFIG_MMC_BLOCK=y 799 + CONFIG_MMC_BLOCK_BOUNCE=y 800 + # CONFIG_SDIO_UART is not set 801 + # CONFIG_MMC_TEST is not set 802 + 803 + # 804 + # MMC/SD Host Controller Drivers 805 + # 806 + # CONFIG_MMC_SDHCI is not set 851 807 # CONFIG_MEMSTICK is not set 852 808 # CONFIG_NEW_LEDS is not set 853 809 # CONFIG_ACCESSIBILITY is not set 854 810 # CONFIG_RTC_CLASS is not set 811 + # CONFIG_DMADEVICES is not set 855 812 # CONFIG_UIO is not set 856 813 857 814 # ··· 940 865 # CONFIG_CRAMFS is not set 941 866 # CONFIG_VXFS_FS is not set 942 867 # CONFIG_MINIX_FS is not set 868 + # CONFIG_OMFS_FS is not set 943 869 # CONFIG_HPFS_FS is not set 944 870 # CONFIG_QNX4FS_FS is not set 945 871 # CONFIG_ROMFS_FS is not set ··· 950 874 CONFIG_NFS_FS=y 951 875 # CONFIG_NFS_V3 is not set 952 876 # CONFIG_NFS_V4 is not set 953 - # CONFIG_NFSD is not set 954 877 CONFIG_ROOT_NFS=y 878 + # CONFIG_NFSD is not set 955 879 CONFIG_LOCKD=y 956 880 CONFIG_NFS_COMMON=y 957 881 CONFIG_SUNRPC=y 958 - # CONFIG_SUNRPC_BIND34 is not set 959 882 # CONFIG_RPCSEC_GSS_KRB5 is not set 960 883 # CONFIG_RPCSEC_GSS_SPKM3 is not set 961 884 # CONFIG_SMB_FS is not set ··· 1024 949 # CONFIG_HEADERS_CHECK is not set 1025 950 # CONFIG_DEBUG_KERNEL is not set 1026 951 # CONFIG_DEBUG_BUGVERBOSE is not set 952 + # CONFIG_DEBUG_MEMORY_INIT is not set 1027 953 # CONFIG_SAMPLES is not set 1028 954 # CONFIG_SH_STANDARD_BIOS is not set 1029 955 # CONFIG_EARLY_SCIF_CONSOLE is not set ··· 1079 1003 # CONFIG_CRYPTO_MD4 is not set 1080 1004 # CONFIG_CRYPTO_MD5 is not set 1081 1005 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1006 + # CONFIG_CRYPTO_RMD128 is not set 1007 + # CONFIG_CRYPTO_RMD160 is not set 1008 + # CONFIG_CRYPTO_RMD256 is not set 1009 + # CONFIG_CRYPTO_RMD320 is not set 1082 1010 # CONFIG_CRYPTO_SHA1 is not set 1083 1011 # CONFIG_CRYPTO_SHA256 is not set 1084 1012 # CONFIG_CRYPTO_SHA512 is not set ··· 1122 1042 # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1123 1043 # CONFIG_CRC_CCITT is not set 1124 1044 # CONFIG_CRC16 is not set 1045 + CONFIG_CRC_T10DIF=y 1125 1046 # CONFIG_CRC_ITU_T is not set 1126 1047 CONFIG_CRC32=y 1127 1048 # CONFIG_CRC7 is not set
+7
arch/sh/include/asm/flat.h
··· 21 21 #define flat_get_relocate_addr(rel) (rel) 22 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 31 #endif /* __ASM_SH_FLAT_H */
-3
arch/sh/include/asm/migor.h
··· 42 42 43 43 #define PORT_MSELCRB 0xa4050182 44 44 45 - #define MSTPCR1 0xa4150034 46 - #define MSTPCR2 0xa4150038 47 - 48 45 #define PORT_PSELA 0xa405014e 49 46 #define PORT_PSELB 0xa4050150 50 47 #define PORT_PSELC 0xa4050152
+6
arch/sh/include/asm/sh_mobile_lcdc.h
··· 47 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 55 struct sh_mobile_lcdc_chan_cfg { 51 56 int chan; 52 57 int bpp; 53 58 int interface_type; /* selects RGBn or SYSn I/F, see above */ 54 59 int clock_divider; 55 60 struct fb_videomode lcd_cfg; 61 + struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; 56 62 struct sh_mobile_lcdc_board_cfg board_cfg; 57 63 struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ 58 64 };
+10
arch/sh/include/cpu-sh3/cpu/cacheflush.h
··· 29 29 void flush_dcache_page(struct page *pg); 30 30 void flush_icache_range(unsigned long start, unsigned long end); 31 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 42 #else 33 43 #include <cpu-common/cpu/cacheflush.h> 34 44 #endif
+2 -2
arch/sh/kernel/cpu/sh4a/setup-sh7723.c
··· 45 45 }; 46 46 47 47 static struct uio_info veu0_platform_data = { 48 - .name = "VEU", 48 + .name = "VEU2H", 49 49 .version = "0", 50 50 .irq = 54, 51 51 }; ··· 73 73 }; 74 74 75 75 static struct uio_info veu1_platform_data = { 76 - .name = "VEU", 76 + .name = "VEU2H", 77 77 .version = "0", 78 78 .irq = 27, 79 79 };
+3 -1
arch/sh/kernel/sh_ksyms_32.c
··· 107 107 * GCC >= 4.2 emits these for division, as do GCC 4.1.x versions of the ST 108 108 * compiler which include backported patches. 109 109 */ 110 - DECLARE_EXPORT(__sdivsi3_i4i); 111 110 DECLARE_EXPORT(__udiv_qrnnd_16); 111 + #if !defined(CONFIG_CPU_SH2) 112 + DECLARE_EXPORT(__sdivsi3_i4i); 112 113 DECLARE_EXPORT(__udivsi3_i4i); 114 + #endif 113 115 #endif 114 116 #else /* GCC 3.x */ 115 117 DECLARE_EXPORT(__movstr_i4_even);
+2
arch/sh/mm/Kconfig
··· 181 181 choice 182 182 prompt "HugeTLB page size" 183 183 depends on HUGETLB_PAGE && (CPU_SH4 || CPU_SH5) && MMU 184 + default HUGETLB_PAGE_SIZE_1MB if PAGE_SIZE_64KB 184 185 default HUGETLB_PAGE_SIZE_64K 185 186 186 187 config HUGETLB_PAGE_SIZE_64K 187 188 bool "64kB" 189 + depends on !PAGE_SIZE_64KB 188 190 189 191 config HUGETLB_PAGE_SIZE_256K 190 192 bool "256kB"
+27
arch/sh/mm/consistent.c
··· 95 95 } 96 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 121 int platform_resource_setup_memory(struct platform_device *pdev, 99 122 char *name, unsigned long memsize) 100 123 { ··· 131 108 name); 132 109 return -EINVAL; 133 110 } 111 + 112 + memchunk_cmdline_override(name, &memsize); 113 + if (!memsize) 114 + return 0; 134 115 135 116 buf = dma_alloc_coherent(NULL, memsize, &dma_handle, GFP_KERNEL); 136 117 if (!buf) {
+9 -2
drivers/input/touchscreen/migor_ts.c
··· 173 173 input_set_abs_params(input, ABS_X, 95, 955, 0, 0); 174 174 input_set_abs_params(input, ABS_Y, 85, 935, 0, 0); 175 175 176 - input->name = client->driver_name; 176 + input->name = client->name; 177 177 input->id.bustype = BUS_I2C; 178 178 input->dev.parent = &client->dev; 179 179 ··· 192 192 goto err1; 193 193 194 194 error = request_irq(priv->irq, migor_ts_isr, IRQF_TRIGGER_LOW, 195 - client->driver_name, priv); 195 + client->name, priv); 196 196 if (error) { 197 197 dev_err(&client->dev, "Unable to request touchscreen IRQ.\n"); 198 198 goto err2; ··· 224 224 return 0; 225 225 } 226 226 227 + static const struct i2c_device_id migor_ts_id[] = { 228 + { "migor_ts", 0 }, 229 + { } 230 + }; 231 + MODULE_DEVICE_TABLE(i2c, migor_ts); 232 + 227 233 static struct i2c_driver migor_ts_driver = { 228 234 .driver = { 229 235 .name = "migor_ts", 230 236 }, 231 237 .probe = migor_ts_probe, 232 238 .remove = migor_ts_remove, 239 + .id_table = migor_ts_id, 233 240 }; 234 241 235 242 static int __init migor_ts_init(void)
+2
drivers/video/sh_mobile_lcdcfb.c
··· 595 595 info->fbops = &sh_mobile_lcdc_ops; 596 596 info->var.xres = info->var.xres_virtual = cfg->lcd_cfg.xres; 597 597 info->var.yres = info->var.yres_virtual = cfg->lcd_cfg.yres; 598 + info->var.width = cfg->lcd_size_cfg.width; 599 + info->var.height = cfg->lcd_size_cfg.height; 598 600 info->var.activate = FB_ACTIVATE_NOW; 599 601 error = sh_mobile_lcdc_set_bpp(&info->var, cfg->bpp); 600 602 if (error)
+3 -1
fs/binfmt_flat.c
··· 914 914 /* Stash our initial stack pointer into the mm structure */ 915 915 current->mm->start_stack = (unsigned long )sp; 916 916 917 - 917 + #ifdef FLAT_PLAT_INIT 918 + FLAT_PLAT_INIT(regs); 919 + #endif 918 920 DBG_FLT("start_thread(regs=0x%x, entry=0x%x, start_stack=0x%x)\n", 919 921 (int)regs, (int)start_addr, (int)current->mm->start_stack); 920 922