Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC]: Wire up signalfd/timerfd/eventfd syscalls.
[SPARC64]: Add support for bq4802 TOD chip, as found on ultra45.
[SPARC64]: Correct FIRE_IOMMU_FLUSHINV register offset.
[SPARC64]: envctrl.c needs asm/io.h
[SPARC64]: Update defconfig.
[TTY]: Export proc_clear_tty() to modulea.
[SPARC64]: pci_resource_adjust() cannot be __init.
[SPARC64]: Spelling fixes.
[SPARC]: Spelling fixes.
[SPARC64]: Kill LARGE_ALLOCS and update defconfig.

+312 -119
+1 -1
arch/sparc/kernel/auxio.c
··· 88 88 break; 89 89 case sun4m: 90 90 if(!auxio_register) 91 - break; /* VME chassic sun4m, no auxio. */ 91 + break; /* VME chassis sun4m, no auxio. */ 92 92 regval = sbus_readb(auxio_register); 93 93 sbus_writeb(((regval | bits_on) & ~bits_off) | AUXIO_ORMEIN4M, 94 94 auxio_register);
+1 -1
arch/sparc/kernel/ioport.c
··· 617 617 * size must be the same as what as passed into pci_alloc_consistent, 618 618 * and likewise dma_addr must be the same as what *dma_addrp was set to. 619 619 * 620 - * References to the memory and mappings assosciated with cpu_addr/dma_addr 620 + * References to the memory and mappings associated with cpu_addr/dma_addr 621 621 * past this call are illegal. 622 622 */ 623 623 void pci_free_consistent(struct pci_dev *pdev, size_t n, void *p, dma_addr_t ba)
+4 -4
arch/sparc/kernel/irq.c
··· 1 1 /* $Id: irq.c,v 1.114 2001/12/11 04:55:51 davem Exp $ 2 2 * arch/sparc/kernel/irq.c: Interrupt request handling routines. On the 3 - * Sparc the IRQ's are basically 'cast in stone' 3 + * Sparc the IRQs are basically 'cast in stone' 4 4 * and you are supposed to probe the prom's device 5 5 * node trees to find out who's got which IRQ. 6 6 * ··· 330 330 irq_enter(); 331 331 disable_pil_irq(irq); 332 332 #ifdef CONFIG_SMP 333 - /* Only rotate on lower priority IRQ's (scsi, ethernet, etc.). */ 333 + /* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */ 334 334 if((sparc_cpu_model==sun4m) && (irq < 10)) 335 335 smp4m_irq_rotate(cpu); 336 336 #endif ··· 371 371 } 372 372 #endif 373 373 374 - /* Fast IRQ's on the Sparc can only have one routine attached to them, 374 + /* Fast IRQs on the Sparc can only have one routine attached to them, 375 375 * thus no sharing possible. 376 376 */ 377 377 int request_fast_irq(unsigned int irq, ··· 608 608 break; 609 609 610 610 default: 611 - prom_printf("Cannot initialize IRQ's on this Sun machine..."); 611 + prom_printf("Cannot initialize IRQs on this Sun machine..."); 612 612 break; 613 613 } 614 614 btfixup();
+2 -2
arch/sparc/kernel/pcic.c
··· 755 755 static __inline__ unsigned long do_gettimeoffset(void) 756 756 { 757 757 /* 758 - * We devide all to 100 758 + * We divide all by 100 759 759 * to have microsecond resolution and to avoid overflow 760 760 */ 761 761 unsigned long count = ··· 956 956 * Also, think for a moment about likes of floppy.c that 957 957 * include architecture specific parts. They may want to redefine ins/outs. 958 958 * 959 - * We do not use horroble macroses here because we want to 959 + * We do not use horrible macros here because we want to 960 960 * advance pointer by sizeof(size). 961 961 */ 962 962 void outsb(unsigned long addr, const void *src, unsigned long count)
+1 -1
arch/sparc/kernel/process.c
··· 683 683 * NOTE! Only a kernel-only process(ie the swapper or direct descendants 684 684 * who haven't done an "execve()") should use this: it will work within 685 685 * a system call from a "real" process, but the process memory space will 686 - * not be free'd until both the parent and the child have exited. 686 + * not be freed until both the parent and the child have exited. 687 687 */ 688 688 pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) 689 689 {
+1 -1
arch/sparc/kernel/sun4d_irq.c
··· 521 521 lvl14_save[2] += smp4d_ticker - real_irq_entry; 522 522 523 523 /* For SMP we use the level 14 ticker, however the bootup code 524 - * has copied the firmwares level 14 vector into boot cpu's 524 + * has copied the firmware's level 14 vector into the boot cpu's 525 525 * trap table, we must fix this now or we get squashed. 526 526 */ 527 527 local_irq_save(flags);
+1 -1
arch/sparc/kernel/sun4m_irq.c
··· 299 299 struct tt_entry *trap_table = &sparc_ttable[SP_TRAP_IRQ1 + (14 - 1)]; 300 300 301 301 /* For SMP we use the level 14 ticker, however the bootup code 302 - * has copied the firmwares level 14 vector into boot cpu's 302 + * has copied the firmware's level 14 vector into the boot cpu's 303 303 * trap table, we must fix this now or we get squashed. 304 304 */ 305 305 local_irq_save(flags);
+3 -2
arch/sparc/kernel/systbls.S
··· 80 80 /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare 81 81 /*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy 82 82 /*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait 83 - /*310*/ .long sys_utimensat 83 + /*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd 84 84 85 85 #ifdef CONFIG_SUNOS_EMUL 86 86 /* Now the SunOS syscall table. */ ··· 197 197 .long sunos_nosys, sunos_nosys, sunos_nosys 198 198 .long sunos_nosys, sunos_nosys, sunos_nosys 199 199 .long sunos_nosys 200 - /*310*/ .long sunos_nosys 200 + /*310*/ .long sunos_nosys, sunos_nosys, sunos_nosys 201 + .long sunos_nosys 201 202 202 203 #endif
+1 -1
arch/sparc/prom/printf.c
··· 5 5 * Copyright (c) 2002 Pete Zaitcev (zaitcev@yahoo.com) 6 6 * 7 7 * We used to warn all over the code: DO NOT USE prom_printf(), 8 - * and yet people do. Anton's banking code was outputing banks 8 + * and yet people do. Anton's banking code was outputting banks 9 9 * with prom_printf for most of the 2.4 lifetime. Since an effective 10 10 * stick is not available, we deployed a carrot: an early printk 11 11 * through PROM by means of -p boot option. This ought to fix it.
-3
arch/sparc64/Kconfig
··· 226 226 def_bool y 227 227 select SPARSEMEM_STATIC 228 228 229 - config LARGE_ALLOCS 230 - def_bool y 231 - 232 229 source "mm/Kconfig" 233 230 234 231 config ISA
+61 -65
arch/sparc64/defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 3 # Linux kernel version: 2.6.21 4 - # Sun May 6 22:46:54 2007 4 + # Fri May 11 14:31:45 2007 5 5 # 6 6 CONFIG_SPARC=y 7 7 CONFIG_SPARC64=y ··· 9 9 CONFIG_GENERIC_CLOCKEVENTS=y 10 10 CONFIG_64BIT=y 11 11 CONFIG_MMU=y 12 + CONFIG_QUICKLIST=y 12 13 CONFIG_STACKTRACE_SUPPORT=y 13 14 CONFIG_LOCKDEP_SUPPORT=y 14 15 CONFIG_ARCH_MAY_HAVE_PC_FDC=y ··· 50 49 # CONFIG_UTS_NS is not set 51 50 # CONFIG_AUDIT is not set 52 51 # CONFIG_IKCONFIG is not set 52 + CONFIG_LOG_BUF_SHIFT=18 53 53 CONFIG_SYSFS_DEPRECATED=y 54 54 CONFIG_RELAY=y 55 55 # CONFIG_BLK_DEV_INITRD is not set ··· 68 66 CONFIG_ELF_CORE=y 69 67 CONFIG_BASE_FULL=y 70 68 CONFIG_FUTEX=y 69 + CONFIG_ANON_INODES=y 71 70 CONFIG_EPOLL=y 71 + CONFIG_SIGNALFD=y 72 + CONFIG_TIMERFD=y 73 + CONFIG_EVENTFD=y 72 74 CONFIG_SHMEM=y 73 - CONFIG_SLAB=y 74 75 CONFIG_VM_EVENT_COUNTERS=y 76 + CONFIG_SLUB_DEBUG=y 77 + # CONFIG_SLAB is not set 78 + CONFIG_SLUB=y 79 + # CONFIG_SLOB is not set 75 80 CONFIG_RT_MUTEXES=y 76 81 # CONFIG_TINY_SHMEM is not set 77 82 CONFIG_BASE_SMALL=0 78 - # CONFIG_SLOB is not set 79 83 80 84 # 81 85 # Loadable module support ··· 145 137 CONFIG_ARCH_SELECT_MEMORY_MODEL=y 146 138 CONFIG_ARCH_SPARSEMEM_ENABLE=y 147 139 CONFIG_ARCH_SPARSEMEM_DEFAULT=y 148 - CONFIG_LARGE_ALLOCS=y 149 140 CONFIG_SELECT_MEMORY_MODEL=y 150 141 # CONFIG_FLATMEM_MANUAL is not set 151 142 # CONFIG_DISCONTIGMEM_MANUAL is not set ··· 155 148 CONFIG_SPLIT_PTLOCK_CPUS=4 156 149 CONFIG_RESOURCES_64BIT=y 157 150 CONFIG_ZONE_DMA_FLAG=0 151 + CONFIG_NR_QUICK=1 158 152 CONFIG_SBUS=y 159 153 CONFIG_SBUSCHAR=y 160 154 CONFIG_SUN_AUXIO=y ··· 313 305 # CONFIG_WIRELESS_EXT is not set 314 306 # CONFIG_MAC80211 is not set 315 307 # CONFIG_IEEE80211 is not set 308 + # CONFIG_RFKILL is not set 316 309 317 310 # 318 311 # Device Drivers ··· 368 359 # 369 360 # Misc devices 370 361 # 362 + # CONFIG_PHANTOM is not set 371 363 # CONFIG_SGI_IOC4 is not set 372 364 # CONFIG_TIFM_CORE is not set 365 + # CONFIG_BLINK is not set 373 366 374 367 # 375 368 # ATA/ATAPI/MFM/RLL support ··· 390 379 # CONFIG_BLK_DEV_IDEFLOPPY is not set 391 380 # CONFIG_BLK_DEV_IDESCSI is not set 392 381 # CONFIG_IDE_TASK_IOCTL is not set 382 + CONFIG_IDE_PROC_FS=y 393 383 394 384 # 395 385 # IDE chipset support/bugfixes ··· 398 386 CONFIG_IDE_GENERIC=y 399 387 CONFIG_BLK_DEV_IDEPCI=y 400 388 # CONFIG_IDEPCI_SHARE_IRQ is not set 389 + CONFIG_IDEPCI_PCIBUS_ORDER=y 401 390 # CONFIG_BLK_DEV_OFFBOARD is not set 402 391 # CONFIG_BLK_DEV_GENERIC is not set 403 392 # CONFIG_BLK_DEV_OPTI621 is not set ··· 534 521 CONFIG_DM_MIRROR=m 535 522 CONFIG_DM_ZERO=m 536 523 # CONFIG_DM_MULTIPATH is not set 524 + # CONFIG_DM_DELAY is not set 537 525 538 526 # 539 527 # Fusion MPT device support ··· 547 533 # 548 534 # IEEE 1394 (FireWire) support 549 535 # 536 + # CONFIG_FIREWIRE is not set 550 537 # CONFIG_IEEE1394 is not set 551 538 552 539 # ··· 644 629 # CONFIG_S2IO is not set 645 630 # CONFIG_MYRI10GE is not set 646 631 # CONFIG_NETXEN_NIC is not set 632 + # CONFIG_MLX4_CORE is not set 633 + CONFIG_MLX4_DEBUG=y 647 634 648 635 # 649 636 # Token Ring devices ··· 657 640 # 658 641 # CONFIG_WLAN_PRE80211 is not set 659 642 # CONFIG_WLAN_80211 is not set 643 + 644 + # 645 + # USB Network Adapters 646 + # 647 + # CONFIG_USB_CATC is not set 648 + # CONFIG_USB_KAWETH is not set 649 + # CONFIG_USB_PEGASUS is not set 650 + # CONFIG_USB_RTL8150 is not set 651 + # CONFIG_USB_USBNET_MII is not set 652 + # CONFIG_USB_USBNET is not set 660 653 661 654 # 662 655 # Wan interfaces ··· 738 711 CONFIG_MOUSE_PS2_TRACKPOINT=y 739 712 # CONFIG_MOUSE_PS2_TOUCHKIT is not set 740 713 CONFIG_MOUSE_SERIAL=y 714 + # CONFIG_MOUSE_APPLETOUCH is not set 741 715 # CONFIG_MOUSE_VSXXXAA is not set 742 716 # CONFIG_INPUT_JOYSTICK is not set 717 + # CONFIG_INPUT_TABLET is not set 743 718 # CONFIG_INPUT_TOUCHSCREEN is not set 744 719 CONFIG_INPUT_MISC=y 745 720 CONFIG_INPUT_SPARCSPKR=y 721 + # CONFIG_INPUT_ATI_REMOTE is not set 722 + # CONFIG_INPUT_ATI_REMOTE2 is not set 723 + # CONFIG_INPUT_KEYSPAN_REMOTE is not set 724 + # CONFIG_INPUT_POWERMATE is not set 725 + # CONFIG_INPUT_YEALINK is not set 746 726 # CONFIG_INPUT_UINPUT is not set 747 727 # CONFIG_INPUT_POLLDEV is not set 748 728 ··· 796 762 # IPMI 797 763 # 798 764 # CONFIG_IPMI_HANDLER is not set 799 - 800 - # 801 - # Watchdog Cards 802 - # 803 765 # CONFIG_WATCHDOG is not set 804 766 # CONFIG_HW_RANDOM is not set 805 767 CONFIG_RTC=y 806 - # CONFIG_DTLK is not set 807 768 # CONFIG_R3964 is not set 808 769 # CONFIG_APPLICOM is not set 809 770 # CONFIG_DRM is not set ··· 808 779 # TPM devices 809 780 # 810 781 # CONFIG_TCG_TPM is not set 782 + CONFIG_DEVPORT=y 811 783 CONFIG_I2C=y 812 784 CONFIG_I2C_BOARDINFO=y 813 785 # CONFIG_I2C_CHARDEV is not set ··· 871 841 # Dallas's 1-wire bus 872 842 # 873 843 # CONFIG_W1 is not set 874 - 875 - # 876 - # Hardware Monitoring support 877 - # 878 844 CONFIG_HWMON=y 879 845 # CONFIG_HWMON_VID is not set 880 846 # CONFIG_SENSORS_ABITUGURU is not set 847 + # CONFIG_SENSORS_AD7418 is not set 881 848 # CONFIG_SENSORS_ADM1021 is not set 882 849 # CONFIG_SENSORS_ADM1025 is not set 883 850 # CONFIG_SENSORS_ADM1026 is not set ··· 901 874 # CONFIG_SENSORS_LM90 is not set 902 875 # CONFIG_SENSORS_LM92 is not set 903 876 # CONFIG_SENSORS_MAX1619 is not set 877 + # CONFIG_SENSORS_MAX6650 is not set 904 878 # CONFIG_SENSORS_PC87360 is not set 905 879 # CONFIG_SENSORS_PC87427 is not set 906 880 # CONFIG_SENSORS_SIS5595 is not set ··· 929 901 # Multimedia devices 930 902 # 931 903 # CONFIG_VIDEO_DEV is not set 932 - 933 - # 934 - # Digital Video Broadcasting Devices 935 - # 936 - # CONFIG_DVB is not set 937 - # CONFIG_USB_DABUSB is not set 904 + # CONFIG_DVB_CORE is not set 905 + # CONFIG_DAB is not set 938 906 939 907 # 940 908 # Graphics support 941 909 # 942 910 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 911 + 912 + # 913 + # Display device support 914 + # 915 + # CONFIG_DISPLAY_SUPPORT is not set 916 + # CONFIG_VGASTATE is not set 943 917 CONFIG_FB=y 944 918 # CONFIG_FIRMWARE_EDID is not set 945 919 CONFIG_FB_DDC=y 946 920 CONFIG_FB_CFB_FILLRECT=y 947 921 CONFIG_FB_CFB_COPYAREA=y 948 922 CONFIG_FB_CFB_IMAGEBLIT=y 923 + # CONFIG_FB_SYS_FILLRECT is not set 924 + # CONFIG_FB_SYS_COPYAREA is not set 925 + # CONFIG_FB_SYS_IMAGEBLIT is not set 926 + # CONFIG_FB_SYS_FOPS is not set 927 + CONFIG_FB_DEFERRED_IO=y 949 928 # CONFIG_FB_SVGALIB is not set 950 929 # CONFIG_FB_MACMODES is not set 951 930 # CONFIG_FB_BACKLIGHT is not set ··· 984 949 # CONFIG_FB_KYRO is not set 985 950 # CONFIG_FB_3DFX is not set 986 951 # CONFIG_FB_VOODOO1 is not set 952 + # CONFIG_FB_VT8623 is not set 987 953 # CONFIG_FB_TRIDENT is not set 954 + # CONFIG_FB_ARK is not set 955 + # CONFIG_FB_PM3 is not set 988 956 # CONFIG_FB_XVR500 is not set 989 957 # CONFIG_FB_XVR2500 is not set 990 958 # CONFIG_FB_PCI is not set ··· 1010 972 CONFIG_FONT_SUN8x16=y 1011 973 # CONFIG_FONT_SUN12x22 is not set 1012 974 # CONFIG_FONT_10x18 is not set 1013 - 1014 - # 1015 - # Logo configuration 1016 - # 1017 975 CONFIG_LOGO=y 1018 976 # CONFIG_LOGO_LINUX_MONO is not set 1019 977 # CONFIG_LOGO_LINUX_VGA16 is not set ··· 1117 1083 # USB devices 1118 1084 # 1119 1085 # CONFIG_SND_USB_AUDIO is not set 1086 + # CONFIG_SND_USB_CAIAQ is not set 1120 1087 1121 1088 # 1122 1089 # ALSA Sparc devices ··· 1127 1092 # CONFIG_SND_SUN_DBRI is not set 1128 1093 1129 1094 # 1130 - # SoC audio support 1095 + # System on Chip audio support 1131 1096 # 1132 1097 # CONFIG_SND_SOC is not set 1133 1098 ··· 1213 1178 # CONFIG_USB_LIBUSUAL is not set 1214 1179 1215 1180 # 1216 - # USB Input Devices 1217 - # 1218 - # CONFIG_USB_AIPTEK is not set 1219 - # CONFIG_USB_WACOM is not set 1220 - # CONFIG_USB_ACECAD is not set 1221 - # CONFIG_USB_KBTAB is not set 1222 - # CONFIG_USB_POWERMATE is not set 1223 - # CONFIG_USB_TOUCHSCREEN is not set 1224 - # CONFIG_USB_YEALINK is not set 1225 - # CONFIG_USB_XPAD is not set 1226 - # CONFIG_USB_ATI_REMOTE is not set 1227 - # CONFIG_USB_ATI_REMOTE2 is not set 1228 - # CONFIG_USB_KEYSPAN_REMOTE is not set 1229 - # CONFIG_USB_APPLETOUCH is not set 1230 - # CONFIG_USB_GTCO is not set 1231 - 1232 - # 1233 1181 # USB Imaging devices 1234 1182 # 1235 1183 # CONFIG_USB_MDC800 is not set 1236 1184 # CONFIG_USB_MICROTEK is not set 1237 - 1238 - # 1239 - # USB Network Adapters 1240 - # 1241 - # CONFIG_USB_CATC is not set 1242 - # CONFIG_USB_KAWETH is not set 1243 - # CONFIG_USB_PEGASUS is not set 1244 - # CONFIG_USB_RTL8150 is not set 1245 - # CONFIG_USB_USBNET_MII is not set 1246 - # CONFIG_USB_USBNET is not set 1247 1185 # CONFIG_USB_MON is not set 1248 1186 1249 1187 # ··· 1260 1252 # USB Gadget Support 1261 1253 # 1262 1254 # CONFIG_USB_GADGET is not set 1263 - 1264 - # 1265 - # MMC/SD Card support 1266 - # 1267 1255 # CONFIG_MMC is not set 1268 1256 1269 1257 # ··· 1300 1296 1301 1297 # 1302 1298 # DMA Devices 1303 - # 1304 - 1305 - # 1306 - # Auxiliary Display support 1307 - # 1308 - 1309 - # 1310 - # Virtualization 1311 1299 # 1312 1300 1313 1301 # ··· 1482 1486 # CONFIG_HEADERS_CHECK is not set 1483 1487 CONFIG_DEBUG_KERNEL=y 1484 1488 # CONFIG_DEBUG_SHIRQ is not set 1485 - CONFIG_LOG_BUF_SHIFT=18 1486 1489 CONFIG_DETECT_SOFTLOCKUP=y 1487 1490 CONFIG_SCHEDSTATS=y 1488 1491 # CONFIG_TIMER_STATS is not set 1489 - # CONFIG_DEBUG_SLAB is not set 1490 1492 # CONFIG_DEBUG_RT_MUTEXES is not set 1491 1493 # CONFIG_RT_MUTEX_TESTER is not set 1492 1494 # CONFIG_DEBUG_SPINLOCK is not set ··· 1568 1574 CONFIG_BITREVERSE=y 1569 1575 CONFIG_CRC_CCITT=m 1570 1576 CONFIG_CRC16=m 1577 + # CONFIG_CRC_ITU_T is not set 1571 1578 CONFIG_CRC32=y 1572 1579 CONFIG_LIBCRC32C=m 1573 1580 CONFIG_ZLIB_INFLATE=y ··· 1576 1581 CONFIG_PLIST=y 1577 1582 CONFIG_HAS_IOMEM=y 1578 1583 CONFIG_HAS_IOPORT=y 1584 + CONFIG_HAS_DMA=y
+1 -1
arch/sparc64/kernel/devices.c
··· 21 21 #include <asm/timer.h> 22 22 #include <asm/cpudata.h> 23 23 24 - /* Used to synchronize acceses to NatSemi SUPER I/O chip configure 24 + /* Used to synchronize accesses to NatSemi SUPER I/O chip configure 25 25 * operations in asm/ns87303.h 26 26 */ 27 27 DEFINE_SPINLOCK(ns87303_lock);
+2 -2
arch/sparc64/kernel/of_device.c
··· 596 596 /* Convert to num-entries. */ 597 597 num_reg /= na + ns; 598 598 599 - /* Prevent overruning the op->resources[] array. */ 599 + /* Prevent overrunning the op->resources[] array. */ 600 600 if (num_reg > PROMREG_MAX) { 601 601 printk(KERN_WARNING "%s: Too many regs (%d), " 602 602 "limiting to %d.\n", ··· 904 904 op->num_irqs = 0; 905 905 } 906 906 907 - /* Prevent overruning the op->irqs[] array. */ 907 + /* Prevent overrunning the op->irqs[] array. */ 908 908 if (op->num_irqs > PROMINTR_MAX) { 909 909 printk(KERN_WARNING "%s: Too many irqs (%d), " 910 910 "limiting to %d.\n",
+2 -2
arch/sparc64/kernel/pci.c
··· 495 495 *last_p = last; 496 496 } 497 497 498 - static void __init pci_resource_adjust(struct resource *res, 499 - struct resource *root) 498 + static void pci_resource_adjust(struct resource *res, 499 + struct resource *root) 500 500 { 501 501 res->start += root->start; 502 502 res->end += root->start;
+1 -1
arch/sparc64/kernel/pci_fire.c
··· 37 37 #define FIRE_IOMMU_CONTROL 0x40000UL 38 38 #define FIRE_IOMMU_TSBBASE 0x40008UL 39 39 #define FIRE_IOMMU_FLUSH 0x40100UL 40 - #define FIRE_IOMMU_FLUSHINV 0x40100UL 40 + #define FIRE_IOMMU_FLUSHINV 0x40108UL 41 41 42 42 static void pci_fire_pbm_iommu_init(struct pci_pbm_info *pbm) 43 43 {
+1 -1
arch/sparc64/kernel/pci_iommu.c
··· 542 542 /* Map a set of buffers described by SGLIST with NELEMS array 543 543 * elements in streaming mode for PCI DMA. 544 544 * When making changes here, inspect the assembly output. I was having 545 - * hard time to kepp this routine out of using stack slots for holding variables. 545 + * hard time to keep this routine out of using stack slots for holding variables. 546 546 */ 547 547 static int pci_4u_map_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction) 548 548 {
+1 -1
arch/sparc64/kernel/pci_sun4v.c
··· 731 731 732 732 u64 msi_address; 733 733 734 - /* The format of this value is message type dependant. 734 + /* The format of this value is message type dependent. 735 735 * For MSI bits 15:0 are the data from the MSI packet. 736 736 * For MSI-X bits 31:0 are the data from the MSI packet. 737 737 * For MSG, the message code and message routing code where:
+1 -1
arch/sparc64/kernel/process.c
··· 677 677 * NOTE! Only a kernel-only process(ie the swapper or direct descendants 678 678 * who haven't done an "execve()") should use this: it will work within 679 679 * a system call from a "real" process, but the process memory space will 680 - * not be free'd until both the parent and the child have exited. 680 + * not be freed until both the parent and the child have exited. 681 681 */ 682 682 pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) 683 683 {
+1 -1
arch/sparc64/kernel/prom.c
··· 899 899 /* The interrupt map registers do not have an INO field 900 900 * like other chips do. They return zero in the INO 901 901 * field, and the interrupt controller number is controlled 902 - * in bits 6 thru 9. So in order for build_irq() to get 902 + * in bits 6 to 9. So in order for build_irq() to get 903 903 * the INO right we pass it in as part of the fixup 904 904 * which will get added to the map register zero value 905 905 * read by build_irq().
+4 -3
arch/sparc64/kernel/systbls.S
··· 81 81 .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare 82 82 /*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list, compat_sys_migrate_pages, compat_sys_mbind, compat_sys_get_mempolicy 83 83 .word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait 84 - /*310*/ .word compat_sys_utimensat 84 + /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, compat_sys_timerfd, sys_eventfd 85 85 86 86 #endif /* CONFIG_COMPAT */ 87 87 ··· 153 153 .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare 154 154 /*300*/ .word sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy 155 155 .word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait 156 - /*310*/ .word sys_utimensat 156 + /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd 157 157 158 158 #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \ 159 159 defined(CONFIG_SOLARIS_EMUL_MODULE) ··· 271 271 .word sunos_nosys, sunos_nosys, sunos_nosys 272 272 .word sunos_nosys, sunos_nosys, sunos_nosys 273 273 .word sunos_nosys 274 - /*310*/ .long sunos_nosys 274 + /*310*/ .word sunos_nosys, sunos_nosys, sunos_nosys 275 + .word sunos_nosys 275 276 276 277 #endif
+211 -21
arch/sparc64/kernel/time.c
··· 55 55 void __iomem *mstk48t02_regs = NULL; 56 56 #ifdef CONFIG_PCI 57 57 unsigned long ds1287_regs = 0UL; 58 + static void __iomem *bq4802_regs; 58 59 #endif 59 60 60 61 static void __iomem *mstk48t08_regs; ··· 566 565 void __iomem *mregs = mstk48t02_regs; 567 566 #ifdef CONFIG_PCI 568 567 unsigned long dregs = ds1287_regs; 568 + void __iomem *bregs = bq4802_regs; 569 569 #else 570 570 unsigned long dregs = 0UL; 571 + void __iomem *bregs = 0UL; 571 572 #endif 572 573 u8 tmp; 573 574 574 - if (!mregs && !dregs) { 575 + if (!mregs && !dregs && !bregs) { 575 576 prom_printf("Something wrong, clock regs not mapped yet.\n"); 576 577 prom_halt(); 577 578 } ··· 592 589 day = MSTK_REG_DOM(mregs); 593 590 mon = MSTK_REG_MONTH(mregs); 594 591 year = MSTK_CVT_YEAR( MSTK_REG_YEAR(mregs) ); 592 + } else if (bregs) { 593 + unsigned char val = readb(bregs + 0x0e); 594 + unsigned int century; 595 + 596 + /* BQ4802 RTC chip. */ 597 + 598 + writeb(val | 0x08, bregs + 0x0e); 599 + 600 + sec = readb(bregs + 0x00); 601 + min = readb(bregs + 0x02); 602 + hour = readb(bregs + 0x04); 603 + day = readb(bregs + 0x06); 604 + mon = readb(bregs + 0x09); 605 + year = readb(bregs + 0x0a); 606 + century = readb(bregs + 0x0f); 607 + 608 + writeb(val, bregs + 0x0e); 609 + 610 + BCD_TO_BIN(sec); 611 + BCD_TO_BIN(min); 612 + BCD_TO_BIN(hour); 613 + BCD_TO_BIN(day); 614 + BCD_TO_BIN(mon); 615 + BCD_TO_BIN(year); 616 + BCD_TO_BIN(century); 617 + 618 + year += (century * 100); 595 619 } else { 596 620 /* Dallas 12887 RTC chip. */ 597 621 ··· 742 712 strcmp(model, "m5819") && 743 713 strcmp(model, "m5819p") && 744 714 strcmp(model, "m5823") && 745 - strcmp(model, "ds1287")) 715 + strcmp(model, "ds1287") && 716 + strcmp(model, "bq4802")) 746 717 return 0; 747 718 748 719 return 1; ··· 753 722 { 754 723 struct device_node *dp = op->node; 755 724 const char *model = of_get_property(dp, "model", NULL); 725 + const char *compat = of_get_property(dp, "compatible", NULL); 756 726 unsigned long size, flags; 757 727 void __iomem *regs; 728 + 729 + if (!model) 730 + model = compat; 758 731 759 732 if (!model || !clock_model_matches(model)) 760 733 return -ENODEV; ··· 781 746 !strcmp(model, "m5819p") || 782 747 !strcmp(model, "m5823")) { 783 748 ds1287_regs = (unsigned long) regs; 749 + } else if (!strcmp(model, "bq4802")) { 750 + bq4802_regs = regs; 784 751 } else 785 752 #endif 786 753 if (model[5] == '0' && model[6] == '2') { ··· 1107 1070 void __iomem *mregs = mstk48t02_regs; 1108 1071 #ifdef CONFIG_PCI 1109 1072 unsigned long dregs = ds1287_regs; 1073 + void __iomem *bregs = bq4802_regs; 1110 1074 #else 1111 1075 unsigned long dregs = 0UL; 1076 + void __iomem *bregs = 0UL; 1112 1077 #endif 1113 1078 unsigned long flags; 1114 1079 u8 tmp; ··· 1119 1080 * Not having a register set can lead to trouble. 1120 1081 * Also starfire doesn't have a tod clock. 1121 1082 */ 1122 - if (!mregs && !dregs) 1083 + if (!mregs && !dregs & !bregs) 1123 1084 return -1; 1124 1085 1125 1086 if (mregs) { ··· 1168 1129 1169 1130 return -1; 1170 1131 } 1132 + } else if (bregs) { 1133 + int retval = 0; 1134 + unsigned char val = readb(bregs + 0x0e); 1135 + 1136 + /* BQ4802 RTC chip. */ 1137 + 1138 + writeb(val | 0x08, bregs + 0x0e); 1139 + 1140 + chip_minutes = readb(bregs + 0x02); 1141 + BCD_TO_BIN(chip_minutes); 1142 + real_seconds = nowtime % 60; 1143 + real_minutes = nowtime / 60; 1144 + if (((abs(real_minutes - chip_minutes) + 15)/30) & 1) 1145 + real_minutes += 30; 1146 + real_minutes %= 60; 1147 + 1148 + if (abs(real_minutes - chip_minutes) < 30) { 1149 + BIN_TO_BCD(real_seconds); 1150 + BIN_TO_BCD(real_minutes); 1151 + writeb(real_seconds, bregs + 0x00); 1152 + writeb(real_minutes, bregs + 0x02); 1153 + } else { 1154 + printk(KERN_WARNING 1155 + "set_rtc_mmss: can't update from %d to %d\n", 1156 + chip_minutes, real_minutes); 1157 + retval = -1; 1158 + } 1159 + 1160 + writeb(val, bregs + 0x0e); 1161 + 1162 + return retval; 1171 1163 } else { 1172 1164 int retval = 0; 1173 1165 unsigned char save_control, save_freq_select; ··· 1329 1259 /* Both Starfire and SUN4V give us seconds since Jan 1st, 1970, 1330 1260 * aka Unix time. So we have to convert to/from rtc_time. 1331 1261 */ 1332 - static inline void mini_get_rtc_time(struct rtc_time *time) 1262 + static void starfire_get_rtc_time(struct rtc_time *time) 1333 1263 { 1334 - unsigned long flags; 1335 - u32 seconds; 1336 - 1337 - spin_lock_irqsave(&rtc_lock, flags); 1338 - seconds = 0; 1339 - if (this_is_starfire) 1340 - seconds = starfire_get_time(); 1341 - else if (tlb_type == hypervisor) 1342 - seconds = hypervisor_get_time(); 1343 - spin_unlock_irqrestore(&rtc_lock, flags); 1264 + u32 seconds = starfire_get_time(); 1344 1265 1345 1266 to_tm(seconds, time); 1346 1267 time->tm_year -= 1900; 1347 1268 time->tm_mon -= 1; 1348 1269 } 1349 1270 1350 - static inline int mini_set_rtc_time(struct rtc_time *time) 1271 + static int starfire_set_rtc_time(struct rtc_time *time) 1351 1272 { 1352 1273 u32 seconds = mktime(time->tm_year + 1900, time->tm_mon + 1, 1353 1274 time->tm_mday, time->tm_hour, 1354 1275 time->tm_min, time->tm_sec); 1276 + 1277 + return starfire_set_time(seconds); 1278 + } 1279 + 1280 + static void hypervisor_get_rtc_time(struct rtc_time *time) 1281 + { 1282 + u32 seconds = hypervisor_get_time(); 1283 + 1284 + to_tm(seconds, time); 1285 + time->tm_year -= 1900; 1286 + time->tm_mon -= 1; 1287 + } 1288 + 1289 + static int hypervisor_set_rtc_time(struct rtc_time *time) 1290 + { 1291 + u32 seconds = mktime(time->tm_year + 1900, time->tm_mon + 1, 1292 + time->tm_mday, time->tm_hour, 1293 + time->tm_min, time->tm_sec); 1294 + 1295 + return hypervisor_set_time(seconds); 1296 + } 1297 + 1298 + static void bq4802_get_rtc_time(struct rtc_time *time) 1299 + { 1300 + unsigned char val = readb(bq4802_regs + 0x0e); 1301 + unsigned int century; 1302 + 1303 + writeb(val | 0x08, bq4802_regs + 0x0e); 1304 + 1305 + time->tm_sec = readb(bq4802_regs + 0x00); 1306 + time->tm_min = readb(bq4802_regs + 0x02); 1307 + time->tm_hour = readb(bq4802_regs + 0x04); 1308 + time->tm_mday = readb(bq4802_regs + 0x06); 1309 + time->tm_mon = readb(bq4802_regs + 0x09); 1310 + time->tm_year = readb(bq4802_regs + 0x0a); 1311 + time->tm_wday = readb(bq4802_regs + 0x08); 1312 + century = readb(bq4802_regs + 0x0f); 1313 + 1314 + writeb(val, bq4802_regs + 0x0e); 1315 + 1316 + BCD_TO_BIN(time->tm_sec); 1317 + BCD_TO_BIN(time->tm_min); 1318 + BCD_TO_BIN(time->tm_hour); 1319 + BCD_TO_BIN(time->tm_mday); 1320 + BCD_TO_BIN(time->tm_mon); 1321 + BCD_TO_BIN(time->tm_year); 1322 + BCD_TO_BIN(time->tm_wday); 1323 + BCD_TO_BIN(century); 1324 + 1325 + time->tm_year += (century * 100); 1326 + time->tm_year -= 1900; 1327 + 1328 + time->tm_mon--; 1329 + } 1330 + 1331 + static int bq4802_set_rtc_time(struct rtc_time *time) 1332 + { 1333 + unsigned char val = readb(bq4802_regs + 0x0e); 1334 + unsigned char sec, min, hrs, day, mon, yrs, century; 1335 + unsigned int year; 1336 + 1337 + year = time->tm_year + 1900; 1338 + century = year / 100; 1339 + yrs = year % 100; 1340 + 1341 + mon = time->tm_mon + 1; /* tm_mon starts at zero */ 1342 + day = time->tm_mday; 1343 + hrs = time->tm_hour; 1344 + min = time->tm_min; 1345 + sec = time->tm_sec; 1346 + 1347 + BIN_TO_BCD(sec); 1348 + BIN_TO_BCD(min); 1349 + BIN_TO_BCD(hrs); 1350 + BIN_TO_BCD(day); 1351 + BIN_TO_BCD(mon); 1352 + BIN_TO_BCD(yrs); 1353 + BIN_TO_BCD(century); 1354 + 1355 + writeb(val | 0x08, bq4802_regs + 0x0e); 1356 + 1357 + writeb(sec, bq4802_regs + 0x00); 1358 + writeb(min, bq4802_regs + 0x02); 1359 + writeb(hrs, bq4802_regs + 0x04); 1360 + writeb(day, bq4802_regs + 0x06); 1361 + writeb(mon, bq4802_regs + 0x09); 1362 + writeb(yrs, bq4802_regs + 0x0a); 1363 + writeb(century, bq4802_regs + 0x0f); 1364 + 1365 + writeb(val, bq4802_regs + 0x0e); 1366 + 1367 + return 0; 1368 + } 1369 + 1370 + struct mini_rtc_ops { 1371 + void (*get_rtc_time)(struct rtc_time *); 1372 + int (*set_rtc_time)(struct rtc_time *); 1373 + }; 1374 + 1375 + static struct mini_rtc_ops starfire_rtc_ops = { 1376 + .get_rtc_time = starfire_get_rtc_time, 1377 + .set_rtc_time = starfire_set_rtc_time, 1378 + }; 1379 + 1380 + static struct mini_rtc_ops hypervisor_rtc_ops = { 1381 + .get_rtc_time = hypervisor_get_rtc_time, 1382 + .set_rtc_time = hypervisor_set_rtc_time, 1383 + }; 1384 + 1385 + static struct mini_rtc_ops bq4802_rtc_ops = { 1386 + .get_rtc_time = bq4802_get_rtc_time, 1387 + .set_rtc_time = bq4802_set_rtc_time, 1388 + }; 1389 + 1390 + static struct mini_rtc_ops *mini_rtc_ops; 1391 + 1392 + static inline void mini_get_rtc_time(struct rtc_time *time) 1393 + { 1394 + unsigned long flags; 1395 + 1396 + spin_lock_irqsave(&rtc_lock, flags); 1397 + mini_rtc_ops->get_rtc_time(time); 1398 + spin_unlock_irqrestore(&rtc_lock, flags); 1399 + } 1400 + 1401 + static inline int mini_set_rtc_time(struct rtc_time *time) 1402 + { 1355 1403 unsigned long flags; 1356 1404 int err; 1357 1405 1358 1406 spin_lock_irqsave(&rtc_lock, flags); 1359 - err = -ENODEV; 1360 - if (this_is_starfire) 1361 - err = starfire_set_time(seconds); 1362 - else if (tlb_type == hypervisor) 1363 - err = hypervisor_set_time(seconds); 1407 + err = mini_rtc_ops->set_rtc_time(time); 1364 1408 spin_unlock_irqrestore(&rtc_lock, flags); 1365 1409 1366 1410 return err; ··· 1575 1391 { 1576 1392 int retval; 1577 1393 1578 - if (tlb_type != hypervisor && !this_is_starfire) 1394 + if (tlb_type == hypervisor) 1395 + mini_rtc_ops = &hypervisor_rtc_ops; 1396 + else if (this_is_starfire) 1397 + mini_rtc_ops = &starfire_rtc_ops; 1398 + else if (bq4802_regs) 1399 + mini_rtc_ops = &bq4802_rtc_ops; 1400 + else 1579 1401 return -ENODEV; 1580 1402 1581 1403 printk(KERN_INFO "Mini RTC Driver\n");
+1 -1
arch/sparc64/mm/init.c
··· 1008 1008 if (initrd_start) { 1009 1009 size = initrd_end - initrd_start; 1010 1010 1011 - /* Resert the initrd image area. */ 1011 + /* Reserve the initrd image area. */ 1012 1012 #ifdef CONFIG_DEBUG_BOOTMEM 1013 1013 prom_printf("reserve_bootmem(initrd): base[%llx] size[%lx]\n", 1014 1014 initrd_start, initrd_end);
+1
drivers/char/tty_io.c
··· 3880 3880 p->signal->tty = NULL; 3881 3881 spin_unlock_irq(&p->sighand->siglock); 3882 3882 } 3883 + EXPORT_SYMBOL(proc_clear_tty); 3883 3884 3884 3885 static void __proc_set_tty(struct task_struct *tsk, struct tty_struct *tty) 3885 3886 {
+1
drivers/sbus/char/envctrl.c
··· 30 30 #include <asm/ebus.h> 31 31 #include <asm/uaccess.h> 32 32 #include <asm/envctrl.h> 33 + #include <asm/io.h> 33 34 34 35 #define ENVCTRL_MINOR 162 35 36
+4 -1
include/asm-sparc/unistd.h
··· 327 327 #define __NR_getcpu 308 328 328 #define __NR_epoll_pwait 309 329 329 #define __NR_utimensat 310 330 + #define __NR_signalfd 311 331 + #define __NR_timerfd 312 332 + #define __NR_eventfd 313 330 333 331 - #define NR_SYSCALLS 311 334 + #define NR_SYSCALLS 314 332 335 333 336 #ifdef __KERNEL__ 334 337 #define __ARCH_WANT_IPC_PARSE_VERSION
+4 -1
include/asm-sparc64/unistd.h
··· 329 329 #define __NR_getcpu 308 330 330 #define __NR_epoll_pwait 309 331 331 #define __NR_utimensat 310 332 + #define __NR_signalfd 311 333 + #define __NR_timerfd 312 334 + #define __NR_eventfd 313 332 335 333 - #define NR_SYSCALLS 311 336 + #define NR_SYSCALLS 314 334 337 335 338 #ifdef __KERNEL__ 336 339 /* sysconf options, for SunOS compatibility */