Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6

+2185 -3195
-6
Documentation/00-INDEX
··· 225 225 - documents the kernel probes debugging feature. 226 226 kref.txt 227 227 - docs on adding reference counters (krefs) to kernel objects. 228 - laptop-mode.txt 229 - - how to conserve battery power using laptop-mode. 230 228 laptops/ 231 229 - directory with laptop related info and laptop driver documentation. 232 230 ldm.txt ··· 299 301 - info on the Linux PCMCIA driver. 300 302 pi-futex.txt 301 303 - documentation on lightweight PI-futexes. 302 - pm.txt 303 - - info on Linux power management support. 304 304 pnp.txt 305 305 - Linux Plug and Play documentation. 306 - power_supply_class.txt 307 - - Tells userspace about battery, UPS, AC or DC power supply properties 308 306 power/ 309 307 - directory with info on Linux PCI power management. 310 308 powerpc/
+2 -2
Documentation/filesystems/proc.txt
··· 1506 1506 ----------- 1507 1507 1508 1508 laptop_mode is a knob that controls "laptop mode". All the things that are 1509 - controlled by this knob are discussed in Documentation/laptop-mode.txt. 1509 + controlled by this knob are discussed in Documentation/laptops/laptop-mode.txt. 1510 1510 1511 1511 block_dump 1512 1512 ---------- 1513 1513 1514 1514 block_dump enables block I/O debugging when set to a nonzero value. More 1515 - information on block I/O debugging is in Documentation/laptop-mode.txt. 1515 + information on block I/O debugging is in Documentation/laptops/laptop-mode.txt. 1516 1516 1517 1517 swap_token_timeout 1518 1518 ------------------
+1 -1
Documentation/kernel-parameters.txt
··· 138 138 strict -- Be less tolerant of platforms that are not 139 139 strictly ACPI specification compliant. 140 140 141 - See also Documentation/pm.txt, pci=noacpi 141 + See also Documentation/power/pm.txt, pci=noacpi 142 142 143 143 acpi_apic_instance= [ACPI, IOAPIC] 144 144 Format: <int>
Documentation/laptop-mode.txt Documentation/laptops/laptop-mode.txt
+2
Documentation/laptops/00-INDEX
··· 2 2 - This file 3 3 acer-wmi.txt 4 4 - information on the Acer Laptop WMI Extras driver. 5 + laptop-mode.txt 6 + - how to conserve battery power using laptop-mode. 5 7 sony-laptop.txt 6 8 - Sony Notebook Control Driver (SNC) Readme. 7 9 sonypi.txt
+2 -2
Documentation/laptops/acer-wmi.txt
··· 48 48 49 49 To send me the DSDT, as root/sudo: 50 50 51 - cat /sys/firmware/acpi/DSDT > dsdt 51 + cat /sys/firmware/acpi/tables/DSDT > dsdt 52 52 53 53 And send me the resulting 'dsdt' file. 54 54 ··· 169 169 170 170 The LED is exposed through the LED subsystem, and can be found in: 171 171 172 - /sys/devices/platform/acer-wmi/leds/acer-mail:green/ 172 + /sys/devices/platform/acer-wmi/leds/acer-wmi::mail/ 173 173 174 174 The mail LED is autodetected, so if you don't have one, the LED device won't 175 175 be registered.
+1 -1
Documentation/pm.txt Documentation/power/pm.txt
··· 108 108 * EINVAL if the request is not supported 109 109 * EBUSY if the device is now busy and cannot handle the request 110 110 * ENOMEM if the device was unable to handle the request due to memory 111 - * 111 + * 112 112 * Details: The device request callback will be called before the 113 113 * device/system enters a suspend state (ACPI D1-D3) or 114 114 * or after the device/system resumes from suspend (ACPI D0).
Documentation/pm_qos_interface.txt Documentation/power/pm_qos_interface.txt
+6
Documentation/power/00-INDEX
··· 14 14 - Registering suspend notifiers in device drivers 15 15 pci.txt 16 16 - How the PCI Subsystem Does Power Management 17 + pm.txt 18 + - info on Linux power management support. 19 + pm_qos_interface.txt 20 + - info on Linux PM Quality of Service interface 21 + power_supply_class.txt 22 + - Tells userspace about battery, UPS, AC or DC power supply properties 17 23 s2ram.txt 18 24 - How to get suspend to ram working (and debug it when it isn't) 19 25 states.txt
Documentation/power_supply_class.txt Documentation/power/power_supply_class.txt
+11 -11
Documentation/thermal/sysfs-api.txt
··· 143 143 This is given by thermal zone driver as part of registration. 144 144 Eg: "ACPI thermal zone" indicates it's a ACPI thermal device 145 145 RO 146 - Optional 146 + Required 147 147 148 148 temp Current temperature as reported by thermal zone (sensor) 149 - Unit: degree Celsius 149 + Unit: millidegree Celsius 150 150 RO 151 151 Required 152 152 ··· 163 163 charge of the thermal management. 164 164 165 165 trip_point_[0-*]_temp The temperature above which trip point will be fired 166 - Unit: degree Celsius 166 + Unit: millidegree Celsius 167 167 RO 168 168 Optional 169 169 ··· 193 193 eg. For memory controller device on intel_menlow platform: 194 194 this should be "Memory controller" 195 195 RO 196 - Optional 196 + Required 197 197 198 198 max_state The maximum permissible cooling state of this cooling device. 199 199 RO ··· 219 219 220 220 |thermal_zone1: 221 221 |-----type: ACPI thermal zone 222 - |-----temp: 37 222 + |-----temp: 37000 223 223 |-----mode: kernel 224 - |-----trip_point_0_temp: 100 224 + |-----trip_point_0_temp: 100000 225 225 |-----trip_point_0_type: critical 226 - |-----trip_point_1_temp: 80 226 + |-----trip_point_1_temp: 80000 227 227 |-----trip_point_1_type: passive 228 - |-----trip_point_2_temp: 70 229 - |-----trip_point_2_type: active[0] 230 - |-----trip_point_3_temp: 60 231 - |-----trip_point_3_type: active[1] 228 + |-----trip_point_2_temp: 70000 229 + |-----trip_point_2_type: active0 230 + |-----trip_point_3_temp: 60000 231 + |-----trip_point_3_type: active1 232 232 |-----cdev0: --->/sys/class/thermal/cooling_device0 233 233 |-----cdev0_trip_point: 1 /* cdev0 can be used for passive */ 234 234 |-----cdev1: --->/sys/class/thermal/cooling_device3
+4 -28
MAINTAINERS
··· 2052 2052 L: netdev@vger.kernel.org 2053 2053 S: Maintained 2054 2054 2055 - INTEL PRO/100 ETHERNET SUPPORT 2055 + INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/ixgb/ixgbe) 2056 2056 P: Auke Kok 2057 2057 M: auke-jan.h.kok@intel.com 2058 2058 P: Jesse Brandeburg 2059 2059 M: jesse.brandeburg@intel.com 2060 2060 P: Jeff Kirsher 2061 2061 M: jeffrey.t.kirsher@intel.com 2062 + P: Bruce Allan 2063 + M: bruce.w.allan@intel.com 2062 2064 P: John Ronciak 2063 2065 M: john.ronciak@intel.com 2064 2066 L: e1000-devel@lists.sourceforge.net 2065 - W: http://sourceforge.net/projects/e1000/ 2066 - S: Supported 2067 - 2068 - INTEL PRO/1000 GIGABIT ETHERNET SUPPORT 2069 - P: Auke Kok 2070 - M: auke-jan.h.kok@intel.com 2071 - P: Jesse Brandeburg 2072 - M: jesse.brandeburg@intel.com 2073 - P: Jeff Kirsher 2074 - M: jeffrey.t.kirsher@intel.com 2075 - P: John Ronciak 2076 - M: john.ronciak@intel.com 2077 - L: e1000-devel@lists.sourceforge.net 2078 - W: http://sourceforge.net/projects/e1000/ 2079 - S: Supported 2080 - 2081 - INTEL PRO/10GbE SUPPORT 2082 - P: Ayyappan Veeraiyan 2083 - M: ayyappan.veeraiyan@intel.com 2084 - P: Auke Kok 2085 - M: auke-jan.h.kok@intel.com 2086 - P: Jesse Brandeburg 2087 - M: jesse.brandeburg@intel.com 2088 - P: John Ronciak 2089 - M: john.ronciak@intel.com 2090 - L: e1000-devel@lists.sourceforge.net 2091 - W: http://sourceforge.net/projects/e1000/ 2067 + W: http://e1000.sourceforge.net/ 2092 2068 S: Supported 2093 2069 2094 2070 INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
+3
arch/alpha/Kconfig
··· 330 330 config PCI_SYSCALL 331 331 def_bool PCI 332 332 333 + config IOMMU_HELPER 334 + def_bool PCI 335 + 333 336 config ALPHA_CORE_AGP 334 337 bool 335 338 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
+2 -10
arch/alpha/kernel/pci_iommu.c
··· 10 10 #include <linux/scatterlist.h> 11 11 #include <linux/log2.h> 12 12 #include <linux/dma-mapping.h> 13 + #include <linux/iommu-helper.h> 13 14 14 15 #include <asm/io.h> 15 16 #include <asm/hwrpb.h> ··· 126 125 return iommu_arena_new_node(0, hose, base, window_size, align); 127 126 } 128 127 129 - static inline int is_span_boundary(unsigned int index, unsigned int nr, 130 - unsigned long shift, 131 - unsigned long boundary_size) 132 - { 133 - shift = (shift + index) & (boundary_size - 1); 134 - return shift + nr > boundary_size; 135 - } 136 - 137 128 /* Must be called with the arena lock held */ 138 129 static long 139 130 iommu_arena_find_pages(struct device *dev, struct pci_iommu_arena *arena, ··· 140 147 base = arena->dma_base >> PAGE_SHIFT; 141 148 if (dev) { 142 149 boundary_size = dma_get_seg_boundary(dev) + 1; 143 - BUG_ON(!is_power_of_2(boundary_size)); 144 150 boundary_size >>= PAGE_SHIFT; 145 151 } else { 146 152 boundary_size = 1UL << (32 - PAGE_SHIFT); ··· 153 161 154 162 again: 155 163 while (i < n && p+i < nent) { 156 - if (!i && is_span_boundary(p, n, base, boundary_size)) { 164 + if (!i && iommu_is_span_boundary(p, n, base, boundary_size)) { 157 165 p = ALIGN(p + 1, mask + 1); 158 166 goto again; 159 167 }
+1
arch/arm/Makefile
··· 251 251 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' 252 252 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' 253 253 echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)' 254 + echo ' uImage - U-Boot wrapped zImage' 254 255 echo ' bootpImage - Combined zImage and initial RAM disk' 255 256 echo ' (supply initrd image via make variable INITRD=<path>)' 256 257 echo ' install - Install uncompressed kernel'
+3 -3
arch/arm/common/it8152.c
··· 274 274 int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) 275 275 { 276 276 dev_dbg(dev, "%s: dma_addr %08x, size %08x\n", 277 - __FUNCTION__, dma_addr, size); 277 + __func__, dma_addr, size); 278 278 return (dev->bus == &pci_bus_type) && 279 279 ((dma_addr + size - PHYS_OFFSET) >= SZ_64M); 280 280 } ··· 289 289 */ 290 290 int pci_set_dma_mask(struct pci_dev *dev, u64 mask) 291 291 { 292 - dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); 292 + dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); 293 293 if (mask >= PHYS_OFFSET + SZ_64M - 1) 294 294 return 0; 295 295 ··· 299 299 int 300 300 pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 301 301 { 302 - dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); 302 + dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); 303 303 if (mask >= PHYS_OFFSET + SZ_64M - 1) 304 304 return 0; 305 305
+49 -22
arch/arm/configs/omap_h2_1610_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc5 4 - # Mon Dec 17 20:04:38 2007 3 + # Linux kernel version: 2.6.25-rc3 4 + # Mon Mar 3 03:39:48 2008 5 5 # 6 6 CONFIG_ARM=y 7 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 22 CONFIG_GENERIC_HWEIGHT=y 23 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 + CONFIG_ARCH_SUPPORTS_AOUT=y 24 25 CONFIG_ZONE_DMA=y 25 26 CONFIG_VECTORS_BASE=0xffff0000 26 27 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 41 40 # CONFIG_POSIX_MQUEUE is not set 42 41 # CONFIG_BSD_PROCESS_ACCT is not set 43 42 # CONFIG_TASKSTATS is not set 44 - # CONFIG_USER_NS is not set 45 - # CONFIG_PID_NS is not set 46 43 # CONFIG_AUDIT is not set 47 44 # CONFIG_IKCONFIG is not set 48 45 CONFIG_LOG_BUF_SHIFT=14 49 46 # CONFIG_CGROUPS is not set 47 + CONFIG_GROUP_SCHED=y 50 48 CONFIG_FAIR_GROUP_SCHED=y 51 - CONFIG_FAIR_USER_SCHED=y 52 - # CONFIG_FAIR_CGROUP_SCHED is not set 49 + # CONFIG_RT_GROUP_SCHED is not set 50 + CONFIG_USER_SCHED=y 51 + # CONFIG_CGROUP_SCHED is not set 53 52 # CONFIG_SYSFS_DEPRECATED is not set 54 53 # CONFIG_RELAY is not set 54 + CONFIG_NAMESPACES=y 55 + # CONFIG_UTS_NS is not set 56 + # CONFIG_IPC_NS is not set 57 + # CONFIG_USER_NS is not set 58 + # CONFIG_PID_NS is not set 55 59 CONFIG_BLK_DEV_INITRD=y 56 60 CONFIG_INITRAMFS_SOURCE="" 57 61 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 70 64 CONFIG_PRINTK=y 71 65 CONFIG_BUG=y 72 66 CONFIG_ELF_CORE=y 67 + CONFIG_COMPAT_BRK=y 73 68 CONFIG_BASE_FULL=y 74 69 CONFIG_FUTEX=y 75 70 CONFIG_ANON_INODES=y 76 71 CONFIG_EPOLL=y 77 72 CONFIG_SIGNALFD=y 73 + CONFIG_TIMERFD=y 78 74 CONFIG_EVENTFD=y 79 75 CONFIG_SHMEM=y 80 76 CONFIG_VM_EVENT_COUNTERS=y 81 77 CONFIG_SLAB=y 82 78 # CONFIG_SLUB is not set 83 79 # CONFIG_SLOB is not set 80 + # CONFIG_PROFILING is not set 81 + # CONFIG_MARKERS is not set 82 + CONFIG_HAVE_OPROFILE=y 83 + # CONFIG_KPROBES is not set 84 + CONFIG_HAVE_KPROBES=y 85 + CONFIG_PROC_PAGE_MONITOR=y 86 + CONFIG_SLABINFO=y 84 87 CONFIG_RT_MUTEXES=y 85 88 # CONFIG_TINY_SHMEM is not set 86 89 CONFIG_BASE_SMALL=0 ··· 117 102 # CONFIG_DEFAULT_CFQ is not set 118 103 # CONFIG_DEFAULT_NOOP is not set 119 104 CONFIG_DEFAULT_IOSCHED="anticipatory" 105 + CONFIG_CLASSIC_RCU=y 106 + # CONFIG_PREEMPT_RCU is not set 120 107 121 108 # 122 109 # System Type ··· 147 130 # CONFIG_ARCH_KS8695 is not set 148 131 # CONFIG_ARCH_NS9XXX is not set 149 132 # CONFIG_ARCH_MXC is not set 133 + # CONFIG_ARCH_ORION is not set 150 134 # CONFIG_ARCH_PNX4008 is not set 151 135 # CONFIG_ARCH_PXA is not set 152 136 # CONFIG_ARCH_RPC is not set ··· 157 139 # CONFIG_ARCH_LH7A40X is not set 158 140 # CONFIG_ARCH_DAVINCI is not set 159 141 CONFIG_ARCH_OMAP=y 142 + # CONFIG_ARCH_MSM7X00A is not set 160 143 161 144 # 162 145 # TI OMAP Implementations ··· 174 155 # CONFIG_OMAP_MUX_DEBUG is not set 175 156 CONFIG_OMAP_MUX_WARNINGS=y 176 157 CONFIG_OMAP_MCBSP=y 158 + # CONFIG_OMAP_MMU_FWK is not set 177 159 # CONFIG_OMAP_MPU_TIMER is not set 178 160 CONFIG_OMAP_32K_TIMER=y 179 161 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 286 266 CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh" 287 267 # CONFIG_XIP_KERNEL is not set 288 268 # CONFIG_KEXEC is not set 269 + # CONFIG_ATAGS_PROC is not set 289 270 290 271 # 291 272 # CPU Frequency scaling ··· 332 311 # CONFIG_PM_LEGACY is not set 333 312 # CONFIG_PM_DEBUG is not set 334 313 CONFIG_PM_SLEEP=y 335 - CONFIG_SUSPEND_UP_POSSIBLE=y 336 314 CONFIG_SUSPEND=y 315 + CONFIG_SUSPEND_FREEZER=y 337 316 # CONFIG_APM_EMULATION is not set 317 + CONFIG_ARCH_SUSPEND_POSSIBLE=y 338 318 339 319 # 340 320 # Networking ··· 352 330 # CONFIG_XFRM_USER is not set 353 331 # CONFIG_XFRM_SUB_POLICY is not set 354 332 # CONFIG_XFRM_MIGRATE is not set 333 + # CONFIG_XFRM_STATISTICS is not set 355 334 # CONFIG_NET_KEY is not set 356 335 CONFIG_INET=y 357 336 # CONFIG_IP_MULTICAST is not set ··· 407 384 # 408 385 # CONFIG_NET_PKTGEN is not set 409 386 # CONFIG_HAMRADIO is not set 387 + # CONFIG_CAN is not set 410 388 # CONFIG_IRDA is not set 411 389 # CONFIG_BT is not set 412 390 # CONFIG_AF_RXRPC is not set ··· 445 421 CONFIG_BLK_DEV_RAM=y 446 422 CONFIG_BLK_DEV_RAM_COUNT=16 447 423 CONFIG_BLK_DEV_RAM_SIZE=8192 448 - CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 424 + # CONFIG_BLK_DEV_XIP is not set 449 425 # CONFIG_CDROM_PKTCDVD is not set 450 426 CONFIG_ATA_OVER_ETH=m 451 427 CONFIG_MISC_DEVICES=y 452 428 # CONFIG_EEPROM_93CX6 is not set 429 + # CONFIG_ENCLOSURE_SERVICES is not set 430 + # CONFIG_HAVE_IDE is not set 453 431 454 432 # 455 433 # SCSI device support ··· 515 489 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 516 490 # CONFIG_B44 is not set 517 491 CONFIG_NETDEV_1000=y 492 + # CONFIG_E1000E_ENABLED is not set 518 493 CONFIG_NETDEV_10000=y 519 494 520 495 # ··· 539 512 CONFIG_SLHC=y 540 513 # CONFIG_SLIP_SMART is not set 541 514 # CONFIG_SLIP_MODE_SLIP6 is not set 542 - # CONFIG_SHAPER is not set 543 515 # CONFIG_NETCONSOLE is not set 544 516 # CONFIG_NETPOLL is not set 545 517 # CONFIG_NET_POLL_CONTROLLER is not set ··· 642 616 # 643 617 # Miscellaneous I2C Chip support 644 618 # 645 - # CONFIG_SENSORS_DS1337 is not set 646 - # CONFIG_SENSORS_DS1374 is not set 647 619 # CONFIG_DS1682 is not set 648 620 # CONFIG_SENSORS_EEPROM is not set 649 621 # CONFIG_SENSORS_PCF8574 is not set 650 - # CONFIG_SENSORS_PCA9539 is not set 622 + # CONFIG_PCF8575 is not set 651 623 # CONFIG_SENSORS_PCF8591 is not set 652 624 # CONFIG_ISP1301_OMAP is not set 653 625 CONFIG_TPS65010=y ··· 673 649 # CONFIG_SENSORS_ADM1031 is not set 674 650 # CONFIG_SENSORS_ADM9240 is not set 675 651 # CONFIG_SENSORS_ADT7470 is not set 652 + # CONFIG_SENSORS_ADT7473 is not set 676 653 # CONFIG_SENSORS_ATXP1 is not set 677 654 # CONFIG_SENSORS_DS1621 is not set 678 655 # CONFIG_SENSORS_F71805F is not set ··· 701 676 # CONFIG_SENSORS_SMSC47M1 is not set 702 677 # CONFIG_SENSORS_SMSC47M192 is not set 703 678 # CONFIG_SENSORS_SMSC47B397 is not set 679 + # CONFIG_SENSORS_ADS7828 is not set 704 680 # CONFIG_SENSORS_THMC50 is not set 705 681 # CONFIG_SENSORS_VT1211 is not set 706 682 # CONFIG_SENSORS_W83781D is not set ··· 709 683 # CONFIG_SENSORS_W83792D is not set 710 684 # CONFIG_SENSORS_W83793 is not set 711 685 # CONFIG_SENSORS_W83L785TS is not set 686 + # CONFIG_SENSORS_W83L786NG is not set 712 687 # CONFIG_SENSORS_W83627HF is not set 713 688 # CONFIG_SENSORS_W83627EHF is not set 714 689 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 732 705 # Multifunction device drivers 733 706 # 734 707 # CONFIG_MFD_SM501 is not set 708 + # CONFIG_MFD_ASIC3 is not set 735 709 736 710 # 737 711 # Multimedia devices ··· 830 802 # 831 803 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 832 804 # 833 - 834 - # 835 - # USB Gadget Support 836 - # 837 805 # CONFIG_USB_GADGET is not set 838 806 # CONFIG_MMC is not set 839 807 # CONFIG_NEW_LEDS is not set ··· 850 826 # CONFIG_XFS_FS is not set 851 827 # CONFIG_GFS2_FS is not set 852 828 # CONFIG_OCFS2_FS is not set 853 - # CONFIG_MINIX_FS is not set 854 - CONFIG_ROMFS_FS=y 829 + CONFIG_DNOTIFY=y 855 830 CONFIG_INOTIFY=y 856 831 CONFIG_INOTIFY_USER=y 857 832 # CONFIG_QUOTA is not set 858 - CONFIG_DNOTIFY=y 859 833 # CONFIG_AUTOFS_FS is not set 860 834 # CONFIG_AUTOFS4_FS is not set 861 835 # CONFIG_FUSE_FS is not set ··· 896 874 # CONFIG_EFS_FS is not set 897 875 CONFIG_CRAMFS=y 898 876 # CONFIG_VXFS_FS is not set 877 + # CONFIG_MINIX_FS is not set 899 878 # CONFIG_HPFS_FS is not set 900 879 # CONFIG_QNX4FS_FS is not set 880 + CONFIG_ROMFS_FS=y 901 881 # CONFIG_SYSV_FS is not set 902 882 # CONFIG_UFS_FS is not set 903 883 CONFIG_NETWORK_FILESYSTEMS=y ··· 970 946 # CONFIG_NLS_KOI8_U is not set 971 947 # CONFIG_NLS_UTF8 is not set 972 948 # CONFIG_DLM is not set 973 - CONFIG_INSTRUMENTATION=y 974 - # CONFIG_PROFILING is not set 975 - # CONFIG_MARKERS is not set 976 949 977 950 # 978 951 # Kernel hacking ··· 996 975 CONFIG_CRYPTO=y 997 976 CONFIG_CRYPTO_ALGAPI=y 998 977 CONFIG_CRYPTO_BLKCIPHER=y 978 + # CONFIG_CRYPTO_SEQIV is not set 999 979 CONFIG_CRYPTO_MANAGER=y 1000 980 # CONFIG_CRYPTO_HMAC is not set 1001 981 # CONFIG_CRYPTO_XCBC is not set ··· 1014 992 CONFIG_CRYPTO_PCBC=m 1015 993 # CONFIG_CRYPTO_LRW is not set 1016 994 # CONFIG_CRYPTO_XTS is not set 995 + # CONFIG_CRYPTO_CTR is not set 996 + # CONFIG_CRYPTO_GCM is not set 997 + # CONFIG_CRYPTO_CCM is not set 1017 998 # CONFIG_CRYPTO_CRYPTD is not set 1018 999 CONFIG_CRYPTO_DES=y 1019 1000 # CONFIG_CRYPTO_FCRYPT is not set ··· 1031 1006 # CONFIG_CRYPTO_KHAZAD is not set 1032 1007 # CONFIG_CRYPTO_ANUBIS is not set 1033 1008 # CONFIG_CRYPTO_SEED is not set 1009 + # CONFIG_CRYPTO_SALSA20 is not set 1034 1010 # CONFIG_CRYPTO_DEFLATE is not set 1035 1011 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1036 1012 # CONFIG_CRYPTO_CRC32C is not set 1037 1013 # CONFIG_CRYPTO_CAMELLIA is not set 1038 1014 # CONFIG_CRYPTO_TEST is not set 1039 1015 # CONFIG_CRYPTO_AUTHENC is not set 1016 + # CONFIG_CRYPTO_LZO is not set 1040 1017 CONFIG_CRYPTO_HW=y 1041 1018 1042 1019 #
+94 -29
arch/arm/configs/omap_osk_5912_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc5 4 - # Mon Dec 17 21:12:45 2007 3 + # Linux kernel version: 2.6.25-rc3 4 + # Mon Mar 3 03:35:17 2008 5 5 # 6 6 CONFIG_ARM=y 7 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 22 CONFIG_GENERIC_HWEIGHT=y 23 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 + CONFIG_ARCH_SUPPORTS_AOUT=y 24 25 CONFIG_ZONE_DMA=y 25 26 CONFIG_VECTORS_BASE=0xffff0000 26 27 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 40 39 # CONFIG_POSIX_MQUEUE is not set 41 40 # CONFIG_BSD_PROCESS_ACCT is not set 42 41 # CONFIG_TASKSTATS is not set 43 - # CONFIG_USER_NS is not set 44 - # CONFIG_PID_NS is not set 45 42 # CONFIG_AUDIT is not set 46 43 # CONFIG_IKCONFIG is not set 47 44 CONFIG_LOG_BUF_SHIFT=14 48 45 # CONFIG_CGROUPS is not set 46 + CONFIG_GROUP_SCHED=y 49 47 CONFIG_FAIR_GROUP_SCHED=y 50 - CONFIG_FAIR_USER_SCHED=y 51 - # CONFIG_FAIR_CGROUP_SCHED is not set 48 + # CONFIG_RT_GROUP_SCHED is not set 49 + CONFIG_USER_SCHED=y 50 + # CONFIG_CGROUP_SCHED is not set 52 51 # CONFIG_SYSFS_DEPRECATED is not set 53 52 # CONFIG_RELAY is not set 53 + CONFIG_NAMESPACES=y 54 + # CONFIG_UTS_NS is not set 55 + # CONFIG_IPC_NS is not set 56 + # CONFIG_USER_NS is not set 57 + # CONFIG_PID_NS is not set 54 58 CONFIG_BLK_DEV_INITRD=y 55 59 CONFIG_INITRAMFS_SOURCE="" 56 60 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 69 63 CONFIG_PRINTK=y 70 64 CONFIG_BUG=y 71 65 CONFIG_ELF_CORE=y 66 + CONFIG_COMPAT_BRK=y 72 67 CONFIG_BASE_FULL=y 73 68 CONFIG_FUTEX=y 74 69 CONFIG_ANON_INODES=y 75 70 CONFIG_EPOLL=y 76 71 CONFIG_SIGNALFD=y 72 + CONFIG_TIMERFD=y 77 73 CONFIG_EVENTFD=y 78 74 CONFIG_SHMEM=y 79 75 CONFIG_VM_EVENT_COUNTERS=y 80 76 CONFIG_SLAB=y 81 77 # CONFIG_SLUB is not set 82 78 # CONFIG_SLOB is not set 79 + # CONFIG_PROFILING is not set 80 + # CONFIG_MARKERS is not set 81 + CONFIG_HAVE_OPROFILE=y 82 + # CONFIG_KPROBES is not set 83 + CONFIG_HAVE_KPROBES=y 84 + CONFIG_PROC_PAGE_MONITOR=y 85 + CONFIG_SLABINFO=y 83 86 CONFIG_RT_MUTEXES=y 84 87 # CONFIG_TINY_SHMEM is not set 85 88 CONFIG_BASE_SMALL=0 ··· 116 101 CONFIG_DEFAULT_CFQ=y 117 102 # CONFIG_DEFAULT_NOOP is not set 118 103 CONFIG_DEFAULT_IOSCHED="cfq" 104 + CONFIG_CLASSIC_RCU=y 105 + # CONFIG_PREEMPT_RCU is not set 119 106 120 107 # 121 108 # System Type ··· 146 129 # CONFIG_ARCH_KS8695 is not set 147 130 # CONFIG_ARCH_NS9XXX is not set 148 131 # CONFIG_ARCH_MXC is not set 132 + # CONFIG_ARCH_ORION is not set 149 133 # CONFIG_ARCH_PNX4008 is not set 150 134 # CONFIG_ARCH_PXA is not set 151 135 # CONFIG_ARCH_RPC is not set ··· 156 138 # CONFIG_ARCH_LH7A40X is not set 157 139 # CONFIG_ARCH_DAVINCI is not set 158 140 CONFIG_ARCH_OMAP=y 141 + # CONFIG_ARCH_MSM7X00A is not set 159 142 160 143 # 161 144 # TI OMAP Implementations ··· 173 154 # CONFIG_OMAP_MUX_DEBUG is not set 174 155 CONFIG_OMAP_MUX_WARNINGS=y 175 156 CONFIG_OMAP_MCBSP=y 157 + # CONFIG_OMAP_MMU_FWK is not set 176 158 # CONFIG_OMAP_MPU_TIMER is not set 177 159 CONFIG_OMAP_32K_TIMER=y 178 160 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 193 173 # 194 174 # OMAP Board Type 195 175 # 196 - # CONFIG_MACH_OMAP_INNOVATOR is not set 197 - # CONFIG_MACH_OMAP_H2 is not set 198 - # CONFIG_MACH_OMAP_H3 is not set 176 + CONFIG_MACH_OMAP_INNOVATOR=y 177 + CONFIG_MACH_OMAP_H2=y 178 + CONFIG_MACH_OMAP_H3=y 199 179 CONFIG_MACH_OMAP_OSK=y 200 180 # CONFIG_OMAP_OSK_MISTRAL is not set 201 - # CONFIG_MACH_NOKIA770 is not set 202 - # CONFIG_MACH_OMAP_GENERIC is not set 181 + CONFIG_MACH_NOKIA770=y 182 + CONFIG_MACH_OMAP_GENERIC=y 203 183 204 184 # 205 185 # OMAP CPU Speed ··· 295 275 CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw" 296 276 # CONFIG_XIP_KERNEL is not set 297 277 # CONFIG_KEXEC is not set 278 + # CONFIG_ATAGS_PROC is not set 298 279 299 280 # 300 281 # CPU Frequency scaling ··· 328 307 # CONFIG_PM_LEGACY is not set 329 308 # CONFIG_PM_DEBUG is not set 330 309 CONFIG_PM_SLEEP=y 331 - CONFIG_SUSPEND_UP_POSSIBLE=y 332 310 CONFIG_SUSPEND=y 311 + CONFIG_SUSPEND_FREEZER=y 333 312 # CONFIG_APM_EMULATION is not set 313 + CONFIG_ARCH_SUSPEND_POSSIBLE=y 334 314 335 315 # 336 316 # Networking ··· 348 326 # CONFIG_XFRM_USER is not set 349 327 # CONFIG_XFRM_SUB_POLICY is not set 350 328 # CONFIG_XFRM_MIGRATE is not set 329 + # CONFIG_XFRM_STATISTICS is not set 351 330 # CONFIG_NET_KEY is not set 352 331 CONFIG_INET=y 353 332 CONFIG_IP_MULTICAST=y ··· 404 381 # 405 382 # CONFIG_NET_PKTGEN is not set 406 383 # CONFIG_HAMRADIO is not set 384 + # CONFIG_CAN is not set 407 385 # CONFIG_IRDA is not set 408 386 # CONFIG_BT is not set 409 387 # CONFIG_AF_RXRPC is not set ··· 517 493 CONFIG_BLK_DEV_RAM=y 518 494 CONFIG_BLK_DEV_RAM_COUNT=16 519 495 CONFIG_BLK_DEV_RAM_SIZE=8192 520 - CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 496 + # CONFIG_BLK_DEV_XIP is not set 521 497 # CONFIG_CDROM_PKTCDVD is not set 522 498 # CONFIG_ATA_OVER_ETH is not set 523 499 CONFIG_MISC_DEVICES=y 524 500 # CONFIG_EEPROM_93CX6 is not set 501 + # CONFIG_ENCLOSURE_SERVICES is not set 502 + CONFIG_HAVE_IDE=y 525 503 CONFIG_IDE=m 526 504 CONFIG_BLK_DEV_IDE=m 527 505 ··· 545 519 # 546 520 # CONFIG_IDE_GENERIC is not set 547 521 # CONFIG_BLK_DEV_PLATFORM is not set 548 - # CONFIG_IDE_ARM is not set 549 522 # CONFIG_BLK_DEV_IDEDMA is not set 550 523 CONFIG_IDE_ARCH_OBSOLETE_INIT=y 551 524 # CONFIG_BLK_DEV_HD is not set ··· 578 553 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 579 554 # CONFIG_B44 is not set 580 555 CONFIG_NETDEV_1000=y 556 + # CONFIG_E1000E_ENABLED is not set 581 557 CONFIG_NETDEV_10000=y 582 558 583 559 # ··· 600 574 # CONFIG_PPPOL2TP is not set 601 575 # CONFIG_SLIP is not set 602 576 CONFIG_SLHC=y 603 - # CONFIG_SHAPER is not set 604 577 # CONFIG_NETCONSOLE is not set 605 578 # CONFIG_NETPOLL is not set 606 579 # CONFIG_NET_POLL_CONTROLLER is not set ··· 696 671 # CONFIG_SYNCLINK_CS is not set 697 672 # CONFIG_CARDMAN_4000 is not set 698 673 # CONFIG_CARDMAN_4040 is not set 674 + # CONFIG_IPWIRELESS is not set 699 675 # CONFIG_RAW_DRIVER is not set 700 676 # CONFIG_TCG_TPM is not set 701 677 CONFIG_I2C=y ··· 724 698 # 725 699 # Miscellaneous I2C Chip support 726 700 # 727 - # CONFIG_SENSORS_DS1337 is not set 728 - # CONFIG_SENSORS_DS1374 is not set 729 701 # CONFIG_DS1682 is not set 730 702 # CONFIG_SENSORS_EEPROM is not set 731 703 # CONFIG_SENSORS_PCF8574 is not set 732 - # CONFIG_SENSORS_PCA9539 is not set 704 + # CONFIG_PCF8575 is not set 733 705 # CONFIG_SENSORS_PCF8591 is not set 734 706 # CONFIG_ISP1301_OMAP is not set 735 707 CONFIG_TPS65010=y ··· 755 731 # CONFIG_SENSORS_ADM1031 is not set 756 732 # CONFIG_SENSORS_ADM9240 is not set 757 733 # CONFIG_SENSORS_ADT7470 is not set 734 + # CONFIG_SENSORS_ADT7473 is not set 758 735 # CONFIG_SENSORS_ATXP1 is not set 759 736 # CONFIG_SENSORS_DS1621 is not set 760 737 # CONFIG_SENSORS_F71805F is not set ··· 783 758 # CONFIG_SENSORS_SMSC47M1 is not set 784 759 # CONFIG_SENSORS_SMSC47M192 is not set 785 760 # CONFIG_SENSORS_SMSC47B397 is not set 761 + # CONFIG_SENSORS_ADS7828 is not set 786 762 # CONFIG_SENSORS_THMC50 is not set 787 763 # CONFIG_SENSORS_VT1211 is not set 788 764 # CONFIG_SENSORS_W83781D is not set ··· 791 765 # CONFIG_SENSORS_W83792D is not set 792 766 # CONFIG_SENSORS_W83793 is not set 793 767 # CONFIG_SENSORS_W83L785TS is not set 768 + # CONFIG_SENSORS_W83L786NG is not set 794 769 # CONFIG_SENSORS_W83627HF is not set 795 770 # CONFIG_SENSORS_W83627EHF is not set 796 771 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 807 780 # Multifunction device drivers 808 781 # 809 782 # CONFIG_MFD_SM501 is not set 783 + # CONFIG_MFD_ASIC3 is not set 810 784 811 785 # 812 786 # Multimedia devices ··· 893 865 # 894 866 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 895 867 # 896 - 897 - # 898 - # USB Gadget Support 899 - # 900 868 # CONFIG_USB_GADGET is not set 901 869 # CONFIG_MMC is not set 902 870 # CONFIG_NEW_LEDS is not set ··· 913 889 # CONFIG_XFS_FS is not set 914 890 # CONFIG_GFS2_FS is not set 915 891 # CONFIG_OCFS2_FS is not set 916 - # CONFIG_MINIX_FS is not set 917 - # CONFIG_ROMFS_FS is not set 892 + CONFIG_DNOTIFY=y 918 893 CONFIG_INOTIFY=y 919 894 CONFIG_INOTIFY_USER=y 920 895 # CONFIG_QUOTA is not set 921 - CONFIG_DNOTIFY=y 922 896 CONFIG_AUTOFS_FS=y 923 897 CONFIG_AUTOFS4_FS=y 924 898 # CONFIG_FUSE_FS is not set ··· 970 948 # CONFIG_JFFS2_RUBIN is not set 971 949 # CONFIG_CRAMFS is not set 972 950 # CONFIG_VXFS_FS is not set 951 + # CONFIG_MINIX_FS is not set 973 952 # CONFIG_HPFS_FS is not set 974 953 # CONFIG_QNX4FS_FS is not set 954 + # CONFIG_ROMFS_FS is not set 975 955 # CONFIG_SYSV_FS is not set 976 956 # CONFIG_UFS_FS is not set 977 957 CONFIG_NETWORK_FILESYSTEMS=y ··· 1043 1019 # CONFIG_NLS_KOI8_U is not set 1044 1020 # CONFIG_NLS_UTF8 is not set 1045 1021 # CONFIG_DLM is not set 1046 - CONFIG_INSTRUMENTATION=y 1047 - # CONFIG_PROFILING is not set 1048 - # CONFIG_MARKERS is not set 1049 1022 1050 1023 # 1051 1024 # Kernel hacking ··· 1066 1045 # CONFIG_KEYS is not set 1067 1046 # CONFIG_SECURITY is not set 1068 1047 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1069 - # CONFIG_CRYPTO is not set 1048 + CONFIG_CRYPTO=y 1049 + # CONFIG_CRYPTO_SEQIV is not set 1050 + # CONFIG_CRYPTO_MANAGER is not set 1051 + # CONFIG_CRYPTO_HMAC is not set 1052 + # CONFIG_CRYPTO_XCBC is not set 1053 + # CONFIG_CRYPTO_NULL is not set 1054 + # CONFIG_CRYPTO_MD4 is not set 1055 + # CONFIG_CRYPTO_MD5 is not set 1056 + # CONFIG_CRYPTO_SHA1 is not set 1057 + # CONFIG_CRYPTO_SHA256 is not set 1058 + # CONFIG_CRYPTO_SHA512 is not set 1059 + # CONFIG_CRYPTO_WP512 is not set 1060 + # CONFIG_CRYPTO_TGR192 is not set 1061 + # CONFIG_CRYPTO_GF128MUL is not set 1062 + # CONFIG_CRYPTO_ECB is not set 1063 + # CONFIG_CRYPTO_CBC is not set 1064 + # CONFIG_CRYPTO_PCBC is not set 1065 + # CONFIG_CRYPTO_LRW is not set 1066 + # CONFIG_CRYPTO_XTS is not set 1067 + # CONFIG_CRYPTO_CTR is not set 1068 + # CONFIG_CRYPTO_GCM is not set 1069 + # CONFIG_CRYPTO_CCM is not set 1070 + # CONFIG_CRYPTO_CRYPTD is not set 1071 + # CONFIG_CRYPTO_DES is not set 1072 + # CONFIG_CRYPTO_FCRYPT is not set 1073 + # CONFIG_CRYPTO_BLOWFISH is not set 1074 + # CONFIG_CRYPTO_TWOFISH is not set 1075 + # CONFIG_CRYPTO_SERPENT is not set 1076 + # CONFIG_CRYPTO_AES is not set 1077 + # CONFIG_CRYPTO_CAST5 is not set 1078 + # CONFIG_CRYPTO_CAST6 is not set 1079 + # CONFIG_CRYPTO_TEA is not set 1080 + # CONFIG_CRYPTO_ARC4 is not set 1081 + # CONFIG_CRYPTO_KHAZAD is not set 1082 + # CONFIG_CRYPTO_ANUBIS is not set 1083 + # CONFIG_CRYPTO_SEED is not set 1084 + # CONFIG_CRYPTO_SALSA20 is not set 1085 + # CONFIG_CRYPTO_DEFLATE is not set 1086 + # CONFIG_CRYPTO_MICHAEL_MIC is not set 1087 + # CONFIG_CRYPTO_CRC32C is not set 1088 + # CONFIG_CRYPTO_CAMELLIA is not set 1089 + # CONFIG_CRYPTO_TEST is not set 1090 + # CONFIG_CRYPTO_AUTHENC is not set 1091 + # CONFIG_CRYPTO_LZO is not set 1092 + CONFIG_CRYPTO_HW=y 1070 1093 1071 1094 # 1072 1095 # Library routines
+3
arch/arm/kernel/head-common.S
··· 11 11 * 12 12 */ 13 13 14 + #define ATAG_CORE 0x54410001 15 + #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) 16 + 14 17 .type __switch_data, %object 15 18 __switch_data: 16 19 .long __mmap_switched
-3
arch/arm/kernel/head.S
··· 29 29 #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) 30 30 #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) 31 31 32 - #define ATAG_CORE 0x54410001 33 - #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) 34 - 35 32 36 33 /* 37 34 * swapper_pg_dir is the virtual address of the initial page table.
+5
arch/arm/kernel/kprobes.c
··· 431 431 return 0; 432 432 } 433 433 434 + int __kprobes arch_trampoline_kprobe(struct kprobe *p) 435 + { 436 + return 0; 437 + } 438 + 434 439 static struct undef_hook kprobes_break_hook = { 435 440 .instr_mask = 0xffffffff, 436 441 .instr_val = KPROBE_BREAKPOINT_INSTRUCTION,
+1 -4
arch/arm/mach-at91/board-sam9263ek.c
··· 245 245 246 246 static void at91_lcdc_power_control(int on) 247 247 { 248 - if (on) 249 - at91_set_gpio_value(AT91_PIN_PD12, 0); /* power up */ 250 - else 251 - at91_set_gpio_value(AT91_PIN_PD12, 1); /* power down */ 248 + at91_set_gpio_value(AT91_PIN_PA30, on); 252 249 } 253 250 254 251 /* Driver datas */
+7
arch/arm/mach-at91/gpio.c
··· 490 490 491 491 /*--------------------------------------------------------------------------*/ 492 492 493 + /* This lock class tells lockdep that GPIO irqs are in a different 494 + * category than their parents, so it won't report false recursion. 495 + */ 496 + static struct lock_class_key gpio_lock_class; 497 + 493 498 /* 494 499 * Called from the processor-specific init to enable GPIO interrupt support. 495 500 */ ··· 515 510 __raw_writel(~0, this->regbase + PIO_IDR); 516 511 517 512 for (i = 0, pin = this->chipbase; i < 32; i++, pin++) { 513 + lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class); 514 + 518 515 /* 519 516 * Can use the "simple" and not "edge" handler since it's 520 517 * shorter, and the AIC handles interrupts sanely.
+6 -6
arch/arm/mach-h720x/common.c
··· 103 103 h720x_gpio_handler(unsigned int mask, unsigned int irq, 104 104 struct irq_desc *desc) 105 105 { 106 - IRQDBG("%s irq: %d\n",__FUNCTION__,irq); 106 + IRQDBG("%s irq: %d\n", __func__, irq); 107 107 desc = irq_desc + irq; 108 108 while (mask) { 109 109 if (mask & 1) { ··· 123 123 124 124 mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); 125 125 irq = IRQ_CHAINED_GPIOA(0); 126 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 126 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 127 127 h720x_gpio_handler(mask, irq, desc); 128 128 } 129 129 ··· 133 133 unsigned int mask, irq; 134 134 mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); 135 135 irq = IRQ_CHAINED_GPIOB(0); 136 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 136 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 137 137 h720x_gpio_handler(mask, irq, desc); 138 138 } 139 139 ··· 144 144 145 145 mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); 146 146 irq = IRQ_CHAINED_GPIOC(0); 147 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 147 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 148 148 h720x_gpio_handler(mask, irq, desc); 149 149 } 150 150 ··· 155 155 156 156 mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); 157 157 irq = IRQ_CHAINED_GPIOD(0); 158 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 158 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 159 159 h720x_gpio_handler(mask, irq, desc); 160 160 } 161 161 ··· 167 167 168 168 mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); 169 169 irq = IRQ_CHAINED_GPIOE(0); 170 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 170 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 171 171 h720x_gpio_handler(mask, irq, desc); 172 172 } 173 173 #endif
+6 -6
arch/arm/mach-imx/dma.c
··· 54 54 55 55 if (!imxdma->name) { 56 56 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 57 - __FUNCTION__, dma_ch); 57 + __func__, dma_ch); 58 58 return 0; 59 59 } 60 60 ··· 288 288 289 289 if (!imxdma->name) { 290 290 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 291 - __FUNCTION__, dma_ch); 291 + __func__, dma_ch); 292 292 return -ENODEV; 293 293 } 294 294 ··· 321 321 322 322 if (!imxdma->name) { 323 323 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 324 - __FUNCTION__, dma_ch); 324 + __func__, dma_ch); 325 325 return; 326 326 } 327 327 ··· 365 365 366 366 if (dma_ch >= IMX_DMA_CHANNELS) { 367 367 printk(KERN_CRIT "%s: called for non-existed channel %d\n", 368 - __FUNCTION__, dma_ch); 368 + __func__, dma_ch); 369 369 return -EINVAL; 370 370 } 371 371 ··· 396 396 if (!imxdma->name) { 397 397 printk(KERN_CRIT 398 398 "%s: trying to free channel %d which is already freed\n", 399 - __FUNCTION__, dma_ch); 399 + __func__, dma_ch); 400 400 return; 401 401 } 402 402 ··· 456 456 } 457 457 } 458 458 459 - printk(KERN_ERR "%s: no free DMA channel found\n", __FUNCTION__); 459 + printk(KERN_ERR "%s: no free DMA channel found\n", __func__); 460 460 461 461 return -ENODEV; 462 462 }
+3 -3
arch/arm/mach-imx/irq.c
··· 160 160 static void 161 161 imx_gpio_ack_irq(unsigned int irq) 162 162 { 163 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 163 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 164 164 ISR(IRQ_TO_REG(irq)) = 1 << ((irq - IRQ_GPIOA(0)) % 32); 165 165 } 166 166 167 167 static void 168 168 imx_gpio_mask_irq(unsigned int irq) 169 169 { 170 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 170 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 171 171 IMR(IRQ_TO_REG(irq)) &= ~( 1 << ((irq - IRQ_GPIOA(0)) % 32)); 172 172 } 173 173 174 174 static void 175 175 imx_gpio_unmask_irq(unsigned int irq) 176 176 { 177 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 177 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 178 178 IMR(IRQ_TO_REG(irq)) |= 1 << ((irq - IRQ_GPIOA(0)) % 32); 179 179 } 180 180
+1 -1
arch/arm/mach-iop13xx/iq81340mc.c
··· 81 81 static void __init iq81340mc_timer_init(void) 82 82 { 83 83 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 84 - printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq); 84 + printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq); 85 85 iop_init_time(bus_freq); 86 86 } 87 87
+1 -1
arch/arm/mach-iop13xx/iq81340sc.c
··· 83 83 static void __init iq81340sc_timer_init(void) 84 84 { 85 85 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 86 - printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq); 86 + printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq); 87 87 iop_init_time(bus_freq); 88 88 } 89 89
+4 -4
arch/arm/mach-iop13xx/pci.c
··· 94 94 , 0, iop13xx_atux_mem_size, MT_DEVICE); 95 95 if (!iop13xx_atux_mem_base) { 96 96 printk("%s: atux allocation " 97 - "failed\n", __FUNCTION__); 97 + "failed\n", __func__); 98 98 BUG(); 99 99 } 100 100 } else 101 101 iop13xx_atux_mem_size = 0; 102 102 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 103 - __FUNCTION__, atu, iop13xx_atux_mem_size, 103 + __func__, atu, iop13xx_atux_mem_size, 104 104 iop13xx_atux_mem_base); 105 105 break; 106 106 case 1: ··· 120 120 , 0, iop13xx_atue_mem_size, MT_DEVICE); 121 121 if (!iop13xx_atue_mem_base) { 122 122 printk("%s: atue allocation " 123 - "failed\n", __FUNCTION__); 123 + "failed\n", __func__); 124 124 BUG(); 125 125 } 126 126 } else 127 127 iop13xx_atue_mem_size = 0; 128 128 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 129 - __FUNCTION__, atu, iop13xx_atue_mem_size, 129 + __func__, atu, iop13xx_atue_mem_size, 130 130 iop13xx_atue_mem_base); 131 131 break; 132 132 }
+1 -1
arch/arm/mach-iop13xx/setup.c
··· 519 519 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start) 520 520 iop13xx_devices[plat_idx++] = &iq8134x_flash; 521 521 else 522 - printk(KERN_ERR "%s: Failed to probe flash size\n", __FUNCTION__); 522 + printk(KERN_ERR "%s: Failed to probe flash size\n", __func__); 523 523 #endif 524 524 525 525 platform_add_devices(iop13xx_devices, plat_idx);
+1 -1
arch/arm/mach-ixp4xx/common-pci.c
··· 87 87 if (isr & PCI_ISR_PFE) { 88 88 /* make sure the Master Abort bit is reset */ 89 89 *PCI_ISR = PCI_ISR_PFE; 90 - pr_debug("%s failed\n", __FUNCTION__); 90 + pr_debug("%s failed\n", __func__); 91 91 return 1; 92 92 } 93 93
+1 -1
arch/arm/mach-ixp4xx/gtwx5715-pci.c
··· 65 65 else 66 66 rc = gtwx5715_irqmap[slot][pin-1]; 67 67 68 - printk("%s: Mapped slot %d pin %d to IRQ %d\n", __FUNCTION__,slot, pin, rc); 68 + printk("%s: Mapped slot %d pin %d to IRQ %d\n", __func__, slot, pin, rc); 69 69 return(rc); 70 70 } 71 71
+3 -3
arch/arm/mach-netx/generic.c
··· 133 133 val &= ~((1 << 24) << irq); 134 134 writel(val, NETX_DPMAS_INT_EN); 135 135 136 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 136 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 137 137 } 138 138 139 139 static void ··· 145 145 val = readl(NETX_DPMAS_INT_EN); 146 146 val &= ~((1 << 24) << irq); 147 147 writel(val, NETX_DPMAS_INT_EN); 148 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 148 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 149 149 } 150 150 151 151 static void ··· 157 157 val = readl(NETX_DPMAS_INT_EN); 158 158 val |= (1 << 24) << irq; 159 159 writel(val, NETX_DPMAS_INT_EN); 160 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 160 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 161 161 } 162 162 163 163 static struct irq_chip netx_hif_chip = {
+1 -1
arch/arm/mach-ns9xxx/gpio.c
··· 31 31 static spinlock_t gpio_lock = __SPIN_LOCK_UNLOCKED(gpio_lock); 32 32 33 33 /* only access gpiores with atomic ops */ 34 - static DECLARE_BITMAP(gpiores, GPIO_MAX); 34 + static DECLARE_BITMAP(gpiores, GPIO_MAX + 1); 35 35 36 36 static inline int ns9xxx_valid_gpio(unsigned gpio) 37 37 {
+4
arch/arm/mach-omap1/board-h2.c
··· 350 350 351 351 static struct i2c_board_info __initdata h2_i2c_board_info[] = { 352 352 { 353 + I2C_BOARD_INFO("tps65010", 0x48), 354 + .type = "tps65010", 355 + .irq = OMAP_GPIO_IRQ(58), 356 + }, { 353 357 I2C_BOARD_INFO("isp1301_omap", 0x2d), 354 358 .type = "isp1301_omap", 355 359 .irq = OMAP_GPIO_IRQ(2),
+22
arch/arm/mach-omap1/board-h3.c
··· 26 26 #include <linux/mtd/nand.h> 27 27 #include <linux/mtd/partitions.h> 28 28 #include <linux/input.h> 29 + #include <linux/spi/spi.h> 29 30 #include <linux/i2c/tps65010.h> 30 31 31 32 #include <asm/setup.h> ··· 51 50 #include <asm/arch/common.h> 52 51 #include <asm/arch/mcbsp.h> 53 52 #include <asm/arch/omap-alsa.h> 53 + 54 + #define H3_TS_GPIO 48 54 55 55 56 static int h3_keymap[] = { 56 57 KEY(0, 0, KEY_LEFT), ··· 376 373 .id = -1, 377 374 }; 378 375 376 + static struct spi_board_info h3_spi_board_info[] __initdata = { 377 + [0] = { 378 + .modalias = "tsc2101", 379 + .bus_num = 2, 380 + .chip_select = 0, 381 + .irq = OMAP_GPIO_IRQ(H3_TS_GPIO), 382 + .max_speed_hz = 16000000, 383 + /* .platform_data = &tsc_platform_data, */ 384 + }, 385 + }; 386 + 379 387 static struct omap_mcbsp_reg_cfg mcbsp_regs = { 380 388 .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), 381 389 .spcr1 = RINTM(3) | RRST, ··· 469 455 { OMAP_TAG_MMC, &h3_mmc_config }, 470 456 { OMAP_TAG_UART, &h3_uart_config }, 471 457 { OMAP_TAG_LCD, &h3_lcd_config }, 458 + }; 459 + 460 + static struct i2c_board_info __initdata h3_i2c_board_info[] = { 461 + { 462 + I2C_BOARD_INFO("tps65010", 0x48), 463 + .type = "tps65013", 464 + /* .irq = OMAP_GPIO_IRQ(??), */ 465 + }, 472 466 }; 473 467 474 468 static struct omap_gpio_switch h3_gpio_switches[] __initdata = {
+1 -1
arch/arm/mach-omap1/pm.c
··· 717 717 #endif 718 718 719 719 #ifdef CONFIG_OMAP_32K_TIMER 720 - error = sysfs_create_file(power_kobj, &sleep_while_idle_attr); 720 + error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr); 721 721 if (error) 722 722 printk(KERN_ERR "sysfs_create_file failed: %d\n", error); 723 723 #endif
+6
arch/arm/mach-omap2/io.c
··· 42 42 .length = L3_24XX_SIZE, 43 43 .type = MT_DEVICE 44 44 }, 45 + { 46 + .virtual = L4_24XX_VIRT, 47 + .pfn = __phys_to_pfn(L4_24XX_PHYS), 48 + .length = L4_24XX_SIZE, 49 + .type = MT_DEVICE 50 + }, 45 51 #ifdef CONFIG_ARCH_OMAP2430 46 52 { 47 53 .virtual = L4_WK_243X_VIRT,
+10 -4
arch/arm/mach-orion/addr-map.c
··· 97 97 #define PCIE_BAR_CTRL(n) ORION_PCIE_REG(0x1804 + ((n - 1) * 4)) 98 98 #define PCIE_BAR_LO(n) ORION_PCIE_REG(0x0010 + ((n) * 8)) 99 99 #define PCIE_BAR_HI(n) ORION_PCIE_REG(0x0014 + ((n) * 8)) 100 - #define PCIE_WIN_CTRL(n) ORION_PCIE_REG(0x1820 + ((n) << 4)) 101 - #define PCIE_WIN_BASE(n) ORION_PCIE_REG(0x1824 + ((n) << 4)) 102 - #define PCIE_WIN_REMAP(n) ORION_PCIE_REG(0x182c + ((n) << 4)) 100 + #define PCIE_WIN_CTRL(n) (((n) < 5) ? \ 101 + ORION_PCIE_REG(0x1820 + ((n) << 4)) : \ 102 + ORION_PCIE_REG(0x1880)) 103 + #define PCIE_WIN_BASE(n) (((n) < 5) ? \ 104 + ORION_PCIE_REG(0x1824 + ((n) << 4)) : \ 105 + ORION_PCIE_REG(0x1884)) 106 + #define PCIE_WIN_REMAP(n) (((n) < 5) ? \ 107 + ORION_PCIE_REG(0x182c + ((n) << 4)) : \ 108 + ORION_PCIE_REG(0x188c)) 103 109 #define PCIE_DEFWIN_CTRL ORION_PCIE_REG(0x18b0) 104 110 #define PCIE_EXPROM_WIN_CTRL ORION_PCIE_REG(0x18c0) 105 111 #define PCIE_EXPROM_WIN_REMP ORION_PCIE_REG(0x18c4) 106 112 #define PCIE_MAX_BARS 3 107 - #define PCIE_MAX_WINS 5 113 + #define PCIE_MAX_WINS 6 108 114 109 115 /* 110 116 * Use PCIE BAR '1' for all DDR banks
+22 -2
arch/arm/mach-orion/common.c
··· 17 17 #include <linux/mv643xx_eth.h> 18 18 #include <linux/mv643xx_i2c.h> 19 19 #include <asm/page.h> 20 + #include <asm/setup.h> 20 21 #include <asm/timex.h> 22 + #include <asm/mach/arch.h> 21 23 #include <asm/mach/map.h> 22 24 #include <asm/arch/hardware.h> 23 25 #include "common.h" ··· 179 177 180 178 static struct resource orion_eth_shared_resources[] = { 181 179 { 182 - .start = ORION_ETH_PHYS_BASE, 183 - .end = ORION_ETH_PHYS_BASE + 0xffff, 180 + .start = ORION_ETH_PHYS_BASE + 0x2000, 181 + .end = ORION_ETH_PHYS_BASE + 0x3fff, 184 182 .flags = IORESOURCE_MEM, 185 183 }, 186 184 }; ··· 348 346 if (dev == MV88F5182_DEV_ID) 349 347 platform_device_register(&orion_ehci1); 350 348 platform_device_register(&orion_i2c); 349 + } 350 + 351 + /* 352 + * Many orion-based systems have buggy bootloader implementations. 353 + * This is a common fixup for bogus memory tags. 354 + */ 355 + void __init tag_fixup_mem32(struct machine_desc *mdesc, struct tag *t, 356 + char **from, struct meminfo *meminfo) 357 + { 358 + for (; t->hdr.size; t = tag_next(t)) 359 + if (t->hdr.tag == ATAG_MEM && 360 + (!t->u.mem.size || t->u.mem.size & ~PAGE_MASK || 361 + t->u.mem.start & ~PAGE_MASK)) { 362 + printk(KERN_WARNING 363 + "Clearing invalid memory bank %dKB@0x%08x\n", 364 + t->u.mem.size / 1024, t->u.mem.start); 365 + t->hdr.tag = 0; 366 + } 351 367 }
+6
arch/arm/mach-orion/common.h
··· 83 83 84 84 void __init orion_sata_init(struct mv_sata_platform_data *sata_data); 85 85 86 + struct machine_desc; 87 + struct meminfo; 88 + struct tag; 89 + extern void __init tag_fixup_mem32(struct machine_desc *, struct tag *, 90 + char **, struct meminfo *); 91 + 86 92 #endif /* __ARCH_ORION_COMMON_H__ */
+1
arch/arm/mach-orion/dns323-setup.c
··· 319 319 .map_io = orion_map_io, 320 320 .init_irq = orion_init_irq, 321 321 .timer = &orion_timer, 322 + .fixup = tag_fixup_mem32, 322 323 MACHINE_END
+6 -6
arch/arm/mach-orion/gpio.c
··· 36 36 unsigned long flags; 37 37 38 38 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 39 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 39 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 40 40 return -EINVAL; 41 41 } 42 42 ··· 62 62 int mask; 63 63 64 64 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 65 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 65 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 66 66 return -EINVAL; 67 67 } 68 68 ··· 141 141 unsigned long flags; 142 142 143 143 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 144 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 144 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 145 145 return -EINVAL; 146 146 } 147 147 ··· 149 149 150 150 if (gpio_label[pin]) { 151 151 pr_debug("%s: GPIO %d already used as %s\n", 152 - __FUNCTION__, pin, gpio_label[pin]); 152 + __func__, pin, gpio_label[pin]); 153 153 ret = -EBUSY; 154 154 } else 155 155 gpio_label[pin] = label ? label : "?"; ··· 162 162 void gpio_free(unsigned pin) 163 163 { 164 164 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 165 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 165 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 166 166 return; 167 167 } 168 168 169 169 if (!gpio_label[pin]) 170 - pr_warning("%s: GPIO %d already freed\n", __FUNCTION__, pin); 170 + pr_warning("%s: GPIO %d already freed\n", __func__, pin); 171 171 else 172 172 gpio_label[pin] = NULL; 173 173 }
+1
arch/arm/mach-orion/kurobox_pro-setup.c
··· 240 240 .map_io = orion_map_io, 241 241 .init_irq = orion_init_irq, 242 242 .timer = &orion_timer, 243 + .fixup = tag_fixup_mem32, 243 244 MACHINE_END
+1
arch/arm/mach-orion/ts209-setup.c
··· 357 357 .map_io = orion_map_io, 358 358 .init_irq = orion_init_irq, 359 359 .timer = &orion_timer, 360 + .fixup = tag_fixup_mem32, 360 361 MACHINE_END
+1 -1
arch/arm/mach-pnx4008/clock.c
··· 976 976 (*clkp)->set_parent((*clkp), (*clkp)->parent); 977 977 } 978 978 pr_debug("%s: clock %s, rate %ld\n", 979 - __FUNCTION__, (*clkp)->name, (*clkp)->rate); 979 + __func__, (*clkp)->name, (*clkp)->rate); 980 980 } 981 981 982 982 local_clk_use(&ck_pll4);
+1 -1
arch/arm/mach-pnx4008/dma.c
··· 192 192 if (!dma_channels[ch].name) { 193 193 printk(KERN_CRIT 194 194 "%s: trying to free channel %d which is already freed\n", 195 - __FUNCTION__, ch); 195 + __func__, ch); 196 196 return; 197 197 } 198 198
+1 -1
arch/arm/mach-pxa/cm-x270-pci.c
··· 104 104 { 105 105 int irq; 106 106 107 - dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __FUNCTION__, slot, pin); 107 + dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __func__, slot, pin); 108 108 109 109 irq = it8152_pci_map_irq(dev, slot, pin); 110 110 if (irq)
+2 -2
arch/arm/mach-pxa/cm-x270.c
··· 504 504 struct pxamci_platform_data *p_d = dev->platform_data; 505 505 506 506 if ((1 << vdd) & p_d->ocr_mask) { 507 - printk(KERN_DEBUG "%s: on\n", __FUNCTION__); 507 + printk(KERN_DEBUG "%s: on\n", __func__); 508 508 GPCR(105) = GPIO_bit(105); 509 509 } else { 510 510 GPSR(105) = GPIO_bit(105); 511 - printk(KERN_DEBUG "%s: off\n", __FUNCTION__); 511 + printk(KERN_DEBUG "%s: off\n", __func__); 512 512 } 513 513 } 514 514
+1 -1
arch/arm/mach-pxa/dma.c
··· 81 81 if (!dma_channels[dma_ch].name) { 82 82 printk (KERN_CRIT 83 83 "%s: trying to free channel %d which is already freed\n", 84 - __FUNCTION__, dma_ch); 84 + __func__, dma_ch); 85 85 return; 86 86 } 87 87
+1 -1
arch/arm/mach-pxa/em-x270.c
··· 264 264 "MMC card detect", data); 265 265 if (err) { 266 266 printk(KERN_ERR "%s: can't request MMC card detect IRQ: %d\n", 267 - __FUNCTION__, err); 267 + __func__, err); 268 268 return err; 269 269 } 270 270
+2 -2
arch/arm/mach-pxa/mainstone.c
··· 390 390 struct pxamci_platform_data* p_d = dev->platform_data; 391 391 392 392 if (( 1 << vdd) & p_d->ocr_mask) { 393 - printk(KERN_DEBUG "%s: on\n", __FUNCTION__); 393 + printk(KERN_DEBUG "%s: on\n", __func__); 394 394 MST_MSCWR1 |= MST_MSCWR1_MMC_ON; 395 395 MST_MSCWR1 &= ~MST_MSCWR1_MS_SEL; 396 396 } else { 397 - printk(KERN_DEBUG "%s: off\n", __FUNCTION__); 397 + printk(KERN_DEBUG "%s: off\n", __func__); 398 398 MST_MSCWR1 &= ~MST_MSCWR1_MMC_ON; 399 399 } 400 400 }
+4 -4
arch/arm/mach-pxa/trizeps4.c
··· 217 217 ConXS_BCR = trizeps_conxs_bcr; 218 218 219 219 } 220 - pr_debug("%s: o%s 0x%x\n", __FUNCTION__, power ? "n": "ff", trizeps_conxs_bcr); 220 + pr_debug("%s: o%s 0x%x\n", __func__, power ? "n": "ff", trizeps_conxs_bcr); 221 221 } 222 222 223 223 /* backlight power switching for LCD panel */ ··· 228 228 } else { 229 229 trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP; 230 230 } 231 - pr_debug("%s: o%s 0x%x\n", __FUNCTION__, on ? "n" : "ff", trizeps_conxs_bcr); 231 + pr_debug("%s: o%s 0x%x\n", __func__, on ? "n" : "ff", trizeps_conxs_bcr); 232 232 ConXS_BCR = trizeps_conxs_bcr; 233 233 } 234 234 ··· 238 238 struct pxamci_platform_data* p_d = dev->platform_data; 239 239 240 240 if (( 1 << vdd) & p_d->ocr_mask) { 241 - pr_debug("%s: on\n", __FUNCTION__); 241 + pr_debug("%s: on\n", __func__); 242 242 /* FIXME fill in values here */ 243 243 } else { 244 - pr_debug("%s: off\n", __FUNCTION__); 244 + pr_debug("%s: off\n", __func__); 245 245 /* FIXME fill in values here */ 246 246 } 247 247 }
+3 -3
arch/arm/mach-sa1100/badge4.c
··· 206 206 if (ret < 0) 207 207 printk(KERN_ERR 208 208 "%s: SA-1111 initialization failed (%d)\n", 209 - __FUNCTION__, ret); 209 + __func__, ret); 210 210 211 211 212 212 /* maybe turn on 5v0 from the start */ ··· 240 240 /* detect on->off and off->on transitions */ 241 241 if ((!old_5V_bitmap) && (badge4_5V_bitmap)) { 242 242 /* was off, now on */ 243 - printk(KERN_INFO "%s: enabling 5V supply rail\n", __FUNCTION__); 243 + printk(KERN_INFO "%s: enabling 5V supply rail\n", __func__); 244 244 GPSR = BADGE4_GPIO_PCMEN5V; 245 245 } else if ((old_5V_bitmap) && (!badge4_5V_bitmap)) { 246 246 /* was on, now off */ 247 - printk(KERN_INFO "%s: disabling 5V supply rail\n", __FUNCTION__); 247 + printk(KERN_INFO "%s: disabling 5V supply rail\n", __func__); 248 248 GPCR = BADGE4_GPIO_PCMEN5V; 249 249 } 250 250
+1 -1
arch/arm/mach-sa1100/cpu-sa1100.c
··· 139 139 140 140 if (settings->speed == 0) { 141 141 panic("%s: couldn't find dram setting for speed %d\n", 142 - __FUNCTION__, new_speed); 142 + __func__, new_speed); 143 143 } 144 144 145 145 /* No risk, no fun: run with interrupts on! */
+4 -4
arch/arm/mach-sa1100/dma.c
··· 129 129 if (err) { 130 130 printk(KERN_ERR 131 131 "%s: unable to request IRQ %d for %s\n", 132 - __FUNCTION__, IRQ_DMA0 + i, device_id); 132 + __func__, IRQ_DMA0 + i, device_id); 133 133 dma->device = 0; 134 134 return err; 135 135 } ··· 165 165 if (regs == (dma_regs_t *)&DDAR(i)) 166 166 break; 167 167 if (i >= SA1100_DMA_CHANNELS) { 168 - printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__); 168 + printk(KERN_ERR "%s: bad DMA identifier\n", __func__); 169 169 return; 170 170 } 171 171 172 172 if (!dma_chan[i].device) { 173 - printk(KERN_ERR "%s: Trying to free free DMA\n", __FUNCTION__); 173 + printk(KERN_ERR "%s: Trying to free free DMA\n", __func__); 174 174 return; 175 175 } 176 176 ··· 329 329 if (regs == (dma_regs_t *)&DDAR(i)) 330 330 break; 331 331 if (i >= SA1100_DMA_CHANNELS) { 332 - printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__); 332 + printk(KERN_ERR "%s: bad DMA identifier\n", __func__); 333 333 return; 334 334 } 335 335
+7 -7
arch/arm/mach-sa1100/h3600.c
··· 596 596 case IPAQ_EGPIO_CODEC_NRESET: 597 597 case IPAQ_EGPIO_AUDIO_ON: 598 598 case IPAQ_EGPIO_QMUTE: 599 - printk("%s: error - should not be called\n", __FUNCTION__); 599 + printk("%s: error - should not be called\n", __func__); 600 600 break; 601 601 case IPAQ_EGPIO_OPT_NVRAM_ON: 602 602 SET_ASIC2(GPIO2_OPT_ON_NVRAM); ··· 638 638 static u16 asic2_data; 639 639 int result = 0; 640 640 641 - printk("%s %d\n", __FUNCTION__, req); 641 + printk("%s %d\n", __func__, req); 642 642 643 643 switch (req) { 644 644 case PM_RESUME: ··· 666 666 asic2_data = H3800_ASIC2_GPIOPIOD; 667 667 break; 668 668 default: 669 - printk("%s: unrecognized PM callback\n", __FUNCTION__); 669 + printk("%s: unrecognized PM callback\n", __func__); 670 670 break; 671 671 } 672 672 return result; ··· 706 706 { 707 707 int i; 708 708 709 - if (0) printk("%s: interrupt received\n", __FUNCTION__); 709 + if (0) printk("%s: interrupt received\n", __func__); 710 710 711 711 desc->chip->ack(irq); 712 712 ··· 716 716 717 717 /* KPIO */ 718 718 irq = H3800_ASIC2_KPIINTFLAG; 719 - if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq); 719 + if (0) printk("%s KPIO 0x%08X\n", __func__, irq); 720 720 for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) 721 721 if (irq & kpio_irq_mask[j]) 722 722 handle_edge_irq(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j); 723 723 724 724 /* GPIO2 */ 725 725 irq = H3800_ASIC2_GPIINTFLAG; 726 - if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq); 726 + if (0) printk("%s GPIO 0x%08X\n", __func__, irq); 727 727 for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) 728 728 if (irq & gpio_irq_mask[j]) 729 729 handle_edge_irq(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j); 730 730 } 731 731 732 732 if (i >= MAX_ASIC_ISR_LOOPS) 733 - printk("%s: interrupt processing overrun\n", __FUNCTION__); 733 + printk("%s: interrupt processing overrun\n", __func__); 734 734 735 735 /* For level-based interrupts */ 736 736 desc->chip->unmask(irq);
+1 -1
arch/arm/plat-iop/pci.c
··· 371 371 default: 372 372 printk(KERN_DEBUG "\"%s\" malformed at " 373 373 "character: \'%c\'", 374 - __FUNCTION__, 374 + __func__, 375 375 *str); 376 376 *(str + 1) = '\0'; 377 377 }
+10 -22
arch/arm/plat-omap/cpu-omap.c
··· 33 33 #define MPU_CLK "virt_prcm_set" 34 34 #endif 35 35 36 + static struct clk *mpu_clk; 37 + 36 38 /* TODO: Add support for SDRAM timing changes */ 37 39 38 40 int omap_verify_speed(struct cpufreq_policy *policy) 39 41 { 40 - struct clk * mpu_clk; 41 - 42 42 if (policy->cpu) 43 43 return -EINVAL; 44 44 45 45 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 46 46 policy->cpuinfo.max_freq); 47 - mpu_clk = clk_get(NULL, MPU_CLK); 48 - if (IS_ERR(mpu_clk)) 49 - return PTR_ERR(mpu_clk); 47 + 50 48 policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000; 51 49 policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000; 52 50 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 53 51 policy->cpuinfo.max_freq); 54 - clk_put(mpu_clk); 55 - 56 52 return 0; 57 53 } 58 54 59 55 unsigned int omap_getspeed(unsigned int cpu) 60 56 { 61 - struct clk * mpu_clk; 62 57 unsigned long rate; 63 58 64 59 if (cpu) 65 60 return 0; 66 61 67 - mpu_clk = clk_get(NULL, MPU_CLK); 68 - if (IS_ERR(mpu_clk)) 69 - return 0; 70 62 rate = clk_get_rate(mpu_clk) / 1000; 71 - clk_put(mpu_clk); 72 - 73 63 return rate; 74 64 } 75 65 ··· 67 77 unsigned int target_freq, 68 78 unsigned int relation) 69 79 { 70 - struct clk * mpu_clk; 71 80 struct cpufreq_freqs freqs; 72 81 int ret = 0; 73 - 74 - mpu_clk = clk_get(NULL, MPU_CLK); 75 - if (IS_ERR(mpu_clk)) 76 - return PTR_ERR(mpu_clk); 77 82 78 83 freqs.old = omap_getspeed(0); 79 84 freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000; ··· 77 92 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); 78 93 ret = clk_set_rate(mpu_clk, target_freq * 1000); 79 94 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); 80 - clk_put(mpu_clk); 81 95 82 96 return ret; 83 97 } 84 98 85 99 static int __init omap_cpu_init(struct cpufreq_policy *policy) 86 100 { 87 - struct clk * mpu_clk; 88 - 89 101 mpu_clk = clk_get(NULL, MPU_CLK); 90 102 if (IS_ERR(mpu_clk)) 91 103 return PTR_ERR(mpu_clk); ··· 93 111 policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000; 94 112 policy->cpuinfo.max_freq = clk_round_rate(mpu_clk, VERY_HI_RATE) / 1000; 95 113 policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; 96 - clk_put(mpu_clk); 97 114 115 + return 0; 116 + } 117 + 118 + static int omap_cpu_exit(struct cpufreq_policy *policy) 119 + { 120 + clk_put(mpu_clk); 98 121 return 0; 99 122 } 100 123 ··· 109 122 .target = omap_target, 110 123 .get = omap_getspeed, 111 124 .init = omap_cpu_init, 125 + .exit = omap_cpu_exit, 112 126 .name = "omap", 113 127 }; 114 128
-63
arch/arm/plat-omap/devices.c
··· 89 89 #endif /* CONFIG_OMAP_DSP */ 90 90 91 91 /*-------------------------------------------------------------------------*/ 92 - #if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE) 93 - 94 - #define OMAP1_I2C_BASE 0xfffb3800 95 - #define OMAP2_I2C_BASE1 0x48070000 96 - #define OMAP_I2C_SIZE 0x3f 97 - #define OMAP1_I2C_INT INT_I2C 98 - #define OMAP2_I2C_INT1 56 99 - 100 - static struct resource i2c_resources1[] = { 101 - { 102 - .start = 0, 103 - .end = 0, 104 - .flags = IORESOURCE_MEM, 105 - }, 106 - { 107 - .start = 0, 108 - .flags = IORESOURCE_IRQ, 109 - }, 110 - }; 111 - 112 - /* DMA not used; works around erratum writing to non-empty i2c fifo */ 113 - 114 - static struct platform_device omap_i2c_device1 = { 115 - .name = "i2c_omap", 116 - .id = 1, 117 - .num_resources = ARRAY_SIZE(i2c_resources1), 118 - .resource = i2c_resources1, 119 - }; 120 - 121 - /* See also arch/arm/mach-omap2/devices.c for second I2C on 24xx */ 122 - static void omap_init_i2c(void) 123 - { 124 - if (cpu_is_omap24xx()) { 125 - i2c_resources1[0].start = OMAP2_I2C_BASE1; 126 - i2c_resources1[0].end = OMAP2_I2C_BASE1 + OMAP_I2C_SIZE; 127 - i2c_resources1[1].start = OMAP2_I2C_INT1; 128 - } else { 129 - i2c_resources1[0].start = OMAP1_I2C_BASE; 130 - i2c_resources1[0].end = OMAP1_I2C_BASE + OMAP_I2C_SIZE; 131 - i2c_resources1[1].start = OMAP1_I2C_INT; 132 - } 133 - 134 - /* FIXME define and use a boot tag, in case of boards that 135 - * either don't wire up I2C, or chips that mux it differently... 136 - * it can include clocking and address info, maybe more. 137 - */ 138 - if (cpu_is_omap24xx()) { 139 - omap_cfg_reg(M19_24XX_I2C1_SCL); 140 - omap_cfg_reg(L15_24XX_I2C1_SDA); 141 - } else { 142 - omap_cfg_reg(I2C_SCL); 143 - omap_cfg_reg(I2C_SDA); 144 - } 145 - 146 - (void) platform_device_register(&omap_i2c_device1); 147 - } 148 - 149 - #else 150 - static inline void omap_init_i2c(void) {} 151 - #endif 152 - 153 - /*-------------------------------------------------------------------------*/ 154 92 #if defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE) 155 93 156 94 static void omap_init_kp(void) ··· 439 501 * in alphabetical order so they're easier to sort through. 440 502 */ 441 503 omap_init_dsp(); 442 - omap_init_i2c(); 443 504 omap_init_kp(); 444 505 omap_init_mmc(); 445 506 omap_init_uwire();
+4 -10
arch/arm/plat-omap/dma.c
··· 137 137 static inline void omap_enable_channel_irq(int lch); 138 138 139 139 #define REVISIT_24XX() printk(KERN_ERR "FIXME: no %s on 24xx\n", \ 140 - __FUNCTION__); 140 + __func__); 141 141 142 142 #ifdef CONFIG_ARCH_OMAP15XX 143 143 /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */ ··· 699 699 u32 reg; 700 700 701 701 if (!cpu_class_is_omap2()) { 702 - printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __FUNCTION__); 702 + printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __func__); 703 703 return; 704 704 } 705 705 ··· 1705 1705 status = OMAP_DMA_CSR_REG(ch); 1706 1706 } 1707 1707 1708 - if (likely(dma_chan[ch].callback != NULL)) { 1709 - if (dma_chan[ch].chain_id != -1) 1710 - dma_chan[ch].callback(dma_chan[ch].chain_id, status, 1711 - dma_chan[ch].data); 1712 - else 1713 - dma_chan[ch].callback(ch, status, dma_chan[ch].data); 1714 - 1715 - } 1708 + if (likely(dma_chan[ch].callback != NULL)) 1709 + dma_chan[ch].callback(ch, status, dma_chan[ch].data); 1716 1710 1717 1711 OMAP_DMA_CSR_REG(ch) = status; 1718 1712
+1 -1
arch/arm/plat-omap/dmtimer.c
··· 268 268 if (id <= 0 || id > dm_timer_count || dm_timers[id-1].reserved) { 269 269 spin_unlock_irqrestore(&dm_timer_lock, flags); 270 270 printk("BUG: warning at %s:%d/%s(): unable to get timer %d\n", 271 - __FILE__, __LINE__, __FUNCTION__, id); 271 + __FILE__, __LINE__, __func__, id); 272 272 dump_stack(); 273 273 return NULL; 274 274 }
+41 -24
arch/arm/plat-omap/gpio.c
··· 333 333 void omap_set_gpio_direction(int gpio, int is_input) 334 334 { 335 335 struct gpio_bank *bank; 336 + unsigned long flags; 336 337 337 338 if (check_gpio(gpio) < 0) 338 339 return; 339 340 bank = get_gpio_bank(gpio); 340 - spin_lock(&bank->lock); 341 + spin_lock_irqsave(&bank->lock, flags); 341 342 _set_gpio_direction(bank, get_gpio_index(gpio), is_input); 342 - spin_unlock(&bank->lock); 343 + spin_unlock_irqrestore(&bank->lock, flags); 343 344 } 344 345 345 346 static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) ··· 407 406 void omap_set_gpio_dataout(int gpio, int enable) 408 407 { 409 408 struct gpio_bank *bank; 409 + unsigned long flags; 410 410 411 411 if (check_gpio(gpio) < 0) 412 412 return; 413 413 bank = get_gpio_bank(gpio); 414 - spin_lock(&bank->lock); 414 + spin_lock_irqsave(&bank->lock, flags); 415 415 _set_gpio_dataout(bank, get_gpio_index(gpio), enable); 416 - spin_unlock(&bank->lock); 416 + spin_unlock_irqrestore(&bank->lock, flags); 417 417 } 418 418 419 419 int omap_get_gpio_datain(int gpio) ··· 626 624 struct gpio_bank *bank; 627 625 unsigned gpio; 628 626 int retval; 627 + unsigned long flags; 629 628 630 629 if (!cpu_class_is_omap2() && irq > IH_MPUIO_BASE) 631 630 gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE); ··· 645 642 return -EINVAL; 646 643 647 644 bank = get_irq_chip_data(irq); 648 - spin_lock(&bank->lock); 645 + spin_lock_irqsave(&bank->lock, flags); 649 646 retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type); 650 647 if (retval == 0) { 651 648 irq_desc[irq].status &= ~IRQ_TYPE_SENSE_MASK; 652 649 irq_desc[irq].status |= type; 653 650 } 654 - spin_unlock(&bank->lock); 651 + spin_unlock_irqrestore(&bank->lock, flags); 655 652 return retval; 656 653 } 657 654 ··· 833 830 */ 834 831 static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable) 835 832 { 833 + unsigned long flags; 834 + 836 835 switch (bank->method) { 837 836 #ifdef CONFIG_ARCH_OMAP16XX 838 837 case METHOD_MPUIO: 839 838 case METHOD_GPIO_1610: 840 - spin_lock(&bank->lock); 839 + spin_lock_irqsave(&bank->lock, flags); 841 840 if (enable) { 842 841 bank->suspend_wakeup |= (1 << gpio); 843 842 enable_irq_wake(bank->irq); ··· 847 842 disable_irq_wake(bank->irq); 848 843 bank->suspend_wakeup &= ~(1 << gpio); 849 844 } 850 - spin_unlock(&bank->lock); 845 + spin_unlock_irqrestore(&bank->lock, flags); 851 846 return 0; 852 847 #endif 853 848 #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) ··· 858 853 (bank - gpio_bank) * 32 + gpio); 859 854 return -EINVAL; 860 855 } 861 - spin_lock(&bank->lock); 856 + spin_lock_irqsave(&bank->lock, flags); 862 857 if (enable) { 863 858 bank->suspend_wakeup |= (1 << gpio); 864 859 enable_irq_wake(bank->irq); ··· 866 861 disable_irq_wake(bank->irq); 867 862 bank->suspend_wakeup &= ~(1 << gpio); 868 863 } 869 - spin_unlock(&bank->lock); 864 + spin_unlock_irqrestore(&bank->lock, flags); 870 865 return 0; 871 866 #endif 872 867 default: ··· 902 897 int omap_request_gpio(int gpio) 903 898 { 904 899 struct gpio_bank *bank; 900 + unsigned long flags; 905 901 906 902 if (check_gpio(gpio) < 0) 907 903 return -EINVAL; 908 904 909 905 bank = get_gpio_bank(gpio); 910 - spin_lock(&bank->lock); 906 + spin_lock_irqsave(&bank->lock, flags); 911 907 if (unlikely(bank->reserved_map & (1 << get_gpio_index(gpio)))) { 912 908 printk(KERN_ERR "omap-gpio: GPIO %d is already reserved!\n", gpio); 913 909 dump_stack(); 914 - spin_unlock(&bank->lock); 910 + spin_unlock_irqrestore(&bank->lock, flags); 915 911 return -1; 916 912 } 917 913 bank->reserved_map |= (1 << get_gpio_index(gpio)); ··· 931 925 __raw_writel(__raw_readl(reg) | (1 << get_gpio_index(gpio)), reg); 932 926 } 933 927 #endif 934 - spin_unlock(&bank->lock); 928 + spin_unlock_irqrestore(&bank->lock, flags); 935 929 936 930 return 0; 937 931 } ··· 939 933 void omap_free_gpio(int gpio) 940 934 { 941 935 struct gpio_bank *bank; 936 + unsigned long flags; 942 937 943 938 if (check_gpio(gpio) < 0) 944 939 return; 945 940 bank = get_gpio_bank(gpio); 946 - spin_lock(&bank->lock); 941 + spin_lock_irqsave(&bank->lock, flags); 947 942 if (unlikely(!(bank->reserved_map & (1 << get_gpio_index(gpio))))) { 948 943 printk(KERN_ERR "omap-gpio: GPIO %d wasn't reserved!\n", gpio); 949 944 dump_stack(); 950 - spin_unlock(&bank->lock); 945 + spin_unlock_irqrestore(&bank->lock, flags); 951 946 return; 952 947 } 953 948 #ifdef CONFIG_ARCH_OMAP16XX ··· 967 960 #endif 968 961 bank->reserved_map &= ~(1 << get_gpio_index(gpio)); 969 962 _reset_gpio(bank, gpio); 970 - spin_unlock(&bank->lock); 963 + spin_unlock_irqrestore(&bank->lock, flags); 971 964 } 972 965 973 966 /* ··· 1201 1194 { 1202 1195 struct gpio_bank *bank = platform_get_drvdata(pdev); 1203 1196 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1197 + unsigned long flags; 1204 1198 1205 - spin_lock(&bank->lock); 1199 + spin_lock_irqsave(&bank->lock, flags); 1206 1200 bank->saved_wakeup = __raw_readl(mask_reg); 1207 1201 __raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg); 1208 - spin_unlock(&bank->lock); 1202 + spin_unlock_irqrestore(&bank->lock, flags); 1209 1203 1210 1204 return 0; 1211 1205 } ··· 1215 1207 { 1216 1208 struct gpio_bank *bank = platform_get_drvdata(pdev); 1217 1209 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1210 + unsigned long flags; 1218 1211 1219 - spin_lock(&bank->lock); 1212 + spin_lock_irqsave(&bank->lock, flags); 1220 1213 __raw_writel(bank->saved_wakeup, mask_reg); 1221 - spin_unlock(&bank->lock); 1214 + spin_unlock_irqrestore(&bank->lock, flags); 1222 1215 1223 1216 return 0; 1224 1217 } ··· 1285 1276 static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS]; 1286 1277 static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS]; 1287 1278 #endif 1279 + 1280 + /* This lock class tells lockdep that GPIO irqs are in a different 1281 + * category than their parents, so it won't report false recursion. 1282 + */ 1283 + static struct lock_class_key gpio_lock_class; 1288 1284 1289 1285 static int __init _omap_gpio_init(void) 1290 1286 { ··· 1464 1450 #endif 1465 1451 for (j = bank->virtual_irq_start; 1466 1452 j < bank->virtual_irq_start + gpio_count; j++) { 1453 + lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class); 1467 1454 set_irq_chip_data(j, bank); 1468 1455 if (bank_is_mpuio(bank)) 1469 1456 set_irq_chip(j, &mpuio_irq_chip); ··· 1504 1489 void __iomem *wake_status; 1505 1490 void __iomem *wake_clear; 1506 1491 void __iomem *wake_set; 1492 + unsigned long flags; 1507 1493 1508 1494 switch (bank->method) { 1509 1495 #ifdef CONFIG_ARCH_OMAP16XX ··· 1525 1509 continue; 1526 1510 } 1527 1511 1528 - spin_lock(&bank->lock); 1512 + spin_lock_irqsave(&bank->lock, flags); 1529 1513 bank->saved_wakeup = __raw_readl(wake_status); 1530 1514 __raw_writel(0xffffffff, wake_clear); 1531 1515 __raw_writel(bank->suspend_wakeup, wake_set); 1532 - spin_unlock(&bank->lock); 1516 + spin_unlock_irqrestore(&bank->lock, flags); 1533 1517 } 1534 1518 1535 1519 return 0; ··· 1546 1530 struct gpio_bank *bank = &gpio_bank[i]; 1547 1531 void __iomem *wake_clear; 1548 1532 void __iomem *wake_set; 1533 + unsigned long flags; 1549 1534 1550 1535 switch (bank->method) { 1551 1536 #ifdef CONFIG_ARCH_OMAP16XX ··· 1565 1548 continue; 1566 1549 } 1567 1550 1568 - spin_lock(&bank->lock); 1551 + spin_lock_irqsave(&bank->lock, flags); 1569 1552 __raw_writel(0xffffffff, wake_clear); 1570 1553 __raw_writel(bank->saved_wakeup, wake_set); 1571 - spin_unlock(&bank->lock); 1554 + spin_unlock_irqrestore(&bank->lock, flags); 1572 1555 } 1573 1556 1574 1557 return 0;
+32 -32
arch/arm/plat-s3c24xx/dma.c
··· 130 130 dmadbg_dumpregs(fname, line, chan, &state); 131 131 } 132 132 133 - #define dbg_showregs(chan) dmadbg_showregs(__FUNCTION__, __LINE__, (chan)) 134 - #define dbg_showchan(chan) dmadbg_showchan(__FUNCTION__, __LINE__, (chan)) 133 + #define dbg_showregs(chan) dmadbg_showregs(__func__, __LINE__, (chan)) 134 + #define dbg_showchan(chan) dmadbg_showchan(__func__, __LINE__, (chan)) 135 135 #else 136 136 #define dbg_showregs(chan) do { } while(0) 137 137 #define dbg_showchan(chan) do { } while(0) ··· 403 403 404 404 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 405 405 pr_debug("%s: buff not yet loaded, no more todo\n", 406 - __FUNCTION__); 406 + __func__); 407 407 } else { 408 408 chan->load_state = S3C2410_DMALOAD_1RUNNING; 409 409 s3c2410_dma_loadbuffer(chan, chan->next); ··· 463 463 return -EINVAL; 464 464 465 465 pr_debug("%s: id=%p, data=%08x, size=%d\n", 466 - __FUNCTION__, id, (unsigned int)data, size); 466 + __func__, id, (unsigned int)data, size); 467 467 468 468 buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); 469 469 if (buf == NULL) { 470 470 pr_debug("%s: out of memory (%ld alloc)\n", 471 - __FUNCTION__, (long)sizeof(*buf)); 471 + __func__, (long)sizeof(*buf)); 472 472 return -ENOMEM; 473 473 } 474 474 475 - //pr_debug("%s: new buffer %p\n", __FUNCTION__, buf); 475 + //pr_debug("%s: new buffer %p\n", __func__, buf); 476 476 //dbg_showchan(chan); 477 477 478 478 buf->next = NULL; ··· 486 486 if (chan->curr == NULL) { 487 487 /* we've got nothing loaded... */ 488 488 pr_debug("%s: buffer %p queued onto empty channel\n", 489 - __FUNCTION__, buf); 489 + __func__, buf); 490 490 491 491 chan->curr = buf; 492 492 chan->end = buf; 493 493 chan->next = NULL; 494 494 } else { 495 495 pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n", 496 - chan->number, __FUNCTION__, buf); 496 + chan->number, __func__, buf); 497 497 498 498 if (chan->end == NULL) 499 499 pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n", 500 - chan->number, __FUNCTION__, chan); 500 + chan->number, __func__, chan); 501 501 502 502 chan->end->next = buf; 503 503 chan->end = buf; ··· 572 572 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 573 573 /* flag error? */ 574 574 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 575 - chan->number, __FUNCTION__); 575 + chan->number, __func__); 576 576 return; 577 577 } 578 578 break; ··· 658 658 659 659 if (buf->magic != BUF_MAGIC) { 660 660 printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n", 661 - chan->number, __FUNCTION__, buf); 661 + chan->number, __func__, buf); 662 662 return IRQ_HANDLED; 663 663 } 664 664 ··· 692 692 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 693 693 /* flag error? */ 694 694 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 695 - chan->number, __FUNCTION__); 695 + chan->number, __func__); 696 696 return IRQ_HANDLED; 697 697 } 698 698 ··· 759 759 760 760 if (!chan->irq_claimed) { 761 761 pr_debug("dma%d: %s : requesting irq %d\n", 762 - channel, __FUNCTION__, chan->irq); 762 + channel, __func__, chan->irq); 763 763 764 764 chan->irq_claimed = 1; 765 765 local_irq_restore(flags); ··· 786 786 787 787 /* need to setup */ 788 788 789 - pr_debug("%s: channel initialised, %p\n", __FUNCTION__, chan); 789 + pr_debug("%s: channel initialised, %p\n", __func__, chan); 790 790 791 791 return chan->number | DMACH_LOW_LEVEL; 792 792 } ··· 823 823 824 824 if (chan->state != S3C2410_DMA_IDLE) { 825 825 pr_debug("%s: need to stop dma channel %p\n", 826 - __FUNCTION__, chan); 826 + __func__, chan); 827 827 828 828 /* possibly flush the channel */ 829 829 s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP); ··· 852 852 unsigned long flags; 853 853 unsigned long tmp; 854 854 855 - pr_debug("%s:\n", __FUNCTION__); 855 + pr_debug("%s:\n", __func__); 856 856 857 857 dbg_showchan(chan); 858 858 ··· 907 907 struct s3c2410_dma_buf *buf, *next; 908 908 unsigned long flags; 909 909 910 - pr_debug("%s: chan %p (%d)\n", __FUNCTION__, chan, chan->number); 910 + pr_debug("%s: chan %p (%d)\n", __func__, chan, chan->number); 911 911 912 912 dbg_showchan(chan); 913 913 914 914 local_irq_save(flags); 915 915 916 916 if (chan->state != S3C2410_DMA_IDLE) { 917 - pr_debug("%s: stopping channel...\n", __FUNCTION__ ); 917 + pr_debug("%s: stopping channel...\n", __func__ ); 918 918 s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP); 919 919 } 920 920 ··· 929 929 next = buf->next; 930 930 931 931 pr_debug("%s: free buffer %p, next %p\n", 932 - __FUNCTION__, buf, buf->next); 932 + __func__, buf, buf->next); 933 933 934 934 s3c2410_dma_buffdone(chan, buf, S3C2410_RES_ABORT); 935 935 s3c2410_dma_freebuf(buf); ··· 976 976 977 977 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 978 978 pr_debug("%s: buff not yet loaded, no more todo\n", 979 - __FUNCTION__); 979 + __func__); 980 980 } else { 981 981 chan->load_state = S3C2410_DMALOAD_1RUNNING; 982 982 s3c2410_dma_loadbuffer(chan, chan->next); ··· 1050 1050 struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); 1051 1051 1052 1052 pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", 1053 - __FUNCTION__, channel, xferunit, dcon); 1053 + __func__, channel, xferunit, dcon); 1054 1054 1055 1055 if (chan == NULL) 1056 1056 return -EINVAL; 1057 1057 1058 - pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon); 1058 + pr_debug("%s: Initial dcon is %08x\n", __func__, dcon); 1059 1059 1060 1060 dcon |= chan->dcon & dma_sel.dcon_mask; 1061 1061 1062 - pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon); 1062 + pr_debug("%s: New dcon is %08x\n", __func__, dcon); 1063 1063 1064 1064 switch (xferunit) { 1065 1065 case 1: ··· 1075 1075 break; 1076 1076 1077 1077 default: 1078 - pr_debug("%s: bad transfer size %d\n", __FUNCTION__, xferunit); 1078 + pr_debug("%s: bad transfer size %d\n", __func__, xferunit); 1079 1079 return -EINVAL; 1080 1080 } 1081 1081 1082 1082 dcon |= S3C2410_DCON_HWTRIG; 1083 1083 dcon |= S3C2410_DCON_INTREQ; 1084 1084 1085 - pr_debug("%s: dcon now %08x\n", __FUNCTION__, dcon); 1085 + pr_debug("%s: dcon now %08x\n", __func__, dcon); 1086 1086 1087 1087 chan->dcon = dcon; 1088 1088 chan->xfer_unit = xferunit; ··· 1099 1099 if (chan == NULL) 1100 1100 return -EINVAL; 1101 1101 1102 - pr_debug("%s: chan=%p, flags=%08x\n", __FUNCTION__, chan, flags); 1102 + pr_debug("%s: chan=%p, flags=%08x\n", __func__, chan, flags); 1103 1103 1104 1104 chan->flags = flags; 1105 1105 ··· 1120 1120 if (chan == NULL) 1121 1121 return -EINVAL; 1122 1122 1123 - pr_debug("%s: chan=%p, op rtn=%p\n", __FUNCTION__, chan, rtn); 1123 + pr_debug("%s: chan=%p, op rtn=%p\n", __func__, chan, rtn); 1124 1124 1125 1125 chan->op_fn = rtn; 1126 1126 ··· 1136 1136 if (chan == NULL) 1137 1137 return -EINVAL; 1138 1138 1139 - pr_debug("%s: chan=%p, callback rtn=%p\n", __FUNCTION__, chan, rtn); 1139 + pr_debug("%s: chan=%p, callback rtn=%p\n", __func__, chan, rtn); 1140 1140 1141 1141 chan->callback_fn = rtn; 1142 1142 ··· 1170 1170 return -EINVAL; 1171 1171 1172 1172 pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n", 1173 - __FUNCTION__, (int)source, hwcfg, devaddr); 1173 + __func__, (int)source, hwcfg, devaddr); 1174 1174 1175 1175 chan->source = source; 1176 1176 chan->dev_addr = devaddr; ··· 1180 1180 case S3C2410_DMASRC_HW: 1181 1181 /* source is hardware */ 1182 1182 pr_debug("%s: hw source, devaddr=%08lx, hwcfg=%d\n", 1183 - __FUNCTION__, devaddr, hwcfg); 1183 + __func__, devaddr, hwcfg); 1184 1184 dma_wrreg(chan, S3C2410_DMA_DISRCC, hwcfg & 3); 1185 1185 dma_wrreg(chan, S3C2410_DMA_DISRC, devaddr); 1186 1186 dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0)); ··· 1190 1190 1191 1191 case S3C2410_DMASRC_MEM: 1192 1192 /* source is memory */ 1193 - pr_debug( "%s: mem source, devaddr=%08lx, hwcfg=%d\n", 1194 - __FUNCTION__, devaddr, hwcfg); 1193 + pr_debug("%s: mem source, devaddr=%08lx, hwcfg=%d\n", 1194 + __func__, devaddr, hwcfg); 1195 1195 dma_wrreg(chan, S3C2410_DMA_DISRCC, (0<<1) | (0<<0)); 1196 1196 dma_wrreg(chan, S3C2410_DMA_DIDST, devaddr); 1197 1197 dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3);
+1 -1
arch/mips/Kconfig
··· 1824 1824 Allows the configuration of the timer frequency. 1825 1825 1826 1826 config HZ_48 1827 - bool "48 HZ" if SYS_SUPPORTS_48HZ 1827 + bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 1828 1828 1829 1829 config HZ_100 1830 1830 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
+2
arch/mips/Makefile
··· 12 12 # for "archclean" cleaning up for this architecture. 13 13 # 14 14 15 + KBUILD_DEFCONFIG := ip22_defconfig 16 + 15 17 cflags-y := 16 18 17 19 #
+17 -17
arch/mips/au1000/common/dbdma.c
··· 161 161 { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 }, 162 162 163 163 /* Provide 16 user definable device types */ 164 - { 0, 0, 0, 0, 0, 0, 0 }, 165 - { 0, 0, 0, 0, 0, 0, 0 }, 166 - { 0, 0, 0, 0, 0, 0, 0 }, 167 - { 0, 0, 0, 0, 0, 0, 0 }, 168 - { 0, 0, 0, 0, 0, 0, 0 }, 169 - { 0, 0, 0, 0, 0, 0, 0 }, 170 - { 0, 0, 0, 0, 0, 0, 0 }, 171 - { 0, 0, 0, 0, 0, 0, 0 }, 172 - { 0, 0, 0, 0, 0, 0, 0 }, 173 - { 0, 0, 0, 0, 0, 0, 0 }, 174 - { 0, 0, 0, 0, 0, 0, 0 }, 175 - { 0, 0, 0, 0, 0, 0, 0 }, 176 - { 0, 0, 0, 0, 0, 0, 0 }, 177 - { 0, 0, 0, 0, 0, 0, 0 }, 178 - { 0, 0, 0, 0, 0, 0, 0 }, 179 - { 0, 0, 0, 0, 0, 0, 0 }, 164 + { ~0, 0, 0, 0, 0, 0, 0 }, 165 + { ~0, 0, 0, 0, 0, 0, 0 }, 166 + { ~0, 0, 0, 0, 0, 0, 0 }, 167 + { ~0, 0, 0, 0, 0, 0, 0 }, 168 + { ~0, 0, 0, 0, 0, 0, 0 }, 169 + { ~0, 0, 0, 0, 0, 0, 0 }, 170 + { ~0, 0, 0, 0, 0, 0, 0 }, 171 + { ~0, 0, 0, 0, 0, 0, 0 }, 172 + { ~0, 0, 0, 0, 0, 0, 0 }, 173 + { ~0, 0, 0, 0, 0, 0, 0 }, 174 + { ~0, 0, 0, 0, 0, 0, 0 }, 175 + { ~0, 0, 0, 0, 0, 0, 0 }, 176 + { ~0, 0, 0, 0, 0, 0, 0 }, 177 + { ~0, 0, 0, 0, 0, 0, 0 }, 178 + { ~0, 0, 0, 0, 0, 0, 0 }, 179 + { ~0, 0, 0, 0, 0, 0, 0 }, 180 180 }; 181 181 182 182 #define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) ··· 209 209 dbdev_tab_t *p=NULL; 210 210 static u16 new_id=0x1000; 211 211 212 - p = find_dbdev_id(0); 212 + p = find_dbdev_id(~0); 213 213 if ( NULL != p ) 214 214 { 215 215 memcpy(p, dev, sizeof(dbdev_tab_t));
-1158
arch/mips/defconfig
··· 1 - # 2 - # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.23-rc2 4 - # Tue Aug 7 12:39:49 2007 5 - # 6 - CONFIG_MIPS=y 7 - 8 - # 9 - # Machine selection 10 - # 11 - CONFIG_ZONE_DMA=y 12 - # CONFIG_MACH_ALCHEMY is not set 13 - # CONFIG_BASLER_EXCITE is not set 14 - # CONFIG_MIPS_COBALT is not set 15 - # CONFIG_MACH_DECSTATION is not set 16 - # CONFIG_MACH_JAZZ is not set 17 - # CONFIG_LEMOTE_FULONG is not set 18 - # CONFIG_MIPS_ATLAS is not set 19 - # CONFIG_MIPS_MALTA is not set 20 - # CONFIG_MIPS_SEAD is not set 21 - # CONFIG_MIPS_SIM is not set 22 - # CONFIG_MARKEINS is not set 23 - # CONFIG_MACH_VR41XX is not set 24 - # CONFIG_PNX8550_JBS is not set 25 - # CONFIG_PNX8550_STB810 is not set 26 - # CONFIG_PMC_MSP is not set 27 - # CONFIG_PMC_YOSEMITE is not set 28 - CONFIG_SGI_IP22=y 29 - # CONFIG_SGI_IP27 is not set 30 - # CONFIG_SGI_IP32 is not set 31 - # CONFIG_SIBYTE_CRHINE is not set 32 - # CONFIG_SIBYTE_CARMEL is not set 33 - # CONFIG_SIBYTE_CRHONE is not set 34 - # CONFIG_SIBYTE_RHONE is not set 35 - # CONFIG_SIBYTE_SWARM is not set 36 - # CONFIG_SIBYTE_LITTLESUR is not set 37 - # CONFIG_SIBYTE_SENTOSA is not set 38 - # CONFIG_SIBYTE_BIGSUR is not set 39 - # CONFIG_SNI_RM is not set 40 - # CONFIG_TOSHIBA_JMR3927 is not set 41 - # CONFIG_TOSHIBA_RBTX4927 is not set 42 - # CONFIG_TOSHIBA_RBTX4938 is not set 43 - # CONFIG_WR_PPMC is not set 44 - CONFIG_RWSEM_GENERIC_SPINLOCK=y 45 - # CONFIG_ARCH_HAS_ILOG2_U32 is not set 46 - # CONFIG_ARCH_HAS_ILOG2_U64 is not set 47 - CONFIG_GENERIC_FIND_NEXT_BIT=y 48 - CONFIG_GENERIC_HWEIGHT=y 49 - CONFIG_GENERIC_CALIBRATE_DELAY=y 50 - CONFIG_GENERIC_TIME=y 51 - CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 52 - # CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set 53 - CONFIG_ARC=y 54 - CONFIG_DMA_NONCOHERENT=y 55 - CONFIG_DMA_NEED_PCI_MAP_STATE=y 56 - CONFIG_EARLY_PRINTK=y 57 - CONFIG_SYS_HAS_EARLY_PRINTK=y 58 - # CONFIG_NO_IOPORT is not set 59 - CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y 60 - CONFIG_CPU_BIG_ENDIAN=y 61 - # CONFIG_CPU_LITTLE_ENDIAN is not set 62 - CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 63 - CONFIG_IRQ_CPU=y 64 - CONFIG_SWAP_IO_SPACE=y 65 - CONFIG_ARC32=y 66 - CONFIG_BOOT_ELF32=y 67 - CONFIG_MIPS_L1_CACHE_SHIFT=5 68 - CONFIG_ARC_CONSOLE=y 69 - CONFIG_ARC_PROMLIB=y 70 - 71 - # 72 - # CPU selection 73 - # 74 - # CONFIG_CPU_LOONGSON2 is not set 75 - # CONFIG_CPU_MIPS32_R1 is not set 76 - # CONFIG_CPU_MIPS32_R2 is not set 77 - # CONFIG_CPU_MIPS64_R1 is not set 78 - # CONFIG_CPU_MIPS64_R2 is not set 79 - # CONFIG_CPU_R3000 is not set 80 - # CONFIG_CPU_TX39XX is not set 81 - # CONFIG_CPU_VR41XX is not set 82 - # CONFIG_CPU_R4300 is not set 83 - # CONFIG_CPU_R4X00 is not set 84 - # CONFIG_CPU_TX49XX is not set 85 - CONFIG_CPU_R5000=y 86 - # CONFIG_CPU_R5432 is not set 87 - # CONFIG_CPU_R6000 is not set 88 - # CONFIG_CPU_NEVADA is not set 89 - # CONFIG_CPU_R8000 is not set 90 - # CONFIG_CPU_R10000 is not set 91 - # CONFIG_CPU_RM7000 is not set 92 - # CONFIG_CPU_RM9000 is not set 93 - # CONFIG_CPU_SB1 is not set 94 - CONFIG_SYS_HAS_CPU_R4X00=y 95 - CONFIG_SYS_HAS_CPU_R5000=y 96 - CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 97 - CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y 98 - CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 99 - CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y 100 - 101 - # 102 - # Kernel type 103 - # 104 - CONFIG_32BIT=y 105 - # CONFIG_64BIT is not set 106 - CONFIG_PAGE_SIZE_4KB=y 107 - # CONFIG_PAGE_SIZE_8KB is not set 108 - # CONFIG_PAGE_SIZE_16KB is not set 109 - # CONFIG_PAGE_SIZE_64KB is not set 110 - CONFIG_BOARD_SCACHE=y 111 - CONFIG_IP22_CPU_SCACHE=y 112 - CONFIG_MIPS_MT_DISABLED=y 113 - # CONFIG_MIPS_MT_SMP is not set 114 - # CONFIG_MIPS_MT_SMTC is not set 115 - CONFIG_CPU_HAS_LLSC=y 116 - CONFIG_CPU_HAS_SYNC=y 117 - CONFIG_GENERIC_HARDIRQS=y 118 - CONFIG_GENERIC_IRQ_PROBE=y 119 - CONFIG_ARCH_FLATMEM_ENABLE=y 120 - CONFIG_SELECT_MEMORY_MODEL=y 121 - CONFIG_FLATMEM_MANUAL=y 122 - # CONFIG_DISCONTIGMEM_MANUAL is not set 123 - # CONFIG_SPARSEMEM_MANUAL is not set 124 - CONFIG_FLATMEM=y 125 - CONFIG_FLAT_NODE_MEM_MAP=y 126 - # CONFIG_SPARSEMEM_STATIC is not set 127 - CONFIG_SPLIT_PTLOCK_CPUS=4 128 - # CONFIG_RESOURCES_64BIT is not set 129 - CONFIG_ZONE_DMA_FLAG=1 130 - CONFIG_BOUNCE=y 131 - CONFIG_VIRT_TO_BUS=y 132 - # CONFIG_HZ_48 is not set 133 - # CONFIG_HZ_100 is not set 134 - # CONFIG_HZ_128 is not set 135 - # CONFIG_HZ_250 is not set 136 - # CONFIG_HZ_256 is not set 137 - CONFIG_HZ_1000=y 138 - # CONFIG_HZ_1024 is not set 139 - CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 140 - CONFIG_HZ=1000 141 - # CONFIG_PREEMPT_NONE is not set 142 - CONFIG_PREEMPT_VOLUNTARY=y 143 - # CONFIG_PREEMPT is not set 144 - # CONFIG_KEXEC is not set 145 - CONFIG_SECCOMP=y 146 - CONFIG_LOCKDEP_SUPPORT=y 147 - CONFIG_STACKTRACE_SUPPORT=y 148 - CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 149 - 150 - # 151 - # General setup 152 - # 153 - CONFIG_EXPERIMENTAL=y 154 - CONFIG_BROKEN_ON_SMP=y 155 - CONFIG_INIT_ENV_ARG_LIMIT=32 156 - CONFIG_LOCALVERSION="" 157 - CONFIG_LOCALVERSION_AUTO=y 158 - CONFIG_SWAP=y 159 - CONFIG_SYSVIPC=y 160 - CONFIG_SYSVIPC_SYSCTL=y 161 - # CONFIG_POSIX_MQUEUE is not set 162 - # CONFIG_BSD_PROCESS_ACCT is not set 163 - # CONFIG_TASKSTATS is not set 164 - # CONFIG_USER_NS is not set 165 - # CONFIG_AUDIT is not set 166 - CONFIG_IKCONFIG=y 167 - CONFIG_IKCONFIG_PROC=y 168 - CONFIG_LOG_BUF_SHIFT=14 169 - CONFIG_SYSFS_DEPRECATED=y 170 - CONFIG_RELAY=y 171 - # CONFIG_BLK_DEV_INITRD is not set 172 - # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 173 - CONFIG_SYSCTL=y 174 - CONFIG_EMBEDDED=y 175 - CONFIG_SYSCTL_SYSCALL=y 176 - CONFIG_KALLSYMS=y 177 - # CONFIG_KALLSYMS_EXTRA_PASS is not set 178 - # CONFIG_HOTPLUG is not set 179 - CONFIG_PRINTK=y 180 - CONFIG_BUG=y 181 - CONFIG_ELF_CORE=y 182 - CONFIG_BASE_FULL=y 183 - CONFIG_FUTEX=y 184 - CONFIG_ANON_INODES=y 185 - CONFIG_EPOLL=y 186 - CONFIG_SIGNALFD=y 187 - CONFIG_TIMERFD=y 188 - CONFIG_EVENTFD=y 189 - CONFIG_SHMEM=y 190 - CONFIG_VM_EVENT_COUNTERS=y 191 - CONFIG_SLAB=y 192 - # CONFIG_SLUB is not set 193 - # CONFIG_SLOB is not set 194 - CONFIG_RT_MUTEXES=y 195 - # CONFIG_TINY_SHMEM is not set 196 - CONFIG_BASE_SMALL=0 197 - CONFIG_MODULES=y 198 - CONFIG_MODULE_UNLOAD=y 199 - # CONFIG_MODULE_FORCE_UNLOAD is not set 200 - CONFIG_MODVERSIONS=y 201 - CONFIG_MODULE_SRCVERSION_ALL=y 202 - CONFIG_KMOD=y 203 - CONFIG_BLOCK=y 204 - # CONFIG_LBD is not set 205 - # CONFIG_BLK_DEV_IO_TRACE is not set 206 - # CONFIG_LSF is not set 207 - # CONFIG_BLK_DEV_BSG is not set 208 - 209 - # 210 - # IO Schedulers 211 - # 212 - CONFIG_IOSCHED_NOOP=y 213 - CONFIG_IOSCHED_AS=y 214 - CONFIG_IOSCHED_DEADLINE=y 215 - CONFIG_IOSCHED_CFQ=y 216 - CONFIG_DEFAULT_AS=y 217 - # CONFIG_DEFAULT_DEADLINE is not set 218 - # CONFIG_DEFAULT_CFQ is not set 219 - # CONFIG_DEFAULT_NOOP is not set 220 - CONFIG_DEFAULT_IOSCHED="anticipatory" 221 - 222 - # 223 - # Bus options (PCI, PCMCIA, EISA, ISA, TC) 224 - # 225 - CONFIG_HW_HAS_EISA=y 226 - # CONFIG_ARCH_SUPPORTS_MSI is not set 227 - # CONFIG_EISA is not set 228 - CONFIG_MMU=y 229 - 230 - # 231 - # PCCARD (PCMCIA/CardBus) support 232 - # 233 - 234 - # 235 - # Executable file formats 236 - # 237 - CONFIG_BINFMT_ELF=y 238 - CONFIG_BINFMT_MISC=m 239 - CONFIG_TRAD_SIGNALS=y 240 - 241 - # 242 - # Power management options 243 - # 244 - CONFIG_PM=y 245 - # CONFIG_PM_LEGACY is not set 246 - # CONFIG_PM_DEBUG is not set 247 - # CONFIG_SUSPEND is not set 248 - 249 - # 250 - # Networking 251 - # 252 - CONFIG_NET=y 253 - 254 - # 255 - # Networking options 256 - # 257 - CONFIG_PACKET=y 258 - CONFIG_PACKET_MMAP=y 259 - CONFIG_UNIX=y 260 - CONFIG_XFRM=y 261 - CONFIG_XFRM_USER=m 262 - # CONFIG_XFRM_SUB_POLICY is not set 263 - CONFIG_XFRM_MIGRATE=y 264 - CONFIG_NET_KEY=y 265 - CONFIG_NET_KEY_MIGRATE=y 266 - CONFIG_INET=y 267 - CONFIG_IP_MULTICAST=y 268 - # CONFIG_IP_ADVANCED_ROUTER is not set 269 - CONFIG_IP_FIB_HASH=y 270 - CONFIG_IP_PNP=y 271 - # CONFIG_IP_PNP_DHCP is not set 272 - CONFIG_IP_PNP_BOOTP=y 273 - # CONFIG_IP_PNP_RARP is not set 274 - # CONFIG_NET_IPIP is not set 275 - # CONFIG_NET_IPGRE is not set 276 - # CONFIG_IP_MROUTE is not set 277 - # CONFIG_ARPD is not set 278 - # CONFIG_SYN_COOKIES is not set 279 - CONFIG_INET_AH=m 280 - CONFIG_INET_ESP=m 281 - CONFIG_INET_IPCOMP=m 282 - CONFIG_INET_XFRM_TUNNEL=m 283 - CONFIG_INET_TUNNEL=m 284 - CONFIG_INET_XFRM_MODE_TRANSPORT=m 285 - CONFIG_INET_XFRM_MODE_TUNNEL=m 286 - CONFIG_INET_XFRM_MODE_BEET=m 287 - CONFIG_INET_DIAG=y 288 - CONFIG_INET_TCP_DIAG=y 289 - # CONFIG_TCP_CONG_ADVANCED is not set 290 - CONFIG_TCP_CONG_CUBIC=y 291 - CONFIG_DEFAULT_TCP_CONG="cubic" 292 - CONFIG_TCP_MD5SIG=y 293 - CONFIG_IP_VS=m 294 - # CONFIG_IP_VS_DEBUG is not set 295 - CONFIG_IP_VS_TAB_BITS=12 296 - 297 - # 298 - # IPVS transport protocol load balancing support 299 - # 300 - CONFIG_IP_VS_PROTO_TCP=y 301 - CONFIG_IP_VS_PROTO_UDP=y 302 - CONFIG_IP_VS_PROTO_ESP=y 303 - CONFIG_IP_VS_PROTO_AH=y 304 - 305 - # 306 - # IPVS scheduler 307 - # 308 - CONFIG_IP_VS_RR=m 309 - CONFIG_IP_VS_WRR=m 310 - CONFIG_IP_VS_LC=m 311 - CONFIG_IP_VS_WLC=m 312 - CONFIG_IP_VS_LBLC=m 313 - CONFIG_IP_VS_LBLCR=m 314 - CONFIG_IP_VS_DH=m 315 - CONFIG_IP_VS_SH=m 316 - CONFIG_IP_VS_SED=m 317 - CONFIG_IP_VS_NQ=m 318 - 319 - # 320 - # IPVS application helper 321 - # 322 - CONFIG_IP_VS_FTP=m 323 - CONFIG_IPV6=m 324 - CONFIG_IPV6_PRIVACY=y 325 - CONFIG_IPV6_ROUTER_PREF=y 326 - CONFIG_IPV6_ROUTE_INFO=y 327 - CONFIG_IPV6_OPTIMISTIC_DAD=y 328 - CONFIG_INET6_AH=m 329 - CONFIG_INET6_ESP=m 330 - CONFIG_INET6_IPCOMP=m 331 - CONFIG_IPV6_MIP6=m 332 - CONFIG_INET6_XFRM_TUNNEL=m 333 - CONFIG_INET6_TUNNEL=m 334 - CONFIG_INET6_XFRM_MODE_TRANSPORT=m 335 - CONFIG_INET6_XFRM_MODE_TUNNEL=m 336 - CONFIG_INET6_XFRM_MODE_BEET=m 337 - CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m 338 - CONFIG_IPV6_SIT=m 339 - CONFIG_IPV6_TUNNEL=m 340 - CONFIG_IPV6_MULTIPLE_TABLES=y 341 - CONFIG_IPV6_SUBTREES=y 342 - CONFIG_NETWORK_SECMARK=y 343 - CONFIG_NETFILTER=y 344 - # CONFIG_NETFILTER_DEBUG is not set 345 - 346 - # 347 - # Core Netfilter Configuration 348 - # 349 - CONFIG_NETFILTER_NETLINK=m 350 - CONFIG_NETFILTER_NETLINK_QUEUE=m 351 - CONFIG_NETFILTER_NETLINK_LOG=m 352 - CONFIG_NF_CONNTRACK_ENABLED=m 353 - CONFIG_NF_CONNTRACK=m 354 - CONFIG_NF_CT_ACCT=y 355 - CONFIG_NF_CONNTRACK_MARK=y 356 - CONFIG_NF_CONNTRACK_SECMARK=y 357 - CONFIG_NF_CONNTRACK_EVENTS=y 358 - CONFIG_NF_CT_PROTO_GRE=m 359 - CONFIG_NF_CT_PROTO_SCTP=m 360 - CONFIG_NF_CT_PROTO_UDPLITE=m 361 - CONFIG_NF_CONNTRACK_AMANDA=m 362 - CONFIG_NF_CONNTRACK_FTP=m 363 - CONFIG_NF_CONNTRACK_H323=m 364 - CONFIG_NF_CONNTRACK_IRC=m 365 - # CONFIG_NF_CONNTRACK_NETBIOS_NS is not set 366 - CONFIG_NF_CONNTRACK_PPTP=m 367 - CONFIG_NF_CONNTRACK_SANE=m 368 - CONFIG_NF_CONNTRACK_SIP=m 369 - CONFIG_NF_CONNTRACK_TFTP=m 370 - CONFIG_NF_CT_NETLINK=m 371 - CONFIG_NETFILTER_XTABLES=m 372 - CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m 373 - CONFIG_NETFILTER_XT_TARGET_CONNMARK=m 374 - CONFIG_NETFILTER_XT_TARGET_DSCP=m 375 - CONFIG_NETFILTER_XT_TARGET_MARK=m 376 - CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m 377 - CONFIG_NETFILTER_XT_TARGET_NFLOG=m 378 - CONFIG_NETFILTER_XT_TARGET_NOTRACK=m 379 - CONFIG_NETFILTER_XT_TARGET_TRACE=m 380 - CONFIG_NETFILTER_XT_TARGET_SECMARK=m 381 - CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m 382 - CONFIG_NETFILTER_XT_TARGET_TCPMSS=m 383 - CONFIG_NETFILTER_XT_MATCH_COMMENT=m 384 - CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m 385 - CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m 386 - CONFIG_NETFILTER_XT_MATCH_CONNMARK=m 387 - CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m 388 - CONFIG_NETFILTER_XT_MATCH_DCCP=m 389 - CONFIG_NETFILTER_XT_MATCH_DSCP=m 390 - CONFIG_NETFILTER_XT_MATCH_ESP=m 391 - CONFIG_NETFILTER_XT_MATCH_HELPER=m 392 - CONFIG_NETFILTER_XT_MATCH_LENGTH=m 393 - CONFIG_NETFILTER_XT_MATCH_LIMIT=m 394 - CONFIG_NETFILTER_XT_MATCH_MAC=m 395 - CONFIG_NETFILTER_XT_MATCH_MARK=m 396 - CONFIG_NETFILTER_XT_MATCH_POLICY=m 397 - CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m 398 - CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m 399 - CONFIG_NETFILTER_XT_MATCH_QUOTA=m 400 - CONFIG_NETFILTER_XT_MATCH_REALM=m 401 - CONFIG_NETFILTER_XT_MATCH_SCTP=m 402 - CONFIG_NETFILTER_XT_MATCH_STATE=m 403 - CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 404 - CONFIG_NETFILTER_XT_MATCH_STRING=m 405 - CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 406 - CONFIG_NETFILTER_XT_MATCH_U32=m 407 - CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 408 - 409 - # 410 - # IP: Netfilter Configuration 411 - # 412 - CONFIG_NF_CONNTRACK_IPV4=m 413 - CONFIG_NF_CONNTRACK_PROC_COMPAT=y 414 - CONFIG_IP_NF_QUEUE=m 415 - CONFIG_IP_NF_IPTABLES=m 416 - CONFIG_IP_NF_MATCH_IPRANGE=m 417 - CONFIG_IP_NF_MATCH_TOS=m 418 - CONFIG_IP_NF_MATCH_RECENT=m 419 - CONFIG_IP_NF_MATCH_ECN=m 420 - CONFIG_IP_NF_MATCH_AH=m 421 - CONFIG_IP_NF_MATCH_TTL=m 422 - CONFIG_IP_NF_MATCH_OWNER=m 423 - CONFIG_IP_NF_MATCH_ADDRTYPE=m 424 - CONFIG_IP_NF_FILTER=m 425 - CONFIG_IP_NF_TARGET_REJECT=m 426 - CONFIG_IP_NF_TARGET_LOG=m 427 - CONFIG_IP_NF_TARGET_ULOG=m 428 - CONFIG_NF_NAT=m 429 - CONFIG_NF_NAT_NEEDED=y 430 - CONFIG_IP_NF_TARGET_MASQUERADE=m 431 - CONFIG_IP_NF_TARGET_REDIRECT=m 432 - CONFIG_IP_NF_TARGET_NETMAP=m 433 - CONFIG_IP_NF_TARGET_SAME=m 434 - CONFIG_NF_NAT_SNMP_BASIC=m 435 - CONFIG_NF_NAT_PROTO_GRE=m 436 - CONFIG_NF_NAT_FTP=m 437 - CONFIG_NF_NAT_IRC=m 438 - CONFIG_NF_NAT_TFTP=m 439 - CONFIG_NF_NAT_AMANDA=m 440 - CONFIG_NF_NAT_PPTP=m 441 - CONFIG_NF_NAT_H323=m 442 - CONFIG_NF_NAT_SIP=m 443 - CONFIG_IP_NF_MANGLE=m 444 - CONFIG_IP_NF_TARGET_TOS=m 445 - CONFIG_IP_NF_TARGET_ECN=m 446 - CONFIG_IP_NF_TARGET_TTL=m 447 - CONFIG_IP_NF_TARGET_CLUSTERIP=m 448 - CONFIG_IP_NF_RAW=m 449 - CONFIG_IP_NF_ARPTABLES=m 450 - CONFIG_IP_NF_ARPFILTER=m 451 - CONFIG_IP_NF_ARP_MANGLE=m 452 - 453 - # 454 - # IPv6: Netfilter Configuration (EXPERIMENTAL) 455 - # 456 - CONFIG_NF_CONNTRACK_IPV6=m 457 - CONFIG_IP6_NF_QUEUE=m 458 - CONFIG_IP6_NF_IPTABLES=m 459 - CONFIG_IP6_NF_MATCH_RT=m 460 - CONFIG_IP6_NF_MATCH_OPTS=m 461 - CONFIG_IP6_NF_MATCH_FRAG=m 462 - CONFIG_IP6_NF_MATCH_HL=m 463 - CONFIG_IP6_NF_MATCH_OWNER=m 464 - CONFIG_IP6_NF_MATCH_IPV6HEADER=m 465 - CONFIG_IP6_NF_MATCH_AH=m 466 - CONFIG_IP6_NF_MATCH_MH=m 467 - CONFIG_IP6_NF_MATCH_EUI64=m 468 - CONFIG_IP6_NF_FILTER=m 469 - CONFIG_IP6_NF_TARGET_LOG=m 470 - CONFIG_IP6_NF_TARGET_REJECT=m 471 - CONFIG_IP6_NF_MANGLE=m 472 - CONFIG_IP6_NF_TARGET_HL=m 473 - CONFIG_IP6_NF_RAW=m 474 - # CONFIG_IP_DCCP is not set 475 - CONFIG_IP_SCTP=m 476 - # CONFIG_SCTP_DBG_MSG is not set 477 - # CONFIG_SCTP_DBG_OBJCNT is not set 478 - # CONFIG_SCTP_HMAC_NONE is not set 479 - # CONFIG_SCTP_HMAC_SHA1 is not set 480 - CONFIG_SCTP_HMAC_MD5=y 481 - # CONFIG_TIPC is not set 482 - # CONFIG_ATM is not set 483 - # CONFIG_BRIDGE is not set 484 - # CONFIG_VLAN_8021Q is not set 485 - # CONFIG_DECNET is not set 486 - # CONFIG_LLC2 is not set 487 - # CONFIG_IPX is not set 488 - # CONFIG_ATALK is not set 489 - # CONFIG_X25 is not set 490 - # CONFIG_LAPB is not set 491 - # CONFIG_ECONET is not set 492 - # CONFIG_WAN_ROUTER is not set 493 - 494 - # 495 - # QoS and/or fair queueing 496 - # 497 - CONFIG_NET_SCHED=y 498 - CONFIG_NET_SCH_FIFO=y 499 - 500 - # 501 - # Queueing/Scheduling 502 - # 503 - CONFIG_NET_SCH_CBQ=m 504 - CONFIG_NET_SCH_HTB=m 505 - CONFIG_NET_SCH_HFSC=m 506 - CONFIG_NET_SCH_PRIO=m 507 - CONFIG_NET_SCH_RR=m 508 - CONFIG_NET_SCH_RED=m 509 - CONFIG_NET_SCH_SFQ=m 510 - CONFIG_NET_SCH_TEQL=m 511 - CONFIG_NET_SCH_TBF=m 512 - CONFIG_NET_SCH_GRED=m 513 - CONFIG_NET_SCH_DSMARK=m 514 - CONFIG_NET_SCH_NETEM=m 515 - CONFIG_NET_SCH_INGRESS=m 516 - 517 - # 518 - # Classification 519 - # 520 - CONFIG_NET_CLS=y 521 - CONFIG_NET_CLS_BASIC=m 522 - CONFIG_NET_CLS_TCINDEX=m 523 - CONFIG_NET_CLS_ROUTE4=m 524 - CONFIG_NET_CLS_ROUTE=y 525 - CONFIG_NET_CLS_FW=m 526 - CONFIG_NET_CLS_U32=m 527 - # CONFIG_CLS_U32_PERF is not set 528 - # CONFIG_CLS_U32_MARK is not set 529 - CONFIG_NET_CLS_RSVP=m 530 - CONFIG_NET_CLS_RSVP6=m 531 - # CONFIG_NET_EMATCH is not set 532 - CONFIG_NET_CLS_ACT=y 533 - CONFIG_NET_ACT_POLICE=y 534 - CONFIG_NET_ACT_GACT=m 535 - CONFIG_GACT_PROB=y 536 - CONFIG_NET_ACT_MIRRED=m 537 - CONFIG_NET_ACT_IPT=m 538 - CONFIG_NET_ACT_PEDIT=m 539 - CONFIG_NET_ACT_SIMP=m 540 - CONFIG_NET_CLS_POLICE=y 541 - # CONFIG_NET_CLS_IND is not set 542 - 543 - # 544 - # Network testing 545 - # 546 - # CONFIG_NET_PKTGEN is not set 547 - # CONFIG_HAMRADIO is not set 548 - # CONFIG_IRDA is not set 549 - # CONFIG_BT is not set 550 - # CONFIG_AF_RXRPC is not set 551 - CONFIG_FIB_RULES=y 552 - 553 - # 554 - # Wireless 555 - # 556 - CONFIG_CFG80211=m 557 - CONFIG_WIRELESS_EXT=y 558 - CONFIG_MAC80211=m 559 - # CONFIG_MAC80211_DEBUG is not set 560 - CONFIG_IEEE80211=m 561 - # CONFIG_IEEE80211_DEBUG is not set 562 - CONFIG_IEEE80211_CRYPT_WEP=m 563 - CONFIG_IEEE80211_CRYPT_CCMP=m 564 - CONFIG_IEEE80211_CRYPT_TKIP=m 565 - CONFIG_IEEE80211_SOFTMAC=m 566 - # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set 567 - CONFIG_RFKILL=m 568 - CONFIG_RFKILL_INPUT=m 569 - # CONFIG_NET_9P is not set 570 - 571 - # 572 - # Device Drivers 573 - # 574 - 575 - # 576 - # Generic Driver Options 577 - # 578 - CONFIG_STANDALONE=y 579 - CONFIG_PREVENT_FIRMWARE_BUILD=y 580 - # CONFIG_SYS_HYPERVISOR is not set 581 - CONFIG_CONNECTOR=m 582 - # CONFIG_MTD is not set 583 - # CONFIG_PARPORT is not set 584 - CONFIG_BLK_DEV=y 585 - # CONFIG_BLK_DEV_COW_COMMON is not set 586 - # CONFIG_BLK_DEV_LOOP is not set 587 - # CONFIG_BLK_DEV_NBD is not set 588 - # CONFIG_BLK_DEV_RAM is not set 589 - CONFIG_CDROM_PKTCDVD=m 590 - CONFIG_CDROM_PKTCDVD_BUFFERS=8 591 - # CONFIG_CDROM_PKTCDVD_WCACHE is not set 592 - CONFIG_ATA_OVER_ETH=m 593 - # CONFIG_MISC_DEVICES is not set 594 - # CONFIG_IDE is not set 595 - 596 - # 597 - # SCSI device support 598 - # 599 - CONFIG_RAID_ATTRS=m 600 - CONFIG_SCSI=y 601 - CONFIG_SCSI_DMA=y 602 - CONFIG_SCSI_TGT=m 603 - # CONFIG_SCSI_NETLINK is not set 604 - CONFIG_SCSI_PROC_FS=y 605 - 606 - # 607 - # SCSI support type (disk, tape, CD-ROM) 608 - # 609 - CONFIG_BLK_DEV_SD=y 610 - CONFIG_CHR_DEV_ST=y 611 - # CONFIG_CHR_DEV_OSST is not set 612 - CONFIG_BLK_DEV_SR=y 613 - # CONFIG_BLK_DEV_SR_VENDOR is not set 614 - # CONFIG_CHR_DEV_SG is not set 615 - CONFIG_CHR_DEV_SCH=m 616 - 617 - # 618 - # Some SCSI devices (e.g. CD jukebox) support multiple LUNs 619 - # 620 - # CONFIG_SCSI_MULTI_LUN is not set 621 - CONFIG_SCSI_CONSTANTS=y 622 - # CONFIG_SCSI_LOGGING is not set 623 - CONFIG_SCSI_SCAN_ASYNC=y 624 - CONFIG_SCSI_WAIT_SCAN=m 625 - 626 - # 627 - # SCSI Transports 628 - # 629 - CONFIG_SCSI_SPI_ATTRS=m 630 - # CONFIG_SCSI_FC_ATTRS is not set 631 - CONFIG_SCSI_ISCSI_ATTRS=m 632 - # CONFIG_SCSI_SAS_LIBSAS is not set 633 - CONFIG_SCSI_LOWLEVEL=y 634 - CONFIG_ISCSI_TCP=m 635 - CONFIG_SGIWD93_SCSI=y 636 - # CONFIG_SCSI_DEBUG is not set 637 - # CONFIG_ATA is not set 638 - # CONFIG_MD is not set 639 - CONFIG_NETDEVICES=y 640 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 641 - # CONFIG_IFB is not set 642 - CONFIG_DUMMY=m 643 - CONFIG_BONDING=m 644 - CONFIG_MACVLAN=m 645 - CONFIG_EQUALIZER=m 646 - CONFIG_TUN=m 647 - CONFIG_PHYLIB=m 648 - 649 - # 650 - # MII PHY device drivers 651 - # 652 - CONFIG_MARVELL_PHY=m 653 - CONFIG_DAVICOM_PHY=m 654 - CONFIG_QSEMI_PHY=m 655 - CONFIG_LXT_PHY=m 656 - CONFIG_CICADA_PHY=m 657 - # CONFIG_VITESSE_PHY is not set 658 - # CONFIG_SMSC_PHY is not set 659 - # CONFIG_BROADCOM_PHY is not set 660 - # CONFIG_ICPLUS_PHY is not set 661 - # CONFIG_FIXED_PHY is not set 662 - CONFIG_NET_ETHERNET=y 663 - # CONFIG_MII is not set 664 - # CONFIG_AX88796 is not set 665 - # CONFIG_DM9000 is not set 666 - CONFIG_SGISEEQ=y 667 - # CONFIG_NETDEV_1000 is not set 668 - # CONFIG_NETDEV_10000 is not set 669 - 670 - # 671 - # Wireless LAN 672 - # 673 - CONFIG_WLAN_PRE80211=y 674 - CONFIG_STRIP=m 675 - CONFIG_WLAN_80211=y 676 - # CONFIG_LIBERTAS is not set 677 - CONFIG_HOSTAP=m 678 - # CONFIG_HOSTAP_FIRMWARE is not set 679 - # CONFIG_WAN is not set 680 - # CONFIG_PPP is not set 681 - # CONFIG_SLIP is not set 682 - # CONFIG_SHAPER is not set 683 - # CONFIG_NETCONSOLE is not set 684 - # CONFIG_NETPOLL is not set 685 - # CONFIG_NET_POLL_CONTROLLER is not set 686 - # CONFIG_ISDN is not set 687 - # CONFIG_PHONE is not set 688 - 689 - # 690 - # Input device support 691 - # 692 - CONFIG_INPUT=y 693 - # CONFIG_INPUT_FF_MEMLESS is not set 694 - # CONFIG_INPUT_POLLDEV is not set 695 - 696 - # 697 - # Userland interfaces 698 - # 699 - CONFIG_INPUT_MOUSEDEV=m 700 - CONFIG_INPUT_MOUSEDEV_PSAUX=y 701 - CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 702 - CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 703 - # CONFIG_INPUT_JOYDEV is not set 704 - # CONFIG_INPUT_TSDEV is not set 705 - # CONFIG_INPUT_EVDEV is not set 706 - # CONFIG_INPUT_EVBUG is not set 707 - 708 - # 709 - # Input Device Drivers 710 - # 711 - CONFIG_INPUT_KEYBOARD=y 712 - CONFIG_KEYBOARD_ATKBD=y 713 - # CONFIG_KEYBOARD_SUNKBD is not set 714 - # CONFIG_KEYBOARD_LKKBD is not set 715 - # CONFIG_KEYBOARD_XTKBD is not set 716 - # CONFIG_KEYBOARD_NEWTON is not set 717 - # CONFIG_KEYBOARD_STOWAWAY is not set 718 - CONFIG_INPUT_MOUSE=y 719 - CONFIG_MOUSE_PS2=m 720 - # CONFIG_MOUSE_PS2_ALPS is not set 721 - CONFIG_MOUSE_PS2_LOGIPS2PP=y 722 - # CONFIG_MOUSE_PS2_SYNAPTICS is not set 723 - # CONFIG_MOUSE_PS2_LIFEBOOK is not set 724 - CONFIG_MOUSE_PS2_TRACKPOINT=y 725 - # CONFIG_MOUSE_PS2_TOUCHKIT is not set 726 - CONFIG_MOUSE_SERIAL=m 727 - # CONFIG_MOUSE_VSXXXAA is not set 728 - # CONFIG_INPUT_JOYSTICK is not set 729 - # CONFIG_INPUT_TABLET is not set 730 - # CONFIG_INPUT_TOUCHSCREEN is not set 731 - # CONFIG_INPUT_MISC is not set 732 - 733 - # 734 - # Hardware I/O ports 735 - # 736 - CONFIG_SERIO=y 737 - CONFIG_SERIO_I8042=y 738 - CONFIG_SERIO_SERPORT=y 739 - CONFIG_SERIO_LIBPS2=y 740 - CONFIG_SERIO_RAW=m 741 - # CONFIG_GAMEPORT is not set 742 - 743 - # 744 - # Character devices 745 - # 746 - CONFIG_VT=y 747 - CONFIG_VT_CONSOLE=y 748 - CONFIG_HW_CONSOLE=y 749 - CONFIG_VT_HW_CONSOLE_BINDING=y 750 - # CONFIG_SERIAL_NONSTANDARD is not set 751 - 752 - # 753 - # Serial drivers 754 - # 755 - # CONFIG_SERIAL_8250 is not set 756 - 757 - # 758 - # Non-8250 serial port support 759 - # 760 - CONFIG_SERIAL_IP22_ZILOG=m 761 - CONFIG_SERIAL_CORE=m 762 - CONFIG_UNIX98_PTYS=y 763 - CONFIG_LEGACY_PTYS=y 764 - CONFIG_LEGACY_PTY_COUNT=256 765 - # CONFIG_IPMI_HANDLER is not set 766 - CONFIG_WATCHDOG=y 767 - # CONFIG_WATCHDOG_NOWAYOUT is not set 768 - 769 - # 770 - # Watchdog Device Drivers 771 - # 772 - # CONFIG_SOFT_WATCHDOG is not set 773 - CONFIG_INDYDOG=m 774 - # CONFIG_HW_RANDOM is not set 775 - # CONFIG_RTC is not set 776 - CONFIG_SGI_DS1286=m 777 - # CONFIG_R3964 is not set 778 - CONFIG_RAW_DRIVER=m 779 - CONFIG_MAX_RAW_DEVS=256 780 - # CONFIG_TCG_TPM is not set 781 - # CONFIG_I2C is not set 782 - 783 - # 784 - # SPI support 785 - # 786 - # CONFIG_SPI is not set 787 - # CONFIG_SPI_MASTER is not set 788 - # CONFIG_W1 is not set 789 - # CONFIG_POWER_SUPPLY is not set 790 - # CONFIG_HWMON is not set 791 - 792 - # 793 - # Multifunction device drivers 794 - # 795 - # CONFIG_MFD_SM501 is not set 796 - 797 - # 798 - # Multimedia devices 799 - # 800 - # CONFIG_VIDEO_DEV is not set 801 - # CONFIG_DVB_CORE is not set 802 - # CONFIG_DAB is not set 803 - 804 - # 805 - # Graphics support 806 - # 807 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 808 - 809 - # 810 - # Display device support 811 - # 812 - # CONFIG_DISPLAY_SUPPORT is not set 813 - # CONFIG_VGASTATE is not set 814 - # CONFIG_VIDEO_OUTPUT_CONTROL is not set 815 - # CONFIG_FB is not set 816 - 817 - # 818 - # Console display driver support 819 - # 820 - # CONFIG_VGA_CONSOLE is not set 821 - CONFIG_SGI_NEWPORT_CONSOLE=y 822 - CONFIG_DUMMY_CONSOLE=y 823 - CONFIG_FONT_8x16=y 824 - CONFIG_LOGO=y 825 - # CONFIG_LOGO_LINUX_MONO is not set 826 - # CONFIG_LOGO_LINUX_VGA16 is not set 827 - # CONFIG_LOGO_LINUX_CLUT224 is not set 828 - CONFIG_LOGO_SGI_CLUT224=y 829 - 830 - # 831 - # Sound 832 - # 833 - # CONFIG_SOUND is not set 834 - CONFIG_HID_SUPPORT=y 835 - CONFIG_HID=y 836 - # CONFIG_HID_DEBUG is not set 837 - CONFIG_USB_SUPPORT=y 838 - # CONFIG_USB_ARCH_HAS_HCD is not set 839 - # CONFIG_USB_ARCH_HAS_OHCI is not set 840 - # CONFIG_USB_ARCH_HAS_EHCI is not set 841 - 842 - # 843 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 844 - # 845 - 846 - # 847 - # USB Gadget Support 848 - # 849 - # CONFIG_USB_GADGET is not set 850 - # CONFIG_MMC is not set 851 - # CONFIG_NEW_LEDS is not set 852 - # CONFIG_RTC_CLASS is not set 853 - 854 - # 855 - # DMA Engine support 856 - # 857 - # CONFIG_DMA_ENGINE is not set 858 - 859 - # 860 - # DMA Clients 861 - # 862 - 863 - # 864 - # DMA Devices 865 - # 866 - 867 - # 868 - # Userspace I/O 869 - # 870 - # CONFIG_UIO is not set 871 - 872 - # 873 - # File systems 874 - # 875 - CONFIG_EXT2_FS=m 876 - # CONFIG_EXT2_FS_XATTR is not set 877 - # CONFIG_EXT2_FS_XIP is not set 878 - CONFIG_EXT3_FS=y 879 - CONFIG_EXT3_FS_XATTR=y 880 - CONFIG_EXT3_FS_POSIX_ACL=y 881 - CONFIG_EXT3_FS_SECURITY=y 882 - # CONFIG_EXT4DEV_FS is not set 883 - CONFIG_JBD=y 884 - # CONFIG_JBD_DEBUG is not set 885 - CONFIG_FS_MBCACHE=y 886 - # CONFIG_REISERFS_FS is not set 887 - # CONFIG_JFS_FS is not set 888 - CONFIG_FS_POSIX_ACL=y 889 - CONFIG_XFS_FS=m 890 - CONFIG_XFS_QUOTA=y 891 - CONFIG_XFS_SECURITY=y 892 - # CONFIG_XFS_POSIX_ACL is not set 893 - # CONFIG_XFS_RT is not set 894 - # CONFIG_GFS2_FS is not set 895 - # CONFIG_OCFS2_FS is not set 896 - CONFIG_MINIX_FS=m 897 - # CONFIG_ROMFS_FS is not set 898 - CONFIG_INOTIFY=y 899 - CONFIG_INOTIFY_USER=y 900 - CONFIG_QUOTA=y 901 - # CONFIG_QFMT_V1 is not set 902 - CONFIG_QFMT_V2=m 903 - CONFIG_QUOTACTL=y 904 - CONFIG_DNOTIFY=y 905 - CONFIG_AUTOFS_FS=m 906 - CONFIG_AUTOFS4_FS=m 907 - CONFIG_FUSE_FS=m 908 - CONFIG_GENERIC_ACL=y 909 - 910 - # 911 - # CD-ROM/DVD Filesystems 912 - # 913 - CONFIG_ISO9660_FS=m 914 - CONFIG_JOLIET=y 915 - CONFIG_ZISOFS=y 916 - CONFIG_UDF_FS=m 917 - CONFIG_UDF_NLS=y 918 - 919 - # 920 - # DOS/FAT/NT Filesystems 921 - # 922 - CONFIG_FAT_FS=m 923 - CONFIG_MSDOS_FS=m 924 - CONFIG_VFAT_FS=m 925 - CONFIG_FAT_DEFAULT_CODEPAGE=437 926 - CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 927 - # CONFIG_NTFS_FS is not set 928 - 929 - # 930 - # Pseudo filesystems 931 - # 932 - CONFIG_PROC_FS=y 933 - CONFIG_PROC_KCORE=y 934 - CONFIG_PROC_SYSCTL=y 935 - CONFIG_SYSFS=y 936 - CONFIG_TMPFS=y 937 - CONFIG_TMPFS_POSIX_ACL=y 938 - # CONFIG_HUGETLB_PAGE is not set 939 - CONFIG_RAMFS=y 940 - CONFIG_CONFIGFS_FS=m 941 - 942 - # 943 - # Miscellaneous filesystems 944 - # 945 - # CONFIG_ADFS_FS is not set 946 - # CONFIG_AFFS_FS is not set 947 - # CONFIG_ECRYPT_FS is not set 948 - # CONFIG_HFS_FS is not set 949 - # CONFIG_HFSPLUS_FS is not set 950 - # CONFIG_BEFS_FS is not set 951 - # CONFIG_BFS_FS is not set 952 - CONFIG_EFS_FS=m 953 - # CONFIG_CRAMFS is not set 954 - # CONFIG_VXFS_FS is not set 955 - # CONFIG_HPFS_FS is not set 956 - # CONFIG_QNX4FS_FS is not set 957 - # CONFIG_SYSV_FS is not set 958 - CONFIG_UFS_FS=m 959 - # CONFIG_UFS_FS_WRITE is not set 960 - # CONFIG_UFS_DEBUG is not set 961 - 962 - # 963 - # Network File Systems 964 - # 965 - CONFIG_NFS_FS=m 966 - CONFIG_NFS_V3=y 967 - CONFIG_NFS_V3_ACL=y 968 - # CONFIG_NFS_V4 is not set 969 - # CONFIG_NFS_DIRECTIO is not set 970 - CONFIG_NFSD=m 971 - CONFIG_NFSD_V2_ACL=y 972 - CONFIG_NFSD_V3=y 973 - CONFIG_NFSD_V3_ACL=y 974 - # CONFIG_NFSD_V4 is not set 975 - CONFIG_NFSD_TCP=y 976 - CONFIG_LOCKD=m 977 - CONFIG_LOCKD_V4=y 978 - CONFIG_EXPORTFS=m 979 - CONFIG_NFS_ACL_SUPPORT=m 980 - CONFIG_NFS_COMMON=y 981 - CONFIG_SUNRPC=m 982 - CONFIG_SUNRPC_GSS=m 983 - # CONFIG_SUNRPC_BIND34 is not set 984 - CONFIG_RPCSEC_GSS_KRB5=m 985 - # CONFIG_RPCSEC_GSS_SPKM3 is not set 986 - CONFIG_SMB_FS=m 987 - CONFIG_SMB_NLS_DEFAULT=y 988 - CONFIG_SMB_NLS_REMOTE="cp437" 989 - CONFIG_CIFS=m 990 - # CONFIG_CIFS_STATS is not set 991 - # CONFIG_CIFS_WEAK_PW_HASH is not set 992 - # CONFIG_CIFS_XATTR is not set 993 - # CONFIG_CIFS_DEBUG2 is not set 994 - # CONFIG_CIFS_EXPERIMENTAL is not set 995 - # CONFIG_NCP_FS is not set 996 - CONFIG_CODA_FS=m 997 - # CONFIG_CODA_FS_OLD_API is not set 998 - # CONFIG_AFS_FS is not set 999 - 1000 - # 1001 - # Partition Types 1002 - # 1003 - CONFIG_PARTITION_ADVANCED=y 1004 - # CONFIG_ACORN_PARTITION is not set 1005 - # CONFIG_OSF_PARTITION is not set 1006 - # CONFIG_AMIGA_PARTITION is not set 1007 - # CONFIG_ATARI_PARTITION is not set 1008 - # CONFIG_MAC_PARTITION is not set 1009 - CONFIG_MSDOS_PARTITION=y 1010 - # CONFIG_BSD_DISKLABEL is not set 1011 - # CONFIG_MINIX_SUBPARTITION is not set 1012 - # CONFIG_SOLARIS_X86_PARTITION is not set 1013 - # CONFIG_UNIXWARE_DISKLABEL is not set 1014 - # CONFIG_LDM_PARTITION is not set 1015 - CONFIG_SGI_PARTITION=y 1016 - # CONFIG_ULTRIX_PARTITION is not set 1017 - # CONFIG_SUN_PARTITION is not set 1018 - # CONFIG_KARMA_PARTITION is not set 1019 - # CONFIG_EFI_PARTITION is not set 1020 - # CONFIG_SYSV68_PARTITION is not set 1021 - 1022 - # 1023 - # Native Language Support 1024 - # 1025 - CONFIG_NLS=m 1026 - CONFIG_NLS_DEFAULT="iso8859-1" 1027 - CONFIG_NLS_CODEPAGE_437=m 1028 - CONFIG_NLS_CODEPAGE_737=m 1029 - CONFIG_NLS_CODEPAGE_775=m 1030 - CONFIG_NLS_CODEPAGE_850=m 1031 - CONFIG_NLS_CODEPAGE_852=m 1032 - CONFIG_NLS_CODEPAGE_855=m 1033 - CONFIG_NLS_CODEPAGE_857=m 1034 - CONFIG_NLS_CODEPAGE_860=m 1035 - CONFIG_NLS_CODEPAGE_861=m 1036 - CONFIG_NLS_CODEPAGE_862=m 1037 - CONFIG_NLS_CODEPAGE_863=m 1038 - CONFIG_NLS_CODEPAGE_864=m 1039 - CONFIG_NLS_CODEPAGE_865=m 1040 - CONFIG_NLS_CODEPAGE_866=m 1041 - CONFIG_NLS_CODEPAGE_869=m 1042 - CONFIG_NLS_CODEPAGE_936=m 1043 - CONFIG_NLS_CODEPAGE_950=m 1044 - CONFIG_NLS_CODEPAGE_932=m 1045 - CONFIG_NLS_CODEPAGE_949=m 1046 - CONFIG_NLS_CODEPAGE_874=m 1047 - CONFIG_NLS_ISO8859_8=m 1048 - CONFIG_NLS_CODEPAGE_1250=m 1049 - CONFIG_NLS_CODEPAGE_1251=m 1050 - CONFIG_NLS_ASCII=m 1051 - CONFIG_NLS_ISO8859_1=m 1052 - CONFIG_NLS_ISO8859_2=m 1053 - CONFIG_NLS_ISO8859_3=m 1054 - CONFIG_NLS_ISO8859_4=m 1055 - CONFIG_NLS_ISO8859_5=m 1056 - CONFIG_NLS_ISO8859_6=m 1057 - CONFIG_NLS_ISO8859_7=m 1058 - CONFIG_NLS_ISO8859_9=m 1059 - CONFIG_NLS_ISO8859_13=m 1060 - CONFIG_NLS_ISO8859_14=m 1061 - CONFIG_NLS_ISO8859_15=m 1062 - CONFIG_NLS_KOI8_R=m 1063 - CONFIG_NLS_KOI8_U=m 1064 - CONFIG_NLS_UTF8=m 1065 - 1066 - # 1067 - # Distributed Lock Manager 1068 - # 1069 - CONFIG_DLM=m 1070 - # CONFIG_DLM_DEBUG is not set 1071 - 1072 - # 1073 - # Profiling support 1074 - # 1075 - # CONFIG_PROFILING is not set 1076 - 1077 - # 1078 - # Kernel hacking 1079 - # 1080 - CONFIG_TRACE_IRQFLAGS_SUPPORT=y 1081 - # CONFIG_PRINTK_TIME is not set 1082 - CONFIG_ENABLE_MUST_CHECK=y 1083 - # CONFIG_MAGIC_SYSRQ is not set 1084 - # CONFIG_UNUSED_SYMBOLS is not set 1085 - # CONFIG_DEBUG_FS is not set 1086 - # CONFIG_HEADERS_CHECK is not set 1087 - # CONFIG_DEBUG_KERNEL is not set 1088 - CONFIG_CROSSCOMPILE=y 1089 - CONFIG_CMDLINE="" 1090 - 1091 - # 1092 - # Security options 1093 - # 1094 - CONFIG_KEYS=y 1095 - CONFIG_KEYS_DEBUG_PROC_KEYS=y 1096 - # CONFIG_SECURITY is not set 1097 - CONFIG_CRYPTO=y 1098 - CONFIG_CRYPTO_ALGAPI=y 1099 - CONFIG_CRYPTO_ABLKCIPHER=m 1100 - CONFIG_CRYPTO_BLKCIPHER=m 1101 - CONFIG_CRYPTO_HASH=y 1102 - CONFIG_CRYPTO_MANAGER=y 1103 - CONFIG_CRYPTO_HMAC=y 1104 - CONFIG_CRYPTO_XCBC=m 1105 - CONFIG_CRYPTO_NULL=m 1106 - CONFIG_CRYPTO_MD4=m 1107 - CONFIG_CRYPTO_MD5=y 1108 - CONFIG_CRYPTO_SHA1=m 1109 - CONFIG_CRYPTO_SHA256=m 1110 - CONFIG_CRYPTO_SHA512=m 1111 - CONFIG_CRYPTO_WP512=m 1112 - CONFIG_CRYPTO_TGR192=m 1113 - CONFIG_CRYPTO_GF128MUL=m 1114 - CONFIG_CRYPTO_ECB=m 1115 - CONFIG_CRYPTO_CBC=m 1116 - CONFIG_CRYPTO_PCBC=m 1117 - CONFIG_CRYPTO_LRW=m 1118 - CONFIG_CRYPTO_CRYPTD=m 1119 - CONFIG_CRYPTO_DES=m 1120 - CONFIG_CRYPTO_FCRYPT=m 1121 - CONFIG_CRYPTO_BLOWFISH=m 1122 - CONFIG_CRYPTO_TWOFISH=m 1123 - CONFIG_CRYPTO_TWOFISH_COMMON=m 1124 - CONFIG_CRYPTO_SERPENT=m 1125 - CONFIG_CRYPTO_AES=m 1126 - CONFIG_CRYPTO_CAST5=m 1127 - CONFIG_CRYPTO_CAST6=m 1128 - CONFIG_CRYPTO_TEA=m 1129 - CONFIG_CRYPTO_ARC4=m 1130 - CONFIG_CRYPTO_KHAZAD=m 1131 - CONFIG_CRYPTO_ANUBIS=m 1132 - CONFIG_CRYPTO_DEFLATE=m 1133 - CONFIG_CRYPTO_MICHAEL_MIC=m 1134 - CONFIG_CRYPTO_CRC32C=m 1135 - CONFIG_CRYPTO_CAMELLIA=m 1136 - # CONFIG_CRYPTO_TEST is not set 1137 - # CONFIG_CRYPTO_HW is not set 1138 - 1139 - # 1140 - # Library routines 1141 - # 1142 - CONFIG_BITREVERSE=m 1143 - # CONFIG_CRC_CCITT is not set 1144 - CONFIG_CRC16=m 1145 - # CONFIG_CRC_ITU_T is not set 1146 - CONFIG_CRC32=m 1147 - # CONFIG_CRC7 is not set 1148 - CONFIG_LIBCRC32C=m 1149 - CONFIG_ZLIB_INFLATE=m 1150 - CONFIG_ZLIB_DEFLATE=m 1151 - CONFIG_TEXTSEARCH=y 1152 - CONFIG_TEXTSEARCH_KMP=m 1153 - CONFIG_TEXTSEARCH_BM=m 1154 - CONFIG_TEXTSEARCH_FSM=m 1155 - CONFIG_PLIST=y 1156 - CONFIG_HAS_IOMEM=y 1157 - CONFIG_HAS_IOPORT=y 1158 - CONFIG_HAS_DMA=y
-1
arch/mips/kernel/Makefile
··· 76 76 obj-$(CONFIG_64BIT) += cpu-bugs64.o 77 77 78 78 obj-$(CONFIG_I8253) += i8253.o 79 - obj-$(CONFIG_PCSPEAKER) += pcspeaker.o 80 79 81 80 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 82 81 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+2 -2
arch/mips/kernel/cpu-bugs64.c
··· 167 167 panic(bug64hit, !R4000_WAR ? r4kwar : nowar); 168 168 } 169 169 170 - static volatile int daddi_ov __initdata = 0; 170 + static volatile int daddi_ov __cpuinitdata = 0; 171 171 172 172 asmlinkage void __init do_daddi_ov(struct pt_regs *regs) 173 173 { ··· 239 239 panic(bug64hit, !DADDI_WAR ? daddiwar : nowar); 240 240 } 241 241 242 - int daddiu_bug __initdata = -1; 242 + int daddiu_bug __cpuinitdata = -1; 243 243 244 244 static inline void check_daddiu(void) 245 245 {
+5 -5
arch/mips/kernel/cpu-probe.c
··· 550 550 } 551 551 } 552 552 553 - static char unknown_isa[] __initdata = KERN_ERR \ 553 + static char unknown_isa[] __cpuinitdata = KERN_ERR \ 554 554 "Unsupported ISA type, c0.config0: %d."; 555 555 556 556 static inline unsigned int decode_config0(struct cpuinfo_mips *c) ··· 656 656 return config3 & MIPS_CONF_M; 657 657 } 658 658 659 - static void __init decode_configs(struct cpuinfo_mips *c) 659 + static void __cpuinit decode_configs(struct cpuinfo_mips *c) 660 660 { 661 661 /* MIPS32 or MIPS64 compliant CPU. */ 662 662 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | ··· 814 814 /* 815 815 * Name a CPU 816 816 */ 817 - static __init const char *cpu_to_name(struct cpuinfo_mips *c) 817 + static __cpuinit const char *cpu_to_name(struct cpuinfo_mips *c) 818 818 { 819 819 const char *name = NULL; 820 820 ··· 896 896 return name; 897 897 } 898 898 899 - __init void cpu_probe(void) 899 + __cpuinit void cpu_probe(void) 900 900 { 901 901 struct cpuinfo_mips *c = &current_cpu_data; 902 902 unsigned int cpu = smp_processor_id(); ··· 959 959 c->srsets = 1; 960 960 } 961 961 962 - __init void cpu_report(void) 962 + __cpuinit void cpu_report(void) 963 963 { 964 964 struct cpuinfo_mips *c = &current_cpu_data; 965 965
+6 -1
arch/mips/kernel/csrc-r4k.c
··· 22 22 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 23 23 }; 24 24 25 - void __init init_mips_clocksource(void) 25 + int __init init_mips_clocksource(void) 26 26 { 27 + if (!cpu_has_counter || !mips_hpt_frequency) 28 + return -ENXIO; 29 + 27 30 /* Calclate a somewhat reasonable rating value */ 28 31 clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; 29 32 30 33 clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); 31 34 32 35 clocksource_register(&clocksource_mips); 36 + 37 + return 0; 33 38 }
+1 -1
arch/mips/kernel/head.S
··· 195 195 j start_kernel 196 196 END(kernel_entry) 197 197 198 - __INIT 198 + __CPUINIT 199 199 200 200 #ifdef CONFIG_SMP 201 201 /*
+29 -9
arch/mips/kernel/traps.c
··· 534 534 535 535 /* 536 536 * Simulate trapping 'rdhwr' instructions to provide user accessible 537 - * registers not implemented in hardware. The only current use of this 538 - * is the thread area pointer. 537 + * registers not implemented in hardware. 539 538 */ 540 539 static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode) 541 540 { ··· 544 545 int rd = (opcode & RD) >> 11; 545 546 int rt = (opcode & RT) >> 16; 546 547 switch (rd) { 547 - case 29: 548 - regs->regs[rt] = ti->tp_value; 549 - return 0; 548 + case 0: /* CPU number */ 549 + regs->regs[rt] = smp_processor_id(); 550 + return 0; 551 + case 1: /* SYNCI length */ 552 + regs->regs[rt] = min(current_cpu_data.dcache.linesz, 553 + current_cpu_data.icache.linesz); 554 + return 0; 555 + case 2: /* Read count register */ 556 + regs->regs[rt] = read_c0_count(); 557 + return 0; 558 + case 3: /* Count register resolution */ 559 + switch (current_cpu_data.cputype) { 560 + case CPU_20KC: 561 + case CPU_25KF: 562 + regs->regs[rt] = 1; 563 + break; 550 564 default: 551 - return -1; 565 + regs->regs[rt] = 2; 566 + } 567 + return 0; 568 + case 29: 569 + regs->regs[rt] = ti->tp_value; 570 + return 0; 571 + default: 572 + return -1; 552 573 } 553 574 } 554 575 ··· 1306 1287 int cp0_perfcount_irq; 1307 1288 EXPORT_SYMBOL_GPL(cp0_perfcount_irq); 1308 1289 1309 - void __init per_cpu_trap_init(void) 1290 + void __cpuinit per_cpu_trap_init(void) 1310 1291 { 1311 1292 unsigned int cpu = smp_processor_id(); 1312 1293 unsigned int status_set = ST0_CU0; ··· 1423 1404 flush_icache_range(ebase + offset, ebase + offset + size); 1424 1405 } 1425 1406 1426 - static char panic_null_cerr[] __initdata = 1407 + static char panic_null_cerr[] __cpuinitdata = 1427 1408 "Trying to set NULL cache error exception handler"; 1428 1409 1429 1410 /* Install uncached CPU exception handler */ 1430 - void __init set_uncached_handler(unsigned long offset, void *addr, unsigned long size) 1411 + void __cpuinit set_uncached_handler(unsigned long offset, void *addr, 1412 + unsigned long size) 1431 1413 { 1432 1414 #ifdef CONFIG_32BIT 1433 1415 unsigned long uncached_ebase = KSEG1ADDR(ebase);
+2
arch/mips/lib/ucmpdi2.c
··· 17 17 return 2; 18 18 return 1; 19 19 } 20 + 21 + EXPORT_SYMBOL(__ucmpdi2);
+1 -1
arch/mips/lib/uncached.c
··· 36 36 * values, so we can avoid sharing the same stack area between a cached 37 37 * and the uncached mode. 38 38 */ 39 - unsigned long __init run_uncached(void *func) 39 + unsigned long __cpuinit run_uncached(void *func) 40 40 { 41 41 register long sp __asm__("$sp"); 42 42 register long ret __asm__("$2");
+1 -1
arch/mips/mips-boards/generic/time.c
··· 146 146 } 147 147 } 148 148 149 - unsigned int __init get_c0_compare_int(void) 149 + unsigned int __cpuinit get_c0_compare_int(void) 150 150 { 151 151 #ifdef MSC01E_INT_BASE 152 152 if (cpu_has_veic) {
+1 -1
arch/mips/mipssim/sim_time.c
··· 83 83 } 84 84 85 85 86 - unsigned __init get_c0_compare_int(void) 86 + unsigned __cpuinit get_c0_compare_int(void) 87 87 { 88 88 #ifdef MSC01E_INT_BASE 89 89 if (cpu_has_veic) {
+1 -1
arch/mips/mm/c-r3k.c
··· 307 307 r3k_flush_dcache_range(start, start + size); 308 308 } 309 309 310 - void __init r3k_cache_init(void) 310 + void __cpuinit r3k_cache_init(void) 311 311 { 312 312 extern void build_clear_page(void); 313 313 extern void build_copy_page(void);
+15 -15
arch/mips/mm/c-r4k.c
··· 93 93 blast_dcache32_page(addr); 94 94 } 95 95 96 - static void __init r4k_blast_dcache_page_setup(void) 96 + static void __cpuinit r4k_blast_dcache_page_setup(void) 97 97 { 98 98 unsigned long dc_lsize = cpu_dcache_line_size(); 99 99 ··· 107 107 108 108 static void (* r4k_blast_dcache_page_indexed)(unsigned long addr); 109 109 110 - static void __init r4k_blast_dcache_page_indexed_setup(void) 110 + static void __cpuinit r4k_blast_dcache_page_indexed_setup(void) 111 111 { 112 112 unsigned long dc_lsize = cpu_dcache_line_size(); 113 113 ··· 121 121 122 122 static void (* r4k_blast_dcache)(void); 123 123 124 - static void __init r4k_blast_dcache_setup(void) 124 + static void __cpuinit r4k_blast_dcache_setup(void) 125 125 { 126 126 unsigned long dc_lsize = cpu_dcache_line_size(); 127 127 ··· 206 206 207 207 static void (* r4k_blast_icache_page)(unsigned long addr); 208 208 209 - static void __init r4k_blast_icache_page_setup(void) 209 + static void __cpuinit r4k_blast_icache_page_setup(void) 210 210 { 211 211 unsigned long ic_lsize = cpu_icache_line_size(); 212 212 ··· 223 223 224 224 static void (* r4k_blast_icache_page_indexed)(unsigned long addr); 225 225 226 - static void __init r4k_blast_icache_page_indexed_setup(void) 226 + static void __cpuinit r4k_blast_icache_page_indexed_setup(void) 227 227 { 228 228 unsigned long ic_lsize = cpu_icache_line_size(); 229 229 ··· 247 247 248 248 static void (* r4k_blast_icache)(void); 249 249 250 - static void __init r4k_blast_icache_setup(void) 250 + static void __cpuinit r4k_blast_icache_setup(void) 251 251 { 252 252 unsigned long ic_lsize = cpu_icache_line_size(); 253 253 ··· 268 268 269 269 static void (* r4k_blast_scache_page)(unsigned long addr); 270 270 271 - static void __init r4k_blast_scache_page_setup(void) 271 + static void __cpuinit r4k_blast_scache_page_setup(void) 272 272 { 273 273 unsigned long sc_lsize = cpu_scache_line_size(); 274 274 ··· 286 286 287 287 static void (* r4k_blast_scache_page_indexed)(unsigned long addr); 288 288 289 - static void __init r4k_blast_scache_page_indexed_setup(void) 289 + static void __cpuinit r4k_blast_scache_page_indexed_setup(void) 290 290 { 291 291 unsigned long sc_lsize = cpu_scache_line_size(); 292 292 ··· 304 304 305 305 static void (* r4k_blast_scache)(void); 306 306 307 - static void __init r4k_blast_scache_setup(void) 307 + static void __cpuinit r4k_blast_scache_setup(void) 308 308 { 309 309 unsigned long sc_lsize = cpu_scache_line_size(); 310 310 ··· 691 691 } 692 692 } 693 693 694 - static char *way_string[] __initdata = { NULL, "direct mapped", "2-way", 694 + static char *way_string[] __cpuinitdata = { NULL, "direct mapped", "2-way", 695 695 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way" 696 696 }; 697 697 698 - static void __init probe_pcache(void) 698 + static void __cpuinit probe_pcache(void) 699 699 { 700 700 struct cpuinfo_mips *c = &current_cpu_data; 701 701 unsigned int config = read_c0_config(); ··· 1016 1016 * executes in KSEG1 space or else you will crash and burn badly. You have 1017 1017 * been warned. 1018 1018 */ 1019 - static int __init probe_scache(void) 1019 + static int __cpuinit probe_scache(void) 1020 1020 { 1021 1021 unsigned long flags, addr, begin, end, pow2; 1022 1022 unsigned int config = read_c0_config(); ··· 1095 1095 extern int rm7k_sc_init(void); 1096 1096 extern int mips_sc_init(void); 1097 1097 1098 - static void __init setup_scache(void) 1098 + static void __cpuinit setup_scache(void) 1099 1099 { 1100 1100 struct cpuinfo_mips *c = &current_cpu_data; 1101 1101 unsigned int config = read_c0_config(); ··· 1206 1206 } 1207 1207 } 1208 1208 1209 - static void __init coherency_setup(void) 1209 + static void __cpuinit coherency_setup(void) 1210 1210 { 1211 1211 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); 1212 1212 ··· 1238 1238 } 1239 1239 } 1240 1240 1241 - void __init r4k_cache_init(void) 1241 + void __cpuinit r4k_cache_init(void) 1242 1242 { 1243 1243 extern void build_clear_page(void); 1244 1244 extern void build_copy_page(void);
+1 -1
arch/mips/mm/c-tx39.c
··· 329 329 } 330 330 } 331 331 332 - void __init tx39_cache_init(void) 332 + void __cpuinit tx39_cache_init(void) 333 333 { 334 334 extern void build_clear_page(void); 335 335 extern void build_copy_page(void);
+3 -2
arch/mips/mm/cache.c
··· 127 127 } 128 128 } 129 129 130 - static char cache_panic[] __initdata = "Yeee, unsupported cache architecture."; 130 + static char cache_panic[] __cpuinitdata = 131 + "Yeee, unsupported cache architecture."; 131 132 132 - void __init cpu_cache_init(void) 133 + void __devinit cpu_cache_init(void) 133 134 { 134 135 if (cpu_has_3k_cache) { 135 136 extern void __weak r3k_cache_init(void);
+2 -2
arch/mips/mm/cex-sb1.S
··· 34 34 * is changed. 35 35 */ 36 36 37 - __INIT 38 - 39 37 .set mips64 40 38 .set noreorder 41 39 .set noat ··· 48 50 * since the final 16 bytes of the exception vector memory 49 51 * (0x170-0x17f) are used to preserve k0, k1, and ra. 50 52 */ 53 + 54 + __CPUINIT 51 55 52 56 LEAF(except_vec2_sb1) 53 57 /*
+11 -11
arch/mips/mm/pg-r4k.c
··· 66 66 * with 64-bit kernels. The prefetch offsets have been experimentally tuned 67 67 * an Origin 200. 68 68 */ 69 - static int pref_offset_clear __initdata = 512; 70 - static int pref_offset_copy __initdata = 256; 69 + static int pref_offset_clear __cpuinitdata = 512; 70 + static int pref_offset_copy __cpuinitdata = 256; 71 71 72 - static unsigned int pref_src_mode __initdata; 73 - static unsigned int pref_dst_mode __initdata; 72 + static unsigned int pref_src_mode __cpuinitdata; 73 + static unsigned int pref_dst_mode __cpuinitdata; 74 74 75 - static int load_offset __initdata; 76 - static int store_offset __initdata; 75 + static int load_offset __cpuinitdata; 76 + static int store_offset __cpuinitdata; 77 77 78 - static unsigned int __initdata *dest, *epc; 78 + static unsigned int __cpuinitdata *dest, *epc; 79 79 80 80 static unsigned int instruction_pending; 81 81 static union mips_instruction delayed_mi; 82 82 83 - static void __init emit_instruction(union mips_instruction mi) 83 + static void __cpuinit emit_instruction(union mips_instruction mi) 84 84 { 85 85 if (instruction_pending) 86 86 *epc++ = delayed_mi.word; ··· 222 222 emit_instruction(mi); 223 223 } 224 224 225 - static void __init __build_store_reg(int reg) 225 + static void __cpuinit __build_store_reg(int reg) 226 226 { 227 227 union mips_instruction mi; 228 228 unsigned int width; ··· 339 339 flush_delay_slot_or_nop(); 340 340 } 341 341 342 - void __init build_clear_page(void) 342 + void __cpuinit build_clear_page(void) 343 343 { 344 344 unsigned int loop_start; 345 345 unsigned long off; ··· 442 442 pr_debug("\t.set pop\n"); 443 443 } 444 444 445 - void __init build_copy_page(void) 445 + void __cpuinit build_copy_page(void) 446 446 { 447 447 unsigned int loop_start; 448 448 unsigned long off;
+2 -2
arch/mips/mm/pg-sb1.c
··· 293 293 EXPORT_SYMBOL(clear_page); 294 294 EXPORT_SYMBOL(copy_page); 295 295 296 - void __init build_clear_page(void) 296 + void __cpuinit build_clear_page(void) 297 297 { 298 298 } 299 299 300 - void __init build_copy_page(void) 300 + void __cpuinit build_copy_page(void) 301 301 { 302 302 }
+1 -1
arch/mips/mm/sc-ip22.c
··· 168 168 .bc_inv = indy_sc_wback_invalidate 169 169 }; 170 170 171 - void __init indy_sc_init(void) 171 + void __cpuinit indy_sc_init(void) 172 172 { 173 173 if (indy_sc_probe()) { 174 174 indy_sc_enable();
+1 -2
arch/mips/mm/sc-mips.c
··· 100 100 return 1; 101 101 } 102 102 103 - int __init mips_sc_init(void) 103 + int __cpuinit mips_sc_init(void) 104 104 { 105 105 int found = mips_sc_probe(); 106 106 if (found) { ··· 109 109 } 110 110 return found; 111 111 } 112 -
+1 -1
arch/mips/mm/sc-r5k.c
··· 99 99 .bc_inv = r5k_dma_cache_inv_sc 100 100 }; 101 101 102 - void __init r5k_sc_init(void) 102 + void __cpuinit r5k_sc_init(void) 103 103 { 104 104 if (r5k_sc_probe()) { 105 105 r5k_sc_enable();
+1 -1
arch/mips/mm/sc-rm7k.c
··· 128 128 .bc_inv = rm7k_sc_inv 129 129 }; 130 130 131 - void __init rm7k_sc_init(void) 131 + void __cpuinit rm7k_sc_init(void) 132 132 { 133 133 struct cpuinfo_mips *c = &current_cpu_data; 134 134 unsigned int config = read_c0_config();
+1 -1
arch/mips/mm/tlb-r3k.c
··· 281 281 } 282 282 } 283 283 284 - void __init tlb_init(void) 284 + void __cpuinit tlb_init(void) 285 285 { 286 286 local_flush_tlb_all(); 287 287
+5 -5
arch/mips/mm/tlb-r4k.c
··· 388 388 * lifetime of the system 389 389 */ 390 390 391 - static int temp_tlb_entry __initdata; 391 + static int temp_tlb_entry __cpuinitdata; 392 392 393 393 __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, 394 394 unsigned long entryhi, unsigned long pagemask) ··· 427 427 return ret; 428 428 } 429 429 430 - static void __init probe_tlb(unsigned long config) 430 + static void __cpuinit probe_tlb(unsigned long config) 431 431 { 432 432 struct cpuinfo_mips *c = &current_cpu_data; 433 433 unsigned int reg; ··· 455 455 c->tlbsize = ((reg >> 25) & 0x3f) + 1; 456 456 } 457 457 458 - static int __initdata ntlb = 0; 458 + static int __cpuinitdata ntlb = 0; 459 459 static int __init set_ntlb(char *str) 460 460 { 461 461 get_option(&str, &ntlb); ··· 464 464 465 465 __setup("ntlb=", set_ntlb); 466 466 467 - void __init tlb_init(void) 467 + void __cpuinit tlb_init(void) 468 468 { 469 469 unsigned int config = read_c0_config(); 470 470 ··· 473 473 * - On R4600 1.7 the tlbp never hits for pages smaller than 474 474 * the value in the c0_pagemask register. 475 475 * - The entire mm handling assumes the c0_pagemask register to 476 - * be set for 4kb pages. 476 + * be set to fixed-size pages. 477 477 */ 478 478 probe_tlb(config); 479 479 write_c0_pagemask(PM_DEFAULT_MASK);
+2 -2
arch/mips/mm/tlb-r8k.c
··· 214 214 local_irq_restore(flags); 215 215 } 216 216 217 - static void __init probe_tlb(unsigned long config) 217 + static void __cpuinit probe_tlb(unsigned long config) 218 218 { 219 219 struct cpuinfo_mips *c = &current_cpu_data; 220 220 221 221 c->tlbsize = 3 * 128; /* 3 sets each 128 entries */ 222 222 } 223 223 224 - void __init tlb_init(void) 224 + void __cpuinit tlb_init(void) 225 225 { 226 226 unsigned int config = read_c0_config(); 227 227 unsigned long status;
+35 -35
arch/mips/mm/tlbex.c
··· 60 60 * why; it's not an issue caused by the core RTL. 61 61 * 62 62 */ 63 - static int __init m4kc_tlbp_war(void) 63 + static int __cpuinit m4kc_tlbp_war(void) 64 64 { 65 65 return (current_cpu_data.processor_id & 0xffff00) == 66 66 (PRID_COMP_MIPS | PRID_IMP_4KC); ··· 144 144 * We deliberately chose a buffer size of 128, so we won't scribble 145 145 * over anything important on overflow before we panic. 146 146 */ 147 - static u32 tlb_handler[128] __initdata; 147 + static u32 tlb_handler[128] __cpuinitdata; 148 148 149 149 /* simply assume worst case size for labels and relocs */ 150 - static struct uasm_label labels[128] __initdata; 151 - static struct uasm_reloc relocs[128] __initdata; 150 + static struct uasm_label labels[128] __cpuinitdata; 151 + static struct uasm_reloc relocs[128] __cpuinitdata; 152 152 153 153 /* 154 154 * The R3000 TLB handler is simple. 155 155 */ 156 - static void __init build_r3000_tlb_refill_handler(void) 156 + static void __cpuinit build_r3000_tlb_refill_handler(void) 157 157 { 158 158 long pgdc = (long)pgd_current; 159 159 u32 *p; ··· 197 197 * other one.To keep things simple, we first assume linear space, 198 198 * then we relocate it to the final handler layout as needed. 199 199 */ 200 - static u32 final_handler[64] __initdata; 200 + static u32 final_handler[64] __cpuinitdata; 201 201 202 202 /* 203 203 * Hazards ··· 221 221 * 222 222 * As if we MIPS hackers wouldn't know how to nop pipelines happy ... 223 223 */ 224 - static void __init __maybe_unused build_tlb_probe_entry(u32 **p) 224 + static void __cpuinit __maybe_unused build_tlb_probe_entry(u32 **p) 225 225 { 226 226 switch (current_cpu_type()) { 227 227 /* Found by experiment: R4600 v2.0 needs this, too. */ ··· 245 245 */ 246 246 enum tlb_write_entry { tlb_random, tlb_indexed }; 247 247 248 - static void __init build_tlb_write_entry(u32 **p, struct uasm_label **l, 248 + static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l, 249 249 struct uasm_reloc **r, 250 250 enum tlb_write_entry wmode) 251 251 { ··· 389 389 * TMP and PTR are scratch. 390 390 * TMP will be clobbered, PTR will hold the pmd entry. 391 391 */ 392 - static void __init 392 + static void __cpuinit 393 393 build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 394 394 unsigned int tmp, unsigned int ptr) 395 395 { ··· 450 450 * BVADDR is the faulting address, PTR is scratch. 451 451 * PTR will hold the pgd for vmalloc. 452 452 */ 453 - static void __init 453 + static void __cpuinit 454 454 build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 455 455 unsigned int bvaddr, unsigned int ptr) 456 456 { ··· 522 522 * TMP and PTR are scratch. 523 523 * TMP will be clobbered, PTR will hold the pgd entry. 524 524 */ 525 - static void __init __maybe_unused 525 + static void __cpuinit __maybe_unused 526 526 build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) 527 527 { 528 528 long pgdc = (long)pgd_current; ··· 557 557 558 558 #endif /* !CONFIG_64BIT */ 559 559 560 - static void __init build_adjust_context(u32 **p, unsigned int ctx) 560 + static void __cpuinit build_adjust_context(u32 **p, unsigned int ctx) 561 561 { 562 562 unsigned int shift = 4 - (PTE_T_LOG2 + 1) + PAGE_SHIFT - 12; 563 563 unsigned int mask = (PTRS_PER_PTE / 2 - 1) << (PTE_T_LOG2 + 1); ··· 583 583 uasm_i_andi(p, ctx, ctx, mask); 584 584 } 585 585 586 - static void __init build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 586 + static void __cpuinit build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 587 587 { 588 588 /* 589 589 * Bug workaround for the Nevada. It seems as if under certain ··· 608 608 UASM_i_ADDU(p, ptr, ptr, tmp); /* add in offset */ 609 609 } 610 610 611 - static void __init build_update_entries(u32 **p, unsigned int tmp, 611 + static void __cpuinit build_update_entries(u32 **p, unsigned int tmp, 612 612 unsigned int ptep) 613 613 { 614 614 /* ··· 651 651 #endif 652 652 } 653 653 654 - static void __init build_r4000_tlb_refill_handler(void) 654 + static void __cpuinit build_r4000_tlb_refill_handler(void) 655 655 { 656 656 u32 *p = tlb_handler; 657 657 struct uasm_label *l = labels; ··· 783 783 u32 handle_tlbs[FASTPATH_SIZE] __cacheline_aligned; 784 784 u32 handle_tlbm[FASTPATH_SIZE] __cacheline_aligned; 785 785 786 - static void __init 786 + static void __cpuinit 787 787 iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr) 788 788 { 789 789 #ifdef CONFIG_SMP ··· 803 803 #endif 804 804 } 805 805 806 - static void __init 806 + static void __cpuinit 807 807 iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr, 808 808 unsigned int mode) 809 809 { ··· 863 863 * the page table where this PTE is located, PTE will be re-loaded 864 864 * with it's original value. 865 865 */ 866 - static void __init 866 + static void __cpuinit 867 867 build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 868 868 unsigned int pte, unsigned int ptr, enum label_id lid) 869 869 { ··· 874 874 } 875 875 876 876 /* Make PTE valid, store result in PTR. */ 877 - static void __init 877 + static void __cpuinit 878 878 build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte, 879 879 unsigned int ptr) 880 880 { ··· 887 887 * Check if PTE can be written to, if not branch to LABEL. Regardless 888 888 * restore PTE with value from PTR when done. 889 889 */ 890 - static void __init 890 + static void __cpuinit 891 891 build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 892 892 unsigned int pte, unsigned int ptr, enum label_id lid) 893 893 { ··· 900 900 /* Make PTE writable, update software status bits as well, then store 901 901 * at PTR. 902 902 */ 903 - static void __init 903 + static void __cpuinit 904 904 build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte, 905 905 unsigned int ptr) 906 906 { ··· 914 914 * Check if PTE can be modified, if not branch to LABEL. Regardless 915 915 * restore PTE with value from PTR when done. 916 916 */ 917 - static void __init 917 + static void __cpuinit 918 918 build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 919 919 unsigned int pte, unsigned int ptr, enum label_id lid) 920 920 { ··· 931 931 * This places the pte into ENTRYLO0 and writes it with tlbwi. 932 932 * Then it returns. 933 933 */ 934 - static void __init 934 + static void __cpuinit 935 935 build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp) 936 936 { 937 937 uasm_i_mtc0(p, pte, C0_ENTRYLO0); /* cp0 delay */ ··· 947 947 * may have the probe fail bit set as a result of a trap on a 948 948 * kseg2 access, i.e. without refill. Then it returns. 949 949 */ 950 - static void __init 950 + static void __cpuinit 951 951 build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l, 952 952 struct uasm_reloc **r, unsigned int pte, 953 953 unsigned int tmp) ··· 965 965 uasm_i_rfe(p); /* branch delay */ 966 966 } 967 967 968 - static void __init 968 + static void __cpuinit 969 969 build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte, 970 970 unsigned int ptr) 971 971 { ··· 985 985 uasm_i_tlbp(p); /* load delay */ 986 986 } 987 987 988 - static void __init build_r3000_tlb_load_handler(void) 988 + static void __cpuinit build_r3000_tlb_load_handler(void) 989 989 { 990 990 u32 *p = handle_tlbl; 991 991 struct uasm_label *l = labels; ··· 1015 1015 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1016 1016 } 1017 1017 1018 - static void __init build_r3000_tlb_store_handler(void) 1018 + static void __cpuinit build_r3000_tlb_store_handler(void) 1019 1019 { 1020 1020 u32 *p = handle_tlbs; 1021 1021 struct uasm_label *l = labels; ··· 1045 1045 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1046 1046 } 1047 1047 1048 - static void __init build_r3000_tlb_modify_handler(void) 1048 + static void __cpuinit build_r3000_tlb_modify_handler(void) 1049 1049 { 1050 1050 u32 *p = handle_tlbm; 1051 1051 struct uasm_label *l = labels; ··· 1078 1078 /* 1079 1079 * R4000 style TLB load/store/modify handlers. 1080 1080 */ 1081 - static void __init 1081 + static void __cpuinit 1082 1082 build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l, 1083 1083 struct uasm_reloc **r, unsigned int pte, 1084 1084 unsigned int ptr) ··· 1103 1103 build_tlb_probe_entry(p); 1104 1104 } 1105 1105 1106 - static void __init 1106 + static void __cpuinit 1107 1107 build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l, 1108 1108 struct uasm_reloc **r, unsigned int tmp, 1109 1109 unsigned int ptr) ··· 1120 1120 #endif 1121 1121 } 1122 1122 1123 - static void __init build_r4000_tlb_load_handler(void) 1123 + static void __cpuinit build_r4000_tlb_load_handler(void) 1124 1124 { 1125 1125 u32 *p = handle_tlbl; 1126 1126 struct uasm_label *l = labels; ··· 1160 1160 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1161 1161 } 1162 1162 1163 - static void __init build_r4000_tlb_store_handler(void) 1163 + static void __cpuinit build_r4000_tlb_store_handler(void) 1164 1164 { 1165 1165 u32 *p = handle_tlbs; 1166 1166 struct uasm_label *l = labels; ··· 1191 1191 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1192 1192 } 1193 1193 1194 - static void __init build_r4000_tlb_modify_handler(void) 1194 + static void __cpuinit build_r4000_tlb_modify_handler(void) 1195 1195 { 1196 1196 u32 *p = handle_tlbm; 1197 1197 struct uasm_label *l = labels; ··· 1223 1223 dump_handler(handle_tlbm, ARRAY_SIZE(handle_tlbm)); 1224 1224 } 1225 1225 1226 - void __init build_tlb_refill_handler(void) 1226 + void __cpuinit build_tlb_refill_handler(void) 1227 1227 { 1228 1228 /* 1229 1229 * The refill handler is generated per-CPU, multi-node systems ··· 1269 1269 } 1270 1270 } 1271 1271 1272 - void __init flush_tlb_handlers(void) 1272 + void __cpuinit flush_tlb_handlers(void) 1273 1273 { 1274 1274 flush_icache_range((unsigned long)handle_tlbl, 1275 1275 (unsigned long)handle_tlbl + sizeof(handle_tlbl));
+34 -34
arch/mips/mm/uasm.c
··· 82 82 | (e) << RE_SH \ 83 83 | (f) << FUNC_SH) 84 84 85 - static struct insn insn_table[] __initdata = { 85 + static struct insn insn_table[] __cpuinitdata = { 86 86 { insn_addiu, M(addiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, 87 87 { insn_addu, M(spec_op, 0, 0, 0, 0, addu_op), RS | RT | RD }, 88 88 { insn_and, M(spec_op, 0, 0, 0, 0, and_op), RS | RT | RD }, ··· 135 135 136 136 #undef M 137 137 138 - static inline __init u32 build_rs(u32 arg) 138 + static inline __cpuinit u32 build_rs(u32 arg) 139 139 { 140 140 if (arg & ~RS_MASK) 141 141 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 143 143 return (arg & RS_MASK) << RS_SH; 144 144 } 145 145 146 - static inline __init u32 build_rt(u32 arg) 146 + static inline __cpuinit u32 build_rt(u32 arg) 147 147 { 148 148 if (arg & ~RT_MASK) 149 149 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 151 151 return (arg & RT_MASK) << RT_SH; 152 152 } 153 153 154 - static inline __init u32 build_rd(u32 arg) 154 + static inline __cpuinit u32 build_rd(u32 arg) 155 155 { 156 156 if (arg & ~RD_MASK) 157 157 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 159 159 return (arg & RD_MASK) << RD_SH; 160 160 } 161 161 162 - static inline __init u32 build_re(u32 arg) 162 + static inline __cpuinit u32 build_re(u32 arg) 163 163 { 164 164 if (arg & ~RE_MASK) 165 165 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 167 167 return (arg & RE_MASK) << RE_SH; 168 168 } 169 169 170 - static inline __init u32 build_simm(s32 arg) 170 + static inline __cpuinit u32 build_simm(s32 arg) 171 171 { 172 172 if (arg > 0x7fff || arg < -0x8000) 173 173 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 175 175 return arg & 0xffff; 176 176 } 177 177 178 - static inline __init u32 build_uimm(u32 arg) 178 + static inline __cpuinit u32 build_uimm(u32 arg) 179 179 { 180 180 if (arg & ~IMM_MASK) 181 181 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 183 183 return arg & IMM_MASK; 184 184 } 185 185 186 - static inline __init u32 build_bimm(s32 arg) 186 + static inline __cpuinit u32 build_bimm(s32 arg) 187 187 { 188 188 if (arg > 0x1ffff || arg < -0x20000) 189 189 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 194 194 return ((arg < 0) ? (1 << 15) : 0) | ((arg >> 2) & 0x7fff); 195 195 } 196 196 197 - static inline __init u32 build_jimm(u32 arg) 197 + static inline __cpuinit u32 build_jimm(u32 arg) 198 198 { 199 199 if (arg & ~((JIMM_MASK) << 2)) 200 200 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 202 202 return (arg >> 2) & JIMM_MASK; 203 203 } 204 204 205 - static inline __init u32 build_func(u32 arg) 205 + static inline __cpuinit u32 build_func(u32 arg) 206 206 { 207 207 if (arg & ~FUNC_MASK) 208 208 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 210 210 return arg & FUNC_MASK; 211 211 } 212 212 213 - static inline __init u32 build_set(u32 arg) 213 + static inline __cpuinit u32 build_set(u32 arg) 214 214 { 215 215 if (arg & ~SET_MASK) 216 216 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 222 222 * The order of opcode arguments is implicitly left to right, 223 223 * starting with RS and ending with FUNC or IMM. 224 224 */ 225 - static void __init build_insn(u32 **buf, enum opcode opc, ...) 225 + static void __cpuinit build_insn(u32 **buf, enum opcode opc, ...) 226 226 { 227 227 struct insn *ip = NULL; 228 228 unsigned int i; ··· 375 375 I_u2u1u3(_xori) 376 376 377 377 /* Handle labels. */ 378 - void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid) 378 + void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid) 379 379 { 380 380 (*lab)->addr = addr; 381 381 (*lab)->lab = lid; 382 382 (*lab)++; 383 383 } 384 384 385 - int __init uasm_in_compat_space_p(long addr) 385 + int __cpuinit uasm_in_compat_space_p(long addr) 386 386 { 387 387 /* Is this address in 32bit compat space? */ 388 388 #ifdef CONFIG_64BIT ··· 392 392 #endif 393 393 } 394 394 395 - int __init uasm_rel_highest(long val) 395 + int __cpuinit uasm_rel_highest(long val) 396 396 { 397 397 #ifdef CONFIG_64BIT 398 398 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000; ··· 401 401 #endif 402 402 } 403 403 404 - int __init uasm_rel_higher(long val) 404 + int __cpuinit uasm_rel_higher(long val) 405 405 { 406 406 #ifdef CONFIG_64BIT 407 407 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000; ··· 410 410 #endif 411 411 } 412 412 413 - int __init uasm_rel_hi(long val) 413 + int __cpuinit uasm_rel_hi(long val) 414 414 { 415 415 return ((((val + 0x8000L) >> 16) & 0xffff) ^ 0x8000) - 0x8000; 416 416 } 417 417 418 - int __init uasm_rel_lo(long val) 418 + int __cpuinit uasm_rel_lo(long val) 419 419 { 420 420 return ((val & 0xffff) ^ 0x8000) - 0x8000; 421 421 } 422 422 423 - void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr) 423 + void __cpuinit UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr) 424 424 { 425 425 if (!uasm_in_compat_space_p(addr)) { 426 426 uasm_i_lui(buf, rs, uasm_rel_highest(addr)); ··· 436 436 uasm_i_lui(buf, rs, uasm_rel_hi(addr)); 437 437 } 438 438 439 - void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr) 439 + void __cpuinit UASM_i_LA(u32 **buf, unsigned int rs, long addr) 440 440 { 441 441 UASM_i_LA_mostly(buf, rs, addr); 442 442 if (uasm_rel_lo(addr)) { ··· 448 448 } 449 449 450 450 /* Handle relocations. */ 451 - void __init 451 + void __cpuinit 452 452 uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid) 453 453 { 454 454 (*rel)->addr = addr; ··· 457 457 (*rel)++; 458 458 } 459 459 460 - static inline void __init 460 + static inline void __cpuinit 461 461 __resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 462 462 { 463 463 long laddr = (long)lab->addr; ··· 474 474 } 475 475 } 476 476 477 - void __init 477 + void __cpuinit 478 478 uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 479 479 { 480 480 struct uasm_label *l; ··· 485 485 __resolve_relocs(rel, l); 486 486 } 487 487 488 - void __init 488 + void __cpuinit 489 489 uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off) 490 490 { 491 491 for (; rel->lab != UASM_LABEL_INVALID; rel++) ··· 493 493 rel->addr += off; 494 494 } 495 495 496 - void __init 496 + void __cpuinit 497 497 uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off) 498 498 { 499 499 for (; lab->lab != UASM_LABEL_INVALID; lab++) ··· 501 501 lab->addr += off; 502 502 } 503 503 504 - void __init 504 + void __cpuinit 505 505 uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, 506 506 u32 *end, u32 *target) 507 507 { ··· 513 513 uasm_move_labels(lab, first, end, off); 514 514 } 515 515 516 - int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr) 516 + int __cpuinit uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr) 517 517 { 518 518 for (; rel->lab != UASM_LABEL_INVALID; rel++) { 519 519 if (rel->addr == addr ··· 526 526 } 527 527 528 528 /* Convenience functions for labeled branches. */ 529 - void __init 529 + void __cpuinit 530 530 uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 531 531 { 532 532 uasm_r_mips_pc16(r, *p, lid); 533 533 uasm_i_bltz(p, reg, 0); 534 534 } 535 535 536 - void __init 536 + void __cpuinit 537 537 uasm_il_b(u32 **p, struct uasm_reloc **r, int lid) 538 538 { 539 539 uasm_r_mips_pc16(r, *p, lid); 540 540 uasm_i_b(p, 0); 541 541 } 542 542 543 - void __init 543 + void __cpuinit 544 544 uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 545 545 { 546 546 uasm_r_mips_pc16(r, *p, lid); 547 547 uasm_i_beqz(p, reg, 0); 548 548 } 549 549 550 - void __init 550 + void __cpuinit 551 551 uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 552 552 { 553 553 uasm_r_mips_pc16(r, *p, lid); 554 554 uasm_i_beqzl(p, reg, 0); 555 555 } 556 556 557 - void __init 557 + void __cpuinit 558 558 uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 559 559 { 560 560 uasm_r_mips_pc16(r, *p, lid); 561 561 uasm_i_bnez(p, reg, 0); 562 562 } 563 563 564 - void __init 564 + void __cpuinit 565 565 uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 566 566 { 567 567 uasm_r_mips_pc16(r, *p, lid); 568 568 uasm_i_bgezl(p, reg, 0); 569 569 } 570 570 571 - void __init 571 + void __cpuinit 572 572 uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 573 573 { 574 574 uasm_r_mips_pc16(r, *p, lid);
+33 -43
arch/mips/mm/uasm.h
··· 11 11 #include <linux/types.h> 12 12 13 13 #define Ip_u1u2u3(op) \ 14 - void __init \ 14 + void __cpuinit \ 15 15 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 16 16 17 17 #define Ip_u2u1u3(op) \ 18 - void __init \ 18 + void __cpuinit \ 19 19 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 20 20 21 21 #define Ip_u3u1u2(op) \ 22 - void __init \ 22 + void __cpuinit \ 23 23 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 24 24 25 25 #define Ip_u1u2s3(op) \ 26 - void __init \ 26 + void __cpuinit \ 27 27 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 28 28 29 29 #define Ip_u2s3u1(op) \ 30 - void __init \ 30 + void __cpuinit \ 31 31 uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c) 32 32 33 33 #define Ip_u2u1s3(op) \ 34 - void __init \ 34 + void __cpuinit \ 35 35 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 36 36 37 37 #define Ip_u1u2(op) \ 38 - void __init uasm_i##op(u32 **buf, unsigned int a, unsigned int b) 38 + void __cpuinit uasm_i##op(u32 **buf, unsigned int a, unsigned int b) 39 39 40 40 #define Ip_u1s2(op) \ 41 - void __init uasm_i##op(u32 **buf, unsigned int a, signed int b) 41 + void __cpuinit uasm_i##op(u32 **buf, unsigned int a, signed int b) 42 42 43 - #define Ip_u1(op) void __init uasm_i##op(u32 **buf, unsigned int a) 43 + #define Ip_u1(op) void __cpuinit uasm_i##op(u32 **buf, unsigned int a) 44 44 45 - #define Ip_0(op) void __init uasm_i##op(u32 **buf) 45 + #define Ip_0(op) void __cpuinit uasm_i##op(u32 **buf) 46 46 47 47 Ip_u2u1s3(_addiu); 48 48 Ip_u3u1u2(_addu); ··· 98 98 int lab; 99 99 }; 100 100 101 - void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); 101 + void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); 102 102 #ifdef CONFIG_64BIT 103 - int __init uasm_in_compat_space_p(long addr); 104 - int __init uasm_rel_highest(long val); 105 - int __init uasm_rel_higher(long val); 103 + int uasm_in_compat_space_p(long addr); 104 + int uasm_rel_highest(long val); 105 + int uasm_rel_higher(long val); 106 106 #endif 107 - int __init uasm_rel_hi(long val); 108 - int __init uasm_rel_lo(long val); 109 - void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr); 110 - void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr); 107 + int uasm_rel_hi(long val); 108 + int uasm_rel_lo(long val); 109 + void UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr); 110 + void UASM_i_LA(u32 **buf, unsigned int rs, long addr); 111 111 112 112 #define UASM_L_LA(lb) \ 113 - static inline void __init uasm_l##lb(struct uasm_label **lab, u32 *addr) \ 113 + static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \ 114 114 { \ 115 115 uasm_build_label(lab, addr, label##lb); \ 116 116 } ··· 164 164 /* This is zero so we can use zeroed label arrays. */ 165 165 #define UASM_LABEL_INVALID 0 166 166 167 - void __init uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid); 168 - void __init 169 - uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab); 170 - void __init 171 - uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off); 172 - void __init 173 - uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off); 174 - void __init 175 - uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, 176 - u32 *end, u32 *target); 177 - int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr); 167 + void uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid); 168 + void uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab); 169 + void uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off); 170 + void uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off); 171 + void uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, 172 + u32 *first, u32 *end, u32 *target); 173 + int uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr); 178 174 179 175 /* Convenience functions for labeled branches. */ 180 - void __init 181 - uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 182 - void __init uasm_il_b(u32 **p, struct uasm_reloc **r, int lid); 183 - void __init 184 - uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 185 - void __init 186 - uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 187 - void __init 188 - uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 189 - void __init 190 - uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 191 - void __init 192 - uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 176 + void uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 177 + void uasm_il_b(u32 **p, struct uasm_reloc **r, int lid); 178 + void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 179 + void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 180 + void uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 181 + void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 182 + void uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
+3 -2
arch/mips/pci/pci-bcm1480.c
··· 249 249 * XXX ehs: Should this happen in PCI Device mode? 250 250 */ 251 251 252 - set_io_port_base((unsigned long) 253 - ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536)); 252 + bcm1480_controller.io_map_base = (unsigned long) 253 + ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536); 254 + set_io_port_base(bcm1480_controller.io_map_base); 254 255 isa_slot_offset = (unsigned long) 255 256 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024); 256 257
+1 -1
arch/mips/pci/pci-ip27.c
··· 40 40 41 41 extern struct pci_ops bridge_pci_ops; 42 42 43 - int __init bridge_probe(nasid_t nasid, int widget_id, int masterwid) 43 + int __cpuinit bridge_probe(nasid_t nasid, int widget_id, int masterwid) 44 44 { 45 45 unsigned long offset = NODE_OFFSET(nasid); 46 46 struct bridge_controller *bc;
+1 -1
arch/mips/pci/pci.c
··· 260 260 } 261 261 } 262 262 263 - void pcibios_fixup_bus(struct pci_bus *bus) 263 + void __devinit pcibios_fixup_bus(struct pci_bus *bus) 264 264 { 265 265 /* Propagate hose info into the subordinate devices. */ 266 266
+3 -3
arch/mips/pmc-sierra/yosemite/smp.c
··· 7 7 8 8 #define LAUNCHSTACK_SIZE 256 9 9 10 - static __initdata DEFINE_SPINLOCK(launch_lock); 10 + static __cpuinitdata DEFINE_SPINLOCK(launch_lock); 11 11 12 - static unsigned long secondary_sp __initdata; 13 - static unsigned long secondary_gp __initdata; 12 + static unsigned long secondary_sp __cpuinitdata; 13 + static unsigned long secondary_gp __cpuinitdata; 14 14 15 15 static unsigned char launchstack[LAUNCHSTACK_SIZE] __initdata 16 16 __attribute__((aligned(2 * sizeof(long))));
+1 -1
arch/mips/sgi-ip27/ip27-init.c
··· 53 53 54 54 extern void xtalk_probe_node(cnodeid_t nid); 55 55 56 - static void __init per_hub_init(cnodeid_t cnode) 56 + static void __cpuinit per_hub_init(cnodeid_t cnode) 57 57 { 58 58 struct hub_data *hub = hub_data(cnode); 59 59 nasid_t nasid = COMPACT_TO_NASID_NODEID(cnode);
+1 -1
arch/mips/sgi-ip27/ip27-timer.c
··· 285 285 set_c0_status(SRB_TIMOCLK); 286 286 } 287 287 288 - void __init hub_rtc_init(cnodeid_t cnode) 288 + void __cpuinit hub_rtc_init(cnodeid_t cnode) 289 289 { 290 290 /* 291 291 * We only need to initialize the current node.
+3 -3
arch/mips/sgi-ip27/ip27-xtalk.c
··· 22 22 23 23 extern int bridge_probe(nasid_t nasid, int widget, int masterwid); 24 24 25 - static int __init probe_one_port(nasid_t nasid, int widget, int masterwid) 25 + static int __cpuinit probe_one_port(nasid_t nasid, int widget, int masterwid) 26 26 { 27 27 widgetreg_t widget_id; 28 28 xwidget_part_num_t partnum; ··· 46 46 return 0; 47 47 } 48 48 49 - static int __init xbow_probe(nasid_t nasid) 49 + static int __cpuinit xbow_probe(nasid_t nasid) 50 50 { 51 51 lboard_t *brd; 52 52 klxbow_t *xbow_p; ··· 99 99 return 0; 100 100 } 101 101 102 - void __init xtalk_probe_node(cnodeid_t nid) 102 + void __cpuinit xtalk_probe_node(cnodeid_t nid) 103 103 { 104 104 volatile u64 hubreg; 105 105 nasid_t nasid;
+1 -1
arch/powerpc/Makefile
··· 155 155 156 156 CPPFLAGS_vmlinux.lds := -Upowerpc 157 157 158 - BOOT_TARGETS = zImage zImage.initrd uImage treeImage.% cuImage.% 158 + BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% 159 159 160 160 PHONY += $(BOOT_TARGETS) 161 161
+10 -8
arch/powerpc/boot/Makefile
··· 186 186 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 187 187 image-$(CONFIG_PPC_MAPLE) += zImage.pseries 188 188 image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 189 - image-$(CONFIG_PPC_PS3) += zImage-dtb.ps3 189 + image-$(CONFIG_PPC_PS3) += dtbImage.ps3 190 190 image-$(CONFIG_PPC_CELLEB) += zImage.pseries 191 191 image-$(CONFIG_PPC_CHRP) += zImage.chrp 192 192 image-$(CONFIG_PPC_EFIKA) += zImage.chrp ··· 205 205 # 206 206 207 207 # Board ports in arch/powerpc/platform/40x/Kconfig 208 - image-$(CONFIG_EP405) += zImage-dtb.ep405 208 + image-$(CONFIG_EP405) += dtbImage.ep405 209 209 image-$(CONFIG_WALNUT) += treeImage.walnut 210 210 211 211 # Board ports in arch/powerpc/platform/44x/Kconfig ··· 220 220 # Board ports in arch/powerpc/platform/8xx/Kconfig 221 221 image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads 222 222 image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads 223 - image-$(CONFIG_PPC_EP88XC) += zImage-dtb.ep88xc 223 + image-$(CONFIG_PPC_EP88XC) += dtbImage.ep88xc 224 224 image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ 225 - zImage-dtb.adder875-redboot 225 + dtbImage.adder875-redboot 226 226 227 227 # Board ports in arch/powerpc/platform/52xx/Kconfig 228 228 image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b ··· 230 230 # Board ports in arch/powerpc/platform/82xx/Kconfig 231 231 image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads 232 232 image-$(CONFIG_PQ2FADS) += cuImage.pq2fads 233 - image-$(CONFIG_EP8248E) += zImage-dtb.ep8248e 233 + image-$(CONFIG_EP8248E) += dtbImage.ep8248e 234 234 235 235 # Board ports in arch/powerpc/platform/83xx/Kconfig 236 236 image-$(CONFIG_MPC832x_MDS) += cuImage.mpc832x_mds ··· 268 268 269 269 initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) 270 270 initrd-y := $(patsubst zImage%, zImage.initrd%, \ 271 - $(patsubst treeImage%, treeImage.initrd%, $(image-y))) 271 + $(patsubst dtbImage%, dtbImage.initrd%, \ 272 + $(patsubst treeImage%, treeImage.initrd%, $(image-y)))) 272 273 initrd-y := $(filter-out $(image-y), $(initrd-y)) 273 274 targets += $(image-y) $(initrd-y) 274 275 ··· 284 283 $(obj)/zImage.%: vmlinux $(wrapperbits) 285 284 $(call if_changed,wrap,$*) 286 285 287 - $(obj)/zImage-dtb.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 286 + # dtbImage% - a dtbImage is a zImage with an embedded device tree blob 287 + $(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 288 288 $(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz) 289 289 290 - $(obj)/zImage-dtb.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 290 + $(obj)/dtbImage.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 291 291 $(call if_changed,wrap,$*,$(dtstree)/$*.dts) 292 292 293 293 # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
+68 -2
arch/powerpc/boot/dts/mpc8377_mds.dts
··· 47 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 48 }; 49 49 50 + localbus@e0005000 { 51 + #address-cells = <2>; 52 + #size-cells = <1>; 53 + compatible = "fsl,mpc8377-elbc", "fsl,elbc", "simple-bus"; 54 + reg = <0xe0005000 0x1000>; 55 + interrupts = <77 0x8>; 56 + interrupt-parent = <&ipic>; 57 + 58 + // booting from NOR flash 59 + ranges = <0 0x0 0xfe000000 0x02000000 60 + 1 0x0 0xf8000000 0x00008000 61 + 3 0x0 0xe0600000 0x00008000>; 62 + 63 + flash@0,0 { 64 + #address-cells = <1>; 65 + #size-cells = <1>; 66 + compatible = "cfi-flash"; 67 + reg = <0 0x0 0x2000000>; 68 + bank-width = <2>; 69 + device-width = <1>; 70 + 71 + u-boot@0 { 72 + reg = <0x0 0x100000>; 73 + read-only; 74 + }; 75 + 76 + fs@100000 { 77 + reg = <0x100000 0x800000>; 78 + }; 79 + 80 + kernel@1d00000 { 81 + reg = <0x1d00000 0x200000>; 82 + }; 83 + 84 + dtb@1f00000 { 85 + reg = <0x1f00000 0x100000>; 86 + }; 87 + }; 88 + 89 + bcsr@1,0 { 90 + reg = <1 0x0 0x8000>; 91 + compatible = "fsl,mpc837xmds-bcsr"; 92 + }; 93 + 94 + nand@3,0 { 95 + #address-cells = <1>; 96 + #size-cells = <1>; 97 + compatible = "fsl,mpc8377-fcm-nand", 98 + "fsl,elbc-fcm-nand"; 99 + reg = <3 0x0 0x8000>; 100 + 101 + u-boot@0 { 102 + reg = <0x0 0x100000>; 103 + read-only; 104 + }; 105 + 106 + kernel@100000 { 107 + reg = <0x100000 0x300000>; 108 + }; 109 + 110 + fs@400000 { 111 + reg = <0x400000 0x1c00000>; 112 + }; 113 + }; 114 + }; 115 + 50 116 soc@e0000000 { 51 117 #address-cells = <1>; 52 118 #size-cells = <1>; ··· 157 91 mode = "cpu"; 158 92 }; 159 93 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 94 usb@23000 { 162 95 compatible = "fsl-usb2-dr"; 163 96 reg = <0x23000 0x1000>; ··· 164 99 #size-cells = <0>; 165 100 interrupt-parent = <&ipic>; 166 101 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 168 104 }; 169 105 170 106 mdio@24520 {
+68 -2
arch/powerpc/boot/dts/mpc8378_mds.dts
··· 47 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 48 }; 49 49 50 + localbus@e0005000 { 51 + #address-cells = <2>; 52 + #size-cells = <1>; 53 + compatible = "fsl,mpc8378-elbc", "fsl,elbc", "simple-bus"; 54 + reg = <0xe0005000 0x1000>; 55 + interrupts = <77 0x8>; 56 + interrupt-parent = <&ipic>; 57 + 58 + // booting from NOR flash 59 + ranges = <0 0x0 0xfe000000 0x02000000 60 + 1 0x0 0xf8000000 0x00008000 61 + 3 0x0 0xe0600000 0x00008000>; 62 + 63 + flash@0,0 { 64 + #address-cells = <1>; 65 + #size-cells = <1>; 66 + compatible = "cfi-flash"; 67 + reg = <0 0x0 0x2000000>; 68 + bank-width = <2>; 69 + device-width = <1>; 70 + 71 + u-boot@0 { 72 + reg = <0x0 0x100000>; 73 + read-only; 74 + }; 75 + 76 + fs@100000 { 77 + reg = <0x100000 0x800000>; 78 + }; 79 + 80 + kernel@1d00000 { 81 + reg = <0x1d00000 0x200000>; 82 + }; 83 + 84 + dtb@1f00000 { 85 + reg = <0x1f00000 0x100000>; 86 + }; 87 + }; 88 + 89 + bcsr@1,0 { 90 + reg = <1 0x0 0x8000>; 91 + compatible = "fsl,mpc837xmds-bcsr"; 92 + }; 93 + 94 + nand@3,0 { 95 + #address-cells = <1>; 96 + #size-cells = <1>; 97 + compatible = "fsl,mpc8378-fcm-nand", 98 + "fsl,elbc-fcm-nand"; 99 + reg = <3 0x0 0x8000>; 100 + 101 + u-boot@0 { 102 + reg = <0x0 0x100000>; 103 + read-only; 104 + }; 105 + 106 + kernel@100000 { 107 + reg = <0x100000 0x300000>; 108 + }; 109 + 110 + fs@400000 { 111 + reg = <0x400000 0x1c00000>; 112 + }; 113 + }; 114 + }; 115 + 50 116 soc@e0000000 { 51 117 #address-cells = <1>; 52 118 #size-cells = <1>; ··· 157 91 mode = "cpu"; 158 92 }; 159 93 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 94 usb@23000 { 162 95 compatible = "fsl-usb2-dr"; 163 96 reg = <0x23000 0x1000>; ··· 164 99 #size-cells = <0>; 165 100 interrupt-parent = <&ipic>; 166 101 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 168 104 }; 169 105 170 106 mdio@24520 {
+68 -2
arch/powerpc/boot/dts/mpc8379_mds.dts
··· 47 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 48 }; 49 49 50 + localbus@e0005000 { 51 + #address-cells = <2>; 52 + #size-cells = <1>; 53 + compatible = "fsl,mpc8379-elbc", "fsl,elbc", "simple-bus"; 54 + reg = <0xe0005000 0x1000>; 55 + interrupts = <77 0x8>; 56 + interrupt-parent = <&ipic>; 57 + 58 + // booting from NOR flash 59 + ranges = <0 0x0 0xfe000000 0x02000000 60 + 1 0x0 0xf8000000 0x00008000 61 + 3 0x0 0xe0600000 0x00008000>; 62 + 63 + flash@0,0 { 64 + #address-cells = <1>; 65 + #size-cells = <1>; 66 + compatible = "cfi-flash"; 67 + reg = <0 0x0 0x2000000>; 68 + bank-width = <2>; 69 + device-width = <1>; 70 + 71 + u-boot@0 { 72 + reg = <0x0 0x100000>; 73 + read-only; 74 + }; 75 + 76 + fs@100000 { 77 + reg = <0x100000 0x800000>; 78 + }; 79 + 80 + kernel@1d00000 { 81 + reg = <0x1d00000 0x200000>; 82 + }; 83 + 84 + dtb@1f00000 { 85 + reg = <0x1f00000 0x100000>; 86 + }; 87 + }; 88 + 89 + bcsr@1,0 { 90 + reg = <1 0x0 0x8000>; 91 + compatible = "fsl,mpc837xmds-bcsr"; 92 + }; 93 + 94 + nand@3,0 { 95 + #address-cells = <1>; 96 + #size-cells = <1>; 97 + compatible = "fsl,mpc8379-fcm-nand", 98 + "fsl,elbc-fcm-nand"; 99 + reg = <3 0x0 0x8000>; 100 + 101 + u-boot@0 { 102 + reg = <0x0 0x100000>; 103 + read-only; 104 + }; 105 + 106 + kernel@100000 { 107 + reg = <0x100000 0x300000>; 108 + }; 109 + 110 + fs@400000 { 111 + reg = <0x400000 0x1c00000>; 112 + }; 113 + }; 114 + }; 115 + 50 116 soc@e0000000 { 51 117 #address-cells = <1>; 52 118 #size-cells = <1>; ··· 157 91 mode = "cpu"; 158 92 }; 159 93 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 94 usb@23000 { 162 95 compatible = "fsl-usb2-dr"; 163 96 reg = <0x23000 0x1000>; ··· 164 99 #size-cells = <0>; 165 100 interrupt-parent = <&ipic>; 166 101 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 168 104 }; 169 105 170 106 mdio@24520 {
+11 -5
arch/powerpc/boot/dts/sbc8548.dts
··· 184 184 cell-index = <0>; 185 185 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 186 186 interrupt-map = < 187 - /* IDSEL 0x01 (PCI-X slot) */ 188 - 0x0800 0x0 0x0 0x1 &mpic 0x0 0x1 189 - 0x0800 0x0 0x0 0x2 &mpic 0x1 0x1 190 - 0x0800 0x0 0x0 0x3 &mpic 0x2 0x1 191 - 0x0800 0x0 0x0 0x4 &mpic 0x3 0x1>; 187 + /* IDSEL 0x01 (PCI-X slot) @66MHz */ 188 + 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 189 + 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 190 + 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 191 + 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 192 + 193 + /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ 194 + 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 195 + 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 196 + 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 197 + 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; 192 198 193 199 interrupt-parent = <&mpic>; 194 200 interrupts = <0x18 0x2>;
+5 -1
arch/powerpc/boot/wrapper
··· 191 191 ksection=.kernel:vmlinux.bin 192 192 isection=.kernel:initrd 193 193 ;; 194 - ep88xc|ep405|redboot*|ep8248e) 194 + ep88xc|ep405|ep8248e) 195 195 platformo="$object/fixed-head.o $object/$platform.o" 196 + binary=y 197 + ;; 198 + adder875-redboot) 199 + platformo="$object/fixed-head.o $object/redboot-8xx.o" 196 200 binary=y 197 201 ;; 198 202 esac
-798
arch/powerpc/configs/adder875-redboot_defconfig
··· 1 - # 2 - # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc6 4 - # Thu Jan 17 16:17:38 2008 5 - # 6 - # CONFIG_PPC64 is not set 7 - 8 - # 9 - # Processor support 10 - # 11 - # CONFIG_6xx is not set 12 - # CONFIG_PPC_85xx is not set 13 - CONFIG_PPC_8xx=y 14 - # CONFIG_40x is not set 15 - # CONFIG_44x is not set 16 - # CONFIG_E200 is not set 17 - CONFIG_8xx=y 18 - # CONFIG_PPC_MM_SLICES is not set 19 - CONFIG_NOT_COHERENT_CACHE=y 20 - CONFIG_PPC32=y 21 - CONFIG_WORD_SIZE=32 22 - CONFIG_PPC_MERGE=y 23 - CONFIG_MMU=y 24 - CONFIG_GENERIC_CMOS_UPDATE=y 25 - CONFIG_GENERIC_TIME=y 26 - CONFIG_GENERIC_TIME_VSYSCALL=y 27 - CONFIG_GENERIC_CLOCKEVENTS=y 28 - CONFIG_GENERIC_HARDIRQS=y 29 - CONFIG_IRQ_PER_CPU=y 30 - CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31 - CONFIG_ARCH_HAS_ILOG2_U32=y 32 - CONFIG_GENERIC_HWEIGHT=y 33 - CONFIG_GENERIC_CALIBRATE_DELAY=y 34 - CONFIG_GENERIC_FIND_NEXT_BIT=y 35 - # CONFIG_ARCH_NO_VIRT_TO_BUS is not set 36 - CONFIG_PPC=y 37 - CONFIG_EARLY_PRINTK=y 38 - CONFIG_GENERIC_NVRAM=y 39 - CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 40 - CONFIG_ARCH_MAY_HAVE_PC_FDC=y 41 - CONFIG_PPC_OF=y 42 - CONFIG_OF=y 43 - # CONFIG_PPC_UDBG_16550 is not set 44 - # CONFIG_GENERIC_TBSYNC is not set 45 - CONFIG_AUDIT_ARCH=y 46 - CONFIG_GENERIC_BUG=y 47 - # CONFIG_DEFAULT_UIMAGE is not set 48 - CONFIG_REDBOOT=y 49 - # CONFIG_PPC_DCR_NATIVE is not set 50 - # CONFIG_PPC_DCR_MMIO is not set 51 - CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 52 - 53 - # 54 - # General setup 55 - # 56 - CONFIG_EXPERIMENTAL=y 57 - CONFIG_BROKEN_ON_SMP=y 58 - CONFIG_INIT_ENV_ARG_LIMIT=32 59 - CONFIG_LOCALVERSION="" 60 - CONFIG_LOCALVERSION_AUTO=y 61 - # CONFIG_SWAP is not set 62 - CONFIG_SYSVIPC=y 63 - CONFIG_SYSVIPC_SYSCTL=y 64 - # CONFIG_POSIX_MQUEUE is not set 65 - # CONFIG_BSD_PROCESS_ACCT is not set 66 - # CONFIG_TASKSTATS is not set 67 - # CONFIG_USER_NS is not set 68 - # CONFIG_PID_NS is not set 69 - # CONFIG_AUDIT is not set 70 - # CONFIG_IKCONFIG is not set 71 - CONFIG_LOG_BUF_SHIFT=14 72 - # CONFIG_CGROUPS is not set 73 - CONFIG_FAIR_GROUP_SCHED=y 74 - CONFIG_FAIR_USER_SCHED=y 75 - # CONFIG_FAIR_CGROUP_SCHED is not set 76 - CONFIG_SYSFS_DEPRECATED=y 77 - # CONFIG_RELAY is not set 78 - # CONFIG_BLK_DEV_INITRD is not set 79 - # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 80 - CONFIG_SYSCTL=y 81 - CONFIG_EMBEDDED=y 82 - # CONFIG_SYSCTL_SYSCALL is not set 83 - CONFIG_KALLSYMS=y 84 - # CONFIG_KALLSYMS_ALL is not set 85 - # CONFIG_KALLSYMS_EXTRA_PASS is not set 86 - CONFIG_HOTPLUG=y 87 - CONFIG_PRINTK=y 88 - CONFIG_BUG=y 89 - # CONFIG_ELF_CORE is not set 90 - # CONFIG_BASE_FULL is not set 91 - # CONFIG_FUTEX is not set 92 - CONFIG_ANON_INODES=y 93 - CONFIG_EPOLL=y 94 - CONFIG_SIGNALFD=y 95 - CONFIG_EVENTFD=y 96 - CONFIG_SHMEM=y 97 - # CONFIG_VM_EVENT_COUNTERS is not set 98 - CONFIG_SLUB_DEBUG=y 99 - # CONFIG_SLAB is not set 100 - CONFIG_SLUB=y 101 - # CONFIG_SLOB is not set 102 - # CONFIG_TINY_SHMEM is not set 103 - CONFIG_BASE_SMALL=1 104 - # CONFIG_MODULES is not set 105 - CONFIG_BLOCK=y 106 - # CONFIG_LBD is not set 107 - # CONFIG_BLK_DEV_IO_TRACE is not set 108 - # CONFIG_LSF is not set 109 - # CONFIG_BLK_DEV_BSG is not set 110 - 111 - # 112 - # IO Schedulers 113 - # 114 - CONFIG_IOSCHED_NOOP=y 115 - # CONFIG_IOSCHED_AS is not set 116 - CONFIG_IOSCHED_DEADLINE=y 117 - # CONFIG_IOSCHED_CFQ is not set 118 - # CONFIG_DEFAULT_AS is not set 119 - CONFIG_DEFAULT_DEADLINE=y 120 - # CONFIG_DEFAULT_CFQ is not set 121 - # CONFIG_DEFAULT_NOOP is not set 122 - CONFIG_DEFAULT_IOSCHED="deadline" 123 - 124 - # 125 - # Platform support 126 - # 127 - # CONFIG_PPC_MPC52xx is not set 128 - # CONFIG_PPC_MPC5200 is not set 129 - # CONFIG_PPC_CELL is not set 130 - # CONFIG_PPC_CELL_NATIVE is not set 131 - CONFIG_CPM1=y 132 - # CONFIG_MPC8XXFADS is not set 133 - # CONFIG_MPC86XADS is not set 134 - # CONFIG_MPC885ADS is not set 135 - # CONFIG_PPC_EP88XC is not set 136 - CONFIG_PPC_ADDER875=y 137 - 138 - # 139 - # MPC8xx CPM Options 140 - # 141 - 142 - # 143 - # Generic MPC8xx Options 144 - # 145 - CONFIG_8xx_COPYBACK=y 146 - # CONFIG_8xx_CPU6 is not set 147 - CONFIG_8xx_CPU15=y 148 - CONFIG_NO_UCODE_PATCH=y 149 - # CONFIG_USB_SOF_UCODE_PATCH is not set 150 - # CONFIG_I2C_SPI_UCODE_PATCH is not set 151 - # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 152 - # CONFIG_PQ2ADS is not set 153 - # CONFIG_MPIC is not set 154 - # CONFIG_MPIC_WEIRD is not set 155 - # CONFIG_PPC_I8259 is not set 156 - # CONFIG_PPC_RTAS is not set 157 - # CONFIG_MMIO_NVRAM is not set 158 - # CONFIG_PPC_MPC106 is not set 159 - # CONFIG_PPC_970_NAP is not set 160 - # CONFIG_PPC_INDIRECT_IO is not set 161 - # CONFIG_GENERIC_IOMAP is not set 162 - # CONFIG_CPU_FREQ is not set 163 - # CONFIG_CPM2 is not set 164 - CONFIG_PPC_CPM_NEW_BINDING=y 165 - # CONFIG_FSL_ULI1575 is not set 166 - CONFIG_CPM=y 167 - 168 - # 169 - # Kernel options 170 - # 171 - # CONFIG_HIGHMEM is not set 172 - # CONFIG_TICK_ONESHOT is not set 173 - # CONFIG_NO_HZ is not set 174 - # CONFIG_HIGH_RES_TIMERS is not set 175 - CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 176 - # CONFIG_HZ_100 is not set 177 - # CONFIG_HZ_250 is not set 178 - # CONFIG_HZ_300 is not set 179 - CONFIG_HZ_1000=y 180 - CONFIG_HZ=1000 181 - CONFIG_PREEMPT_NONE=y 182 - # CONFIG_PREEMPT_VOLUNTARY is not set 183 - # CONFIG_PREEMPT is not set 184 - CONFIG_BINFMT_ELF=y 185 - # CONFIG_BINFMT_MISC is not set 186 - # CONFIG_MATH_EMULATION is not set 187 - # CONFIG_8XX_MINIMAL_FPEMU is not set 188 - CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 189 - CONFIG_ARCH_FLATMEM_ENABLE=y 190 - CONFIG_ARCH_POPULATES_NODE_MAP=y 191 - CONFIG_SELECT_MEMORY_MODEL=y 192 - CONFIG_FLATMEM_MANUAL=y 193 - # CONFIG_DISCONTIGMEM_MANUAL is not set 194 - # CONFIG_SPARSEMEM_MANUAL is not set 195 - CONFIG_FLATMEM=y 196 - CONFIG_FLAT_NODE_MEM_MAP=y 197 - # CONFIG_SPARSEMEM_STATIC is not set 198 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 199 - CONFIG_SPLIT_PTLOCK_CPUS=4 200 - # CONFIG_RESOURCES_64BIT is not set 201 - CONFIG_ZONE_DMA_FLAG=1 202 - CONFIG_BOUNCE=y 203 - CONFIG_VIRT_TO_BUS=y 204 - # CONFIG_PROC_DEVICETREE is not set 205 - # CONFIG_CMDLINE_BOOL is not set 206 - # CONFIG_PM is not set 207 - CONFIG_SUSPEND_UP_POSSIBLE=y 208 - CONFIG_HIBERNATION_UP_POSSIBLE=y 209 - # CONFIG_SECCOMP is not set 210 - CONFIG_WANT_DEVICE_TREE=y 211 - CONFIG_DEVICE_TREE="adder875-redboot.dts" 212 - CONFIG_ISA_DMA_API=y 213 - 214 - # 215 - # Bus options 216 - # 217 - CONFIG_ZONE_DMA=y 218 - CONFIG_FSL_SOC=y 219 - # CONFIG_PCI is not set 220 - # CONFIG_PCI_DOMAINS is not set 221 - # CONFIG_PCI_SYSCALL is not set 222 - # CONFIG_PCI_QSPAN is not set 223 - # CONFIG_ARCH_SUPPORTS_MSI is not set 224 - # CONFIG_PCCARD is not set 225 - 226 - # 227 - # Advanced setup 228 - # 229 - # CONFIG_ADVANCED_OPTIONS is not set 230 - 231 - # 232 - # Default settings for advanced configuration options are used 233 - # 234 - CONFIG_HIGHMEM_START=0xfe000000 235 - CONFIG_LOWMEM_SIZE=0x30000000 236 - CONFIG_KERNEL_START=0xc0000000 237 - CONFIG_TASK_SIZE=0x80000000 238 - CONFIG_CONSISTENT_START=0xfd000000 239 - CONFIG_CONSISTENT_SIZE=0x00200000 240 - CONFIG_BOOT_LOAD=0x00400000 241 - 242 - # 243 - # Networking 244 - # 245 - CONFIG_NET=y 246 - 247 - # 248 - # Networking options 249 - # 250 - CONFIG_PACKET=y 251 - # CONFIG_PACKET_MMAP is not set 252 - CONFIG_UNIX=y 253 - # CONFIG_NET_KEY is not set 254 - CONFIG_INET=y 255 - CONFIG_IP_MULTICAST=y 256 - # CONFIG_IP_ADVANCED_ROUTER is not set 257 - CONFIG_IP_FIB_HASH=y 258 - CONFIG_IP_PNP=y 259 - # CONFIG_IP_PNP_DHCP is not set 260 - # CONFIG_IP_PNP_BOOTP is not set 261 - # CONFIG_IP_PNP_RARP is not set 262 - # CONFIG_NET_IPIP is not set 263 - # CONFIG_NET_IPGRE is not set 264 - # CONFIG_IP_MROUTE is not set 265 - # CONFIG_ARPD is not set 266 - CONFIG_SYN_COOKIES=y 267 - # CONFIG_INET_AH is not set 268 - # CONFIG_INET_ESP is not set 269 - # CONFIG_INET_IPCOMP is not set 270 - # CONFIG_INET_XFRM_TUNNEL is not set 271 - # CONFIG_INET_TUNNEL is not set 272 - # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 273 - # CONFIG_INET_XFRM_MODE_TUNNEL is not set 274 - # CONFIG_INET_XFRM_MODE_BEET is not set 275 - # CONFIG_INET_LRO is not set 276 - CONFIG_INET_DIAG=y 277 - CONFIG_INET_TCP_DIAG=y 278 - # CONFIG_TCP_CONG_ADVANCED is not set 279 - CONFIG_TCP_CONG_CUBIC=y 280 - CONFIG_DEFAULT_TCP_CONG="cubic" 281 - # CONFIG_TCP_MD5SIG is not set 282 - # CONFIG_IPV6 is not set 283 - # CONFIG_INET6_XFRM_TUNNEL is not set 284 - # CONFIG_INET6_TUNNEL is not set 285 - # CONFIG_NETWORK_SECMARK is not set 286 - # CONFIG_NETFILTER is not set 287 - # CONFIG_IP_DCCP is not set 288 - # CONFIG_IP_SCTP is not set 289 - # CONFIG_TIPC is not set 290 - # CONFIG_ATM is not set 291 - # CONFIG_BRIDGE is not set 292 - # CONFIG_VLAN_8021Q is not set 293 - # CONFIG_DECNET is not set 294 - # CONFIG_LLC2 is not set 295 - # CONFIG_IPX is not set 296 - # CONFIG_ATALK is not set 297 - # CONFIG_X25 is not set 298 - # CONFIG_LAPB is not set 299 - # CONFIG_ECONET is not set 300 - # CONFIG_WAN_ROUTER is not set 301 - # CONFIG_NET_SCHED is not set 302 - 303 - # 304 - # Network testing 305 - # 306 - # CONFIG_NET_PKTGEN is not set 307 - # CONFIG_HAMRADIO is not set 308 - # CONFIG_IRDA is not set 309 - # CONFIG_BT is not set 310 - # CONFIG_AF_RXRPC is not set 311 - 312 - # 313 - # Wireless 314 - # 315 - # CONFIG_CFG80211 is not set 316 - # CONFIG_WIRELESS_EXT is not set 317 - # CONFIG_MAC80211 is not set 318 - # CONFIG_IEEE80211 is not set 319 - # CONFIG_RFKILL is not set 320 - # CONFIG_NET_9P is not set 321 - 322 - # 323 - # Device Drivers 324 - # 325 - 326 - # 327 - # Generic Driver Options 328 - # 329 - CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 330 - CONFIG_STANDALONE=y 331 - CONFIG_PREVENT_FIRMWARE_BUILD=y 332 - # CONFIG_FW_LOADER is not set 333 - # CONFIG_DEBUG_DRIVER is not set 334 - # CONFIG_DEBUG_DEVRES is not set 335 - # CONFIG_SYS_HYPERVISOR is not set 336 - # CONFIG_CONNECTOR is not set 337 - CONFIG_MTD=y 338 - # CONFIG_MTD_DEBUG is not set 339 - # CONFIG_MTD_CONCAT is not set 340 - # CONFIG_MTD_PARTITIONS is not set 341 - 342 - # 343 - # User Modules And Translation Layers 344 - # 345 - CONFIG_MTD_CHAR=y 346 - CONFIG_MTD_BLKDEVS=y 347 - CONFIG_MTD_BLOCK=y 348 - # CONFIG_FTL is not set 349 - # CONFIG_NFTL is not set 350 - # CONFIG_INFTL is not set 351 - # CONFIG_RFD_FTL is not set 352 - # CONFIG_SSFDC is not set 353 - # CONFIG_MTD_OOPS is not set 354 - 355 - # 356 - # RAM/ROM/Flash chip drivers 357 - # 358 - CONFIG_MTD_CFI=y 359 - # CONFIG_MTD_JEDECPROBE is not set 360 - CONFIG_MTD_GEN_PROBE=y 361 - # CONFIG_MTD_CFI_ADV_OPTIONS is not set 362 - CONFIG_MTD_MAP_BANK_WIDTH_1=y 363 - CONFIG_MTD_MAP_BANK_WIDTH_2=y 364 - CONFIG_MTD_MAP_BANK_WIDTH_4=y 365 - # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set 366 - # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set 367 - # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set 368 - CONFIG_MTD_CFI_I1=y 369 - CONFIG_MTD_CFI_I2=y 370 - # CONFIG_MTD_CFI_I4 is not set 371 - # CONFIG_MTD_CFI_I8 is not set 372 - # CONFIG_MTD_CFI_INTELEXT is not set 373 - CONFIG_MTD_CFI_AMDSTD=y 374 - # CONFIG_MTD_CFI_STAA is not set 375 - CONFIG_MTD_CFI_UTIL=y 376 - # CONFIG_MTD_RAM is not set 377 - # CONFIG_MTD_ROM is not set 378 - # CONFIG_MTD_ABSENT is not set 379 - 380 - # 381 - # Mapping drivers for chip access 382 - # 383 - # CONFIG_MTD_COMPLEX_MAPPINGS is not set 384 - # CONFIG_MTD_PHYSMAP is not set 385 - CONFIG_MTD_PHYSMAP_OF=y 386 - # CONFIG_MTD_CFI_FLAGADM is not set 387 - # CONFIG_MTD_PLATRAM is not set 388 - 389 - # 390 - # Self-contained MTD device drivers 391 - # 392 - # CONFIG_MTD_SLRAM is not set 393 - # CONFIG_MTD_PHRAM is not set 394 - # CONFIG_MTD_MTDRAM is not set 395 - # CONFIG_MTD_BLOCK2MTD is not set 396 - 397 - # 398 - # Disk-On-Chip Device Drivers 399 - # 400 - # CONFIG_MTD_DOC2000 is not set 401 - # CONFIG_MTD_DOC2001 is not set 402 - # CONFIG_MTD_DOC2001PLUS is not set 403 - # CONFIG_MTD_NAND is not set 404 - # CONFIG_MTD_ONENAND is not set 405 - 406 - # 407 - # UBI - Unsorted block images 408 - # 409 - # CONFIG_MTD_UBI is not set 410 - CONFIG_OF_DEVICE=y 411 - # CONFIG_PARPORT is not set 412 - # CONFIG_BLK_DEV is not set 413 - # CONFIG_MISC_DEVICES is not set 414 - # CONFIG_IDE is not set 415 - 416 - # 417 - # SCSI device support 418 - # 419 - # CONFIG_RAID_ATTRS is not set 420 - # CONFIG_SCSI is not set 421 - # CONFIG_SCSI_DMA is not set 422 - # CONFIG_SCSI_NETLINK is not set 423 - # CONFIG_ATA is not set 424 - # CONFIG_MD is not set 425 - # CONFIG_MACINTOSH_DRIVERS is not set 426 - CONFIG_NETDEVICES=y 427 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 428 - # CONFIG_DUMMY is not set 429 - # CONFIG_BONDING is not set 430 - # CONFIG_MACVLAN is not set 431 - # CONFIG_EQUALIZER is not set 432 - # CONFIG_TUN is not set 433 - # CONFIG_VETH is not set 434 - CONFIG_PHYLIB=y 435 - 436 - # 437 - # MII PHY device drivers 438 - # 439 - # CONFIG_MARVELL_PHY is not set 440 - CONFIG_DAVICOM_PHY=y 441 - # CONFIG_QSEMI_PHY is not set 442 - # CONFIG_LXT_PHY is not set 443 - # CONFIG_CICADA_PHY is not set 444 - # CONFIG_VITESSE_PHY is not set 445 - # CONFIG_SMSC_PHY is not set 446 - # CONFIG_BROADCOM_PHY is not set 447 - # CONFIG_ICPLUS_PHY is not set 448 - # CONFIG_FIXED_PHY is not set 449 - # CONFIG_MDIO_BITBANG is not set 450 - CONFIG_NET_ETHERNET=y 451 - CONFIG_MII=y 452 - # CONFIG_IBM_NEW_EMAC_ZMII is not set 453 - # CONFIG_IBM_NEW_EMAC_RGMII is not set 454 - # CONFIG_IBM_NEW_EMAC_TAH is not set 455 - # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 456 - # CONFIG_B44 is not set 457 - CONFIG_FS_ENET=y 458 - # CONFIG_FS_ENET_HAS_SCC is not set 459 - CONFIG_FS_ENET_HAS_FEC=y 460 - CONFIG_FS_ENET_MDIO_FEC=y 461 - # CONFIG_NETDEV_1000 is not set 462 - # CONFIG_NETDEV_10000 is not set 463 - 464 - # 465 - # Wireless LAN 466 - # 467 - # CONFIG_WLAN_PRE80211 is not set 468 - # CONFIG_WLAN_80211 is not set 469 - # CONFIG_WAN is not set 470 - # CONFIG_PPP is not set 471 - # CONFIG_SLIP is not set 472 - # CONFIG_SHAPER is not set 473 - # CONFIG_NETCONSOLE is not set 474 - # CONFIG_NETPOLL is not set 475 - # CONFIG_NET_POLL_CONTROLLER is not set 476 - # CONFIG_ISDN is not set 477 - # CONFIG_PHONE is not set 478 - 479 - # 480 - # Input device support 481 - # 482 - CONFIG_INPUT=y 483 - # CONFIG_INPUT_FF_MEMLESS is not set 484 - # CONFIG_INPUT_POLLDEV is not set 485 - 486 - # 487 - # Userland interfaces 488 - # 489 - CONFIG_INPUT_MOUSEDEV=y 490 - CONFIG_INPUT_MOUSEDEV_PSAUX=y 491 - CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 492 - CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 493 - # CONFIG_INPUT_JOYDEV is not set 494 - # CONFIG_INPUT_EVDEV is not set 495 - # CONFIG_INPUT_EVBUG is not set 496 - 497 - # 498 - # Input Device Drivers 499 - # 500 - CONFIG_INPUT_KEYBOARD=y 501 - CONFIG_KEYBOARD_ATKBD=y 502 - # CONFIG_KEYBOARD_SUNKBD is not set 503 - # CONFIG_KEYBOARD_LKKBD is not set 504 - # CONFIG_KEYBOARD_XTKBD is not set 505 - # CONFIG_KEYBOARD_NEWTON is not set 506 - # CONFIG_KEYBOARD_STOWAWAY is not set 507 - CONFIG_INPUT_MOUSE=y 508 - CONFIG_MOUSE_PS2=y 509 - CONFIG_MOUSE_PS2_ALPS=y 510 - CONFIG_MOUSE_PS2_LOGIPS2PP=y 511 - CONFIG_MOUSE_PS2_SYNAPTICS=y 512 - CONFIG_MOUSE_PS2_LIFEBOOK=y 513 - CONFIG_MOUSE_PS2_TRACKPOINT=y 514 - # CONFIG_MOUSE_PS2_TOUCHKIT is not set 515 - # CONFIG_MOUSE_SERIAL is not set 516 - # CONFIG_MOUSE_VSXXXAA is not set 517 - # CONFIG_INPUT_JOYSTICK is not set 518 - # CONFIG_INPUT_TABLET is not set 519 - # CONFIG_INPUT_TOUCHSCREEN is not set 520 - # CONFIG_INPUT_MISC is not set 521 - 522 - # 523 - # Hardware I/O ports 524 - # 525 - CONFIG_SERIO=y 526 - CONFIG_SERIO_I8042=y 527 - CONFIG_SERIO_SERPORT=y 528 - CONFIG_SERIO_LIBPS2=y 529 - # CONFIG_SERIO_RAW is not set 530 - # CONFIG_GAMEPORT is not set 531 - 532 - # 533 - # Character devices 534 - # 535 - # CONFIG_VT is not set 536 - # CONFIG_SERIAL_NONSTANDARD is not set 537 - 538 - # 539 - # Serial drivers 540 - # 541 - # CONFIG_SERIAL_8250 is not set 542 - 543 - # 544 - # Non-8250 serial port support 545 - # 546 - # CONFIG_SERIAL_UARTLITE is not set 547 - CONFIG_SERIAL_CORE=y 548 - CONFIG_SERIAL_CORE_CONSOLE=y 549 - CONFIG_SERIAL_CPM=y 550 - CONFIG_SERIAL_CPM_CONSOLE=y 551 - # CONFIG_SERIAL_CPM_SCC1 is not set 552 - # CONFIG_SERIAL_CPM_SCC2 is not set 553 - # CONFIG_SERIAL_CPM_SCC3 is not set 554 - # CONFIG_SERIAL_CPM_SCC4 is not set 555 - CONFIG_SERIAL_CPM_SMC1=y 556 - CONFIG_SERIAL_CPM_SMC2=y 557 - CONFIG_UNIX98_PTYS=y 558 - # CONFIG_LEGACY_PTYS is not set 559 - # CONFIG_IPMI_HANDLER is not set 560 - CONFIG_HW_RANDOM=y 561 - # CONFIG_NVRAM is not set 562 - CONFIG_GEN_RTC=y 563 - # CONFIG_GEN_RTC_X is not set 564 - # CONFIG_R3964 is not set 565 - # CONFIG_RAW_DRIVER is not set 566 - # CONFIG_TCG_TPM is not set 567 - # CONFIG_I2C is not set 568 - 569 - # 570 - # SPI support 571 - # 572 - # CONFIG_SPI is not set 573 - # CONFIG_SPI_MASTER is not set 574 - # CONFIG_W1 is not set 575 - # CONFIG_POWER_SUPPLY is not set 576 - # CONFIG_HWMON is not set 577 - # CONFIG_WATCHDOG is not set 578 - 579 - # 580 - # Sonics Silicon Backplane 581 - # 582 - CONFIG_SSB_POSSIBLE=y 583 - # CONFIG_SSB is not set 584 - 585 - # 586 - # Multifunction device drivers 587 - # 588 - # CONFIG_MFD_SM501 is not set 589 - 590 - # 591 - # Multimedia devices 592 - # 593 - # CONFIG_VIDEO_DEV is not set 594 - # CONFIG_DVB_CORE is not set 595 - CONFIG_DAB=y 596 - 597 - # 598 - # Graphics support 599 - # 600 - # CONFIG_VGASTATE is not set 601 - CONFIG_VIDEO_OUTPUT_CONTROL=y 602 - # CONFIG_FB is not set 603 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 604 - 605 - # 606 - # Display device support 607 - # 608 - # CONFIG_DISPLAY_SUPPORT is not set 609 - 610 - # 611 - # Sound 612 - # 613 - # CONFIG_SOUND is not set 614 - # CONFIG_HID_SUPPORT is not set 615 - # CONFIG_USB_SUPPORT is not set 616 - # CONFIG_MMC is not set 617 - # CONFIG_NEW_LEDS is not set 618 - # CONFIG_EDAC is not set 619 - # CONFIG_RTC_CLASS is not set 620 - 621 - # 622 - # Userspace I/O 623 - # 624 - # CONFIG_UIO is not set 625 - 626 - # 627 - # File systems 628 - # 629 - # CONFIG_EXT2_FS is not set 630 - # CONFIG_EXT3_FS is not set 631 - # CONFIG_EXT4DEV_FS is not set 632 - # CONFIG_REISERFS_FS is not set 633 - # CONFIG_JFS_FS is not set 634 - # CONFIG_FS_POSIX_ACL is not set 635 - # CONFIG_XFS_FS is not set 636 - # CONFIG_GFS2_FS is not set 637 - # CONFIG_OCFS2_FS is not set 638 - # CONFIG_MINIX_FS is not set 639 - # CONFIG_ROMFS_FS is not set 640 - # CONFIG_INOTIFY is not set 641 - # CONFIG_QUOTA is not set 642 - # CONFIG_DNOTIFY is not set 643 - # CONFIG_AUTOFS_FS is not set 644 - # CONFIG_AUTOFS4_FS is not set 645 - # CONFIG_FUSE_FS is not set 646 - 647 - # 648 - # CD-ROM/DVD Filesystems 649 - # 650 - # CONFIG_ISO9660_FS is not set 651 - # CONFIG_UDF_FS is not set 652 - 653 - # 654 - # DOS/FAT/NT Filesystems 655 - # 656 - # CONFIG_MSDOS_FS is not set 657 - # CONFIG_VFAT_FS is not set 658 - # CONFIG_NTFS_FS is not set 659 - 660 - # 661 - # Pseudo filesystems 662 - # 663 - CONFIG_PROC_FS=y 664 - # CONFIG_PROC_KCORE is not set 665 - CONFIG_PROC_SYSCTL=y 666 - CONFIG_SYSFS=y 667 - CONFIG_TMPFS=y 668 - # CONFIG_TMPFS_POSIX_ACL is not set 669 - # CONFIG_HUGETLB_PAGE is not set 670 - # CONFIG_CONFIGFS_FS is not set 671 - 672 - # 673 - # Miscellaneous filesystems 674 - # 675 - # CONFIG_ADFS_FS is not set 676 - # CONFIG_AFFS_FS is not set 677 - # CONFIG_HFS_FS is not set 678 - # CONFIG_HFSPLUS_FS is not set 679 - # CONFIG_BEFS_FS is not set 680 - # CONFIG_BFS_FS is not set 681 - # CONFIG_EFS_FS is not set 682 - # CONFIG_JFFS2_FS is not set 683 - CONFIG_CRAMFS=y 684 - # CONFIG_VXFS_FS is not set 685 - # CONFIG_HPFS_FS is not set 686 - # CONFIG_QNX4FS_FS is not set 687 - # CONFIG_SYSV_FS is not set 688 - # CONFIG_UFS_FS is not set 689 - CONFIG_NETWORK_FILESYSTEMS=y 690 - CONFIG_NFS_FS=y 691 - CONFIG_NFS_V3=y 692 - # CONFIG_NFS_V3_ACL is not set 693 - # CONFIG_NFS_V4 is not set 694 - # CONFIG_NFS_DIRECTIO is not set 695 - # CONFIG_NFSD is not set 696 - CONFIG_ROOT_NFS=y 697 - CONFIG_LOCKD=y 698 - CONFIG_LOCKD_V4=y 699 - CONFIG_NFS_COMMON=y 700 - CONFIG_SUNRPC=y 701 - # CONFIG_SUNRPC_BIND34 is not set 702 - # CONFIG_RPCSEC_GSS_KRB5 is not set 703 - # CONFIG_RPCSEC_GSS_SPKM3 is not set 704 - # CONFIG_SMB_FS is not set 705 - # CONFIG_CIFS is not set 706 - # CONFIG_NCP_FS is not set 707 - # CONFIG_CODA_FS is not set 708 - # CONFIG_AFS_FS is not set 709 - 710 - # 711 - # Partition Types 712 - # 713 - CONFIG_PARTITION_ADVANCED=y 714 - # CONFIG_ACORN_PARTITION is not set 715 - # CONFIG_OSF_PARTITION is not set 716 - # CONFIG_AMIGA_PARTITION is not set 717 - # CONFIG_ATARI_PARTITION is not set 718 - # CONFIG_MAC_PARTITION is not set 719 - CONFIG_MSDOS_PARTITION=y 720 - # CONFIG_BSD_DISKLABEL is not set 721 - # CONFIG_MINIX_SUBPARTITION is not set 722 - # CONFIG_SOLARIS_X86_PARTITION is not set 723 - # CONFIG_UNIXWARE_DISKLABEL is not set 724 - # CONFIG_LDM_PARTITION is not set 725 - # CONFIG_SGI_PARTITION is not set 726 - # CONFIG_ULTRIX_PARTITION is not set 727 - # CONFIG_SUN_PARTITION is not set 728 - # CONFIG_KARMA_PARTITION is not set 729 - # CONFIG_EFI_PARTITION is not set 730 - # CONFIG_SYSV68_PARTITION is not set 731 - # CONFIG_NLS is not set 732 - # CONFIG_DLM is not set 733 - # CONFIG_UCC_SLOW is not set 734 - 735 - # 736 - # Library routines 737 - # 738 - # CONFIG_CRC_CCITT is not set 739 - # CONFIG_CRC16 is not set 740 - # CONFIG_CRC_ITU_T is not set 741 - # CONFIG_CRC32 is not set 742 - # CONFIG_CRC7 is not set 743 - # CONFIG_LIBCRC32C is not set 744 - CONFIG_ZLIB_INFLATE=y 745 - CONFIG_HAS_IOMEM=y 746 - CONFIG_HAS_IOPORT=y 747 - CONFIG_HAS_DMA=y 748 - CONFIG_INSTRUMENTATION=y 749 - # CONFIG_PROFILING is not set 750 - # CONFIG_MARKERS is not set 751 - 752 - # 753 - # Kernel hacking 754 - # 755 - # CONFIG_PRINTK_TIME is not set 756 - CONFIG_ENABLE_WARN_DEPRECATED=y 757 - CONFIG_ENABLE_MUST_CHECK=y 758 - CONFIG_MAGIC_SYSRQ=y 759 - # CONFIG_UNUSED_SYMBOLS is not set 760 - # CONFIG_DEBUG_FS is not set 761 - # CONFIG_HEADERS_CHECK is not set 762 - CONFIG_DEBUG_KERNEL=y 763 - # CONFIG_DEBUG_SHIRQ is not set 764 - CONFIG_DETECT_SOFTLOCKUP=y 765 - CONFIG_SCHED_DEBUG=y 766 - # CONFIG_SCHEDSTATS is not set 767 - # CONFIG_TIMER_STATS is not set 768 - # CONFIG_SLUB_DEBUG_ON is not set 769 - # CONFIG_DEBUG_SPINLOCK is not set 770 - # CONFIG_DEBUG_MUTEXES is not set 771 - # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 772 - # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 773 - # CONFIG_DEBUG_KOBJECT is not set 774 - CONFIG_DEBUG_BUGVERBOSE=y 775 - CONFIG_DEBUG_INFO=y 776 - # CONFIG_DEBUG_VM is not set 777 - # CONFIG_DEBUG_LIST is not set 778 - # CONFIG_DEBUG_SG is not set 779 - CONFIG_FORCED_INLINING=y 780 - # CONFIG_BOOT_PRINTK_DELAY is not set 781 - # CONFIG_FAULT_INJECTION is not set 782 - # CONFIG_SAMPLES is not set 783 - # CONFIG_DEBUG_STACKOVERFLOW is not set 784 - # CONFIG_DEBUG_STACK_USAGE is not set 785 - # CONFIG_DEBUG_PAGEALLOC is not set 786 - # CONFIG_DEBUGGER is not set 787 - # CONFIG_BDI_SWITCH is not set 788 - # CONFIG_PPC_EARLY_DEBUG is not set 789 - 790 - # 791 - # Security options 792 - # 793 - # CONFIG_KEYS is not set 794 - # CONFIG_SECURITY is not set 795 - # CONFIG_SECURITY_FILE_CAPABILITIES is not set 796 - # CONFIG_CRYPTO is not set 797 - # CONFIG_PPC_CLOCK is not set 798 - CONFIG_PPC_LIB_RHEAP=y
+38 -23
arch/powerpc/configs/adder875-uboot_defconfig arch/powerpc/configs/adder875_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc6 4 - # Thu Jan 17 16:17:18 2008 3 + # Linux kernel version: 2.6.25-rc2 4 + # Wed Feb 20 12:26:07 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 26 26 CONFIG_GENERIC_TIME_VSYSCALL=y 27 27 CONFIG_GENERIC_CLOCKEVENTS=y 28 28 CONFIG_GENERIC_HARDIRQS=y 29 + # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 29 30 CONFIG_IRQ_PER_CPU=y 30 31 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31 32 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 65 64 # CONFIG_POSIX_MQUEUE is not set 66 65 # CONFIG_BSD_PROCESS_ACCT is not set 67 66 # CONFIG_TASKSTATS is not set 68 - # CONFIG_USER_NS is not set 69 - # CONFIG_PID_NS is not set 70 67 # CONFIG_AUDIT is not set 71 68 # CONFIG_IKCONFIG is not set 72 69 CONFIG_LOG_BUF_SHIFT=14 73 70 # CONFIG_CGROUPS is not set 71 + CONFIG_GROUP_SCHED=y 74 72 CONFIG_FAIR_GROUP_SCHED=y 75 - CONFIG_FAIR_USER_SCHED=y 76 - # CONFIG_FAIR_CGROUP_SCHED is not set 73 + # CONFIG_RT_GROUP_SCHED is not set 74 + CONFIG_USER_SCHED=y 75 + # CONFIG_CGROUP_SCHED is not set 77 76 CONFIG_SYSFS_DEPRECATED=y 78 77 # CONFIG_RELAY is not set 78 + # CONFIG_NAMESPACES is not set 79 79 # CONFIG_BLK_DEV_INITRD is not set 80 80 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 81 81 CONFIG_SYSCTL=y ··· 89 87 CONFIG_PRINTK=y 90 88 CONFIG_BUG=y 91 89 # CONFIG_ELF_CORE is not set 90 + CONFIG_COMPAT_BRK=y 92 91 # CONFIG_BASE_FULL is not set 93 92 # CONFIG_FUTEX is not set 94 93 CONFIG_ANON_INODES=y 95 94 CONFIG_EPOLL=y 96 95 CONFIG_SIGNALFD=y 96 + CONFIG_TIMERFD=y 97 97 CONFIG_EVENTFD=y 98 98 CONFIG_SHMEM=y 99 99 # CONFIG_VM_EVENT_COUNTERS is not set ··· 103 99 # CONFIG_SLAB is not set 104 100 CONFIG_SLUB=y 105 101 # CONFIG_SLOB is not set 102 + # CONFIG_PROFILING is not set 103 + # CONFIG_MARKERS is not set 104 + CONFIG_HAVE_OPROFILE=y 105 + CONFIG_HAVE_KPROBES=y 106 + CONFIG_PROC_PAGE_MONITOR=y 107 + CONFIG_SLABINFO=y 106 108 # CONFIG_TINY_SHMEM is not set 107 109 CONFIG_BASE_SMALL=1 108 110 # CONFIG_MODULES is not set ··· 130 120 # CONFIG_DEFAULT_CFQ is not set 131 121 # CONFIG_DEFAULT_NOOP is not set 132 122 CONFIG_DEFAULT_IOSCHED="deadline" 123 + CONFIG_CLASSIC_RCU=y 124 + # CONFIG_PREEMPT_RCU is not set 133 125 134 126 # 135 127 # Platform support 136 128 # 137 - # CONFIG_PPC_MPC52xx is not set 138 - # CONFIG_PPC_MPC5200 is not set 129 + # CONFIG_PPC_MPC512x is not set 130 + # CONFIG_PPC_MPC5121 is not set 139 131 # CONFIG_PPC_CELL is not set 140 132 # CONFIG_PPC_CELL_NATIVE is not set 141 133 CONFIG_CPM1=y ··· 162 150 # CONFIG_I2C_SPI_UCODE_PATCH is not set 163 151 # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 164 152 # CONFIG_PQ2ADS is not set 153 + # CONFIG_IPIC is not set 165 154 # CONFIG_MPIC is not set 166 155 # CONFIG_MPIC_WEIRD is not set 167 156 # CONFIG_PPC_I8259 is not set ··· 173 160 # CONFIG_PPC_INDIRECT_IO is not set 174 161 # CONFIG_GENERIC_IOMAP is not set 175 162 # CONFIG_CPU_FREQ is not set 176 - # CONFIG_CPM2 is not set 177 163 CONFIG_PPC_CPM_NEW_BINDING=y 178 164 # CONFIG_FSL_ULI1575 is not set 179 165 CONFIG_CPM=y ··· 190 178 # CONFIG_HZ_300 is not set 191 179 CONFIG_HZ_1000=y 192 180 CONFIG_HZ=1000 181 + # CONFIG_SCHED_HRTICK is not set 193 182 CONFIG_PREEMPT_NONE=y 194 183 # CONFIG_PREEMPT_VOLUNTARY is not set 195 184 # CONFIG_PREEMPT is not set 185 + CONFIG_RCU_TRACE=y 196 186 CONFIG_BINFMT_ELF=y 197 187 # CONFIG_BINFMT_MISC is not set 198 188 # CONFIG_MATH_EMULATION is not set 199 189 # CONFIG_8XX_MINIMAL_FPEMU is not set 190 + # CONFIG_IOMMU_HELPER is not set 200 191 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 192 + CONFIG_ARCH_HAS_WALK_MEMORY=y 193 + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 201 194 CONFIG_ARCH_FLATMEM_ENABLE=y 202 195 CONFIG_ARCH_POPULATES_NODE_MAP=y 203 196 CONFIG_SELECT_MEMORY_MODEL=y ··· 221 204 # CONFIG_PROC_DEVICETREE is not set 222 205 # CONFIG_CMDLINE_BOOL is not set 223 206 # CONFIG_PM is not set 224 - CONFIG_SUSPEND_UP_POSSIBLE=y 225 - CONFIG_HIBERNATION_UP_POSSIBLE=y 226 207 # CONFIG_SECCOMP is not set 227 - CONFIG_WANT_DEVICE_TREE=y 228 - CONFIG_DEVICE_TREE="adder875-uboot.dts" 229 208 CONFIG_ISA_DMA_API=y 230 209 231 210 # ··· 318 305 # 319 306 # CONFIG_NET_PKTGEN is not set 320 307 # CONFIG_HAMRADIO is not set 308 + # CONFIG_CAN is not set 321 309 # CONFIG_IRDA is not set 322 310 # CONFIG_BT is not set 323 311 # CONFIG_AF_RXRPC is not set ··· 425 411 # CONFIG_PARPORT is not set 426 412 # CONFIG_BLK_DEV is not set 427 413 # CONFIG_MISC_DEVICES is not set 414 + CONFIG_HAVE_IDE=y 428 415 # CONFIG_IDE is not set 429 416 430 417 # ··· 460 445 # CONFIG_SMSC_PHY is not set 461 446 # CONFIG_BROADCOM_PHY is not set 462 447 # CONFIG_ICPLUS_PHY is not set 448 + # CONFIG_REALTEK_PHY is not set 463 449 # CONFIG_FIXED_PHY is not set 464 450 # CONFIG_MDIO_BITBANG is not set 465 451 CONFIG_NET_ETHERNET=y ··· 485 469 # CONFIG_WAN is not set 486 470 # CONFIG_PPP is not set 487 471 # CONFIG_SLIP is not set 488 - # CONFIG_SHAPER is not set 489 472 # CONFIG_NETCONSOLE is not set 490 473 # CONFIG_NETPOLL is not set 491 474 # CONFIG_NET_POLL_CONTROLLER is not set ··· 589 574 # CONFIG_W1 is not set 590 575 # CONFIG_POWER_SUPPLY is not set 591 576 # CONFIG_HWMON is not set 577 + CONFIG_THERMAL=y 592 578 # CONFIG_WATCHDOG is not set 593 579 594 580 # ··· 630 614 # CONFIG_HID_SUPPORT is not set 631 615 # CONFIG_USB_SUPPORT is not set 632 616 # CONFIG_MMC is not set 617 + # CONFIG_MEMSTICK is not set 633 618 # CONFIG_NEW_LEDS is not set 634 619 # CONFIG_EDAC is not set 635 620 # CONFIG_RTC_CLASS is not set ··· 652 635 # CONFIG_XFS_FS is not set 653 636 # CONFIG_GFS2_FS is not set 654 637 # CONFIG_OCFS2_FS is not set 655 - # CONFIG_MINIX_FS is not set 656 - # CONFIG_ROMFS_FS is not set 638 + # CONFIG_DNOTIFY is not set 657 639 # CONFIG_INOTIFY is not set 658 640 # CONFIG_QUOTA is not set 659 - # CONFIG_DNOTIFY is not set 660 641 # CONFIG_AUTOFS_FS is not set 661 642 # CONFIG_AUTOFS4_FS is not set 662 643 # CONFIG_FUSE_FS is not set ··· 697 682 # CONFIG_JFFS2_FS is not set 698 683 CONFIG_CRAMFS=y 699 684 # CONFIG_VXFS_FS is not set 685 + # CONFIG_MINIX_FS is not set 700 686 # CONFIG_HPFS_FS is not set 701 687 # CONFIG_QNX4FS_FS is not set 688 + # CONFIG_ROMFS_FS is not set 702 689 # CONFIG_SYSV_FS is not set 703 690 # CONFIG_UFS_FS is not set 704 691 CONFIG_NETWORK_FILESYSTEMS=y ··· 747 730 # CONFIG_SYSV68_PARTITION is not set 748 731 # CONFIG_NLS is not set 749 732 # CONFIG_DLM is not set 750 - # CONFIG_UCC_SLOW is not set 751 733 752 734 # 753 735 # Library routines ··· 761 745 CONFIG_HAS_IOMEM=y 762 746 CONFIG_HAS_IOPORT=y 763 747 CONFIG_HAS_DMA=y 764 - CONFIG_INSTRUMENTATION=y 765 - # CONFIG_PROFILING is not set 766 - # CONFIG_MARKERS is not set 767 748 768 749 # 769 750 # Kernel hacking ··· 770 757 CONFIG_ENABLE_MUST_CHECK=y 771 758 CONFIG_MAGIC_SYSRQ=y 772 759 # CONFIG_UNUSED_SYMBOLS is not set 773 - # CONFIG_DEBUG_FS is not set 760 + CONFIG_DEBUG_FS=y 774 761 # CONFIG_HEADERS_CHECK is not set 775 762 CONFIG_DEBUG_KERNEL=y 776 763 # CONFIG_DEBUG_SHIRQ is not set ··· 779 766 # CONFIG_SCHEDSTATS is not set 780 767 # CONFIG_TIMER_STATS is not set 781 768 # CONFIG_SLUB_DEBUG_ON is not set 769 + # CONFIG_SLUB_STATS is not set 782 770 # CONFIG_DEBUG_SPINLOCK is not set 783 771 # CONFIG_DEBUG_MUTEXES is not set 784 772 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set ··· 790 776 # CONFIG_DEBUG_VM is not set 791 777 # CONFIG_DEBUG_LIST is not set 792 778 # CONFIG_DEBUG_SG is not set 793 - CONFIG_FORCED_INLINING=y 794 779 # CONFIG_BOOT_PRINTK_DELAY is not set 780 + # CONFIG_BACKTRACE_SELF_TEST is not set 795 781 # CONFIG_FAULT_INJECTION is not set 796 782 # CONFIG_SAMPLES is not set 797 783 # CONFIG_DEBUG_STACKOVERFLOW is not set 798 784 # CONFIG_DEBUG_STACK_USAGE is not set 799 785 # CONFIG_DEBUG_PAGEALLOC is not set 800 786 # CONFIG_DEBUGGER is not set 787 + # CONFIG_VIRQ_DEBUG is not set 801 788 # CONFIG_BDI_SWITCH is not set 802 789 # CONFIG_PPC_EARLY_DEBUG is not set 803 790
+29 -1
arch/powerpc/kernel/head_8xx.S
··· 332 332 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 333 333 lwz r10, 0(r11) /* Get the pte */ 334 334 335 + #ifdef CONFIG_SWAP 336 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 337 + andi. r11, r10, _PAGE_PRESENT 338 + beq 4f 339 + ori r10, r10, _PAGE_ACCESSED 340 + mfspr r11, SPRN_MD_TWC /* get the pte address again */ 341 + stw r10, 0(r11) 342 + 4: 343 + #else 335 344 ori r10, r10, _PAGE_ACCESSED 336 345 stw r10, 0(r11) 346 + #endif 337 347 338 348 /* The Linux PTE won't go exactly into the MMU TLB. 339 349 * Software indicator bits 21, 22 and 28 must be clear. ··· 408 398 DO_8xx_CPU6(0x3b80, r3) 409 399 mtspr SPRN_MD_TWC, r11 410 400 411 - mfspr r11, SPRN_MD_TWC /* get the pte address again */ 401 + #ifdef CONFIG_SWAP 402 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 403 + andi. r11, r10, _PAGE_PRESENT 404 + beq 4f 412 405 ori r10, r10, _PAGE_ACCESSED 406 + 4: 407 + /* and update pte in table */ 408 + #else 409 + ori r10, r10, _PAGE_ACCESSED 410 + #endif 411 + mfspr r11, SPRN_MD_TWC /* get the pte address again */ 413 412 stw r10, 0(r11) 414 413 415 414 /* The Linux PTE won't go exactly into the MMU TLB. ··· 526 507 527 508 /* Update 'changed', among others. 528 509 */ 510 + #ifdef CONFIG_SWAP 511 + ori r10, r10, _PAGE_DIRTY|_PAGE_HWWRITE 512 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 513 + andi. r11, r10, _PAGE_PRESENT 514 + beq 4f 515 + ori r10, r10, _PAGE_ACCESSED 516 + 4: 517 + #else 529 518 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 519 + #endif 530 520 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 531 521 stw r10, 0(r11) /* and update pte in table */ 532 522
+15
arch/powerpc/kernel/misc_32.S
··· 785 785 or r4,r4,r7 # LSW |= t2 786 786 blr 787 787 788 + /* 789 + * 64-bit comparison: __ucmpdi2(u64 a, u64 b) 790 + * Returns 0 if a < b, 1 if a == b, 2 if a > b. 791 + */ 792 + _GLOBAL(__ucmpdi2) 793 + cmplw r3,r5 794 + li r3,1 795 + bne 1f 796 + cmplw r4,r6 797 + beqlr 798 + 1: li r3,0 799 + bltlr 800 + li r3,2 801 + blr 802 + 788 803 _GLOBAL(abs) 789 804 srawi r4,r3,31 790 805 xor r3,r3,r4
+7 -1
arch/powerpc/kernel/pci-common.c
··· 748 748 struct resource *res = dev->resource + i; 749 749 if (!res->flags) 750 750 continue; 751 - if (res->end == 0xffffffff) { 751 + /* On platforms that have PPC_PCI_PROBE_ONLY set, we don't 752 + * consider 0 as an unassigned BAR value. It's technically 753 + * a valid value, but linux doesn't like it... so when we can 754 + * re-assign things, we do so, but if we can't, we keep it 755 + * around and hope for the best... 756 + */ 757 + if (res->start == 0 && !(ppc_pci_flags & PPC_PCI_PROBE_ONLY)) { 752 758 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", 753 759 pci_name(dev), i, 754 760 (unsigned long long)res->start,
+3
arch/powerpc/kernel/ppc_ksyms.c
··· 58 58 extern void single_step_exception(struct pt_regs *regs); 59 59 extern int sys_sigreturn(struct pt_regs *regs); 60 60 61 + EXPORT_SYMBOL(empty_zero_page); 61 62 EXPORT_SYMBOL(clear_pages); 62 63 EXPORT_SYMBOL(copy_page); 63 64 EXPORT_SYMBOL(ISA_DMA_THRESHOLD); ··· 150 149 EXPORT_SYMBOL(__ashrdi3); 151 150 EXPORT_SYMBOL(__ashldi3); 152 151 EXPORT_SYMBOL(__lshrdi3); 152 + int __ucmpdi2(unsigned long long, unsigned long long); 153 + EXPORT_SYMBOL(__ucmpdi2); 153 154 #endif 154 155 155 156 EXPORT_SYMBOL(memcpy);
+2 -2
arch/powerpc/mm/hash_utils_64.c
··· 506 506 } else { 507 507 /* Find storage for the HPT. Must be contiguous in 508 508 * the absolute address space. On cell we want it to be 509 - * in the first 1 Gig. 509 + * in the first 2 Gig so we can use it for IOMMU hacks. 510 510 */ 511 511 if (machine_is(cell)) 512 - limit = 0x40000000; 512 + limit = 0x80000000; 513 513 else 514 514 limit = 0; 515 515
+3 -5
arch/powerpc/platforms/83xx/mpc837x_mds.c
··· 39 39 if (ret) 40 40 return ret; 41 41 /* Map BCSR area */ 42 - np = of_find_node_by_name(NULL, "bcsr"); 42 + np = of_find_compatible_node(NULL, NULL, "fsl,mpc837xmds-bcsr"); 43 43 if (np) { 44 - struct resource res; 45 - 46 - of_address_to_resource(np, 0, &res); 47 - bcsr_regs = ioremap(res.start, res.end - res.start + 1); 44 + bcsr_regs = of_iomap(np, 0); 48 45 of_node_put(np); 49 46 } 50 47 if (!bcsr_regs) ··· 93 96 static struct of_device_id mpc837x_ids[] = { 94 97 { .type = "soc", }, 95 98 { .compatible = "soc", }, 99 + { .compatible = "simple-bus", }, 96 100 {}, 97 101 }; 98 102
-1
arch/powerpc/platforms/Kconfig
··· 22 22 select FSL_SOC 23 23 select MPC83xx 24 24 select IPIC 25 - select FSL_EMB_PERFMON 26 25 27 26 config PPC_86xx 28 27 bool "Freescale 86xx"
+6 -1
arch/powerpc/platforms/Kconfig.cputype
··· 113 113 default y 114 114 115 115 config FSL_EMB_PERFMON 116 - bool 116 + bool "Freescale Embedded Perfmon" 117 + depends on E500 || PPC_83xx 118 + help 119 + This is the Performance Monitor support found on the e500 core 120 + and some e300 cores (c3 and c4). Select this only if your 121 + core supports the Embedded Performance Monitor APU 117 122 118 123 config PTE_64BIT 119 124 bool
+2 -1
arch/powerpc/platforms/cell/spufs/context.c
··· 170 170 { 171 171 BUG_ON(ctx->state != SPU_STATE_SAVED); 172 172 173 - if (test_and_clear_bit(SPU_SCHED_WAS_ACTIVE, &ctx->sched_flags)) 173 + if (test_and_clear_bit(SPU_SCHED_WAS_ACTIVE, &ctx->sched_flags) && 174 + test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 174 175 spu_activate(ctx, 0); 175 176 176 177 spu_release(ctx);
+2 -1
arch/powerpc/platforms/cell/spufs/run.c
··· 220 220 } 221 221 } 222 222 223 + set_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags); 223 224 return 0; 224 225 } 225 226 ··· 235 234 *npc = ctx->ops->npc_read(ctx); 236 235 237 236 spuctx_switch_state(ctx, SPU_UTIL_IDLE_LOADED); 238 - ctx->policy = SCHED_IDLE; 237 + clear_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags); 239 238 spu_release(ctx); 240 239 241 240 if (signal_pending(current))
+2 -2
arch/powerpc/platforms/cell/spufs/sched.c
··· 867 867 if (ctx->policy == SCHED_FIFO) 868 868 goto out; 869 869 870 - if (--ctx->time_slice && ctx->policy != SCHED_IDLE) 870 + if (--ctx->time_slice && test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 871 871 goto out; 872 872 873 873 spu = ctx->spu; ··· 877 877 new = grab_runnable_context(ctx->prio + 1, spu->node); 878 878 if (new) { 879 879 spu_unschedule(spu, ctx); 880 - if (ctx->policy != SCHED_IDLE) 880 + if (test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 881 881 spu_add_to_rq(ctx); 882 882 } else { 883 883 spu_context_nospu_trace(spusched_tick__newslice, ctx);
+1
arch/powerpc/platforms/cell/spufs/spufs.h
··· 44 44 enum { 45 45 SPU_SCHED_NOTIFY_ACTIVE, 46 46 SPU_SCHED_WAS_ACTIVE, /* was active upon spu_acquire_saved() */ 47 + SPU_SCHED_SPU_RUN, /* context is within spu_run */ 47 48 }; 48 49 49 50 struct spu_context {
+1 -1
arch/powerpc/platforms/powermac/pic.c
··· 618 618 if (np == NULL) 619 619 goto not_found; 620 620 viaint = irq_of_parse_and_map(np, 0);; 621 - #endif /* CONFIG_ADB_PMU */ 622 621 623 622 not_found: 623 + #endif /* CONFIG_ADB_PMU */ 624 624 return viaint; 625 625 } 626 626
+5 -2
arch/powerpc/sysdev/qe_lib/qe.c
··· 509 509 } 510 510 511 511 /* Validate some of the fields */ 512 - if ((firmware->count < 1) || (firmware->count >= MAX_QE_RISC)) { 512 + if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { 513 513 printk(KERN_ERR "qe-firmware: invalid data\n"); 514 514 return -EINVAL; 515 515 } ··· 609 609 * If we haven't checked yet, and a driver hasn't uploaded a firmware 610 610 * yet, then check the device tree for information. 611 611 */ 612 - if (initialized || qe_firmware_uploaded) 612 + if (qe_firmware_uploaded) 613 + return &qe_firmware_info; 614 + 615 + if (initialized) 613 616 return NULL; 614 617 615 618 initialized = 1;
+29 -1
arch/ppc/kernel/head_8xx.S
··· 329 329 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 330 330 lwz r10, 0(r11) /* Get the pte */ 331 331 332 + #ifdef CONFIG_SWAP 333 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 334 + andi. r11, r10, _PAGE_PRESENT 335 + beq 4f 336 + ori r10, r10, _PAGE_ACCESSED 337 + mfspr r11, SPRN_MD_TWC /* get the pte address again */ 338 + stw r10, 0(r11) 339 + 4: 340 + #else 332 341 ori r10, r10, _PAGE_ACCESSED 333 342 stw r10, 0(r11) 343 + #endif 334 344 335 345 /* The Linux PTE won't go exactly into the MMU TLB. 336 346 * Software indicator bits 21, 22 and 28 must be clear. ··· 405 395 DO_8xx_CPU6(0x3b80, r3) 406 396 mtspr SPRN_MD_TWC, r11 407 397 408 - mfspr r11, SPRN_MD_TWC /* get the pte address again */ 398 + #ifdef CONFIG_SWAP 399 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 400 + andi. r11, r10, _PAGE_PRESENT 401 + beq 4f 409 402 ori r10, r10, _PAGE_ACCESSED 403 + 4: 404 + /* and update pte in table */ 405 + #else 406 + ori r10, r10, _PAGE_ACCESSED 407 + #endif 408 + mfspr r11, SPRN_MD_TWC /* get the pte address again */ 410 409 stw r10, 0(r11) 411 410 412 411 /* The Linux PTE won't go exactly into the MMU TLB. ··· 594 575 595 576 /* Update 'changed', among others. 596 577 */ 578 + #ifdef CONFIG_SWAP 579 + ori r10, r10, _PAGE_DIRTY|_PAGE_HWWRITE 580 + /* do not set the _PAGE_ACCESSED bit of a non-present page */ 581 + andi. r11, r10, _PAGE_PRESENT 582 + beq 4f 583 + ori r10, r10, _PAGE_ACCESSED 584 + 4: 585 + #else 597 586 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 587 + #endif 598 588 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 599 589 stw r10, 0(r11) /* and update pte in table */ 600 590
+1 -1
arch/x86/Kconfig
··· 1259 1259 machines with more than one CPU. 1260 1260 1261 1261 In order to use APM, you will need supporting software. For location 1262 - and more information, read <file:Documentation/pm.txt> and the 1262 + and more information, read <file:Documentation/power/pm.txt> and the 1263 1263 Battery Powered Linux mini-HOWTO, available from 1264 1264 <http://www.tldp.org/docs.html#howto>. 1265 1265
+3 -1
block/genhd.c
··· 360 360 361 361 static int __init genhd_device_init(void) 362 362 { 363 - class_register(&block_class); 363 + int error = class_register(&block_class); 364 + if (unlikely(error)) 365 + return error; 364 366 bdev_map = kobj_map_init(base_probe, &block_class_lock); 365 367 blk_dev_init(); 366 368
+3 -3
crypto/async_tx/async_memcpy.c
··· 66 66 } 67 67 68 68 if (tx) { 69 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 69 + pr_debug("%s: (async) len: %zu\n", __func__, len); 70 70 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 71 71 } else { 72 72 void *dest_buf, *src_buf; 73 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 73 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 74 74 75 75 /* wait for any prerequisite operations */ 76 76 if (depend_tx) { ··· 80 80 BUG_ON(depend_tx->ack); 81 81 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 82 82 panic("%s: DMA_ERROR waiting for depend_tx\n", 83 - __FUNCTION__); 83 + __func__); 84 84 } 85 85 86 86 dest_buf = kmap_atomic(dest, KM_USER0) + dest_offset;
+3 -3
crypto/async_tx/async_memset.c
··· 63 63 } 64 64 65 65 if (tx) { 66 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 66 + pr_debug("%s: (async) len: %zu\n", __func__, len); 67 67 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 68 68 } else { /* run the memset synchronously */ 69 69 void *dest_buf; 70 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 70 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 71 71 72 72 dest_buf = (void *) (((char *) page_address(dest)) + offset); 73 73 ··· 79 79 BUG_ON(depend_tx->ack); 80 80 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 81 81 panic("%s: DMA_ERROR waiting for depend_tx\n", 82 - __FUNCTION__); 82 + __func__); 83 83 } 84 84 85 85 memset(dest_buf, val, len);
+3 -3
crypto/async_tx/async_tx.c
··· 472 472 tx = NULL; 473 473 474 474 if (tx) { 475 - pr_debug("%s: (async)\n", __FUNCTION__); 475 + pr_debug("%s: (async)\n", __func__); 476 476 477 477 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 478 478 } else { 479 - pr_debug("%s: (sync)\n", __FUNCTION__); 479 + pr_debug("%s: (sync)\n", __func__); 480 480 481 481 /* wait for any prerequisite operations */ 482 482 if (depend_tx) { ··· 486 486 BUG_ON(depend_tx->ack); 487 487 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 488 488 panic("%s: DMA_ERROR waiting for depend_tx\n", 489 - __FUNCTION__); 489 + __func__); 490 490 } 491 491 492 492 async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
+6 -6
crypto/async_tx/async_xor.c
··· 47 47 int i; 48 48 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 49 49 50 - pr_debug("%s: len: %zu\n", __FUNCTION__, len); 50 + pr_debug("%s: len: %zu\n", __func__, len); 51 51 52 52 dma_dest = dma_map_page(device->dev, dest, offset, len, 53 53 DMA_FROM_DEVICE); ··· 86 86 void *_dest; 87 87 int i; 88 88 89 - pr_debug("%s: len: %zu\n", __FUNCTION__, len); 89 + pr_debug("%s: len: %zu\n", __func__, len); 90 90 91 91 /* reuse the 'src_list' array to convert to buffer pointers */ 92 92 for (i = 0; i < src_cnt; i++) ··· 196 196 DMA_ERROR) 197 197 panic("%s: DMA_ERROR waiting for " 198 198 "depend_tx\n", 199 - __FUNCTION__); 199 + __func__); 200 200 } 201 201 202 202 do_sync_xor(dest, &src_list[src_off], offset, ··· 276 276 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 277 277 int i; 278 278 279 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 279 + pr_debug("%s: (async) len: %zu\n", __func__, len); 280 280 281 281 for (i = 0; i < src_cnt; i++) 282 282 dma_src[i] = dma_map_page(device->dev, src_list[i], ··· 299 299 } else { 300 300 unsigned long xor_flags = flags; 301 301 302 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 302 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 303 303 304 304 xor_flags |= ASYNC_TX_XOR_DROP_DST; 305 305 xor_flags &= ~ASYNC_TX_ACK; ··· 310 310 if (tx) { 311 311 if (dma_wait_for_async_tx(tx) == DMA_ERROR) 312 312 panic("%s: DMA_ERROR waiting for tx\n", 313 - __FUNCTION__); 313 + __func__); 314 314 async_tx_ack(tx); 315 315 } 316 316
+9 -10
drivers/acpi/Kconfig
··· 283 283 If you have a legacy free Toshiba laptop (such as the Libretto L1 284 284 series), say Y. 285 285 286 - config ACPI_CUSTOM_DSDT 287 - bool "Include Custom DSDT" 286 + config ACPI_CUSTOM_DSDT_FILE 287 + string "Custom DSDT Table file to include" 288 + default "" 288 289 depends on !STANDALONE 289 - default n 290 290 help 291 291 This option supports a custom DSDT by linking it into the kernel. 292 292 See Documentation/acpi/dsdt-override.txt 293 293 294 - If unsure, say N. 295 - 296 - config ACPI_CUSTOM_DSDT_FILE 297 - string "Custom DSDT Table file to include" 298 - depends on ACPI_CUSTOM_DSDT 299 - default "" 300 - help 301 294 Enter the full path name to the file which includes the AmlCode 302 295 declaration. 296 + 297 + If unsure, don't enter a file name. 298 + 299 + config ACPI_CUSTOM_DSDT 300 + bool 301 + default ACPI_CUSTOM_DSDT_FILE != "" 303 302 304 303 config ACPI_CUSTOM_DSDT_INITRD 305 304 bool "Read Custom DSDT from initramfs"
+1 -1
drivers/acpi/bus.c
··· 776 776 777 777 acpi_kobj = kobject_create_and_add("acpi", firmware_kobj); 778 778 if (!acpi_kobj) { 779 - printk(KERN_WARNING "%s: kset create error\n", __FUNCTION__); 779 + printk(KERN_WARNING "%s: kset create error\n", __func__); 780 780 acpi_kobj = NULL; 781 781 } 782 782
+1
drivers/acpi/button.c
··· 449 449 input->phys = button->phys; 450 450 input->id.bustype = BUS_HOST; 451 451 input->id.product = button->type; 452 + input->dev.parent = &device->dev; 452 453 453 454 switch (button->type) { 454 455 case ACPI_BUTTON_TYPE_POWER:
+12 -5
drivers/acpi/ec.c
··· 129 129 struct mutex lock; 130 130 wait_queue_head_t wait; 131 131 struct list_head list; 132 + atomic_t irq_count; 132 133 u8 handlers_installed; 133 134 } *boot_ec, *first_ec; 134 135 ··· 182 181 { 183 182 int ret = 0; 184 183 184 + atomic_set(&ec->irq_count, 0); 185 + 185 186 if (unlikely(event == ACPI_EC_EVENT_OBF_1 && 186 187 test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags))) 187 188 force_poll = 1; ··· 230 227 while (time_before(jiffies, delay)) { 231 228 if (acpi_ec_check_status(ec, event)) 232 229 goto end; 230 + msleep(5); 233 231 } 234 232 } 235 233 pr_err(PREFIX "acpi_ec_wait timeout," ··· 533 529 struct acpi_ec *ec = data; 534 530 535 531 pr_debug(PREFIX "~~~> interrupt\n"); 532 + atomic_inc(&ec->irq_count); 533 + if (atomic_read(&ec->irq_count) > 5) { 534 + pr_err(PREFIX "GPE storm detected, disabling EC GPE\n"); 535 + acpi_disable_gpe(NULL, ec->gpe, ACPI_ISR); 536 + clear_bit(EC_FLAGS_GPE_MODE, &ec->flags); 537 + return ACPI_INTERRUPT_HANDLED; 538 + } 536 539 clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags); 537 540 if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags)) 538 541 wake_up(&ec->wait); ··· 954 943 boot_ec->command_addr = ecdt_ptr->control.address; 955 944 boot_ec->data_addr = ecdt_ptr->data.address; 956 945 boot_ec->gpe = ecdt_ptr->gpe; 957 - if (ACPI_FAILURE(acpi_get_handle(NULL, ecdt_ptr->id, 958 - &boot_ec->handle))) { 959 - pr_info("Failed to locate handle for boot EC\n"); 960 - boot_ec->handle = ACPI_ROOT_OBJECT; 961 - } 946 + boot_ec->handle = ACPI_ROOT_OBJECT; 962 947 } else { 963 948 /* This workaround is needed only on some broken machines, 964 949 * which require early EC, but fail to provide ECDT */
+1 -1
drivers/acpi/osl.c
··· 1237 1237 1238 1238 if (clash) { 1239 1239 if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) { 1240 - printk(KERN_INFO "%sACPI: %s resource %s [0x%llx-0x%llx]" 1240 + printk("%sACPI: %s resource %s [0x%llx-0x%llx]" 1241 1241 " conflicts with ACPI region %s" 1242 1242 " [0x%llx-0x%llx]\n", 1243 1243 acpi_enforce_resources == ENFORCE_RESOURCES_LAX
+98
drivers/acpi/pci_irq.c
··· 25 25 */ 26 26 27 27 28 + #include <linux/dmi.h> 28 29 #include <linux/kernel.h> 29 30 #include <linux/module.h> 30 31 #include <linux/init.h> ··· 77 76 return NULL; 78 77 } 79 78 79 + /* http://bugzilla.kernel.org/show_bug.cgi?id=4773 */ 80 + static struct dmi_system_id medion_md9580[] = { 81 + { 82 + .ident = "Medion MD9580-F laptop", 83 + .matches = { 84 + DMI_MATCH(DMI_SYS_VENDOR, "MEDIONNB"), 85 + DMI_MATCH(DMI_PRODUCT_NAME, "A555"), 86 + }, 87 + }, 88 + { } 89 + }; 90 + 91 + /* http://bugzilla.kernel.org/show_bug.cgi?id=5044 */ 92 + static struct dmi_system_id dell_optiplex[] = { 93 + { 94 + .ident = "Dell Optiplex GX1", 95 + .matches = { 96 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), 97 + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX1 600S+"), 98 + }, 99 + }, 100 + { } 101 + }; 102 + 103 + /* http://bugzilla.kernel.org/show_bug.cgi?id=10138 */ 104 + static struct dmi_system_id hp_t5710[] = { 105 + { 106 + .ident = "HP t5710", 107 + .matches = { 108 + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), 109 + DMI_MATCH(DMI_PRODUCT_NAME, "hp t5000 series"), 110 + DMI_MATCH(DMI_BOARD_NAME, "098Ch"), 111 + }, 112 + }, 113 + { } 114 + }; 115 + 116 + struct prt_quirk { 117 + struct dmi_system_id *system; 118 + unsigned int segment; 119 + unsigned int bus; 120 + unsigned int device; 121 + unsigned char pin; 122 + char *source; /* according to BIOS */ 123 + char *actual_source; 124 + }; 125 + 126 + /* 127 + * These systems have incorrect _PRT entries. The BIOS claims the PCI 128 + * interrupt at the listed segment/bus/device/pin is connected to the first 129 + * link device, but it is actually connected to the second. 130 + */ 131 + static struct prt_quirk prt_quirks[] = { 132 + { medion_md9580, 0, 0, 9, 'A', 133 + "\\_SB_.PCI0.ISA.LNKA", 134 + "\\_SB_.PCI0.ISA.LNKB"}, 135 + { dell_optiplex, 0, 0, 0xd, 'A', 136 + "\\_SB_.LNKB", 137 + "\\_SB_.LNKA"}, 138 + { hp_t5710, 0, 0, 1, 'A', 139 + "\\_SB_.PCI0.LNK1", 140 + "\\_SB_.PCI0.LNK3"}, 141 + }; 142 + 143 + static void 144 + do_prt_fixups(struct acpi_prt_entry *entry, struct acpi_pci_routing_table *prt) 145 + { 146 + int i; 147 + struct prt_quirk *quirk; 148 + 149 + for (i = 0; i < ARRAY_SIZE(prt_quirks); i++) { 150 + quirk = &prt_quirks[i]; 151 + 152 + /* All current quirks involve link devices, not GSIs */ 153 + if (!prt->source) 154 + continue; 155 + 156 + if (dmi_check_system(quirk->system) && 157 + entry->id.segment == quirk->segment && 158 + entry->id.bus == quirk->bus && 159 + entry->id.device == quirk->device && 160 + entry->pin + 'A' == quirk->pin && 161 + !strcmp(prt->source, quirk->source) && 162 + strlen(prt->source) >= strlen(quirk->actual_source)) { 163 + printk(KERN_WARNING PREFIX "firmware reports " 164 + "%04x:%02x:%02x[%c] connected to %s; " 165 + "changing to %s\n", 166 + entry->id.segment, entry->id.bus, 167 + entry->id.device, 'A' + entry->pin, 168 + prt->source, quirk->actual_source); 169 + strcpy(prt->source, quirk->actual_source); 170 + } 171 + } 172 + } 173 + 80 174 static int 81 175 acpi_pci_irq_add_entry(acpi_handle handle, 82 176 int segment, int bus, struct acpi_pci_routing_table *prt) ··· 191 95 entry->id.device = (prt->address >> 16) & 0xFFFF; 192 96 entry->id.function = prt->address & 0xFFFF; 193 97 entry->pin = prt->pin; 98 + 99 + do_prt_fixups(entry, prt); 194 100 195 101 /* 196 102 * Type 1: Dynamic
+1 -1
drivers/acpi/pci_root.c
··· 184 184 } 185 185 } 186 186 187 - static int acpi_pci_root_add(struct acpi_device *device) 187 + static int __devinit acpi_pci_root_add(struct acpi_device *device) 188 188 { 189 189 int result = 0; 190 190 struct acpi_pci_root *root = NULL;
+14 -11
drivers/acpi/processor_core.c
··· 840 840 841 841 842 842 status = acpi_evaluate_integer(handle, "_STA", NULL, &sta); 843 - /* 844 - * if a processor object does not have an _STA object, 845 - * OSPM assumes that the processor is present. 846 - */ 847 - if (status == AE_NOT_FOUND) 848 - return 1; 849 843 850 844 if (ACPI_SUCCESS(status) && (sta & ACPI_STA_DEVICE_PRESENT)) 851 845 return 1; 852 846 853 - ACPI_EXCEPTION((AE_INFO, status, "Processor Device is not present")); 847 + /* 848 + * _STA is mandatory for a processor that supports hot plug 849 + */ 850 + if (status == AE_NOT_FOUND) 851 + ACPI_DEBUG_PRINT((ACPI_DB_INFO, 852 + "Processor does not support hot plug\n")); 853 + else 854 + ACPI_EXCEPTION((AE_INFO, status, 855 + "Processor Device is not present")); 854 856 return 0; 855 857 } 856 858 ··· 888 886 return 0; 889 887 } 890 888 891 - static void 892 - acpi_processor_hotplug_notify(acpi_handle handle, u32 event, void *data) 889 + static void __ref acpi_processor_hotplug_notify(acpi_handle handle, 890 + u32 event, void *data) 893 891 { 894 892 struct acpi_processor *pr; 895 893 struct acpi_device *device = NULL; ··· 899 897 switch (event) { 900 898 case ACPI_NOTIFY_BUS_CHECK: 901 899 case ACPI_NOTIFY_DEVICE_CHECK: 902 - printk("Processor driver received %s event\n", 900 + ACPI_DEBUG_PRINT((ACPI_DB_INFO, 901 + "Processor driver received %s event\n", 903 902 (event == ACPI_NOTIFY_BUS_CHECK) ? 904 - "ACPI_NOTIFY_BUS_CHECK" : "ACPI_NOTIFY_DEVICE_CHECK"); 903 + "ACPI_NOTIFY_BUS_CHECK" : "ACPI_NOTIFY_DEVICE_CHECK")); 905 904 906 905 if (!is_processor_present(handle)) 907 906 break;
+3 -2
drivers/acpi/scan.c
··· 609 609 status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); 610 610 if (ACPI_SUCCESS(status)) { 611 611 obj = buffer.pointer; 612 - status = acpi_get_handle(NULL, obj->string.pointer, ejd); 612 + status = acpi_get_handle(ACPI_ROOT_OBJECT, obj->string.pointer, 613 + ejd); 613 614 kfree(buffer.pointer); 614 615 } 615 616 return status; ··· 967 966 case ACPI_BUS_TYPE_DEVICE: 968 967 status = acpi_get_object_info(handle, &buffer); 969 968 if (ACPI_FAILURE(status)) { 970 - printk(KERN_ERR PREFIX "%s: Error reading device info\n", __FUNCTION__); 969 + printk(KERN_ERR PREFIX "%s: Error reading device info\n", __func__); 971 970 return; 972 971 } 973 972
+1 -1
drivers/acpi/sleep/main.c
··· 504 504 static void acpi_power_off(void) 505 505 { 506 506 /* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */ 507 - printk("%s called\n", __FUNCTION__); 507 + printk("%s called\n", __func__); 508 508 local_irq_disable(); 509 509 acpi_enable_wakeup_device(ACPI_STATE_S5); 510 510 acpi_enter_sleep_state(ACPI_STATE_S5);
+1 -1
drivers/acpi/system.c
··· 319 319 goto fail; 320 320 321 321 for (i = 0; i < num_counters; ++i) { 322 - char buffer[10]; 322 + char buffer[12]; 323 323 char *name; 324 324 325 325 if (i < num_gpes)
+7 -5
drivers/acpi/thermal.c
··· 879 879 } 880 880 881 881 /* sys I/F for generic thermal sysfs support */ 882 + #define KELVIN_TO_MILLICELSIUS(t) (t * 100 - 273200) 883 + 882 884 static int thermal_get_temp(struct thermal_zone_device *thermal, char *buf) 883 885 { 884 886 struct acpi_thermal *tz = thermal->devdata; ··· 888 886 if (!tz) 889 887 return -EINVAL; 890 888 891 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS(tz->temperature)); 889 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS(tz->temperature)); 892 890 } 893 891 894 892 static const char enabled[] = "kernel"; ··· 982 980 983 981 if (tz->trips.critical.flags.valid) { 984 982 if (!trip) 985 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 983 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 986 984 tz->trips.critical.temperature)); 987 985 trip--; 988 986 } 989 987 990 988 if (tz->trips.hot.flags.valid) { 991 989 if (!trip) 992 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 990 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 993 991 tz->trips.hot.temperature)); 994 992 trip--; 995 993 } 996 994 997 995 if (tz->trips.passive.flags.valid) { 998 996 if (!trip) 999 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 997 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 1000 998 tz->trips.passive.temperature)); 1001 999 trip--; 1002 1000 } ··· 1004 1002 for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE && 1005 1003 tz->trips.active[i].flags.valid; i++) { 1006 1004 if (!trip) 1007 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 1005 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 1008 1006 tz->trips.active[i].temperature)); 1009 1007 trip--; 1010 1008 }
+7
drivers/acpi/toshiba_acpi.c
··· 99 99 #define HCI_VIDEO_OUT_CRT 0x2 100 100 #define HCI_VIDEO_OUT_TV 0x4 101 101 102 + static const struct acpi_device_id toshiba_device_ids[] = { 103 + {"TOS6200", 0}, 104 + {"TOS1900", 0}, 105 + {"", 0}, 106 + }; 107 + MODULE_DEVICE_TABLE(acpi, toshiba_device_ids); 108 + 102 109 /* utility 103 110 */ 104 111
+1 -1
drivers/acpi/utilities/utdebug.c
··· 109 109 * RETURN: Updated pointer to the function name 110 110 * 111 111 * DESCRIPTION: Remove the "Acpi" prefix from the function name, if present. 112 - * This allows compiler macros such as __FUNCTION__ to be used 112 + * This allows compiler macros such as __func__ to be used 113 113 * with no change to the debug output. 114 114 * 115 115 ******************************************************************************/
+1 -1
drivers/acpi/utilities/utobject.c
··· 432 432 * element -- which is legal) 433 433 */ 434 434 if (!internal_object) { 435 - *obj_length = 0; 435 + *obj_length = sizeof(union acpi_object); 436 436 return_ACPI_STATUS(AE_OK); 437 437 } 438 438
+6
drivers/acpi/utils.c
··· 407 407 break; 408 408 } 409 409 410 + if (!element->reference.handle) { 411 + printk(KERN_WARNING PREFIX "Invalid reference in" 412 + " package %s\n", pathname); 413 + status = AE_NULL_ENTRY; 414 + break; 415 + } 410 416 /* Get the acpi_handle. */ 411 417 412 418 list->handles[i] = element->reference.handle;
+2 -2
drivers/acpi/video.c
··· 713 713 714 714 kfree(obj); 715 715 716 - if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){ 716 + if (device->cap._BCL && device->cap._BCM && max_level > 0) { 717 717 int result; 718 718 static int count = 0; 719 719 char *name; ··· 1201 1201 if (!video) 1202 1202 goto end; 1203 1203 1204 - printk(KERN_INFO PREFIX "Please implement %s\n", __FUNCTION__); 1204 + printk(KERN_INFO PREFIX "Please implement %s\n", __func__); 1205 1205 seq_printf(seq, "<TODO>\n"); 1206 1206 1207 1207 end:
+6 -4
drivers/acpi/wmi.c
··· 293 293 { 294 294 struct guid_block *block = NULL; 295 295 struct wmi_block *wblock = NULL; 296 - acpi_handle handle; 296 + acpi_handle handle, wc_handle; 297 297 acpi_status status, wc_status = AE_ERROR; 298 298 struct acpi_object_list input, wc_input; 299 299 union acpi_object wc_params[1], wq_params[1]; ··· 338 338 * expensive, but have no corresponding WCxx method. So we 339 339 * should not fail if this happens. 340 340 */ 341 - wc_status = acpi_evaluate_object(handle, wc_method, 342 - &wc_input, NULL); 341 + wc_status = acpi_get_handle(handle, wc_method, &wc_handle); 342 + if (ACPI_SUCCESS(wc_status)) 343 + wc_status = acpi_evaluate_object(handle, wc_method, 344 + &wc_input, NULL); 343 345 } 344 346 345 347 strcpy(method, "WQ"); ··· 353 351 * If ACPI_WMI_EXPENSIVE, call the relevant WCxx method, even if 354 352 * the WQxx method failed - we should disable collection anyway. 355 353 */ 356 - if ((block->flags & ACPI_WMI_EXPENSIVE) && wc_status) { 354 + if ((block->flags & ACPI_WMI_EXPENSIVE) && ACPI_SUCCESS(wc_status)) { 357 355 wc_params[0].integer.value = 0; 358 356 status = acpi_evaluate_object(handle, 359 357 wc_method, &wc_input, NULL);
+2 -2
drivers/atm/firestream.c
··· 331 331 #define FS_DEBUG_QSIZE 0x00001000 332 332 333 333 334 - #define func_enter() fs_dprintk (FS_DEBUG_FLOW, "fs: enter %s\n", __FUNCTION__) 335 - #define func_exit() fs_dprintk (FS_DEBUG_FLOW, "fs: exit %s\n", __FUNCTION__) 334 + #define func_enter() fs_dprintk(FS_DEBUG_FLOW, "fs: enter %s\n", __func__) 335 + #define func_exit() fs_dprintk(FS_DEBUG_FLOW, "fs: exit %s\n", __func__) 336 336 337 337 338 338 static struct fs_dev *fs_boards = NULL;
+2 -2
drivers/atm/fore200e.c
··· 95 95 #if 1 96 96 #define ASSERT(expr) if (!(expr)) { \ 97 97 printk(FORE200E "assertion failed! %s[%d]: %s\n", \ 98 - __FUNCTION__, __LINE__, #expr); \ 99 - panic(FORE200E "%s", __FUNCTION__); \ 98 + __func__, __LINE__, #expr); \ 99 + panic(FORE200E "%s", __func__); \ 100 100 } 101 101 #else 102 102 #define ASSERT(expr) do {} while (0)
+6 -6
drivers/atm/idt77252.c
··· 555 555 struct vc_map *vc; 556 556 int i; 557 557 558 - printk("%s\n", __FUNCTION__); 558 + printk("%s\n", __func__); 559 559 for (i = 0; i < card->tct_size; i++) { 560 560 vc = card->vcs[i]; 561 561 if (!vc) ··· 1035 1035 skb = sb_pool_skb(card, le32_to_cpu(rsqe->word_2)); 1036 1036 if (skb == NULL) { 1037 1037 printk("%s: NULL skb in %s, rsqe: %08x %08x %08x %08x\n", 1038 - card->name, __FUNCTION__, 1038 + card->name, __func__, 1039 1039 le32_to_cpu(rsqe->word_1), le32_to_cpu(rsqe->word_2), 1040 1040 le32_to_cpu(rsqe->word_3), le32_to_cpu(rsqe->word_4)); 1041 1041 return; ··· 1873 1873 return; 1874 1874 1875 1875 if (sb_pool_add(card, skb, queue)) { 1876 - printk("%s: SB POOL full\n", __FUNCTION__); 1876 + printk("%s: SB POOL full\n", __func__); 1877 1877 goto outfree; 1878 1878 } 1879 1879 ··· 1883 1883 IDT77252_PRV_PADDR(skb) = paddr; 1884 1884 1885 1885 if (push_rx_skb(card, skb, queue)) { 1886 - printk("%s: FB QUEUE full\n", __FUNCTION__); 1886 + printk("%s: FB QUEUE full\n", __func__); 1887 1887 goto outunmap; 1888 1888 } 1889 1889 } ··· 3821 3821 { 3822 3822 struct sk_buff *skb; 3823 3823 3824 - printk("%s: at %p\n", __FUNCTION__, idt77252_init); 3824 + printk("%s: at %p\n", __func__, idt77252_init); 3825 3825 3826 3826 if (sizeof(skb->cb) < sizeof(struct atm_skb_data) + 3827 3827 sizeof(struct idt77252_skb_prv)) { 3828 3828 printk(KERN_ERR "%s: skb->cb is too small (%lu < %lu)\n", 3829 - __FUNCTION__, (unsigned long) sizeof(skb->cb), 3829 + __func__, (unsigned long) sizeof(skb->cb), 3830 3830 (unsigned long) sizeof(struct atm_skb_data) + 3831 3831 sizeof(struct idt77252_skb_prv)); 3832 3832 return -EIO;
-5
drivers/block/floppy.c
··· 217 217 */ 218 218 219 219 static DEFINE_SPINLOCK(floppy_lock); 220 - static struct completion device_release; 221 220 222 221 static unsigned short virtual_dma_port = 0x3f0; 223 222 irqreturn_t floppy_interrupt(int irq, void *dev_id); ··· 4143 4144 4144 4145 static void floppy_device_release(struct device *dev) 4145 4146 { 4146 - complete(&device_release); 4147 4147 } 4148 4148 4149 4149 static struct platform_device floppy_device[N_DRIVE]; ··· 4537 4539 { 4538 4540 int drive; 4539 4541 4540 - init_completion(&device_release); 4541 4542 blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256); 4542 4543 unregister_blkdev(FLOPPY_MAJOR, "fd"); 4543 4544 ··· 4561 4564 4562 4565 /* eject disk, if any */ 4563 4566 fd_eject(0); 4564 - 4565 - wait_for_completion(&device_release); 4566 4567 } 4567 4568 4568 4569 module_param(floppy, charp, 0);
+1 -2
drivers/block/viodasd.c
··· 528 528 numsg = VIOMAXBLOCKDMA; 529 529 530 530 *total_len = 0; 531 - memset(sg, 0, sizeof(sg[0]) * VIOMAXBLOCKDMA); 532 - 531 + sg_init_table(sg, VIOMAXBLOCKDMA); 533 532 for (i = 0; (i < numsg) && (rw_data->dma_info[i].len > 0); ++i) { 534 533 sg_dma_address(&sg[i]) = rw_data->dma_info[i].token; 535 534 sg_dma_len(&sg[i]) = rw_data->dma_info[i].len;
+3
drivers/bluetooth/hci_usb.c
··· 149 149 { USB_DEVICE(0x0400, 0x0807), .driver_info = HCI_BROKEN_ISOC }, 150 150 { USB_DEVICE(0x0400, 0x080a), .driver_info = HCI_BROKEN_ISOC }, 151 151 152 + /* CONWISE Technology based adapters with buggy SCO support */ 153 + { USB_DEVICE(0x0e5e, 0x6622), .driver_info = HCI_BROKEN_ISOC }, 154 + 152 155 /* Belkin F8T012 and F8T013 devices */ 153 156 { USB_DEVICE(0x050d, 0x0012), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU }, 154 157 { USB_DEVICE(0x050d, 0x0013), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU },
+1 -1
drivers/char/riscom8.c
··· 1709 1709 1710 1710 if (iobase || iobase1 || iobase2 || iobase3) { 1711 1711 for(i = 0; i < RC_NBOARD; i++) 1712 - rc_board[0].base = 0; 1712 + rc_board[i].base = 0; 1713 1713 } 1714 1714 1715 1715 if (iobase)
+1 -1
drivers/dma/dmaengine.c
··· 357 357 !device->device_prep_dma_zero_sum); 358 358 BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) && 359 359 !device->device_prep_dma_memset); 360 - BUG_ON(dma_has_cap(DMA_ZERO_SUM, device->cap_mask) && 360 + BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && 361 361 !device->device_prep_dma_interrupt); 362 362 363 363 BUG_ON(!device->device_alloc_chan_resources);
+44 -14
drivers/dma/fsldma.c
··· 57 57 58 58 } 59 59 60 - static void set_sr(struct fsl_dma_chan *fsl_chan, dma_addr_t val) 60 + static void set_sr(struct fsl_dma_chan *fsl_chan, u32 val) 61 61 { 62 62 DMA_OUT(fsl_chan, &fsl_chan->reg_base->sr, val, 32); 63 63 } 64 64 65 - static dma_addr_t get_sr(struct fsl_dma_chan *fsl_chan) 65 + static u32 get_sr(struct fsl_dma_chan *fsl_chan) 66 66 { 67 67 return DMA_IN(fsl_chan, &fsl_chan->reg_base->sr, 32); 68 68 } ··· 406 406 dma_pool_destroy(fsl_chan->desc_pool); 407 407 } 408 408 409 + static struct dma_async_tx_descriptor * 410 + fsl_dma_prep_interrupt(struct dma_chan *chan) 411 + { 412 + struct fsl_dma_chan *fsl_chan; 413 + struct fsl_desc_sw *new; 414 + 415 + if (!chan) 416 + return NULL; 417 + 418 + fsl_chan = to_fsl_chan(chan); 419 + 420 + new = fsl_dma_alloc_descriptor(fsl_chan); 421 + if (!new) { 422 + dev_err(fsl_chan->dev, "No free memory for link descriptor\n"); 423 + return NULL; 424 + } 425 + 426 + new->async_tx.cookie = -EBUSY; 427 + new->async_tx.ack = 0; 428 + 429 + /* Set End-of-link to the last link descriptor of new list*/ 430 + set_ld_eol(fsl_chan, new); 431 + 432 + return &new->async_tx; 433 + } 434 + 409 435 static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( 410 436 struct dma_chan *chan, dma_addr_t dma_dest, dma_addr_t dma_src, 411 437 size_t len, unsigned long flags) ··· 462 436 dev_dbg(fsl_chan->dev, "new link desc alloc %p\n", new); 463 437 #endif 464 438 465 - copy = min(len, FSL_DMA_BCR_MAX_CNT); 439 + copy = min(len, (size_t)FSL_DMA_BCR_MAX_CNT); 466 440 467 441 set_desc_cnt(fsl_chan, &new->hw, copy); 468 442 set_desc_src(fsl_chan, &new->hw, dma_src); ··· 539 513 540 514 spin_lock_irqsave(&fsl_chan->desc_lock, flags); 541 515 542 - fsl_dma_update_completed_cookie(fsl_chan); 543 516 dev_dbg(fsl_chan->dev, "chan completed_cookie = %d\n", 544 517 fsl_chan->completed_cookie); 545 518 list_for_each_entry_safe(desc, _desc, &fsl_chan->ld_queue, node) { ··· 606 581 if (ld_node != &fsl_chan->ld_queue) { 607 582 /* Get the ld start address from ld_queue */ 608 583 next_dest_addr = to_fsl_desc(ld_node)->async_tx.phys; 609 - dev_dbg(fsl_chan->dev, "xfer LDs staring from 0x%016llx\n", 610 - (u64)next_dest_addr); 584 + dev_dbg(fsl_chan->dev, "xfer LDs staring from %p\n", 585 + (void *)next_dest_addr); 611 586 set_cdar(fsl_chan, next_dest_addr); 612 587 dma_start(fsl_chan); 613 588 } else { ··· 687 662 static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data) 688 663 { 689 664 struct fsl_dma_chan *fsl_chan = (struct fsl_dma_chan *)data; 690 - dma_addr_t stat; 665 + u32 stat; 691 666 692 667 stat = get_sr(fsl_chan); 693 668 dev_dbg(fsl_chan->dev, "event: channel %d, stat = 0x%x\n", ··· 706 681 */ 707 682 if (stat & FSL_DMA_SR_EOSI) { 708 683 dev_dbg(fsl_chan->dev, "event: End-of-segments INT\n"); 709 - dev_dbg(fsl_chan->dev, "event: clndar 0x%016llx, " 710 - "nlndar 0x%016llx\n", (u64)get_cdar(fsl_chan), 711 - (u64)get_ndar(fsl_chan)); 684 + dev_dbg(fsl_chan->dev, "event: clndar %p, nlndar %p\n", 685 + (void *)get_cdar(fsl_chan), (void *)get_ndar(fsl_chan)); 712 686 stat &= ~FSL_DMA_SR_EOSI; 687 + fsl_dma_update_completed_cookie(fsl_chan); 713 688 } 714 689 715 690 /* If it current transfer is the end-of-transfer, ··· 751 726 fsl_chan_ld_cleanup(fsl_chan); 752 727 } 753 728 729 + #ifdef FSL_DMA_CALLBACKTEST 754 730 static void fsl_dma_callback_test(struct fsl_dma_chan *fsl_chan) 755 731 { 756 732 if (fsl_chan) 757 733 dev_info(fsl_chan->dev, "selftest: callback is ok!\n"); 758 734 } 735 + #endif 759 736 737 + #ifdef CONFIG_FSL_DMA_SELFTEST 760 738 static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan) 761 739 { 762 740 struct dma_chan *chan; ··· 865 837 if (err) { 866 838 for (i = 0; (*(src + i) == *(dest + i)) && (i < test_size); 867 839 i++); 868 - dev_err(fsl_chan->dev, "selftest: Test failed, data %d/%d is " 840 + dev_err(fsl_chan->dev, "selftest: Test failed, data %d/%ld is " 869 841 "error! src 0x%x, dest 0x%x\n", 870 - i, test_size, *(src + i), *(dest + i)); 842 + i, (long)test_size, *(src + i), *(dest + i)); 871 843 } 872 844 873 845 free_resources: ··· 876 848 kfree(src); 877 849 return err; 878 850 } 851 + #endif 879 852 880 853 static int __devinit of_fsl_dma_chan_probe(struct of_device *dev, 881 854 const struct of_device_id *match) ··· 1037 1008 } 1038 1009 1039 1010 dev_info(&dev->dev, "Probe the Freescale DMA driver for %s " 1040 - "controller at 0x%08x...\n", 1041 - match->compatible, fdev->reg.start); 1011 + "controller at %p...\n", 1012 + match->compatible, (void *)fdev->reg.start); 1042 1013 fdev->reg_base = ioremap(fdev->reg.start, fdev->reg.end 1043 1014 - fdev->reg.start + 1); 1044 1015 ··· 1046 1017 dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); 1047 1018 fdev->common.device_alloc_chan_resources = fsl_dma_alloc_chan_resources; 1048 1019 fdev->common.device_free_chan_resources = fsl_dma_free_chan_resources; 1020 + fdev->common.device_prep_dma_interrupt = fsl_dma_prep_interrupt; 1049 1021 fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy; 1050 1022 fdev->common.device_is_tx_complete = fsl_dma_is_complete; 1051 1023 fdev->common.device_issue_pending = fsl_dma_memcpy_issue_pending;
+16 -16
drivers/dma/iop-adma.c
··· 140 140 int busy = iop_chan_is_busy(iop_chan); 141 141 int seen_current = 0, slot_cnt = 0, slots_per_op = 0; 142 142 143 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 143 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 144 144 /* free completed slots from the chain starting with 145 145 * the oldest descriptor 146 146 */ ··· 438 438 spin_unlock_bh(&iop_chan->lock); 439 439 440 440 dev_dbg(iop_chan->device->common.dev, "%s cookie: %d slot: %d\n", 441 - __FUNCTION__, sw_desc->async_tx.cookie, sw_desc->idx); 441 + __func__, sw_desc->async_tx.cookie, sw_desc->idx); 442 442 443 443 return cookie; 444 444 } ··· 520 520 struct iop_adma_desc_slot *sw_desc, *grp_start; 521 521 int slot_cnt, slots_per_op; 522 522 523 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 523 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 524 524 525 525 spin_lock_bh(&iop_chan->lock); 526 526 slot_cnt = iop_chan_interrupt_slot_count(&slots_per_op, iop_chan); ··· 548 548 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 549 549 550 550 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 551 - __FUNCTION__, len); 551 + __func__, len); 552 552 553 553 spin_lock_bh(&iop_chan->lock); 554 554 slot_cnt = iop_chan_memcpy_slot_count(len, &slots_per_op); ··· 580 580 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 581 581 582 582 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 583 - __FUNCTION__, len); 583 + __func__, len); 584 584 585 585 spin_lock_bh(&iop_chan->lock); 586 586 slot_cnt = iop_chan_memset_slot_count(len, &slots_per_op); ··· 614 614 615 615 dev_dbg(iop_chan->device->common.dev, 616 616 "%s src_cnt: %d len: %u flags: %lx\n", 617 - __FUNCTION__, src_cnt, len, flags); 617 + __func__, src_cnt, len, flags); 618 618 619 619 spin_lock_bh(&iop_chan->lock); 620 620 slot_cnt = iop_chan_xor_slot_count(len, src_cnt, &slots_per_op); ··· 648 648 return NULL; 649 649 650 650 dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %u\n", 651 - __FUNCTION__, src_cnt, len); 651 + __func__, src_cnt, len); 652 652 653 653 spin_lock_bh(&iop_chan->lock); 654 654 slot_cnt = iop_chan_zero_sum_slot_count(len, src_cnt, &slots_per_op); ··· 659 659 iop_desc_set_zero_sum_byte_count(grp_start, len); 660 660 grp_start->xor_check_result = result; 661 661 pr_debug("\t%s: grp_start->xor_check_result: %p\n", 662 - __FUNCTION__, grp_start->xor_check_result); 662 + __func__, grp_start->xor_check_result); 663 663 sw_desc->unmap_src_cnt = src_cnt; 664 664 sw_desc->unmap_len = len; 665 665 while (src_cnt--) ··· 700 700 iop_chan->last_used = NULL; 701 701 702 702 dev_dbg(iop_chan->device->common.dev, "%s slots_allocated %d\n", 703 - __FUNCTION__, iop_chan->slots_allocated); 703 + __func__, iop_chan->slots_allocated); 704 704 spin_unlock_bh(&iop_chan->lock); 705 705 706 706 /* one is ok since we left it on there on purpose */ ··· 753 753 { 754 754 struct iop_adma_chan *chan = data; 755 755 756 - dev_dbg(chan->device->common.dev, "%s\n", __FUNCTION__); 756 + dev_dbg(chan->device->common.dev, "%s\n", __func__); 757 757 758 758 tasklet_schedule(&chan->irq_tasklet); 759 759 ··· 766 766 { 767 767 struct iop_adma_chan *chan = data; 768 768 769 - dev_dbg(chan->device->common.dev, "%s\n", __FUNCTION__); 769 + dev_dbg(chan->device->common.dev, "%s\n", __func__); 770 770 771 771 tasklet_schedule(&chan->irq_tasklet); 772 772 ··· 823 823 int err = 0; 824 824 struct iop_adma_chan *iop_chan; 825 825 826 - dev_dbg(device->common.dev, "%s\n", __FUNCTION__); 826 + dev_dbg(device->common.dev, "%s\n", __func__); 827 827 828 828 src = kzalloc(sizeof(u8) * IOP_ADMA_TEST_SIZE, GFP_KERNEL); 829 829 if (!src) ··· 906 906 int err = 0; 907 907 struct iop_adma_chan *iop_chan; 908 908 909 - dev_dbg(device->common.dev, "%s\n", __FUNCTION__); 909 + dev_dbg(device->common.dev, "%s\n", __func__); 910 910 911 911 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) { 912 912 xor_srcs[src_idx] = alloc_page(GFP_KERNEL); ··· 1159 1159 } 1160 1160 1161 1161 dev_dbg(&pdev->dev, "%s: allocted descriptor pool virt %p phys %p\n", 1162 - __FUNCTION__, adev->dma_desc_pool_virt, 1162 + __func__, adev->dma_desc_pool_virt, 1163 1163 (void *) adev->dma_desc_pool); 1164 1164 1165 1165 adev->id = plat_data->hw_id; ··· 1289 1289 dma_cookie_t cookie; 1290 1290 int slot_cnt, slots_per_op; 1291 1291 1292 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 1292 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 1293 1293 1294 1294 spin_lock_bh(&iop_chan->lock); 1295 1295 slot_cnt = iop_chan_memcpy_slot_count(0, &slots_per_op); ··· 1346 1346 dma_cookie_t cookie; 1347 1347 int slot_cnt, slots_per_op; 1348 1348 1349 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 1349 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 1350 1350 1351 1351 spin_lock_bh(&iop_chan->lock); 1352 1352 slot_cnt = iop_chan_xor_slot_count(0, 2, &slots_per_op);
+1 -1
drivers/i2c/busses/i2c-amd756.c
··· 335 335 u8 temp; 336 336 337 337 /* driver_data might come from user-space, so check it */ 338 - if (id->driver_data > ARRAY_SIZE(chipname)) 338 + if (id->driver_data >= ARRAY_SIZE(chipname)) 339 339 return -EINVAL; 340 340 341 341 if (amd756_ioport) {
+7
drivers/i2c/chips/Makefile
··· 1 1 # 2 2 # Makefile for miscellaneous I2C chip drivers. 3 3 # 4 + # Think twice before you add a new driver to this directory. 5 + # Device drivers are better grouped according to the functionality they 6 + # implement rather than to the bus they are connected to. In particular: 7 + # * Hardware monitoring chip drivers go to drivers/hwmon 8 + # * RTC chip drivers go to drivers/rtc 9 + # * I/O expander drivers go to drivers/gpio 10 + # 4 11 5 12 obj-$(CONFIG_DS1682) += ds1682.o 6 13 obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o
+5 -1
drivers/i2c/i2c-core.c
··· 90 90 { 91 91 struct i2c_client *client = to_i2c_client(dev); 92 92 struct i2c_driver *driver = to_i2c_driver(dev->driver); 93 + int status; 93 94 94 95 if (!driver->probe) 95 96 return -ENODEV; 96 97 client->driver = driver; 97 98 dev_dbg(dev, "probe\n"); 98 - return driver->probe(client); 99 + status = driver->probe(client); 100 + if (status) 101 + client->driver = NULL; 102 + return status; 99 103 } 100 104 101 105 static int i2c_device_remove(struct device *dev)
+1 -1
drivers/infiniband/hw/ipath/ipath_common.h
··· 75 75 #define IPATH_IB_LINKDOWN 0 76 76 #define IPATH_IB_LINKARM 1 77 77 #define IPATH_IB_LINKACTIVE 2 78 - #define IPATH_IB_LINKINIT 3 78 + #define IPATH_IB_LINKDOWN_ONLY 3 79 79 #define IPATH_IB_LINKDOWN_SLEEP 4 80 80 #define IPATH_IB_LINKDOWN_DISABLE 5 81 81 #define IPATH_IB_LINK_LOOPBACK 6 /* enable local loopback */
+12 -16
drivers/infiniband/hw/ipath/ipath_driver.c
··· 851 851 * -ETIMEDOUT state can have multiple states set, for any of several 852 852 * transitions. 853 853 */ 854 - static int ipath_wait_linkstate(struct ipath_devdata *dd, u32 state, 855 - int msecs) 854 + int ipath_wait_linkstate(struct ipath_devdata *dd, u32 state, int msecs) 856 855 { 857 856 dd->ipath_state_wanted = state; 858 857 wait_event_interruptible_timeout(ipath_state_wait, ··· 1655 1656 static void ipath_set_ib_lstate(struct ipath_devdata *dd, int which) 1656 1657 { 1657 1658 static const char *what[4] = { 1658 - [0] = "DOWN", 1659 - [INFINIPATH_IBCC_LINKCMD_INIT] = "INIT", 1659 + [0] = "NOP", 1660 + [INFINIPATH_IBCC_LINKCMD_DOWN] = "DOWN", 1660 1661 [INFINIPATH_IBCC_LINKCMD_ARMED] = "ARMED", 1661 1662 [INFINIPATH_IBCC_LINKCMD_ACTIVE] = "ACTIVE" 1662 1663 }; ··· 1671 1672 (dd, dd->ipath_kregs->kr_ibcstatus) >> 1672 1673 INFINIPATH_IBCS_LINKTRAININGSTATE_SHIFT) & 1673 1674 INFINIPATH_IBCS_LINKTRAININGSTATE_MASK]); 1674 - /* flush all queued sends when going to DOWN or INIT, to be sure that 1675 + /* flush all queued sends when going to DOWN to be sure that 1675 1676 * they don't block MAD packets */ 1676 - if (!linkcmd || linkcmd == INFINIPATH_IBCC_LINKCMD_INIT) 1677 + if (linkcmd == INFINIPATH_IBCC_LINKCMD_DOWN) 1677 1678 ipath_cancel_sends(dd, 1); 1678 1679 1679 1680 ipath_write_kreg(dd, dd->ipath_kregs->kr_ibcctrl, ··· 1686 1687 int ret; 1687 1688 1688 1689 switch (newstate) { 1690 + case IPATH_IB_LINKDOWN_ONLY: 1691 + ipath_set_ib_lstate(dd, INFINIPATH_IBCC_LINKCMD_DOWN << 1692 + INFINIPATH_IBCC_LINKCMD_SHIFT); 1693 + /* don't wait */ 1694 + ret = 0; 1695 + goto bail; 1696 + 1689 1697 case IPATH_IB_LINKDOWN: 1690 1698 ipath_set_ib_lstate(dd, INFINIPATH_IBCC_LINKINITCMD_POLL << 1691 1699 INFINIPATH_IBCC_LINKINITCMD_SHIFT); ··· 1714 1708 /* don't wait */ 1715 1709 ret = 0; 1716 1710 goto bail; 1717 - 1718 - case IPATH_IB_LINKINIT: 1719 - if (dd->ipath_flags & IPATH_LINKINIT) { 1720 - ret = 0; 1721 - goto bail; 1722 - } 1723 - ipath_set_ib_lstate(dd, INFINIPATH_IBCC_LINKCMD_INIT << 1724 - INFINIPATH_IBCC_LINKCMD_SHIFT); 1725 - lstate = IPATH_LINKINIT; 1726 - break; 1727 1711 1728 1712 case IPATH_IB_LINKARM: 1729 1713 if (dd->ipath_flags & IPATH_LINKARMED) {
+1
drivers/infiniband/hw/ipath/ipath_kernel.h
··· 767 767 int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); 768 768 int ipath_reset_device(int); 769 769 void ipath_get_faststats(unsigned long); 770 + int ipath_wait_linkstate(struct ipath_devdata *, u32, int); 770 771 int ipath_set_linkstate(struct ipath_devdata *, u8); 771 772 int ipath_set_mtu(struct ipath_devdata *, u16); 772 773 int ipath_set_lid(struct ipath_devdata *, u32, u8);
+3 -4
drivers/infiniband/hw/ipath/ipath_mad.c
··· 555 555 /* FALLTHROUGH */ 556 556 case IB_PORT_DOWN: 557 557 if (lstate == 0) 558 - if (get_linkdowndefaultstate(dd)) 559 - lstate = IPATH_IB_LINKDOWN_SLEEP; 560 - else 561 - lstate = IPATH_IB_LINKDOWN; 558 + lstate = IPATH_IB_LINKDOWN_ONLY; 562 559 else if (lstate == 1) 563 560 lstate = IPATH_IB_LINKDOWN_SLEEP; 564 561 else if (lstate == 2) ··· 565 568 else 566 569 goto err; 567 570 ipath_set_linkstate(dd, lstate); 571 + ipath_wait_linkstate(dd, IPATH_LINKINIT | IPATH_LINKARMED | 572 + IPATH_LINKACTIVE, 1000); 568 573 break; 569 574 case IB_PORT_ARMED: 570 575 ipath_set_linkstate(dd, IPATH_IB_LINKARM);
+7 -6
drivers/infiniband/hw/ipath/ipath_qp.c
··· 329 329 /** 330 330 * ipath_reset_qp - initialize the QP state to the reset state 331 331 * @qp: the QP to reset 332 + * @type: the QP type 332 333 */ 333 - static void ipath_reset_qp(struct ipath_qp *qp) 334 + static void ipath_reset_qp(struct ipath_qp *qp, enum ib_qp_type type) 334 335 { 335 336 qp->remote_qpn = 0; 336 337 qp->qkey = 0; ··· 343 342 qp->s_psn = 0; 344 343 qp->r_psn = 0; 345 344 qp->r_msn = 0; 346 - if (qp->ibqp.qp_type == IB_QPT_RC) { 345 + if (type == IB_QPT_RC) { 347 346 qp->s_state = IB_OPCODE_RC_SEND_LAST; 348 347 qp->r_state = IB_OPCODE_RC_SEND_LAST; 349 348 } else { ··· 415 414 wc.wr_id = qp->r_wr_id; 416 415 wc.opcode = IB_WC_RECV; 417 416 wc.status = err; 418 - ipath_cq_enter(to_icq(qp->ibqp.send_cq), &wc, 1); 417 + ipath_cq_enter(to_icq(qp->ibqp.recv_cq), &wc, 1); 419 418 } 420 419 wc.status = IB_WC_WR_FLUSH_ERR; 421 420 ··· 535 534 536 535 switch (new_state) { 537 536 case IB_QPS_RESET: 538 - ipath_reset_qp(qp); 537 + ipath_reset_qp(qp, ibqp->qp_type); 539 538 break; 540 539 541 540 case IB_QPS_ERR: ··· 648 647 attr->port_num = 1; 649 648 attr->timeout = qp->timeout; 650 649 attr->retry_cnt = qp->s_retry_cnt; 651 - attr->rnr_retry = qp->s_rnr_retry; 650 + attr->rnr_retry = qp->s_rnr_retry_cnt; 652 651 attr->alt_port_num = 0; 653 652 attr->alt_timeout = 0; 654 653 ··· 840 839 goto bail_qp; 841 840 } 842 841 qp->ip = NULL; 843 - ipath_reset_qp(qp); 842 + ipath_reset_qp(qp, init_attr->qp_type); 844 843 break; 845 844 846 845 default:
+4
drivers/infiniband/hw/ipath/ipath_rc.c
··· 1196 1196 list_move_tail(&qp->timerwait, 1197 1197 &dev->pending[dev->pending_index]); 1198 1198 spin_unlock(&dev->pending_lock); 1199 + 1200 + if (opcode == OP(RDMA_READ_RESPONSE_MIDDLE)) 1201 + qp->s_retry = qp->s_retry_cnt; 1202 + 1199 1203 /* 1200 1204 * Update the RDMA receive state but do the copy w/o 1201 1205 * holding the locks and blocking interrupts.
+1 -1
drivers/infiniband/hw/ipath/ipath_registers.h
··· 185 185 #define INFINIPATH_IBCC_LINKINITCMD_SLEEP 3 186 186 #define INFINIPATH_IBCC_LINKINITCMD_SHIFT 16 187 187 #define INFINIPATH_IBCC_LINKCMD_MASK 0x3ULL 188 - #define INFINIPATH_IBCC_LINKCMD_INIT 1 /* move to 0x11 */ 188 + #define INFINIPATH_IBCC_LINKCMD_DOWN 1 /* move to 0x11 */ 189 189 #define INFINIPATH_IBCC_LINKCMD_ARMED 2 /* move to 0x21 */ 190 190 #define INFINIPATH_IBCC_LINKCMD_ACTIVE 3 /* move to 0x31 */ 191 191 #define INFINIPATH_IBCC_LINKCMD_SHIFT 18
+6 -3
drivers/infiniband/ulp/ipoib/ipoib_cm.c
··· 38 38 #include <net/icmp.h> 39 39 #include <linux/icmpv6.h> 40 40 #include <linux/delay.h> 41 + #include <linux/vmalloc.h> 41 42 42 43 #include "ipoib.h" 43 44 ··· 638 637 priv->tx_sge[0].addr = addr; 639 638 priv->tx_sge[0].length = len; 640 639 640 + priv->tx_wr.num_sge = 1; 641 641 priv->tx_wr.wr_id = wr_id | IPOIB_OP_CM; 642 642 643 643 return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr); ··· 1032 1030 struct ipoib_dev_priv *priv = netdev_priv(p->dev); 1033 1031 int ret; 1034 1032 1035 - p->tx_ring = kzalloc(ipoib_sendq_size * sizeof *p->tx_ring, 1036 - GFP_KERNEL); 1033 + p->tx_ring = vmalloc(ipoib_sendq_size * sizeof *p->tx_ring); 1037 1034 if (!p->tx_ring) { 1038 1035 ipoib_warn(priv, "failed to allocate tx ring\n"); 1039 1036 ret = -ENOMEM; 1040 1037 goto err_tx; 1041 1038 } 1039 + memset(p->tx_ring, 0, ipoib_sendq_size * sizeof *p->tx_ring); 1042 1040 1043 1041 p->qp = ipoib_cm_create_tx_qp(p->dev, p); 1044 1042 if (IS_ERR(p->qp)) { ··· 1079 1077 ib_destroy_qp(p->qp); 1080 1078 err_qp: 1081 1079 p->qp = NULL; 1080 + vfree(p->tx_ring); 1082 1081 err_tx: 1083 1082 return ret; 1084 1083 } ··· 1130 1127 if (p->qp) 1131 1128 ib_destroy_qp(p->qp); 1132 1129 1133 - kfree(p->tx_ring); 1130 + vfree(p->tx_ring); 1134 1131 kfree(p); 1135 1132 } 1136 1133
+5 -4
drivers/infiniband/ulp/ipoib/ipoib_main.c
··· 41 41 #include <linux/init.h> 42 42 #include <linux/slab.h> 43 43 #include <linux/kernel.h> 44 + #include <linux/vmalloc.h> 44 45 45 46 #include <linux/if_arp.h> /* For ARPHRD_xxx */ 46 47 ··· 888 887 goto out; 889 888 } 890 889 891 - priv->tx_ring = kzalloc(ipoib_sendq_size * sizeof *priv->tx_ring, 892 - GFP_KERNEL); 890 + priv->tx_ring = vmalloc(ipoib_sendq_size * sizeof *priv->tx_ring); 893 891 if (!priv->tx_ring) { 894 892 printk(KERN_WARNING "%s: failed to allocate TX ring (%d entries)\n", 895 893 ca->name, ipoib_sendq_size); 896 894 goto out_rx_ring_cleanup; 897 895 } 896 + memset(priv->tx_ring, 0, ipoib_sendq_size * sizeof *priv->tx_ring); 898 897 899 898 /* priv->tx_head, tx_tail & tx_outstanding are already 0 */ 900 899 ··· 904 903 return 0; 905 904 906 905 out_tx_ring_cleanup: 907 - kfree(priv->tx_ring); 906 + vfree(priv->tx_ring); 908 907 909 908 out_rx_ring_cleanup: 910 909 kfree(priv->rx_ring); ··· 929 928 ipoib_ib_dev_cleanup(dev); 930 929 931 930 kfree(priv->rx_ring); 932 - kfree(priv->tx_ring); 931 + vfree(priv->tx_ring); 933 932 934 933 priv->rx_ring = NULL; 935 934 priv->tx_ring = NULL;
+1 -1
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
··· 650 650 */ 651 651 spin_lock(&priv->lock); 652 652 653 - if (!test_bit(IPOIB_MCAST_STARTED, &priv->flags) || 653 + if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags) || 654 654 !priv->broadcast || 655 655 !test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) { 656 656 ++dev->stats.tx_dropped;
+2 -2
drivers/isdn/i4l/isdn_common.c
··· 981 981 } 982 982 983 983 984 - static __inline int 984 + static inline int 985 985 isdn_minor2drv(int minor) 986 986 { 987 987 return (dev->drvmap[minor]); 988 988 } 989 989 990 - static __inline int 990 + static inline int 991 991 isdn_minor2chan(int minor) 992 992 { 993 993 return (dev->chanmap[minor]);
+1 -1
drivers/isdn/i4l/isdn_v110.c
··· 62 62 * and to 67452301 when keylen = 2. This is necessary because ordering on 63 63 * the isdn line is the other way. 64 64 */ 65 - static __inline unsigned char 65 + static inline unsigned char 66 66 FlipBits(unsigned char c, int keylen) 67 67 { 68 68 unsigned char b = c;
+3 -2
drivers/macintosh/via-pmu-backlight.c
··· 17 17 18 18 static struct backlight_ops pmu_backlight_data; 19 19 static DEFINE_SPINLOCK(pmu_backlight_lock); 20 - static int sleeping; 20 + static int sleeping, uses_pmu_bl; 21 21 static u8 bl_curve[FB_BACKLIGHT_LEVELS]; 22 22 23 23 static void pmu_backlight_init_curve(u8 off, u8 min, u8 max) ··· 128 128 129 129 spin_lock_irqsave(&pmu_backlight_lock, flags); 130 130 sleeping = sleep; 131 - if (pmac_backlight) { 131 + if (pmac_backlight && uses_pmu_bl) { 132 132 if (sleep) { 133 133 struct adb_request req; 134 134 ··· 166 166 printk(KERN_ERR "PMU Backlight registration failed\n"); 167 167 return; 168 168 } 169 + uses_pmu_bl = 1; 169 170 bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1; 170 171 pmu_backlight_init_curve(0x7F, 0x46, 0x0E); 171 172
+1 -1
drivers/macintosh/via-pmu.c
··· 2528 2528 EXPORT_SYMBOL(pmu_suspend); 2529 2529 EXPORT_SYMBOL(pmu_resume); 2530 2530 EXPORT_SYMBOL(pmu_unlock); 2531 - #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC32) 2531 + #if defined(CONFIG_PPC32) 2532 2532 EXPORT_SYMBOL(pmu_enable_irled); 2533 2533 EXPORT_SYMBOL(pmu_battery_count); 2534 2534 EXPORT_SYMBOL(pmu_batteries);
+1
drivers/misc/Kconfig
··· 108 108 depends on ACPI 109 109 depends on LEDS_CLASS 110 110 depends on BACKLIGHT_CLASS_DEVICE 111 + depends on SERIO_I8042 111 112 select ACPI_WMI 112 113 ---help--- 113 114 This is a driver for newer Acer (and Wistron) laptops. It adds
+31 -13
drivers/misc/acer-wmi.c
··· 219 219 }, 220 220 { 221 221 .callback = dmi_matched, 222 + .ident = "Acer Aspire 3610", 223 + .matches = { 224 + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 225 + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3610"), 226 + }, 227 + .driver_data = &quirk_acer_travelmate_2490, 228 + }, 229 + { 230 + .callback = dmi_matched, 222 231 .ident = "Acer Aspire 5100", 223 232 .matches = { 224 233 DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 225 234 DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), 235 + }, 236 + .driver_data = &quirk_acer_travelmate_2490, 237 + }, 238 + { 239 + .callback = dmi_matched, 240 + .ident = "Acer Aspire 5610", 241 + .matches = { 242 + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 243 + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), 226 244 }, 227 245 .driver_data = &quirk_acer_travelmate_2490, 228 246 }, ··· 779 761 } 780 762 781 763 static struct led_classdev mail_led = { 782 - .name = "acer-mail:green", 764 + .name = "acer-wmi::mail", 783 765 .brightness_set = mail_led_set, 784 766 }; 785 767 786 - static int __init acer_led_init(struct device *dev) 768 + static int __devinit acer_led_init(struct device *dev) 787 769 { 788 770 return led_classdev_register(dev, &mail_led); 789 771 } ··· 816 798 .update_status = update_bl_status, 817 799 }; 818 800 819 - static int __init acer_backlight_init(struct device *dev) 801 + static int __devinit acer_backlight_init(struct device *dev) 820 802 { 821 803 struct backlight_device *bd; 822 804 ··· 835 817 return 0; 836 818 } 837 819 838 - static void __exit acer_backlight_exit(void) 820 + static void acer_backlight_exit(void) 839 821 { 840 822 backlight_device_unregister(acer_backlight_device); 841 823 } ··· 1070 1052 1071 1053 if (wmi_has_guid(WMID_GUID2) && interface) { 1072 1054 if (ACPI_FAILURE(WMID_set_capabilities())) { 1073 - printk(ACER_ERR "Unable to detect available devices\n"); 1055 + printk(ACER_ERR "Unable to detect available WMID " 1056 + "devices\n"); 1074 1057 return -ENODEV; 1075 1058 } 1076 1059 } else if (!wmi_has_guid(WMID_GUID2) && interface) { 1077 - printk(ACER_ERR "Unable to detect available devices\n"); 1060 + printk(ACER_ERR "No WMID device detection method found\n"); 1078 1061 return -ENODEV; 1079 1062 } 1080 1063 ··· 1083 1064 interface = &AMW0_interface; 1084 1065 1085 1066 if (ACPI_FAILURE(AMW0_set_capabilities())) { 1086 - printk(ACER_ERR "Unable to detect available devices\n"); 1067 + printk(ACER_ERR "Unable to detect available AMW0 " 1068 + "devices\n"); 1087 1069 return -ENODEV; 1088 1070 } 1089 1071 } 1090 1072 1091 - if (wmi_has_guid(AMW0_GUID1)) { 1092 - if (ACPI_FAILURE(AMW0_find_mailled())) 1093 - printk(ACER_ERR "Unable to detect mail LED\n"); 1094 - } 1073 + if (wmi_has_guid(AMW0_GUID1)) 1074 + AMW0_find_mailled(); 1095 1075 1096 1076 find_quirks(); 1097 1077 1098 1078 if (!interface) { 1099 - printk(ACER_ERR "No or unsupported WMI interface, unable to "); 1100 - printk(KERN_CONT "load.\n"); 1079 + printk(ACER_ERR "No or unsupported WMI interface, unable to " 1080 + "load\n"); 1101 1081 return -ENODEV; 1102 1082 } 1103 1083
+1 -1
drivers/misc/sony-laptop.c
··· 315 315 break; 316 316 317 317 default: 318 - if (event > ARRAY_SIZE(sony_laptop_input_index)) { 318 + if (event >= ARRAY_SIZE(sony_laptop_input_index)) { 319 319 dprintk("sony_laptop_report_input_event, event not known: %d\n", event); 320 320 break; 321 321 }
+10 -10
drivers/net/Kconfig
··· 2366 2366 module will be called ps3_gelic. 2367 2367 2368 2368 config GELIC_WIRELESS 2369 - bool "PS3 Wireless support" 2370 - depends on GELIC_NET 2371 - select WIRELESS_EXT 2372 - help 2373 - This option adds the support for the wireless feature of PS3. 2374 - If you have the wireless-less model of PS3 or have no plan to 2375 - use wireless feature, disabling this option saves memory. As 2376 - the driver automatically distinguishes the models, you can 2377 - safely enable this option even if you have a wireless-less model. 2369 + bool "PS3 Wireless support" 2370 + depends on GELIC_NET 2371 + select WIRELESS_EXT 2372 + help 2373 + This option adds the support for the wireless feature of PS3. 2374 + If you have the wireless-less model of PS3 or have no plan to 2375 + use wireless feature, disabling this option saves memory. As 2376 + the driver automatically distinguishes the models, you can 2377 + safely enable this option even if you have a wireless-less model. 2378 2378 2379 2379 config GIANFAR 2380 2380 tristate "Gianfar Ethernet" ··· 2519 2519 2520 2520 config EHEA 2521 2521 tristate "eHEA Ethernet support" 2522 - depends on IBMEBUS && INET 2522 + depends on IBMEBUS && INET && SPARSEMEM 2523 2523 select INET_LRO 2524 2524 ---help--- 2525 2525 This driver supports the IBM pSeries eHEA ethernet adapter.
+4 -3
drivers/net/ac3200.c
··· 369 369 MODULE_DESCRIPTION("Ansel AC3200 EISA ethernet driver"); 370 370 MODULE_LICENSE("GPL"); 371 371 372 - int __init init_module(void) 372 + static int __init ac3200_module_init(void) 373 373 { 374 374 struct net_device *dev; 375 375 int this_dev, found = 0; ··· 404 404 iounmap(ei_status.mem); 405 405 } 406 406 407 - void __exit 408 - cleanup_module(void) 407 + static void __exit ac3200_module_exit(void) 409 408 { 410 409 int this_dev; 411 410 ··· 417 418 } 418 419 } 419 420 } 421 + module_init(ac3200_module_init); 422 + module_exit(ac3200_module_exit); 420 423 #endif /* MODULE */
+4 -3
drivers/net/apne.c
··· 569 569 #ifdef MODULE 570 570 static struct net_device *apne_dev; 571 571 572 - int __init init_module(void) 572 + static int __init apne_module_init(void) 573 573 { 574 574 apne_dev = apne_probe(-1); 575 575 if (IS_ERR(apne_dev)) ··· 577 577 return 0; 578 578 } 579 579 580 - void __exit cleanup_module(void) 580 + static void __exit apne_module_exit(void) 581 581 { 582 582 unregister_netdev(apne_dev); 583 583 ··· 591 591 592 592 free_netdev(apne_dev); 593 593 } 594 - 594 + module_init(apne_module_init); 595 + module_exit(apne_module_exit); 595 596 #endif 596 597 597 598 static int init_pcmcia(void)
+2 -1
drivers/net/appletalk/ltpc.c
··· 1252 1252 module_param(dma, int, 0); 1253 1253 1254 1254 1255 - int __init init_module(void) 1255 + static int __init ltpc_module_init(void) 1256 1256 { 1257 1257 if(io == 0) 1258 1258 printk(KERN_NOTICE ··· 1263 1263 return PTR_ERR(dev_ltpc); 1264 1264 return 0; 1265 1265 } 1266 + module_init(ltpc_module_init); 1266 1267 #endif 1267 1268 1268 1269 static void __exit ltpc_cleanup(void)
+4 -2
drivers/net/arcnet/capmode.c
··· 80 80 81 81 #ifdef MODULE 82 82 83 - int __init init_module(void) 83 + static int __init capmode_module_init(void) 84 84 { 85 85 printk(VERSION); 86 86 arcnet_cap_init(); 87 87 return 0; 88 88 } 89 89 90 - void cleanup_module(void) 90 + static void __exit capmode_module_exit(void) 91 91 { 92 92 arcnet_unregister_proto(&capmode_proto); 93 93 } 94 + module_init(capmode_module_init); 95 + module_exit(capmode_module_exit); 94 96 95 97 MODULE_LICENSE("GPL"); 96 98 #endif /* MODULE */
+2 -3
drivers/net/atarilance.c
··· 336 336 337 337 /***************************** Prototypes *****************************/ 338 338 339 - static int addr_accessible( volatile void *regp, int wordflag, int 340 - writeflag ); 341 339 static unsigned long lance_probe1( struct net_device *dev, struct lance_addr 342 340 *init_rec ); 343 341 static int lance_open( struct net_device *dev ); ··· 404 406 405 407 /* Derived from hwreg_present() in atari/config.c: */ 406 408 407 - static int __init addr_accessible( volatile void *regp, int wordflag, int writeflag ) 409 + static noinline int __init addr_accessible(volatile void *regp, int wordflag, 410 + int writeflag) 408 411 { 409 412 int ret; 410 413 long flags;
+3 -26
drivers/net/e100.c
··· 2782 2782 } 2783 2783 } 2784 2784 2785 - #ifdef CONFIG_PM 2786 2785 static int e100_suspend(struct pci_dev *pdev, pm_message_t state) 2787 2786 { 2788 2787 struct net_device *netdev = pci_get_drvdata(pdev); 2789 2788 struct nic *nic = netdev_priv(netdev); 2790 2789 2791 2790 if (netif_running(netdev)) 2792 - napi_disable(&nic->napi); 2793 - del_timer_sync(&nic->watchdog); 2794 - netif_carrier_off(nic->netdev); 2791 + e100_down(nic); 2795 2792 netif_device_detach(netdev); 2796 2793 2797 2794 pci_save_state(pdev); ··· 2801 2804 pci_enable_wake(pdev, PCI_D3cold, 0); 2802 2805 } 2803 2806 2804 - free_irq(pdev->irq, netdev); 2805 - 2806 2807 pci_disable_device(pdev); 2807 2808 pci_set_power_state(pdev, PCI_D3hot); 2808 2809 2809 2810 return 0; 2810 2811 } 2811 2812 2813 + #ifdef CONFIG_PM 2812 2814 static int e100_resume(struct pci_dev *pdev) 2813 2815 { 2814 2816 struct net_device *netdev = pci_get_drvdata(pdev); ··· 2828 2832 2829 2833 static void e100_shutdown(struct pci_dev *pdev) 2830 2834 { 2831 - struct net_device *netdev = pci_get_drvdata(pdev); 2832 - struct nic *nic = netdev_priv(netdev); 2833 - 2834 - if (netif_running(netdev)) 2835 - napi_disable(&nic->napi); 2836 - del_timer_sync(&nic->watchdog); 2837 - netif_carrier_off(nic->netdev); 2838 - 2839 - if ((nic->flags & wol_magic) | e100_asf(nic)) { 2840 - pci_enable_wake(pdev, PCI_D3hot, 1); 2841 - pci_enable_wake(pdev, PCI_D3cold, 1); 2842 - } else { 2843 - pci_enable_wake(pdev, PCI_D3hot, 0); 2844 - pci_enable_wake(pdev, PCI_D3cold, 0); 2845 - } 2846 - 2847 - free_irq(pdev->irq, netdev); 2848 - 2849 - pci_disable_device(pdev); 2850 - pci_set_power_state(pdev, PCI_D3hot); 2835 + e100_suspend(pdev, PMSG_SUSPEND); 2851 2836 } 2852 2837 2853 2838 /* ------------------ PCI Error Recovery infrastructure -------------- */
+2 -1
drivers/net/enc28j60.c
··· 900 900 if (RSV_GETBIT(rxstat, RSV_LENCHECKERR)) 901 901 ndev->stats.rx_frame_errors++; 902 902 } else { 903 - skb = dev_alloc_skb(len); 903 + skb = dev_alloc_skb(len + NET_IP_ALIGN); 904 904 if (!skb) { 905 905 if (netif_msg_rx_err(priv)) 906 906 dev_err(&ndev->dev, ··· 908 908 ndev->stats.rx_dropped++; 909 909 } else { 910 910 skb->dev = ndev; 911 + skb_reserve(skb, NET_IP_ALIGN); 911 912 /* copy the packet from the receive buffer */ 912 913 enc28j60_mem_read(priv, priv->next_pk_ptr + sizeof(rsv), 913 914 len, skb_put(skb, len));
+1 -1
drivers/net/ixgbe/ixgbe_main.c
··· 2133 2133 (link_speed == IXGBE_LINK_SPEED_10GB_FULL ? 2134 2134 "10 Gbps" : 2135 2135 (link_speed == IXGBE_LINK_SPEED_1GB_FULL ? 2136 - "1 Gpbs" : "unknown speed")), 2136 + "1 Gbps" : "unknown speed")), 2137 2137 ((FLOW_RX && FLOW_TX) ? "RX/TX" : 2138 2138 (FLOW_RX ? "RX" : 2139 2139 (FLOW_TX ? "TX" : "None"))));
+1
drivers/net/mv643xx_eth.c
··· 2104 2104 MODULE_AUTHOR( "Rabeeh Khoury, Assaf Hoffman, Matthew Dharm, Manish Lachwani" 2105 2105 " and Dale Farnsworth"); 2106 2106 MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX"); 2107 + MODULE_ALIAS("platform:mv643xx_eth"); 2107 2108 2108 2109 /* 2109 2110 * The second part is the low level driver of the gigE ethernet ports.
+1 -1
drivers/net/pcmcia/axnet_cs.c
··· 1268 1268 } 1269 1269 } 1270 1270 1271 - if (interrupts && ei_debug) 1271 + if (interrupts && ei_debug > 3) 1272 1272 { 1273 1273 handled = 1; 1274 1274 if (nr_serviced >= MAX_SERVICE)
+1
drivers/net/phy/Kconfig
··· 67 67 68 68 config FIXED_PHY 69 69 bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" 70 + depends on PHYLIB=y 70 71 ---help--- 71 72 Adds the platform "fixed" MDIO Bus to cover the boards that use 72 73 PHYs that are not connected to the real MDIO bus.
+14 -3
drivers/net/phy/davicom.c
··· 37 37 38 38 #define MII_DM9161_SCR 0x10 39 39 #define MII_DM9161_SCR_INIT 0x0610 40 + #define MII_DM9161_SCR_RMII 0x0100 40 41 41 42 /* DM9161 Interrupt Register */ 42 43 #define MII_DM9161_INTR 0x15 ··· 104 103 105 104 static int dm9161_config_init(struct phy_device *phydev) 106 105 { 107 - int err; 106 + int err, temp; 108 107 109 108 /* Isolate the PHY */ 110 109 err = phy_write(phydev, MII_BMCR, BMCR_ISOLATE); ··· 112 111 if (err < 0) 113 112 return err; 114 113 115 - /* Do not bypass the scrambler/descrambler */ 116 - err = phy_write(phydev, MII_DM9161_SCR, MII_DM9161_SCR_INIT); 114 + switch (phydev->interface) { 115 + case PHY_INTERFACE_MODE_MII: 116 + temp = MII_DM9161_SCR_INIT; 117 + break; 118 + case PHY_INTERFACE_MODE_RMII: 119 + temp = MII_DM9161_SCR_INIT | MII_DM9161_SCR_RMII; 120 + break; 121 + default: 122 + return -EINVAL; 123 + } 117 124 125 + /* Do not bypass the scrambler/descrambler */ 126 + err = phy_write(phydev, MII_DM9161_SCR, temp); 118 127 if (err < 0) 119 128 return err; 120 129
+37 -32
drivers/net/pppol2tp.c
··· 302 302 struct pppol2tp_session *session; 303 303 struct hlist_node *walk; 304 304 305 - read_lock(&tunnel->hlist_lock); 305 + read_lock_bh(&tunnel->hlist_lock); 306 306 hlist_for_each_entry(session, walk, session_list, hlist) { 307 307 if (session->tunnel_addr.s_session == session_id) { 308 - read_unlock(&tunnel->hlist_lock); 308 + read_unlock_bh(&tunnel->hlist_lock); 309 309 return session; 310 310 } 311 311 } 312 - read_unlock(&tunnel->hlist_lock); 312 + read_unlock_bh(&tunnel->hlist_lock); 313 313 314 314 return NULL; 315 315 } ··· 320 320 { 321 321 struct pppol2tp_tunnel *tunnel = NULL; 322 322 323 - read_lock(&pppol2tp_tunnel_list_lock); 323 + read_lock_bh(&pppol2tp_tunnel_list_lock); 324 324 list_for_each_entry(tunnel, &pppol2tp_tunnel_list, list) { 325 325 if (tunnel->stats.tunnel_id == tunnel_id) { 326 - read_unlock(&pppol2tp_tunnel_list_lock); 326 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 327 327 return tunnel; 328 328 } 329 329 } 330 - read_unlock(&pppol2tp_tunnel_list_lock); 330 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 331 331 332 332 return NULL; 333 333 } ··· 342 342 static void pppol2tp_recv_queue_skb(struct pppol2tp_session *session, struct sk_buff *skb) 343 343 { 344 344 struct sk_buff *skbp; 345 + struct sk_buff *tmp; 345 346 u16 ns = PPPOL2TP_SKB_CB(skb)->ns; 346 347 347 - spin_lock(&session->reorder_q.lock); 348 - skb_queue_walk(&session->reorder_q, skbp) { 348 + spin_lock_bh(&session->reorder_q.lock); 349 + skb_queue_walk_safe(&session->reorder_q, skbp, tmp) { 349 350 if (PPPOL2TP_SKB_CB(skbp)->ns > ns) { 350 351 __skb_insert(skb, skbp->prev, skbp, &session->reorder_q); 351 352 PRINTK(session->debug, PPPOL2TP_MSG_SEQ, KERN_DEBUG, ··· 361 360 __skb_queue_tail(&session->reorder_q, skb); 362 361 363 362 out: 364 - spin_unlock(&session->reorder_q.lock); 363 + spin_unlock_bh(&session->reorder_q.lock); 365 364 } 366 365 367 366 /* Dequeue a single skb. ··· 372 371 int length = PPPOL2TP_SKB_CB(skb)->length; 373 372 struct sock *session_sock = NULL; 374 373 375 - /* We're about to requeue the skb, so unlink it and return resources 374 + /* We're about to requeue the skb, so return resources 376 375 * to its current owner (a socket receive buffer). 377 376 */ 378 - skb_unlink(skb, &session->reorder_q); 379 377 skb_orphan(skb); 380 378 381 379 tunnel->stats.rx_packets++; ··· 442 442 * expect to send up next, dequeue it and any other 443 443 * in-sequence packets behind it. 444 444 */ 445 - spin_lock(&session->reorder_q.lock); 445 + spin_lock_bh(&session->reorder_q.lock); 446 446 skb_queue_walk_safe(&session->reorder_q, skb, tmp) { 447 447 if (time_after(jiffies, PPPOL2TP_SKB_CB(skb)->expires)) { 448 448 session->stats.rx_seq_discards++; ··· 470 470 goto out; 471 471 } 472 472 } 473 - spin_unlock(&session->reorder_q.lock); 473 + __skb_unlink(skb, &session->reorder_q); 474 + 475 + /* Process the skb. We release the queue lock while we 476 + * do so to let other contexts process the queue. 477 + */ 478 + spin_unlock_bh(&session->reorder_q.lock); 474 479 pppol2tp_recv_dequeue_skb(session, skb); 475 - spin_lock(&session->reorder_q.lock); 480 + spin_lock_bh(&session->reorder_q.lock); 476 481 } 477 482 478 483 out: 479 - spin_unlock(&session->reorder_q.lock); 484 + spin_unlock_bh(&session->reorder_q.lock); 480 485 } 481 486 482 487 /* Internal receive frame. Do the real work of receiving an L2TP data frame ··· 1064 1059 1065 1060 /* Get routing info from the tunnel socket */ 1066 1061 dst_release(skb->dst); 1067 - skb->dst = sk_dst_get(sk_tun); 1062 + skb->dst = dst_clone(__sk_dst_get(sk_tun)); 1068 1063 skb_orphan(skb); 1069 1064 skb->sk = sk_tun; 1070 1065 ··· 1112 1107 PRINTK(tunnel->debug, PPPOL2TP_MSG_CONTROL, KERN_INFO, 1113 1108 "%s: closing all sessions...\n", tunnel->name); 1114 1109 1115 - write_lock(&tunnel->hlist_lock); 1110 + write_lock_bh(&tunnel->hlist_lock); 1116 1111 for (hash = 0; hash < PPPOL2TP_HASH_SIZE; hash++) { 1117 1112 again: 1118 1113 hlist_for_each_safe(walk, tmp, &tunnel->session_hlist[hash]) { ··· 1134 1129 * disappear as we're jumping between locks. 1135 1130 */ 1136 1131 sock_hold(sk); 1137 - write_unlock(&tunnel->hlist_lock); 1132 + write_unlock_bh(&tunnel->hlist_lock); 1138 1133 lock_sock(sk); 1139 1134 1140 1135 if (sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND)) { ··· 1159 1154 * list so we are guaranteed to make forward 1160 1155 * progress. 1161 1156 */ 1162 - write_lock(&tunnel->hlist_lock); 1157 + write_lock_bh(&tunnel->hlist_lock); 1163 1158 goto again; 1164 1159 } 1165 1160 } 1166 - write_unlock(&tunnel->hlist_lock); 1161 + write_unlock_bh(&tunnel->hlist_lock); 1167 1162 } 1168 1163 1169 1164 /* Really kill the tunnel. ··· 1172 1167 static void pppol2tp_tunnel_free(struct pppol2tp_tunnel *tunnel) 1173 1168 { 1174 1169 /* Remove from socket list */ 1175 - write_lock(&pppol2tp_tunnel_list_lock); 1170 + write_lock_bh(&pppol2tp_tunnel_list_lock); 1176 1171 list_del_init(&tunnel->list); 1177 - write_unlock(&pppol2tp_tunnel_list_lock); 1172 + write_unlock_bh(&pppol2tp_tunnel_list_lock); 1178 1173 1179 1174 atomic_dec(&pppol2tp_tunnel_count); 1180 1175 kfree(tunnel); ··· 1250 1245 /* Delete the session socket from the 1251 1246 * hash 1252 1247 */ 1253 - write_lock(&tunnel->hlist_lock); 1248 + write_lock_bh(&tunnel->hlist_lock); 1254 1249 hlist_del_init(&session->hlist); 1255 - write_unlock(&tunnel->hlist_lock); 1250 + write_unlock_bh(&tunnel->hlist_lock); 1256 1251 1257 1252 atomic_dec(&pppol2tp_session_count); 1258 1253 } ··· 1397 1392 1398 1393 /* Add tunnel to our list */ 1399 1394 INIT_LIST_HEAD(&tunnel->list); 1400 - write_lock(&pppol2tp_tunnel_list_lock); 1395 + write_lock_bh(&pppol2tp_tunnel_list_lock); 1401 1396 list_add(&tunnel->list, &pppol2tp_tunnel_list); 1402 - write_unlock(&pppol2tp_tunnel_list_lock); 1397 + write_unlock_bh(&pppol2tp_tunnel_list_lock); 1403 1398 atomic_inc(&pppol2tp_tunnel_count); 1404 1399 1405 1400 /* Bump the reference count. The tunnel context is deleted ··· 1604 1599 sk->sk_user_data = session; 1605 1600 1606 1601 /* Add session to the tunnel's hash list */ 1607 - write_lock(&tunnel->hlist_lock); 1602 + write_lock_bh(&tunnel->hlist_lock); 1608 1603 hlist_add_head(&session->hlist, 1609 1604 pppol2tp_session_id_hash(tunnel, 1610 1605 session->tunnel_addr.s_session)); 1611 - write_unlock(&tunnel->hlist_lock); 1606 + write_unlock_bh(&tunnel->hlist_lock); 1612 1607 1613 1608 atomic_inc(&pppol2tp_session_count); 1614 1609 ··· 2210 2205 int next = 0; 2211 2206 int i; 2212 2207 2213 - read_lock(&tunnel->hlist_lock); 2208 + read_lock_bh(&tunnel->hlist_lock); 2214 2209 for (i = 0; i < PPPOL2TP_HASH_SIZE; i++) { 2215 2210 hlist_for_each_entry(session, walk, &tunnel->session_hlist[i], hlist) { 2216 2211 if (curr == NULL) { ··· 2228 2223 } 2229 2224 } 2230 2225 out: 2231 - read_unlock(&tunnel->hlist_lock); 2226 + read_unlock_bh(&tunnel->hlist_lock); 2232 2227 if (!found) 2233 2228 session = NULL; 2234 2229 ··· 2239 2234 { 2240 2235 struct pppol2tp_tunnel *tunnel = NULL; 2241 2236 2242 - read_lock(&pppol2tp_tunnel_list_lock); 2237 + read_lock_bh(&pppol2tp_tunnel_list_lock); 2243 2238 if (list_is_last(&curr->list, &pppol2tp_tunnel_list)) { 2244 2239 goto out; 2245 2240 } 2246 2241 tunnel = list_entry(curr->list.next, struct pppol2tp_tunnel, list); 2247 2242 out: 2248 - read_unlock(&pppol2tp_tunnel_list_lock); 2243 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 2249 2244 2250 2245 return tunnel; 2251 2246 }
+1 -1
drivers/net/s2io.c
··· 1088 1088 * '-1' on failure 1089 1089 */ 1090 1090 1091 - int init_tti(struct s2io_nic *nic, int link) 1091 + static int init_tti(struct s2io_nic *nic, int link) 1092 1092 { 1093 1093 struct XENA_dev_config __iomem *bar0 = nic->bar0; 1094 1094 register u64 val64 = 0;
+2 -1
drivers/net/tulip/de2104x.c
··· 910 910 unsigned media = de->media_type; 911 911 u32 macmode = dr32(MacMode); 912 912 913 - BUG_ON(de_is_running(de)); 913 + if (de_is_running(de)) 914 + printk(KERN_WARNING "%s: chip is running while changing media!\n", de->dev->name); 914 915 915 916 if (de->de21040) 916 917 dw32(CSR11, FULL_DUPLEX_MAGIC);
+1 -1
drivers/net/wan/sbni.c
··· 751 751 } 752 752 753 753 754 - static __inline void 754 + static inline void 755 755 send_complete( struct net_local *nl ) 756 756 { 757 757 #ifdef CONFIG_SBNI_MULTILINE
+1 -1
drivers/net/wireless/libertas/cmdresp.c
··· 578 578 goto done; 579 579 } 580 580 if (respcmd != CMD_RET(curcmd) && 581 - respcmd != CMD_802_11_ASSOCIATE && curcmd != CMD_RET_802_11_ASSOCIATE) { 581 + respcmd != CMD_RET_802_11_ASSOCIATE && curcmd != CMD_802_11_ASSOCIATE) { 582 582 lbs_pr_info("Invalid CMD_RESP %x to command %x!\n", respcmd, curcmd); 583 583 spin_unlock_irqrestore(&priv->driver_lock, flags); 584 584 ret = -1;
+2 -2
drivers/net/wireless/rt2x00/rt61pci.c
··· 2302 2302 * Apply some rules to the filters: 2303 2303 * - Some filters imply different filters to be set. 2304 2304 * - Some things we can't filter out at all. 2305 + * - Multicast filter seems to kill broadcast traffic so never use it. 2305 2306 */ 2306 - if (mc_count) 2307 - *total_flags |= FIF_ALLMULTI; 2307 + *total_flags |= FIF_ALLMULTI; 2308 2308 if (*total_flags & FIF_OTHER_BSS || 2309 2309 *total_flags & FIF_PROMISC_IN_BSS) 2310 2310 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
+3 -2
drivers/net/wireless/rt2x00/rt73usb.c
··· 1869 1869 * Apply some rules to the filters: 1870 1870 * - Some filters imply different filters to be set. 1871 1871 * - Some things we can't filter out at all. 1872 + * - Multicast filter seems to kill broadcast traffic so never use it. 1872 1873 */ 1873 - if (mc_count) 1874 - *total_flags |= FIF_ALLMULTI; 1874 + *total_flags |= FIF_ALLMULTI; 1875 1875 if (*total_flags & FIF_OTHER_BSS || 1876 1876 *total_flags & FIF_PROMISC_IN_BSS) 1877 1877 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; ··· 2098 2098 /* D-Link */ 2099 2099 { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, 2100 2100 { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, 2101 + { USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) }, 2101 2102 /* Gemtek */ 2102 2103 { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) }, 2103 2104 /* Gigabyte */
+5 -1
drivers/pci/bus.c
··· 143 143 /* register the bus with sysfs as the parent is now 144 144 * properly registered. */ 145 145 child_bus = dev->subordinate; 146 + if (child_bus->is_added) 147 + continue; 146 148 child_bus->dev.parent = child_bus->bridge; 147 149 retval = device_register(&child_bus->dev); 148 150 if (retval) 149 151 dev_err(&dev->dev, "Error registering pci_bus," 150 152 " continuing...\n"); 151 - else 153 + else { 154 + child_bus->is_added = 1; 152 155 retval = device_create_file(&child_bus->dev, 153 156 &dev_attr_cpuaffinity); 157 + } 154 158 if (retval) 155 159 dev_err(&dev->dev, "Error creating cpuaffinity" 156 160 " file, continuing...\n");
+16 -8
drivers/pci/pci-acpi.c
··· 272 272 { 273 273 acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev); 274 274 acpi_handle tmp; 275 - static int state_conv[] = { 276 - [0] = 0, 277 - [1] = 1, 278 - [2] = 2, 279 - [3] = 3, 280 - [4] = 3 275 + static const u8 state_conv[] = { 276 + [PCI_D0] = ACPI_STATE_D0, 277 + [PCI_D1] = ACPI_STATE_D1, 278 + [PCI_D2] = ACPI_STATE_D2, 279 + [PCI_D3hot] = ACPI_STATE_D3, 280 + [PCI_D3cold] = ACPI_STATE_D3 281 281 }; 282 - int acpi_state = state_conv[(int __force) state]; 283 282 284 283 if (!handle) 285 284 return -ENODEV; 286 285 /* If the ACPI device has _EJ0, ignore the device */ 287 286 if (ACPI_SUCCESS(acpi_get_handle(handle, "_EJ0", &tmp))) 288 287 return 0; 289 - return acpi_bus_set_power(handle, acpi_state); 288 + 289 + switch (state) { 290 + case PCI_D0: 291 + case PCI_D1: 292 + case PCI_D2: 293 + case PCI_D3hot: 294 + case PCI_D3cold: 295 + return acpi_bus_set_power(handle, state_conv[state]); 296 + } 297 + return -EINVAL; 290 298 } 291 299 292 300
+65 -35
drivers/pnp/quirks.c
··· 17 17 #include <linux/slab.h> 18 18 #include <linux/pnp.h> 19 19 #include <linux/io.h> 20 - #include <linux/dmi.h> 21 20 #include <linux/kallsyms.h> 22 21 #include "base.h" 23 22 ··· 108 109 "pnp: SB audio device quirk - increasing port range\n"); 109 110 } 110 111 111 - static void quirk_supermicro_h8dce_system(struct pnp_dev *dev) 112 - { 113 - int i; 114 - static struct dmi_system_id supermicro_h8dce[] = { 115 - { 116 - .ident = "Supermicro H8DCE", 117 - .matches = { 118 - DMI_MATCH(DMI_SYS_VENDOR, "Supermicro"), 119 - DMI_MATCH(DMI_PRODUCT_NAME, "H8DCE"), 120 - }, 121 - }, 122 - { } 123 - }; 124 112 125 - if (!dmi_check_system(supermicro_h8dce)) 126 - return; 113 + #include <linux/pci.h> 114 + 115 + static void quirk_system_pci_resources(struct pnp_dev *dev) 116 + { 117 + struct pci_dev *pdev = NULL; 118 + resource_size_t pnp_start, pnp_end, pci_start, pci_end; 119 + int i, j; 127 120 128 121 /* 129 - * On the Supermicro H8DCE, there's a system device with resources 130 - * that overlap BAR 6 of the built-in SATA PCI adapter. If the PNP 131 - * system device claims them, the sata_nv driver won't be able to. 132 - * More details at: 133 - * https://bugzilla.redhat.com/show_bug.cgi?id=280641 134 - * https://bugzilla.redhat.com/show_bug.cgi?id=313491 135 - * http://lkml.org/lkml/2008/1/9/449 136 - * http://thread.gmane.org/gmane.linux.acpi.devel/27312 122 + * Some BIOSes have PNP motherboard devices with resources that 123 + * partially overlap PCI BARs. The PNP system driver claims these 124 + * motherboard resources, which prevents the normal PCI driver from 125 + * requesting them later. 126 + * 127 + * This patch disables the PNP resources that conflict with PCI BARs 128 + * so they won't be claimed by the PNP system driver. 137 129 */ 138 - for (i = 0; i < PNP_MAX_MEM; i++) { 139 - if (pnp_mem_valid(dev, i) && pnp_mem_len(dev, i) && 140 - (pnp_mem_start(dev, i) & 0xdfef0000) == 0xdfef0000) { 141 - dev_warn(&dev->dev, "disabling 0x%llx-0x%llx to prevent" 142 - " conflict with sata_nv PCI device\n", 143 - (unsigned long long) pnp_mem_start(dev, i), 144 - (unsigned long long) (pnp_mem_start(dev, i) + 145 - pnp_mem_len(dev, i) - 1)); 146 - pnp_mem_flags(dev, i) = 0; 130 + for_each_pci_dev(pdev) { 131 + for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { 132 + if (!(pci_resource_flags(pdev, i) & IORESOURCE_MEM) || 133 + pci_resource_len(pdev, i) == 0) 134 + continue; 135 + 136 + pci_start = pci_resource_start(pdev, i); 137 + pci_end = pci_resource_end(pdev, i); 138 + for (j = 0; j < PNP_MAX_MEM; j++) { 139 + if (!pnp_mem_valid(dev, j) || 140 + pnp_mem_len(dev, j) == 0) 141 + continue; 142 + 143 + pnp_start = pnp_mem_start(dev, j); 144 + pnp_end = pnp_mem_end(dev, j); 145 + 146 + /* 147 + * If the PNP region doesn't overlap the PCI 148 + * region at all, there's no problem. 149 + */ 150 + if (pnp_end < pci_start || pnp_start > pci_end) 151 + continue; 152 + 153 + /* 154 + * If the PNP region completely encloses (or is 155 + * at least as large as) the PCI region, that's 156 + * also OK. For example, this happens when the 157 + * PNP device describes a bridge with PCI 158 + * behind it. 159 + */ 160 + if (pnp_start <= pci_start && 161 + pnp_end >= pci_end) 162 + continue; 163 + 164 + /* 165 + * Otherwise, the PNP region overlaps *part* of 166 + * the PCI region, and that might prevent a PCI 167 + * driver from requesting its resources. 168 + */ 169 + dev_warn(&dev->dev, "mem resource " 170 + "(0x%llx-0x%llx) overlaps %s BAR %d " 171 + "(0x%llx-0x%llx), disabling\n", 172 + (unsigned long long) pnp_start, 173 + (unsigned long long) pnp_end, 174 + pci_name(pdev), i, 175 + (unsigned long long) pci_start, 176 + (unsigned long long) pci_end); 177 + pnp_mem_flags(dev, j) = 0; 178 + } 147 179 } 148 180 } 149 181 } ··· 199 169 {"CTL0043", quirk_sb16audio_resources}, 200 170 {"CTL0044", quirk_sb16audio_resources}, 201 171 {"CTL0045", quirk_sb16audio_resources}, 202 - {"PNP0c01", quirk_supermicro_h8dce_system}, 203 - {"PNP0c02", quirk_supermicro_h8dce_system}, 172 + {"PNP0c01", quirk_system_pci_resources}, 173 + {"PNP0c02", quirk_system_pci_resources}, 204 174 {""} 205 175 }; 206 176
+2 -2
drivers/spi/au1550_spi.c
··· 99 99 static void au1550_spi_bits_handlers_set(struct au1550_spi *hw, int bpw); 100 100 101 101 102 - /** 102 + /* 103 103 * compute BRG and DIV bits to setup spi clock based on main input clock rate 104 104 * that was specified in platform data structure 105 105 * according to au1550 datasheet: ··· 650 650 return hw->txrx_bufs(spi, t); 651 651 } 652 652 653 - static irqreturn_t au1550_spi_irq(int irq, void *dev, struct pt_regs *regs) 653 + static irqreturn_t au1550_spi_irq(int irq, void *dev) 654 654 { 655 655 struct au1550_spi *hw = dev; 656 656 return hw->irq_callback(hw);
+5 -3
drivers/spi/spi_bitbang.c
··· 344 344 t->rx_dma = t->tx_dma = 0; 345 345 status = bitbang->txrx_bufs(spi, t); 346 346 } 347 + if (status > 0) 348 + m->actual_length += status; 347 349 if (status != t->len) { 348 - if (status > 0) 349 - status = -EMSGSIZE; 350 + /* always report some kind of error */ 351 + if (status >= 0) 352 + status = -EREMOTEIO; 350 353 break; 351 354 } 352 - m->actual_length += status; 353 355 status = 0; 354 356 355 357 /* protocol tweaks before next transfer */
+1
drivers/thermal/Kconfig
··· 4 4 5 5 menuconfig THERMAL 6 6 bool "Generic Thermal sysfs driver" 7 + select HWMON 7 8 default y 8 9 help 9 10 Generic Thermal Sysfs driver offers a generic mechanism for
+143 -26
drivers/thermal/thermal.c
··· 30 30 #include <linux/idr.h> 31 31 #include <linux/thermal.h> 32 32 #include <linux/spinlock.h> 33 + #include <linux/hwmon.h> 34 + #include <linux/hwmon-sysfs.h> 33 35 34 - MODULE_AUTHOR("Zhang Rui") 36 + MODULE_AUTHOR("Zhang Rui"); 35 37 MODULE_DESCRIPTION("Generic thermal management sysfs support"); 36 38 MODULE_LICENSE("GPL"); 37 39 ··· 57 55 static LIST_HEAD(thermal_tz_list); 58 56 static LIST_HEAD(thermal_cdev_list); 59 57 static DEFINE_MUTEX(thermal_list_lock); 58 + 59 + static struct device *thermal_hwmon; 60 + #define MAX_THERMAL_ZONES 10 60 61 61 62 static int get_idr(struct idr *idr, struct mutex *lock, int *id) 62 63 { ··· 92 87 mutex_unlock(lock); 93 88 } 94 89 95 - /* sys I/F for thermal zone */ 90 + /* hwmon sys I/F*/ 91 + static ssize_t 92 + name_show(struct device *dev, struct device_attribute *attr, char *buf) 93 + { 94 + return sprintf(buf, "thermal_sys_class\n"); 95 + } 96 + 97 + static ssize_t 98 + temp_input_show(struct device *dev, struct device_attribute *attr, char *buf) 99 + { 100 + struct thermal_zone_device *tz; 101 + struct sensor_device_attribute *sensor_attr 102 + = to_sensor_dev_attr(attr); 103 + 104 + list_for_each_entry(tz, &thermal_tz_list, node) 105 + if (tz->id == sensor_attr->index) 106 + return tz->ops->get_temp(tz, buf); 107 + 108 + return -ENODEV; 109 + } 110 + 111 + static ssize_t 112 + temp_crit_show(struct device *dev, struct device_attribute *attr, 113 + char *buf) 114 + { 115 + struct thermal_zone_device *tz; 116 + struct sensor_device_attribute *sensor_attr 117 + = to_sensor_dev_attr(attr); 118 + 119 + list_for_each_entry(tz, &thermal_tz_list, node) 120 + if (tz->id == sensor_attr->index) 121 + return tz->ops->get_trip_temp(tz, 0, buf); 122 + 123 + return -ENODEV; 124 + } 125 + 126 + static DEVICE_ATTR(name, 0444, name_show, NULL); 127 + static struct sensor_device_attribute sensor_attrs[] = { 128 + SENSOR_ATTR(temp1_input, 0444, temp_input_show, NULL, 0), 129 + SENSOR_ATTR(temp1_crit, 0444, temp_crit_show, NULL, 0), 130 + SENSOR_ATTR(temp2_input, 0444, temp_input_show, NULL, 1), 131 + SENSOR_ATTR(temp2_crit, 0444, temp_crit_show, NULL, 1), 132 + SENSOR_ATTR(temp3_input, 0444, temp_input_show, NULL, 2), 133 + SENSOR_ATTR(temp3_crit, 0444, temp_crit_show, NULL, 2), 134 + SENSOR_ATTR(temp4_input, 0444, temp_input_show, NULL, 3), 135 + SENSOR_ATTR(temp4_crit, 0444, temp_crit_show, NULL, 3), 136 + SENSOR_ATTR(temp5_input, 0444, temp_input_show, NULL, 4), 137 + SENSOR_ATTR(temp5_crit, 0444, temp_crit_show, NULL, 4), 138 + SENSOR_ATTR(temp6_input, 0444, temp_input_show, NULL, 5), 139 + SENSOR_ATTR(temp6_crit, 0444, temp_crit_show, NULL, 5), 140 + SENSOR_ATTR(temp7_input, 0444, temp_input_show, NULL, 6), 141 + SENSOR_ATTR(temp7_crit, 0444, temp_crit_show, NULL, 6), 142 + SENSOR_ATTR(temp8_input, 0444, temp_input_show, NULL, 7), 143 + SENSOR_ATTR(temp8_crit, 0444, temp_crit_show, NULL, 7), 144 + SENSOR_ATTR(temp9_input, 0444, temp_input_show, NULL, 8), 145 + SENSOR_ATTR(temp9_crit, 0444, temp_crit_show, NULL, 8), 146 + SENSOR_ATTR(temp10_input, 0444, temp_input_show, NULL, 9), 147 + SENSOR_ATTR(temp10_crit, 0444, temp_crit_show, NULL, 9), 148 + }; 149 + 150 + /* thermal zone sys I/F */ 96 151 97 152 #define to_thermal_zone(_dev) \ 98 153 container_of(_dev, struct thermal_zone_device, device) ··· 279 214 device_remove_file(_dev, &trip_point_attrs[_index * 2 + 1]); \ 280 215 } while (0) 281 216 282 - /* sys I/F for cooling device */ 217 + /* cooling device sys I/F */ 283 218 #define to_cooling_device(_dev) \ 284 219 container_of(_dev, struct thermal_cooling_device, device) 285 220 ··· 512 447 struct thermal_zone_device *pos; 513 448 int result; 514 449 450 + if (!type) 451 + return ERR_PTR(-EINVAL); 452 + 515 453 if (strlen(type) >= THERMAL_NAME_LENGTH) 516 454 return ERR_PTR(-EINVAL); 517 455 ··· 545 477 } 546 478 547 479 /* sys I/F */ 548 - if (type) { 549 - result = device_create_file(&cdev->device, &dev_attr_cdev_type); 550 - if (result) 551 - goto unregister; 552 - } 480 + result = device_create_file(&cdev->device, &dev_attr_cdev_type); 481 + if (result) 482 + goto unregister; 553 483 554 484 result = device_create_file(&cdev->device, &dev_attr_max_state); 555 485 if (result) ··· 613 547 tz->ops->unbind(tz, cdev); 614 548 } 615 549 mutex_unlock(&thermal_list_lock); 616 - if (cdev->type[0]) 617 - device_remove_file(&cdev->device, &dev_attr_cdev_type); 550 + 551 + device_remove_file(&cdev->device, &dev_attr_cdev_type); 618 552 device_remove_file(&cdev->device, &dev_attr_max_state); 619 553 device_remove_file(&cdev->device, &dev_attr_cur_state); 620 554 ··· 646 580 int result; 647 581 int count; 648 582 583 + if (!type) 584 + return ERR_PTR(-EINVAL); 585 + 649 586 if (strlen(type) >= THERMAL_NAME_LENGTH) 650 587 return ERR_PTR(-EINVAL); 651 588 ··· 670 601 kfree(tz); 671 602 return ERR_PTR(result); 672 603 } 604 + if (tz->id >= MAX_THERMAL_ZONES) { 605 + printk(KERN_ERR PREFIX 606 + "Too many thermal zones\n"); 607 + release_idr(&thermal_tz_idr, &thermal_idr_lock, tz->id); 608 + kfree(tz); 609 + return ERR_PTR(-EINVAL); 610 + } 673 611 674 612 strcpy(tz->type, type); 675 613 tz->ops = ops; ··· 691 615 return ERR_PTR(result); 692 616 } 693 617 694 - /* sys I/F */ 695 - if (type) { 696 - result = device_create_file(&tz->device, &dev_attr_type); 697 - if (result) 698 - goto unregister; 618 + /* hwmon sys I/F */ 619 + result = device_create_file(thermal_hwmon, 620 + &sensor_attrs[tz->id * 2].dev_attr); 621 + if (result) 622 + goto unregister; 623 + 624 + if (trips > 0) { 625 + char buf[40]; 626 + result = tz->ops->get_trip_type(tz, 0, buf); 627 + if (result > 0 && !strcmp(buf, "critical\n")) { 628 + result = device_create_file(thermal_hwmon, 629 + &sensor_attrs[tz->id * 2 + 1].dev_attr); 630 + if (result) 631 + goto unregister; 632 + } 699 633 } 634 + 635 + /* sys I/F */ 636 + result = device_create_file(&tz->device, &dev_attr_type); 637 + if (result) 638 + goto unregister; 700 639 701 640 result = device_create_file(&tz->device, &dev_attr_temp); 702 641 if (result) ··· 778 687 tz->ops->unbind(tz, cdev); 779 688 mutex_unlock(&thermal_list_lock); 780 689 781 - if (tz->type[0]) 782 - device_remove_file(&tz->device, &dev_attr_type); 690 + device_remove_file(thermal_hwmon, 691 + &sensor_attrs[tz->id * 2].dev_attr); 692 + if (tz->trips > 0) { 693 + char buf[40]; 694 + if (tz->ops->get_trip_type(tz, 0, buf) > 0) 695 + if (!strcmp(buf, "critical\n")) 696 + device_remove_file(thermal_hwmon, 697 + &sensor_attrs[tz->id * 2 + 1].dev_attr); 698 + } 699 + 700 + device_remove_file(&tz->device, &dev_attr_type); 783 701 device_remove_file(&tz->device, &dev_attr_temp); 784 702 if (tz->ops->get_mode) 785 703 device_remove_file(&tz->device, &dev_attr_mode); ··· 805 705 806 706 EXPORT_SYMBOL(thermal_zone_device_unregister); 807 707 708 + static void thermal_exit(void) 709 + { 710 + if (thermal_hwmon) { 711 + device_remove_file(thermal_hwmon, &dev_attr_name); 712 + hwmon_device_unregister(thermal_hwmon); 713 + } 714 + class_unregister(&thermal_class); 715 + idr_destroy(&thermal_tz_idr); 716 + idr_destroy(&thermal_cdev_idr); 717 + mutex_destroy(&thermal_idr_lock); 718 + mutex_destroy(&thermal_list_lock); 719 + } 720 + 808 721 static int __init thermal_init(void) 809 722 { 810 723 int result = 0; ··· 829 716 mutex_destroy(&thermal_idr_lock); 830 717 mutex_destroy(&thermal_list_lock); 831 718 } 832 - return result; 833 - } 834 719 835 - static void __exit thermal_exit(void) 836 - { 837 - class_unregister(&thermal_class); 838 - idr_destroy(&thermal_tz_idr); 839 - idr_destroy(&thermal_cdev_idr); 840 - mutex_destroy(&thermal_idr_lock); 841 - mutex_destroy(&thermal_list_lock); 720 + thermal_hwmon = hwmon_device_register(NULL); 721 + if (IS_ERR(thermal_hwmon)) { 722 + result = PTR_ERR(thermal_hwmon); 723 + thermal_hwmon = NULL; 724 + printk(KERN_ERR PREFIX 725 + "unable to register hwmon device\n"); 726 + thermal_exit(); 727 + return result; 728 + } 729 + 730 + result = device_create_file(thermal_hwmon, &dev_attr_name); 731 + 732 + return result; 842 733 } 843 734 844 735 subsys_initcall(thermal_init);
+3
fs/proc/base.c
··· 2269 2269 DIR("task", S_IRUGO|S_IXUGO, task), 2270 2270 DIR("fd", S_IRUSR|S_IXUSR, fd), 2271 2271 DIR("fdinfo", S_IRUSR|S_IXUSR, fdinfo), 2272 + #ifdef CONFIG_NET 2273 + DIR("net", S_IRUGO|S_IXUSR, net), 2274 + #endif 2272 2275 REG("environ", S_IRUSR, environ), 2273 2276 INF("auxv", S_IRUSR, pid_auxv), 2274 2277 ONE("status", S_IRUGO, pid_status),
+17 -9
fs/proc/generic.c
··· 377 377 * Don't create negative dentries here, return -ENOENT by hand 378 378 * instead. 379 379 */ 380 - struct dentry *proc_lookup(struct inode * dir, struct dentry *dentry, struct nameidata *nd) 380 + struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *dir, 381 + struct dentry *dentry) 381 382 { 382 383 struct inode *inode = NULL; 383 - struct proc_dir_entry * de; 384 384 int error = -ENOENT; 385 385 386 386 lock_kernel(); 387 387 spin_lock(&proc_subdir_lock); 388 - de = PDE(dir); 389 388 if (de) { 390 389 for (de = de->subdir; de ; de = de->next) { 391 390 if (de->namelen != dentry->d_name.len) ··· 392 393 if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { 393 394 unsigned int ino; 394 395 395 - if (de->shadow_proc) 396 - de = de->shadow_proc(current, de); 397 396 ino = de->low_ino; 398 397 de_get(de); 399 398 spin_unlock(&proc_subdir_lock); ··· 414 417 return ERR_PTR(error); 415 418 } 416 419 420 + struct dentry *proc_lookup(struct inode *dir, struct dentry *dentry, 421 + struct nameidata *nd) 422 + { 423 + return proc_lookup_de(PDE(dir), dir, dentry); 424 + } 425 + 417 426 /* 418 427 * This returns non-zero if at EOF, so that the /proc 419 428 * root directory can use this and check if it should ··· 429 426 * value of the readdir() call, as long as it's non-negative 430 427 * for success.. 431 428 */ 432 - int proc_readdir(struct file * filp, 433 - void * dirent, filldir_t filldir) 429 + int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, 430 + filldir_t filldir) 434 431 { 435 - struct proc_dir_entry * de; 436 432 unsigned int ino; 437 433 int i; 438 434 struct inode *inode = filp->f_path.dentry->d_inode; ··· 440 438 lock_kernel(); 441 439 442 440 ino = inode->i_ino; 443 - de = PDE(inode); 444 441 if (!de) { 445 442 ret = -EINVAL; 446 443 goto out; ··· 498 497 ret = 1; 499 498 out: unlock_kernel(); 500 499 return ret; 500 + } 501 + 502 + int proc_readdir(struct file *filp, void *dirent, filldir_t filldir) 503 + { 504 + struct inode *inode = filp->f_path.dentry->d_inode; 505 + 506 + return proc_readdir_de(PDE(inode), filp, dirent, filldir); 501 507 } 502 508 503 509 /*
+7
fs/proc/internal.h
··· 64 64 extern const struct file_operations proc_smaps_operations; 65 65 extern const struct file_operations proc_clear_refs_operations; 66 66 extern const struct file_operations proc_pagemap_operations; 67 + extern const struct file_operations proc_net_operations; 68 + extern const struct inode_operations proc_net_inode_operations; 67 69 68 70 void free_proc_entry(struct proc_dir_entry *de); 69 71 ··· 85 83 { 86 84 return PROC_I(inode)->fd; 87 85 } 86 + 87 + struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *ino, 88 + struct dentry *dentry); 89 + int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, 90 + filldir_t filldir);
+89 -28
fs/proc/proc_net.c
··· 63 63 } 64 64 EXPORT_SYMBOL_GPL(seq_release_net); 65 65 66 + static struct net *get_proc_task_net(struct inode *dir) 67 + { 68 + struct task_struct *task; 69 + struct nsproxy *ns; 70 + struct net *net = NULL; 71 + 72 + rcu_read_lock(); 73 + task = pid_task(proc_pid(dir), PIDTYPE_PID); 74 + if (task != NULL) { 75 + ns = task_nsproxy(task); 76 + if (ns != NULL) 77 + net = get_net(ns->net_ns); 78 + } 79 + rcu_read_unlock(); 80 + 81 + return net; 82 + } 83 + 84 + static struct dentry *proc_tgid_net_lookup(struct inode *dir, 85 + struct dentry *dentry, struct nameidata *nd) 86 + { 87 + struct dentry *de; 88 + struct net *net; 89 + 90 + de = ERR_PTR(-ENOENT); 91 + net = get_proc_task_net(dir); 92 + if (net != NULL) { 93 + de = proc_lookup_de(net->proc_net, dir, dentry); 94 + put_net(net); 95 + } 96 + return de; 97 + } 98 + 99 + static int proc_tgid_net_getattr(struct vfsmount *mnt, struct dentry *dentry, 100 + struct kstat *stat) 101 + { 102 + struct inode *inode = dentry->d_inode; 103 + struct net *net; 104 + 105 + net = get_proc_task_net(inode); 106 + 107 + generic_fillattr(inode, stat); 108 + 109 + if (net != NULL) { 110 + stat->nlink = net->proc_net->nlink; 111 + put_net(net); 112 + } 113 + 114 + return 0; 115 + } 116 + 117 + const struct inode_operations proc_net_inode_operations = { 118 + .lookup = proc_tgid_net_lookup, 119 + .getattr = proc_tgid_net_getattr, 120 + }; 121 + 122 + static int proc_tgid_net_readdir(struct file *filp, void *dirent, 123 + filldir_t filldir) 124 + { 125 + int ret; 126 + struct net *net; 127 + 128 + ret = -EINVAL; 129 + net = get_proc_task_net(filp->f_path.dentry->d_inode); 130 + if (net != NULL) { 131 + ret = proc_readdir_de(net->proc_net, filp, dirent, filldir); 132 + put_net(net); 133 + } 134 + return ret; 135 + } 136 + 137 + const struct file_operations proc_net_operations = { 138 + .read = generic_read_dir, 139 + .readdir = proc_tgid_net_readdir, 140 + }; 141 + 66 142 67 143 struct proc_dir_entry *proc_net_fops_create(struct net *net, 68 144 const char *name, mode_t mode, const struct file_operations *fops) ··· 159 83 } 160 84 EXPORT_SYMBOL_GPL(get_proc_net); 161 85 162 - static struct proc_dir_entry *shadow_pde; 163 - 164 - static struct proc_dir_entry *proc_net_shadow(struct task_struct *task, 165 - struct proc_dir_entry *de) 166 - { 167 - return task->nsproxy->net_ns->proc_net; 168 - } 169 - 170 86 struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name, 171 87 struct proc_dir_entry *parent) 172 88 { ··· 172 104 173 105 static __net_init int proc_net_ns_init(struct net *net) 174 106 { 175 - struct proc_dir_entry *root, *netd, *net_statd; 107 + struct proc_dir_entry *netd, *net_statd; 176 108 int err; 177 109 178 110 err = -ENOMEM; 179 - root = kzalloc(sizeof(*root), GFP_KERNEL); 180 - if (!root) 111 + netd = kzalloc(sizeof(*netd), GFP_KERNEL); 112 + if (!netd) 181 113 goto out; 182 114 183 - err = -EEXIST; 184 - netd = proc_net_mkdir(net, "net", root); 185 - if (!netd) 186 - goto free_root; 115 + netd->data = net; 116 + netd->nlink = 2; 117 + netd->name = "net"; 118 + netd->namelen = 3; 119 + netd->parent = &proc_root; 187 120 188 121 err = -EEXIST; 189 122 net_statd = proc_net_mkdir(net, "stat", netd); 190 123 if (!net_statd) 191 124 goto free_net; 192 125 193 - root->data = net; 194 - 195 - net->proc_net_root = root; 196 126 net->proc_net = netd; 197 127 net->proc_net_stat = net_statd; 198 - err = 0; 128 + return 0; 199 129 130 + free_net: 131 + kfree(netd); 200 132 out: 201 133 return err; 202 - free_net: 203 - remove_proc_entry("net", root); 204 - free_root: 205 - kfree(root); 206 - goto out; 207 134 } 208 135 209 136 static __net_exit void proc_net_ns_exit(struct net *net) 210 137 { 211 138 remove_proc_entry("stat", net->proc_net); 212 - remove_proc_entry("net", net->proc_net_root); 213 - kfree(net->proc_net_root); 139 + kfree(net->proc_net); 214 140 } 215 141 216 142 static struct pernet_operations __net_initdata proc_net_ns_ops = { ··· 214 152 215 153 int __init proc_net_init(void) 216 154 { 217 - shadow_pde = proc_mkdir("net", NULL); 218 - shadow_pde->shadow_proc = proc_net_shadow; 155 + proc_symlink("net", NULL, "self/net"); 219 156 220 157 return register_pernet_subsys(&proc_net_ns_ops); 221 158 }
+13 -5
fs/proc/task_mmu.c
··· 640 640 641 641 ret = -EACCES; 642 642 if (!ptrace_may_attach(task)) 643 - goto out; 643 + goto out_task; 644 644 645 645 ret = -EINVAL; 646 646 /* file position must be aligned */ 647 647 if (*ppos % PM_ENTRY_BYTES) 648 - goto out; 648 + goto out_task; 649 649 650 650 ret = 0; 651 651 mm = get_task_mm(task); 652 652 if (!mm) 653 - goto out; 653 + goto out_task; 654 654 655 655 ret = -ENOMEM; 656 656 uaddr = (unsigned long)buf & PAGE_MASK; ··· 658 658 pagecount = (PAGE_ALIGN(uend) - uaddr) / PAGE_SIZE; 659 659 pages = kmalloc(pagecount * sizeof(struct page *), GFP_KERNEL); 660 660 if (!pages) 661 - goto out_task; 661 + goto out_mm; 662 662 663 663 down_read(&current->mm->mmap_sem); 664 664 ret = get_user_pages(current, current->mm, uaddr, pagecount, ··· 667 667 668 668 if (ret < 0) 669 669 goto out_free; 670 + 671 + if (ret != pagecount) { 672 + pagecount = ret; 673 + ret = -EFAULT; 674 + goto out_pages; 675 + } 670 676 671 677 pm.out = buf; 672 678 pm.end = buf + count; ··· 705 699 ret = pm.out - buf; 706 700 } 707 701 702 + out_pages: 708 703 for (; pagecount; pagecount--) { 709 704 page = pages[pagecount-1]; 710 705 if (!PageReserved(page)) 711 706 SetPageDirty(page); 712 707 page_cache_release(page); 713 708 } 714 - mmput(mm); 715 709 out_free: 716 710 kfree(pages); 711 + out_mm: 712 + mmput(mm); 717 713 out_task: 718 714 put_task_struct(task); 719 715 out:
+1 -1
include/asm-arm/arch-omap/board-h3.h
··· 36 36 37 37 #define NR_IRQS (MAXIRQNUM + 1) 38 38 39 - extern void __init h3_mmc_init(void); 39 + extern void h3_mmc_init(void); 40 40 extern void h3_mmc_slot_cover_handler(void *arg, int state); 41 41 42 42 #endif /* __ASM_ARCH_OMAP_H3_H */
+6 -3
include/asm-arm/arch-omap/common.h
··· 27 27 #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H 28 28 #define __ARCH_ARM_MACH_OMAP_COMMON_H 29 29 30 - #ifdef CONFIG_I2C_OMAP 31 30 #include <linux/i2c.h> 32 - #endif 33 31 34 32 struct sys_timer; 35 33 ··· 39 41 struct i2c_board_info const *info, 40 42 unsigned len); 41 43 #else 42 - #define omap_register_i2c_bus(a, b, c, d) 0 44 + static inline int omap_register_i2c_bus(int bus_id, u32 clkrate, 45 + struct i2c_board_info const *info, 46 + unsigned len) 47 + { 48 + return 0; 49 + } 43 50 #endif 44 51 45 52 #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
+11
include/asm-arm/arch-omap/gpioexpander.h
··· 18 18 19 19 /* Function Prototypes for GPIO Expander functions */ 20 20 21 + #ifdef CONFIG_GPIOEXPANDER_OMAP 21 22 int read_gpio_expa(u8 *, int); 22 23 int write_gpio_expa(u8 , int); 24 + #else 25 + static inline int read_gpio_expa(u8 *val, int addr) 26 + { 27 + return 0; 28 + } 29 + static inline int write_gpio_expa(u8 val, int addr) 30 + { 31 + return 0; 32 + } 33 + #endif 23 34 24 35 #endif /* __ASM_ARCH_OMAP_GPIOEXPANDER_H */
+2
include/asm-arm/pgtable-nommu.h
··· 92 92 93 93 #define FIRST_USER_ADDRESS (0) 94 94 95 + #include <asm-generic/pgtable.h> 96 + 95 97 #else 96 98 97 99 /*
+2 -2
include/asm-arm/plat-s3c/uncompress.h
··· 27 27 28 28 /* defines for UART registers */ 29 29 30 - #include "asm/plat-s3c/regs-serial.h" 31 - #include "asm/plat-s3c/regs-watchdog.h" 30 + #include <asm/plat-s3c/regs-serial.h> 31 + #include <asm/plat-s3c/regs-watchdog.h> 32 32 33 33 /* working in physical space... */ 34 34 #undef S3C2410_WDOGREG
+2 -2
include/asm-arm/proc-fns.h
··· 214 214 #ifndef __ASSEMBLY__ 215 215 216 216 #ifndef MULTI_CPU 217 - #include "asm/cpu-single.h" 217 + #include <asm/cpu-single.h> 218 218 #else 219 - #include "asm/cpu-multi32.h" 219 + #include <asm/cpu-multi32.h> 220 220 #endif 221 221 222 222 #include <asm/memory.h>
+4 -7
include/asm-h8300/uaccess.h
··· 91 91 #define get_user(x, ptr) \ 92 92 ({ \ 93 93 int __gu_err = 0; \ 94 - uint32_t __gu_val = 0; \ 94 + typeof(*(ptr)) __gu_val = *ptr; \ 95 95 switch (sizeof(*(ptr))) { \ 96 96 case 1: \ 97 97 case 2: \ 98 98 case 4: \ 99 - __gu_val = *(ptr); \ 100 - break; \ 101 - case 8: \ 102 - memcpy(&__gu_val, ptr, sizeof (*(ptr))); \ 99 + case 8: \ 103 100 break; \ 104 101 default: \ 105 - __gu_val = 0; \ 106 102 __gu_err = __get_user_bad(); \ 103 + __gu_val = 0; \ 107 104 break; \ 108 105 } \ 109 - (x) = (typeof(*(ptr)))__gu_val; \ 106 + (x) = __gu_val; \ 110 107 __gu_err; \ 111 108 }) 112 109 #define __get_user(x, ptr) get_user(x, ptr)
+1 -1
include/asm-mips/cacheflush.h
··· 93 93 clear_bit(PG_dcache_dirty, &(page)->flags) 94 94 95 95 /* Run kernel code uncached, useful for cache probing functions. */ 96 - unsigned long __init run_uncached(void *func); 96 + unsigned long run_uncached(void *func); 97 97 98 98 extern void *kmap_coherent(struct page *page, unsigned long addr); 99 99 extern void kunmap_coherent(void);
-1
include/asm-mips/highmem.h
··· 39 39 * easily, subsequent pte tables have to be allocated in one physical 40 40 * chunk of RAM. 41 41 */ 42 - #define PKMAP_BASE (0xfe000000UL) 43 42 #define LAST_PKMAP 1024 44 43 #define LAST_PKMAP_MASK (LAST_PKMAP-1) 45 44 #define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
+4
include/asm-mips/mach-ip27/cpu-feature-overrides.h
··· 34 34 #define cpu_has_64bits 1 35 35 36 36 #define cpu_has_4kex 1 37 + #define cpu_has_3k_cache 0 38 + #define cpu_has_6k_cache 0 37 39 #define cpu_has_4k_cache 1 40 + #define cpu_has_8k_cache 0 41 + #define cpu_has_tx39_cache 0 38 42 39 43 #define cpu_has_inclusive_pcaches 1 40 44
+1 -1
include/asm-mips/mach-jmr3927/ioremap.h
··· 25 25 { 26 26 #define TXX9_DIRECTMAP_BASE 0xff000000ul 27 27 if (offset >= TXX9_DIRECTMAP_BASE && 28 - offset < TXX9_DIRECTMAP_BASE + 0xf0000) 28 + offset < TXX9_DIRECTMAP_BASE + 0xff0000) 29 29 return (void __iomem *)offset; 30 30 return NULL; 31 31 }
+1 -1
include/asm-mips/mach-lasat/irq.h
··· 1 1 #ifndef _ASM_MACH_LASAT_IRQ_H 2 2 #define _ASM_MACH_LASAT_IRQ_H 3 3 4 - #define LASAT_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 0) 4 + #define LASAT_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 2) 5 5 6 6 #define LASAT_IRQ_BASE 8 7 7 #define LASAT_IRQ_END 23
+2
include/asm-mips/pgtable-32.h
··· 65 65 66 66 #define VMALLOC_START MAP_BASE 67 67 68 + #define PKMAP_BASE (0xfe000000UL) 69 + 68 70 #ifdef CONFIG_HIGHMEM 69 71 # define VMALLOC_END (PKMAP_BASE-2*PAGE_SIZE) 70 72 #else
+3 -2
include/asm-mips/time.h
··· 64 64 * Initialize the count register as a clocksource 65 65 */ 66 66 #ifdef CONFIG_CEVT_R4K 67 - extern void init_mips_clocksource(void); 67 + extern int init_mips_clocksource(void); 68 68 #else 69 - static inline void init_mips_clocksource(void) 69 + static inline int init_mips_clocksource(void) 70 70 { 71 + return 0; 71 72 } 72 73 #endif 73 74
-8
include/asm-powerpc/pgtable-ppc32.h
··· 339 339 #define _PMD_PAGE_MASK 0x000c 340 340 #define _PMD_PAGE_8M 0x000c 341 341 342 - /* 343 - * The 8xx TLB miss handler allegedly sets _PAGE_ACCESSED in the PTE 344 - * for an address even if _PAGE_PRESENT is not set, as a performance 345 - * optimization. This is a bug if you ever want to use swap unless 346 - * _PAGE_ACCESSED is 2, which it isn't, or unless you have 8xx-specific 347 - * definitions for __swp_entry etc. below, which would be gross. 348 - * -- paulus 349 - */ 350 342 #define _PTE_NONE_MASK _PAGE_ACCESSED 351 343 352 344 #else /* CONFIG_6xx */
-8
include/asm-ppc/pgtable.h
··· 299 299 #define _PMD_PAGE_MASK 0x000c 300 300 #define _PMD_PAGE_8M 0x000c 301 301 302 - /* 303 - * The 8xx TLB miss handler allegedly sets _PAGE_ACCESSED in the PTE 304 - * for an address even if _PAGE_PRESENT is not set, as a performance 305 - * optimization. This is a bug if you ever want to use swap unless 306 - * _PAGE_ACCESSED is 2, which it isn't, or unless you have 8xx-specific 307 - * definitions for __swp_entry etc. below, which would be gross. 308 - * -- paulus 309 - */ 310 302 #define _PTE_NONE_MASK _PAGE_ACCESSED 311 303 312 304 #else /* CONFIG_6xx */
-1
include/linux/Kbuild
··· 205 205 unifdef-y += fs.h 206 206 unifdef-y += gameport.h 207 207 unifdef-y += generic_serial.h 208 - unifdef-y += genhd.h 209 208 unifdef-y += gfs2_ondisk.h 210 209 unifdef-y += hayesesp.h 211 210 unifdef-y += hdlcdrv.h
+1
include/linux/ethtool.h
··· 12 12 #ifndef _LINUX_ETHTOOL_H 13 13 #define _LINUX_ETHTOOL_H 14 14 15 + #include <linux/types.h> 15 16 16 17 /* This should work for both 32 and 64 bit userland. */ 17 18 struct ethtool_cmd {
+3 -27
include/linux/genhd.h
··· 55 55 UNIXWARE_PARTITION = 0x63, /* Same as GNU_HURD and SCO Unix */ 56 56 }; 57 57 58 - #ifndef __KERNEL__ 59 - 60 - struct partition { 61 - unsigned char boot_ind; /* 0x80 - active */ 62 - unsigned char head; /* starting head */ 63 - unsigned char sector; /* starting sector */ 64 - unsigned char cyl; /* starting cylinder */ 65 - unsigned char sys_ind; /* What partition type */ 66 - unsigned char end_head; /* end head */ 67 - unsigned char end_sector; /* end sector */ 68 - unsigned char end_cyl; /* end cylinder */ 69 - unsigned int start_sect; /* starting sector counting from 0 */ 70 - unsigned int nr_sects; /* nr of sectors in partition */ 71 - } __attribute__((packed)); 72 - 73 - #endif 74 - 75 - #ifdef __KERNEL__ 76 58 #include <linux/major.h> 77 59 #include <linux/device.h> 78 60 #include <linux/smp.h> ··· 210 228 sizeof(struct disk_stats)); 211 229 } 212 230 213 - #else 231 + #else /* !CONFIG_SMP */ 214 232 #define __disk_stat_add(gendiskp, field, addnd) \ 215 233 (gendiskp->dkstats.field += addnd) 216 234 #define disk_stat_read(gendiskp, field) (gendiskp->dkstats.field) ··· 238 256 memset(&part->dkstats, value, sizeof(struct disk_stats)); 239 257 } 240 258 241 - #endif 259 + #endif /* CONFIG_SMP */ 242 260 243 261 #define disk_stat_add(gendiskp, field, addnd) \ 244 262 do { \ ··· 376 394 { 377 395 disk->capacity = size; 378 396 } 379 - 380 - #endif /* __KERNEL__ */ 381 397 382 398 #ifdef CONFIG_SOLARIS_X86_PARTITION 383 399 ··· 520 540 # define MINIX_NR_SUBPARTITIONS 4 521 541 #endif /* CONFIG_MINIX_SUBPARTITION */ 522 542 523 - #ifdef __KERNEL__ 524 - 525 543 #define ADDPART_FLAG_NONE 0 526 544 #define ADDPART_FLAG_RAID 1 527 545 #define ADDPART_FLAG_WHOLEDISK 2 ··· 548 570 return bdget(MKDEV(disk->major, disk->first_minor) + index); 549 571 } 550 572 551 - #endif 552 - 553 573 #else /* CONFIG_BLOCK */ 554 574 555 575 static inline void printk_all_partitions(void) { } ··· 560 584 561 585 #endif /* CONFIG_BLOCK */ 562 586 563 - #endif 587 + #endif /* _LINUX_GENHD_H */
+10 -3
include/linux/mm.h
··· 235 235 struct page *vmalloc_to_page(const void *addr); 236 236 unsigned long vmalloc_to_pfn(const void *addr); 237 237 238 - #ifdef CONFIG_MMU 239 - /* Determine if an address is within the vmalloc range */ 238 + /* 239 + * Determine if an address is within the vmalloc range 240 + * 241 + * On nommu, vmalloc/vfree wrap through kmalloc/kfree directly, so there 242 + * is no special casing required. 243 + */ 240 244 static inline int is_vmalloc_addr(const void *x) 241 245 { 246 + #ifdef CONFIG_MMU 242 247 unsigned long addr = (unsigned long)x; 243 248 244 249 return addr >= VMALLOC_START && addr < VMALLOC_END; 245 - } 250 + #else 251 + return 0; 246 252 #endif 253 + } 247 254 248 255 static inline struct page *compound_head(struct page *page) 249 256 {
+1
include/linux/pci.h
··· 278 278 struct device dev; 279 279 struct bin_attribute *legacy_io; /* legacy I/O for this bus */ 280 280 struct bin_attribute *legacy_mem; /* legacy mem */ 281 + unsigned int is_added:1; 281 282 }; 282 283 283 284 #define pci_bus_b(n) list_entry(n, struct pci_bus, node)
+8 -1
include/linux/pmu.h
··· 147 147 /* For use before switching interrupts off for a long time; 148 148 * warning: not stackable 149 149 */ 150 + #if defined(CONFIG_ADB_PMU) 150 151 extern void pmu_suspend(void); 151 152 extern void pmu_resume(void); 153 + #else 154 + static inline void pmu_suspend(void) 155 + {} 156 + static inline void pmu_resume(void) 157 + {} 158 + #endif 152 159 153 160 extern void pmu_enable_irled(int on); 154 161 ··· 199 192 extern void pmu_backlight_init(void); 200 193 201 194 /* some code needs to know if the PMU was suspended for hibernation */ 202 - #if defined(CONFIG_PM_SLEEP) && defined(CONFIG_PPC32) 195 + #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC32) 203 196 extern int pmu_sys_suspended; 204 197 #else 205 198 /* if power management is not configured it can't be suspended */
-3
include/linux/proc_fs.h
··· 50 50 typedef int (write_proc_t)(struct file *file, const char __user *buffer, 51 51 unsigned long count, void *data); 52 52 typedef int (get_info_t)(char *, char **, off_t, int); 53 - typedef struct proc_dir_entry *(shadow_proc_t)(struct task_struct *task, 54 - struct proc_dir_entry *pde); 55 53 56 54 struct proc_dir_entry { 57 55 unsigned int low_ino; ··· 80 82 int pde_users; /* number of callers into module in progress */ 81 83 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ 82 84 struct completion *pde_unload_completion; 83 - shadow_proc_t *shadow_proc; 84 85 }; 85 86 86 87 struct kcore_list {
+1 -1
include/net/bluetooth/bluetooth.h
··· 170 170 int bt_err(__u16 code); 171 171 172 172 extern int hci_sock_init(void); 173 - extern int hci_sock_cleanup(void); 173 + extern void hci_sock_cleanup(void); 174 174 175 175 extern int bt_sysfs_init(void); 176 176 extern void bt_sysfs_cleanup(void);
+3 -3
include/net/irda/irttp.h
··· 169 169 void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow); 170 170 struct tsap_cb *irttp_dup(struct tsap_cb *self, void *instance); 171 171 172 - static __inline __u32 irttp_get_saddr(struct tsap_cb *self) 172 + static inline __u32 irttp_get_saddr(struct tsap_cb *self) 173 173 { 174 174 return irlmp_get_saddr(self->lsap); 175 175 } 176 176 177 - static __inline __u32 irttp_get_daddr(struct tsap_cb *self) 177 + static inline __u32 irttp_get_daddr(struct tsap_cb *self) 178 178 { 179 179 return irlmp_get_daddr(self->lsap); 180 180 } 181 181 182 - static __inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) 182 + static inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) 183 183 { 184 184 return self->max_seg_size; 185 185 }
-1
include/net/net_namespace.h
··· 31 31 32 32 struct proc_dir_entry *proc_net; 33 33 struct proc_dir_entry *proc_net_stat; 34 - struct proc_dir_entry *proc_net_root; 35 34 36 35 struct list_head sysctl_table_headers; 37 36
-1
include/net/netfilter/nf_conntrack_extend.h
··· 17 17 struct nf_ct_ext { 18 18 u8 offset[NF_CT_EXT_NUM]; 19 19 u8 len; 20 - u8 real_len; 21 20 char data[0]; 22 21 }; 23 22
+1 -1
kernel/power/Kconfig
··· 190 190 notification of APM "events" (e.g. battery status change). 191 191 192 192 In order to use APM, you will need supporting software. For location 193 - and more information, read <file:Documentation/pm.txt> and the 193 + and more information, read <file:Documentation/power/pm.txt> and the 194 194 Battery Powered Linux mini-HOWTO, available from 195 195 <http://www.tldp.org/docs.html#howto>. 196 196
+34 -7
kernel/power/snapshot.c
··· 447 447 * of @bm->cur_zone_bm are updated. 448 448 */ 449 449 450 - static void memory_bm_find_bit(struct memory_bitmap *bm, unsigned long pfn, 450 + static int memory_bm_find_bit(struct memory_bitmap *bm, unsigned long pfn, 451 451 void **addr, unsigned int *bit_nr) 452 452 { 453 453 struct zone_bitmap *zone_bm; ··· 461 461 while (pfn < zone_bm->start_pfn || pfn >= zone_bm->end_pfn) { 462 462 zone_bm = zone_bm->next; 463 463 464 - BUG_ON(!zone_bm); 464 + if (!zone_bm) 465 + return -EFAULT; 465 466 } 466 467 bm->cur.zone_bm = zone_bm; 467 468 } ··· 480 479 pfn -= bb->start_pfn; 481 480 *bit_nr = pfn % BM_BITS_PER_CHUNK; 482 481 *addr = bb->data + pfn / BM_BITS_PER_CHUNK; 482 + return 0; 483 483 } 484 484 485 485 static void memory_bm_set_bit(struct memory_bitmap *bm, unsigned long pfn) 486 486 { 487 487 void *addr; 488 488 unsigned int bit; 489 + int error; 489 490 490 - memory_bm_find_bit(bm, pfn, &addr, &bit); 491 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 492 + BUG_ON(error); 491 493 set_bit(bit, addr); 494 + } 495 + 496 + static int mem_bm_set_bit_check(struct memory_bitmap *bm, unsigned long pfn) 497 + { 498 + void *addr; 499 + unsigned int bit; 500 + int error; 501 + 502 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 503 + if (!error) 504 + set_bit(bit, addr); 505 + return error; 492 506 } 493 507 494 508 static void memory_bm_clear_bit(struct memory_bitmap *bm, unsigned long pfn) 495 509 { 496 510 void *addr; 497 511 unsigned int bit; 512 + int error; 498 513 499 - memory_bm_find_bit(bm, pfn, &addr, &bit); 514 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 515 + BUG_ON(error); 500 516 clear_bit(bit, addr); 501 517 } 502 518 ··· 521 503 { 522 504 void *addr; 523 505 unsigned int bit; 506 + int error; 524 507 525 - memory_bm_find_bit(bm, pfn, &addr, &bit); 508 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 509 + BUG_ON(error); 526 510 return test_bit(bit, addr); 527 511 } 528 512 ··· 729 709 region->end_pfn << PAGE_SHIFT); 730 710 731 711 for (pfn = region->start_pfn; pfn < region->end_pfn; pfn++) 732 - if (pfn_valid(pfn)) 733 - memory_bm_set_bit(bm, pfn); 712 + if (pfn_valid(pfn)) { 713 + /* 714 + * It is safe to ignore the result of 715 + * mem_bm_set_bit_check() here, since we won't 716 + * touch the PFNs for which the error is 717 + * returned anyway. 718 + */ 719 + mem_bm_set_bit_check(bm, pfn); 720 + } 734 721 } 735 722 } 736 723
+16 -14
lib/swiotlb.c
··· 310 310 start_dma_addr = virt_to_bus(io_tlb_start) & mask; 311 311 312 312 offset_slots = ALIGN(start_dma_addr, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; 313 - max_slots = ALIGN(mask + 1, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT; 313 + max_slots = mask + 1 314 + ? ALIGN(mask + 1, 1 << IO_TLB_SHIFT) >> IO_TLB_SHIFT 315 + : 1UL << (BITS_PER_LONG - IO_TLB_SHIFT); 314 316 315 317 /* 316 318 * For mappings greater than a page, we limit the stride (and ··· 335 333 index = ALIGN(io_tlb_index, stride); 336 334 if (index >= io_tlb_nslabs) 337 335 index = 0; 338 - 339 - while (is_span_boundary(index, nslots, offset_slots, 340 - max_slots)) { 341 - index += stride; 342 - if (index >= io_tlb_nslabs) 343 - index = 0; 344 - } 345 336 wrap = index; 346 337 347 338 do { 339 + while (is_span_boundary(index, nslots, offset_slots, 340 + max_slots)) { 341 + index += stride; 342 + if (index >= io_tlb_nslabs) 343 + index = 0; 344 + if (index == wrap) 345 + goto not_found; 346 + } 347 + 348 348 /* 349 349 * If we find a slot that indicates we have 'nslots' 350 350 * number of contiguous buffers, we allocate the ··· 371 367 372 368 goto found; 373 369 } 374 - do { 375 - index += stride; 376 - if (index >= io_tlb_nslabs) 377 - index = 0; 378 - } while (is_span_boundary(index, nslots, offset_slots, 379 - max_slots)); 370 + index += stride; 371 + if (index >= io_tlb_nslabs) 372 + index = 0; 380 373 } while (index != wrap); 381 374 375 + not_found: 382 376 spin_unlock_irqrestore(&io_tlb_lock, flags); 383 377 return NULL; 384 378 }
+1 -1
net/bluetooth/bnep/bnep.h
··· 174 174 175 175 void bnep_net_setup(struct net_device *dev); 176 176 int bnep_sock_init(void); 177 - int bnep_sock_cleanup(void); 177 + void bnep_sock_cleanup(void); 178 178 179 179 static inline int bnep_mc_hash(__u8 *addr) 180 180 {
+1 -3
net/bluetooth/bnep/sock.c
··· 257 257 return err; 258 258 } 259 259 260 - int __exit bnep_sock_cleanup(void) 260 + void __exit bnep_sock_cleanup(void) 261 261 { 262 262 if (bt_sock_unregister(BTPROTO_BNEP) < 0) 263 263 BT_ERR("Can't unregister BNEP socket"); 264 264 265 265 proto_unregister(&bnep_proto); 266 - 267 - return 0; 268 266 }
+2 -2
net/bluetooth/hci_core.c
··· 902 902 903 903 BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type); 904 904 905 - hci_unregister_sysfs(hdev); 906 - 907 905 write_lock_bh(&hci_dev_list_lock); 908 906 list_del(&hdev->list); 909 907 write_unlock_bh(&hci_dev_list_lock); ··· 912 914 kfree_skb(hdev->reassembly[i]); 913 915 914 916 hci_notify(hdev, HCI_DEV_UNREG); 917 + 918 + hci_unregister_sysfs(hdev); 915 919 916 920 __hci_dev_put(hdev); 917 921
+1 -3
net/bluetooth/hci_sock.c
··· 734 734 return err; 735 735 } 736 736 737 - int __exit hci_sock_cleanup(void) 737 + void __exit hci_sock_cleanup(void) 738 738 { 739 739 if (bt_sock_unregister(BTPROTO_HCI) < 0) 740 740 BT_ERR("HCI socket unregistration failed"); ··· 742 742 hci_unregister_notifier(&hci_sock_nblock); 743 743 744 744 proto_unregister(&hci_sk_proto); 745 - 746 - return 0; 747 745 }
+10 -2
net/ipv4/tcp_output.c
··· 1035 1035 * introducing MSS oddities to segment boundaries. In rare cases where 1036 1036 * mss_now != mss_cache, we will request caller to create a small skb 1037 1037 * per input skb which could be mostly avoided here (if desired). 1038 + * 1039 + * We explicitly want to create a request for splitting write queue tail 1040 + * to a small skb for Nagle purposes while avoiding unnecessary modulos, 1041 + * thus all the complexity (cwnd_len is always MSS multiple which we 1042 + * return whenever allowed by the other factors). Basically we need the 1043 + * modulo only when the receiver window alone is the limiting factor or 1044 + * when we would be allowed to send the split-due-to-Nagle skb fully. 1038 1045 */ 1039 1046 static unsigned int tcp_mss_split_point(struct sock *sk, struct sk_buff *skb, 1040 1047 unsigned int mss_now, unsigned int cwnd) ··· 1055 1048 if (likely(cwnd_len <= window && skb != tcp_write_queue_tail(sk))) 1056 1049 return cwnd_len; 1057 1050 1058 - if (skb == tcp_write_queue_tail(sk) && cwnd_len <= skb->len) 1051 + needed = min(skb->len, window); 1052 + 1053 + if (skb == tcp_write_queue_tail(sk) && cwnd_len <= needed) 1059 1054 return cwnd_len; 1060 1055 1061 - needed = min(skb->len, window); 1062 1056 return needed - needed % mss_now; 1063 1057 } 1064 1058
+1 -1
net/netfilter/nf_conntrack_expect.c
··· 381 381 if (nf_ct_expect_count >= nf_ct_expect_max) { 382 382 if (net_ratelimit()) 383 383 printk(KERN_WARNING 384 - "nf_conntrack: expectation table full"); 384 + "nf_conntrack: expectation table full\n"); 385 385 ret = -EMFILE; 386 386 goto out; 387 387 }
+3 -16
net/netfilter/nf_conntrack_extend.c
··· 19 19 static struct nf_ct_ext_type *nf_ct_ext_types[NF_CT_EXT_NUM]; 20 20 static DEFINE_MUTEX(nf_ct_ext_type_mutex); 21 21 22 - /* Horrible trick to figure out smallest amount worth kmallocing. */ 23 - #define CACHE(x) (x) + 0 * 24 - enum { 25 - NF_CT_EXT_MIN_SIZE = 26 - #include <linux/kmalloc_sizes.h> 27 - 1 }; 28 - #undef CACHE 29 - 30 22 void __nf_ct_ext_destroy(struct nf_conn *ct) 31 23 { 32 24 unsigned int i; ··· 45 53 static void * 46 54 nf_ct_ext_create(struct nf_ct_ext **ext, enum nf_ct_ext_id id, gfp_t gfp) 47 55 { 48 - unsigned int off, len, real_len; 56 + unsigned int off, len; 49 57 struct nf_ct_ext_type *t; 50 58 51 59 rcu_read_lock(); ··· 53 61 BUG_ON(t == NULL); 54 62 off = ALIGN(sizeof(struct nf_ct_ext), t->align); 55 63 len = off + t->len; 56 - real_len = t->alloc_size; 57 64 rcu_read_unlock(); 58 65 59 - *ext = kzalloc(real_len, gfp); 66 + *ext = kzalloc(t->alloc_size, gfp); 60 67 if (!*ext) 61 68 return NULL; 62 69 63 70 (*ext)->offset[id] = off; 64 71 (*ext)->len = len; 65 - (*ext)->real_len = real_len; 66 72 67 73 return (void *)(*ext) + off; 68 74 } ··· 85 95 newlen = newoff + t->len; 86 96 rcu_read_unlock(); 87 97 88 - if (newlen >= ct->ext->real_len) { 98 + if (newlen >= ksize(ct->ext)) { 89 99 new = kmalloc(newlen, gfp); 90 100 if (!new) 91 101 return NULL; ··· 104 114 rcu_read_unlock(); 105 115 } 106 116 kfree(ct->ext); 107 - new->real_len = newlen; 108 117 ct->ext = new; 109 118 } 110 119 ··· 145 156 t1->alloc_size = ALIGN(t1->alloc_size, t2->align) 146 157 + t2->len; 147 158 } 148 - if (t1->alloc_size < NF_CT_EXT_MIN_SIZE) 149 - t1->alloc_size = NF_CT_EXT_MIN_SIZE; 150 159 } 151 160 } 152 161
+1 -1
net/netfilter/nf_queue.c
··· 51 51 return -EINVAL; 52 52 53 53 mutex_lock(&queue_handler_mutex); 54 - if (queue_handler[pf] != qh) { 54 + if (queue_handler[pf] && queue_handler[pf] != qh) { 55 55 mutex_unlock(&queue_handler_mutex); 56 56 return -EINVAL; 57 57 }
+5 -2
net/netfilter/xt_time.c
··· 95 95 */ 96 96 r->dse = time / 86400; 97 97 98 - /* 1970-01-01 (w=0) was a Thursday (4). */ 99 - r->weekday = (4 + r->dse) % 7; 98 + /* 99 + * 1970-01-01 (w=0) was a Thursday (4). 100 + * -1 and +1 map Sunday properly onto 7. 101 + */ 102 + r->weekday = (4 + r->dse - 1) % 7 + 1; 100 103 } 101 104 102 105 static void localtime_3(struct xtm *r, time_t time)
+2 -1
net/rxrpc/ar-recvmsg.c
··· 143 143 /* copy the peer address and timestamp */ 144 144 if (!continue_call) { 145 145 if (msg->msg_name && msg->msg_namelen > 0) 146 - memcpy(&msg->msg_name, &call->conn->trans->peer->srx, 146 + memcpy(msg->msg_name, 147 + &call->conn->trans->peer->srx, 147 148 sizeof(call->conn->trans->peer->srx)); 148 149 sock_recv_timestamp(msg, &rx->sk, skb); 149 150 }
+3 -1
net/sctp/bind_addr.c
··· 209 209 int sctp_del_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *del_addr) 210 210 { 211 211 struct sctp_sockaddr_entry *addr, *temp; 212 + int found = 0; 212 213 213 214 /* We hold the socket lock when calling this function, 214 215 * and that acts as a writer synchronizing lock. ··· 217 216 list_for_each_entry_safe(addr, temp, &bp->address_list, list) { 218 217 if (sctp_cmp_addr_exact(&addr->a, del_addr)) { 219 218 /* Found the exact match. */ 219 + found = 1; 220 220 addr->valid = 0; 221 221 list_del_rcu(&addr->list); 222 222 break; 223 223 } 224 224 } 225 225 226 - if (addr && !addr->valid) { 226 + if (found) { 227 227 call_rcu(&addr->rcu, sctp_local_addr_free); 228 228 SCTP_DBG_OBJCNT_DEC(addr); 229 229 return 0;
+3 -1
net/sctp/ipv6.c
··· 89 89 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; 90 90 struct sctp_sockaddr_entry *addr = NULL; 91 91 struct sctp_sockaddr_entry *temp; 92 + int found = 0; 92 93 93 94 switch (ev) { 94 95 case NETDEV_UP: ··· 112 111 &sctp_local_addr_list, list) { 113 112 if (ipv6_addr_equal(&addr->a.v6.sin6_addr, 114 113 &ifa->addr)) { 114 + found = 1; 115 115 addr->valid = 0; 116 116 list_del_rcu(&addr->list); 117 117 break; 118 118 } 119 119 } 120 120 spin_unlock_bh(&sctp_local_addr_lock); 121 - if (addr && !addr->valid) 121 + if (found) 122 122 call_rcu(&addr->rcu, sctp_local_addr_free); 123 123 break; 124 124 }
+3 -1
net/sctp/protocol.c
··· 628 628 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; 629 629 struct sctp_sockaddr_entry *addr = NULL; 630 630 struct sctp_sockaddr_entry *temp; 631 + int found = 0; 631 632 632 633 switch (ev) { 633 634 case NETDEV_UP: ··· 648 647 list_for_each_entry_safe(addr, temp, 649 648 &sctp_local_addr_list, list) { 650 649 if (addr->a.v4.sin_addr.s_addr == ifa->ifa_local) { 650 + found = 1; 651 651 addr->valid = 0; 652 652 list_del_rcu(&addr->list); 653 653 break; 654 654 } 655 655 } 656 656 spin_unlock_bh(&sctp_local_addr_lock); 657 - if (addr && !addr->valid) 657 + if (found) 658 658 call_rcu(&addr->rcu, sctp_local_addr_free); 659 659 break; 660 660 }
+8
net/sctp/sm_make_chunk.c
··· 2375 2375 asoc->peer.ipv4_address = 0; 2376 2376 asoc->peer.ipv6_address = 0; 2377 2377 2378 + /* Assume that peer supports the address family 2379 + * by which it sends a packet. 2380 + */ 2381 + if (peer_addr->sa.sa_family == AF_INET6) 2382 + asoc->peer.ipv6_address = 1; 2383 + else if (peer_addr->sa.sa_family == AF_INET) 2384 + asoc->peer.ipv4_address = 1; 2385 + 2378 2386 /* Cycle through address types; avoid divide by 0. */ 2379 2387 sat = ntohs(param.p->length) - sizeof(sctp_paramhdr_t); 2380 2388 if (sat)
+62 -15
net/sctp/socket.c
··· 2933 2933 char __user *optval, 2934 2934 int optlen) 2935 2935 { 2936 + struct sctp_assoc_value params; 2937 + struct sctp_sock *sp; 2938 + struct sctp_association *asoc; 2936 2939 int val; 2940 + int assoc_id = 0; 2937 2941 2938 - if (optlen != sizeof(int)) 2939 - return -EINVAL; 2940 - if (get_user(val, (int __user *)optval)) 2941 - return -EFAULT; 2942 - 2943 - if (val < 0) 2942 + if (optlen < sizeof(int)) 2944 2943 return -EINVAL; 2945 2944 2946 - sctp_sk(sk)->max_burst = val; 2945 + if (optlen == sizeof(int)) { 2946 + printk(KERN_WARNING 2947 + "SCTP: Use of int in max_burst socket option deprecated\n"); 2948 + printk(KERN_WARNING 2949 + "SCTP: Use struct sctp_assoc_value instead\n"); 2950 + if (copy_from_user(&val, optval, optlen)) 2951 + return -EFAULT; 2952 + } else if (optlen == sizeof(struct sctp_assoc_value)) { 2953 + if (copy_from_user(&params, optval, optlen)) 2954 + return -EFAULT; 2955 + val = params.assoc_value; 2956 + assoc_id = params.assoc_id; 2957 + } else 2958 + return -EINVAL; 2959 + 2960 + sp = sctp_sk(sk); 2961 + 2962 + if (assoc_id != 0) { 2963 + asoc = sctp_id2assoc(sk, assoc_id); 2964 + if (!asoc) 2965 + return -EINVAL; 2966 + asoc->max_burst = val; 2967 + } else 2968 + sp->max_burst = val; 2947 2969 2948 2970 return 0; 2949 2971 } ··· 5027 5005 char __user *optval, 5028 5006 int __user *optlen) 5029 5007 { 5030 - int val; 5008 + struct sctp_assoc_value params; 5009 + struct sctp_sock *sp; 5010 + struct sctp_association *asoc; 5031 5011 5032 5012 if (len < sizeof(int)) 5033 5013 return -EINVAL; 5034 5014 5035 - len = sizeof(int); 5015 + if (len == sizeof(int)) { 5016 + printk(KERN_WARNING 5017 + "SCTP: Use of int in max_burst socket option deprecated\n"); 5018 + printk(KERN_WARNING 5019 + "SCTP: Use struct sctp_assoc_value instead\n"); 5020 + params.assoc_id = 0; 5021 + } else if (len == sizeof (struct sctp_assoc_value)) { 5022 + if (copy_from_user(&params, optval, len)) 5023 + return -EFAULT; 5024 + } else 5025 + return -EINVAL; 5036 5026 5037 - val = sctp_sk(sk)->max_burst; 5038 - if (put_user(len, optlen)) 5039 - return -EFAULT; 5040 - if (copy_to_user(optval, &val, len)) 5041 - return -EFAULT; 5027 + sp = sctp_sk(sk); 5042 5028 5043 - return -ENOTSUPP; 5029 + if (params.assoc_id != 0) { 5030 + asoc = sctp_id2assoc(sk, params.assoc_id); 5031 + if (!asoc) 5032 + return -EINVAL; 5033 + params.assoc_value = asoc->max_burst; 5034 + } else 5035 + params.assoc_value = sp->max_burst; 5036 + 5037 + if (len == sizeof(int)) { 5038 + if (copy_to_user(optval, &params.assoc_value, len)) 5039 + return -EFAULT; 5040 + } else { 5041 + if (copy_to_user(optval, &params, len)) 5042 + return -EFAULT; 5043 + } 5044 + 5045 + return 0; 5046 + 5044 5047 } 5045 5048 5046 5049 static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
+1 -1
net/sunrpc/xprtrdma/svc_rdma_sendto.c
··· 156 156 struct svc_rdma_op_ctxt *ctxt; 157 157 int ret = 0; 158 158 159 - BUG_ON(sge_count >= 32); 159 + BUG_ON(sge_count > RPCSVC_MAXPAGES); 160 160 dprintk("svcrdma: RDMA_WRITE rmr=%x, to=%llx, xdr_off=%d, " 161 161 "write_len=%d, xdr_sge=%p, sge_count=%d\n", 162 162 rmr, (unsigned long long)to, xdr_off,
+62 -42
net/sunrpc/xprtrdma/svc_rdma_transport.c
··· 54 54 int flags); 55 55 static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt); 56 56 static void svc_rdma_release_rqst(struct svc_rqst *); 57 - static void rdma_destroy_xprt(struct svcxprt_rdma *xprt); 58 57 static void dto_tasklet_func(unsigned long data); 59 58 static void svc_rdma_detach(struct svc_xprt *xprt); 60 59 static void svc_rdma_free(struct svc_xprt *xprt); ··· 246 247 sq_cq_reap(xprt); 247 248 } 248 249 250 + svc_xprt_put(&xprt->sc_xprt); 249 251 spin_lock_irqsave(&dto_lock, flags); 250 252 } 251 253 spin_unlock_irqrestore(&dto_lock, flags); ··· 275 275 * add it 276 276 */ 277 277 spin_lock_irqsave(&dto_lock, flags); 278 - if (list_empty(&xprt->sc_dto_q)) 278 + if (list_empty(&xprt->sc_dto_q)) { 279 + svc_xprt_get(&xprt->sc_xprt); 279 280 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 281 + } 280 282 spin_unlock_irqrestore(&dto_lock, flags); 281 283 282 284 /* Tasklet does all the work to avoid irqsave locks. */ ··· 388 386 * add it 389 387 */ 390 388 spin_lock_irqsave(&dto_lock, flags); 391 - if (list_empty(&xprt->sc_dto_q)) 389 + if (list_empty(&xprt->sc_dto_q)) { 390 + svc_xprt_get(&xprt->sc_xprt); 392 391 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 392 + } 393 393 spin_unlock_irqrestore(&dto_lock, flags); 394 394 395 395 /* Tasklet does all the work to avoid irqsave locks. */ ··· 615 611 switch (event->event) { 616 612 case RDMA_CM_EVENT_ESTABLISHED: 617 613 /* Accept complete */ 614 + svc_xprt_get(xprt); 618 615 dprintk("svcrdma: Connection completed on DTO xprt=%p, " 619 616 "cm_id=%p\n", xprt, cma_id); 620 617 clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags); ··· 666 661 667 662 listen_id = rdma_create_id(rdma_listen_handler, cma_xprt, RDMA_PS_TCP); 668 663 if (IS_ERR(listen_id)) { 669 - rdma_destroy_xprt(cma_xprt); 664 + svc_xprt_put(&cma_xprt->sc_xprt); 670 665 dprintk("svcrdma: rdma_create_id failed = %ld\n", 671 666 PTR_ERR(listen_id)); 672 667 return (void *)listen_id; 673 668 } 674 669 ret = rdma_bind_addr(listen_id, sa); 675 670 if (ret) { 676 - rdma_destroy_xprt(cma_xprt); 677 671 rdma_destroy_id(listen_id); 672 + svc_xprt_put(&cma_xprt->sc_xprt); 678 673 dprintk("svcrdma: rdma_bind_addr failed = %d\n", ret); 679 674 return ERR_PTR(ret); 680 675 } ··· 683 678 ret = rdma_listen(listen_id, RPCRDMA_LISTEN_BACKLOG); 684 679 if (ret) { 685 680 rdma_destroy_id(listen_id); 686 - rdma_destroy_xprt(cma_xprt); 681 + svc_xprt_put(&cma_xprt->sc_xprt); 687 682 dprintk("svcrdma: rdma_listen failed = %d\n", ret); 683 + return ERR_PTR(ret); 688 684 } 689 685 690 686 /* ··· 826 820 newxprt->sc_sq_depth = qp_attr.cap.max_send_wr; 827 821 newxprt->sc_max_requests = qp_attr.cap.max_recv_wr; 828 822 } 823 + svc_xprt_get(&newxprt->sc_xprt); 829 824 newxprt->sc_qp = newxprt->sc_cm_id->qp; 830 825 831 826 /* Register all of physical memory */ ··· 898 891 899 892 errout: 900 893 dprintk("svcrdma: failure accepting new connection rc=%d.\n", ret); 894 + /* Take a reference in case the DTO handler runs */ 895 + svc_xprt_get(&newxprt->sc_xprt); 896 + if (newxprt->sc_qp && !IS_ERR(newxprt->sc_qp)) { 897 + ib_destroy_qp(newxprt->sc_qp); 898 + svc_xprt_put(&newxprt->sc_xprt); 899 + } 901 900 rdma_destroy_id(newxprt->sc_cm_id); 902 - rdma_destroy_xprt(newxprt); 901 + /* This call to put will destroy the transport */ 902 + svc_xprt_put(&newxprt->sc_xprt); 903 903 return NULL; 904 904 } 905 905 ··· 933 919 rqstp->rq_xprt_ctxt = NULL; 934 920 } 935 921 936 - /* Disable data ready events for this connection */ 922 + /* 923 + * When connected, an svc_xprt has at least three references: 924 + * 925 + * - A reference held by the QP. We still hold that here because this 926 + * code deletes the QP and puts the reference. 927 + * 928 + * - A reference held by the cm_id between the ESTABLISHED and 929 + * DISCONNECTED events. If the remote peer disconnected first, this 930 + * reference could be gone. 931 + * 932 + * - A reference held by the svc_recv code that called this function 933 + * as part of close processing. 934 + * 935 + * At a minimum two references should still be held. 936 + */ 937 937 static void svc_rdma_detach(struct svc_xprt *xprt) 938 938 { 939 939 struct svcxprt_rdma *rdma = 940 940 container_of(xprt, struct svcxprt_rdma, sc_xprt); 941 - unsigned long flags; 942 - 943 941 dprintk("svc: svc_rdma_detach(%p)\n", xprt); 944 - /* 945 - * Shutdown the connection. This will ensure we don't get any 946 - * more events from the provider. 947 - */ 948 - rdma_disconnect(rdma->sc_cm_id); 949 - rdma_destroy_id(rdma->sc_cm_id); 950 942 951 - /* We may already be on the DTO list */ 952 - spin_lock_irqsave(&dto_lock, flags); 953 - if (!list_empty(&rdma->sc_dto_q)) 954 - list_del_init(&rdma->sc_dto_q); 955 - spin_unlock_irqrestore(&dto_lock, flags); 943 + /* Disconnect and flush posted WQE */ 944 + rdma_disconnect(rdma->sc_cm_id); 945 + 946 + /* Destroy the QP if present (not a listener) */ 947 + if (rdma->sc_qp && !IS_ERR(rdma->sc_qp)) { 948 + ib_destroy_qp(rdma->sc_qp); 949 + svc_xprt_put(xprt); 950 + } 951 + 952 + /* Destroy the CM ID */ 953 + rdma_destroy_id(rdma->sc_cm_id); 956 954 } 957 955 958 956 static void svc_rdma_free(struct svc_xprt *xprt) 959 957 { 960 958 struct svcxprt_rdma *rdma = (struct svcxprt_rdma *)xprt; 961 959 dprintk("svcrdma: svc_rdma_free(%p)\n", rdma); 962 - rdma_destroy_xprt(rdma); 960 + /* We should only be called from kref_put */ 961 + BUG_ON(atomic_read(&xprt->xpt_ref.refcount) != 0); 962 + if (rdma->sc_sq_cq && !IS_ERR(rdma->sc_sq_cq)) 963 + ib_destroy_cq(rdma->sc_sq_cq); 964 + 965 + if (rdma->sc_rq_cq && !IS_ERR(rdma->sc_rq_cq)) 966 + ib_destroy_cq(rdma->sc_rq_cq); 967 + 968 + if (rdma->sc_phys_mr && !IS_ERR(rdma->sc_phys_mr)) 969 + ib_dereg_mr(rdma->sc_phys_mr); 970 + 971 + if (rdma->sc_pd && !IS_ERR(rdma->sc_pd)) 972 + ib_dealloc_pd(rdma->sc_pd); 973 + 974 + destroy_context_cache(rdma->sc_ctxt_head); 963 975 kfree(rdma); 964 - } 965 - 966 - static void rdma_destroy_xprt(struct svcxprt_rdma *xprt) 967 - { 968 - if (xprt->sc_qp && !IS_ERR(xprt->sc_qp)) 969 - ib_destroy_qp(xprt->sc_qp); 970 - 971 - if (xprt->sc_sq_cq && !IS_ERR(xprt->sc_sq_cq)) 972 - ib_destroy_cq(xprt->sc_sq_cq); 973 - 974 - if (xprt->sc_rq_cq && !IS_ERR(xprt->sc_rq_cq)) 975 - ib_destroy_cq(xprt->sc_rq_cq); 976 - 977 - if (xprt->sc_phys_mr && !IS_ERR(xprt->sc_phys_mr)) 978 - ib_dereg_mr(xprt->sc_phys_mr); 979 - 980 - if (xprt->sc_pd && !IS_ERR(xprt->sc_pd)) 981 - ib_dealloc_pd(xprt->sc_pd); 982 - 983 - destroy_context_cache(xprt->sc_ctxt_head); 984 976 } 985 977 986 978 static int svc_rdma_has_wspace(struct svc_xprt *xprt)
+4
scripts/kernel-doc
··· 247 247 my ($type,$declaration_name,$return_type); 248 248 my ($newsection,$newcontents,$prototype,$filelist, $brcount, %source_map); 249 249 250 + if (defined($ENV{'KBUILD_VERBOSE'})) { 251 + $verbose = "$ENV{'KBUILD_VERBOSE'}"; 252 + } 253 + 250 254 # Generated docbook code is inserted in a template at a point where 251 255 # docbook v3.1 requires a non-zero sequence of RefEntry's; see: 252 256 # http://www.oasis-open.org/docbook/documentation/reference/html/refentry.html
-8
security/smack/smack.h
··· 26 26 #define SMK_MAXLEN 23 27 27 #define SMK_LABELLEN (SMK_MAXLEN+1) 28 28 29 - /* 30 - * How many kinds of access are there? 31 - * Here's your answer. 32 - */ 33 - #define SMK_ACCESSDASH '-' 34 - #define SMK_ACCESSLOW "rwxa" 35 - #define SMK_ACCESSKINDS (sizeof(SMK_ACCESSLOW) - 1) 36 - 37 29 struct superblock_smack { 38 30 char *smk_root; 39 31 char *smk_floor;
+20 -11
security/smack/smackfs.c
··· 81 81 /* 82 82 * Values for parsing cipso rules 83 83 * SMK_DIGITLEN: Length of a digit field in a rule. 84 - * SMK_CIPSOMEN: Minimum possible cipso rule length. 84 + * SMK_CIPSOMIN: Minimum possible cipso rule length. 85 + * SMK_CIPSOMAX: Maximum possible cipso rule length. 85 86 */ 86 87 #define SMK_DIGITLEN 4 87 - #define SMK_CIPSOMIN (SMK_MAXLEN + 2 * SMK_DIGITLEN) 88 + #define SMK_CIPSOMIN (SMK_LABELLEN + 2 * SMK_DIGITLEN) 89 + #define SMK_CIPSOMAX (SMK_CIPSOMIN + SMACK_CIPSO_MAXCATNUM * SMK_DIGITLEN) 90 + 91 + /* 92 + * Values for parsing MAC rules 93 + * SMK_ACCESS: Maximum possible combination of access permissions 94 + * SMK_ACCESSLEN: Maximum length for a rule access field 95 + * SMK_LOADLEN: Smack rule length 96 + */ 97 + #define SMK_ACCESS "rwxa" 98 + #define SMK_ACCESSLEN (sizeof(SMK_ACCESS) - 1) 99 + #define SMK_LOADLEN (SMK_LABELLEN + SMK_LABELLEN + SMK_ACCESSLEN) 100 + 88 101 89 102 /* 90 103 * Seq_file read operations for /smack/load ··· 242 229 * The format is exactly: 243 230 * char subject[SMK_LABELLEN] 244 231 * char object[SMK_LABELLEN] 245 - * char access[SMK_ACCESSKINDS] 232 + * char access[SMK_ACCESSLEN] 246 233 * 247 - * Anything following is commentary and ignored. 248 - * 249 - * writes must be SMK_LABELLEN+SMK_LABELLEN+4 bytes. 234 + * writes must be SMK_LABELLEN+SMK_LABELLEN+SMK_ACCESSLEN bytes. 250 235 */ 251 - #define MINIMUM_LOAD (SMK_LABELLEN + SMK_LABELLEN + SMK_ACCESSKINDS) 252 - 253 236 static ssize_t smk_write_load(struct file *file, const char __user *buf, 254 237 size_t count, loff_t *ppos) 255 238 { ··· 262 253 return -EPERM; 263 254 if (*ppos != 0) 264 255 return -EINVAL; 265 - if (count < MINIMUM_LOAD) 256 + if (count != SMK_LOADLEN) 266 257 return -EINVAL; 267 258 268 259 data = kzalloc(count, GFP_KERNEL); ··· 522 513 return -EPERM; 523 514 if (*ppos != 0) 524 515 return -EINVAL; 525 - if (count <= SMK_CIPSOMIN) 516 + if (count < SMK_CIPSOMIN || count > SMK_CIPSOMAX) 526 517 return -EINVAL; 527 518 528 519 data = kzalloc(count + 1, GFP_KERNEL); ··· 556 547 if (ret != 1 || catlen > SMACK_CIPSO_MAXCATNUM) 557 548 goto out; 558 549 559 - if (count <= (SMK_CIPSOMIN + catlen * SMK_DIGITLEN)) 550 + if (count != (SMK_CIPSOMIN + catlen * SMK_DIGITLEN)) 560 551 goto out; 561 552 562 553 memset(mapcatset, 0, sizeof(mapcatset));