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

+2185 -3195
-6
Documentation/00-INDEX
··· 225 - documents the kernel probes debugging feature. 226 kref.txt 227 - docs on adding reference counters (krefs) to kernel objects. 228 - laptop-mode.txt 229 - - how to conserve battery power using laptop-mode. 230 laptops/ 231 - directory with laptop related info and laptop driver documentation. 232 ldm.txt ··· 299 - info on the Linux PCMCIA driver. 300 pi-futex.txt 301 - documentation on lightweight PI-futexes. 302 - pm.txt 303 - - info on Linux power management support. 304 pnp.txt 305 - Linux Plug and Play documentation. 306 - power_supply_class.txt 307 - - Tells userspace about battery, UPS, AC or DC power supply properties 308 power/ 309 - directory with info on Linux PCI power management. 310 powerpc/
··· 225 - documents the kernel probes debugging feature. 226 kref.txt 227 - docs on adding reference counters (krefs) to kernel objects. 228 laptops/ 229 - directory with laptop related info and laptop driver documentation. 230 ldm.txt ··· 301 - info on the Linux PCMCIA driver. 302 pi-futex.txt 303 - documentation on lightweight PI-futexes. 304 pnp.txt 305 - Linux Plug and Play documentation. 306 power/ 307 - directory with info on Linux PCI power management. 308 powerpc/
+2 -2
Documentation/filesystems/proc.txt
··· 1506 ----------- 1507 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. 1510 1511 block_dump 1512 ---------- 1513 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. 1516 1517 swap_token_timeout 1518 ------------------
··· 1506 ----------- 1507 1508 laptop_mode is a knob that controls "laptop mode". All the things that are 1509 + controlled by this knob are discussed in Documentation/laptops/laptop-mode.txt. 1510 1511 block_dump 1512 ---------- 1513 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/laptops/laptop-mode.txt. 1516 1517 swap_token_timeout 1518 ------------------
+1 -1
Documentation/kernel-parameters.txt
··· 138 strict -- Be less tolerant of platforms that are not 139 strictly ACPI specification compliant. 140 141 - See also Documentation/pm.txt, pci=noacpi 142 143 acpi_apic_instance= [ACPI, IOAPIC] 144 Format: <int>
··· 138 strict -- Be less tolerant of platforms that are not 139 strictly ACPI specification compliant. 140 141 + See also Documentation/power/pm.txt, pci=noacpi 142 143 acpi_apic_instance= [ACPI, IOAPIC] 144 Format: <int>
Documentation/laptop-mode.txt Documentation/laptops/laptop-mode.txt
+2
Documentation/laptops/00-INDEX
··· 2 - This file 3 acer-wmi.txt 4 - information on the Acer Laptop WMI Extras driver. 5 sony-laptop.txt 6 - Sony Notebook Control Driver (SNC) Readme. 7 sonypi.txt
··· 2 - This file 3 acer-wmi.txt 4 - information on the Acer Laptop WMI Extras driver. 5 + laptop-mode.txt 6 + - how to conserve battery power using laptop-mode. 7 sony-laptop.txt 8 - Sony Notebook Control Driver (SNC) Readme. 9 sonypi.txt
+2 -2
Documentation/laptops/acer-wmi.txt
··· 48 49 To send me the DSDT, as root/sudo: 50 51 - cat /sys/firmware/acpi/DSDT > dsdt 52 53 And send me the resulting 'dsdt' file. 54 ··· 169 170 The LED is exposed through the LED subsystem, and can be found in: 171 172 - /sys/devices/platform/acer-wmi/leds/acer-mail:green/ 173 174 The mail LED is autodetected, so if you don't have one, the LED device won't 175 be registered.
··· 48 49 To send me the DSDT, as root/sudo: 50 51 + cat /sys/firmware/acpi/tables/DSDT > dsdt 52 53 And send me the resulting 'dsdt' file. 54 ··· 169 170 The LED is exposed through the LED subsystem, and can be found in: 171 172 + /sys/devices/platform/acer-wmi/leds/acer-wmi::mail/ 173 174 The mail LED is autodetected, so if you don't have one, the LED device won't 175 be registered.
+1 -1
Documentation/pm.txt Documentation/power/pm.txt
··· 108 * EINVAL if the request is not supported 109 * EBUSY if the device is now busy and cannot handle the request 110 * ENOMEM if the device was unable to handle the request due to memory 111 - * 112 * Details: The device request callback will be called before the 113 * device/system enters a suspend state (ACPI D1-D3) or 114 * or after the device/system resumes from suspend (ACPI D0).
··· 108 * EINVAL if the request is not supported 109 * EBUSY if the device is now busy and cannot handle the request 110 * ENOMEM if the device was unable to handle the request due to memory 111 + * 112 * Details: The device request callback will be called before the 113 * device/system enters a suspend state (ACPI D1-D3) or 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 - Registering suspend notifiers in device drivers 15 pci.txt 16 - How the PCI Subsystem Does Power Management 17 s2ram.txt 18 - How to get suspend to ram working (and debug it when it isn't) 19 states.txt
··· 14 - Registering suspend notifiers in device drivers 15 pci.txt 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 23 s2ram.txt 24 - How to get suspend to ram working (and debug it when it isn't) 25 states.txt
Documentation/power_supply_class.txt Documentation/power/power_supply_class.txt
+11 -11
Documentation/thermal/sysfs-api.txt
··· 143 This is given by thermal zone driver as part of registration. 144 Eg: "ACPI thermal zone" indicates it's a ACPI thermal device 145 RO 146 - Optional 147 148 temp Current temperature as reported by thermal zone (sensor) 149 - Unit: degree Celsius 150 RO 151 Required 152 ··· 163 charge of the thermal management. 164 165 trip_point_[0-*]_temp The temperature above which trip point will be fired 166 - Unit: degree Celsius 167 RO 168 Optional 169 ··· 193 eg. For memory controller device on intel_menlow platform: 194 this should be "Memory controller" 195 RO 196 - Optional 197 198 max_state The maximum permissible cooling state of this cooling device. 199 RO ··· 219 220 |thermal_zone1: 221 |-----type: ACPI thermal zone 222 - |-----temp: 37 223 |-----mode: kernel 224 - |-----trip_point_0_temp: 100 225 |-----trip_point_0_type: critical 226 - |-----trip_point_1_temp: 80 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] 232 |-----cdev0: --->/sys/class/thermal/cooling_device0 233 |-----cdev0_trip_point: 1 /* cdev0 can be used for passive */ 234 |-----cdev1: --->/sys/class/thermal/cooling_device3
··· 143 This is given by thermal zone driver as part of registration. 144 Eg: "ACPI thermal zone" indicates it's a ACPI thermal device 145 RO 146 + Required 147 148 temp Current temperature as reported by thermal zone (sensor) 149 + Unit: millidegree Celsius 150 RO 151 Required 152 ··· 163 charge of the thermal management. 164 165 trip_point_[0-*]_temp The temperature above which trip point will be fired 166 + Unit: millidegree Celsius 167 RO 168 Optional 169 ··· 193 eg. For memory controller device on intel_menlow platform: 194 this should be "Memory controller" 195 RO 196 + Required 197 198 max_state The maximum permissible cooling state of this cooling device. 199 RO ··· 219 220 |thermal_zone1: 221 |-----type: ACPI thermal zone 222 + |-----temp: 37000 223 |-----mode: kernel 224 + |-----trip_point_0_temp: 100000 225 |-----trip_point_0_type: critical 226 + |-----trip_point_1_temp: 80000 227 |-----trip_point_1_type: passive 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 |-----cdev0: --->/sys/class/thermal/cooling_device0 233 |-----cdev0_trip_point: 1 /* cdev0 can be used for passive */ 234 |-----cdev1: --->/sys/class/thermal/cooling_device3
+4 -28
MAINTAINERS
··· 2052 L: netdev@vger.kernel.org 2053 S: Maintained 2054 2055 - INTEL PRO/100 ETHERNET SUPPORT 2056 P: Auke Kok 2057 M: auke-jan.h.kok@intel.com 2058 P: Jesse Brandeburg 2059 M: jesse.brandeburg@intel.com 2060 P: Jeff Kirsher 2061 M: jeffrey.t.kirsher@intel.com 2062 P: John Ronciak 2063 M: john.ronciak@intel.com 2064 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/ 2092 S: Supported 2093 2094 INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
··· 2052 L: netdev@vger.kernel.org 2053 S: Maintained 2054 2055 + INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/ixgb/ixgbe) 2056 P: Auke Kok 2057 M: auke-jan.h.kok@intel.com 2058 P: Jesse Brandeburg 2059 M: jesse.brandeburg@intel.com 2060 P: Jeff Kirsher 2061 M: jeffrey.t.kirsher@intel.com 2062 + P: Bruce Allan 2063 + M: bruce.w.allan@intel.com 2064 P: John Ronciak 2065 M: john.ronciak@intel.com 2066 L: e1000-devel@lists.sourceforge.net 2067 + W: http://e1000.sourceforge.net/ 2068 S: Supported 2069 2070 INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
+3
arch/alpha/Kconfig
··· 330 config PCI_SYSCALL 331 def_bool PCI 332 333 config ALPHA_CORE_AGP 334 bool 335 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
··· 330 config PCI_SYSCALL 331 def_bool PCI 332 333 + config IOMMU_HELPER 334 + def_bool PCI 335 + 336 config ALPHA_CORE_AGP 337 bool 338 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
+2 -10
arch/alpha/kernel/pci_iommu.c
··· 10 #include <linux/scatterlist.h> 11 #include <linux/log2.h> 12 #include <linux/dma-mapping.h> 13 14 #include <asm/io.h> 15 #include <asm/hwrpb.h> ··· 126 return iommu_arena_new_node(0, hose, base, window_size, align); 127 } 128 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 /* Must be called with the arena lock held */ 138 static long 139 iommu_arena_find_pages(struct device *dev, struct pci_iommu_arena *arena, ··· 140 base = arena->dma_base >> PAGE_SHIFT; 141 if (dev) { 142 boundary_size = dma_get_seg_boundary(dev) + 1; 143 - BUG_ON(!is_power_of_2(boundary_size)); 144 boundary_size >>= PAGE_SHIFT; 145 } else { 146 boundary_size = 1UL << (32 - PAGE_SHIFT); ··· 153 154 again: 155 while (i < n && p+i < nent) { 156 - if (!i && is_span_boundary(p, n, base, boundary_size)) { 157 p = ALIGN(p + 1, mask + 1); 158 goto again; 159 }
··· 10 #include <linux/scatterlist.h> 11 #include <linux/log2.h> 12 #include <linux/dma-mapping.h> 13 + #include <linux/iommu-helper.h> 14 15 #include <asm/io.h> 16 #include <asm/hwrpb.h> ··· 125 return iommu_arena_new_node(0, hose, base, window_size, align); 126 } 127 128 /* Must be called with the arena lock held */ 129 static long 130 iommu_arena_find_pages(struct device *dev, struct pci_iommu_arena *arena, ··· 147 base = arena->dma_base >> PAGE_SHIFT; 148 if (dev) { 149 boundary_size = dma_get_seg_boundary(dev) + 1; 150 boundary_size >>= PAGE_SHIFT; 151 } else { 152 boundary_size = 1UL << (32 - PAGE_SHIFT); ··· 161 162 again: 163 while (i < n && p+i < nent) { 164 + if (!i && iommu_is_span_boundary(p, n, base, boundary_size)) { 165 p = ALIGN(p + 1, mask + 1); 166 goto again; 167 }
+1
arch/arm/Makefile
··· 251 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' 252 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' 253 echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)' 254 echo ' bootpImage - Combined zImage and initial RAM disk' 255 echo ' (supply initrd image via make variable INITRD=<path>)' 256 echo ' install - Install uncompressed kernel'
··· 251 echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' 252 echo ' Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' 253 echo '* xipImage - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)' 254 + echo ' uImage - U-Boot wrapped zImage' 255 echo ' bootpImage - Combined zImage and initial RAM disk' 256 echo ' (supply initrd image via make variable INITRD=<path>)' 257 echo ' install - Install uncompressed kernel'
+3 -3
arch/arm/common/it8152.c
··· 274 int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) 275 { 276 dev_dbg(dev, "%s: dma_addr %08x, size %08x\n", 277 - __FUNCTION__, dma_addr, size); 278 return (dev->bus == &pci_bus_type) && 279 ((dma_addr + size - PHYS_OFFSET) >= SZ_64M); 280 } ··· 289 */ 290 int pci_set_dma_mask(struct pci_dev *dev, u64 mask) 291 { 292 - dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); 293 if (mask >= PHYS_OFFSET + SZ_64M - 1) 294 return 0; 295 ··· 299 int 300 pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 301 { 302 - dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); 303 if (mask >= PHYS_OFFSET + SZ_64M - 1) 304 return 0; 305
··· 274 int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) 275 { 276 dev_dbg(dev, "%s: dma_addr %08x, size %08x\n", 277 + __func__, dma_addr, size); 278 return (dev->bus == &pci_bus_type) && 279 ((dma_addr + size - PHYS_OFFSET) >= SZ_64M); 280 } ··· 289 */ 290 int pci_set_dma_mask(struct pci_dev *dev, u64 mask) 291 { 292 + dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); 293 if (mask >= PHYS_OFFSET + SZ_64M - 1) 294 return 0; 295 ··· 299 int 300 pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 301 { 302 + dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); 303 if (mask >= PHYS_OFFSET + SZ_64M - 1) 304 return 0; 305
+49 -22
arch/arm/configs/omap_h2_1610_defconfig
··· 1 # 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc5 4 - # Mon Dec 17 20:04:38 2007 5 # 6 CONFIG_ARM=y 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 CONFIG_GENERIC_HWEIGHT=y 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 CONFIG_ZONE_DMA=y 25 CONFIG_VECTORS_BASE=0xffff0000 26 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 41 # CONFIG_POSIX_MQUEUE is not set 42 # CONFIG_BSD_PROCESS_ACCT is not set 43 # CONFIG_TASKSTATS is not set 44 - # CONFIG_USER_NS is not set 45 - # CONFIG_PID_NS is not set 46 # CONFIG_AUDIT is not set 47 # CONFIG_IKCONFIG is not set 48 CONFIG_LOG_BUF_SHIFT=14 49 # CONFIG_CGROUPS is not set 50 CONFIG_FAIR_GROUP_SCHED=y 51 - CONFIG_FAIR_USER_SCHED=y 52 - # CONFIG_FAIR_CGROUP_SCHED is not set 53 # CONFIG_SYSFS_DEPRECATED is not set 54 # CONFIG_RELAY is not set 55 CONFIG_BLK_DEV_INITRD=y 56 CONFIG_INITRAMFS_SOURCE="" 57 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 70 CONFIG_PRINTK=y 71 CONFIG_BUG=y 72 CONFIG_ELF_CORE=y 73 CONFIG_BASE_FULL=y 74 CONFIG_FUTEX=y 75 CONFIG_ANON_INODES=y 76 CONFIG_EPOLL=y 77 CONFIG_SIGNALFD=y 78 CONFIG_EVENTFD=y 79 CONFIG_SHMEM=y 80 CONFIG_VM_EVENT_COUNTERS=y 81 CONFIG_SLAB=y 82 # CONFIG_SLUB is not set 83 # CONFIG_SLOB is not set 84 CONFIG_RT_MUTEXES=y 85 # CONFIG_TINY_SHMEM is not set 86 CONFIG_BASE_SMALL=0 ··· 117 # CONFIG_DEFAULT_CFQ is not set 118 # CONFIG_DEFAULT_NOOP is not set 119 CONFIG_DEFAULT_IOSCHED="anticipatory" 120 121 # 122 # System Type ··· 147 # CONFIG_ARCH_KS8695 is not set 148 # CONFIG_ARCH_NS9XXX is not set 149 # CONFIG_ARCH_MXC is not set 150 # CONFIG_ARCH_PNX4008 is not set 151 # CONFIG_ARCH_PXA is not set 152 # CONFIG_ARCH_RPC is not set ··· 157 # CONFIG_ARCH_LH7A40X is not set 158 # CONFIG_ARCH_DAVINCI is not set 159 CONFIG_ARCH_OMAP=y 160 161 # 162 # TI OMAP Implementations ··· 174 # CONFIG_OMAP_MUX_DEBUG is not set 175 CONFIG_OMAP_MUX_WARNINGS=y 176 CONFIG_OMAP_MCBSP=y 177 # CONFIG_OMAP_MPU_TIMER is not set 178 CONFIG_OMAP_32K_TIMER=y 179 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 286 CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh" 287 # CONFIG_XIP_KERNEL is not set 288 # CONFIG_KEXEC is not set 289 290 # 291 # CPU Frequency scaling ··· 332 # CONFIG_PM_LEGACY is not set 333 # CONFIG_PM_DEBUG is not set 334 CONFIG_PM_SLEEP=y 335 - CONFIG_SUSPEND_UP_POSSIBLE=y 336 CONFIG_SUSPEND=y 337 # CONFIG_APM_EMULATION is not set 338 339 # 340 # Networking ··· 352 # CONFIG_XFRM_USER is not set 353 # CONFIG_XFRM_SUB_POLICY is not set 354 # CONFIG_XFRM_MIGRATE is not set 355 # CONFIG_NET_KEY is not set 356 CONFIG_INET=y 357 # CONFIG_IP_MULTICAST is not set ··· 407 # 408 # CONFIG_NET_PKTGEN is not set 409 # CONFIG_HAMRADIO is not set 410 # CONFIG_IRDA is not set 411 # CONFIG_BT is not set 412 # CONFIG_AF_RXRPC is not set ··· 445 CONFIG_BLK_DEV_RAM=y 446 CONFIG_BLK_DEV_RAM_COUNT=16 447 CONFIG_BLK_DEV_RAM_SIZE=8192 448 - CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 449 # CONFIG_CDROM_PKTCDVD is not set 450 CONFIG_ATA_OVER_ETH=m 451 CONFIG_MISC_DEVICES=y 452 # CONFIG_EEPROM_93CX6 is not set 453 454 # 455 # SCSI device support ··· 515 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 516 # CONFIG_B44 is not set 517 CONFIG_NETDEV_1000=y 518 CONFIG_NETDEV_10000=y 519 520 # ··· 539 CONFIG_SLHC=y 540 # CONFIG_SLIP_SMART is not set 541 # CONFIG_SLIP_MODE_SLIP6 is not set 542 - # CONFIG_SHAPER is not set 543 # CONFIG_NETCONSOLE is not set 544 # CONFIG_NETPOLL is not set 545 # CONFIG_NET_POLL_CONTROLLER is not set ··· 642 # 643 # Miscellaneous I2C Chip support 644 # 645 - # CONFIG_SENSORS_DS1337 is not set 646 - # CONFIG_SENSORS_DS1374 is not set 647 # CONFIG_DS1682 is not set 648 # CONFIG_SENSORS_EEPROM is not set 649 # CONFIG_SENSORS_PCF8574 is not set 650 - # CONFIG_SENSORS_PCA9539 is not set 651 # CONFIG_SENSORS_PCF8591 is not set 652 # CONFIG_ISP1301_OMAP is not set 653 CONFIG_TPS65010=y ··· 673 # CONFIG_SENSORS_ADM1031 is not set 674 # CONFIG_SENSORS_ADM9240 is not set 675 # CONFIG_SENSORS_ADT7470 is not set 676 # CONFIG_SENSORS_ATXP1 is not set 677 # CONFIG_SENSORS_DS1621 is not set 678 # CONFIG_SENSORS_F71805F is not set ··· 701 # CONFIG_SENSORS_SMSC47M1 is not set 702 # CONFIG_SENSORS_SMSC47M192 is not set 703 # CONFIG_SENSORS_SMSC47B397 is not set 704 # CONFIG_SENSORS_THMC50 is not set 705 # CONFIG_SENSORS_VT1211 is not set 706 # CONFIG_SENSORS_W83781D is not set ··· 709 # CONFIG_SENSORS_W83792D is not set 710 # CONFIG_SENSORS_W83793 is not set 711 # CONFIG_SENSORS_W83L785TS is not set 712 # CONFIG_SENSORS_W83627HF is not set 713 # CONFIG_SENSORS_W83627EHF is not set 714 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 732 # Multifunction device drivers 733 # 734 # CONFIG_MFD_SM501 is not set 735 736 # 737 # Multimedia devices ··· 830 # 831 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 832 # 833 - 834 - # 835 - # USB Gadget Support 836 - # 837 # CONFIG_USB_GADGET is not set 838 # CONFIG_MMC is not set 839 # CONFIG_NEW_LEDS is not set ··· 850 # CONFIG_XFS_FS is not set 851 # CONFIG_GFS2_FS is not set 852 # CONFIG_OCFS2_FS is not set 853 - # CONFIG_MINIX_FS is not set 854 - CONFIG_ROMFS_FS=y 855 CONFIG_INOTIFY=y 856 CONFIG_INOTIFY_USER=y 857 # CONFIG_QUOTA is not set 858 - CONFIG_DNOTIFY=y 859 # CONFIG_AUTOFS_FS is not set 860 # CONFIG_AUTOFS4_FS is not set 861 # CONFIG_FUSE_FS is not set ··· 896 # CONFIG_EFS_FS is not set 897 CONFIG_CRAMFS=y 898 # CONFIG_VXFS_FS is not set 899 # CONFIG_HPFS_FS is not set 900 # CONFIG_QNX4FS_FS is not set 901 # CONFIG_SYSV_FS is not set 902 # CONFIG_UFS_FS is not set 903 CONFIG_NETWORK_FILESYSTEMS=y ··· 970 # CONFIG_NLS_KOI8_U is not set 971 # CONFIG_NLS_UTF8 is not set 972 # CONFIG_DLM is not set 973 - CONFIG_INSTRUMENTATION=y 974 - # CONFIG_PROFILING is not set 975 - # CONFIG_MARKERS is not set 976 977 # 978 # Kernel hacking ··· 996 CONFIG_CRYPTO=y 997 CONFIG_CRYPTO_ALGAPI=y 998 CONFIG_CRYPTO_BLKCIPHER=y 999 CONFIG_CRYPTO_MANAGER=y 1000 # CONFIG_CRYPTO_HMAC is not set 1001 # CONFIG_CRYPTO_XCBC is not set ··· 1014 CONFIG_CRYPTO_PCBC=m 1015 # CONFIG_CRYPTO_LRW is not set 1016 # CONFIG_CRYPTO_XTS is not set 1017 # CONFIG_CRYPTO_CRYPTD is not set 1018 CONFIG_CRYPTO_DES=y 1019 # CONFIG_CRYPTO_FCRYPT is not set ··· 1031 # CONFIG_CRYPTO_KHAZAD is not set 1032 # CONFIG_CRYPTO_ANUBIS is not set 1033 # CONFIG_CRYPTO_SEED is not set 1034 # CONFIG_CRYPTO_DEFLATE is not set 1035 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1036 # CONFIG_CRYPTO_CRC32C is not set 1037 # CONFIG_CRYPTO_CAMELLIA is not set 1038 # CONFIG_CRYPTO_TEST is not set 1039 # CONFIG_CRYPTO_AUTHENC is not set 1040 CONFIG_CRYPTO_HW=y 1041 1042 #
··· 1 # 2 # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.25-rc3 4 + # Mon Mar 3 03:39:48 2008 5 # 6 CONFIG_ARM=y 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 CONFIG_GENERIC_HWEIGHT=y 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 + CONFIG_ARCH_SUPPORTS_AOUT=y 25 CONFIG_ZONE_DMA=y 26 CONFIG_VECTORS_BASE=0xffff0000 27 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 40 # CONFIG_POSIX_MQUEUE is not set 41 # CONFIG_BSD_PROCESS_ACCT is not set 42 # CONFIG_TASKSTATS is not set 43 # CONFIG_AUDIT is not set 44 # CONFIG_IKCONFIG is not set 45 CONFIG_LOG_BUF_SHIFT=14 46 # CONFIG_CGROUPS is not set 47 + CONFIG_GROUP_SCHED=y 48 CONFIG_FAIR_GROUP_SCHED=y 49 + # CONFIG_RT_GROUP_SCHED is not set 50 + CONFIG_USER_SCHED=y 51 + # CONFIG_CGROUP_SCHED is not set 52 # CONFIG_SYSFS_DEPRECATED is not set 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 59 CONFIG_BLK_DEV_INITRD=y 60 CONFIG_INITRAMFS_SOURCE="" 61 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 64 CONFIG_PRINTK=y 65 CONFIG_BUG=y 66 CONFIG_ELF_CORE=y 67 + CONFIG_COMPAT_BRK=y 68 CONFIG_BASE_FULL=y 69 CONFIG_FUTEX=y 70 CONFIG_ANON_INODES=y 71 CONFIG_EPOLL=y 72 CONFIG_SIGNALFD=y 73 + CONFIG_TIMERFD=y 74 CONFIG_EVENTFD=y 75 CONFIG_SHMEM=y 76 CONFIG_VM_EVENT_COUNTERS=y 77 CONFIG_SLAB=y 78 # CONFIG_SLUB is not set 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 87 CONFIG_RT_MUTEXES=y 88 # CONFIG_TINY_SHMEM is not set 89 CONFIG_BASE_SMALL=0 ··· 102 # CONFIG_DEFAULT_CFQ is not set 103 # CONFIG_DEFAULT_NOOP is not set 104 CONFIG_DEFAULT_IOSCHED="anticipatory" 105 + CONFIG_CLASSIC_RCU=y 106 + # CONFIG_PREEMPT_RCU is not set 107 108 # 109 # System Type ··· 130 # CONFIG_ARCH_KS8695 is not set 131 # CONFIG_ARCH_NS9XXX is not set 132 # CONFIG_ARCH_MXC is not set 133 + # CONFIG_ARCH_ORION is not set 134 # CONFIG_ARCH_PNX4008 is not set 135 # CONFIG_ARCH_PXA is not set 136 # CONFIG_ARCH_RPC is not set ··· 139 # CONFIG_ARCH_LH7A40X is not set 140 # CONFIG_ARCH_DAVINCI is not set 141 CONFIG_ARCH_OMAP=y 142 + # CONFIG_ARCH_MSM7X00A is not set 143 144 # 145 # TI OMAP Implementations ··· 155 # CONFIG_OMAP_MUX_DEBUG is not set 156 CONFIG_OMAP_MUX_WARNINGS=y 157 CONFIG_OMAP_MCBSP=y 158 + # CONFIG_OMAP_MMU_FWK is not set 159 # CONFIG_OMAP_MPU_TIMER is not set 160 CONFIG_OMAP_32K_TIMER=y 161 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 266 CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh" 267 # CONFIG_XIP_KERNEL is not set 268 # CONFIG_KEXEC is not set 269 + # CONFIG_ATAGS_PROC is not set 270 271 # 272 # CPU Frequency scaling ··· 311 # CONFIG_PM_LEGACY is not set 312 # CONFIG_PM_DEBUG is not set 313 CONFIG_PM_SLEEP=y 314 CONFIG_SUSPEND=y 315 + CONFIG_SUSPEND_FREEZER=y 316 # CONFIG_APM_EMULATION is not set 317 + CONFIG_ARCH_SUSPEND_POSSIBLE=y 318 319 # 320 # Networking ··· 330 # CONFIG_XFRM_USER is not set 331 # CONFIG_XFRM_SUB_POLICY is not set 332 # CONFIG_XFRM_MIGRATE is not set 333 + # CONFIG_XFRM_STATISTICS is not set 334 # CONFIG_NET_KEY is not set 335 CONFIG_INET=y 336 # CONFIG_IP_MULTICAST is not set ··· 384 # 385 # CONFIG_NET_PKTGEN is not set 386 # CONFIG_HAMRADIO is not set 387 + # CONFIG_CAN is not set 388 # CONFIG_IRDA is not set 389 # CONFIG_BT is not set 390 # CONFIG_AF_RXRPC is not set ··· 421 CONFIG_BLK_DEV_RAM=y 422 CONFIG_BLK_DEV_RAM_COUNT=16 423 CONFIG_BLK_DEV_RAM_SIZE=8192 424 + # CONFIG_BLK_DEV_XIP is not set 425 # CONFIG_CDROM_PKTCDVD is not set 426 CONFIG_ATA_OVER_ETH=m 427 CONFIG_MISC_DEVICES=y 428 # CONFIG_EEPROM_93CX6 is not set 429 + # CONFIG_ENCLOSURE_SERVICES is not set 430 + # CONFIG_HAVE_IDE is not set 431 432 # 433 # SCSI device support ··· 489 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 490 # CONFIG_B44 is not set 491 CONFIG_NETDEV_1000=y 492 + # CONFIG_E1000E_ENABLED is not set 493 CONFIG_NETDEV_10000=y 494 495 # ··· 512 CONFIG_SLHC=y 513 # CONFIG_SLIP_SMART is not set 514 # CONFIG_SLIP_MODE_SLIP6 is not set 515 # CONFIG_NETCONSOLE is not set 516 # CONFIG_NETPOLL is not set 517 # CONFIG_NET_POLL_CONTROLLER is not set ··· 616 # 617 # Miscellaneous I2C Chip support 618 # 619 # CONFIG_DS1682 is not set 620 # CONFIG_SENSORS_EEPROM is not set 621 # CONFIG_SENSORS_PCF8574 is not set 622 + # CONFIG_PCF8575 is not set 623 # CONFIG_SENSORS_PCF8591 is not set 624 # CONFIG_ISP1301_OMAP is not set 625 CONFIG_TPS65010=y ··· 649 # CONFIG_SENSORS_ADM1031 is not set 650 # CONFIG_SENSORS_ADM9240 is not set 651 # CONFIG_SENSORS_ADT7470 is not set 652 + # CONFIG_SENSORS_ADT7473 is not set 653 # CONFIG_SENSORS_ATXP1 is not set 654 # CONFIG_SENSORS_DS1621 is not set 655 # CONFIG_SENSORS_F71805F is not set ··· 676 # CONFIG_SENSORS_SMSC47M1 is not set 677 # CONFIG_SENSORS_SMSC47M192 is not set 678 # CONFIG_SENSORS_SMSC47B397 is not set 679 + # CONFIG_SENSORS_ADS7828 is not set 680 # CONFIG_SENSORS_THMC50 is not set 681 # CONFIG_SENSORS_VT1211 is not set 682 # CONFIG_SENSORS_W83781D is not set ··· 683 # CONFIG_SENSORS_W83792D is not set 684 # CONFIG_SENSORS_W83793 is not set 685 # CONFIG_SENSORS_W83L785TS is not set 686 + # CONFIG_SENSORS_W83L786NG is not set 687 # CONFIG_SENSORS_W83627HF is not set 688 # CONFIG_SENSORS_W83627EHF is not set 689 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 705 # Multifunction device drivers 706 # 707 # CONFIG_MFD_SM501 is not set 708 + # CONFIG_MFD_ASIC3 is not set 709 710 # 711 # Multimedia devices ··· 802 # 803 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 804 # 805 # CONFIG_USB_GADGET is not set 806 # CONFIG_MMC is not set 807 # CONFIG_NEW_LEDS is not set ··· 826 # CONFIG_XFS_FS is not set 827 # CONFIG_GFS2_FS is not set 828 # CONFIG_OCFS2_FS is not set 829 + CONFIG_DNOTIFY=y 830 CONFIG_INOTIFY=y 831 CONFIG_INOTIFY_USER=y 832 # CONFIG_QUOTA is not set 833 # CONFIG_AUTOFS_FS is not set 834 # CONFIG_AUTOFS4_FS is not set 835 # CONFIG_FUSE_FS is not set ··· 874 # CONFIG_EFS_FS is not set 875 CONFIG_CRAMFS=y 876 # CONFIG_VXFS_FS is not set 877 + # CONFIG_MINIX_FS is not set 878 # CONFIG_HPFS_FS is not set 879 # CONFIG_QNX4FS_FS is not set 880 + CONFIG_ROMFS_FS=y 881 # CONFIG_SYSV_FS is not set 882 # CONFIG_UFS_FS is not set 883 CONFIG_NETWORK_FILESYSTEMS=y ··· 946 # CONFIG_NLS_KOI8_U is not set 947 # CONFIG_NLS_UTF8 is not set 948 # CONFIG_DLM is not set 949 950 # 951 # Kernel hacking ··· 975 CONFIG_CRYPTO=y 976 CONFIG_CRYPTO_ALGAPI=y 977 CONFIG_CRYPTO_BLKCIPHER=y 978 + # CONFIG_CRYPTO_SEQIV is not set 979 CONFIG_CRYPTO_MANAGER=y 980 # CONFIG_CRYPTO_HMAC is not set 981 # CONFIG_CRYPTO_XCBC is not set ··· 992 CONFIG_CRYPTO_PCBC=m 993 # CONFIG_CRYPTO_LRW is not set 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 998 # CONFIG_CRYPTO_CRYPTD is not set 999 CONFIG_CRYPTO_DES=y 1000 # CONFIG_CRYPTO_FCRYPT is not set ··· 1006 # CONFIG_CRYPTO_KHAZAD is not set 1007 # CONFIG_CRYPTO_ANUBIS is not set 1008 # CONFIG_CRYPTO_SEED is not set 1009 + # CONFIG_CRYPTO_SALSA20 is not set 1010 # CONFIG_CRYPTO_DEFLATE is not set 1011 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1012 # CONFIG_CRYPTO_CRC32C is not set 1013 # CONFIG_CRYPTO_CAMELLIA is not set 1014 # CONFIG_CRYPTO_TEST is not set 1015 # CONFIG_CRYPTO_AUTHENC is not set 1016 + # CONFIG_CRYPTO_LZO is not set 1017 CONFIG_CRYPTO_HW=y 1018 1019 #
+94 -29
arch/arm/configs/omap_osk_5912_defconfig
··· 1 # 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc5 4 - # Mon Dec 17 21:12:45 2007 5 # 6 CONFIG_ARM=y 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 CONFIG_GENERIC_HWEIGHT=y 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 CONFIG_ZONE_DMA=y 25 CONFIG_VECTORS_BASE=0xffff0000 26 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 40 # CONFIG_POSIX_MQUEUE is not set 41 # CONFIG_BSD_PROCESS_ACCT is not set 42 # CONFIG_TASKSTATS is not set 43 - # CONFIG_USER_NS is not set 44 - # CONFIG_PID_NS is not set 45 # CONFIG_AUDIT is not set 46 # CONFIG_IKCONFIG is not set 47 CONFIG_LOG_BUF_SHIFT=14 48 # CONFIG_CGROUPS is not set 49 CONFIG_FAIR_GROUP_SCHED=y 50 - CONFIG_FAIR_USER_SCHED=y 51 - # CONFIG_FAIR_CGROUP_SCHED is not set 52 # CONFIG_SYSFS_DEPRECATED is not set 53 # CONFIG_RELAY is not set 54 CONFIG_BLK_DEV_INITRD=y 55 CONFIG_INITRAMFS_SOURCE="" 56 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 69 CONFIG_PRINTK=y 70 CONFIG_BUG=y 71 CONFIG_ELF_CORE=y 72 CONFIG_BASE_FULL=y 73 CONFIG_FUTEX=y 74 CONFIG_ANON_INODES=y 75 CONFIG_EPOLL=y 76 CONFIG_SIGNALFD=y 77 CONFIG_EVENTFD=y 78 CONFIG_SHMEM=y 79 CONFIG_VM_EVENT_COUNTERS=y 80 CONFIG_SLAB=y 81 # CONFIG_SLUB is not set 82 # CONFIG_SLOB is not set 83 CONFIG_RT_MUTEXES=y 84 # CONFIG_TINY_SHMEM is not set 85 CONFIG_BASE_SMALL=0 ··· 116 CONFIG_DEFAULT_CFQ=y 117 # CONFIG_DEFAULT_NOOP is not set 118 CONFIG_DEFAULT_IOSCHED="cfq" 119 120 # 121 # System Type ··· 146 # CONFIG_ARCH_KS8695 is not set 147 # CONFIG_ARCH_NS9XXX is not set 148 # CONFIG_ARCH_MXC is not set 149 # CONFIG_ARCH_PNX4008 is not set 150 # CONFIG_ARCH_PXA is not set 151 # CONFIG_ARCH_RPC is not set ··· 156 # CONFIG_ARCH_LH7A40X is not set 157 # CONFIG_ARCH_DAVINCI is not set 158 CONFIG_ARCH_OMAP=y 159 160 # 161 # TI OMAP Implementations ··· 173 # CONFIG_OMAP_MUX_DEBUG is not set 174 CONFIG_OMAP_MUX_WARNINGS=y 175 CONFIG_OMAP_MCBSP=y 176 # CONFIG_OMAP_MPU_TIMER is not set 177 CONFIG_OMAP_32K_TIMER=y 178 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 193 # 194 # OMAP Board Type 195 # 196 - # CONFIG_MACH_OMAP_INNOVATOR is not set 197 - # CONFIG_MACH_OMAP_H2 is not set 198 - # CONFIG_MACH_OMAP_H3 is not set 199 CONFIG_MACH_OMAP_OSK=y 200 # CONFIG_OMAP_OSK_MISTRAL is not set 201 - # CONFIG_MACH_NOKIA770 is not set 202 - # CONFIG_MACH_OMAP_GENERIC is not set 203 204 # 205 # OMAP CPU Speed ··· 295 CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw" 296 # CONFIG_XIP_KERNEL is not set 297 # CONFIG_KEXEC is not set 298 299 # 300 # CPU Frequency scaling ··· 328 # CONFIG_PM_LEGACY is not set 329 # CONFIG_PM_DEBUG is not set 330 CONFIG_PM_SLEEP=y 331 - CONFIG_SUSPEND_UP_POSSIBLE=y 332 CONFIG_SUSPEND=y 333 # CONFIG_APM_EMULATION is not set 334 335 # 336 # Networking ··· 348 # CONFIG_XFRM_USER is not set 349 # CONFIG_XFRM_SUB_POLICY is not set 350 # CONFIG_XFRM_MIGRATE is not set 351 # CONFIG_NET_KEY is not set 352 CONFIG_INET=y 353 CONFIG_IP_MULTICAST=y ··· 404 # 405 # CONFIG_NET_PKTGEN is not set 406 # CONFIG_HAMRADIO is not set 407 # CONFIG_IRDA is not set 408 # CONFIG_BT is not set 409 # CONFIG_AF_RXRPC is not set ··· 517 CONFIG_BLK_DEV_RAM=y 518 CONFIG_BLK_DEV_RAM_COUNT=16 519 CONFIG_BLK_DEV_RAM_SIZE=8192 520 - CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 521 # CONFIG_CDROM_PKTCDVD is not set 522 # CONFIG_ATA_OVER_ETH is not set 523 CONFIG_MISC_DEVICES=y 524 # CONFIG_EEPROM_93CX6 is not set 525 CONFIG_IDE=m 526 CONFIG_BLK_DEV_IDE=m 527 ··· 545 # 546 # CONFIG_IDE_GENERIC is not set 547 # CONFIG_BLK_DEV_PLATFORM is not set 548 - # CONFIG_IDE_ARM is not set 549 # CONFIG_BLK_DEV_IDEDMA is not set 550 CONFIG_IDE_ARCH_OBSOLETE_INIT=y 551 # CONFIG_BLK_DEV_HD is not set ··· 578 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 579 # CONFIG_B44 is not set 580 CONFIG_NETDEV_1000=y 581 CONFIG_NETDEV_10000=y 582 583 # ··· 600 # CONFIG_PPPOL2TP is not set 601 # CONFIG_SLIP is not set 602 CONFIG_SLHC=y 603 - # CONFIG_SHAPER is not set 604 # CONFIG_NETCONSOLE is not set 605 # CONFIG_NETPOLL is not set 606 # CONFIG_NET_POLL_CONTROLLER is not set ··· 696 # CONFIG_SYNCLINK_CS is not set 697 # CONFIG_CARDMAN_4000 is not set 698 # CONFIG_CARDMAN_4040 is not set 699 # CONFIG_RAW_DRIVER is not set 700 # CONFIG_TCG_TPM is not set 701 CONFIG_I2C=y ··· 724 # 725 # Miscellaneous I2C Chip support 726 # 727 - # CONFIG_SENSORS_DS1337 is not set 728 - # CONFIG_SENSORS_DS1374 is not set 729 # CONFIG_DS1682 is not set 730 # CONFIG_SENSORS_EEPROM is not set 731 # CONFIG_SENSORS_PCF8574 is not set 732 - # CONFIG_SENSORS_PCA9539 is not set 733 # CONFIG_SENSORS_PCF8591 is not set 734 # CONFIG_ISP1301_OMAP is not set 735 CONFIG_TPS65010=y ··· 755 # CONFIG_SENSORS_ADM1031 is not set 756 # CONFIG_SENSORS_ADM9240 is not set 757 # CONFIG_SENSORS_ADT7470 is not set 758 # CONFIG_SENSORS_ATXP1 is not set 759 # CONFIG_SENSORS_DS1621 is not set 760 # CONFIG_SENSORS_F71805F is not set ··· 783 # CONFIG_SENSORS_SMSC47M1 is not set 784 # CONFIG_SENSORS_SMSC47M192 is not set 785 # CONFIG_SENSORS_SMSC47B397 is not set 786 # CONFIG_SENSORS_THMC50 is not set 787 # CONFIG_SENSORS_VT1211 is not set 788 # CONFIG_SENSORS_W83781D is not set ··· 791 # CONFIG_SENSORS_W83792D is not set 792 # CONFIG_SENSORS_W83793 is not set 793 # CONFIG_SENSORS_W83L785TS is not set 794 # CONFIG_SENSORS_W83627HF is not set 795 # CONFIG_SENSORS_W83627EHF is not set 796 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 807 # Multifunction device drivers 808 # 809 # CONFIG_MFD_SM501 is not set 810 811 # 812 # Multimedia devices ··· 893 # 894 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 895 # 896 - 897 - # 898 - # USB Gadget Support 899 - # 900 # CONFIG_USB_GADGET is not set 901 # CONFIG_MMC is not set 902 # CONFIG_NEW_LEDS is not set ··· 913 # CONFIG_XFS_FS is not set 914 # CONFIG_GFS2_FS is not set 915 # CONFIG_OCFS2_FS is not set 916 - # CONFIG_MINIX_FS is not set 917 - # CONFIG_ROMFS_FS is not set 918 CONFIG_INOTIFY=y 919 CONFIG_INOTIFY_USER=y 920 # CONFIG_QUOTA is not set 921 - CONFIG_DNOTIFY=y 922 CONFIG_AUTOFS_FS=y 923 CONFIG_AUTOFS4_FS=y 924 # CONFIG_FUSE_FS is not set ··· 970 # CONFIG_JFFS2_RUBIN is not set 971 # CONFIG_CRAMFS is not set 972 # CONFIG_VXFS_FS is not set 973 # CONFIG_HPFS_FS is not set 974 # CONFIG_QNX4FS_FS is not set 975 # CONFIG_SYSV_FS is not set 976 # CONFIG_UFS_FS is not set 977 CONFIG_NETWORK_FILESYSTEMS=y ··· 1043 # CONFIG_NLS_KOI8_U is not set 1044 # CONFIG_NLS_UTF8 is not set 1045 # CONFIG_DLM is not set 1046 - CONFIG_INSTRUMENTATION=y 1047 - # CONFIG_PROFILING is not set 1048 - # CONFIG_MARKERS is not set 1049 1050 # 1051 # Kernel hacking ··· 1066 # CONFIG_KEYS is not set 1067 # CONFIG_SECURITY is not set 1068 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1069 - # CONFIG_CRYPTO is not set 1070 1071 # 1072 # Library routines
··· 1 # 2 # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.25-rc3 4 + # Mon Mar 3 03:35:17 2008 5 # 6 CONFIG_ARM=y 7 CONFIG_SYS_SUPPORTS_APM_EMULATION=y ··· 21 # CONFIG_ARCH_HAS_ILOG2_U64 is not set 22 CONFIG_GENERIC_HWEIGHT=y 23 CONFIG_GENERIC_CALIBRATE_DELAY=y 24 + CONFIG_ARCH_SUPPORTS_AOUT=y 25 CONFIG_ZONE_DMA=y 26 CONFIG_VECTORS_BASE=0xffff0000 27 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 39 # CONFIG_POSIX_MQUEUE is not set 40 # CONFIG_BSD_PROCESS_ACCT is not set 41 # CONFIG_TASKSTATS is not set 42 # CONFIG_AUDIT is not set 43 # CONFIG_IKCONFIG is not set 44 CONFIG_LOG_BUF_SHIFT=14 45 # CONFIG_CGROUPS is not set 46 + CONFIG_GROUP_SCHED=y 47 CONFIG_FAIR_GROUP_SCHED=y 48 + # CONFIG_RT_GROUP_SCHED is not set 49 + CONFIG_USER_SCHED=y 50 + # CONFIG_CGROUP_SCHED is not set 51 # CONFIG_SYSFS_DEPRECATED is not set 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 58 CONFIG_BLK_DEV_INITRD=y 59 CONFIG_INITRAMFS_SOURCE="" 60 CONFIG_CC_OPTIMIZE_FOR_SIZE=y ··· 63 CONFIG_PRINTK=y 64 CONFIG_BUG=y 65 CONFIG_ELF_CORE=y 66 + CONFIG_COMPAT_BRK=y 67 CONFIG_BASE_FULL=y 68 CONFIG_FUTEX=y 69 CONFIG_ANON_INODES=y 70 CONFIG_EPOLL=y 71 CONFIG_SIGNALFD=y 72 + CONFIG_TIMERFD=y 73 CONFIG_EVENTFD=y 74 CONFIG_SHMEM=y 75 CONFIG_VM_EVENT_COUNTERS=y 76 CONFIG_SLAB=y 77 # CONFIG_SLUB is not set 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 86 CONFIG_RT_MUTEXES=y 87 # CONFIG_TINY_SHMEM is not set 88 CONFIG_BASE_SMALL=0 ··· 101 CONFIG_DEFAULT_CFQ=y 102 # CONFIG_DEFAULT_NOOP is not set 103 CONFIG_DEFAULT_IOSCHED="cfq" 104 + CONFIG_CLASSIC_RCU=y 105 + # CONFIG_PREEMPT_RCU is not set 106 107 # 108 # System Type ··· 129 # CONFIG_ARCH_KS8695 is not set 130 # CONFIG_ARCH_NS9XXX is not set 131 # CONFIG_ARCH_MXC is not set 132 + # CONFIG_ARCH_ORION is not set 133 # CONFIG_ARCH_PNX4008 is not set 134 # CONFIG_ARCH_PXA is not set 135 # CONFIG_ARCH_RPC is not set ··· 138 # CONFIG_ARCH_LH7A40X is not set 139 # CONFIG_ARCH_DAVINCI is not set 140 CONFIG_ARCH_OMAP=y 141 + # CONFIG_ARCH_MSM7X00A is not set 142 143 # 144 # TI OMAP Implementations ··· 154 # CONFIG_OMAP_MUX_DEBUG is not set 155 CONFIG_OMAP_MUX_WARNINGS=y 156 CONFIG_OMAP_MCBSP=y 157 + # CONFIG_OMAP_MMU_FWK is not set 158 # CONFIG_OMAP_MPU_TIMER is not set 159 CONFIG_OMAP_32K_TIMER=y 160 CONFIG_OMAP_32K_TIMER_HZ=128 ··· 173 # 174 # OMAP Board Type 175 # 176 + CONFIG_MACH_OMAP_INNOVATOR=y 177 + CONFIG_MACH_OMAP_H2=y 178 + CONFIG_MACH_OMAP_H3=y 179 CONFIG_MACH_OMAP_OSK=y 180 # CONFIG_OMAP_OSK_MISTRAL is not set 181 + CONFIG_MACH_NOKIA770=y 182 + CONFIG_MACH_OMAP_GENERIC=y 183 184 # 185 # OMAP CPU Speed ··· 275 CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw" 276 # CONFIG_XIP_KERNEL is not set 277 # CONFIG_KEXEC is not set 278 + # CONFIG_ATAGS_PROC is not set 279 280 # 281 # CPU Frequency scaling ··· 307 # CONFIG_PM_LEGACY is not set 308 # CONFIG_PM_DEBUG is not set 309 CONFIG_PM_SLEEP=y 310 CONFIG_SUSPEND=y 311 + CONFIG_SUSPEND_FREEZER=y 312 # CONFIG_APM_EMULATION is not set 313 + CONFIG_ARCH_SUSPEND_POSSIBLE=y 314 315 # 316 # Networking ··· 326 # CONFIG_XFRM_USER is not set 327 # CONFIG_XFRM_SUB_POLICY is not set 328 # CONFIG_XFRM_MIGRATE is not set 329 + # CONFIG_XFRM_STATISTICS is not set 330 # CONFIG_NET_KEY is not set 331 CONFIG_INET=y 332 CONFIG_IP_MULTICAST=y ··· 381 # 382 # CONFIG_NET_PKTGEN is not set 383 # CONFIG_HAMRADIO is not set 384 + # CONFIG_CAN is not set 385 # CONFIG_IRDA is not set 386 # CONFIG_BT is not set 387 # CONFIG_AF_RXRPC is not set ··· 493 CONFIG_BLK_DEV_RAM=y 494 CONFIG_BLK_DEV_RAM_COUNT=16 495 CONFIG_BLK_DEV_RAM_SIZE=8192 496 + # CONFIG_BLK_DEV_XIP is not set 497 # CONFIG_CDROM_PKTCDVD is not set 498 # CONFIG_ATA_OVER_ETH is not set 499 CONFIG_MISC_DEVICES=y 500 # CONFIG_EEPROM_93CX6 is not set 501 + # CONFIG_ENCLOSURE_SERVICES is not set 502 + CONFIG_HAVE_IDE=y 503 CONFIG_IDE=m 504 CONFIG_BLK_DEV_IDE=m 505 ··· 519 # 520 # CONFIG_IDE_GENERIC is not set 521 # CONFIG_BLK_DEV_PLATFORM is not set 522 # CONFIG_BLK_DEV_IDEDMA is not set 523 CONFIG_IDE_ARCH_OBSOLETE_INIT=y 524 # CONFIG_BLK_DEV_HD is not set ··· 553 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 554 # CONFIG_B44 is not set 555 CONFIG_NETDEV_1000=y 556 + # CONFIG_E1000E_ENABLED is not set 557 CONFIG_NETDEV_10000=y 558 559 # ··· 574 # CONFIG_PPPOL2TP is not set 575 # CONFIG_SLIP is not set 576 CONFIG_SLHC=y 577 # CONFIG_NETCONSOLE is not set 578 # CONFIG_NETPOLL is not set 579 # CONFIG_NET_POLL_CONTROLLER is not set ··· 671 # CONFIG_SYNCLINK_CS is not set 672 # CONFIG_CARDMAN_4000 is not set 673 # CONFIG_CARDMAN_4040 is not set 674 + # CONFIG_IPWIRELESS is not set 675 # CONFIG_RAW_DRIVER is not set 676 # CONFIG_TCG_TPM is not set 677 CONFIG_I2C=y ··· 698 # 699 # Miscellaneous I2C Chip support 700 # 701 # CONFIG_DS1682 is not set 702 # CONFIG_SENSORS_EEPROM is not set 703 # CONFIG_SENSORS_PCF8574 is not set 704 + # CONFIG_PCF8575 is not set 705 # CONFIG_SENSORS_PCF8591 is not set 706 # CONFIG_ISP1301_OMAP is not set 707 CONFIG_TPS65010=y ··· 731 # CONFIG_SENSORS_ADM1031 is not set 732 # CONFIG_SENSORS_ADM9240 is not set 733 # CONFIG_SENSORS_ADT7470 is not set 734 + # CONFIG_SENSORS_ADT7473 is not set 735 # CONFIG_SENSORS_ATXP1 is not set 736 # CONFIG_SENSORS_DS1621 is not set 737 # CONFIG_SENSORS_F71805F is not set ··· 758 # CONFIG_SENSORS_SMSC47M1 is not set 759 # CONFIG_SENSORS_SMSC47M192 is not set 760 # CONFIG_SENSORS_SMSC47B397 is not set 761 + # CONFIG_SENSORS_ADS7828 is not set 762 # CONFIG_SENSORS_THMC50 is not set 763 # CONFIG_SENSORS_VT1211 is not set 764 # CONFIG_SENSORS_W83781D is not set ··· 765 # CONFIG_SENSORS_W83792D is not set 766 # CONFIG_SENSORS_W83793 is not set 767 # CONFIG_SENSORS_W83L785TS is not set 768 + # CONFIG_SENSORS_W83L786NG is not set 769 # CONFIG_SENSORS_W83627HF is not set 770 # CONFIG_SENSORS_W83627EHF is not set 771 # CONFIG_HWMON_DEBUG_CHIP is not set ··· 780 # Multifunction device drivers 781 # 782 # CONFIG_MFD_SM501 is not set 783 + # CONFIG_MFD_ASIC3 is not set 784 785 # 786 # Multimedia devices ··· 865 # 866 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 867 # 868 # CONFIG_USB_GADGET is not set 869 # CONFIG_MMC is not set 870 # CONFIG_NEW_LEDS is not set ··· 889 # CONFIG_XFS_FS is not set 890 # CONFIG_GFS2_FS is not set 891 # CONFIG_OCFS2_FS is not set 892 + CONFIG_DNOTIFY=y 893 CONFIG_INOTIFY=y 894 CONFIG_INOTIFY_USER=y 895 # CONFIG_QUOTA is not set 896 CONFIG_AUTOFS_FS=y 897 CONFIG_AUTOFS4_FS=y 898 # CONFIG_FUSE_FS is not set ··· 948 # CONFIG_JFFS2_RUBIN is not set 949 # CONFIG_CRAMFS is not set 950 # CONFIG_VXFS_FS is not set 951 + # CONFIG_MINIX_FS is not set 952 # CONFIG_HPFS_FS is not set 953 # CONFIG_QNX4FS_FS is not set 954 + # CONFIG_ROMFS_FS is not set 955 # CONFIG_SYSV_FS is not set 956 # CONFIG_UFS_FS is not set 957 CONFIG_NETWORK_FILESYSTEMS=y ··· 1019 # CONFIG_NLS_KOI8_U is not set 1020 # CONFIG_NLS_UTF8 is not set 1021 # CONFIG_DLM is not set 1022 1023 # 1024 # Kernel hacking ··· 1045 # CONFIG_KEYS is not set 1046 # CONFIG_SECURITY is not set 1047 # CONFIG_SECURITY_FILE_CAPABILITIES 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 1093 1094 # 1095 # Library routines
+3
arch/arm/kernel/head-common.S
··· 11 * 12 */ 13 14 .type __switch_data, %object 15 __switch_data: 16 .long __mmap_switched
··· 11 * 12 */ 13 14 + #define ATAG_CORE 0x54410001 15 + #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) 16 + 17 .type __switch_data, %object 18 __switch_data: 19 .long __mmap_switched
-3
arch/arm/kernel/head.S
··· 29 #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) 30 #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) 31 32 - #define ATAG_CORE 0x54410001 33 - #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) 34 - 35 36 /* 37 * swapper_pg_dir is the virtual address of the initial page table.
··· 29 #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) 30 #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) 31 32 33 /* 34 * swapper_pg_dir is the virtual address of the initial page table.
+5
arch/arm/kernel/kprobes.c
··· 431 return 0; 432 } 433 434 static struct undef_hook kprobes_break_hook = { 435 .instr_mask = 0xffffffff, 436 .instr_val = KPROBE_BREAKPOINT_INSTRUCTION,
··· 431 return 0; 432 } 433 434 + int __kprobes arch_trampoline_kprobe(struct kprobe *p) 435 + { 436 + return 0; 437 + } 438 + 439 static struct undef_hook kprobes_break_hook = { 440 .instr_mask = 0xffffffff, 441 .instr_val = KPROBE_BREAKPOINT_INSTRUCTION,
+1 -4
arch/arm/mach-at91/board-sam9263ek.c
··· 245 246 static void at91_lcdc_power_control(int on) 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 */ 252 } 253 254 /* Driver datas */
··· 245 246 static void at91_lcdc_power_control(int on) 247 { 248 + at91_set_gpio_value(AT91_PIN_PA30, on); 249 } 250 251 /* Driver datas */
+7
arch/arm/mach-at91/gpio.c
··· 490 491 /*--------------------------------------------------------------------------*/ 492 493 /* 494 * Called from the processor-specific init to enable GPIO interrupt support. 495 */ ··· 515 __raw_writel(~0, this->regbase + PIO_IDR); 516 517 for (i = 0, pin = this->chipbase; i < 32; i++, pin++) { 518 /* 519 * Can use the "simple" and not "edge" handler since it's 520 * shorter, and the AIC handles interrupts sanely.
··· 490 491 /*--------------------------------------------------------------------------*/ 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 + 498 /* 499 * Called from the processor-specific init to enable GPIO interrupt support. 500 */ ··· 510 __raw_writel(~0, this->regbase + PIO_IDR); 511 512 for (i = 0, pin = this->chipbase; i < 32; i++, pin++) { 513 + lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class); 514 + 515 /* 516 * Can use the "simple" and not "edge" handler since it's 517 * shorter, and the AIC handles interrupts sanely.
+6 -6
arch/arm/mach-h720x/common.c
··· 103 h720x_gpio_handler(unsigned int mask, unsigned int irq, 104 struct irq_desc *desc) 105 { 106 - IRQDBG("%s irq: %d\n",__FUNCTION__,irq); 107 desc = irq_desc + irq; 108 while (mask) { 109 if (mask & 1) { ··· 123 124 mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); 125 irq = IRQ_CHAINED_GPIOA(0); 126 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 127 h720x_gpio_handler(mask, irq, desc); 128 } 129 ··· 133 unsigned int mask, irq; 134 mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); 135 irq = IRQ_CHAINED_GPIOB(0); 136 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 137 h720x_gpio_handler(mask, irq, desc); 138 } 139 ··· 144 145 mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); 146 irq = IRQ_CHAINED_GPIOC(0); 147 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 148 h720x_gpio_handler(mask, irq, desc); 149 } 150 ··· 155 156 mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); 157 irq = IRQ_CHAINED_GPIOD(0); 158 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 159 h720x_gpio_handler(mask, irq, desc); 160 } 161 ··· 167 168 mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); 169 irq = IRQ_CHAINED_GPIOE(0); 170 - IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq); 171 h720x_gpio_handler(mask, irq, desc); 172 } 173 #endif
··· 103 h720x_gpio_handler(unsigned int mask, unsigned int irq, 104 struct irq_desc *desc) 105 { 106 + IRQDBG("%s irq: %d\n", __func__, irq); 107 desc = irq_desc + irq; 108 while (mask) { 109 if (mask & 1) { ··· 123 124 mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT); 125 irq = IRQ_CHAINED_GPIOA(0); 126 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 127 h720x_gpio_handler(mask, irq, desc); 128 } 129 ··· 133 unsigned int mask, irq; 134 mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT); 135 irq = IRQ_CHAINED_GPIOB(0); 136 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 137 h720x_gpio_handler(mask, irq, desc); 138 } 139 ··· 144 145 mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT); 146 irq = IRQ_CHAINED_GPIOC(0); 147 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 148 h720x_gpio_handler(mask, irq, desc); 149 } 150 ··· 155 156 mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT); 157 irq = IRQ_CHAINED_GPIOD(0); 158 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 159 h720x_gpio_handler(mask, irq, desc); 160 } 161 ··· 167 168 mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT); 169 irq = IRQ_CHAINED_GPIOE(0); 170 + IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq); 171 h720x_gpio_handler(mask, irq, desc); 172 } 173 #endif
+6 -6
arch/arm/mach-imx/dma.c
··· 54 55 if (!imxdma->name) { 56 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 57 - __FUNCTION__, dma_ch); 58 return 0; 59 } 60 ··· 288 289 if (!imxdma->name) { 290 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 291 - __FUNCTION__, dma_ch); 292 return -ENODEV; 293 } 294 ··· 321 322 if (!imxdma->name) { 323 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 324 - __FUNCTION__, dma_ch); 325 return; 326 } 327 ··· 365 366 if (dma_ch >= IMX_DMA_CHANNELS) { 367 printk(KERN_CRIT "%s: called for non-existed channel %d\n", 368 - __FUNCTION__, dma_ch); 369 return -EINVAL; 370 } 371 ··· 396 if (!imxdma->name) { 397 printk(KERN_CRIT 398 "%s: trying to free channel %d which is already freed\n", 399 - __FUNCTION__, dma_ch); 400 return; 401 } 402 ··· 456 } 457 } 458 459 - printk(KERN_ERR "%s: no free DMA channel found\n", __FUNCTION__); 460 461 return -ENODEV; 462 }
··· 54 55 if (!imxdma->name) { 56 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 57 + __func__, dma_ch); 58 return 0; 59 } 60 ··· 288 289 if (!imxdma->name) { 290 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 291 + __func__, dma_ch); 292 return -ENODEV; 293 } 294 ··· 321 322 if (!imxdma->name) { 323 printk(KERN_CRIT "%s: called for not allocated channel %d\n", 324 + __func__, dma_ch); 325 return; 326 } 327 ··· 365 366 if (dma_ch >= IMX_DMA_CHANNELS) { 367 printk(KERN_CRIT "%s: called for non-existed channel %d\n", 368 + __func__, dma_ch); 369 return -EINVAL; 370 } 371 ··· 396 if (!imxdma->name) { 397 printk(KERN_CRIT 398 "%s: trying to free channel %d which is already freed\n", 399 + __func__, dma_ch); 400 return; 401 } 402 ··· 456 } 457 } 458 459 + printk(KERN_ERR "%s: no free DMA channel found\n", __func__); 460 461 return -ENODEV; 462 }
+3 -3
arch/arm/mach-imx/irq.c
··· 160 static void 161 imx_gpio_ack_irq(unsigned int irq) 162 { 163 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 164 ISR(IRQ_TO_REG(irq)) = 1 << ((irq - IRQ_GPIOA(0)) % 32); 165 } 166 167 static void 168 imx_gpio_mask_irq(unsigned int irq) 169 { 170 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 171 IMR(IRQ_TO_REG(irq)) &= ~( 1 << ((irq - IRQ_GPIOA(0)) % 32)); 172 } 173 174 static void 175 imx_gpio_unmask_irq(unsigned int irq) 176 { 177 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq); 178 IMR(IRQ_TO_REG(irq)) |= 1 << ((irq - IRQ_GPIOA(0)) % 32); 179 } 180
··· 160 static void 161 imx_gpio_ack_irq(unsigned int irq) 162 { 163 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 164 ISR(IRQ_TO_REG(irq)) = 1 << ((irq - IRQ_GPIOA(0)) % 32); 165 } 166 167 static void 168 imx_gpio_mask_irq(unsigned int irq) 169 { 170 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 171 IMR(IRQ_TO_REG(irq)) &= ~( 1 << ((irq - IRQ_GPIOA(0)) % 32)); 172 } 173 174 static void 175 imx_gpio_unmask_irq(unsigned int irq) 176 { 177 + DEBUG_IRQ("%s: irq %d\n", __func__, irq); 178 IMR(IRQ_TO_REG(irq)) |= 1 << ((irq - IRQ_GPIOA(0)) % 32); 179 } 180
+1 -1
arch/arm/mach-iop13xx/iq81340mc.c
··· 81 static void __init iq81340mc_timer_init(void) 82 { 83 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 84 - printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq); 85 iop_init_time(bus_freq); 86 } 87
··· 81 static void __init iq81340mc_timer_init(void) 82 { 83 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 84 + printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq); 85 iop_init_time(bus_freq); 86 } 87
+1 -1
arch/arm/mach-iop13xx/iq81340sc.c
··· 83 static void __init iq81340sc_timer_init(void) 84 { 85 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 86 - printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq); 87 iop_init_time(bus_freq); 88 } 89
··· 83 static void __init iq81340sc_timer_init(void) 84 { 85 unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio(); 86 + printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq); 87 iop_init_time(bus_freq); 88 } 89
+4 -4
arch/arm/mach-iop13xx/pci.c
··· 94 , 0, iop13xx_atux_mem_size, MT_DEVICE); 95 if (!iop13xx_atux_mem_base) { 96 printk("%s: atux allocation " 97 - "failed\n", __FUNCTION__); 98 BUG(); 99 } 100 } else 101 iop13xx_atux_mem_size = 0; 102 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 103 - __FUNCTION__, atu, iop13xx_atux_mem_size, 104 iop13xx_atux_mem_base); 105 break; 106 case 1: ··· 120 , 0, iop13xx_atue_mem_size, MT_DEVICE); 121 if (!iop13xx_atue_mem_base) { 122 printk("%s: atue allocation " 123 - "failed\n", __FUNCTION__); 124 BUG(); 125 } 126 } else 127 iop13xx_atue_mem_size = 0; 128 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 129 - __FUNCTION__, atu, iop13xx_atue_mem_size, 130 iop13xx_atue_mem_base); 131 break; 132 }
··· 94 , 0, iop13xx_atux_mem_size, MT_DEVICE); 95 if (!iop13xx_atux_mem_base) { 96 printk("%s: atux allocation " 97 + "failed\n", __func__); 98 BUG(); 99 } 100 } else 101 iop13xx_atux_mem_size = 0; 102 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 103 + __func__, atu, iop13xx_atux_mem_size, 104 iop13xx_atux_mem_base); 105 break; 106 case 1: ··· 120 , 0, iop13xx_atue_mem_size, MT_DEVICE); 121 if (!iop13xx_atue_mem_base) { 122 printk("%s: atue allocation " 123 + "failed\n", __func__); 124 BUG(); 125 } 126 } else 127 iop13xx_atue_mem_size = 0; 128 PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n", 129 + __func__, atu, iop13xx_atue_mem_size, 130 iop13xx_atue_mem_base); 131 break; 132 }
+1 -1
arch/arm/mach-iop13xx/setup.c
··· 519 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start) 520 iop13xx_devices[plat_idx++] = &iq8134x_flash; 521 else 522 - printk(KERN_ERR "%s: Failed to probe flash size\n", __FUNCTION__); 523 #endif 524 525 platform_add_devices(iop13xx_devices, plat_idx);
··· 519 if (iq8134x_flash_resource.end > iq8134x_flash_resource.start) 520 iop13xx_devices[plat_idx++] = &iq8134x_flash; 521 else 522 + printk(KERN_ERR "%s: Failed to probe flash size\n", __func__); 523 #endif 524 525 platform_add_devices(iop13xx_devices, plat_idx);
+1 -1
arch/arm/mach-ixp4xx/common-pci.c
··· 87 if (isr & PCI_ISR_PFE) { 88 /* make sure the Master Abort bit is reset */ 89 *PCI_ISR = PCI_ISR_PFE; 90 - pr_debug("%s failed\n", __FUNCTION__); 91 return 1; 92 } 93
··· 87 if (isr & PCI_ISR_PFE) { 88 /* make sure the Master Abort bit is reset */ 89 *PCI_ISR = PCI_ISR_PFE; 90 + pr_debug("%s failed\n", __func__); 91 return 1; 92 } 93
+1 -1
arch/arm/mach-ixp4xx/gtwx5715-pci.c
··· 65 else 66 rc = gtwx5715_irqmap[slot][pin-1]; 67 68 - printk("%s: Mapped slot %d pin %d to IRQ %d\n", __FUNCTION__,slot, pin, rc); 69 return(rc); 70 } 71
··· 65 else 66 rc = gtwx5715_irqmap[slot][pin-1]; 67 68 + printk("%s: Mapped slot %d pin %d to IRQ %d\n", __func__, slot, pin, rc); 69 return(rc); 70 } 71
+3 -3
arch/arm/mach-netx/generic.c
··· 133 val &= ~((1 << 24) << irq); 134 writel(val, NETX_DPMAS_INT_EN); 135 136 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 137 } 138 139 static void ··· 145 val = readl(NETX_DPMAS_INT_EN); 146 val &= ~((1 << 24) << irq); 147 writel(val, NETX_DPMAS_INT_EN); 148 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 149 } 150 151 static void ··· 157 val = readl(NETX_DPMAS_INT_EN); 158 val |= (1 << 24) << irq; 159 writel(val, NETX_DPMAS_INT_EN); 160 - DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq); 161 } 162 163 static struct irq_chip netx_hif_chip = {
··· 133 val &= ~((1 << 24) << irq); 134 writel(val, NETX_DPMAS_INT_EN); 135 136 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 137 } 138 139 static void ··· 145 val = readl(NETX_DPMAS_INT_EN); 146 val &= ~((1 << 24) << irq); 147 writel(val, NETX_DPMAS_INT_EN); 148 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 149 } 150 151 static void ··· 157 val = readl(NETX_DPMAS_INT_EN); 158 val |= (1 << 24) << irq; 159 writel(val, NETX_DPMAS_INT_EN); 160 + DEBUG_IRQ("%s: irq %d\n", __func__, _irq); 161 } 162 163 static struct irq_chip netx_hif_chip = {
+1 -1
arch/arm/mach-ns9xxx/gpio.c
··· 31 static spinlock_t gpio_lock = __SPIN_LOCK_UNLOCKED(gpio_lock); 32 33 /* only access gpiores with atomic ops */ 34 - static DECLARE_BITMAP(gpiores, GPIO_MAX); 35 36 static inline int ns9xxx_valid_gpio(unsigned gpio) 37 {
··· 31 static spinlock_t gpio_lock = __SPIN_LOCK_UNLOCKED(gpio_lock); 32 33 /* only access gpiores with atomic ops */ 34 + static DECLARE_BITMAP(gpiores, GPIO_MAX + 1); 35 36 static inline int ns9xxx_valid_gpio(unsigned gpio) 37 {
+4
arch/arm/mach-omap1/board-h2.c
··· 350 351 static struct i2c_board_info __initdata h2_i2c_board_info[] = { 352 { 353 I2C_BOARD_INFO("isp1301_omap", 0x2d), 354 .type = "isp1301_omap", 355 .irq = OMAP_GPIO_IRQ(2),
··· 350 351 static struct i2c_board_info __initdata h2_i2c_board_info[] = { 352 { 353 + I2C_BOARD_INFO("tps65010", 0x48), 354 + .type = "tps65010", 355 + .irq = OMAP_GPIO_IRQ(58), 356 + }, { 357 I2C_BOARD_INFO("isp1301_omap", 0x2d), 358 .type = "isp1301_omap", 359 .irq = OMAP_GPIO_IRQ(2),
+22
arch/arm/mach-omap1/board-h3.c
··· 26 #include <linux/mtd/nand.h> 27 #include <linux/mtd/partitions.h> 28 #include <linux/input.h> 29 #include <linux/i2c/tps65010.h> 30 31 #include <asm/setup.h> ··· 51 #include <asm/arch/common.h> 52 #include <asm/arch/mcbsp.h> 53 #include <asm/arch/omap-alsa.h> 54 55 static int h3_keymap[] = { 56 KEY(0, 0, KEY_LEFT), ··· 376 .id = -1, 377 }; 378 379 static struct omap_mcbsp_reg_cfg mcbsp_regs = { 380 .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), 381 .spcr1 = RINTM(3) | RRST, ··· 469 { OMAP_TAG_MMC, &h3_mmc_config }, 470 { OMAP_TAG_UART, &h3_uart_config }, 471 { OMAP_TAG_LCD, &h3_lcd_config }, 472 }; 473 474 static struct omap_gpio_switch h3_gpio_switches[] __initdata = {
··· 26 #include <linux/mtd/nand.h> 27 #include <linux/mtd/partitions.h> 28 #include <linux/input.h> 29 + #include <linux/spi/spi.h> 30 #include <linux/i2c/tps65010.h> 31 32 #include <asm/setup.h> ··· 50 #include <asm/arch/common.h> 51 #include <asm/arch/mcbsp.h> 52 #include <asm/arch/omap-alsa.h> 53 + 54 + #define H3_TS_GPIO 48 55 56 static int h3_keymap[] = { 57 KEY(0, 0, KEY_LEFT), ··· 373 .id = -1, 374 }; 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 + 387 static struct omap_mcbsp_reg_cfg mcbsp_regs = { 388 .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), 389 .spcr1 = RINTM(3) | RRST, ··· 455 { OMAP_TAG_MMC, &h3_mmc_config }, 456 { OMAP_TAG_UART, &h3_uart_config }, 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 + }, 466 }; 467 468 static struct omap_gpio_switch h3_gpio_switches[] __initdata = {
+1 -1
arch/arm/mach-omap1/pm.c
··· 717 #endif 718 719 #ifdef CONFIG_OMAP_32K_TIMER 720 - error = sysfs_create_file(power_kobj, &sleep_while_idle_attr); 721 if (error) 722 printk(KERN_ERR "sysfs_create_file failed: %d\n", error); 723 #endif
··· 717 #endif 718 719 #ifdef CONFIG_OMAP_32K_TIMER 720 + error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr); 721 if (error) 722 printk(KERN_ERR "sysfs_create_file failed: %d\n", error); 723 #endif
+6
arch/arm/mach-omap2/io.c
··· 42 .length = L3_24XX_SIZE, 43 .type = MT_DEVICE 44 }, 45 #ifdef CONFIG_ARCH_OMAP2430 46 { 47 .virtual = L4_WK_243X_VIRT,
··· 42 .length = L3_24XX_SIZE, 43 .type = MT_DEVICE 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 + }, 51 #ifdef CONFIG_ARCH_OMAP2430 52 { 53 .virtual = L4_WK_243X_VIRT,
+10 -4
arch/arm/mach-orion/addr-map.c
··· 97 #define PCIE_BAR_CTRL(n) ORION_PCIE_REG(0x1804 + ((n - 1) * 4)) 98 #define PCIE_BAR_LO(n) ORION_PCIE_REG(0x0010 + ((n) * 8)) 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)) 103 #define PCIE_DEFWIN_CTRL ORION_PCIE_REG(0x18b0) 104 #define PCIE_EXPROM_WIN_CTRL ORION_PCIE_REG(0x18c0) 105 #define PCIE_EXPROM_WIN_REMP ORION_PCIE_REG(0x18c4) 106 #define PCIE_MAX_BARS 3 107 - #define PCIE_MAX_WINS 5 108 109 /* 110 * Use PCIE BAR '1' for all DDR banks
··· 97 #define PCIE_BAR_CTRL(n) ORION_PCIE_REG(0x1804 + ((n - 1) * 4)) 98 #define PCIE_BAR_LO(n) ORION_PCIE_REG(0x0010 + ((n) * 8)) 99 #define PCIE_BAR_HI(n) ORION_PCIE_REG(0x0014 + ((n) * 8)) 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)) 109 #define PCIE_DEFWIN_CTRL ORION_PCIE_REG(0x18b0) 110 #define PCIE_EXPROM_WIN_CTRL ORION_PCIE_REG(0x18c0) 111 #define PCIE_EXPROM_WIN_REMP ORION_PCIE_REG(0x18c4) 112 #define PCIE_MAX_BARS 3 113 + #define PCIE_MAX_WINS 6 114 115 /* 116 * Use PCIE BAR '1' for all DDR banks
+22 -2
arch/arm/mach-orion/common.c
··· 17 #include <linux/mv643xx_eth.h> 18 #include <linux/mv643xx_i2c.h> 19 #include <asm/page.h> 20 #include <asm/timex.h> 21 #include <asm/mach/map.h> 22 #include <asm/arch/hardware.h> 23 #include "common.h" ··· 179 180 static struct resource orion_eth_shared_resources[] = { 181 { 182 - .start = ORION_ETH_PHYS_BASE, 183 - .end = ORION_ETH_PHYS_BASE + 0xffff, 184 .flags = IORESOURCE_MEM, 185 }, 186 }; ··· 348 if (dev == MV88F5182_DEV_ID) 349 platform_device_register(&orion_ehci1); 350 platform_device_register(&orion_i2c); 351 }
··· 17 #include <linux/mv643xx_eth.h> 18 #include <linux/mv643xx_i2c.h> 19 #include <asm/page.h> 20 + #include <asm/setup.h> 21 #include <asm/timex.h> 22 + #include <asm/mach/arch.h> 23 #include <asm/mach/map.h> 24 #include <asm/arch/hardware.h> 25 #include "common.h" ··· 177 178 static struct resource orion_eth_shared_resources[] = { 179 { 180 + .start = ORION_ETH_PHYS_BASE + 0x2000, 181 + .end = ORION_ETH_PHYS_BASE + 0x3fff, 182 .flags = IORESOURCE_MEM, 183 }, 184 }; ··· 346 if (dev == MV88F5182_DEV_ID) 347 platform_device_register(&orion_ehci1); 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 + } 367 }
+6
arch/arm/mach-orion/common.h
··· 83 84 void __init orion_sata_init(struct mv_sata_platform_data *sata_data); 85 86 #endif /* __ARCH_ORION_COMMON_H__ */
··· 83 84 void __init orion_sata_init(struct mv_sata_platform_data *sata_data); 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 + 92 #endif /* __ARCH_ORION_COMMON_H__ */
+1
arch/arm/mach-orion/dns323-setup.c
··· 319 .map_io = orion_map_io, 320 .init_irq = orion_init_irq, 321 .timer = &orion_timer, 322 MACHINE_END
··· 319 .map_io = orion_map_io, 320 .init_irq = orion_init_irq, 321 .timer = &orion_timer, 322 + .fixup = tag_fixup_mem32, 323 MACHINE_END
+6 -6
arch/arm/mach-orion/gpio.c
··· 36 unsigned long flags; 37 38 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 39 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 40 return -EINVAL; 41 } 42 ··· 62 int mask; 63 64 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 65 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 66 return -EINVAL; 67 } 68 ··· 141 unsigned long flags; 142 143 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 144 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 145 return -EINVAL; 146 } 147 ··· 149 150 if (gpio_label[pin]) { 151 pr_debug("%s: GPIO %d already used as %s\n", 152 - __FUNCTION__, pin, gpio_label[pin]); 153 ret = -EBUSY; 154 } else 155 gpio_label[pin] = label ? label : "?"; ··· 162 void gpio_free(unsigned pin) 163 { 164 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 165 - pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin); 166 return; 167 } 168 169 if (!gpio_label[pin]) 170 - pr_warning("%s: GPIO %d already freed\n", __FUNCTION__, pin); 171 else 172 gpio_label[pin] = NULL; 173 }
··· 36 unsigned long flags; 37 38 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 39 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 40 return -EINVAL; 41 } 42 ··· 62 int mask; 63 64 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 65 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 66 return -EINVAL; 67 } 68 ··· 141 unsigned long flags; 142 143 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 144 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 145 return -EINVAL; 146 } 147 ··· 149 150 if (gpio_label[pin]) { 151 pr_debug("%s: GPIO %d already used as %s\n", 152 + __func__, pin, gpio_label[pin]); 153 ret = -EBUSY; 154 } else 155 gpio_label[pin] = label ? label : "?"; ··· 162 void gpio_free(unsigned pin) 163 { 164 if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { 165 + pr_debug("%s: invalid GPIO %d\n", __func__, pin); 166 return; 167 } 168 169 if (!gpio_label[pin]) 170 + pr_warning("%s: GPIO %d already freed\n", __func__, pin); 171 else 172 gpio_label[pin] = NULL; 173 }
+1
arch/arm/mach-orion/kurobox_pro-setup.c
··· 240 .map_io = orion_map_io, 241 .init_irq = orion_init_irq, 242 .timer = &orion_timer, 243 MACHINE_END
··· 240 .map_io = orion_map_io, 241 .init_irq = orion_init_irq, 242 .timer = &orion_timer, 243 + .fixup = tag_fixup_mem32, 244 MACHINE_END
+1
arch/arm/mach-orion/ts209-setup.c
··· 357 .map_io = orion_map_io, 358 .init_irq = orion_init_irq, 359 .timer = &orion_timer, 360 MACHINE_END
··· 357 .map_io = orion_map_io, 358 .init_irq = orion_init_irq, 359 .timer = &orion_timer, 360 + .fixup = tag_fixup_mem32, 361 MACHINE_END
+1 -1
arch/arm/mach-pnx4008/clock.c
··· 976 (*clkp)->set_parent((*clkp), (*clkp)->parent); 977 } 978 pr_debug("%s: clock %s, rate %ld\n", 979 - __FUNCTION__, (*clkp)->name, (*clkp)->rate); 980 } 981 982 local_clk_use(&ck_pll4);
··· 976 (*clkp)->set_parent((*clkp), (*clkp)->parent); 977 } 978 pr_debug("%s: clock %s, rate %ld\n", 979 + __func__, (*clkp)->name, (*clkp)->rate); 980 } 981 982 local_clk_use(&ck_pll4);
+1 -1
arch/arm/mach-pnx4008/dma.c
··· 192 if (!dma_channels[ch].name) { 193 printk(KERN_CRIT 194 "%s: trying to free channel %d which is already freed\n", 195 - __FUNCTION__, ch); 196 return; 197 } 198
··· 192 if (!dma_channels[ch].name) { 193 printk(KERN_CRIT 194 "%s: trying to free channel %d which is already freed\n", 195 + __func__, ch); 196 return; 197 } 198
+1 -1
arch/arm/mach-pxa/cm-x270-pci.c
··· 104 { 105 int irq; 106 107 - dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __FUNCTION__, slot, pin); 108 109 irq = it8152_pci_map_irq(dev, slot, pin); 110 if (irq)
··· 104 { 105 int irq; 106 107 + dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __func__, slot, pin); 108 109 irq = it8152_pci_map_irq(dev, slot, pin); 110 if (irq)
+2 -2
arch/arm/mach-pxa/cm-x270.c
··· 504 struct pxamci_platform_data *p_d = dev->platform_data; 505 506 if ((1 << vdd) & p_d->ocr_mask) { 507 - printk(KERN_DEBUG "%s: on\n", __FUNCTION__); 508 GPCR(105) = GPIO_bit(105); 509 } else { 510 GPSR(105) = GPIO_bit(105); 511 - printk(KERN_DEBUG "%s: off\n", __FUNCTION__); 512 } 513 } 514
··· 504 struct pxamci_platform_data *p_d = dev->platform_data; 505 506 if ((1 << vdd) & p_d->ocr_mask) { 507 + printk(KERN_DEBUG "%s: on\n", __func__); 508 GPCR(105) = GPIO_bit(105); 509 } else { 510 GPSR(105) = GPIO_bit(105); 511 + printk(KERN_DEBUG "%s: off\n", __func__); 512 } 513 } 514
+1 -1
arch/arm/mach-pxa/dma.c
··· 81 if (!dma_channels[dma_ch].name) { 82 printk (KERN_CRIT 83 "%s: trying to free channel %d which is already freed\n", 84 - __FUNCTION__, dma_ch); 85 return; 86 } 87
··· 81 if (!dma_channels[dma_ch].name) { 82 printk (KERN_CRIT 83 "%s: trying to free channel %d which is already freed\n", 84 + __func__, dma_ch); 85 return; 86 } 87
+1 -1
arch/arm/mach-pxa/em-x270.c
··· 264 "MMC card detect", data); 265 if (err) { 266 printk(KERN_ERR "%s: can't request MMC card detect IRQ: %d\n", 267 - __FUNCTION__, err); 268 return err; 269 } 270
··· 264 "MMC card detect", data); 265 if (err) { 266 printk(KERN_ERR "%s: can't request MMC card detect IRQ: %d\n", 267 + __func__, err); 268 return err; 269 } 270
+2 -2
arch/arm/mach-pxa/mainstone.c
··· 390 struct pxamci_platform_data* p_d = dev->platform_data; 391 392 if (( 1 << vdd) & p_d->ocr_mask) { 393 - printk(KERN_DEBUG "%s: on\n", __FUNCTION__); 394 MST_MSCWR1 |= MST_MSCWR1_MMC_ON; 395 MST_MSCWR1 &= ~MST_MSCWR1_MS_SEL; 396 } else { 397 - printk(KERN_DEBUG "%s: off\n", __FUNCTION__); 398 MST_MSCWR1 &= ~MST_MSCWR1_MMC_ON; 399 } 400 }
··· 390 struct pxamci_platform_data* p_d = dev->platform_data; 391 392 if (( 1 << vdd) & p_d->ocr_mask) { 393 + printk(KERN_DEBUG "%s: on\n", __func__); 394 MST_MSCWR1 |= MST_MSCWR1_MMC_ON; 395 MST_MSCWR1 &= ~MST_MSCWR1_MS_SEL; 396 } else { 397 + printk(KERN_DEBUG "%s: off\n", __func__); 398 MST_MSCWR1 &= ~MST_MSCWR1_MMC_ON; 399 } 400 }
+4 -4
arch/arm/mach-pxa/trizeps4.c
··· 217 ConXS_BCR = trizeps_conxs_bcr; 218 219 } 220 - pr_debug("%s: o%s 0x%x\n", __FUNCTION__, power ? "n": "ff", trizeps_conxs_bcr); 221 } 222 223 /* backlight power switching for LCD panel */ ··· 228 } else { 229 trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP; 230 } 231 - pr_debug("%s: o%s 0x%x\n", __FUNCTION__, on ? "n" : "ff", trizeps_conxs_bcr); 232 ConXS_BCR = trizeps_conxs_bcr; 233 } 234 ··· 238 struct pxamci_platform_data* p_d = dev->platform_data; 239 240 if (( 1 << vdd) & p_d->ocr_mask) { 241 - pr_debug("%s: on\n", __FUNCTION__); 242 /* FIXME fill in values here */ 243 } else { 244 - pr_debug("%s: off\n", __FUNCTION__); 245 /* FIXME fill in values here */ 246 } 247 }
··· 217 ConXS_BCR = trizeps_conxs_bcr; 218 219 } 220 + pr_debug("%s: o%s 0x%x\n", __func__, power ? "n": "ff", trizeps_conxs_bcr); 221 } 222 223 /* backlight power switching for LCD panel */ ··· 228 } else { 229 trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP; 230 } 231 + pr_debug("%s: o%s 0x%x\n", __func__, on ? "n" : "ff", trizeps_conxs_bcr); 232 ConXS_BCR = trizeps_conxs_bcr; 233 } 234 ··· 238 struct pxamci_platform_data* p_d = dev->platform_data; 239 240 if (( 1 << vdd) & p_d->ocr_mask) { 241 + pr_debug("%s: on\n", __func__); 242 /* FIXME fill in values here */ 243 } else { 244 + pr_debug("%s: off\n", __func__); 245 /* FIXME fill in values here */ 246 } 247 }
+3 -3
arch/arm/mach-sa1100/badge4.c
··· 206 if (ret < 0) 207 printk(KERN_ERR 208 "%s: SA-1111 initialization failed (%d)\n", 209 - __FUNCTION__, ret); 210 211 212 /* maybe turn on 5v0 from the start */ ··· 240 /* detect on->off and off->on transitions */ 241 if ((!old_5V_bitmap) && (badge4_5V_bitmap)) { 242 /* was off, now on */ 243 - printk(KERN_INFO "%s: enabling 5V supply rail\n", __FUNCTION__); 244 GPSR = BADGE4_GPIO_PCMEN5V; 245 } else if ((old_5V_bitmap) && (!badge4_5V_bitmap)) { 246 /* was on, now off */ 247 - printk(KERN_INFO "%s: disabling 5V supply rail\n", __FUNCTION__); 248 GPCR = BADGE4_GPIO_PCMEN5V; 249 } 250
··· 206 if (ret < 0) 207 printk(KERN_ERR 208 "%s: SA-1111 initialization failed (%d)\n", 209 + __func__, ret); 210 211 212 /* maybe turn on 5v0 from the start */ ··· 240 /* detect on->off and off->on transitions */ 241 if ((!old_5V_bitmap) && (badge4_5V_bitmap)) { 242 /* was off, now on */ 243 + printk(KERN_INFO "%s: enabling 5V supply rail\n", __func__); 244 GPSR = BADGE4_GPIO_PCMEN5V; 245 } else if ((old_5V_bitmap) && (!badge4_5V_bitmap)) { 246 /* was on, now off */ 247 + printk(KERN_INFO "%s: disabling 5V supply rail\n", __func__); 248 GPCR = BADGE4_GPIO_PCMEN5V; 249 } 250
+1 -1
arch/arm/mach-sa1100/cpu-sa1100.c
··· 139 140 if (settings->speed == 0) { 141 panic("%s: couldn't find dram setting for speed %d\n", 142 - __FUNCTION__, new_speed); 143 } 144 145 /* No risk, no fun: run with interrupts on! */
··· 139 140 if (settings->speed == 0) { 141 panic("%s: couldn't find dram setting for speed %d\n", 142 + __func__, new_speed); 143 } 144 145 /* No risk, no fun: run with interrupts on! */
+4 -4
arch/arm/mach-sa1100/dma.c
··· 129 if (err) { 130 printk(KERN_ERR 131 "%s: unable to request IRQ %d for %s\n", 132 - __FUNCTION__, IRQ_DMA0 + i, device_id); 133 dma->device = 0; 134 return err; 135 } ··· 165 if (regs == (dma_regs_t *)&DDAR(i)) 166 break; 167 if (i >= SA1100_DMA_CHANNELS) { 168 - printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__); 169 return; 170 } 171 172 if (!dma_chan[i].device) { 173 - printk(KERN_ERR "%s: Trying to free free DMA\n", __FUNCTION__); 174 return; 175 } 176 ··· 329 if (regs == (dma_regs_t *)&DDAR(i)) 330 break; 331 if (i >= SA1100_DMA_CHANNELS) { 332 - printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__); 333 return; 334 } 335
··· 129 if (err) { 130 printk(KERN_ERR 131 "%s: unable to request IRQ %d for %s\n", 132 + __func__, IRQ_DMA0 + i, device_id); 133 dma->device = 0; 134 return err; 135 } ··· 165 if (regs == (dma_regs_t *)&DDAR(i)) 166 break; 167 if (i >= SA1100_DMA_CHANNELS) { 168 + printk(KERN_ERR "%s: bad DMA identifier\n", __func__); 169 return; 170 } 171 172 if (!dma_chan[i].device) { 173 + printk(KERN_ERR "%s: Trying to free free DMA\n", __func__); 174 return; 175 } 176 ··· 329 if (regs == (dma_regs_t *)&DDAR(i)) 330 break; 331 if (i >= SA1100_DMA_CHANNELS) { 332 + printk(KERN_ERR "%s: bad DMA identifier\n", __func__); 333 return; 334 } 335
+7 -7
arch/arm/mach-sa1100/h3600.c
··· 596 case IPAQ_EGPIO_CODEC_NRESET: 597 case IPAQ_EGPIO_AUDIO_ON: 598 case IPAQ_EGPIO_QMUTE: 599 - printk("%s: error - should not be called\n", __FUNCTION__); 600 break; 601 case IPAQ_EGPIO_OPT_NVRAM_ON: 602 SET_ASIC2(GPIO2_OPT_ON_NVRAM); ··· 638 static u16 asic2_data; 639 int result = 0; 640 641 - printk("%s %d\n", __FUNCTION__, req); 642 643 switch (req) { 644 case PM_RESUME: ··· 666 asic2_data = H3800_ASIC2_GPIOPIOD; 667 break; 668 default: 669 - printk("%s: unrecognized PM callback\n", __FUNCTION__); 670 break; 671 } 672 return result; ··· 706 { 707 int i; 708 709 - if (0) printk("%s: interrupt received\n", __FUNCTION__); 710 711 desc->chip->ack(irq); 712 ··· 716 717 /* KPIO */ 718 irq = H3800_ASIC2_KPIINTFLAG; 719 - if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq); 720 for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) 721 if (irq & kpio_irq_mask[j]) 722 handle_edge_irq(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j); 723 724 /* GPIO2 */ 725 irq = H3800_ASIC2_GPIINTFLAG; 726 - if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq); 727 for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) 728 if (irq & gpio_irq_mask[j]) 729 handle_edge_irq(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j); 730 } 731 732 if (i >= MAX_ASIC_ISR_LOOPS) 733 - printk("%s: interrupt processing overrun\n", __FUNCTION__); 734 735 /* For level-based interrupts */ 736 desc->chip->unmask(irq);
··· 596 case IPAQ_EGPIO_CODEC_NRESET: 597 case IPAQ_EGPIO_AUDIO_ON: 598 case IPAQ_EGPIO_QMUTE: 599 + printk("%s: error - should not be called\n", __func__); 600 break; 601 case IPAQ_EGPIO_OPT_NVRAM_ON: 602 SET_ASIC2(GPIO2_OPT_ON_NVRAM); ··· 638 static u16 asic2_data; 639 int result = 0; 640 641 + printk("%s %d\n", __func__, req); 642 643 switch (req) { 644 case PM_RESUME: ··· 666 asic2_data = H3800_ASIC2_GPIOPIOD; 667 break; 668 default: 669 + printk("%s: unrecognized PM callback\n", __func__); 670 break; 671 } 672 return result; ··· 706 { 707 int i; 708 709 + if (0) printk("%s: interrupt received\n", __func__); 710 711 desc->chip->ack(irq); 712 ··· 716 717 /* KPIO */ 718 irq = H3800_ASIC2_KPIINTFLAG; 719 + if (0) printk("%s KPIO 0x%08X\n", __func__, irq); 720 for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++) 721 if (irq & kpio_irq_mask[j]) 722 handle_edge_irq(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j); 723 724 /* GPIO2 */ 725 irq = H3800_ASIC2_GPIINTFLAG; 726 + if (0) printk("%s GPIO 0x%08X\n", __func__, irq); 727 for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++) 728 if (irq & gpio_irq_mask[j]) 729 handle_edge_irq(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j); 730 } 731 732 if (i >= MAX_ASIC_ISR_LOOPS) 733 + printk("%s: interrupt processing overrun\n", __func__); 734 735 /* For level-based interrupts */ 736 desc->chip->unmask(irq);
+1 -1
arch/arm/plat-iop/pci.c
··· 371 default: 372 printk(KERN_DEBUG "\"%s\" malformed at " 373 "character: \'%c\'", 374 - __FUNCTION__, 375 *str); 376 *(str + 1) = '\0'; 377 }
··· 371 default: 372 printk(KERN_DEBUG "\"%s\" malformed at " 373 "character: \'%c\'", 374 + __func__, 375 *str); 376 *(str + 1) = '\0'; 377 }
+10 -22
arch/arm/plat-omap/cpu-omap.c
··· 33 #define MPU_CLK "virt_prcm_set" 34 #endif 35 36 /* TODO: Add support for SDRAM timing changes */ 37 38 int omap_verify_speed(struct cpufreq_policy *policy) 39 { 40 - struct clk * mpu_clk; 41 - 42 if (policy->cpu) 43 return -EINVAL; 44 45 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 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); 50 policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000; 51 policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000; 52 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 53 policy->cpuinfo.max_freq); 54 - clk_put(mpu_clk); 55 - 56 return 0; 57 } 58 59 unsigned int omap_getspeed(unsigned int cpu) 60 { 61 - struct clk * mpu_clk; 62 unsigned long rate; 63 64 if (cpu) 65 return 0; 66 67 - mpu_clk = clk_get(NULL, MPU_CLK); 68 - if (IS_ERR(mpu_clk)) 69 - return 0; 70 rate = clk_get_rate(mpu_clk) / 1000; 71 - clk_put(mpu_clk); 72 - 73 return rate; 74 } 75 ··· 67 unsigned int target_freq, 68 unsigned int relation) 69 { 70 - struct clk * mpu_clk; 71 struct cpufreq_freqs freqs; 72 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 78 freqs.old = omap_getspeed(0); 79 freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000; ··· 77 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); 78 ret = clk_set_rate(mpu_clk, target_freq * 1000); 79 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); 80 - clk_put(mpu_clk); 81 82 return ret; 83 } 84 85 static int __init omap_cpu_init(struct cpufreq_policy *policy) 86 { 87 - struct clk * mpu_clk; 88 - 89 mpu_clk = clk_get(NULL, MPU_CLK); 90 if (IS_ERR(mpu_clk)) 91 return PTR_ERR(mpu_clk); ··· 93 policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000; 94 policy->cpuinfo.max_freq = clk_round_rate(mpu_clk, VERY_HI_RATE) / 1000; 95 policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; 96 - clk_put(mpu_clk); 97 98 return 0; 99 } 100 ··· 109 .target = omap_target, 110 .get = omap_getspeed, 111 .init = omap_cpu_init, 112 .name = "omap", 113 }; 114
··· 33 #define MPU_CLK "virt_prcm_set" 34 #endif 35 36 + static struct clk *mpu_clk; 37 + 38 /* TODO: Add support for SDRAM timing changes */ 39 40 int omap_verify_speed(struct cpufreq_policy *policy) 41 { 42 if (policy->cpu) 43 return -EINVAL; 44 45 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 46 policy->cpuinfo.max_freq); 47 + 48 policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000; 49 policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000; 50 cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, 51 policy->cpuinfo.max_freq); 52 return 0; 53 } 54 55 unsigned int omap_getspeed(unsigned int cpu) 56 { 57 unsigned long rate; 58 59 if (cpu) 60 return 0; 61 62 rate = clk_get_rate(mpu_clk) / 1000; 63 return rate; 64 } 65 ··· 77 unsigned int target_freq, 78 unsigned int relation) 79 { 80 struct cpufreq_freqs freqs; 81 int ret = 0; 82 83 freqs.old = omap_getspeed(0); 84 freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000; ··· 92 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); 93 ret = clk_set_rate(mpu_clk, target_freq * 1000); 94 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); 95 96 return ret; 97 } 98 99 static int __init omap_cpu_init(struct cpufreq_policy *policy) 100 { 101 mpu_clk = clk_get(NULL, MPU_CLK); 102 if (IS_ERR(mpu_clk)) 103 return PTR_ERR(mpu_clk); ··· 111 policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000; 112 policy->cpuinfo.max_freq = clk_round_rate(mpu_clk, VERY_HI_RATE) / 1000; 113 policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; 114 115 + return 0; 116 + } 117 + 118 + static int omap_cpu_exit(struct cpufreq_policy *policy) 119 + { 120 + clk_put(mpu_clk); 121 return 0; 122 } 123 ··· 122 .target = omap_target, 123 .get = omap_getspeed, 124 .init = omap_cpu_init, 125 + .exit = omap_cpu_exit, 126 .name = "omap", 127 }; 128
-63
arch/arm/plat-omap/devices.c
··· 89 #endif /* CONFIG_OMAP_DSP */ 90 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 #if defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE) 155 156 static void omap_init_kp(void) ··· 439 * in alphabetical order so they're easier to sort through. 440 */ 441 omap_init_dsp(); 442 - omap_init_i2c(); 443 omap_init_kp(); 444 omap_init_mmc(); 445 omap_init_uwire();
··· 89 #endif /* CONFIG_OMAP_DSP */ 90 91 /*-------------------------------------------------------------------------*/ 92 #if defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE) 93 94 static void omap_init_kp(void) ··· 501 * in alphabetical order so they're easier to sort through. 502 */ 503 omap_init_dsp(); 504 omap_init_kp(); 505 omap_init_mmc(); 506 omap_init_uwire();
+4 -10
arch/arm/plat-omap/dma.c
··· 137 static inline void omap_enable_channel_irq(int lch); 138 139 #define REVISIT_24XX() printk(KERN_ERR "FIXME: no %s on 24xx\n", \ 140 - __FUNCTION__); 141 142 #ifdef CONFIG_ARCH_OMAP15XX 143 /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */ ··· 699 u32 reg; 700 701 if (!cpu_class_is_omap2()) { 702 - printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __FUNCTION__); 703 return; 704 } 705 ··· 1705 status = OMAP_DMA_CSR_REG(ch); 1706 } 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 - } 1716 1717 OMAP_DMA_CSR_REG(ch) = status; 1718
··· 137 static inline void omap_enable_channel_irq(int lch); 138 139 #define REVISIT_24XX() printk(KERN_ERR "FIXME: no %s on 24xx\n", \ 140 + __func__); 141 142 #ifdef CONFIG_ARCH_OMAP15XX 143 /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */ ··· 699 u32 reg; 700 701 if (!cpu_class_is_omap2()) { 702 + printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __func__); 703 return; 704 } 705 ··· 1705 status = OMAP_DMA_CSR_REG(ch); 1706 } 1707 1708 + if (likely(dma_chan[ch].callback != NULL)) 1709 + dma_chan[ch].callback(ch, status, dma_chan[ch].data); 1710 1711 OMAP_DMA_CSR_REG(ch) = status; 1712
+1 -1
arch/arm/plat-omap/dmtimer.c
··· 268 if (id <= 0 || id > dm_timer_count || dm_timers[id-1].reserved) { 269 spin_unlock_irqrestore(&dm_timer_lock, flags); 270 printk("BUG: warning at %s:%d/%s(): unable to get timer %d\n", 271 - __FILE__, __LINE__, __FUNCTION__, id); 272 dump_stack(); 273 return NULL; 274 }
··· 268 if (id <= 0 || id > dm_timer_count || dm_timers[id-1].reserved) { 269 spin_unlock_irqrestore(&dm_timer_lock, flags); 270 printk("BUG: warning at %s:%d/%s(): unable to get timer %d\n", 271 + __FILE__, __LINE__, __func__, id); 272 dump_stack(); 273 return NULL; 274 }
+41 -24
arch/arm/plat-omap/gpio.c
··· 333 void omap_set_gpio_direction(int gpio, int is_input) 334 { 335 struct gpio_bank *bank; 336 337 if (check_gpio(gpio) < 0) 338 return; 339 bank = get_gpio_bank(gpio); 340 - spin_lock(&bank->lock); 341 _set_gpio_direction(bank, get_gpio_index(gpio), is_input); 342 - spin_unlock(&bank->lock); 343 } 344 345 static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) ··· 407 void omap_set_gpio_dataout(int gpio, int enable) 408 { 409 struct gpio_bank *bank; 410 411 if (check_gpio(gpio) < 0) 412 return; 413 bank = get_gpio_bank(gpio); 414 - spin_lock(&bank->lock); 415 _set_gpio_dataout(bank, get_gpio_index(gpio), enable); 416 - spin_unlock(&bank->lock); 417 } 418 419 int omap_get_gpio_datain(int gpio) ··· 626 struct gpio_bank *bank; 627 unsigned gpio; 628 int retval; 629 630 if (!cpu_class_is_omap2() && irq > IH_MPUIO_BASE) 631 gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE); ··· 645 return -EINVAL; 646 647 bank = get_irq_chip_data(irq); 648 - spin_lock(&bank->lock); 649 retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type); 650 if (retval == 0) { 651 irq_desc[irq].status &= ~IRQ_TYPE_SENSE_MASK; 652 irq_desc[irq].status |= type; 653 } 654 - spin_unlock(&bank->lock); 655 return retval; 656 } 657 ··· 833 */ 834 static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable) 835 { 836 switch (bank->method) { 837 #ifdef CONFIG_ARCH_OMAP16XX 838 case METHOD_MPUIO: 839 case METHOD_GPIO_1610: 840 - spin_lock(&bank->lock); 841 if (enable) { 842 bank->suspend_wakeup |= (1 << gpio); 843 enable_irq_wake(bank->irq); ··· 847 disable_irq_wake(bank->irq); 848 bank->suspend_wakeup &= ~(1 << gpio); 849 } 850 - spin_unlock(&bank->lock); 851 return 0; 852 #endif 853 #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) ··· 858 (bank - gpio_bank) * 32 + gpio); 859 return -EINVAL; 860 } 861 - spin_lock(&bank->lock); 862 if (enable) { 863 bank->suspend_wakeup |= (1 << gpio); 864 enable_irq_wake(bank->irq); ··· 866 disable_irq_wake(bank->irq); 867 bank->suspend_wakeup &= ~(1 << gpio); 868 } 869 - spin_unlock(&bank->lock); 870 return 0; 871 #endif 872 default: ··· 902 int omap_request_gpio(int gpio) 903 { 904 struct gpio_bank *bank; 905 906 if (check_gpio(gpio) < 0) 907 return -EINVAL; 908 909 bank = get_gpio_bank(gpio); 910 - spin_lock(&bank->lock); 911 if (unlikely(bank->reserved_map & (1 << get_gpio_index(gpio)))) { 912 printk(KERN_ERR "omap-gpio: GPIO %d is already reserved!\n", gpio); 913 dump_stack(); 914 - spin_unlock(&bank->lock); 915 return -1; 916 } 917 bank->reserved_map |= (1 << get_gpio_index(gpio)); ··· 931 __raw_writel(__raw_readl(reg) | (1 << get_gpio_index(gpio)), reg); 932 } 933 #endif 934 - spin_unlock(&bank->lock); 935 936 return 0; 937 } ··· 939 void omap_free_gpio(int gpio) 940 { 941 struct gpio_bank *bank; 942 943 if (check_gpio(gpio) < 0) 944 return; 945 bank = get_gpio_bank(gpio); 946 - spin_lock(&bank->lock); 947 if (unlikely(!(bank->reserved_map & (1 << get_gpio_index(gpio))))) { 948 printk(KERN_ERR "omap-gpio: GPIO %d wasn't reserved!\n", gpio); 949 dump_stack(); 950 - spin_unlock(&bank->lock); 951 return; 952 } 953 #ifdef CONFIG_ARCH_OMAP16XX ··· 967 #endif 968 bank->reserved_map &= ~(1 << get_gpio_index(gpio)); 969 _reset_gpio(bank, gpio); 970 - spin_unlock(&bank->lock); 971 } 972 973 /* ··· 1201 { 1202 struct gpio_bank *bank = platform_get_drvdata(pdev); 1203 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1204 1205 - spin_lock(&bank->lock); 1206 bank->saved_wakeup = __raw_readl(mask_reg); 1207 __raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg); 1208 - spin_unlock(&bank->lock); 1209 1210 return 0; 1211 } ··· 1215 { 1216 struct gpio_bank *bank = platform_get_drvdata(pdev); 1217 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1218 1219 - spin_lock(&bank->lock); 1220 __raw_writel(bank->saved_wakeup, mask_reg); 1221 - spin_unlock(&bank->lock); 1222 1223 return 0; 1224 } ··· 1285 static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS]; 1286 static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS]; 1287 #endif 1288 1289 static int __init _omap_gpio_init(void) 1290 { ··· 1464 #endif 1465 for (j = bank->virtual_irq_start; 1466 j < bank->virtual_irq_start + gpio_count; j++) { 1467 set_irq_chip_data(j, bank); 1468 if (bank_is_mpuio(bank)) 1469 set_irq_chip(j, &mpuio_irq_chip); ··· 1504 void __iomem *wake_status; 1505 void __iomem *wake_clear; 1506 void __iomem *wake_set; 1507 1508 switch (bank->method) { 1509 #ifdef CONFIG_ARCH_OMAP16XX ··· 1525 continue; 1526 } 1527 1528 - spin_lock(&bank->lock); 1529 bank->saved_wakeup = __raw_readl(wake_status); 1530 __raw_writel(0xffffffff, wake_clear); 1531 __raw_writel(bank->suspend_wakeup, wake_set); 1532 - spin_unlock(&bank->lock); 1533 } 1534 1535 return 0; ··· 1546 struct gpio_bank *bank = &gpio_bank[i]; 1547 void __iomem *wake_clear; 1548 void __iomem *wake_set; 1549 1550 switch (bank->method) { 1551 #ifdef CONFIG_ARCH_OMAP16XX ··· 1565 continue; 1566 } 1567 1568 - spin_lock(&bank->lock); 1569 __raw_writel(0xffffffff, wake_clear); 1570 __raw_writel(bank->saved_wakeup, wake_set); 1571 - spin_unlock(&bank->lock); 1572 } 1573 1574 return 0;
··· 333 void omap_set_gpio_direction(int gpio, int is_input) 334 { 335 struct gpio_bank *bank; 336 + unsigned long flags; 337 338 if (check_gpio(gpio) < 0) 339 return; 340 bank = get_gpio_bank(gpio); 341 + spin_lock_irqsave(&bank->lock, flags); 342 _set_gpio_direction(bank, get_gpio_index(gpio), is_input); 343 + spin_unlock_irqrestore(&bank->lock, flags); 344 } 345 346 static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) ··· 406 void omap_set_gpio_dataout(int gpio, int enable) 407 { 408 struct gpio_bank *bank; 409 + unsigned long flags; 410 411 if (check_gpio(gpio) < 0) 412 return; 413 bank = get_gpio_bank(gpio); 414 + spin_lock_irqsave(&bank->lock, flags); 415 _set_gpio_dataout(bank, get_gpio_index(gpio), enable); 416 + spin_unlock_irqrestore(&bank->lock, flags); 417 } 418 419 int omap_get_gpio_datain(int gpio) ··· 624 struct gpio_bank *bank; 625 unsigned gpio; 626 int retval; 627 + unsigned long flags; 628 629 if (!cpu_class_is_omap2() && irq > IH_MPUIO_BASE) 630 gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE); ··· 642 return -EINVAL; 643 644 bank = get_irq_chip_data(irq); 645 + spin_lock_irqsave(&bank->lock, flags); 646 retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type); 647 if (retval == 0) { 648 irq_desc[irq].status &= ~IRQ_TYPE_SENSE_MASK; 649 irq_desc[irq].status |= type; 650 } 651 + spin_unlock_irqrestore(&bank->lock, flags); 652 return retval; 653 } 654 ··· 830 */ 831 static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable) 832 { 833 + unsigned long flags; 834 + 835 switch (bank->method) { 836 #ifdef CONFIG_ARCH_OMAP16XX 837 case METHOD_MPUIO: 838 case METHOD_GPIO_1610: 839 + spin_lock_irqsave(&bank->lock, flags); 840 if (enable) { 841 bank->suspend_wakeup |= (1 << gpio); 842 enable_irq_wake(bank->irq); ··· 842 disable_irq_wake(bank->irq); 843 bank->suspend_wakeup &= ~(1 << gpio); 844 } 845 + spin_unlock_irqrestore(&bank->lock, flags); 846 return 0; 847 #endif 848 #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) ··· 853 (bank - gpio_bank) * 32 + gpio); 854 return -EINVAL; 855 } 856 + spin_lock_irqsave(&bank->lock, flags); 857 if (enable) { 858 bank->suspend_wakeup |= (1 << gpio); 859 enable_irq_wake(bank->irq); ··· 861 disable_irq_wake(bank->irq); 862 bank->suspend_wakeup &= ~(1 << gpio); 863 } 864 + spin_unlock_irqrestore(&bank->lock, flags); 865 return 0; 866 #endif 867 default: ··· 897 int omap_request_gpio(int gpio) 898 { 899 struct gpio_bank *bank; 900 + unsigned long flags; 901 902 if (check_gpio(gpio) < 0) 903 return -EINVAL; 904 905 bank = get_gpio_bank(gpio); 906 + spin_lock_irqsave(&bank->lock, flags); 907 if (unlikely(bank->reserved_map & (1 << get_gpio_index(gpio)))) { 908 printk(KERN_ERR "omap-gpio: GPIO %d is already reserved!\n", gpio); 909 dump_stack(); 910 + spin_unlock_irqrestore(&bank->lock, flags); 911 return -1; 912 } 913 bank->reserved_map |= (1 << get_gpio_index(gpio)); ··· 925 __raw_writel(__raw_readl(reg) | (1 << get_gpio_index(gpio)), reg); 926 } 927 #endif 928 + spin_unlock_irqrestore(&bank->lock, flags); 929 930 return 0; 931 } ··· 933 void omap_free_gpio(int gpio) 934 { 935 struct gpio_bank *bank; 936 + unsigned long flags; 937 938 if (check_gpio(gpio) < 0) 939 return; 940 bank = get_gpio_bank(gpio); 941 + spin_lock_irqsave(&bank->lock, flags); 942 if (unlikely(!(bank->reserved_map & (1 << get_gpio_index(gpio))))) { 943 printk(KERN_ERR "omap-gpio: GPIO %d wasn't reserved!\n", gpio); 944 dump_stack(); 945 + spin_unlock_irqrestore(&bank->lock, flags); 946 return; 947 } 948 #ifdef CONFIG_ARCH_OMAP16XX ··· 960 #endif 961 bank->reserved_map &= ~(1 << get_gpio_index(gpio)); 962 _reset_gpio(bank, gpio); 963 + spin_unlock_irqrestore(&bank->lock, flags); 964 } 965 966 /* ··· 1194 { 1195 struct gpio_bank *bank = platform_get_drvdata(pdev); 1196 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1197 + unsigned long flags; 1198 1199 + spin_lock_irqsave(&bank->lock, flags); 1200 bank->saved_wakeup = __raw_readl(mask_reg); 1201 __raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg); 1202 + spin_unlock_irqrestore(&bank->lock, flags); 1203 1204 return 0; 1205 } ··· 1207 { 1208 struct gpio_bank *bank = platform_get_drvdata(pdev); 1209 void __iomem *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT; 1210 + unsigned long flags; 1211 1212 + spin_lock_irqsave(&bank->lock, flags); 1213 __raw_writel(bank->saved_wakeup, mask_reg); 1214 + spin_unlock_irqrestore(&bank->lock, flags); 1215 1216 return 0; 1217 } ··· 1276 static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS]; 1277 static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS]; 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; 1284 1285 static int __init _omap_gpio_init(void) 1286 { ··· 1450 #endif 1451 for (j = bank->virtual_irq_start; 1452 j < bank->virtual_irq_start + gpio_count; j++) { 1453 + lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class); 1454 set_irq_chip_data(j, bank); 1455 if (bank_is_mpuio(bank)) 1456 set_irq_chip(j, &mpuio_irq_chip); ··· 1489 void __iomem *wake_status; 1490 void __iomem *wake_clear; 1491 void __iomem *wake_set; 1492 + unsigned long flags; 1493 1494 switch (bank->method) { 1495 #ifdef CONFIG_ARCH_OMAP16XX ··· 1509 continue; 1510 } 1511 1512 + spin_lock_irqsave(&bank->lock, flags); 1513 bank->saved_wakeup = __raw_readl(wake_status); 1514 __raw_writel(0xffffffff, wake_clear); 1515 __raw_writel(bank->suspend_wakeup, wake_set); 1516 + spin_unlock_irqrestore(&bank->lock, flags); 1517 } 1518 1519 return 0; ··· 1530 struct gpio_bank *bank = &gpio_bank[i]; 1531 void __iomem *wake_clear; 1532 void __iomem *wake_set; 1533 + unsigned long flags; 1534 1535 switch (bank->method) { 1536 #ifdef CONFIG_ARCH_OMAP16XX ··· 1548 continue; 1549 } 1550 1551 + spin_lock_irqsave(&bank->lock, flags); 1552 __raw_writel(0xffffffff, wake_clear); 1553 __raw_writel(bank->saved_wakeup, wake_set); 1554 + spin_unlock_irqrestore(&bank->lock, flags); 1555 } 1556 1557 return 0;
+32 -32
arch/arm/plat-s3c24xx/dma.c
··· 130 dmadbg_dumpregs(fname, line, chan, &state); 131 } 132 133 - #define dbg_showregs(chan) dmadbg_showregs(__FUNCTION__, __LINE__, (chan)) 134 - #define dbg_showchan(chan) dmadbg_showchan(__FUNCTION__, __LINE__, (chan)) 135 #else 136 #define dbg_showregs(chan) do { } while(0) 137 #define dbg_showchan(chan) do { } while(0) ··· 403 404 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 405 pr_debug("%s: buff not yet loaded, no more todo\n", 406 - __FUNCTION__); 407 } else { 408 chan->load_state = S3C2410_DMALOAD_1RUNNING; 409 s3c2410_dma_loadbuffer(chan, chan->next); ··· 463 return -EINVAL; 464 465 pr_debug("%s: id=%p, data=%08x, size=%d\n", 466 - __FUNCTION__, id, (unsigned int)data, size); 467 468 buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); 469 if (buf == NULL) { 470 pr_debug("%s: out of memory (%ld alloc)\n", 471 - __FUNCTION__, (long)sizeof(*buf)); 472 return -ENOMEM; 473 } 474 475 - //pr_debug("%s: new buffer %p\n", __FUNCTION__, buf); 476 //dbg_showchan(chan); 477 478 buf->next = NULL; ··· 486 if (chan->curr == NULL) { 487 /* we've got nothing loaded... */ 488 pr_debug("%s: buffer %p queued onto empty channel\n", 489 - __FUNCTION__, buf); 490 491 chan->curr = buf; 492 chan->end = buf; 493 chan->next = NULL; 494 } else { 495 pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n", 496 - chan->number, __FUNCTION__, buf); 497 498 if (chan->end == NULL) 499 pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n", 500 - chan->number, __FUNCTION__, chan); 501 502 chan->end->next = buf; 503 chan->end = buf; ··· 572 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 573 /* flag error? */ 574 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 575 - chan->number, __FUNCTION__); 576 return; 577 } 578 break; ··· 658 659 if (buf->magic != BUF_MAGIC) { 660 printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n", 661 - chan->number, __FUNCTION__, buf); 662 return IRQ_HANDLED; 663 } 664 ··· 692 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 693 /* flag error? */ 694 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 695 - chan->number, __FUNCTION__); 696 return IRQ_HANDLED; 697 } 698 ··· 759 760 if (!chan->irq_claimed) { 761 pr_debug("dma%d: %s : requesting irq %d\n", 762 - channel, __FUNCTION__, chan->irq); 763 764 chan->irq_claimed = 1; 765 local_irq_restore(flags); ··· 786 787 /* need to setup */ 788 789 - pr_debug("%s: channel initialised, %p\n", __FUNCTION__, chan); 790 791 return chan->number | DMACH_LOW_LEVEL; 792 } ··· 823 824 if (chan->state != S3C2410_DMA_IDLE) { 825 pr_debug("%s: need to stop dma channel %p\n", 826 - __FUNCTION__, chan); 827 828 /* possibly flush the channel */ 829 s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP); ··· 852 unsigned long flags; 853 unsigned long tmp; 854 855 - pr_debug("%s:\n", __FUNCTION__); 856 857 dbg_showchan(chan); 858 ··· 907 struct s3c2410_dma_buf *buf, *next; 908 unsigned long flags; 909 910 - pr_debug("%s: chan %p (%d)\n", __FUNCTION__, chan, chan->number); 911 912 dbg_showchan(chan); 913 914 local_irq_save(flags); 915 916 if (chan->state != S3C2410_DMA_IDLE) { 917 - pr_debug("%s: stopping channel...\n", __FUNCTION__ ); 918 s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP); 919 } 920 ··· 929 next = buf->next; 930 931 pr_debug("%s: free buffer %p, next %p\n", 932 - __FUNCTION__, buf, buf->next); 933 934 s3c2410_dma_buffdone(chan, buf, S3C2410_RES_ABORT); 935 s3c2410_dma_freebuf(buf); ··· 976 977 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 978 pr_debug("%s: buff not yet loaded, no more todo\n", 979 - __FUNCTION__); 980 } else { 981 chan->load_state = S3C2410_DMALOAD_1RUNNING; 982 s3c2410_dma_loadbuffer(chan, chan->next); ··· 1050 struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); 1051 1052 pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", 1053 - __FUNCTION__, channel, xferunit, dcon); 1054 1055 if (chan == NULL) 1056 return -EINVAL; 1057 1058 - pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon); 1059 1060 dcon |= chan->dcon & dma_sel.dcon_mask; 1061 1062 - pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon); 1063 1064 switch (xferunit) { 1065 case 1: ··· 1075 break; 1076 1077 default: 1078 - pr_debug("%s: bad transfer size %d\n", __FUNCTION__, xferunit); 1079 return -EINVAL; 1080 } 1081 1082 dcon |= S3C2410_DCON_HWTRIG; 1083 dcon |= S3C2410_DCON_INTREQ; 1084 1085 - pr_debug("%s: dcon now %08x\n", __FUNCTION__, dcon); 1086 1087 chan->dcon = dcon; 1088 chan->xfer_unit = xferunit; ··· 1099 if (chan == NULL) 1100 return -EINVAL; 1101 1102 - pr_debug("%s: chan=%p, flags=%08x\n", __FUNCTION__, chan, flags); 1103 1104 chan->flags = flags; 1105 ··· 1120 if (chan == NULL) 1121 return -EINVAL; 1122 1123 - pr_debug("%s: chan=%p, op rtn=%p\n", __FUNCTION__, chan, rtn); 1124 1125 chan->op_fn = rtn; 1126 ··· 1136 if (chan == NULL) 1137 return -EINVAL; 1138 1139 - pr_debug("%s: chan=%p, callback rtn=%p\n", __FUNCTION__, chan, rtn); 1140 1141 chan->callback_fn = rtn; 1142 ··· 1170 return -EINVAL; 1171 1172 pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n", 1173 - __FUNCTION__, (int)source, hwcfg, devaddr); 1174 1175 chan->source = source; 1176 chan->dev_addr = devaddr; ··· 1180 case S3C2410_DMASRC_HW: 1181 /* source is hardware */ 1182 pr_debug("%s: hw source, devaddr=%08lx, hwcfg=%d\n", 1183 - __FUNCTION__, devaddr, hwcfg); 1184 dma_wrreg(chan, S3C2410_DMA_DISRCC, hwcfg & 3); 1185 dma_wrreg(chan, S3C2410_DMA_DISRC, devaddr); 1186 dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0)); ··· 1190 1191 case S3C2410_DMASRC_MEM: 1192 /* source is memory */ 1193 - pr_debug( "%s: mem source, devaddr=%08lx, hwcfg=%d\n", 1194 - __FUNCTION__, devaddr, hwcfg); 1195 dma_wrreg(chan, S3C2410_DMA_DISRCC, (0<<1) | (0<<0)); 1196 dma_wrreg(chan, S3C2410_DMA_DIDST, devaddr); 1197 dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3);
··· 130 dmadbg_dumpregs(fname, line, chan, &state); 131 } 132 133 + #define dbg_showregs(chan) dmadbg_showregs(__func__, __LINE__, (chan)) 134 + #define dbg_showchan(chan) dmadbg_showchan(__func__, __LINE__, (chan)) 135 #else 136 #define dbg_showregs(chan) do { } while(0) 137 #define dbg_showchan(chan) do { } while(0) ··· 403 404 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 405 pr_debug("%s: buff not yet loaded, no more todo\n", 406 + __func__); 407 } else { 408 chan->load_state = S3C2410_DMALOAD_1RUNNING; 409 s3c2410_dma_loadbuffer(chan, chan->next); ··· 463 return -EINVAL; 464 465 pr_debug("%s: id=%p, data=%08x, size=%d\n", 466 + __func__, id, (unsigned int)data, size); 467 468 buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC); 469 if (buf == NULL) { 470 pr_debug("%s: out of memory (%ld alloc)\n", 471 + __func__, (long)sizeof(*buf)); 472 return -ENOMEM; 473 } 474 475 + //pr_debug("%s: new buffer %p\n", __func__, buf); 476 //dbg_showchan(chan); 477 478 buf->next = NULL; ··· 486 if (chan->curr == NULL) { 487 /* we've got nothing loaded... */ 488 pr_debug("%s: buffer %p queued onto empty channel\n", 489 + __func__, buf); 490 491 chan->curr = buf; 492 chan->end = buf; 493 chan->next = NULL; 494 } else { 495 pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n", 496 + chan->number, __func__, buf); 497 498 if (chan->end == NULL) 499 pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n", 500 + chan->number, __func__, chan); 501 502 chan->end->next = buf; 503 chan->end = buf; ··· 572 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 573 /* flag error? */ 574 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 575 + chan->number, __func__); 576 return; 577 } 578 break; ··· 658 659 if (buf->magic != BUF_MAGIC) { 660 printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n", 661 + chan->number, __func__, buf); 662 return IRQ_HANDLED; 663 } 664 ··· 692 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 693 /* flag error? */ 694 printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n", 695 + chan->number, __func__); 696 return IRQ_HANDLED; 697 } 698 ··· 759 760 if (!chan->irq_claimed) { 761 pr_debug("dma%d: %s : requesting irq %d\n", 762 + channel, __func__, chan->irq); 763 764 chan->irq_claimed = 1; 765 local_irq_restore(flags); ··· 786 787 /* need to setup */ 788 789 + pr_debug("%s: channel initialised, %p\n", __func__, chan); 790 791 return chan->number | DMACH_LOW_LEVEL; 792 } ··· 823 824 if (chan->state != S3C2410_DMA_IDLE) { 825 pr_debug("%s: need to stop dma channel %p\n", 826 + __func__, chan); 827 828 /* possibly flush the channel */ 829 s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP); ··· 852 unsigned long flags; 853 unsigned long tmp; 854 855 + pr_debug("%s:\n", __func__); 856 857 dbg_showchan(chan); 858 ··· 907 struct s3c2410_dma_buf *buf, *next; 908 unsigned long flags; 909 910 + pr_debug("%s: chan %p (%d)\n", __func__, chan, chan->number); 911 912 dbg_showchan(chan); 913 914 local_irq_save(flags); 915 916 if (chan->state != S3C2410_DMA_IDLE) { 917 + pr_debug("%s: stopping channel...\n", __func__ ); 918 s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP); 919 } 920 ··· 929 next = buf->next; 930 931 pr_debug("%s: free buffer %p, next %p\n", 932 + __func__, buf, buf->next); 933 934 s3c2410_dma_buffdone(chan, buf, S3C2410_RES_ABORT); 935 s3c2410_dma_freebuf(buf); ··· 976 977 if (s3c2410_dma_waitforload(chan, __LINE__) == 0) { 978 pr_debug("%s: buff not yet loaded, no more todo\n", 979 + __func__); 980 } else { 981 chan->load_state = S3C2410_DMALOAD_1RUNNING; 982 s3c2410_dma_loadbuffer(chan, chan->next); ··· 1050 struct s3c2410_dma_chan *chan = lookup_dma_channel(channel); 1051 1052 pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n", 1053 + __func__, channel, xferunit, dcon); 1054 1055 if (chan == NULL) 1056 return -EINVAL; 1057 1058 + pr_debug("%s: Initial dcon is %08x\n", __func__, dcon); 1059 1060 dcon |= chan->dcon & dma_sel.dcon_mask; 1061 1062 + pr_debug("%s: New dcon is %08x\n", __func__, dcon); 1063 1064 switch (xferunit) { 1065 case 1: ··· 1075 break; 1076 1077 default: 1078 + pr_debug("%s: bad transfer size %d\n", __func__, xferunit); 1079 return -EINVAL; 1080 } 1081 1082 dcon |= S3C2410_DCON_HWTRIG; 1083 dcon |= S3C2410_DCON_INTREQ; 1084 1085 + pr_debug("%s: dcon now %08x\n", __func__, dcon); 1086 1087 chan->dcon = dcon; 1088 chan->xfer_unit = xferunit; ··· 1099 if (chan == NULL) 1100 return -EINVAL; 1101 1102 + pr_debug("%s: chan=%p, flags=%08x\n", __func__, chan, flags); 1103 1104 chan->flags = flags; 1105 ··· 1120 if (chan == NULL) 1121 return -EINVAL; 1122 1123 + pr_debug("%s: chan=%p, op rtn=%p\n", __func__, chan, rtn); 1124 1125 chan->op_fn = rtn; 1126 ··· 1136 if (chan == NULL) 1137 return -EINVAL; 1138 1139 + pr_debug("%s: chan=%p, callback rtn=%p\n", __func__, chan, rtn); 1140 1141 chan->callback_fn = rtn; 1142 ··· 1170 return -EINVAL; 1171 1172 pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n", 1173 + __func__, (int)source, hwcfg, devaddr); 1174 1175 chan->source = source; 1176 chan->dev_addr = devaddr; ··· 1180 case S3C2410_DMASRC_HW: 1181 /* source is hardware */ 1182 pr_debug("%s: hw source, devaddr=%08lx, hwcfg=%d\n", 1183 + __func__, devaddr, hwcfg); 1184 dma_wrreg(chan, S3C2410_DMA_DISRCC, hwcfg & 3); 1185 dma_wrreg(chan, S3C2410_DMA_DISRC, devaddr); 1186 dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0)); ··· 1190 1191 case S3C2410_DMASRC_MEM: 1192 /* source is memory */ 1193 + pr_debug("%s: mem source, devaddr=%08lx, hwcfg=%d\n", 1194 + __func__, devaddr, hwcfg); 1195 dma_wrreg(chan, S3C2410_DMA_DISRCC, (0<<1) | (0<<0)); 1196 dma_wrreg(chan, S3C2410_DMA_DIDST, devaddr); 1197 dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3);
+1 -1
arch/mips/Kconfig
··· 1824 Allows the configuration of the timer frequency. 1825 1826 config HZ_48 1827 - bool "48 HZ" if SYS_SUPPORTS_48HZ 1828 1829 config HZ_100 1830 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
··· 1824 Allows the configuration of the timer frequency. 1825 1826 config HZ_48 1827 + bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ 1828 1829 config HZ_100 1830 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
+2
arch/mips/Makefile
··· 12 # for "archclean" cleaning up for this architecture. 13 # 14 15 cflags-y := 16 17 #
··· 12 # for "archclean" cleaning up for this architecture. 13 # 14 15 + KBUILD_DEFCONFIG := ip22_defconfig 16 + 17 cflags-y := 18 19 #
+17 -17
arch/mips/au1000/common/dbdma.c
··· 161 { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 }, 162 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 }, 180 }; 181 182 #define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) ··· 209 dbdev_tab_t *p=NULL; 210 static u16 new_id=0x1000; 211 212 - p = find_dbdev_id(0); 213 if ( NULL != p ) 214 { 215 memcpy(p, dev, sizeof(dbdev_tab_t));
··· 161 { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 }, 162 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 }, 180 }; 181 182 #define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) ··· 209 dbdev_tab_t *p=NULL; 210 static u16 new_id=0x1000; 211 212 + p = find_dbdev_id(~0); 213 if ( NULL != p ) 214 { 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 obj-$(CONFIG_64BIT) += cpu-bugs64.o 77 78 obj-$(CONFIG_I8253) += i8253.o 79 - obj-$(CONFIG_PCSPEAKER) += pcspeaker.o 80 81 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 82 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
··· 76 obj-$(CONFIG_64BIT) += cpu-bugs64.o 77 78 obj-$(CONFIG_I8253) += i8253.o 79 80 obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 81 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+2 -2
arch/mips/kernel/cpu-bugs64.c
··· 167 panic(bug64hit, !R4000_WAR ? r4kwar : nowar); 168 } 169 170 - static volatile int daddi_ov __initdata = 0; 171 172 asmlinkage void __init do_daddi_ov(struct pt_regs *regs) 173 { ··· 239 panic(bug64hit, !DADDI_WAR ? daddiwar : nowar); 240 } 241 242 - int daddiu_bug __initdata = -1; 243 244 static inline void check_daddiu(void) 245 {
··· 167 panic(bug64hit, !R4000_WAR ? r4kwar : nowar); 168 } 169 170 + static volatile int daddi_ov __cpuinitdata = 0; 171 172 asmlinkage void __init do_daddi_ov(struct pt_regs *regs) 173 { ··· 239 panic(bug64hit, !DADDI_WAR ? daddiwar : nowar); 240 } 241 242 + int daddiu_bug __cpuinitdata = -1; 243 244 static inline void check_daddiu(void) 245 {
+5 -5
arch/mips/kernel/cpu-probe.c
··· 550 } 551 } 552 553 - static char unknown_isa[] __initdata = KERN_ERR \ 554 "Unsupported ISA type, c0.config0: %d."; 555 556 static inline unsigned int decode_config0(struct cpuinfo_mips *c) ··· 656 return config3 & MIPS_CONF_M; 657 } 658 659 - static void __init decode_configs(struct cpuinfo_mips *c) 660 { 661 /* MIPS32 or MIPS64 compliant CPU. */ 662 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | ··· 814 /* 815 * Name a CPU 816 */ 817 - static __init const char *cpu_to_name(struct cpuinfo_mips *c) 818 { 819 const char *name = NULL; 820 ··· 896 return name; 897 } 898 899 - __init void cpu_probe(void) 900 { 901 struct cpuinfo_mips *c = &current_cpu_data; 902 unsigned int cpu = smp_processor_id(); ··· 959 c->srsets = 1; 960 } 961 962 - __init void cpu_report(void) 963 { 964 struct cpuinfo_mips *c = &current_cpu_data; 965
··· 550 } 551 } 552 553 + static char unknown_isa[] __cpuinitdata = KERN_ERR \ 554 "Unsupported ISA type, c0.config0: %d."; 555 556 static inline unsigned int decode_config0(struct cpuinfo_mips *c) ··· 656 return config3 & MIPS_CONF_M; 657 } 658 659 + static void __cpuinit decode_configs(struct cpuinfo_mips *c) 660 { 661 /* MIPS32 or MIPS64 compliant CPU. */ 662 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | ··· 814 /* 815 * Name a CPU 816 */ 817 + static __cpuinit const char *cpu_to_name(struct cpuinfo_mips *c) 818 { 819 const char *name = NULL; 820 ··· 896 return name; 897 } 898 899 + __cpuinit void cpu_probe(void) 900 { 901 struct cpuinfo_mips *c = &current_cpu_data; 902 unsigned int cpu = smp_processor_id(); ··· 959 c->srsets = 1; 960 } 961 962 + __cpuinit void cpu_report(void) 963 { 964 struct cpuinfo_mips *c = &current_cpu_data; 965
+6 -1
arch/mips/kernel/csrc-r4k.c
··· 22 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 23 }; 24 25 - void __init init_mips_clocksource(void) 26 { 27 /* Calclate a somewhat reasonable rating value */ 28 clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; 29 30 clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); 31 32 clocksource_register(&clocksource_mips); 33 }
··· 22 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 23 }; 24 25 + int __init init_mips_clocksource(void) 26 { 27 + if (!cpu_has_counter || !mips_hpt_frequency) 28 + return -ENXIO; 29 + 30 /* Calclate a somewhat reasonable rating value */ 31 clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; 32 33 clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); 34 35 clocksource_register(&clocksource_mips); 36 + 37 + return 0; 38 }
+1 -1
arch/mips/kernel/head.S
··· 195 j start_kernel 196 END(kernel_entry) 197 198 - __INIT 199 200 #ifdef CONFIG_SMP 201 /*
··· 195 j start_kernel 196 END(kernel_entry) 197 198 + __CPUINIT 199 200 #ifdef CONFIG_SMP 201 /*
+29 -9
arch/mips/kernel/traps.c
··· 534 535 /* 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. 539 */ 540 static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode) 541 { ··· 544 int rd = (opcode & RD) >> 11; 545 int rt = (opcode & RT) >> 16; 546 switch (rd) { 547 - case 29: 548 - regs->regs[rt] = ti->tp_value; 549 - return 0; 550 default: 551 - return -1; 552 } 553 } 554 ··· 1306 int cp0_perfcount_irq; 1307 EXPORT_SYMBOL_GPL(cp0_perfcount_irq); 1308 1309 - void __init per_cpu_trap_init(void) 1310 { 1311 unsigned int cpu = smp_processor_id(); 1312 unsigned int status_set = ST0_CU0; ··· 1423 flush_icache_range(ebase + offset, ebase + offset + size); 1424 } 1425 1426 - static char panic_null_cerr[] __initdata = 1427 "Trying to set NULL cache error exception handler"; 1428 1429 /* Install uncached CPU exception handler */ 1430 - void __init set_uncached_handler(unsigned long offset, void *addr, unsigned long size) 1431 { 1432 #ifdef CONFIG_32BIT 1433 unsigned long uncached_ebase = KSEG1ADDR(ebase);
··· 534 535 /* 536 * Simulate trapping 'rdhwr' instructions to provide user accessible 537 + * registers not implemented in hardware. 538 */ 539 static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode) 540 { ··· 545 int rd = (opcode & RD) >> 11; 546 int rt = (opcode & RT) >> 16; 547 switch (rd) { 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; 564 default: 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; 573 } 574 } 575 ··· 1287 int cp0_perfcount_irq; 1288 EXPORT_SYMBOL_GPL(cp0_perfcount_irq); 1289 1290 + void __cpuinit per_cpu_trap_init(void) 1291 { 1292 unsigned int cpu = smp_processor_id(); 1293 unsigned int status_set = ST0_CU0; ··· 1404 flush_icache_range(ebase + offset, ebase + offset + size); 1405 } 1406 1407 + static char panic_null_cerr[] __cpuinitdata = 1408 "Trying to set NULL cache error exception handler"; 1409 1410 /* Install uncached CPU exception handler */ 1411 + void __cpuinit set_uncached_handler(unsigned long offset, void *addr, 1412 + unsigned long size) 1413 { 1414 #ifdef CONFIG_32BIT 1415 unsigned long uncached_ebase = KSEG1ADDR(ebase);
+2
arch/mips/lib/ucmpdi2.c
··· 17 return 2; 18 return 1; 19 }
··· 17 return 2; 18 return 1; 19 } 20 + 21 + EXPORT_SYMBOL(__ucmpdi2);
+1 -1
arch/mips/lib/uncached.c
··· 36 * values, so we can avoid sharing the same stack area between a cached 37 * and the uncached mode. 38 */ 39 - unsigned long __init run_uncached(void *func) 40 { 41 register long sp __asm__("$sp"); 42 register long ret __asm__("$2");
··· 36 * values, so we can avoid sharing the same stack area between a cached 37 * and the uncached mode. 38 */ 39 + unsigned long __cpuinit run_uncached(void *func) 40 { 41 register long sp __asm__("$sp"); 42 register long ret __asm__("$2");
+1 -1
arch/mips/mips-boards/generic/time.c
··· 146 } 147 } 148 149 - unsigned int __init get_c0_compare_int(void) 150 { 151 #ifdef MSC01E_INT_BASE 152 if (cpu_has_veic) {
··· 146 } 147 } 148 149 + unsigned int __cpuinit get_c0_compare_int(void) 150 { 151 #ifdef MSC01E_INT_BASE 152 if (cpu_has_veic) {
+1 -1
arch/mips/mipssim/sim_time.c
··· 83 } 84 85 86 - unsigned __init get_c0_compare_int(void) 87 { 88 #ifdef MSC01E_INT_BASE 89 if (cpu_has_veic) {
··· 83 } 84 85 86 + unsigned __cpuinit get_c0_compare_int(void) 87 { 88 #ifdef MSC01E_INT_BASE 89 if (cpu_has_veic) {
+1 -1
arch/mips/mm/c-r3k.c
··· 307 r3k_flush_dcache_range(start, start + size); 308 } 309 310 - void __init r3k_cache_init(void) 311 { 312 extern void build_clear_page(void); 313 extern void build_copy_page(void);
··· 307 r3k_flush_dcache_range(start, start + size); 308 } 309 310 + void __cpuinit r3k_cache_init(void) 311 { 312 extern void build_clear_page(void); 313 extern void build_copy_page(void);
+15 -15
arch/mips/mm/c-r4k.c
··· 93 blast_dcache32_page(addr); 94 } 95 96 - static void __init r4k_blast_dcache_page_setup(void) 97 { 98 unsigned long dc_lsize = cpu_dcache_line_size(); 99 ··· 107 108 static void (* r4k_blast_dcache_page_indexed)(unsigned long addr); 109 110 - static void __init r4k_blast_dcache_page_indexed_setup(void) 111 { 112 unsigned long dc_lsize = cpu_dcache_line_size(); 113 ··· 121 122 static void (* r4k_blast_dcache)(void); 123 124 - static void __init r4k_blast_dcache_setup(void) 125 { 126 unsigned long dc_lsize = cpu_dcache_line_size(); 127 ··· 206 207 static void (* r4k_blast_icache_page)(unsigned long addr); 208 209 - static void __init r4k_blast_icache_page_setup(void) 210 { 211 unsigned long ic_lsize = cpu_icache_line_size(); 212 ··· 223 224 static void (* r4k_blast_icache_page_indexed)(unsigned long addr); 225 226 - static void __init r4k_blast_icache_page_indexed_setup(void) 227 { 228 unsigned long ic_lsize = cpu_icache_line_size(); 229 ··· 247 248 static void (* r4k_blast_icache)(void); 249 250 - static void __init r4k_blast_icache_setup(void) 251 { 252 unsigned long ic_lsize = cpu_icache_line_size(); 253 ··· 268 269 static void (* r4k_blast_scache_page)(unsigned long addr); 270 271 - static void __init r4k_blast_scache_page_setup(void) 272 { 273 unsigned long sc_lsize = cpu_scache_line_size(); 274 ··· 286 287 static void (* r4k_blast_scache_page_indexed)(unsigned long addr); 288 289 - static void __init r4k_blast_scache_page_indexed_setup(void) 290 { 291 unsigned long sc_lsize = cpu_scache_line_size(); 292 ··· 304 305 static void (* r4k_blast_scache)(void); 306 307 - static void __init r4k_blast_scache_setup(void) 308 { 309 unsigned long sc_lsize = cpu_scache_line_size(); 310 ··· 691 } 692 } 693 694 - static char *way_string[] __initdata = { NULL, "direct mapped", "2-way", 695 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way" 696 }; 697 698 - static void __init probe_pcache(void) 699 { 700 struct cpuinfo_mips *c = &current_cpu_data; 701 unsigned int config = read_c0_config(); ··· 1016 * executes in KSEG1 space or else you will crash and burn badly. You have 1017 * been warned. 1018 */ 1019 - static int __init probe_scache(void) 1020 { 1021 unsigned long flags, addr, begin, end, pow2; 1022 unsigned int config = read_c0_config(); ··· 1095 extern int rm7k_sc_init(void); 1096 extern int mips_sc_init(void); 1097 1098 - static void __init setup_scache(void) 1099 { 1100 struct cpuinfo_mips *c = &current_cpu_data; 1101 unsigned int config = read_c0_config(); ··· 1206 } 1207 } 1208 1209 - static void __init coherency_setup(void) 1210 { 1211 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); 1212 ··· 1238 } 1239 } 1240 1241 - void __init r4k_cache_init(void) 1242 { 1243 extern void build_clear_page(void); 1244 extern void build_copy_page(void);
··· 93 blast_dcache32_page(addr); 94 } 95 96 + static void __cpuinit r4k_blast_dcache_page_setup(void) 97 { 98 unsigned long dc_lsize = cpu_dcache_line_size(); 99 ··· 107 108 static void (* r4k_blast_dcache_page_indexed)(unsigned long addr); 109 110 + static void __cpuinit r4k_blast_dcache_page_indexed_setup(void) 111 { 112 unsigned long dc_lsize = cpu_dcache_line_size(); 113 ··· 121 122 static void (* r4k_blast_dcache)(void); 123 124 + static void __cpuinit r4k_blast_dcache_setup(void) 125 { 126 unsigned long dc_lsize = cpu_dcache_line_size(); 127 ··· 206 207 static void (* r4k_blast_icache_page)(unsigned long addr); 208 209 + static void __cpuinit r4k_blast_icache_page_setup(void) 210 { 211 unsigned long ic_lsize = cpu_icache_line_size(); 212 ··· 223 224 static void (* r4k_blast_icache_page_indexed)(unsigned long addr); 225 226 + static void __cpuinit r4k_blast_icache_page_indexed_setup(void) 227 { 228 unsigned long ic_lsize = cpu_icache_line_size(); 229 ··· 247 248 static void (* r4k_blast_icache)(void); 249 250 + static void __cpuinit r4k_blast_icache_setup(void) 251 { 252 unsigned long ic_lsize = cpu_icache_line_size(); 253 ··· 268 269 static void (* r4k_blast_scache_page)(unsigned long addr); 270 271 + static void __cpuinit r4k_blast_scache_page_setup(void) 272 { 273 unsigned long sc_lsize = cpu_scache_line_size(); 274 ··· 286 287 static void (* r4k_blast_scache_page_indexed)(unsigned long addr); 288 289 + static void __cpuinit r4k_blast_scache_page_indexed_setup(void) 290 { 291 unsigned long sc_lsize = cpu_scache_line_size(); 292 ··· 304 305 static void (* r4k_blast_scache)(void); 306 307 + static void __cpuinit r4k_blast_scache_setup(void) 308 { 309 unsigned long sc_lsize = cpu_scache_line_size(); 310 ··· 691 } 692 } 693 694 + static char *way_string[] __cpuinitdata = { NULL, "direct mapped", "2-way", 695 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way" 696 }; 697 698 + static void __cpuinit probe_pcache(void) 699 { 700 struct cpuinfo_mips *c = &current_cpu_data; 701 unsigned int config = read_c0_config(); ··· 1016 * executes in KSEG1 space or else you will crash and burn badly. You have 1017 * been warned. 1018 */ 1019 + static int __cpuinit probe_scache(void) 1020 { 1021 unsigned long flags, addr, begin, end, pow2; 1022 unsigned int config = read_c0_config(); ··· 1095 extern int rm7k_sc_init(void); 1096 extern int mips_sc_init(void); 1097 1098 + static void __cpuinit setup_scache(void) 1099 { 1100 struct cpuinfo_mips *c = &current_cpu_data; 1101 unsigned int config = read_c0_config(); ··· 1206 } 1207 } 1208 1209 + static void __cpuinit coherency_setup(void) 1210 { 1211 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); 1212 ··· 1238 } 1239 } 1240 1241 + void __cpuinit r4k_cache_init(void) 1242 { 1243 extern void build_clear_page(void); 1244 extern void build_copy_page(void);
+1 -1
arch/mips/mm/c-tx39.c
··· 329 } 330 } 331 332 - void __init tx39_cache_init(void) 333 { 334 extern void build_clear_page(void); 335 extern void build_copy_page(void);
··· 329 } 330 } 331 332 + void __cpuinit tx39_cache_init(void) 333 { 334 extern void build_clear_page(void); 335 extern void build_copy_page(void);
+3 -2
arch/mips/mm/cache.c
··· 127 } 128 } 129 130 - static char cache_panic[] __initdata = "Yeee, unsupported cache architecture."; 131 132 - void __init cpu_cache_init(void) 133 { 134 if (cpu_has_3k_cache) { 135 extern void __weak r3k_cache_init(void);
··· 127 } 128 } 129 130 + static char cache_panic[] __cpuinitdata = 131 + "Yeee, unsupported cache architecture."; 132 133 + void __devinit cpu_cache_init(void) 134 { 135 if (cpu_has_3k_cache) { 136 extern void __weak r3k_cache_init(void);
+2 -2
arch/mips/mm/cex-sb1.S
··· 34 * is changed. 35 */ 36 37 - __INIT 38 - 39 .set mips64 40 .set noreorder 41 .set noat ··· 48 * since the final 16 bytes of the exception vector memory 49 * (0x170-0x17f) are used to preserve k0, k1, and ra. 50 */ 51 52 LEAF(except_vec2_sb1) 53 /*
··· 34 * is changed. 35 */ 36 37 .set mips64 38 .set noreorder 39 .set noat ··· 50 * since the final 16 bytes of the exception vector memory 51 * (0x170-0x17f) are used to preserve k0, k1, and ra. 52 */ 53 + 54 + __CPUINIT 55 56 LEAF(except_vec2_sb1) 57 /*
+11 -11
arch/mips/mm/pg-r4k.c
··· 66 * with 64-bit kernels. The prefetch offsets have been experimentally tuned 67 * an Origin 200. 68 */ 69 - static int pref_offset_clear __initdata = 512; 70 - static int pref_offset_copy __initdata = 256; 71 72 - static unsigned int pref_src_mode __initdata; 73 - static unsigned int pref_dst_mode __initdata; 74 75 - static int load_offset __initdata; 76 - static int store_offset __initdata; 77 78 - static unsigned int __initdata *dest, *epc; 79 80 static unsigned int instruction_pending; 81 static union mips_instruction delayed_mi; 82 83 - static void __init emit_instruction(union mips_instruction mi) 84 { 85 if (instruction_pending) 86 *epc++ = delayed_mi.word; ··· 222 emit_instruction(mi); 223 } 224 225 - static void __init __build_store_reg(int reg) 226 { 227 union mips_instruction mi; 228 unsigned int width; ··· 339 flush_delay_slot_or_nop(); 340 } 341 342 - void __init build_clear_page(void) 343 { 344 unsigned int loop_start; 345 unsigned long off; ··· 442 pr_debug("\t.set pop\n"); 443 } 444 445 - void __init build_copy_page(void) 446 { 447 unsigned int loop_start; 448 unsigned long off;
··· 66 * with 64-bit kernels. The prefetch offsets have been experimentally tuned 67 * an Origin 200. 68 */ 69 + static int pref_offset_clear __cpuinitdata = 512; 70 + static int pref_offset_copy __cpuinitdata = 256; 71 72 + static unsigned int pref_src_mode __cpuinitdata; 73 + static unsigned int pref_dst_mode __cpuinitdata; 74 75 + static int load_offset __cpuinitdata; 76 + static int store_offset __cpuinitdata; 77 78 + static unsigned int __cpuinitdata *dest, *epc; 79 80 static unsigned int instruction_pending; 81 static union mips_instruction delayed_mi; 82 83 + static void __cpuinit emit_instruction(union mips_instruction mi) 84 { 85 if (instruction_pending) 86 *epc++ = delayed_mi.word; ··· 222 emit_instruction(mi); 223 } 224 225 + static void __cpuinit __build_store_reg(int reg) 226 { 227 union mips_instruction mi; 228 unsigned int width; ··· 339 flush_delay_slot_or_nop(); 340 } 341 342 + void __cpuinit build_clear_page(void) 343 { 344 unsigned int loop_start; 345 unsigned long off; ··· 442 pr_debug("\t.set pop\n"); 443 } 444 445 + void __cpuinit build_copy_page(void) 446 { 447 unsigned int loop_start; 448 unsigned long off;
+2 -2
arch/mips/mm/pg-sb1.c
··· 293 EXPORT_SYMBOL(clear_page); 294 EXPORT_SYMBOL(copy_page); 295 296 - void __init build_clear_page(void) 297 { 298 } 299 300 - void __init build_copy_page(void) 301 { 302 }
··· 293 EXPORT_SYMBOL(clear_page); 294 EXPORT_SYMBOL(copy_page); 295 296 + void __cpuinit build_clear_page(void) 297 { 298 } 299 300 + void __cpuinit build_copy_page(void) 301 { 302 }
+1 -1
arch/mips/mm/sc-ip22.c
··· 168 .bc_inv = indy_sc_wback_invalidate 169 }; 170 171 - void __init indy_sc_init(void) 172 { 173 if (indy_sc_probe()) { 174 indy_sc_enable();
··· 168 .bc_inv = indy_sc_wback_invalidate 169 }; 170 171 + void __cpuinit indy_sc_init(void) 172 { 173 if (indy_sc_probe()) { 174 indy_sc_enable();
+1 -2
arch/mips/mm/sc-mips.c
··· 100 return 1; 101 } 102 103 - int __init mips_sc_init(void) 104 { 105 int found = mips_sc_probe(); 106 if (found) { ··· 109 } 110 return found; 111 } 112 -
··· 100 return 1; 101 } 102 103 + int __cpuinit mips_sc_init(void) 104 { 105 int found = mips_sc_probe(); 106 if (found) { ··· 109 } 110 return found; 111 }
+1 -1
arch/mips/mm/sc-r5k.c
··· 99 .bc_inv = r5k_dma_cache_inv_sc 100 }; 101 102 - void __init r5k_sc_init(void) 103 { 104 if (r5k_sc_probe()) { 105 r5k_sc_enable();
··· 99 .bc_inv = r5k_dma_cache_inv_sc 100 }; 101 102 + void __cpuinit r5k_sc_init(void) 103 { 104 if (r5k_sc_probe()) { 105 r5k_sc_enable();
+1 -1
arch/mips/mm/sc-rm7k.c
··· 128 .bc_inv = rm7k_sc_inv 129 }; 130 131 - void __init rm7k_sc_init(void) 132 { 133 struct cpuinfo_mips *c = &current_cpu_data; 134 unsigned int config = read_c0_config();
··· 128 .bc_inv = rm7k_sc_inv 129 }; 130 131 + void __cpuinit rm7k_sc_init(void) 132 { 133 struct cpuinfo_mips *c = &current_cpu_data; 134 unsigned int config = read_c0_config();
+1 -1
arch/mips/mm/tlb-r3k.c
··· 281 } 282 } 283 284 - void __init tlb_init(void) 285 { 286 local_flush_tlb_all(); 287
··· 281 } 282 } 283 284 + void __cpuinit tlb_init(void) 285 { 286 local_flush_tlb_all(); 287
+5 -5
arch/mips/mm/tlb-r4k.c
··· 388 * lifetime of the system 389 */ 390 391 - static int temp_tlb_entry __initdata; 392 393 __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, 394 unsigned long entryhi, unsigned long pagemask) ··· 427 return ret; 428 } 429 430 - static void __init probe_tlb(unsigned long config) 431 { 432 struct cpuinfo_mips *c = &current_cpu_data; 433 unsigned int reg; ··· 455 c->tlbsize = ((reg >> 25) & 0x3f) + 1; 456 } 457 458 - static int __initdata ntlb = 0; 459 static int __init set_ntlb(char *str) 460 { 461 get_option(&str, &ntlb); ··· 464 465 __setup("ntlb=", set_ntlb); 466 467 - void __init tlb_init(void) 468 { 469 unsigned int config = read_c0_config(); 470 ··· 473 * - On R4600 1.7 the tlbp never hits for pages smaller than 474 * the value in the c0_pagemask register. 475 * - The entire mm handling assumes the c0_pagemask register to 476 - * be set for 4kb pages. 477 */ 478 probe_tlb(config); 479 write_c0_pagemask(PM_DEFAULT_MASK);
··· 388 * lifetime of the system 389 */ 390 391 + static int temp_tlb_entry __cpuinitdata; 392 393 __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, 394 unsigned long entryhi, unsigned long pagemask) ··· 427 return ret; 428 } 429 430 + static void __cpuinit probe_tlb(unsigned long config) 431 { 432 struct cpuinfo_mips *c = &current_cpu_data; 433 unsigned int reg; ··· 455 c->tlbsize = ((reg >> 25) & 0x3f) + 1; 456 } 457 458 + static int __cpuinitdata ntlb = 0; 459 static int __init set_ntlb(char *str) 460 { 461 get_option(&str, &ntlb); ··· 464 465 __setup("ntlb=", set_ntlb); 466 467 + void __cpuinit tlb_init(void) 468 { 469 unsigned int config = read_c0_config(); 470 ··· 473 * - On R4600 1.7 the tlbp never hits for pages smaller than 474 * the value in the c0_pagemask register. 475 * - The entire mm handling assumes the c0_pagemask register to 476 + * be set to fixed-size pages. 477 */ 478 probe_tlb(config); 479 write_c0_pagemask(PM_DEFAULT_MASK);
+2 -2
arch/mips/mm/tlb-r8k.c
··· 214 local_irq_restore(flags); 215 } 216 217 - static void __init probe_tlb(unsigned long config) 218 { 219 struct cpuinfo_mips *c = &current_cpu_data; 220 221 c->tlbsize = 3 * 128; /* 3 sets each 128 entries */ 222 } 223 224 - void __init tlb_init(void) 225 { 226 unsigned int config = read_c0_config(); 227 unsigned long status;
··· 214 local_irq_restore(flags); 215 } 216 217 + static void __cpuinit probe_tlb(unsigned long config) 218 { 219 struct cpuinfo_mips *c = &current_cpu_data; 220 221 c->tlbsize = 3 * 128; /* 3 sets each 128 entries */ 222 } 223 224 + void __cpuinit tlb_init(void) 225 { 226 unsigned int config = read_c0_config(); 227 unsigned long status;
+35 -35
arch/mips/mm/tlbex.c
··· 60 * why; it's not an issue caused by the core RTL. 61 * 62 */ 63 - static int __init m4kc_tlbp_war(void) 64 { 65 return (current_cpu_data.processor_id & 0xffff00) == 66 (PRID_COMP_MIPS | PRID_IMP_4KC); ··· 144 * We deliberately chose a buffer size of 128, so we won't scribble 145 * over anything important on overflow before we panic. 146 */ 147 - static u32 tlb_handler[128] __initdata; 148 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; 152 153 /* 154 * The R3000 TLB handler is simple. 155 */ 156 - static void __init build_r3000_tlb_refill_handler(void) 157 { 158 long pgdc = (long)pgd_current; 159 u32 *p; ··· 197 * other one.To keep things simple, we first assume linear space, 198 * then we relocate it to the final handler layout as needed. 199 */ 200 - static u32 final_handler[64] __initdata; 201 202 /* 203 * Hazards ··· 221 * 222 * As if we MIPS hackers wouldn't know how to nop pipelines happy ... 223 */ 224 - static void __init __maybe_unused build_tlb_probe_entry(u32 **p) 225 { 226 switch (current_cpu_type()) { 227 /* Found by experiment: R4600 v2.0 needs this, too. */ ··· 245 */ 246 enum tlb_write_entry { tlb_random, tlb_indexed }; 247 248 - static void __init build_tlb_write_entry(u32 **p, struct uasm_label **l, 249 struct uasm_reloc **r, 250 enum tlb_write_entry wmode) 251 { ··· 389 * TMP and PTR are scratch. 390 * TMP will be clobbered, PTR will hold the pmd entry. 391 */ 392 - static void __init 393 build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 394 unsigned int tmp, unsigned int ptr) 395 { ··· 450 * BVADDR is the faulting address, PTR is scratch. 451 * PTR will hold the pgd for vmalloc. 452 */ 453 - static void __init 454 build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 455 unsigned int bvaddr, unsigned int ptr) 456 { ··· 522 * TMP and PTR are scratch. 523 * TMP will be clobbered, PTR will hold the pgd entry. 524 */ 525 - static void __init __maybe_unused 526 build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) 527 { 528 long pgdc = (long)pgd_current; ··· 557 558 #endif /* !CONFIG_64BIT */ 559 560 - static void __init build_adjust_context(u32 **p, unsigned int ctx) 561 { 562 unsigned int shift = 4 - (PTE_T_LOG2 + 1) + PAGE_SHIFT - 12; 563 unsigned int mask = (PTRS_PER_PTE / 2 - 1) << (PTE_T_LOG2 + 1); ··· 583 uasm_i_andi(p, ctx, ctx, mask); 584 } 585 586 - static void __init build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 587 { 588 /* 589 * Bug workaround for the Nevada. It seems as if under certain ··· 608 UASM_i_ADDU(p, ptr, ptr, tmp); /* add in offset */ 609 } 610 611 - static void __init build_update_entries(u32 **p, unsigned int tmp, 612 unsigned int ptep) 613 { 614 /* ··· 651 #endif 652 } 653 654 - static void __init build_r4000_tlb_refill_handler(void) 655 { 656 u32 *p = tlb_handler; 657 struct uasm_label *l = labels; ··· 783 u32 handle_tlbs[FASTPATH_SIZE] __cacheline_aligned; 784 u32 handle_tlbm[FASTPATH_SIZE] __cacheline_aligned; 785 786 - static void __init 787 iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr) 788 { 789 #ifdef CONFIG_SMP ··· 803 #endif 804 } 805 806 - static void __init 807 iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr, 808 unsigned int mode) 809 { ··· 863 * the page table where this PTE is located, PTE will be re-loaded 864 * with it's original value. 865 */ 866 - static void __init 867 build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 868 unsigned int pte, unsigned int ptr, enum label_id lid) 869 { ··· 874 } 875 876 /* Make PTE valid, store result in PTR. */ 877 - static void __init 878 build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte, 879 unsigned int ptr) 880 { ··· 887 * Check if PTE can be written to, if not branch to LABEL. Regardless 888 * restore PTE with value from PTR when done. 889 */ 890 - static void __init 891 build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 892 unsigned int pte, unsigned int ptr, enum label_id lid) 893 { ··· 900 /* Make PTE writable, update software status bits as well, then store 901 * at PTR. 902 */ 903 - static void __init 904 build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte, 905 unsigned int ptr) 906 { ··· 914 * Check if PTE can be modified, if not branch to LABEL. Regardless 915 * restore PTE with value from PTR when done. 916 */ 917 - static void __init 918 build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 919 unsigned int pte, unsigned int ptr, enum label_id lid) 920 { ··· 931 * This places the pte into ENTRYLO0 and writes it with tlbwi. 932 * Then it returns. 933 */ 934 - static void __init 935 build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp) 936 { 937 uasm_i_mtc0(p, pte, C0_ENTRYLO0); /* cp0 delay */ ··· 947 * may have the probe fail bit set as a result of a trap on a 948 * kseg2 access, i.e. without refill. Then it returns. 949 */ 950 - static void __init 951 build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l, 952 struct uasm_reloc **r, unsigned int pte, 953 unsigned int tmp) ··· 965 uasm_i_rfe(p); /* branch delay */ 966 } 967 968 - static void __init 969 build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte, 970 unsigned int ptr) 971 { ··· 985 uasm_i_tlbp(p); /* load delay */ 986 } 987 988 - static void __init build_r3000_tlb_load_handler(void) 989 { 990 u32 *p = handle_tlbl; 991 struct uasm_label *l = labels; ··· 1015 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1016 } 1017 1018 - static void __init build_r3000_tlb_store_handler(void) 1019 { 1020 u32 *p = handle_tlbs; 1021 struct uasm_label *l = labels; ··· 1045 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1046 } 1047 1048 - static void __init build_r3000_tlb_modify_handler(void) 1049 { 1050 u32 *p = handle_tlbm; 1051 struct uasm_label *l = labels; ··· 1078 /* 1079 * R4000 style TLB load/store/modify handlers. 1080 */ 1081 - static void __init 1082 build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l, 1083 struct uasm_reloc **r, unsigned int pte, 1084 unsigned int ptr) ··· 1103 build_tlb_probe_entry(p); 1104 } 1105 1106 - static void __init 1107 build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l, 1108 struct uasm_reloc **r, unsigned int tmp, 1109 unsigned int ptr) ··· 1120 #endif 1121 } 1122 1123 - static void __init build_r4000_tlb_load_handler(void) 1124 { 1125 u32 *p = handle_tlbl; 1126 struct uasm_label *l = labels; ··· 1160 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1161 } 1162 1163 - static void __init build_r4000_tlb_store_handler(void) 1164 { 1165 u32 *p = handle_tlbs; 1166 struct uasm_label *l = labels; ··· 1191 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1192 } 1193 1194 - static void __init build_r4000_tlb_modify_handler(void) 1195 { 1196 u32 *p = handle_tlbm; 1197 struct uasm_label *l = labels; ··· 1223 dump_handler(handle_tlbm, ARRAY_SIZE(handle_tlbm)); 1224 } 1225 1226 - void __init build_tlb_refill_handler(void) 1227 { 1228 /* 1229 * The refill handler is generated per-CPU, multi-node systems ··· 1269 } 1270 } 1271 1272 - void __init flush_tlb_handlers(void) 1273 { 1274 flush_icache_range((unsigned long)handle_tlbl, 1275 (unsigned long)handle_tlbl + sizeof(handle_tlbl));
··· 60 * why; it's not an issue caused by the core RTL. 61 * 62 */ 63 + static int __cpuinit m4kc_tlbp_war(void) 64 { 65 return (current_cpu_data.processor_id & 0xffff00) == 66 (PRID_COMP_MIPS | PRID_IMP_4KC); ··· 144 * We deliberately chose a buffer size of 128, so we won't scribble 145 * over anything important on overflow before we panic. 146 */ 147 + static u32 tlb_handler[128] __cpuinitdata; 148 149 /* simply assume worst case size for labels and relocs */ 150 + static struct uasm_label labels[128] __cpuinitdata; 151 + static struct uasm_reloc relocs[128] __cpuinitdata; 152 153 /* 154 * The R3000 TLB handler is simple. 155 */ 156 + static void __cpuinit build_r3000_tlb_refill_handler(void) 157 { 158 long pgdc = (long)pgd_current; 159 u32 *p; ··· 197 * other one.To keep things simple, we first assume linear space, 198 * then we relocate it to the final handler layout as needed. 199 */ 200 + static u32 final_handler[64] __cpuinitdata; 201 202 /* 203 * Hazards ··· 221 * 222 * As if we MIPS hackers wouldn't know how to nop pipelines happy ... 223 */ 224 + static void __cpuinit __maybe_unused build_tlb_probe_entry(u32 **p) 225 { 226 switch (current_cpu_type()) { 227 /* Found by experiment: R4600 v2.0 needs this, too. */ ··· 245 */ 246 enum tlb_write_entry { tlb_random, tlb_indexed }; 247 248 + static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l, 249 struct uasm_reloc **r, 250 enum tlb_write_entry wmode) 251 { ··· 389 * TMP and PTR are scratch. 390 * TMP will be clobbered, PTR will hold the pmd entry. 391 */ 392 + static void __cpuinit 393 build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 394 unsigned int tmp, unsigned int ptr) 395 { ··· 450 * BVADDR is the faulting address, PTR is scratch. 451 * PTR will hold the pgd for vmalloc. 452 */ 453 + static void __cpuinit 454 build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 455 unsigned int bvaddr, unsigned int ptr) 456 { ··· 522 * TMP and PTR are scratch. 523 * TMP will be clobbered, PTR will hold the pgd entry. 524 */ 525 + static void __cpuinit __maybe_unused 526 build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) 527 { 528 long pgdc = (long)pgd_current; ··· 557 558 #endif /* !CONFIG_64BIT */ 559 560 + static void __cpuinit build_adjust_context(u32 **p, unsigned int ctx) 561 { 562 unsigned int shift = 4 - (PTE_T_LOG2 + 1) + PAGE_SHIFT - 12; 563 unsigned int mask = (PTRS_PER_PTE / 2 - 1) << (PTE_T_LOG2 + 1); ··· 583 uasm_i_andi(p, ctx, ctx, mask); 584 } 585 586 + static void __cpuinit build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 587 { 588 /* 589 * Bug workaround for the Nevada. It seems as if under certain ··· 608 UASM_i_ADDU(p, ptr, ptr, tmp); /* add in offset */ 609 } 610 611 + static void __cpuinit build_update_entries(u32 **p, unsigned int tmp, 612 unsigned int ptep) 613 { 614 /* ··· 651 #endif 652 } 653 654 + static void __cpuinit build_r4000_tlb_refill_handler(void) 655 { 656 u32 *p = tlb_handler; 657 struct uasm_label *l = labels; ··· 783 u32 handle_tlbs[FASTPATH_SIZE] __cacheline_aligned; 784 u32 handle_tlbm[FASTPATH_SIZE] __cacheline_aligned; 785 786 + static void __cpuinit 787 iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr) 788 { 789 #ifdef CONFIG_SMP ··· 803 #endif 804 } 805 806 + static void __cpuinit 807 iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr, 808 unsigned int mode) 809 { ··· 863 * the page table where this PTE is located, PTE will be re-loaded 864 * with it's original value. 865 */ 866 + static void __cpuinit 867 build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 868 unsigned int pte, unsigned int ptr, enum label_id lid) 869 { ··· 874 } 875 876 /* Make PTE valid, store result in PTR. */ 877 + static void __cpuinit 878 build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte, 879 unsigned int ptr) 880 { ··· 887 * Check if PTE can be written to, if not branch to LABEL. Regardless 888 * restore PTE with value from PTR when done. 889 */ 890 + static void __cpuinit 891 build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 892 unsigned int pte, unsigned int ptr, enum label_id lid) 893 { ··· 900 /* Make PTE writable, update software status bits as well, then store 901 * at PTR. 902 */ 903 + static void __cpuinit 904 build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte, 905 unsigned int ptr) 906 { ··· 914 * Check if PTE can be modified, if not branch to LABEL. Regardless 915 * restore PTE with value from PTR when done. 916 */ 917 + static void __cpuinit 918 build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 919 unsigned int pte, unsigned int ptr, enum label_id lid) 920 { ··· 931 * This places the pte into ENTRYLO0 and writes it with tlbwi. 932 * Then it returns. 933 */ 934 + static void __cpuinit 935 build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp) 936 { 937 uasm_i_mtc0(p, pte, C0_ENTRYLO0); /* cp0 delay */ ··· 947 * may have the probe fail bit set as a result of a trap on a 948 * kseg2 access, i.e. without refill. Then it returns. 949 */ 950 + static void __cpuinit 951 build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l, 952 struct uasm_reloc **r, unsigned int pte, 953 unsigned int tmp) ··· 965 uasm_i_rfe(p); /* branch delay */ 966 } 967 968 + static void __cpuinit 969 build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte, 970 unsigned int ptr) 971 { ··· 985 uasm_i_tlbp(p); /* load delay */ 986 } 987 988 + static void __cpuinit build_r3000_tlb_load_handler(void) 989 { 990 u32 *p = handle_tlbl; 991 struct uasm_label *l = labels; ··· 1015 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1016 } 1017 1018 + static void __cpuinit build_r3000_tlb_store_handler(void) 1019 { 1020 u32 *p = handle_tlbs; 1021 struct uasm_label *l = labels; ··· 1045 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1046 } 1047 1048 + static void __cpuinit build_r3000_tlb_modify_handler(void) 1049 { 1050 u32 *p = handle_tlbm; 1051 struct uasm_label *l = labels; ··· 1078 /* 1079 * R4000 style TLB load/store/modify handlers. 1080 */ 1081 + static void __cpuinit 1082 build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l, 1083 struct uasm_reloc **r, unsigned int pte, 1084 unsigned int ptr) ··· 1103 build_tlb_probe_entry(p); 1104 } 1105 1106 + static void __cpuinit 1107 build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l, 1108 struct uasm_reloc **r, unsigned int tmp, 1109 unsigned int ptr) ··· 1120 #endif 1121 } 1122 1123 + static void __cpuinit build_r4000_tlb_load_handler(void) 1124 { 1125 u32 *p = handle_tlbl; 1126 struct uasm_label *l = labels; ··· 1160 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1161 } 1162 1163 + static void __cpuinit build_r4000_tlb_store_handler(void) 1164 { 1165 u32 *p = handle_tlbs; 1166 struct uasm_label *l = labels; ··· 1191 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1192 } 1193 1194 + static void __cpuinit build_r4000_tlb_modify_handler(void) 1195 { 1196 u32 *p = handle_tlbm; 1197 struct uasm_label *l = labels; ··· 1223 dump_handler(handle_tlbm, ARRAY_SIZE(handle_tlbm)); 1224 } 1225 1226 + void __cpuinit build_tlb_refill_handler(void) 1227 { 1228 /* 1229 * The refill handler is generated per-CPU, multi-node systems ··· 1269 } 1270 } 1271 1272 + void __cpuinit flush_tlb_handlers(void) 1273 { 1274 flush_icache_range((unsigned long)handle_tlbl, 1275 (unsigned long)handle_tlbl + sizeof(handle_tlbl));
+34 -34
arch/mips/mm/uasm.c
··· 82 | (e) << RE_SH \ 83 | (f) << FUNC_SH) 84 85 - static struct insn insn_table[] __initdata = { 86 { insn_addiu, M(addiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, 87 { insn_addu, M(spec_op, 0, 0, 0, 0, addu_op), RS | RT | RD }, 88 { insn_and, M(spec_op, 0, 0, 0, 0, and_op), RS | RT | RD }, ··· 135 136 #undef M 137 138 - static inline __init u32 build_rs(u32 arg) 139 { 140 if (arg & ~RS_MASK) 141 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 143 return (arg & RS_MASK) << RS_SH; 144 } 145 146 - static inline __init u32 build_rt(u32 arg) 147 { 148 if (arg & ~RT_MASK) 149 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 151 return (arg & RT_MASK) << RT_SH; 152 } 153 154 - static inline __init u32 build_rd(u32 arg) 155 { 156 if (arg & ~RD_MASK) 157 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 159 return (arg & RD_MASK) << RD_SH; 160 } 161 162 - static inline __init u32 build_re(u32 arg) 163 { 164 if (arg & ~RE_MASK) 165 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 167 return (arg & RE_MASK) << RE_SH; 168 } 169 170 - static inline __init u32 build_simm(s32 arg) 171 { 172 if (arg > 0x7fff || arg < -0x8000) 173 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 175 return arg & 0xffff; 176 } 177 178 - static inline __init u32 build_uimm(u32 arg) 179 { 180 if (arg & ~IMM_MASK) 181 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 183 return arg & IMM_MASK; 184 } 185 186 - static inline __init u32 build_bimm(s32 arg) 187 { 188 if (arg > 0x1ffff || arg < -0x20000) 189 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 194 return ((arg < 0) ? (1 << 15) : 0) | ((arg >> 2) & 0x7fff); 195 } 196 197 - static inline __init u32 build_jimm(u32 arg) 198 { 199 if (arg & ~((JIMM_MASK) << 2)) 200 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 202 return (arg >> 2) & JIMM_MASK; 203 } 204 205 - static inline __init u32 build_func(u32 arg) 206 { 207 if (arg & ~FUNC_MASK) 208 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 210 return arg & FUNC_MASK; 211 } 212 213 - static inline __init u32 build_set(u32 arg) 214 { 215 if (arg & ~SET_MASK) 216 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 222 * The order of opcode arguments is implicitly left to right, 223 * starting with RS and ending with FUNC or IMM. 224 */ 225 - static void __init build_insn(u32 **buf, enum opcode opc, ...) 226 { 227 struct insn *ip = NULL; 228 unsigned int i; ··· 375 I_u2u1u3(_xori) 376 377 /* Handle labels. */ 378 - void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid) 379 { 380 (*lab)->addr = addr; 381 (*lab)->lab = lid; 382 (*lab)++; 383 } 384 385 - int __init uasm_in_compat_space_p(long addr) 386 { 387 /* Is this address in 32bit compat space? */ 388 #ifdef CONFIG_64BIT ··· 392 #endif 393 } 394 395 - int __init uasm_rel_highest(long val) 396 { 397 #ifdef CONFIG_64BIT 398 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000; ··· 401 #endif 402 } 403 404 - int __init uasm_rel_higher(long val) 405 { 406 #ifdef CONFIG_64BIT 407 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000; ··· 410 #endif 411 } 412 413 - int __init uasm_rel_hi(long val) 414 { 415 return ((((val + 0x8000L) >> 16) & 0xffff) ^ 0x8000) - 0x8000; 416 } 417 418 - int __init uasm_rel_lo(long val) 419 { 420 return ((val & 0xffff) ^ 0x8000) - 0x8000; 421 } 422 423 - void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr) 424 { 425 if (!uasm_in_compat_space_p(addr)) { 426 uasm_i_lui(buf, rs, uasm_rel_highest(addr)); ··· 436 uasm_i_lui(buf, rs, uasm_rel_hi(addr)); 437 } 438 439 - void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr) 440 { 441 UASM_i_LA_mostly(buf, rs, addr); 442 if (uasm_rel_lo(addr)) { ··· 448 } 449 450 /* Handle relocations. */ 451 - void __init 452 uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid) 453 { 454 (*rel)->addr = addr; ··· 457 (*rel)++; 458 } 459 460 - static inline void __init 461 __resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 462 { 463 long laddr = (long)lab->addr; ··· 474 } 475 } 476 477 - void __init 478 uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 479 { 480 struct uasm_label *l; ··· 485 __resolve_relocs(rel, l); 486 } 487 488 - void __init 489 uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off) 490 { 491 for (; rel->lab != UASM_LABEL_INVALID; rel++) ··· 493 rel->addr += off; 494 } 495 496 - void __init 497 uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off) 498 { 499 for (; lab->lab != UASM_LABEL_INVALID; lab++) ··· 501 lab->addr += off; 502 } 503 504 - void __init 505 uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, 506 u32 *end, u32 *target) 507 { ··· 513 uasm_move_labels(lab, first, end, off); 514 } 515 516 - int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr) 517 { 518 for (; rel->lab != UASM_LABEL_INVALID; rel++) { 519 if (rel->addr == addr ··· 526 } 527 528 /* Convenience functions for labeled branches. */ 529 - void __init 530 uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 531 { 532 uasm_r_mips_pc16(r, *p, lid); 533 uasm_i_bltz(p, reg, 0); 534 } 535 536 - void __init 537 uasm_il_b(u32 **p, struct uasm_reloc **r, int lid) 538 { 539 uasm_r_mips_pc16(r, *p, lid); 540 uasm_i_b(p, 0); 541 } 542 543 - void __init 544 uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 545 { 546 uasm_r_mips_pc16(r, *p, lid); 547 uasm_i_beqz(p, reg, 0); 548 } 549 550 - void __init 551 uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 552 { 553 uasm_r_mips_pc16(r, *p, lid); 554 uasm_i_beqzl(p, reg, 0); 555 } 556 557 - void __init 558 uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 559 { 560 uasm_r_mips_pc16(r, *p, lid); 561 uasm_i_bnez(p, reg, 0); 562 } 563 564 - void __init 565 uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 566 { 567 uasm_r_mips_pc16(r, *p, lid); 568 uasm_i_bgezl(p, reg, 0); 569 } 570 571 - void __init 572 uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 573 { 574 uasm_r_mips_pc16(r, *p, lid);
··· 82 | (e) << RE_SH \ 83 | (f) << FUNC_SH) 84 85 + static struct insn insn_table[] __cpuinitdata = { 86 { insn_addiu, M(addiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, 87 { insn_addu, M(spec_op, 0, 0, 0, 0, addu_op), RS | RT | RD }, 88 { insn_and, M(spec_op, 0, 0, 0, 0, and_op), RS | RT | RD }, ··· 135 136 #undef M 137 138 + static inline __cpuinit u32 build_rs(u32 arg) 139 { 140 if (arg & ~RS_MASK) 141 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 143 return (arg & RS_MASK) << RS_SH; 144 } 145 146 + static inline __cpuinit u32 build_rt(u32 arg) 147 { 148 if (arg & ~RT_MASK) 149 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 151 return (arg & RT_MASK) << RT_SH; 152 } 153 154 + static inline __cpuinit u32 build_rd(u32 arg) 155 { 156 if (arg & ~RD_MASK) 157 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 159 return (arg & RD_MASK) << RD_SH; 160 } 161 162 + static inline __cpuinit u32 build_re(u32 arg) 163 { 164 if (arg & ~RE_MASK) 165 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 167 return (arg & RE_MASK) << RE_SH; 168 } 169 170 + static inline __cpuinit u32 build_simm(s32 arg) 171 { 172 if (arg > 0x7fff || arg < -0x8000) 173 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 175 return arg & 0xffff; 176 } 177 178 + static inline __cpuinit u32 build_uimm(u32 arg) 179 { 180 if (arg & ~IMM_MASK) 181 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 183 return arg & IMM_MASK; 184 } 185 186 + static inline __cpuinit u32 build_bimm(s32 arg) 187 { 188 if (arg > 0x1ffff || arg < -0x20000) 189 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 194 return ((arg < 0) ? (1 << 15) : 0) | ((arg >> 2) & 0x7fff); 195 } 196 197 + static inline __cpuinit u32 build_jimm(u32 arg) 198 { 199 if (arg & ~((JIMM_MASK) << 2)) 200 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 202 return (arg >> 2) & JIMM_MASK; 203 } 204 205 + static inline __cpuinit u32 build_func(u32 arg) 206 { 207 if (arg & ~FUNC_MASK) 208 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 210 return arg & FUNC_MASK; 211 } 212 213 + static inline __cpuinit u32 build_set(u32 arg) 214 { 215 if (arg & ~SET_MASK) 216 printk(KERN_WARNING "Micro-assembler field overflow\n"); ··· 222 * The order of opcode arguments is implicitly left to right, 223 * starting with RS and ending with FUNC or IMM. 224 */ 225 + static void __cpuinit build_insn(u32 **buf, enum opcode opc, ...) 226 { 227 struct insn *ip = NULL; 228 unsigned int i; ··· 375 I_u2u1u3(_xori) 376 377 /* Handle labels. */ 378 + void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid) 379 { 380 (*lab)->addr = addr; 381 (*lab)->lab = lid; 382 (*lab)++; 383 } 384 385 + int __cpuinit uasm_in_compat_space_p(long addr) 386 { 387 /* Is this address in 32bit compat space? */ 388 #ifdef CONFIG_64BIT ··· 392 #endif 393 } 394 395 + int __cpuinit uasm_rel_highest(long val) 396 { 397 #ifdef CONFIG_64BIT 398 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000; ··· 401 #endif 402 } 403 404 + int __cpuinit uasm_rel_higher(long val) 405 { 406 #ifdef CONFIG_64BIT 407 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000; ··· 410 #endif 411 } 412 413 + int __cpuinit uasm_rel_hi(long val) 414 { 415 return ((((val + 0x8000L) >> 16) & 0xffff) ^ 0x8000) - 0x8000; 416 } 417 418 + int __cpuinit uasm_rel_lo(long val) 419 { 420 return ((val & 0xffff) ^ 0x8000) - 0x8000; 421 } 422 423 + void __cpuinit UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr) 424 { 425 if (!uasm_in_compat_space_p(addr)) { 426 uasm_i_lui(buf, rs, uasm_rel_highest(addr)); ··· 436 uasm_i_lui(buf, rs, uasm_rel_hi(addr)); 437 } 438 439 + void __cpuinit UASM_i_LA(u32 **buf, unsigned int rs, long addr) 440 { 441 UASM_i_LA_mostly(buf, rs, addr); 442 if (uasm_rel_lo(addr)) { ··· 448 } 449 450 /* Handle relocations. */ 451 + void __cpuinit 452 uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid) 453 { 454 (*rel)->addr = addr; ··· 457 (*rel)++; 458 } 459 460 + static inline void __cpuinit 461 __resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 462 { 463 long laddr = (long)lab->addr; ··· 474 } 475 } 476 477 + void __cpuinit 478 uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 479 { 480 struct uasm_label *l; ··· 485 __resolve_relocs(rel, l); 486 } 487 488 + void __cpuinit 489 uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off) 490 { 491 for (; rel->lab != UASM_LABEL_INVALID; rel++) ··· 493 rel->addr += off; 494 } 495 496 + void __cpuinit 497 uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off) 498 { 499 for (; lab->lab != UASM_LABEL_INVALID; lab++) ··· 501 lab->addr += off; 502 } 503 504 + void __cpuinit 505 uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, 506 u32 *end, u32 *target) 507 { ··· 513 uasm_move_labels(lab, first, end, off); 514 } 515 516 + int __cpuinit uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr) 517 { 518 for (; rel->lab != UASM_LABEL_INVALID; rel++) { 519 if (rel->addr == addr ··· 526 } 527 528 /* Convenience functions for labeled branches. */ 529 + void __cpuinit 530 uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 531 { 532 uasm_r_mips_pc16(r, *p, lid); 533 uasm_i_bltz(p, reg, 0); 534 } 535 536 + void __cpuinit 537 uasm_il_b(u32 **p, struct uasm_reloc **r, int lid) 538 { 539 uasm_r_mips_pc16(r, *p, lid); 540 uasm_i_b(p, 0); 541 } 542 543 + void __cpuinit 544 uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 545 { 546 uasm_r_mips_pc16(r, *p, lid); 547 uasm_i_beqz(p, reg, 0); 548 } 549 550 + void __cpuinit 551 uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 552 { 553 uasm_r_mips_pc16(r, *p, lid); 554 uasm_i_beqzl(p, reg, 0); 555 } 556 557 + void __cpuinit 558 uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 559 { 560 uasm_r_mips_pc16(r, *p, lid); 561 uasm_i_bnez(p, reg, 0); 562 } 563 564 + void __cpuinit 565 uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 566 { 567 uasm_r_mips_pc16(r, *p, lid); 568 uasm_i_bgezl(p, reg, 0); 569 } 570 571 + void __cpuinit 572 uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 573 { 574 uasm_r_mips_pc16(r, *p, lid);
+33 -43
arch/mips/mm/uasm.h
··· 11 #include <linux/types.h> 12 13 #define Ip_u1u2u3(op) \ 14 - void __init \ 15 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 16 17 #define Ip_u2u1u3(op) \ 18 - void __init \ 19 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 20 21 #define Ip_u3u1u2(op) \ 22 - void __init \ 23 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 24 25 #define Ip_u1u2s3(op) \ 26 - void __init \ 27 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 28 29 #define Ip_u2s3u1(op) \ 30 - void __init \ 31 uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c) 32 33 #define Ip_u2u1s3(op) \ 34 - void __init \ 35 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 36 37 #define Ip_u1u2(op) \ 38 - void __init uasm_i##op(u32 **buf, unsigned int a, unsigned int b) 39 40 #define Ip_u1s2(op) \ 41 - void __init uasm_i##op(u32 **buf, unsigned int a, signed int b) 42 43 - #define Ip_u1(op) void __init uasm_i##op(u32 **buf, unsigned int a) 44 45 - #define Ip_0(op) void __init uasm_i##op(u32 **buf) 46 47 Ip_u2u1s3(_addiu); 48 Ip_u3u1u2(_addu); ··· 98 int lab; 99 }; 100 101 - void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); 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); 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); 111 112 #define UASM_L_LA(lb) \ 113 - static inline void __init uasm_l##lb(struct uasm_label **lab, u32 *addr) \ 114 { \ 115 uasm_build_label(lab, addr, label##lb); \ 116 } ··· 164 /* This is zero so we can use zeroed label arrays. */ 165 #define UASM_LABEL_INVALID 0 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); 178 179 /* 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);
··· 11 #include <linux/types.h> 12 13 #define Ip_u1u2u3(op) \ 14 + void __cpuinit \ 15 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 16 17 #define Ip_u2u1u3(op) \ 18 + void __cpuinit \ 19 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 20 21 #define Ip_u3u1u2(op) \ 22 + void __cpuinit \ 23 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 24 25 #define Ip_u1u2s3(op) \ 26 + void __cpuinit \ 27 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 28 29 #define Ip_u2s3u1(op) \ 30 + void __cpuinit \ 31 uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c) 32 33 #define Ip_u2u1s3(op) \ 34 + void __cpuinit \ 35 uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 36 37 #define Ip_u1u2(op) \ 38 + void __cpuinit uasm_i##op(u32 **buf, unsigned int a, unsigned int b) 39 40 #define Ip_u1s2(op) \ 41 + void __cpuinit uasm_i##op(u32 **buf, unsigned int a, signed int b) 42 43 + #define Ip_u1(op) void __cpuinit uasm_i##op(u32 **buf, unsigned int a) 44 45 + #define Ip_0(op) void __cpuinit uasm_i##op(u32 **buf) 46 47 Ip_u2u1s3(_addiu); 48 Ip_u3u1u2(_addu); ··· 98 int lab; 99 }; 100 101 + void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); 102 #ifdef CONFIG_64BIT 103 + int uasm_in_compat_space_p(long addr); 104 + int uasm_rel_highest(long val); 105 + int uasm_rel_higher(long val); 106 #endif 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 112 #define UASM_L_LA(lb) \ 113 + static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \ 114 { \ 115 uasm_build_label(lab, addr, label##lb); \ 116 } ··· 164 /* This is zero so we can use zeroed label arrays. */ 165 #define UASM_LABEL_INVALID 0 166 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); 174 175 /* Convenience functions for labeled branches. */ 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 * XXX ehs: Should this happen in PCI Device mode? 250 */ 251 252 - set_io_port_base((unsigned long) 253 - ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536)); 254 isa_slot_offset = (unsigned long) 255 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024); 256
··· 249 * XXX ehs: Should this happen in PCI Device mode? 250 */ 251 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); 255 isa_slot_offset = (unsigned long) 256 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024); 257
+1 -1
arch/mips/pci/pci-ip27.c
··· 40 41 extern struct pci_ops bridge_pci_ops; 42 43 - int __init bridge_probe(nasid_t nasid, int widget_id, int masterwid) 44 { 45 unsigned long offset = NODE_OFFSET(nasid); 46 struct bridge_controller *bc;
··· 40 41 extern struct pci_ops bridge_pci_ops; 42 43 + int __cpuinit bridge_probe(nasid_t nasid, int widget_id, int masterwid) 44 { 45 unsigned long offset = NODE_OFFSET(nasid); 46 struct bridge_controller *bc;
+1 -1
arch/mips/pci/pci.c
··· 260 } 261 } 262 263 - void pcibios_fixup_bus(struct pci_bus *bus) 264 { 265 /* Propagate hose info into the subordinate devices. */ 266
··· 260 } 261 } 262 263 + void __devinit pcibios_fixup_bus(struct pci_bus *bus) 264 { 265 /* Propagate hose info into the subordinate devices. */ 266
+3 -3
arch/mips/pmc-sierra/yosemite/smp.c
··· 7 8 #define LAUNCHSTACK_SIZE 256 9 10 - static __initdata DEFINE_SPINLOCK(launch_lock); 11 12 - static unsigned long secondary_sp __initdata; 13 - static unsigned long secondary_gp __initdata; 14 15 static unsigned char launchstack[LAUNCHSTACK_SIZE] __initdata 16 __attribute__((aligned(2 * sizeof(long))));
··· 7 8 #define LAUNCHSTACK_SIZE 256 9 10 + static __cpuinitdata DEFINE_SPINLOCK(launch_lock); 11 12 + static unsigned long secondary_sp __cpuinitdata; 13 + static unsigned long secondary_gp __cpuinitdata; 14 15 static unsigned char launchstack[LAUNCHSTACK_SIZE] __initdata 16 __attribute__((aligned(2 * sizeof(long))));
+1 -1
arch/mips/sgi-ip27/ip27-init.c
··· 53 54 extern void xtalk_probe_node(cnodeid_t nid); 55 56 - static void __init per_hub_init(cnodeid_t cnode) 57 { 58 struct hub_data *hub = hub_data(cnode); 59 nasid_t nasid = COMPACT_TO_NASID_NODEID(cnode);
··· 53 54 extern void xtalk_probe_node(cnodeid_t nid); 55 56 + static void __cpuinit per_hub_init(cnodeid_t cnode) 57 { 58 struct hub_data *hub = hub_data(cnode); 59 nasid_t nasid = COMPACT_TO_NASID_NODEID(cnode);
+1 -1
arch/mips/sgi-ip27/ip27-timer.c
··· 285 set_c0_status(SRB_TIMOCLK); 286 } 287 288 - void __init hub_rtc_init(cnodeid_t cnode) 289 { 290 /* 291 * We only need to initialize the current node.
··· 285 set_c0_status(SRB_TIMOCLK); 286 } 287 288 + void __cpuinit hub_rtc_init(cnodeid_t cnode) 289 { 290 /* 291 * We only need to initialize the current node.
+3 -3
arch/mips/sgi-ip27/ip27-xtalk.c
··· 22 23 extern int bridge_probe(nasid_t nasid, int widget, int masterwid); 24 25 - static int __init probe_one_port(nasid_t nasid, int widget, int masterwid) 26 { 27 widgetreg_t widget_id; 28 xwidget_part_num_t partnum; ··· 46 return 0; 47 } 48 49 - static int __init xbow_probe(nasid_t nasid) 50 { 51 lboard_t *brd; 52 klxbow_t *xbow_p; ··· 99 return 0; 100 } 101 102 - void __init xtalk_probe_node(cnodeid_t nid) 103 { 104 volatile u64 hubreg; 105 nasid_t nasid;
··· 22 23 extern int bridge_probe(nasid_t nasid, int widget, int masterwid); 24 25 + static int __cpuinit probe_one_port(nasid_t nasid, int widget, int masterwid) 26 { 27 widgetreg_t widget_id; 28 xwidget_part_num_t partnum; ··· 46 return 0; 47 } 48 49 + static int __cpuinit xbow_probe(nasid_t nasid) 50 { 51 lboard_t *brd; 52 klxbow_t *xbow_p; ··· 99 return 0; 100 } 101 102 + void __cpuinit xtalk_probe_node(cnodeid_t nid) 103 { 104 volatile u64 hubreg; 105 nasid_t nasid;
+1 -1
arch/powerpc/Makefile
··· 155 156 CPPFLAGS_vmlinux.lds := -Upowerpc 157 158 - BOOT_TARGETS = zImage zImage.initrd uImage treeImage.% cuImage.% 159 160 PHONY += $(BOOT_TARGETS) 161
··· 155 156 CPPFLAGS_vmlinux.lds := -Upowerpc 157 158 + BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% 159 160 PHONY += $(BOOT_TARGETS) 161
+10 -8
arch/powerpc/boot/Makefile
··· 186 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 187 image-$(CONFIG_PPC_MAPLE) += zImage.pseries 188 image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 189 - image-$(CONFIG_PPC_PS3) += zImage-dtb.ps3 190 image-$(CONFIG_PPC_CELLEB) += zImage.pseries 191 image-$(CONFIG_PPC_CHRP) += zImage.chrp 192 image-$(CONFIG_PPC_EFIKA) += zImage.chrp ··· 205 # 206 207 # Board ports in arch/powerpc/platform/40x/Kconfig 208 - image-$(CONFIG_EP405) += zImage-dtb.ep405 209 image-$(CONFIG_WALNUT) += treeImage.walnut 210 211 # Board ports in arch/powerpc/platform/44x/Kconfig ··· 220 # Board ports in arch/powerpc/platform/8xx/Kconfig 221 image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads 222 image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads 223 - image-$(CONFIG_PPC_EP88XC) += zImage-dtb.ep88xc 224 image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ 225 - zImage-dtb.adder875-redboot 226 227 # Board ports in arch/powerpc/platform/52xx/Kconfig 228 image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b ··· 230 # Board ports in arch/powerpc/platform/82xx/Kconfig 231 image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads 232 image-$(CONFIG_PQ2FADS) += cuImage.pq2fads 233 - image-$(CONFIG_EP8248E) += zImage-dtb.ep8248e 234 235 # Board ports in arch/powerpc/platform/83xx/Kconfig 236 image-$(CONFIG_MPC832x_MDS) += cuImage.mpc832x_mds ··· 268 269 initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) 270 initrd-y := $(patsubst zImage%, zImage.initrd%, \ 271 - $(patsubst treeImage%, treeImage.initrd%, $(image-y))) 272 initrd-y := $(filter-out $(image-y), $(initrd-y)) 273 targets += $(image-y) $(initrd-y) 274 ··· 284 $(obj)/zImage.%: vmlinux $(wrapperbits) 285 $(call if_changed,wrap,$*) 286 287 - $(obj)/zImage-dtb.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 288 $(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz) 289 290 - $(obj)/zImage-dtb.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 291 $(call if_changed,wrap,$*,$(dtstree)/$*.dts) 292 293 # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
··· 186 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 187 image-$(CONFIG_PPC_MAPLE) += zImage.pseries 188 image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 189 + image-$(CONFIG_PPC_PS3) += dtbImage.ps3 190 image-$(CONFIG_PPC_CELLEB) += zImage.pseries 191 image-$(CONFIG_PPC_CHRP) += zImage.chrp 192 image-$(CONFIG_PPC_EFIKA) += zImage.chrp ··· 205 # 206 207 # Board ports in arch/powerpc/platform/40x/Kconfig 208 + image-$(CONFIG_EP405) += dtbImage.ep405 209 image-$(CONFIG_WALNUT) += treeImage.walnut 210 211 # Board ports in arch/powerpc/platform/44x/Kconfig ··· 220 # Board ports in arch/powerpc/platform/8xx/Kconfig 221 image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads 222 image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads 223 + image-$(CONFIG_PPC_EP88XC) += dtbImage.ep88xc 224 image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ 225 + dtbImage.adder875-redboot 226 227 # Board ports in arch/powerpc/platform/52xx/Kconfig 228 image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b ··· 230 # Board ports in arch/powerpc/platform/82xx/Kconfig 231 image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads 232 image-$(CONFIG_PQ2FADS) += cuImage.pq2fads 233 + image-$(CONFIG_EP8248E) += dtbImage.ep8248e 234 235 # Board ports in arch/powerpc/platform/83xx/Kconfig 236 image-$(CONFIG_MPC832x_MDS) += cuImage.mpc832x_mds ··· 268 269 initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) 270 initrd-y := $(patsubst zImage%, zImage.initrd%, \ 271 + $(patsubst dtbImage%, dtbImage.initrd%, \ 272 + $(patsubst treeImage%, treeImage.initrd%, $(image-y)))) 273 initrd-y := $(filter-out $(image-y), $(initrd-y)) 274 targets += $(image-y) $(initrd-y) 275 ··· 283 $(obj)/zImage.%: vmlinux $(wrapperbits) 284 $(call if_changed,wrap,$*) 285 286 + # dtbImage% - a dtbImage is a zImage with an embedded device tree blob 287 + $(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 288 $(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz) 289 290 + $(obj)/dtbImage.%: vmlinux $(wrapperbits) $(dtstree)/%.dts 291 $(call if_changed,wrap,$*,$(dtstree)/$*.dts) 292 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 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 49 50 soc@e0000000 { 51 #address-cells = <1>; 52 #size-cells = <1>; ··· 157 mode = "cpu"; 158 }; 159 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 usb@23000 { 162 compatible = "fsl-usb2-dr"; 163 reg = <0x23000 0x1000>; ··· 164 #size-cells = <0>; 165 interrupt-parent = <&ipic>; 166 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 168 }; 169 170 mdio@24520 {
··· 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 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 + 116 soc@e0000000 { 117 #address-cells = <1>; 118 #size-cells = <1>; ··· 91 mode = "cpu"; 92 }; 93 94 usb@23000 { 95 compatible = "fsl-usb2-dr"; 96 reg = <0x23000 0x1000>; ··· 99 #size-cells = <0>; 100 interrupt-parent = <&ipic>; 101 interrupts = <38 0x8>; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 104 }; 105 106 mdio@24520 {
+68 -2
arch/powerpc/boot/dts/mpc8378_mds.dts
··· 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 49 50 soc@e0000000 { 51 #address-cells = <1>; 52 #size-cells = <1>; ··· 157 mode = "cpu"; 158 }; 159 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 usb@23000 { 162 compatible = "fsl-usb2-dr"; 163 reg = <0x23000 0x1000>; ··· 164 #size-cells = <0>; 165 interrupt-parent = <&ipic>; 166 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 168 }; 169 170 mdio@24520 {
··· 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 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 + 116 soc@e0000000 { 117 #address-cells = <1>; 118 #size-cells = <1>; ··· 91 mode = "cpu"; 92 }; 93 94 usb@23000 { 95 compatible = "fsl-usb2-dr"; 96 reg = <0x23000 0x1000>; ··· 99 #size-cells = <0>; 100 interrupt-parent = <&ipic>; 101 interrupts = <38 0x8>; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 104 }; 105 106 mdio@24520 {
+68 -2
arch/powerpc/boot/dts/mpc8379_mds.dts
··· 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 49 50 soc@e0000000 { 51 #address-cells = <1>; 52 #size-cells = <1>; ··· 157 mode = "cpu"; 158 }; 159 160 - /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 161 usb@23000 { 162 compatible = "fsl-usb2-dr"; 163 reg = <0x23000 0x1000>; ··· 164 #size-cells = <0>; 165 interrupt-parent = <&ipic>; 166 interrupts = <38 0x8>; 167 - phy_type = "utmi_wide"; 168 }; 169 170 mdio@24520 {
··· 47 reg = <0x00000000 0x20000000>; // 512MB at 0 48 }; 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 + 116 soc@e0000000 { 117 #address-cells = <1>; 118 #size-cells = <1>; ··· 91 mode = "cpu"; 92 }; 93 94 usb@23000 { 95 compatible = "fsl-usb2-dr"; 96 reg = <0x23000 0x1000>; ··· 99 #size-cells = <0>; 100 interrupt-parent = <&ipic>; 101 interrupts = <38 0x8>; 102 + dr_mode = "host"; 103 + phy_type = "ulpi"; 104 }; 105 106 mdio@24520 {
+11 -5
arch/powerpc/boot/dts/sbc8548.dts
··· 184 cell-index = <0>; 185 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 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>; 192 193 interrupt-parent = <&mpic>; 194 interrupts = <0x18 0x2>;
··· 184 cell-index = <0>; 185 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 186 interrupt-map = < 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>; 198 199 interrupt-parent = <&mpic>; 200 interrupts = <0x18 0x2>;
+5 -1
arch/powerpc/boot/wrapper
··· 191 ksection=.kernel:vmlinux.bin 192 isection=.kernel:initrd 193 ;; 194 - ep88xc|ep405|redboot*|ep8248e) 195 platformo="$object/fixed-head.o $object/$platform.o" 196 binary=y 197 ;; 198 esac
··· 191 ksection=.kernel:vmlinux.bin 192 isection=.kernel:initrd 193 ;; 194 + ep88xc|ep405|ep8248e) 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" 200 binary=y 201 ;; 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 # 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc6 4 - # Thu Jan 17 16:17:18 2008 5 # 6 # CONFIG_PPC64 is not set 7 ··· 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 ··· 65 # CONFIG_POSIX_MQUEUE is not set 66 # CONFIG_BSD_PROCESS_ACCT is not set 67 # CONFIG_TASKSTATS is not set 68 - # CONFIG_USER_NS is not set 69 - # CONFIG_PID_NS is not set 70 # CONFIG_AUDIT is not set 71 # CONFIG_IKCONFIG is not set 72 CONFIG_LOG_BUF_SHIFT=14 73 # CONFIG_CGROUPS is not set 74 CONFIG_FAIR_GROUP_SCHED=y 75 - CONFIG_FAIR_USER_SCHED=y 76 - # CONFIG_FAIR_CGROUP_SCHED is not set 77 CONFIG_SYSFS_DEPRECATED=y 78 # CONFIG_RELAY is not set 79 # CONFIG_BLK_DEV_INITRD is not set 80 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 81 CONFIG_SYSCTL=y ··· 89 CONFIG_PRINTK=y 90 CONFIG_BUG=y 91 # CONFIG_ELF_CORE is not set 92 # CONFIG_BASE_FULL is not set 93 # CONFIG_FUTEX is not set 94 CONFIG_ANON_INODES=y 95 CONFIG_EPOLL=y 96 CONFIG_SIGNALFD=y 97 CONFIG_EVENTFD=y 98 CONFIG_SHMEM=y 99 # CONFIG_VM_EVENT_COUNTERS is not set ··· 103 # CONFIG_SLAB is not set 104 CONFIG_SLUB=y 105 # CONFIG_SLOB is not set 106 # CONFIG_TINY_SHMEM is not set 107 CONFIG_BASE_SMALL=1 108 # CONFIG_MODULES is not set ··· 130 # CONFIG_DEFAULT_CFQ is not set 131 # CONFIG_DEFAULT_NOOP is not set 132 CONFIG_DEFAULT_IOSCHED="deadline" 133 134 # 135 # Platform support 136 # 137 - # CONFIG_PPC_MPC52xx is not set 138 - # CONFIG_PPC_MPC5200 is not set 139 # CONFIG_PPC_CELL is not set 140 # CONFIG_PPC_CELL_NATIVE is not set 141 CONFIG_CPM1=y ··· 162 # CONFIG_I2C_SPI_UCODE_PATCH is not set 163 # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 164 # CONFIG_PQ2ADS is not set 165 # CONFIG_MPIC is not set 166 # CONFIG_MPIC_WEIRD is not set 167 # CONFIG_PPC_I8259 is not set ··· 173 # CONFIG_PPC_INDIRECT_IO is not set 174 # CONFIG_GENERIC_IOMAP is not set 175 # CONFIG_CPU_FREQ is not set 176 - # CONFIG_CPM2 is not set 177 CONFIG_PPC_CPM_NEW_BINDING=y 178 # CONFIG_FSL_ULI1575 is not set 179 CONFIG_CPM=y ··· 190 # CONFIG_HZ_300 is not set 191 CONFIG_HZ_1000=y 192 CONFIG_HZ=1000 193 CONFIG_PREEMPT_NONE=y 194 # CONFIG_PREEMPT_VOLUNTARY is not set 195 # CONFIG_PREEMPT is not set 196 CONFIG_BINFMT_ELF=y 197 # CONFIG_BINFMT_MISC is not set 198 # CONFIG_MATH_EMULATION is not set 199 # CONFIG_8XX_MINIMAL_FPEMU is not set 200 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 201 CONFIG_ARCH_FLATMEM_ENABLE=y 202 CONFIG_ARCH_POPULATES_NODE_MAP=y 203 CONFIG_SELECT_MEMORY_MODEL=y ··· 221 # CONFIG_PROC_DEVICETREE is not set 222 # CONFIG_CMDLINE_BOOL is not set 223 # CONFIG_PM is not set 224 - CONFIG_SUSPEND_UP_POSSIBLE=y 225 - CONFIG_HIBERNATION_UP_POSSIBLE=y 226 # CONFIG_SECCOMP is not set 227 - CONFIG_WANT_DEVICE_TREE=y 228 - CONFIG_DEVICE_TREE="adder875-uboot.dts" 229 CONFIG_ISA_DMA_API=y 230 231 # ··· 318 # 319 # CONFIG_NET_PKTGEN is not set 320 # CONFIG_HAMRADIO is not set 321 # CONFIG_IRDA is not set 322 # CONFIG_BT is not set 323 # CONFIG_AF_RXRPC is not set ··· 425 # CONFIG_PARPORT is not set 426 # CONFIG_BLK_DEV is not set 427 # CONFIG_MISC_DEVICES is not set 428 # CONFIG_IDE is not set 429 430 # ··· 460 # CONFIG_SMSC_PHY is not set 461 # CONFIG_BROADCOM_PHY is not set 462 # CONFIG_ICPLUS_PHY is not set 463 # CONFIG_FIXED_PHY is not set 464 # CONFIG_MDIO_BITBANG is not set 465 CONFIG_NET_ETHERNET=y ··· 485 # CONFIG_WAN is not set 486 # CONFIG_PPP is not set 487 # CONFIG_SLIP is not set 488 - # CONFIG_SHAPER is not set 489 # CONFIG_NETCONSOLE is not set 490 # CONFIG_NETPOLL is not set 491 # CONFIG_NET_POLL_CONTROLLER is not set ··· 589 # CONFIG_W1 is not set 590 # CONFIG_POWER_SUPPLY is not set 591 # CONFIG_HWMON is not set 592 # CONFIG_WATCHDOG is not set 593 594 # ··· 630 # CONFIG_HID_SUPPORT is not set 631 # CONFIG_USB_SUPPORT is not set 632 # CONFIG_MMC is not set 633 # CONFIG_NEW_LEDS is not set 634 # CONFIG_EDAC is not set 635 # CONFIG_RTC_CLASS is not set ··· 652 # CONFIG_XFS_FS is not set 653 # CONFIG_GFS2_FS is not set 654 # CONFIG_OCFS2_FS is not set 655 - # CONFIG_MINIX_FS is not set 656 - # CONFIG_ROMFS_FS is not set 657 # CONFIG_INOTIFY is not set 658 # CONFIG_QUOTA is not set 659 - # CONFIG_DNOTIFY is not set 660 # CONFIG_AUTOFS_FS is not set 661 # CONFIG_AUTOFS4_FS is not set 662 # CONFIG_FUSE_FS is not set ··· 697 # CONFIG_JFFS2_FS is not set 698 CONFIG_CRAMFS=y 699 # CONFIG_VXFS_FS is not set 700 # CONFIG_HPFS_FS is not set 701 # CONFIG_QNX4FS_FS is not set 702 # CONFIG_SYSV_FS is not set 703 # CONFIG_UFS_FS is not set 704 CONFIG_NETWORK_FILESYSTEMS=y ··· 747 # CONFIG_SYSV68_PARTITION is not set 748 # CONFIG_NLS is not set 749 # CONFIG_DLM is not set 750 - # CONFIG_UCC_SLOW is not set 751 752 # 753 # Library routines ··· 761 CONFIG_HAS_IOMEM=y 762 CONFIG_HAS_IOPORT=y 763 CONFIG_HAS_DMA=y 764 - CONFIG_INSTRUMENTATION=y 765 - # CONFIG_PROFILING is not set 766 - # CONFIG_MARKERS is not set 767 768 # 769 # Kernel hacking ··· 770 CONFIG_ENABLE_MUST_CHECK=y 771 CONFIG_MAGIC_SYSRQ=y 772 # CONFIG_UNUSED_SYMBOLS is not set 773 - # CONFIG_DEBUG_FS is not set 774 # CONFIG_HEADERS_CHECK is not set 775 CONFIG_DEBUG_KERNEL=y 776 # CONFIG_DEBUG_SHIRQ is not set ··· 779 # CONFIG_SCHEDSTATS is not set 780 # CONFIG_TIMER_STATS is not set 781 # CONFIG_SLUB_DEBUG_ON is not set 782 # CONFIG_DEBUG_SPINLOCK is not set 783 # CONFIG_DEBUG_MUTEXES is not set 784 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set ··· 790 # CONFIG_DEBUG_VM is not set 791 # CONFIG_DEBUG_LIST is not set 792 # CONFIG_DEBUG_SG is not set 793 - CONFIG_FORCED_INLINING=y 794 # CONFIG_BOOT_PRINTK_DELAY is not set 795 # CONFIG_FAULT_INJECTION is not set 796 # CONFIG_SAMPLES is not set 797 # CONFIG_DEBUG_STACKOVERFLOW is not set 798 # CONFIG_DEBUG_STACK_USAGE is not set 799 # CONFIG_DEBUG_PAGEALLOC is not set 800 # CONFIG_DEBUGGER is not set 801 # CONFIG_BDI_SWITCH is not set 802 # CONFIG_PPC_EARLY_DEBUG is not set 803
··· 1 # 2 # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.25-rc2 4 + # Wed Feb 20 12:26:07 2008 5 # 6 # CONFIG_PPC64 is not set 7 ··· 26 CONFIG_GENERIC_TIME_VSYSCALL=y 27 CONFIG_GENERIC_CLOCKEVENTS=y 28 CONFIG_GENERIC_HARDIRQS=y 29 + # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 30 CONFIG_IRQ_PER_CPU=y 31 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 64 # CONFIG_POSIX_MQUEUE is not set 65 # CONFIG_BSD_PROCESS_ACCT is not set 66 # CONFIG_TASKSTATS is not set 67 # CONFIG_AUDIT is not set 68 # CONFIG_IKCONFIG is not set 69 CONFIG_LOG_BUF_SHIFT=14 70 # CONFIG_CGROUPS is not set 71 + CONFIG_GROUP_SCHED=y 72 CONFIG_FAIR_GROUP_SCHED=y 73 + # CONFIG_RT_GROUP_SCHED is not set 74 + CONFIG_USER_SCHED=y 75 + # CONFIG_CGROUP_SCHED is not set 76 CONFIG_SYSFS_DEPRECATED=y 77 # CONFIG_RELAY is not set 78 + # CONFIG_NAMESPACES is not set 79 # CONFIG_BLK_DEV_INITRD is not set 80 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 81 CONFIG_SYSCTL=y ··· 87 CONFIG_PRINTK=y 88 CONFIG_BUG=y 89 # CONFIG_ELF_CORE is not set 90 + CONFIG_COMPAT_BRK=y 91 # CONFIG_BASE_FULL is not set 92 # CONFIG_FUTEX is not set 93 CONFIG_ANON_INODES=y 94 CONFIG_EPOLL=y 95 CONFIG_SIGNALFD=y 96 + CONFIG_TIMERFD=y 97 CONFIG_EVENTFD=y 98 CONFIG_SHMEM=y 99 # CONFIG_VM_EVENT_COUNTERS is not set ··· 99 # CONFIG_SLAB is not set 100 CONFIG_SLUB=y 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 108 # CONFIG_TINY_SHMEM is not set 109 CONFIG_BASE_SMALL=1 110 # CONFIG_MODULES is not set ··· 120 # CONFIG_DEFAULT_CFQ is not set 121 # CONFIG_DEFAULT_NOOP is not set 122 CONFIG_DEFAULT_IOSCHED="deadline" 123 + CONFIG_CLASSIC_RCU=y 124 + # CONFIG_PREEMPT_RCU is not set 125 126 # 127 # Platform support 128 # 129 + # CONFIG_PPC_MPC512x is not set 130 + # CONFIG_PPC_MPC5121 is not set 131 # CONFIG_PPC_CELL is not set 132 # CONFIG_PPC_CELL_NATIVE is not set 133 CONFIG_CPM1=y ··· 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_IPIC is not set 154 # CONFIG_MPIC is not set 155 # CONFIG_MPIC_WEIRD is not set 156 # CONFIG_PPC_I8259 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_PPC_CPM_NEW_BINDING=y 164 # CONFIG_FSL_ULI1575 is not set 165 CONFIG_CPM=y ··· 178 # CONFIG_HZ_300 is not set 179 CONFIG_HZ_1000=y 180 CONFIG_HZ=1000 181 + # CONFIG_SCHED_HRTICK is not set 182 CONFIG_PREEMPT_NONE=y 183 # CONFIG_PREEMPT_VOLUNTARY is not set 184 # CONFIG_PREEMPT is not set 185 + CONFIG_RCU_TRACE=y 186 CONFIG_BINFMT_ELF=y 187 # CONFIG_BINFMT_MISC is not set 188 # CONFIG_MATH_EMULATION is not set 189 # CONFIG_8XX_MINIMAL_FPEMU is not set 190 + # CONFIG_IOMMU_HELPER is not set 191 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 192 + CONFIG_ARCH_HAS_WALK_MEMORY=y 193 + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 194 CONFIG_ARCH_FLATMEM_ENABLE=y 195 CONFIG_ARCH_POPULATES_NODE_MAP=y 196 CONFIG_SELECT_MEMORY_MODEL=y ··· 204 # CONFIG_PROC_DEVICETREE is not set 205 # CONFIG_CMDLINE_BOOL is not set 206 # CONFIG_PM is not set 207 # CONFIG_SECCOMP is not set 208 CONFIG_ISA_DMA_API=y 209 210 # ··· 305 # 306 # CONFIG_NET_PKTGEN is not set 307 # CONFIG_HAMRADIO is not set 308 + # CONFIG_CAN is not set 309 # CONFIG_IRDA is not set 310 # CONFIG_BT is not set 311 # CONFIG_AF_RXRPC is not set ··· 411 # CONFIG_PARPORT is not set 412 # CONFIG_BLK_DEV is not set 413 # CONFIG_MISC_DEVICES is not set 414 + CONFIG_HAVE_IDE=y 415 # CONFIG_IDE is not set 416 417 # ··· 445 # CONFIG_SMSC_PHY is not set 446 # CONFIG_BROADCOM_PHY is not set 447 # CONFIG_ICPLUS_PHY is not set 448 + # CONFIG_REALTEK_PHY is not set 449 # CONFIG_FIXED_PHY is not set 450 # CONFIG_MDIO_BITBANG is not set 451 CONFIG_NET_ETHERNET=y ··· 469 # CONFIG_WAN is not set 470 # CONFIG_PPP is not set 471 # CONFIG_SLIP is not set 472 # CONFIG_NETCONSOLE is not set 473 # CONFIG_NETPOLL is not set 474 # CONFIG_NET_POLL_CONTROLLER is not set ··· 574 # CONFIG_W1 is not set 575 # CONFIG_POWER_SUPPLY is not set 576 # CONFIG_HWMON is not set 577 + CONFIG_THERMAL=y 578 # CONFIG_WATCHDOG is not set 579 580 # ··· 614 # CONFIG_HID_SUPPORT is not set 615 # CONFIG_USB_SUPPORT is not set 616 # CONFIG_MMC is not set 617 + # CONFIG_MEMSTICK is not set 618 # CONFIG_NEW_LEDS is not set 619 # CONFIG_EDAC is not set 620 # CONFIG_RTC_CLASS 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_DNOTIFY is not set 639 # CONFIG_INOTIFY is not set 640 # CONFIG_QUOTA is not set 641 # CONFIG_AUTOFS_FS is not set 642 # CONFIG_AUTOFS4_FS is not set 643 # CONFIG_FUSE_FS is not set ··· 682 # CONFIG_JFFS2_FS is not set 683 CONFIG_CRAMFS=y 684 # CONFIG_VXFS_FS is not set 685 + # CONFIG_MINIX_FS is not set 686 # CONFIG_HPFS_FS is not set 687 # CONFIG_QNX4FS_FS is not set 688 + # CONFIG_ROMFS_FS is not set 689 # CONFIG_SYSV_FS is not set 690 # CONFIG_UFS_FS is not set 691 CONFIG_NETWORK_FILESYSTEMS=y ··· 730 # CONFIG_SYSV68_PARTITION is not set 731 # CONFIG_NLS is not set 732 # CONFIG_DLM is not set 733 734 # 735 # Library routines ··· 745 CONFIG_HAS_IOMEM=y 746 CONFIG_HAS_IOPORT=y 747 CONFIG_HAS_DMA=y 748 749 # 750 # Kernel hacking ··· 757 CONFIG_ENABLE_MUST_CHECK=y 758 CONFIG_MAGIC_SYSRQ=y 759 # CONFIG_UNUSED_SYMBOLS is not set 760 + CONFIG_DEBUG_FS=y 761 # CONFIG_HEADERS_CHECK is not set 762 CONFIG_DEBUG_KERNEL=y 763 # CONFIG_DEBUG_SHIRQ is not set ··· 766 # CONFIG_SCHEDSTATS is not set 767 # CONFIG_TIMER_STATS is not set 768 # CONFIG_SLUB_DEBUG_ON is not set 769 + # CONFIG_SLUB_STATS is not set 770 # CONFIG_DEBUG_SPINLOCK is not set 771 # CONFIG_DEBUG_MUTEXES is not set 772 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set ··· 776 # CONFIG_DEBUG_VM is not set 777 # CONFIG_DEBUG_LIST is not set 778 # CONFIG_DEBUG_SG is not set 779 # CONFIG_BOOT_PRINTK_DELAY is not set 780 + # CONFIG_BACKTRACE_SELF_TEST 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_VIRQ_DEBUG is not set 788 # CONFIG_BDI_SWITCH is not set 789 # CONFIG_PPC_EARLY_DEBUG is not set 790
+29 -1
arch/powerpc/kernel/head_8xx.S
··· 332 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 333 lwz r10, 0(r11) /* Get the pte */ 334 335 ori r10, r10, _PAGE_ACCESSED 336 stw r10, 0(r11) 337 338 /* The Linux PTE won't go exactly into the MMU TLB. 339 * Software indicator bits 21, 22 and 28 must be clear. ··· 408 DO_8xx_CPU6(0x3b80, r3) 409 mtspr SPRN_MD_TWC, r11 410 411 - mfspr r11, SPRN_MD_TWC /* get the pte address again */ 412 ori r10, r10, _PAGE_ACCESSED 413 stw r10, 0(r11) 414 415 /* The Linux PTE won't go exactly into the MMU TLB. ··· 526 527 /* Update 'changed', among others. 528 */ 529 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 530 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 531 stw r10, 0(r11) /* and update pte in table */ 532
··· 332 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 333 lwz r10, 0(r11) /* Get the pte */ 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 344 ori r10, r10, _PAGE_ACCESSED 345 stw r10, 0(r11) 346 + #endif 347 348 /* The Linux PTE won't go exactly into the MMU TLB. 349 * Software indicator bits 21, 22 and 28 must be clear. ··· 398 DO_8xx_CPU6(0x3b80, r3) 399 mtspr SPRN_MD_TWC, r11 400 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 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 */ 412 stw r10, 0(r11) 413 414 /* The Linux PTE won't go exactly into the MMU TLB. ··· 507 508 /* Update 'changed', among others. 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 518 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 519 + #endif 520 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 521 stw r10, 0(r11) /* and update pte in table */ 522
+15
arch/powerpc/kernel/misc_32.S
··· 785 or r4,r4,r7 # LSW |= t2 786 blr 787 788 _GLOBAL(abs) 789 srawi r4,r3,31 790 xor r3,r3,r4
··· 785 or r4,r4,r7 # LSW |= t2 786 blr 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 + 803 _GLOBAL(abs) 804 srawi r4,r3,31 805 xor r3,r3,r4
+7 -1
arch/powerpc/kernel/pci-common.c
··· 748 struct resource *res = dev->resource + i; 749 if (!res->flags) 750 continue; 751 - if (res->end == 0xffffffff) { 752 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", 753 pci_name(dev), i, 754 (unsigned long long)res->start,
··· 748 struct resource *res = dev->resource + i; 749 if (!res->flags) 750 continue; 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)) { 758 pr_debug("PCI:%s Resource %d %016llx-%016llx [%x] is unassigned\n", 759 pci_name(dev), i, 760 (unsigned long long)res->start,
+3
arch/powerpc/kernel/ppc_ksyms.c
··· 58 extern void single_step_exception(struct pt_regs *regs); 59 extern int sys_sigreturn(struct pt_regs *regs); 60 61 EXPORT_SYMBOL(clear_pages); 62 EXPORT_SYMBOL(copy_page); 63 EXPORT_SYMBOL(ISA_DMA_THRESHOLD); ··· 150 EXPORT_SYMBOL(__ashrdi3); 151 EXPORT_SYMBOL(__ashldi3); 152 EXPORT_SYMBOL(__lshrdi3); 153 #endif 154 155 EXPORT_SYMBOL(memcpy);
··· 58 extern void single_step_exception(struct pt_regs *regs); 59 extern int sys_sigreturn(struct pt_regs *regs); 60 61 + EXPORT_SYMBOL(empty_zero_page); 62 EXPORT_SYMBOL(clear_pages); 63 EXPORT_SYMBOL(copy_page); 64 EXPORT_SYMBOL(ISA_DMA_THRESHOLD); ··· 149 EXPORT_SYMBOL(__ashrdi3); 150 EXPORT_SYMBOL(__ashldi3); 151 EXPORT_SYMBOL(__lshrdi3); 152 + int __ucmpdi2(unsigned long long, unsigned long long); 153 + EXPORT_SYMBOL(__ucmpdi2); 154 #endif 155 156 EXPORT_SYMBOL(memcpy);
+2 -2
arch/powerpc/mm/hash_utils_64.c
··· 506 } else { 507 /* Find storage for the HPT. Must be contiguous in 508 * the absolute address space. On cell we want it to be 509 - * in the first 1 Gig. 510 */ 511 if (machine_is(cell)) 512 - limit = 0x40000000; 513 else 514 limit = 0; 515
··· 506 } else { 507 /* Find storage for the HPT. Must be contiguous in 508 * the absolute address space. On cell we want it to be 509 + * in the first 2 Gig so we can use it for IOMMU hacks. 510 */ 511 if (machine_is(cell)) 512 + limit = 0x80000000; 513 else 514 limit = 0; 515
+3 -5
arch/powerpc/platforms/83xx/mpc837x_mds.c
··· 39 if (ret) 40 return ret; 41 /* Map BCSR area */ 42 - np = of_find_node_by_name(NULL, "bcsr"); 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); 48 of_node_put(np); 49 } 50 if (!bcsr_regs) ··· 93 static struct of_device_id mpc837x_ids[] = { 94 { .type = "soc", }, 95 { .compatible = "soc", }, 96 {}, 97 }; 98
··· 39 if (ret) 40 return ret; 41 /* Map BCSR area */ 42 + np = of_find_compatible_node(NULL, NULL, "fsl,mpc837xmds-bcsr"); 43 if (np) { 44 + bcsr_regs = of_iomap(np, 0); 45 of_node_put(np); 46 } 47 if (!bcsr_regs) ··· 96 static struct of_device_id mpc837x_ids[] = { 97 { .type = "soc", }, 98 { .compatible = "soc", }, 99 + { .compatible = "simple-bus", }, 100 {}, 101 }; 102
-1
arch/powerpc/platforms/Kconfig
··· 22 select FSL_SOC 23 select MPC83xx 24 select IPIC 25 - select FSL_EMB_PERFMON 26 27 config PPC_86xx 28 bool "Freescale 86xx"
··· 22 select FSL_SOC 23 select MPC83xx 24 select IPIC 25 26 config PPC_86xx 27 bool "Freescale 86xx"
+6 -1
arch/powerpc/platforms/Kconfig.cputype
··· 113 default y 114 115 config FSL_EMB_PERFMON 116 - bool 117 118 config PTE_64BIT 119 bool
··· 113 default y 114 115 config FSL_EMB_PERFMON 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 122 123 config PTE_64BIT 124 bool
+2 -1
arch/powerpc/platforms/cell/spufs/context.c
··· 170 { 171 BUG_ON(ctx->state != SPU_STATE_SAVED); 172 173 - if (test_and_clear_bit(SPU_SCHED_WAS_ACTIVE, &ctx->sched_flags)) 174 spu_activate(ctx, 0); 175 176 spu_release(ctx);
··· 170 { 171 BUG_ON(ctx->state != SPU_STATE_SAVED); 172 173 + if (test_and_clear_bit(SPU_SCHED_WAS_ACTIVE, &ctx->sched_flags) && 174 + test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 175 spu_activate(ctx, 0); 176 177 spu_release(ctx);
+2 -1
arch/powerpc/platforms/cell/spufs/run.c
··· 220 } 221 } 222 223 return 0; 224 } 225 ··· 235 *npc = ctx->ops->npc_read(ctx); 236 237 spuctx_switch_state(ctx, SPU_UTIL_IDLE_LOADED); 238 - ctx->policy = SCHED_IDLE; 239 spu_release(ctx); 240 241 if (signal_pending(current))
··· 220 } 221 } 222 223 + set_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags); 224 return 0; 225 } 226 ··· 234 *npc = ctx->ops->npc_read(ctx); 235 236 spuctx_switch_state(ctx, SPU_UTIL_IDLE_LOADED); 237 + clear_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags); 238 spu_release(ctx); 239 240 if (signal_pending(current))
+2 -2
arch/powerpc/platforms/cell/spufs/sched.c
··· 867 if (ctx->policy == SCHED_FIFO) 868 goto out; 869 870 - if (--ctx->time_slice && ctx->policy != SCHED_IDLE) 871 goto out; 872 873 spu = ctx->spu; ··· 877 new = grab_runnable_context(ctx->prio + 1, spu->node); 878 if (new) { 879 spu_unschedule(spu, ctx); 880 - if (ctx->policy != SCHED_IDLE) 881 spu_add_to_rq(ctx); 882 } else { 883 spu_context_nospu_trace(spusched_tick__newslice, ctx);
··· 867 if (ctx->policy == SCHED_FIFO) 868 goto out; 869 870 + if (--ctx->time_slice && test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 871 goto out; 872 873 spu = ctx->spu; ··· 877 new = grab_runnable_context(ctx->prio + 1, spu->node); 878 if (new) { 879 spu_unschedule(spu, ctx); 880 + if (test_bit(SPU_SCHED_SPU_RUN, &ctx->sched_flags)) 881 spu_add_to_rq(ctx); 882 } else { 883 spu_context_nospu_trace(spusched_tick__newslice, ctx);
+1
arch/powerpc/platforms/cell/spufs/spufs.h
··· 44 enum { 45 SPU_SCHED_NOTIFY_ACTIVE, 46 SPU_SCHED_WAS_ACTIVE, /* was active upon spu_acquire_saved() */ 47 }; 48 49 struct spu_context {
··· 44 enum { 45 SPU_SCHED_NOTIFY_ACTIVE, 46 SPU_SCHED_WAS_ACTIVE, /* was active upon spu_acquire_saved() */ 47 + SPU_SCHED_SPU_RUN, /* context is within spu_run */ 48 }; 49 50 struct spu_context {
+1 -1
arch/powerpc/platforms/powermac/pic.c
··· 618 if (np == NULL) 619 goto not_found; 620 viaint = irq_of_parse_and_map(np, 0);; 621 - #endif /* CONFIG_ADB_PMU */ 622 623 not_found: 624 return viaint; 625 } 626
··· 618 if (np == NULL) 619 goto not_found; 620 viaint = irq_of_parse_and_map(np, 0);; 621 622 not_found: 623 + #endif /* CONFIG_ADB_PMU */ 624 return viaint; 625 } 626
+5 -2
arch/powerpc/sysdev/qe_lib/qe.c
··· 509 } 510 511 /* Validate some of the fields */ 512 - if ((firmware->count < 1) || (firmware->count >= MAX_QE_RISC)) { 513 printk(KERN_ERR "qe-firmware: invalid data\n"); 514 return -EINVAL; 515 } ··· 609 * If we haven't checked yet, and a driver hasn't uploaded a firmware 610 * yet, then check the device tree for information. 611 */ 612 - if (initialized || qe_firmware_uploaded) 613 return NULL; 614 615 initialized = 1;
··· 509 } 510 511 /* Validate some of the fields */ 512 + if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { 513 printk(KERN_ERR "qe-firmware: invalid data\n"); 514 return -EINVAL; 515 } ··· 609 * If we haven't checked yet, and a driver hasn't uploaded a firmware 610 * yet, then check the device tree for information. 611 */ 612 + if (qe_firmware_uploaded) 613 + return &qe_firmware_info; 614 + 615 + if (initialized) 616 return NULL; 617 618 initialized = 1;
+29 -1
arch/ppc/kernel/head_8xx.S
··· 329 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 330 lwz r10, 0(r11) /* Get the pte */ 331 332 ori r10, r10, _PAGE_ACCESSED 333 stw r10, 0(r11) 334 335 /* The Linux PTE won't go exactly into the MMU TLB. 336 * Software indicator bits 21, 22 and 28 must be clear. ··· 405 DO_8xx_CPU6(0x3b80, r3) 406 mtspr SPRN_MD_TWC, r11 407 408 - mfspr r11, SPRN_MD_TWC /* get the pte address again */ 409 ori r10, r10, _PAGE_ACCESSED 410 stw r10, 0(r11) 411 412 /* The Linux PTE won't go exactly into the MMU TLB. ··· 594 595 /* Update 'changed', among others. 596 */ 597 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 598 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 599 stw r10, 0(r11) /* and update pte in table */ 600
··· 329 mfspr r11, SPRN_MD_TWC /* ....and get the pte address */ 330 lwz r10, 0(r11) /* Get the pte */ 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 341 ori r10, r10, _PAGE_ACCESSED 342 stw r10, 0(r11) 343 + #endif 344 345 /* The Linux PTE won't go exactly into the MMU TLB. 346 * Software indicator bits 21, 22 and 28 must be clear. ··· 395 DO_8xx_CPU6(0x3b80, r3) 396 mtspr SPRN_MD_TWC, r11 397 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 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 */ 409 stw r10, 0(r11) 410 411 /* The Linux PTE won't go exactly into the MMU TLB. ··· 575 576 /* Update 'changed', among others. 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 586 ori r10, r10, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE 587 + #endif 588 mfspr r11, SPRN_MD_TWC /* Get pte address again */ 589 stw r10, 0(r11) /* and update pte in table */ 590
+1 -1
arch/x86/Kconfig
··· 1259 machines with more than one CPU. 1260 1261 In order to use APM, you will need supporting software. For location 1262 - and more information, read <file:Documentation/pm.txt> and the 1263 Battery Powered Linux mini-HOWTO, available from 1264 <http://www.tldp.org/docs.html#howto>. 1265
··· 1259 machines with more than one CPU. 1260 1261 In order to use APM, you will need supporting software. For location 1262 + and more information, read <file:Documentation/power/pm.txt> and the 1263 Battery Powered Linux mini-HOWTO, available from 1264 <http://www.tldp.org/docs.html#howto>. 1265
+3 -1
block/genhd.c
··· 360 361 static int __init genhd_device_init(void) 362 { 363 - class_register(&block_class); 364 bdev_map = kobj_map_init(base_probe, &block_class_lock); 365 blk_dev_init(); 366
··· 360 361 static int __init genhd_device_init(void) 362 { 363 + int error = class_register(&block_class); 364 + if (unlikely(error)) 365 + return error; 366 bdev_map = kobj_map_init(base_probe, &block_class_lock); 367 blk_dev_init(); 368
+3 -3
crypto/async_tx/async_memcpy.c
··· 66 } 67 68 if (tx) { 69 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 70 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 71 } else { 72 void *dest_buf, *src_buf; 73 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 74 75 /* wait for any prerequisite operations */ 76 if (depend_tx) { ··· 80 BUG_ON(depend_tx->ack); 81 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 82 panic("%s: DMA_ERROR waiting for depend_tx\n", 83 - __FUNCTION__); 84 } 85 86 dest_buf = kmap_atomic(dest, KM_USER0) + dest_offset;
··· 66 } 67 68 if (tx) { 69 + pr_debug("%s: (async) len: %zu\n", __func__, len); 70 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 71 } else { 72 void *dest_buf, *src_buf; 73 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 74 75 /* wait for any prerequisite operations */ 76 if (depend_tx) { ··· 80 BUG_ON(depend_tx->ack); 81 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 82 panic("%s: DMA_ERROR waiting for depend_tx\n", 83 + __func__); 84 } 85 86 dest_buf = kmap_atomic(dest, KM_USER0) + dest_offset;
+3 -3
crypto/async_tx/async_memset.c
··· 63 } 64 65 if (tx) { 66 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 67 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 68 } else { /* run the memset synchronously */ 69 void *dest_buf; 70 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 71 72 dest_buf = (void *) (((char *) page_address(dest)) + offset); 73 ··· 79 BUG_ON(depend_tx->ack); 80 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 81 panic("%s: DMA_ERROR waiting for depend_tx\n", 82 - __FUNCTION__); 83 } 84 85 memset(dest_buf, val, len);
··· 63 } 64 65 if (tx) { 66 + pr_debug("%s: (async) len: %zu\n", __func__, len); 67 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 68 } else { /* run the memset synchronously */ 69 void *dest_buf; 70 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 71 72 dest_buf = (void *) (((char *) page_address(dest)) + offset); 73 ··· 79 BUG_ON(depend_tx->ack); 80 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 81 panic("%s: DMA_ERROR waiting for depend_tx\n", 82 + __func__); 83 } 84 85 memset(dest_buf, val, len);
+3 -3
crypto/async_tx/async_tx.c
··· 472 tx = NULL; 473 474 if (tx) { 475 - pr_debug("%s: (async)\n", __FUNCTION__); 476 477 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 478 } else { 479 - pr_debug("%s: (sync)\n", __FUNCTION__); 480 481 /* wait for any prerequisite operations */ 482 if (depend_tx) { ··· 486 BUG_ON(depend_tx->ack); 487 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 488 panic("%s: DMA_ERROR waiting for depend_tx\n", 489 - __FUNCTION__); 490 } 491 492 async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
··· 472 tx = NULL; 473 474 if (tx) { 475 + pr_debug("%s: (async)\n", __func__); 476 477 async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); 478 } else { 479 + pr_debug("%s: (sync)\n", __func__); 480 481 /* wait for any prerequisite operations */ 482 if (depend_tx) { ··· 486 BUG_ON(depend_tx->ack); 487 if (dma_wait_for_async_tx(depend_tx) == DMA_ERROR) 488 panic("%s: DMA_ERROR waiting for depend_tx\n", 489 + __func__); 490 } 491 492 async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param);
+6 -6
crypto/async_tx/async_xor.c
··· 47 int i; 48 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 49 50 - pr_debug("%s: len: %zu\n", __FUNCTION__, len); 51 52 dma_dest = dma_map_page(device->dev, dest, offset, len, 53 DMA_FROM_DEVICE); ··· 86 void *_dest; 87 int i; 88 89 - pr_debug("%s: len: %zu\n", __FUNCTION__, len); 90 91 /* reuse the 'src_list' array to convert to buffer pointers */ 92 for (i = 0; i < src_cnt; i++) ··· 196 DMA_ERROR) 197 panic("%s: DMA_ERROR waiting for " 198 "depend_tx\n", 199 - __FUNCTION__); 200 } 201 202 do_sync_xor(dest, &src_list[src_off], offset, ··· 276 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 277 int i; 278 279 - pr_debug("%s: (async) len: %zu\n", __FUNCTION__, len); 280 281 for (i = 0; i < src_cnt; i++) 282 dma_src[i] = dma_map_page(device->dev, src_list[i], ··· 299 } else { 300 unsigned long xor_flags = flags; 301 302 - pr_debug("%s: (sync) len: %zu\n", __FUNCTION__, len); 303 304 xor_flags |= ASYNC_TX_XOR_DROP_DST; 305 xor_flags &= ~ASYNC_TX_ACK; ··· 310 if (tx) { 311 if (dma_wait_for_async_tx(tx) == DMA_ERROR) 312 panic("%s: DMA_ERROR waiting for tx\n", 313 - __FUNCTION__); 314 async_tx_ack(tx); 315 } 316
··· 47 int i; 48 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 49 50 + pr_debug("%s: len: %zu\n", __func__, len); 51 52 dma_dest = dma_map_page(device->dev, dest, offset, len, 53 DMA_FROM_DEVICE); ··· 86 void *_dest; 87 int i; 88 89 + pr_debug("%s: len: %zu\n", __func__, len); 90 91 /* reuse the 'src_list' array to convert to buffer pointers */ 92 for (i = 0; i < src_cnt; i++) ··· 196 DMA_ERROR) 197 panic("%s: DMA_ERROR waiting for " 198 "depend_tx\n", 199 + __func__); 200 } 201 202 do_sync_xor(dest, &src_list[src_off], offset, ··· 276 unsigned long dma_prep_flags = cb_fn ? DMA_PREP_INTERRUPT : 0; 277 int i; 278 279 + pr_debug("%s: (async) len: %zu\n", __func__, len); 280 281 for (i = 0; i < src_cnt; i++) 282 dma_src[i] = dma_map_page(device->dev, src_list[i], ··· 299 } else { 300 unsigned long xor_flags = flags; 301 302 + pr_debug("%s: (sync) len: %zu\n", __func__, len); 303 304 xor_flags |= ASYNC_TX_XOR_DROP_DST; 305 xor_flags &= ~ASYNC_TX_ACK; ··· 310 if (tx) { 311 if (dma_wait_for_async_tx(tx) == DMA_ERROR) 312 panic("%s: DMA_ERROR waiting for tx\n", 313 + __func__); 314 async_tx_ack(tx); 315 } 316
+9 -10
drivers/acpi/Kconfig
··· 283 If you have a legacy free Toshiba laptop (such as the Libretto L1 284 series), say Y. 285 286 - config ACPI_CUSTOM_DSDT 287 - bool "Include Custom DSDT" 288 depends on !STANDALONE 289 - default n 290 help 291 This option supports a custom DSDT by linking it into the kernel. 292 See Documentation/acpi/dsdt-override.txt 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 Enter the full path name to the file which includes the AmlCode 302 declaration. 303 304 config ACPI_CUSTOM_DSDT_INITRD 305 bool "Read Custom DSDT from initramfs"
··· 283 If you have a legacy free Toshiba laptop (such as the Libretto L1 284 series), say Y. 285 286 + config ACPI_CUSTOM_DSDT_FILE 287 + string "Custom DSDT Table file to include" 288 + default "" 289 depends on !STANDALONE 290 help 291 This option supports a custom DSDT by linking it into the kernel. 292 See Documentation/acpi/dsdt-override.txt 293 294 Enter the full path name to the file which includes the AmlCode 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 != "" 302 303 config ACPI_CUSTOM_DSDT_INITRD 304 bool "Read Custom DSDT from initramfs"
+1 -1
drivers/acpi/bus.c
··· 776 777 acpi_kobj = kobject_create_and_add("acpi", firmware_kobj); 778 if (!acpi_kobj) { 779 - printk(KERN_WARNING "%s: kset create error\n", __FUNCTION__); 780 acpi_kobj = NULL; 781 } 782
··· 776 777 acpi_kobj = kobject_create_and_add("acpi", firmware_kobj); 778 if (!acpi_kobj) { 779 + printk(KERN_WARNING "%s: kset create error\n", __func__); 780 acpi_kobj = NULL; 781 } 782
+1
drivers/acpi/button.c
··· 449 input->phys = button->phys; 450 input->id.bustype = BUS_HOST; 451 input->id.product = button->type; 452 453 switch (button->type) { 454 case ACPI_BUTTON_TYPE_POWER:
··· 449 input->phys = button->phys; 450 input->id.bustype = BUS_HOST; 451 input->id.product = button->type; 452 + input->dev.parent = &device->dev; 453 454 switch (button->type) { 455 case ACPI_BUTTON_TYPE_POWER:
+12 -5
drivers/acpi/ec.c
··· 129 struct mutex lock; 130 wait_queue_head_t wait; 131 struct list_head list; 132 u8 handlers_installed; 133 } *boot_ec, *first_ec; 134 ··· 182 { 183 int ret = 0; 184 185 if (unlikely(event == ACPI_EC_EVENT_OBF_1 && 186 test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags))) 187 force_poll = 1; ··· 230 while (time_before(jiffies, delay)) { 231 if (acpi_ec_check_status(ec, event)) 232 goto end; 233 } 234 } 235 pr_err(PREFIX "acpi_ec_wait timeout," ··· 533 struct acpi_ec *ec = data; 534 535 pr_debug(PREFIX "~~~> interrupt\n"); 536 clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags); 537 if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags)) 538 wake_up(&ec->wait); ··· 954 boot_ec->command_addr = ecdt_ptr->control.address; 955 boot_ec->data_addr = ecdt_ptr->data.address; 956 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 - } 962 } else { 963 /* This workaround is needed only on some broken machines, 964 * which require early EC, but fail to provide ECDT */
··· 129 struct mutex lock; 130 wait_queue_head_t wait; 131 struct list_head list; 132 + atomic_t irq_count; 133 u8 handlers_installed; 134 } *boot_ec, *first_ec; 135 ··· 181 { 182 int ret = 0; 183 184 + atomic_set(&ec->irq_count, 0); 185 + 186 if (unlikely(event == ACPI_EC_EVENT_OBF_1 && 187 test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags))) 188 force_poll = 1; ··· 227 while (time_before(jiffies, delay)) { 228 if (acpi_ec_check_status(ec, event)) 229 goto end; 230 + msleep(5); 231 } 232 } 233 pr_err(PREFIX "acpi_ec_wait timeout," ··· 529 struct acpi_ec *ec = data; 530 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 + } 539 clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags); 540 if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags)) 541 wake_up(&ec->wait); ··· 943 boot_ec->command_addr = ecdt_ptr->control.address; 944 boot_ec->data_addr = ecdt_ptr->data.address; 945 boot_ec->gpe = ecdt_ptr->gpe; 946 + boot_ec->handle = ACPI_ROOT_OBJECT; 947 } else { 948 /* This workaround is needed only on some broken machines, 949 * which require early EC, but fail to provide ECDT */
+1 -1
drivers/acpi/osl.c
··· 1237 1238 if (clash) { 1239 if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) { 1240 - printk(KERN_INFO "%sACPI: %s resource %s [0x%llx-0x%llx]" 1241 " conflicts with ACPI region %s" 1242 " [0x%llx-0x%llx]\n", 1243 acpi_enforce_resources == ENFORCE_RESOURCES_LAX
··· 1237 1238 if (clash) { 1239 if (acpi_enforce_resources != ENFORCE_RESOURCES_NO) { 1240 + printk("%sACPI: %s resource %s [0x%llx-0x%llx]" 1241 " conflicts with ACPI region %s" 1242 " [0x%llx-0x%llx]\n", 1243 acpi_enforce_resources == ENFORCE_RESOURCES_LAX
+98
drivers/acpi/pci_irq.c
··· 25 */ 26 27 28 #include <linux/kernel.h> 29 #include <linux/module.h> 30 #include <linux/init.h> ··· 77 return NULL; 78 } 79 80 static int 81 acpi_pci_irq_add_entry(acpi_handle handle, 82 int segment, int bus, struct acpi_pci_routing_table *prt) ··· 191 entry->id.device = (prt->address >> 16) & 0xFFFF; 192 entry->id.function = prt->address & 0xFFFF; 193 entry->pin = prt->pin; 194 195 /* 196 * Type 1: Dynamic
··· 25 */ 26 27 28 + #include <linux/dmi.h> 29 #include <linux/kernel.h> 30 #include <linux/module.h> 31 #include <linux/init.h> ··· 76 return NULL; 77 } 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 + 174 static int 175 acpi_pci_irq_add_entry(acpi_handle handle, 176 int segment, int bus, struct acpi_pci_routing_table *prt) ··· 95 entry->id.device = (prt->address >> 16) & 0xFFFF; 96 entry->id.function = prt->address & 0xFFFF; 97 entry->pin = prt->pin; 98 + 99 + do_prt_fixups(entry, prt); 100 101 /* 102 * Type 1: Dynamic
+1 -1
drivers/acpi/pci_root.c
··· 184 } 185 } 186 187 - static int acpi_pci_root_add(struct acpi_device *device) 188 { 189 int result = 0; 190 struct acpi_pci_root *root = NULL;
··· 184 } 185 } 186 187 + static int __devinit acpi_pci_root_add(struct acpi_device *device) 188 { 189 int result = 0; 190 struct acpi_pci_root *root = NULL;
+14 -11
drivers/acpi/processor_core.c
··· 840 841 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 850 if (ACPI_SUCCESS(status) && (sta & ACPI_STA_DEVICE_PRESENT)) 851 return 1; 852 853 - ACPI_EXCEPTION((AE_INFO, status, "Processor Device is not present")); 854 return 0; 855 } 856 ··· 888 return 0; 889 } 890 891 - static void 892 - acpi_processor_hotplug_notify(acpi_handle handle, u32 event, void *data) 893 { 894 struct acpi_processor *pr; 895 struct acpi_device *device = NULL; ··· 899 switch (event) { 900 case ACPI_NOTIFY_BUS_CHECK: 901 case ACPI_NOTIFY_DEVICE_CHECK: 902 - printk("Processor driver received %s event\n", 903 (event == ACPI_NOTIFY_BUS_CHECK) ? 904 - "ACPI_NOTIFY_BUS_CHECK" : "ACPI_NOTIFY_DEVICE_CHECK"); 905 906 if (!is_processor_present(handle)) 907 break;
··· 840 841 842 status = acpi_evaluate_integer(handle, "_STA", NULL, &sta); 843 844 if (ACPI_SUCCESS(status) && (sta & ACPI_STA_DEVICE_PRESENT)) 845 return 1; 846 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")); 856 return 0; 857 } 858 ··· 886 return 0; 887 } 888 889 + static void __ref acpi_processor_hotplug_notify(acpi_handle handle, 890 + u32 event, void *data) 891 { 892 struct acpi_processor *pr; 893 struct acpi_device *device = NULL; ··· 897 switch (event) { 898 case ACPI_NOTIFY_BUS_CHECK: 899 case ACPI_NOTIFY_DEVICE_CHECK: 900 + ACPI_DEBUG_PRINT((ACPI_DB_INFO, 901 + "Processor driver received %s event\n", 902 (event == ACPI_NOTIFY_BUS_CHECK) ? 903 + "ACPI_NOTIFY_BUS_CHECK" : "ACPI_NOTIFY_DEVICE_CHECK")); 904 905 if (!is_processor_present(handle)) 906 break;
+3 -2
drivers/acpi/scan.c
··· 609 status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); 610 if (ACPI_SUCCESS(status)) { 611 obj = buffer.pointer; 612 - status = acpi_get_handle(NULL, obj->string.pointer, ejd); 613 kfree(buffer.pointer); 614 } 615 return status; ··· 967 case ACPI_BUS_TYPE_DEVICE: 968 status = acpi_get_object_info(handle, &buffer); 969 if (ACPI_FAILURE(status)) { 970 - printk(KERN_ERR PREFIX "%s: Error reading device info\n", __FUNCTION__); 971 return; 972 } 973
··· 609 status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); 610 if (ACPI_SUCCESS(status)) { 611 obj = buffer.pointer; 612 + status = acpi_get_handle(ACPI_ROOT_OBJECT, obj->string.pointer, 613 + ejd); 614 kfree(buffer.pointer); 615 } 616 return status; ··· 966 case ACPI_BUS_TYPE_DEVICE: 967 status = acpi_get_object_info(handle, &buffer); 968 if (ACPI_FAILURE(status)) { 969 + printk(KERN_ERR PREFIX "%s: Error reading device info\n", __func__); 970 return; 971 } 972
+1 -1
drivers/acpi/sleep/main.c
··· 504 static void acpi_power_off(void) 505 { 506 /* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */ 507 - printk("%s called\n", __FUNCTION__); 508 local_irq_disable(); 509 acpi_enable_wakeup_device(ACPI_STATE_S5); 510 acpi_enter_sleep_state(ACPI_STATE_S5);
··· 504 static void acpi_power_off(void) 505 { 506 /* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */ 507 + printk("%s called\n", __func__); 508 local_irq_disable(); 509 acpi_enable_wakeup_device(ACPI_STATE_S5); 510 acpi_enter_sleep_state(ACPI_STATE_S5);
+1 -1
drivers/acpi/system.c
··· 319 goto fail; 320 321 for (i = 0; i < num_counters; ++i) { 322 - char buffer[10]; 323 char *name; 324 325 if (i < num_gpes)
··· 319 goto fail; 320 321 for (i = 0; i < num_counters; ++i) { 322 + char buffer[12]; 323 char *name; 324 325 if (i < num_gpes)
+7 -5
drivers/acpi/thermal.c
··· 879 } 880 881 /* sys I/F for generic thermal sysfs support */ 882 static int thermal_get_temp(struct thermal_zone_device *thermal, char *buf) 883 { 884 struct acpi_thermal *tz = thermal->devdata; ··· 888 if (!tz) 889 return -EINVAL; 890 891 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS(tz->temperature)); 892 } 893 894 static const char enabled[] = "kernel"; ··· 982 983 if (tz->trips.critical.flags.valid) { 984 if (!trip) 985 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 986 tz->trips.critical.temperature)); 987 trip--; 988 } 989 990 if (tz->trips.hot.flags.valid) { 991 if (!trip) 992 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 993 tz->trips.hot.temperature)); 994 trip--; 995 } 996 997 if (tz->trips.passive.flags.valid) { 998 if (!trip) 999 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 1000 tz->trips.passive.temperature)); 1001 trip--; 1002 } ··· 1004 for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE && 1005 tz->trips.active[i].flags.valid; i++) { 1006 if (!trip) 1007 - return sprintf(buf, "%ld\n", KELVIN_TO_CELSIUS( 1008 tz->trips.active[i].temperature)); 1009 trip--; 1010 }
··· 879 } 880 881 /* sys I/F for generic thermal sysfs support */ 882 + #define KELVIN_TO_MILLICELSIUS(t) (t * 100 - 273200) 883 + 884 static int thermal_get_temp(struct thermal_zone_device *thermal, char *buf) 885 { 886 struct acpi_thermal *tz = thermal->devdata; ··· 886 if (!tz) 887 return -EINVAL; 888 889 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS(tz->temperature)); 890 } 891 892 static const char enabled[] = "kernel"; ··· 980 981 if (tz->trips.critical.flags.valid) { 982 if (!trip) 983 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 984 tz->trips.critical.temperature)); 985 trip--; 986 } 987 988 if (tz->trips.hot.flags.valid) { 989 if (!trip) 990 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 991 tz->trips.hot.temperature)); 992 trip--; 993 } 994 995 if (tz->trips.passive.flags.valid) { 996 if (!trip) 997 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 998 tz->trips.passive.temperature)); 999 trip--; 1000 } ··· 1002 for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE && 1003 tz->trips.active[i].flags.valid; i++) { 1004 if (!trip) 1005 + return sprintf(buf, "%ld\n", KELVIN_TO_MILLICELSIUS( 1006 tz->trips.active[i].temperature)); 1007 trip--; 1008 }
+7
drivers/acpi/toshiba_acpi.c
··· 99 #define HCI_VIDEO_OUT_CRT 0x2 100 #define HCI_VIDEO_OUT_TV 0x4 101 102 /* utility 103 */ 104
··· 99 #define HCI_VIDEO_OUT_CRT 0x2 100 #define HCI_VIDEO_OUT_TV 0x4 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 + 109 /* utility 110 */ 111
+1 -1
drivers/acpi/utilities/utdebug.c
··· 109 * RETURN: Updated pointer to the function name 110 * 111 * DESCRIPTION: Remove the "Acpi" prefix from the function name, if present. 112 - * This allows compiler macros such as __FUNCTION__ to be used 113 * with no change to the debug output. 114 * 115 ******************************************************************************/
··· 109 * RETURN: Updated pointer to the function name 110 * 111 * DESCRIPTION: Remove the "Acpi" prefix from the function name, if present. 112 + * This allows compiler macros such as __func__ to be used 113 * with no change to the debug output. 114 * 115 ******************************************************************************/
+1 -1
drivers/acpi/utilities/utobject.c
··· 432 * element -- which is legal) 433 */ 434 if (!internal_object) { 435 - *obj_length = 0; 436 return_ACPI_STATUS(AE_OK); 437 } 438
··· 432 * element -- which is legal) 433 */ 434 if (!internal_object) { 435 + *obj_length = sizeof(union acpi_object); 436 return_ACPI_STATUS(AE_OK); 437 } 438
+6
drivers/acpi/utils.c
··· 407 break; 408 } 409 410 /* Get the acpi_handle. */ 411 412 list->handles[i] = element->reference.handle;
··· 407 break; 408 } 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 + } 416 /* Get the acpi_handle. */ 417 418 list->handles[i] = element->reference.handle;
+2 -2
drivers/acpi/video.c
··· 713 714 kfree(obj); 715 716 - if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){ 717 int result; 718 static int count = 0; 719 char *name; ··· 1201 if (!video) 1202 goto end; 1203 1204 - printk(KERN_INFO PREFIX "Please implement %s\n", __FUNCTION__); 1205 seq_printf(seq, "<TODO>\n"); 1206 1207 end:
··· 713 714 kfree(obj); 715 716 + if (device->cap._BCL && device->cap._BCM && max_level > 0) { 717 int result; 718 static int count = 0; 719 char *name; ··· 1201 if (!video) 1202 goto end; 1203 1204 + printk(KERN_INFO PREFIX "Please implement %s\n", __func__); 1205 seq_printf(seq, "<TODO>\n"); 1206 1207 end:
+6 -4
drivers/acpi/wmi.c
··· 293 { 294 struct guid_block *block = NULL; 295 struct wmi_block *wblock = NULL; 296 - acpi_handle handle; 297 acpi_status status, wc_status = AE_ERROR; 298 struct acpi_object_list input, wc_input; 299 union acpi_object wc_params[1], wq_params[1]; ··· 338 * expensive, but have no corresponding WCxx method. So we 339 * should not fail if this happens. 340 */ 341 - wc_status = acpi_evaluate_object(handle, wc_method, 342 - &wc_input, NULL); 343 } 344 345 strcpy(method, "WQ"); ··· 353 * If ACPI_WMI_EXPENSIVE, call the relevant WCxx method, even if 354 * the WQxx method failed - we should disable collection anyway. 355 */ 356 - if ((block->flags & ACPI_WMI_EXPENSIVE) && wc_status) { 357 wc_params[0].integer.value = 0; 358 status = acpi_evaluate_object(handle, 359 wc_method, &wc_input, NULL);
··· 293 { 294 struct guid_block *block = NULL; 295 struct wmi_block *wblock = NULL; 296 + acpi_handle handle, wc_handle; 297 acpi_status status, wc_status = AE_ERROR; 298 struct acpi_object_list input, wc_input; 299 union acpi_object wc_params[1], wq_params[1]; ··· 338 * expensive, but have no corresponding WCxx method. So we 339 * should not fail if this happens. 340 */ 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); 345 } 346 347 strcpy(method, "WQ"); ··· 351 * If ACPI_WMI_EXPENSIVE, call the relevant WCxx method, even if 352 * the WQxx method failed - we should disable collection anyway. 353 */ 354 + if ((block->flags & ACPI_WMI_EXPENSIVE) && ACPI_SUCCESS(wc_status)) { 355 wc_params[0].integer.value = 0; 356 status = acpi_evaluate_object(handle, 357 wc_method, &wc_input, NULL);
+2 -2
drivers/atm/firestream.c
··· 331 #define FS_DEBUG_QSIZE 0x00001000 332 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__) 336 337 338 static struct fs_dev *fs_boards = NULL;
··· 331 #define FS_DEBUG_QSIZE 0x00001000 332 333 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 337 338 static struct fs_dev *fs_boards = NULL;
+2 -2
drivers/atm/fore200e.c
··· 95 #if 1 96 #define ASSERT(expr) if (!(expr)) { \ 97 printk(FORE200E "assertion failed! %s[%d]: %s\n", \ 98 - __FUNCTION__, __LINE__, #expr); \ 99 - panic(FORE200E "%s", __FUNCTION__); \ 100 } 101 #else 102 #define ASSERT(expr) do {} while (0)
··· 95 #if 1 96 #define ASSERT(expr) if (!(expr)) { \ 97 printk(FORE200E "assertion failed! %s[%d]: %s\n", \ 98 + __func__, __LINE__, #expr); \ 99 + panic(FORE200E "%s", __func__); \ 100 } 101 #else 102 #define ASSERT(expr) do {} while (0)
+6 -6
drivers/atm/idt77252.c
··· 555 struct vc_map *vc; 556 int i; 557 558 - printk("%s\n", __FUNCTION__); 559 for (i = 0; i < card->tct_size; i++) { 560 vc = card->vcs[i]; 561 if (!vc) ··· 1035 skb = sb_pool_skb(card, le32_to_cpu(rsqe->word_2)); 1036 if (skb == NULL) { 1037 printk("%s: NULL skb in %s, rsqe: %08x %08x %08x %08x\n", 1038 - card->name, __FUNCTION__, 1039 le32_to_cpu(rsqe->word_1), le32_to_cpu(rsqe->word_2), 1040 le32_to_cpu(rsqe->word_3), le32_to_cpu(rsqe->word_4)); 1041 return; ··· 1873 return; 1874 1875 if (sb_pool_add(card, skb, queue)) { 1876 - printk("%s: SB POOL full\n", __FUNCTION__); 1877 goto outfree; 1878 } 1879 ··· 1883 IDT77252_PRV_PADDR(skb) = paddr; 1884 1885 if (push_rx_skb(card, skb, queue)) { 1886 - printk("%s: FB QUEUE full\n", __FUNCTION__); 1887 goto outunmap; 1888 } 1889 } ··· 3821 { 3822 struct sk_buff *skb; 3823 3824 - printk("%s: at %p\n", __FUNCTION__, idt77252_init); 3825 3826 if (sizeof(skb->cb) < sizeof(struct atm_skb_data) + 3827 sizeof(struct idt77252_skb_prv)) { 3828 printk(KERN_ERR "%s: skb->cb is too small (%lu < %lu)\n", 3829 - __FUNCTION__, (unsigned long) sizeof(skb->cb), 3830 (unsigned long) sizeof(struct atm_skb_data) + 3831 sizeof(struct idt77252_skb_prv)); 3832 return -EIO;
··· 555 struct vc_map *vc; 556 int i; 557 558 + printk("%s\n", __func__); 559 for (i = 0; i < card->tct_size; i++) { 560 vc = card->vcs[i]; 561 if (!vc) ··· 1035 skb = sb_pool_skb(card, le32_to_cpu(rsqe->word_2)); 1036 if (skb == NULL) { 1037 printk("%s: NULL skb in %s, rsqe: %08x %08x %08x %08x\n", 1038 + card->name, __func__, 1039 le32_to_cpu(rsqe->word_1), le32_to_cpu(rsqe->word_2), 1040 le32_to_cpu(rsqe->word_3), le32_to_cpu(rsqe->word_4)); 1041 return; ··· 1873 return; 1874 1875 if (sb_pool_add(card, skb, queue)) { 1876 + printk("%s: SB POOL full\n", __func__); 1877 goto outfree; 1878 } 1879 ··· 1883 IDT77252_PRV_PADDR(skb) = paddr; 1884 1885 if (push_rx_skb(card, skb, queue)) { 1886 + printk("%s: FB QUEUE full\n", __func__); 1887 goto outunmap; 1888 } 1889 } ··· 3821 { 3822 struct sk_buff *skb; 3823 3824 + printk("%s: at %p\n", __func__, idt77252_init); 3825 3826 if (sizeof(skb->cb) < sizeof(struct atm_skb_data) + 3827 sizeof(struct idt77252_skb_prv)) { 3828 printk(KERN_ERR "%s: skb->cb is too small (%lu < %lu)\n", 3829 + __func__, (unsigned long) sizeof(skb->cb), 3830 (unsigned long) sizeof(struct atm_skb_data) + 3831 sizeof(struct idt77252_skb_prv)); 3832 return -EIO;
-5
drivers/block/floppy.c
··· 217 */ 218 219 static DEFINE_SPINLOCK(floppy_lock); 220 - static struct completion device_release; 221 222 static unsigned short virtual_dma_port = 0x3f0; 223 irqreturn_t floppy_interrupt(int irq, void *dev_id); ··· 4143 4144 static void floppy_device_release(struct device *dev) 4145 { 4146 - complete(&device_release); 4147 } 4148 4149 static struct platform_device floppy_device[N_DRIVE]; ··· 4537 { 4538 int drive; 4539 4540 - init_completion(&device_release); 4541 blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256); 4542 unregister_blkdev(FLOPPY_MAJOR, "fd"); 4543 ··· 4561 4562 /* eject disk, if any */ 4563 fd_eject(0); 4564 - 4565 - wait_for_completion(&device_release); 4566 } 4567 4568 module_param(floppy, charp, 0);
··· 217 */ 218 219 static DEFINE_SPINLOCK(floppy_lock); 220 221 static unsigned short virtual_dma_port = 0x3f0; 222 irqreturn_t floppy_interrupt(int irq, void *dev_id); ··· 4144 4145 static void floppy_device_release(struct device *dev) 4146 { 4147 } 4148 4149 static struct platform_device floppy_device[N_DRIVE]; ··· 4539 { 4540 int drive; 4541 4542 blk_unregister_region(MKDEV(FLOPPY_MAJOR, 0), 256); 4543 unregister_blkdev(FLOPPY_MAJOR, "fd"); 4544 ··· 4564 4565 /* eject disk, if any */ 4566 fd_eject(0); 4567 } 4568 4569 module_param(floppy, charp, 0);
+1 -2
drivers/block/viodasd.c
··· 528 numsg = VIOMAXBLOCKDMA; 529 530 *total_len = 0; 531 - memset(sg, 0, sizeof(sg[0]) * VIOMAXBLOCKDMA); 532 - 533 for (i = 0; (i < numsg) && (rw_data->dma_info[i].len > 0); ++i) { 534 sg_dma_address(&sg[i]) = rw_data->dma_info[i].token; 535 sg_dma_len(&sg[i]) = rw_data->dma_info[i].len;
··· 528 numsg = VIOMAXBLOCKDMA; 529 530 *total_len = 0; 531 + sg_init_table(sg, VIOMAXBLOCKDMA); 532 for (i = 0; (i < numsg) && (rw_data->dma_info[i].len > 0); ++i) { 533 sg_dma_address(&sg[i]) = rw_data->dma_info[i].token; 534 sg_dma_len(&sg[i]) = rw_data->dma_info[i].len;
+3
drivers/bluetooth/hci_usb.c
··· 149 { USB_DEVICE(0x0400, 0x0807), .driver_info = HCI_BROKEN_ISOC }, 150 { USB_DEVICE(0x0400, 0x080a), .driver_info = HCI_BROKEN_ISOC }, 151 152 /* Belkin F8T012 and F8T013 devices */ 153 { USB_DEVICE(0x050d, 0x0012), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU }, 154 { USB_DEVICE(0x050d, 0x0013), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU },
··· 149 { USB_DEVICE(0x0400, 0x0807), .driver_info = HCI_BROKEN_ISOC }, 150 { USB_DEVICE(0x0400, 0x080a), .driver_info = HCI_BROKEN_ISOC }, 151 152 + /* CONWISE Technology based adapters with buggy SCO support */ 153 + { USB_DEVICE(0x0e5e, 0x6622), .driver_info = HCI_BROKEN_ISOC }, 154 + 155 /* Belkin F8T012 and F8T013 devices */ 156 { USB_DEVICE(0x050d, 0x0012), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU }, 157 { USB_DEVICE(0x050d, 0x0013), .driver_info = HCI_RESET | HCI_WRONG_SCO_MTU },
+1 -1
drivers/char/riscom8.c
··· 1709 1710 if (iobase || iobase1 || iobase2 || iobase3) { 1711 for(i = 0; i < RC_NBOARD; i++) 1712 - rc_board[0].base = 0; 1713 } 1714 1715 if (iobase)
··· 1709 1710 if (iobase || iobase1 || iobase2 || iobase3) { 1711 for(i = 0; i < RC_NBOARD; i++) 1712 + rc_board[i].base = 0; 1713 } 1714 1715 if (iobase)
+1 -1
drivers/dma/dmaengine.c
··· 357 !device->device_prep_dma_zero_sum); 358 BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) && 359 !device->device_prep_dma_memset); 360 - BUG_ON(dma_has_cap(DMA_ZERO_SUM, device->cap_mask) && 361 !device->device_prep_dma_interrupt); 362 363 BUG_ON(!device->device_alloc_chan_resources);
··· 357 !device->device_prep_dma_zero_sum); 358 BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) && 359 !device->device_prep_dma_memset); 360 + BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && 361 !device->device_prep_dma_interrupt); 362 363 BUG_ON(!device->device_alloc_chan_resources);
+44 -14
drivers/dma/fsldma.c
··· 57 58 } 59 60 - static void set_sr(struct fsl_dma_chan *fsl_chan, dma_addr_t val) 61 { 62 DMA_OUT(fsl_chan, &fsl_chan->reg_base->sr, val, 32); 63 } 64 65 - static dma_addr_t get_sr(struct fsl_dma_chan *fsl_chan) 66 { 67 return DMA_IN(fsl_chan, &fsl_chan->reg_base->sr, 32); 68 } ··· 406 dma_pool_destroy(fsl_chan->desc_pool); 407 } 408 409 static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( 410 struct dma_chan *chan, dma_addr_t dma_dest, dma_addr_t dma_src, 411 size_t len, unsigned long flags) ··· 462 dev_dbg(fsl_chan->dev, "new link desc alloc %p\n", new); 463 #endif 464 465 - copy = min(len, FSL_DMA_BCR_MAX_CNT); 466 467 set_desc_cnt(fsl_chan, &new->hw, copy); 468 set_desc_src(fsl_chan, &new->hw, dma_src); ··· 539 540 spin_lock_irqsave(&fsl_chan->desc_lock, flags); 541 542 - fsl_dma_update_completed_cookie(fsl_chan); 543 dev_dbg(fsl_chan->dev, "chan completed_cookie = %d\n", 544 fsl_chan->completed_cookie); 545 list_for_each_entry_safe(desc, _desc, &fsl_chan->ld_queue, node) { ··· 606 if (ld_node != &fsl_chan->ld_queue) { 607 /* Get the ld start address from ld_queue */ 608 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); 611 set_cdar(fsl_chan, next_dest_addr); 612 dma_start(fsl_chan); 613 } else { ··· 687 static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data) 688 { 689 struct fsl_dma_chan *fsl_chan = (struct fsl_dma_chan *)data; 690 - dma_addr_t stat; 691 692 stat = get_sr(fsl_chan); 693 dev_dbg(fsl_chan->dev, "event: channel %d, stat = 0x%x\n", ··· 706 */ 707 if (stat & FSL_DMA_SR_EOSI) { 708 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)); 712 stat &= ~FSL_DMA_SR_EOSI; 713 } 714 715 /* If it current transfer is the end-of-transfer, ··· 751 fsl_chan_ld_cleanup(fsl_chan); 752 } 753 754 static void fsl_dma_callback_test(struct fsl_dma_chan *fsl_chan) 755 { 756 if (fsl_chan) 757 dev_info(fsl_chan->dev, "selftest: callback is ok!\n"); 758 } 759 760 static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan) 761 { 762 struct dma_chan *chan; ··· 865 if (err) { 866 for (i = 0; (*(src + i) == *(dest + i)) && (i < test_size); 867 i++); 868 - dev_err(fsl_chan->dev, "selftest: Test failed, data %d/%d is " 869 "error! src 0x%x, dest 0x%x\n", 870 - i, test_size, *(src + i), *(dest + i)); 871 } 872 873 free_resources: ··· 876 kfree(src); 877 return err; 878 } 879 880 static int __devinit of_fsl_dma_chan_probe(struct of_device *dev, 881 const struct of_device_id *match) ··· 1037 } 1038 1039 dev_info(&dev->dev, "Probe the Freescale DMA driver for %s " 1040 - "controller at 0x%08x...\n", 1041 - match->compatible, fdev->reg.start); 1042 fdev->reg_base = ioremap(fdev->reg.start, fdev->reg.end 1043 - fdev->reg.start + 1); 1044 ··· 1046 dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); 1047 fdev->common.device_alloc_chan_resources = fsl_dma_alloc_chan_resources; 1048 fdev->common.device_free_chan_resources = fsl_dma_free_chan_resources; 1049 fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy; 1050 fdev->common.device_is_tx_complete = fsl_dma_is_complete; 1051 fdev->common.device_issue_pending = fsl_dma_memcpy_issue_pending;
··· 57 58 } 59 60 + static void set_sr(struct fsl_dma_chan *fsl_chan, u32 val) 61 { 62 DMA_OUT(fsl_chan, &fsl_chan->reg_base->sr, val, 32); 63 } 64 65 + static u32 get_sr(struct fsl_dma_chan *fsl_chan) 66 { 67 return DMA_IN(fsl_chan, &fsl_chan->reg_base->sr, 32); 68 } ··· 406 dma_pool_destroy(fsl_chan->desc_pool); 407 } 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 + 435 static struct dma_async_tx_descriptor *fsl_dma_prep_memcpy( 436 struct dma_chan *chan, dma_addr_t dma_dest, dma_addr_t dma_src, 437 size_t len, unsigned long flags) ··· 436 dev_dbg(fsl_chan->dev, "new link desc alloc %p\n", new); 437 #endif 438 439 + copy = min(len, (size_t)FSL_DMA_BCR_MAX_CNT); 440 441 set_desc_cnt(fsl_chan, &new->hw, copy); 442 set_desc_src(fsl_chan, &new->hw, dma_src); ··· 513 514 spin_lock_irqsave(&fsl_chan->desc_lock, flags); 515 516 dev_dbg(fsl_chan->dev, "chan completed_cookie = %d\n", 517 fsl_chan->completed_cookie); 518 list_for_each_entry_safe(desc, _desc, &fsl_chan->ld_queue, node) { ··· 581 if (ld_node != &fsl_chan->ld_queue) { 582 /* Get the ld start address from ld_queue */ 583 next_dest_addr = to_fsl_desc(ld_node)->async_tx.phys; 584 + dev_dbg(fsl_chan->dev, "xfer LDs staring from %p\n", 585 + (void *)next_dest_addr); 586 set_cdar(fsl_chan, next_dest_addr); 587 dma_start(fsl_chan); 588 } else { ··· 662 static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data) 663 { 664 struct fsl_dma_chan *fsl_chan = (struct fsl_dma_chan *)data; 665 + u32 stat; 666 667 stat = get_sr(fsl_chan); 668 dev_dbg(fsl_chan->dev, "event: channel %d, stat = 0x%x\n", ··· 681 */ 682 if (stat & FSL_DMA_SR_EOSI) { 683 dev_dbg(fsl_chan->dev, "event: End-of-segments INT\n"); 684 + dev_dbg(fsl_chan->dev, "event: clndar %p, nlndar %p\n", 685 + (void *)get_cdar(fsl_chan), (void *)get_ndar(fsl_chan)); 686 stat &= ~FSL_DMA_SR_EOSI; 687 + fsl_dma_update_completed_cookie(fsl_chan); 688 } 689 690 /* If it current transfer is the end-of-transfer, ··· 726 fsl_chan_ld_cleanup(fsl_chan); 727 } 728 729 + #ifdef FSL_DMA_CALLBACKTEST 730 static void fsl_dma_callback_test(struct fsl_dma_chan *fsl_chan) 731 { 732 if (fsl_chan) 733 dev_info(fsl_chan->dev, "selftest: callback is ok!\n"); 734 } 735 + #endif 736 737 + #ifdef CONFIG_FSL_DMA_SELFTEST 738 static int fsl_dma_self_test(struct fsl_dma_chan *fsl_chan) 739 { 740 struct dma_chan *chan; ··· 837 if (err) { 838 for (i = 0; (*(src + i) == *(dest + i)) && (i < test_size); 839 i++); 840 + dev_err(fsl_chan->dev, "selftest: Test failed, data %d/%ld is " 841 "error! src 0x%x, dest 0x%x\n", 842 + i, (long)test_size, *(src + i), *(dest + i)); 843 } 844 845 free_resources: ··· 848 kfree(src); 849 return err; 850 } 851 + #endif 852 853 static int __devinit of_fsl_dma_chan_probe(struct of_device *dev, 854 const struct of_device_id *match) ··· 1008 } 1009 1010 dev_info(&dev->dev, "Probe the Freescale DMA driver for %s " 1011 + "controller at %p...\n", 1012 + match->compatible, (void *)fdev->reg.start); 1013 fdev->reg_base = ioremap(fdev->reg.start, fdev->reg.end 1014 - fdev->reg.start + 1); 1015 ··· 1017 dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask); 1018 fdev->common.device_alloc_chan_resources = fsl_dma_alloc_chan_resources; 1019 fdev->common.device_free_chan_resources = fsl_dma_free_chan_resources; 1020 + fdev->common.device_prep_dma_interrupt = fsl_dma_prep_interrupt; 1021 fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy; 1022 fdev->common.device_is_tx_complete = fsl_dma_is_complete; 1023 fdev->common.device_issue_pending = fsl_dma_memcpy_issue_pending;
+16 -16
drivers/dma/iop-adma.c
··· 140 int busy = iop_chan_is_busy(iop_chan); 141 int seen_current = 0, slot_cnt = 0, slots_per_op = 0; 142 143 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 144 /* free completed slots from the chain starting with 145 * the oldest descriptor 146 */ ··· 438 spin_unlock_bh(&iop_chan->lock); 439 440 dev_dbg(iop_chan->device->common.dev, "%s cookie: %d slot: %d\n", 441 - __FUNCTION__, sw_desc->async_tx.cookie, sw_desc->idx); 442 443 return cookie; 444 } ··· 520 struct iop_adma_desc_slot *sw_desc, *grp_start; 521 int slot_cnt, slots_per_op; 522 523 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 524 525 spin_lock_bh(&iop_chan->lock); 526 slot_cnt = iop_chan_interrupt_slot_count(&slots_per_op, iop_chan); ··· 548 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 549 550 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 551 - __FUNCTION__, len); 552 553 spin_lock_bh(&iop_chan->lock); 554 slot_cnt = iop_chan_memcpy_slot_count(len, &slots_per_op); ··· 580 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 581 582 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 583 - __FUNCTION__, len); 584 585 spin_lock_bh(&iop_chan->lock); 586 slot_cnt = iop_chan_memset_slot_count(len, &slots_per_op); ··· 614 615 dev_dbg(iop_chan->device->common.dev, 616 "%s src_cnt: %d len: %u flags: %lx\n", 617 - __FUNCTION__, src_cnt, len, flags); 618 619 spin_lock_bh(&iop_chan->lock); 620 slot_cnt = iop_chan_xor_slot_count(len, src_cnt, &slots_per_op); ··· 648 return NULL; 649 650 dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %u\n", 651 - __FUNCTION__, src_cnt, len); 652 653 spin_lock_bh(&iop_chan->lock); 654 slot_cnt = iop_chan_zero_sum_slot_count(len, src_cnt, &slots_per_op); ··· 659 iop_desc_set_zero_sum_byte_count(grp_start, len); 660 grp_start->xor_check_result = result; 661 pr_debug("\t%s: grp_start->xor_check_result: %p\n", 662 - __FUNCTION__, grp_start->xor_check_result); 663 sw_desc->unmap_src_cnt = src_cnt; 664 sw_desc->unmap_len = len; 665 while (src_cnt--) ··· 700 iop_chan->last_used = NULL; 701 702 dev_dbg(iop_chan->device->common.dev, "%s slots_allocated %d\n", 703 - __FUNCTION__, iop_chan->slots_allocated); 704 spin_unlock_bh(&iop_chan->lock); 705 706 /* one is ok since we left it on there on purpose */ ··· 753 { 754 struct iop_adma_chan *chan = data; 755 756 - dev_dbg(chan->device->common.dev, "%s\n", __FUNCTION__); 757 758 tasklet_schedule(&chan->irq_tasklet); 759 ··· 766 { 767 struct iop_adma_chan *chan = data; 768 769 - dev_dbg(chan->device->common.dev, "%s\n", __FUNCTION__); 770 771 tasklet_schedule(&chan->irq_tasklet); 772 ··· 823 int err = 0; 824 struct iop_adma_chan *iop_chan; 825 826 - dev_dbg(device->common.dev, "%s\n", __FUNCTION__); 827 828 src = kzalloc(sizeof(u8) * IOP_ADMA_TEST_SIZE, GFP_KERNEL); 829 if (!src) ··· 906 int err = 0; 907 struct iop_adma_chan *iop_chan; 908 909 - dev_dbg(device->common.dev, "%s\n", __FUNCTION__); 910 911 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) { 912 xor_srcs[src_idx] = alloc_page(GFP_KERNEL); ··· 1159 } 1160 1161 dev_dbg(&pdev->dev, "%s: allocted descriptor pool virt %p phys %p\n", 1162 - __FUNCTION__, adev->dma_desc_pool_virt, 1163 (void *) adev->dma_desc_pool); 1164 1165 adev->id = plat_data->hw_id; ··· 1289 dma_cookie_t cookie; 1290 int slot_cnt, slots_per_op; 1291 1292 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 1293 1294 spin_lock_bh(&iop_chan->lock); 1295 slot_cnt = iop_chan_memcpy_slot_count(0, &slots_per_op); ··· 1346 dma_cookie_t cookie; 1347 int slot_cnt, slots_per_op; 1348 1349 - dev_dbg(iop_chan->device->common.dev, "%s\n", __FUNCTION__); 1350 1351 spin_lock_bh(&iop_chan->lock); 1352 slot_cnt = iop_chan_xor_slot_count(0, 2, &slots_per_op);
··· 140 int busy = iop_chan_is_busy(iop_chan); 141 int seen_current = 0, slot_cnt = 0, slots_per_op = 0; 142 143 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 144 /* free completed slots from the chain starting with 145 * the oldest descriptor 146 */ ··· 438 spin_unlock_bh(&iop_chan->lock); 439 440 dev_dbg(iop_chan->device->common.dev, "%s cookie: %d slot: %d\n", 441 + __func__, sw_desc->async_tx.cookie, sw_desc->idx); 442 443 return cookie; 444 } ··· 520 struct iop_adma_desc_slot *sw_desc, *grp_start; 521 int slot_cnt, slots_per_op; 522 523 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 524 525 spin_lock_bh(&iop_chan->lock); 526 slot_cnt = iop_chan_interrupt_slot_count(&slots_per_op, iop_chan); ··· 548 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 549 550 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 551 + __func__, len); 552 553 spin_lock_bh(&iop_chan->lock); 554 slot_cnt = iop_chan_memcpy_slot_count(len, &slots_per_op); ··· 580 BUG_ON(unlikely(len > IOP_ADMA_MAX_BYTE_COUNT)); 581 582 dev_dbg(iop_chan->device->common.dev, "%s len: %u\n", 583 + __func__, len); 584 585 spin_lock_bh(&iop_chan->lock); 586 slot_cnt = iop_chan_memset_slot_count(len, &slots_per_op); ··· 614 615 dev_dbg(iop_chan->device->common.dev, 616 "%s src_cnt: %d len: %u flags: %lx\n", 617 + __func__, src_cnt, len, flags); 618 619 spin_lock_bh(&iop_chan->lock); 620 slot_cnt = iop_chan_xor_slot_count(len, src_cnt, &slots_per_op); ··· 648 return NULL; 649 650 dev_dbg(iop_chan->device->common.dev, "%s src_cnt: %d len: %u\n", 651 + __func__, src_cnt, len); 652 653 spin_lock_bh(&iop_chan->lock); 654 slot_cnt = iop_chan_zero_sum_slot_count(len, src_cnt, &slots_per_op); ··· 659 iop_desc_set_zero_sum_byte_count(grp_start, len); 660 grp_start->xor_check_result = result; 661 pr_debug("\t%s: grp_start->xor_check_result: %p\n", 662 + __func__, grp_start->xor_check_result); 663 sw_desc->unmap_src_cnt = src_cnt; 664 sw_desc->unmap_len = len; 665 while (src_cnt--) ··· 700 iop_chan->last_used = NULL; 701 702 dev_dbg(iop_chan->device->common.dev, "%s slots_allocated %d\n", 703 + __func__, iop_chan->slots_allocated); 704 spin_unlock_bh(&iop_chan->lock); 705 706 /* one is ok since we left it on there on purpose */ ··· 753 { 754 struct iop_adma_chan *chan = data; 755 756 + dev_dbg(chan->device->common.dev, "%s\n", __func__); 757 758 tasklet_schedule(&chan->irq_tasklet); 759 ··· 766 { 767 struct iop_adma_chan *chan = data; 768 769 + dev_dbg(chan->device->common.dev, "%s\n", __func__); 770 771 tasklet_schedule(&chan->irq_tasklet); 772 ··· 823 int err = 0; 824 struct iop_adma_chan *iop_chan; 825 826 + dev_dbg(device->common.dev, "%s\n", __func__); 827 828 src = kzalloc(sizeof(u8) * IOP_ADMA_TEST_SIZE, GFP_KERNEL); 829 if (!src) ··· 906 int err = 0; 907 struct iop_adma_chan *iop_chan; 908 909 + dev_dbg(device->common.dev, "%s\n", __func__); 910 911 for (src_idx = 0; src_idx < IOP_ADMA_NUM_SRC_TEST; src_idx++) { 912 xor_srcs[src_idx] = alloc_page(GFP_KERNEL); ··· 1159 } 1160 1161 dev_dbg(&pdev->dev, "%s: allocted descriptor pool virt %p phys %p\n", 1162 + __func__, adev->dma_desc_pool_virt, 1163 (void *) adev->dma_desc_pool); 1164 1165 adev->id = plat_data->hw_id; ··· 1289 dma_cookie_t cookie; 1290 int slot_cnt, slots_per_op; 1291 1292 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 1293 1294 spin_lock_bh(&iop_chan->lock); 1295 slot_cnt = iop_chan_memcpy_slot_count(0, &slots_per_op); ··· 1346 dma_cookie_t cookie; 1347 int slot_cnt, slots_per_op; 1348 1349 + dev_dbg(iop_chan->device->common.dev, "%s\n", __func__); 1350 1351 spin_lock_bh(&iop_chan->lock); 1352 slot_cnt = iop_chan_xor_slot_count(0, 2, &slots_per_op);
+1 -1
drivers/i2c/busses/i2c-amd756.c
··· 335 u8 temp; 336 337 /* driver_data might come from user-space, so check it */ 338 - if (id->driver_data > ARRAY_SIZE(chipname)) 339 return -EINVAL; 340 341 if (amd756_ioport) {
··· 335 u8 temp; 336 337 /* driver_data might come from user-space, so check it */ 338 + if (id->driver_data >= ARRAY_SIZE(chipname)) 339 return -EINVAL; 340 341 if (amd756_ioport) {
+7
drivers/i2c/chips/Makefile
··· 1 # 2 # Makefile for miscellaneous I2C chip drivers. 3 # 4 5 obj-$(CONFIG_DS1682) += ds1682.o 6 obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o
··· 1 # 2 # Makefile for miscellaneous I2C chip drivers. 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 + # 11 12 obj-$(CONFIG_DS1682) += ds1682.o 13 obj-$(CONFIG_SENSORS_EEPROM) += eeprom.o
+5 -1
drivers/i2c/i2c-core.c
··· 90 { 91 struct i2c_client *client = to_i2c_client(dev); 92 struct i2c_driver *driver = to_i2c_driver(dev->driver); 93 94 if (!driver->probe) 95 return -ENODEV; 96 client->driver = driver; 97 dev_dbg(dev, "probe\n"); 98 - return driver->probe(client); 99 } 100 101 static int i2c_device_remove(struct device *dev)
··· 90 { 91 struct i2c_client *client = to_i2c_client(dev); 92 struct i2c_driver *driver = to_i2c_driver(dev->driver); 93 + int status; 94 95 if (!driver->probe) 96 return -ENODEV; 97 client->driver = driver; 98 dev_dbg(dev, "probe\n"); 99 + status = driver->probe(client); 100 + if (status) 101 + client->driver = NULL; 102 + return status; 103 } 104 105 static int i2c_device_remove(struct device *dev)
+1 -1
drivers/infiniband/hw/ipath/ipath_common.h
··· 75 #define IPATH_IB_LINKDOWN 0 76 #define IPATH_IB_LINKARM 1 77 #define IPATH_IB_LINKACTIVE 2 78 - #define IPATH_IB_LINKINIT 3 79 #define IPATH_IB_LINKDOWN_SLEEP 4 80 #define IPATH_IB_LINKDOWN_DISABLE 5 81 #define IPATH_IB_LINK_LOOPBACK 6 /* enable local loopback */
··· 75 #define IPATH_IB_LINKDOWN 0 76 #define IPATH_IB_LINKARM 1 77 #define IPATH_IB_LINKACTIVE 2 78 + #define IPATH_IB_LINKDOWN_ONLY 3 79 #define IPATH_IB_LINKDOWN_SLEEP 4 80 #define IPATH_IB_LINKDOWN_DISABLE 5 81 #define IPATH_IB_LINK_LOOPBACK 6 /* enable local loopback */
+12 -16
drivers/infiniband/hw/ipath/ipath_driver.c
··· 851 * -ETIMEDOUT state can have multiple states set, for any of several 852 * transitions. 853 */ 854 - static int ipath_wait_linkstate(struct ipath_devdata *dd, u32 state, 855 - int msecs) 856 { 857 dd->ipath_state_wanted = state; 858 wait_event_interruptible_timeout(ipath_state_wait, ··· 1655 static void ipath_set_ib_lstate(struct ipath_devdata *dd, int which) 1656 { 1657 static const char *what[4] = { 1658 - [0] = "DOWN", 1659 - [INFINIPATH_IBCC_LINKCMD_INIT] = "INIT", 1660 [INFINIPATH_IBCC_LINKCMD_ARMED] = "ARMED", 1661 [INFINIPATH_IBCC_LINKCMD_ACTIVE] = "ACTIVE" 1662 }; ··· 1671 (dd, dd->ipath_kregs->kr_ibcstatus) >> 1672 INFINIPATH_IBCS_LINKTRAININGSTATE_SHIFT) & 1673 INFINIPATH_IBCS_LINKTRAININGSTATE_MASK]); 1674 - /* flush all queued sends when going to DOWN or INIT, to be sure that 1675 * they don't block MAD packets */ 1676 - if (!linkcmd || linkcmd == INFINIPATH_IBCC_LINKCMD_INIT) 1677 ipath_cancel_sends(dd, 1); 1678 1679 ipath_write_kreg(dd, dd->ipath_kregs->kr_ibcctrl, ··· 1686 int ret; 1687 1688 switch (newstate) { 1689 case IPATH_IB_LINKDOWN: 1690 ipath_set_ib_lstate(dd, INFINIPATH_IBCC_LINKINITCMD_POLL << 1691 INFINIPATH_IBCC_LINKINITCMD_SHIFT); ··· 1714 /* don't wait */ 1715 ret = 0; 1716 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 1728 case IPATH_IB_LINKARM: 1729 if (dd->ipath_flags & IPATH_LINKARMED) {
··· 851 * -ETIMEDOUT state can have multiple states set, for any of several 852 * transitions. 853 */ 854 + int ipath_wait_linkstate(struct ipath_devdata *dd, u32 state, int msecs) 855 { 856 dd->ipath_state_wanted = state; 857 wait_event_interruptible_timeout(ipath_state_wait, ··· 1656 static void ipath_set_ib_lstate(struct ipath_devdata *dd, int which) 1657 { 1658 static const char *what[4] = { 1659 + [0] = "NOP", 1660 + [INFINIPATH_IBCC_LINKCMD_DOWN] = "DOWN", 1661 [INFINIPATH_IBCC_LINKCMD_ARMED] = "ARMED", 1662 [INFINIPATH_IBCC_LINKCMD_ACTIVE] = "ACTIVE" 1663 }; ··· 1672 (dd, dd->ipath_kregs->kr_ibcstatus) >> 1673 INFINIPATH_IBCS_LINKTRAININGSTATE_SHIFT) & 1674 INFINIPATH_IBCS_LINKTRAININGSTATE_MASK]); 1675 + /* flush all queued sends when going to DOWN to be sure that 1676 * they don't block MAD packets */ 1677 + if (linkcmd == INFINIPATH_IBCC_LINKCMD_DOWN) 1678 ipath_cancel_sends(dd, 1); 1679 1680 ipath_write_kreg(dd, dd->ipath_kregs->kr_ibcctrl, ··· 1687 int ret; 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 + 1697 case IPATH_IB_LINKDOWN: 1698 ipath_set_ib_lstate(dd, INFINIPATH_IBCC_LINKINITCMD_POLL << 1699 INFINIPATH_IBCC_LINKINITCMD_SHIFT); ··· 1708 /* don't wait */ 1709 ret = 0; 1710 goto bail; 1711 1712 case IPATH_IB_LINKARM: 1713 if (dd->ipath_flags & IPATH_LINKARMED) {
+1
drivers/infiniband/hw/ipath/ipath_kernel.h
··· 767 int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); 768 int ipath_reset_device(int); 769 void ipath_get_faststats(unsigned long); 770 int ipath_set_linkstate(struct ipath_devdata *, u8); 771 int ipath_set_mtu(struct ipath_devdata *, u16); 772 int ipath_set_lid(struct ipath_devdata *, u32, u8);
··· 767 int ipath_setrcvhdrsize(struct ipath_devdata *, unsigned); 768 int ipath_reset_device(int); 769 void ipath_get_faststats(unsigned long); 770 + int ipath_wait_linkstate(struct ipath_devdata *, u32, int); 771 int ipath_set_linkstate(struct ipath_devdata *, u8); 772 int ipath_set_mtu(struct ipath_devdata *, u16); 773 int ipath_set_lid(struct ipath_devdata *, u32, u8);
+3 -4
drivers/infiniband/hw/ipath/ipath_mad.c
··· 555 /* FALLTHROUGH */ 556 case IB_PORT_DOWN: 557 if (lstate == 0) 558 - if (get_linkdowndefaultstate(dd)) 559 - lstate = IPATH_IB_LINKDOWN_SLEEP; 560 - else 561 - lstate = IPATH_IB_LINKDOWN; 562 else if (lstate == 1) 563 lstate = IPATH_IB_LINKDOWN_SLEEP; 564 else if (lstate == 2) ··· 565 else 566 goto err; 567 ipath_set_linkstate(dd, lstate); 568 break; 569 case IB_PORT_ARMED: 570 ipath_set_linkstate(dd, IPATH_IB_LINKARM);
··· 555 /* FALLTHROUGH */ 556 case IB_PORT_DOWN: 557 if (lstate == 0) 558 + lstate = IPATH_IB_LINKDOWN_ONLY; 559 else if (lstate == 1) 560 lstate = IPATH_IB_LINKDOWN_SLEEP; 561 else if (lstate == 2) ··· 568 else 569 goto err; 570 ipath_set_linkstate(dd, lstate); 571 + ipath_wait_linkstate(dd, IPATH_LINKINIT | IPATH_LINKARMED | 572 + IPATH_LINKACTIVE, 1000); 573 break; 574 case IB_PORT_ARMED: 575 ipath_set_linkstate(dd, IPATH_IB_LINKARM);
+7 -6
drivers/infiniband/hw/ipath/ipath_qp.c
··· 329 /** 330 * ipath_reset_qp - initialize the QP state to the reset state 331 * @qp: the QP to reset 332 */ 333 - static void ipath_reset_qp(struct ipath_qp *qp) 334 { 335 qp->remote_qpn = 0; 336 qp->qkey = 0; ··· 343 qp->s_psn = 0; 344 qp->r_psn = 0; 345 qp->r_msn = 0; 346 - if (qp->ibqp.qp_type == IB_QPT_RC) { 347 qp->s_state = IB_OPCODE_RC_SEND_LAST; 348 qp->r_state = IB_OPCODE_RC_SEND_LAST; 349 } else { ··· 415 wc.wr_id = qp->r_wr_id; 416 wc.opcode = IB_WC_RECV; 417 wc.status = err; 418 - ipath_cq_enter(to_icq(qp->ibqp.send_cq), &wc, 1); 419 } 420 wc.status = IB_WC_WR_FLUSH_ERR; 421 ··· 535 536 switch (new_state) { 537 case IB_QPS_RESET: 538 - ipath_reset_qp(qp); 539 break; 540 541 case IB_QPS_ERR: ··· 648 attr->port_num = 1; 649 attr->timeout = qp->timeout; 650 attr->retry_cnt = qp->s_retry_cnt; 651 - attr->rnr_retry = qp->s_rnr_retry; 652 attr->alt_port_num = 0; 653 attr->alt_timeout = 0; 654 ··· 840 goto bail_qp; 841 } 842 qp->ip = NULL; 843 - ipath_reset_qp(qp); 844 break; 845 846 default:
··· 329 /** 330 * ipath_reset_qp - initialize the QP state to the reset state 331 * @qp: the QP to reset 332 + * @type: the QP type 333 */ 334 + static void ipath_reset_qp(struct ipath_qp *qp, enum ib_qp_type type) 335 { 336 qp->remote_qpn = 0; 337 qp->qkey = 0; ··· 342 qp->s_psn = 0; 343 qp->r_psn = 0; 344 qp->r_msn = 0; 345 + if (type == IB_QPT_RC) { 346 qp->s_state = IB_OPCODE_RC_SEND_LAST; 347 qp->r_state = IB_OPCODE_RC_SEND_LAST; 348 } else { ··· 414 wc.wr_id = qp->r_wr_id; 415 wc.opcode = IB_WC_RECV; 416 wc.status = err; 417 + ipath_cq_enter(to_icq(qp->ibqp.recv_cq), &wc, 1); 418 } 419 wc.status = IB_WC_WR_FLUSH_ERR; 420 ··· 534 535 switch (new_state) { 536 case IB_QPS_RESET: 537 + ipath_reset_qp(qp, ibqp->qp_type); 538 break; 539 540 case IB_QPS_ERR: ··· 647 attr->port_num = 1; 648 attr->timeout = qp->timeout; 649 attr->retry_cnt = qp->s_retry_cnt; 650 + attr->rnr_retry = qp->s_rnr_retry_cnt; 651 attr->alt_port_num = 0; 652 attr->alt_timeout = 0; 653 ··· 839 goto bail_qp; 840 } 841 qp->ip = NULL; 842 + ipath_reset_qp(qp, init_attr->qp_type); 843 break; 844 845 default:
+4
drivers/infiniband/hw/ipath/ipath_rc.c
··· 1196 list_move_tail(&qp->timerwait, 1197 &dev->pending[dev->pending_index]); 1198 spin_unlock(&dev->pending_lock); 1199 /* 1200 * Update the RDMA receive state but do the copy w/o 1201 * holding the locks and blocking interrupts.
··· 1196 list_move_tail(&qp->timerwait, 1197 &dev->pending[dev->pending_index]); 1198 spin_unlock(&dev->pending_lock); 1199 + 1200 + if (opcode == OP(RDMA_READ_RESPONSE_MIDDLE)) 1201 + qp->s_retry = qp->s_retry_cnt; 1202 + 1203 /* 1204 * Update the RDMA receive state but do the copy w/o 1205 * holding the locks and blocking interrupts.
+1 -1
drivers/infiniband/hw/ipath/ipath_registers.h
··· 185 #define INFINIPATH_IBCC_LINKINITCMD_SLEEP 3 186 #define INFINIPATH_IBCC_LINKINITCMD_SHIFT 16 187 #define INFINIPATH_IBCC_LINKCMD_MASK 0x3ULL 188 - #define INFINIPATH_IBCC_LINKCMD_INIT 1 /* move to 0x11 */ 189 #define INFINIPATH_IBCC_LINKCMD_ARMED 2 /* move to 0x21 */ 190 #define INFINIPATH_IBCC_LINKCMD_ACTIVE 3 /* move to 0x31 */ 191 #define INFINIPATH_IBCC_LINKCMD_SHIFT 18
··· 185 #define INFINIPATH_IBCC_LINKINITCMD_SLEEP 3 186 #define INFINIPATH_IBCC_LINKINITCMD_SHIFT 16 187 #define INFINIPATH_IBCC_LINKCMD_MASK 0x3ULL 188 + #define INFINIPATH_IBCC_LINKCMD_DOWN 1 /* move to 0x11 */ 189 #define INFINIPATH_IBCC_LINKCMD_ARMED 2 /* move to 0x21 */ 190 #define INFINIPATH_IBCC_LINKCMD_ACTIVE 3 /* move to 0x31 */ 191 #define INFINIPATH_IBCC_LINKCMD_SHIFT 18
+6 -3
drivers/infiniband/ulp/ipoib/ipoib_cm.c
··· 38 #include <net/icmp.h> 39 #include <linux/icmpv6.h> 40 #include <linux/delay.h> 41 42 #include "ipoib.h" 43 ··· 638 priv->tx_sge[0].addr = addr; 639 priv->tx_sge[0].length = len; 640 641 priv->tx_wr.wr_id = wr_id | IPOIB_OP_CM; 642 643 return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr); ··· 1032 struct ipoib_dev_priv *priv = netdev_priv(p->dev); 1033 int ret; 1034 1035 - p->tx_ring = kzalloc(ipoib_sendq_size * sizeof *p->tx_ring, 1036 - GFP_KERNEL); 1037 if (!p->tx_ring) { 1038 ipoib_warn(priv, "failed to allocate tx ring\n"); 1039 ret = -ENOMEM; 1040 goto err_tx; 1041 } 1042 1043 p->qp = ipoib_cm_create_tx_qp(p->dev, p); 1044 if (IS_ERR(p->qp)) { ··· 1079 ib_destroy_qp(p->qp); 1080 err_qp: 1081 p->qp = NULL; 1082 err_tx: 1083 return ret; 1084 } ··· 1130 if (p->qp) 1131 ib_destroy_qp(p->qp); 1132 1133 - kfree(p->tx_ring); 1134 kfree(p); 1135 } 1136
··· 38 #include <net/icmp.h> 39 #include <linux/icmpv6.h> 40 #include <linux/delay.h> 41 + #include <linux/vmalloc.h> 42 43 #include "ipoib.h" 44 ··· 637 priv->tx_sge[0].addr = addr; 638 priv->tx_sge[0].length = len; 639 640 + priv->tx_wr.num_sge = 1; 641 priv->tx_wr.wr_id = wr_id | IPOIB_OP_CM; 642 643 return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr); ··· 1030 struct ipoib_dev_priv *priv = netdev_priv(p->dev); 1031 int ret; 1032 1033 + p->tx_ring = vmalloc(ipoib_sendq_size * sizeof *p->tx_ring); 1034 if (!p->tx_ring) { 1035 ipoib_warn(priv, "failed to allocate tx ring\n"); 1036 ret = -ENOMEM; 1037 goto err_tx; 1038 } 1039 + memset(p->tx_ring, 0, ipoib_sendq_size * sizeof *p->tx_ring); 1040 1041 p->qp = ipoib_cm_create_tx_qp(p->dev, p); 1042 if (IS_ERR(p->qp)) { ··· 1077 ib_destroy_qp(p->qp); 1078 err_qp: 1079 p->qp = NULL; 1080 + vfree(p->tx_ring); 1081 err_tx: 1082 return ret; 1083 } ··· 1127 if (p->qp) 1128 ib_destroy_qp(p->qp); 1129 1130 + vfree(p->tx_ring); 1131 kfree(p); 1132 } 1133
+5 -4
drivers/infiniband/ulp/ipoib/ipoib_main.c
··· 41 #include <linux/init.h> 42 #include <linux/slab.h> 43 #include <linux/kernel.h> 44 45 #include <linux/if_arp.h> /* For ARPHRD_xxx */ 46 ··· 888 goto out; 889 } 890 891 - priv->tx_ring = kzalloc(ipoib_sendq_size * sizeof *priv->tx_ring, 892 - GFP_KERNEL); 893 if (!priv->tx_ring) { 894 printk(KERN_WARNING "%s: failed to allocate TX ring (%d entries)\n", 895 ca->name, ipoib_sendq_size); 896 goto out_rx_ring_cleanup; 897 } 898 899 /* priv->tx_head, tx_tail & tx_outstanding are already 0 */ 900 ··· 904 return 0; 905 906 out_tx_ring_cleanup: 907 - kfree(priv->tx_ring); 908 909 out_rx_ring_cleanup: 910 kfree(priv->rx_ring); ··· 929 ipoib_ib_dev_cleanup(dev); 930 931 kfree(priv->rx_ring); 932 - kfree(priv->tx_ring); 933 934 priv->rx_ring = NULL; 935 priv->tx_ring = NULL;
··· 41 #include <linux/init.h> 42 #include <linux/slab.h> 43 #include <linux/kernel.h> 44 + #include <linux/vmalloc.h> 45 46 #include <linux/if_arp.h> /* For ARPHRD_xxx */ 47 ··· 887 goto out; 888 } 889 890 + priv->tx_ring = vmalloc(ipoib_sendq_size * sizeof *priv->tx_ring); 891 if (!priv->tx_ring) { 892 printk(KERN_WARNING "%s: failed to allocate TX ring (%d entries)\n", 893 ca->name, ipoib_sendq_size); 894 goto out_rx_ring_cleanup; 895 } 896 + memset(priv->tx_ring, 0, ipoib_sendq_size * sizeof *priv->tx_ring); 897 898 /* priv->tx_head, tx_tail & tx_outstanding are already 0 */ 899 ··· 903 return 0; 904 905 out_tx_ring_cleanup: 906 + vfree(priv->tx_ring); 907 908 out_rx_ring_cleanup: 909 kfree(priv->rx_ring); ··· 928 ipoib_ib_dev_cleanup(dev); 929 930 kfree(priv->rx_ring); 931 + vfree(priv->tx_ring); 932 933 priv->rx_ring = NULL; 934 priv->tx_ring = NULL;
+1 -1
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
··· 650 */ 651 spin_lock(&priv->lock); 652 653 - if (!test_bit(IPOIB_MCAST_STARTED, &priv->flags) || 654 !priv->broadcast || 655 !test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) { 656 ++dev->stats.tx_dropped;
··· 650 */ 651 spin_lock(&priv->lock); 652 653 + if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags) || 654 !priv->broadcast || 655 !test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) { 656 ++dev->stats.tx_dropped;
+2 -2
drivers/isdn/i4l/isdn_common.c
··· 981 } 982 983 984 - static __inline int 985 isdn_minor2drv(int minor) 986 { 987 return (dev->drvmap[minor]); 988 } 989 990 - static __inline int 991 isdn_minor2chan(int minor) 992 { 993 return (dev->chanmap[minor]);
··· 981 } 982 983 984 + static inline int 985 isdn_minor2drv(int minor) 986 { 987 return (dev->drvmap[minor]); 988 } 989 990 + static inline int 991 isdn_minor2chan(int minor) 992 { 993 return (dev->chanmap[minor]);
+1 -1
drivers/isdn/i4l/isdn_v110.c
··· 62 * and to 67452301 when keylen = 2. This is necessary because ordering on 63 * the isdn line is the other way. 64 */ 65 - static __inline unsigned char 66 FlipBits(unsigned char c, int keylen) 67 { 68 unsigned char b = c;
··· 62 * and to 67452301 when keylen = 2. This is necessary because ordering on 63 * the isdn line is the other way. 64 */ 65 + static inline unsigned char 66 FlipBits(unsigned char c, int keylen) 67 { 68 unsigned char b = c;
+3 -2
drivers/macintosh/via-pmu-backlight.c
··· 17 18 static struct backlight_ops pmu_backlight_data; 19 static DEFINE_SPINLOCK(pmu_backlight_lock); 20 - static int sleeping; 21 static u8 bl_curve[FB_BACKLIGHT_LEVELS]; 22 23 static void pmu_backlight_init_curve(u8 off, u8 min, u8 max) ··· 128 129 spin_lock_irqsave(&pmu_backlight_lock, flags); 130 sleeping = sleep; 131 - if (pmac_backlight) { 132 if (sleep) { 133 struct adb_request req; 134 ··· 166 printk(KERN_ERR "PMU Backlight registration failed\n"); 167 return; 168 } 169 bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1; 170 pmu_backlight_init_curve(0x7F, 0x46, 0x0E); 171
··· 17 18 static struct backlight_ops pmu_backlight_data; 19 static DEFINE_SPINLOCK(pmu_backlight_lock); 20 + static int sleeping, uses_pmu_bl; 21 static u8 bl_curve[FB_BACKLIGHT_LEVELS]; 22 23 static void pmu_backlight_init_curve(u8 off, u8 min, u8 max) ··· 128 129 spin_lock_irqsave(&pmu_backlight_lock, flags); 130 sleeping = sleep; 131 + if (pmac_backlight && uses_pmu_bl) { 132 if (sleep) { 133 struct adb_request req; 134 ··· 166 printk(KERN_ERR "PMU Backlight registration failed\n"); 167 return; 168 } 169 + uses_pmu_bl = 1; 170 bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1; 171 pmu_backlight_init_curve(0x7F, 0x46, 0x0E); 172
+1 -1
drivers/macintosh/via-pmu.c
··· 2528 EXPORT_SYMBOL(pmu_suspend); 2529 EXPORT_SYMBOL(pmu_resume); 2530 EXPORT_SYMBOL(pmu_unlock); 2531 - #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC32) 2532 EXPORT_SYMBOL(pmu_enable_irled); 2533 EXPORT_SYMBOL(pmu_battery_count); 2534 EXPORT_SYMBOL(pmu_batteries);
··· 2528 EXPORT_SYMBOL(pmu_suspend); 2529 EXPORT_SYMBOL(pmu_resume); 2530 EXPORT_SYMBOL(pmu_unlock); 2531 + #if defined(CONFIG_PPC32) 2532 EXPORT_SYMBOL(pmu_enable_irled); 2533 EXPORT_SYMBOL(pmu_battery_count); 2534 EXPORT_SYMBOL(pmu_batteries);
+1
drivers/misc/Kconfig
··· 108 depends on ACPI 109 depends on LEDS_CLASS 110 depends on BACKLIGHT_CLASS_DEVICE 111 select ACPI_WMI 112 ---help--- 113 This is a driver for newer Acer (and Wistron) laptops. It adds
··· 108 depends on ACPI 109 depends on LEDS_CLASS 110 depends on BACKLIGHT_CLASS_DEVICE 111 + depends on SERIO_I8042 112 select ACPI_WMI 113 ---help--- 114 This is a driver for newer Acer (and Wistron) laptops. It adds
+31 -13
drivers/misc/acer-wmi.c
··· 219 }, 220 { 221 .callback = dmi_matched, 222 .ident = "Acer Aspire 5100", 223 .matches = { 224 DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 225 DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), 226 }, 227 .driver_data = &quirk_acer_travelmate_2490, 228 }, ··· 779 } 780 781 static struct led_classdev mail_led = { 782 - .name = "acer-mail:green", 783 .brightness_set = mail_led_set, 784 }; 785 786 - static int __init acer_led_init(struct device *dev) 787 { 788 return led_classdev_register(dev, &mail_led); 789 } ··· 816 .update_status = update_bl_status, 817 }; 818 819 - static int __init acer_backlight_init(struct device *dev) 820 { 821 struct backlight_device *bd; 822 ··· 835 return 0; 836 } 837 838 - static void __exit acer_backlight_exit(void) 839 { 840 backlight_device_unregister(acer_backlight_device); 841 } ··· 1070 1071 if (wmi_has_guid(WMID_GUID2) && interface) { 1072 if (ACPI_FAILURE(WMID_set_capabilities())) { 1073 - printk(ACER_ERR "Unable to detect available devices\n"); 1074 return -ENODEV; 1075 } 1076 } else if (!wmi_has_guid(WMID_GUID2) && interface) { 1077 - printk(ACER_ERR "Unable to detect available devices\n"); 1078 return -ENODEV; 1079 } 1080 ··· 1083 interface = &AMW0_interface; 1084 1085 if (ACPI_FAILURE(AMW0_set_capabilities())) { 1086 - printk(ACER_ERR "Unable to detect available devices\n"); 1087 return -ENODEV; 1088 } 1089 } 1090 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 - } 1095 1096 find_quirks(); 1097 1098 if (!interface) { 1099 - printk(ACER_ERR "No or unsupported WMI interface, unable to "); 1100 - printk(KERN_CONT "load.\n"); 1101 return -ENODEV; 1102 } 1103
··· 219 }, 220 { 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, 231 .ident = "Acer Aspire 5100", 232 .matches = { 233 DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 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"), 244 }, 245 .driver_data = &quirk_acer_travelmate_2490, 246 }, ··· 761 } 762 763 static struct led_classdev mail_led = { 764 + .name = "acer-wmi::mail", 765 .brightness_set = mail_led_set, 766 }; 767 768 + static int __devinit acer_led_init(struct device *dev) 769 { 770 return led_classdev_register(dev, &mail_led); 771 } ··· 798 .update_status = update_bl_status, 799 }; 800 801 + static int __devinit acer_backlight_init(struct device *dev) 802 { 803 struct backlight_device *bd; 804 ··· 817 return 0; 818 } 819 820 + static void acer_backlight_exit(void) 821 { 822 backlight_device_unregister(acer_backlight_device); 823 } ··· 1052 1053 if (wmi_has_guid(WMID_GUID2) && interface) { 1054 if (ACPI_FAILURE(WMID_set_capabilities())) { 1055 + printk(ACER_ERR "Unable to detect available WMID " 1056 + "devices\n"); 1057 return -ENODEV; 1058 } 1059 } else if (!wmi_has_guid(WMID_GUID2) && interface) { 1060 + printk(ACER_ERR "No WMID device detection method found\n"); 1061 return -ENODEV; 1062 } 1063 ··· 1064 interface = &AMW0_interface; 1065 1066 if (ACPI_FAILURE(AMW0_set_capabilities())) { 1067 + printk(ACER_ERR "Unable to detect available AMW0 " 1068 + "devices\n"); 1069 return -ENODEV; 1070 } 1071 } 1072 1073 + if (wmi_has_guid(AMW0_GUID1)) 1074 + AMW0_find_mailled(); 1075 1076 find_quirks(); 1077 1078 if (!interface) { 1079 + printk(ACER_ERR "No or unsupported WMI interface, unable to " 1080 + "load\n"); 1081 return -ENODEV; 1082 } 1083
+1 -1
drivers/misc/sony-laptop.c
··· 315 break; 316 317 default: 318 - if (event > ARRAY_SIZE(sony_laptop_input_index)) { 319 dprintk("sony_laptop_report_input_event, event not known: %d\n", event); 320 break; 321 }
··· 315 break; 316 317 default: 318 + if (event >= ARRAY_SIZE(sony_laptop_input_index)) { 319 dprintk("sony_laptop_report_input_event, event not known: %d\n", event); 320 break; 321 }
+10 -10
drivers/net/Kconfig
··· 2366 module will be called ps3_gelic. 2367 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. 2378 2379 config GIANFAR 2380 tristate "Gianfar Ethernet" ··· 2519 2520 config EHEA 2521 tristate "eHEA Ethernet support" 2522 - depends on IBMEBUS && INET 2523 select INET_LRO 2524 ---help--- 2525 This driver supports the IBM pSeries eHEA ethernet adapter.
··· 2366 module will be called ps3_gelic. 2367 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. 2378 2379 config GIANFAR 2380 tristate "Gianfar Ethernet" ··· 2519 2520 config EHEA 2521 tristate "eHEA Ethernet support" 2522 + depends on IBMEBUS && INET && SPARSEMEM 2523 select INET_LRO 2524 ---help--- 2525 This driver supports the IBM pSeries eHEA ethernet adapter.
+4 -3
drivers/net/ac3200.c
··· 369 MODULE_DESCRIPTION("Ansel AC3200 EISA ethernet driver"); 370 MODULE_LICENSE("GPL"); 371 372 - int __init init_module(void) 373 { 374 struct net_device *dev; 375 int this_dev, found = 0; ··· 404 iounmap(ei_status.mem); 405 } 406 407 - void __exit 408 - cleanup_module(void) 409 { 410 int this_dev; 411 ··· 417 } 418 } 419 } 420 #endif /* MODULE */
··· 369 MODULE_DESCRIPTION("Ansel AC3200 EISA ethernet driver"); 370 MODULE_LICENSE("GPL"); 371 372 + static int __init ac3200_module_init(void) 373 { 374 struct net_device *dev; 375 int this_dev, found = 0; ··· 404 iounmap(ei_status.mem); 405 } 406 407 + static void __exit ac3200_module_exit(void) 408 { 409 int this_dev; 410 ··· 418 } 419 } 420 } 421 + module_init(ac3200_module_init); 422 + module_exit(ac3200_module_exit); 423 #endif /* MODULE */
+4 -3
drivers/net/apne.c
··· 569 #ifdef MODULE 570 static struct net_device *apne_dev; 571 572 - int __init init_module(void) 573 { 574 apne_dev = apne_probe(-1); 575 if (IS_ERR(apne_dev)) ··· 577 return 0; 578 } 579 580 - void __exit cleanup_module(void) 581 { 582 unregister_netdev(apne_dev); 583 ··· 591 592 free_netdev(apne_dev); 593 } 594 - 595 #endif 596 597 static int init_pcmcia(void)
··· 569 #ifdef MODULE 570 static struct net_device *apne_dev; 571 572 + static int __init apne_module_init(void) 573 { 574 apne_dev = apne_probe(-1); 575 if (IS_ERR(apne_dev)) ··· 577 return 0; 578 } 579 580 + static void __exit apne_module_exit(void) 581 { 582 unregister_netdev(apne_dev); 583 ··· 591 592 free_netdev(apne_dev); 593 } 594 + module_init(apne_module_init); 595 + module_exit(apne_module_exit); 596 #endif 597 598 static int init_pcmcia(void)
+2 -1
drivers/net/appletalk/ltpc.c
··· 1252 module_param(dma, int, 0); 1253 1254 1255 - int __init init_module(void) 1256 { 1257 if(io == 0) 1258 printk(KERN_NOTICE ··· 1263 return PTR_ERR(dev_ltpc); 1264 return 0; 1265 } 1266 #endif 1267 1268 static void __exit ltpc_cleanup(void)
··· 1252 module_param(dma, int, 0); 1253 1254 1255 + static int __init ltpc_module_init(void) 1256 { 1257 if(io == 0) 1258 printk(KERN_NOTICE ··· 1263 return PTR_ERR(dev_ltpc); 1264 return 0; 1265 } 1266 + module_init(ltpc_module_init); 1267 #endif 1268 1269 static void __exit ltpc_cleanup(void)
+4 -2
drivers/net/arcnet/capmode.c
··· 80 81 #ifdef MODULE 82 83 - int __init init_module(void) 84 { 85 printk(VERSION); 86 arcnet_cap_init(); 87 return 0; 88 } 89 90 - void cleanup_module(void) 91 { 92 arcnet_unregister_proto(&capmode_proto); 93 } 94 95 MODULE_LICENSE("GPL"); 96 #endif /* MODULE */
··· 80 81 #ifdef MODULE 82 83 + static int __init capmode_module_init(void) 84 { 85 printk(VERSION); 86 arcnet_cap_init(); 87 return 0; 88 } 89 90 + static void __exit capmode_module_exit(void) 91 { 92 arcnet_unregister_proto(&capmode_proto); 93 } 94 + module_init(capmode_module_init); 95 + module_exit(capmode_module_exit); 96 97 MODULE_LICENSE("GPL"); 98 #endif /* MODULE */
+2 -3
drivers/net/atarilance.c
··· 336 337 /***************************** Prototypes *****************************/ 338 339 - static int addr_accessible( volatile void *regp, int wordflag, int 340 - writeflag ); 341 static unsigned long lance_probe1( struct net_device *dev, struct lance_addr 342 *init_rec ); 343 static int lance_open( struct net_device *dev ); ··· 404 405 /* Derived from hwreg_present() in atari/config.c: */ 406 407 - static int __init addr_accessible( volatile void *regp, int wordflag, int writeflag ) 408 { 409 int ret; 410 long flags;
··· 336 337 /***************************** Prototypes *****************************/ 338 339 static unsigned long lance_probe1( struct net_device *dev, struct lance_addr 340 *init_rec ); 341 static int lance_open( struct net_device *dev ); ··· 406 407 /* Derived from hwreg_present() in atari/config.c: */ 408 409 + static noinline int __init addr_accessible(volatile void *regp, int wordflag, 410 + int writeflag) 411 { 412 int ret; 413 long flags;
+3 -26
drivers/net/e100.c
··· 2782 } 2783 } 2784 2785 - #ifdef CONFIG_PM 2786 static int e100_suspend(struct pci_dev *pdev, pm_message_t state) 2787 { 2788 struct net_device *netdev = pci_get_drvdata(pdev); 2789 struct nic *nic = netdev_priv(netdev); 2790 2791 if (netif_running(netdev)) 2792 - napi_disable(&nic->napi); 2793 - del_timer_sync(&nic->watchdog); 2794 - netif_carrier_off(nic->netdev); 2795 netif_device_detach(netdev); 2796 2797 pci_save_state(pdev); ··· 2801 pci_enable_wake(pdev, PCI_D3cold, 0); 2802 } 2803 2804 - free_irq(pdev->irq, netdev); 2805 - 2806 pci_disable_device(pdev); 2807 pci_set_power_state(pdev, PCI_D3hot); 2808 2809 return 0; 2810 } 2811 2812 static int e100_resume(struct pci_dev *pdev) 2813 { 2814 struct net_device *netdev = pci_get_drvdata(pdev); ··· 2828 2829 static void e100_shutdown(struct pci_dev *pdev) 2830 { 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); 2851 } 2852 2853 /* ------------------ PCI Error Recovery infrastructure -------------- */
··· 2782 } 2783 } 2784 2785 static int e100_suspend(struct pci_dev *pdev, pm_message_t state) 2786 { 2787 struct net_device *netdev = pci_get_drvdata(pdev); 2788 struct nic *nic = netdev_priv(netdev); 2789 2790 if (netif_running(netdev)) 2791 + e100_down(nic); 2792 netif_device_detach(netdev); 2793 2794 pci_save_state(pdev); ··· 2804 pci_enable_wake(pdev, PCI_D3cold, 0); 2805 } 2806 2807 pci_disable_device(pdev); 2808 pci_set_power_state(pdev, PCI_D3hot); 2809 2810 return 0; 2811 } 2812 2813 + #ifdef CONFIG_PM 2814 static int e100_resume(struct pci_dev *pdev) 2815 { 2816 struct net_device *netdev = pci_get_drvdata(pdev); ··· 2832 2833 static void e100_shutdown(struct pci_dev *pdev) 2834 { 2835 + e100_suspend(pdev, PMSG_SUSPEND); 2836 } 2837 2838 /* ------------------ PCI Error Recovery infrastructure -------------- */
+2 -1
drivers/net/enc28j60.c
··· 900 if (RSV_GETBIT(rxstat, RSV_LENCHECKERR)) 901 ndev->stats.rx_frame_errors++; 902 } else { 903 - skb = dev_alloc_skb(len); 904 if (!skb) { 905 if (netif_msg_rx_err(priv)) 906 dev_err(&ndev->dev, ··· 908 ndev->stats.rx_dropped++; 909 } else { 910 skb->dev = ndev; 911 /* copy the packet from the receive buffer */ 912 enc28j60_mem_read(priv, priv->next_pk_ptr + sizeof(rsv), 913 len, skb_put(skb, len));
··· 900 if (RSV_GETBIT(rxstat, RSV_LENCHECKERR)) 901 ndev->stats.rx_frame_errors++; 902 } else { 903 + skb = dev_alloc_skb(len + NET_IP_ALIGN); 904 if (!skb) { 905 if (netif_msg_rx_err(priv)) 906 dev_err(&ndev->dev, ··· 908 ndev->stats.rx_dropped++; 909 } else { 910 skb->dev = ndev; 911 + skb_reserve(skb, NET_IP_ALIGN); 912 /* copy the packet from the receive buffer */ 913 enc28j60_mem_read(priv, priv->next_pk_ptr + sizeof(rsv), 914 len, skb_put(skb, len));
+1 -1
drivers/net/ixgbe/ixgbe_main.c
··· 2133 (link_speed == IXGBE_LINK_SPEED_10GB_FULL ? 2134 "10 Gbps" : 2135 (link_speed == IXGBE_LINK_SPEED_1GB_FULL ? 2136 - "1 Gpbs" : "unknown speed")), 2137 ((FLOW_RX && FLOW_TX) ? "RX/TX" : 2138 (FLOW_RX ? "RX" : 2139 (FLOW_TX ? "TX" : "None"))));
··· 2133 (link_speed == IXGBE_LINK_SPEED_10GB_FULL ? 2134 "10 Gbps" : 2135 (link_speed == IXGBE_LINK_SPEED_1GB_FULL ? 2136 + "1 Gbps" : "unknown speed")), 2137 ((FLOW_RX && FLOW_TX) ? "RX/TX" : 2138 (FLOW_RX ? "RX" : 2139 (FLOW_TX ? "TX" : "None"))));
+1
drivers/net/mv643xx_eth.c
··· 2104 MODULE_AUTHOR( "Rabeeh Khoury, Assaf Hoffman, Matthew Dharm, Manish Lachwani" 2105 " and Dale Farnsworth"); 2106 MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX"); 2107 2108 /* 2109 * The second part is the low level driver of the gigE ethernet ports.
··· 2104 MODULE_AUTHOR( "Rabeeh Khoury, Assaf Hoffman, Matthew Dharm, Manish Lachwani" 2105 " and Dale Farnsworth"); 2106 MODULE_DESCRIPTION("Ethernet driver for Marvell MV643XX"); 2107 + MODULE_ALIAS("platform:mv643xx_eth"); 2108 2109 /* 2110 * The second part is the low level driver of the gigE ethernet ports.
+1 -1
drivers/net/pcmcia/axnet_cs.c
··· 1268 } 1269 } 1270 1271 - if (interrupts && ei_debug) 1272 { 1273 handled = 1; 1274 if (nr_serviced >= MAX_SERVICE)
··· 1268 } 1269 } 1270 1271 + if (interrupts && ei_debug > 3) 1272 { 1273 handled = 1; 1274 if (nr_serviced >= MAX_SERVICE)
+1
drivers/net/phy/Kconfig
··· 67 68 config FIXED_PHY 69 bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" 70 ---help--- 71 Adds the platform "fixed" MDIO Bus to cover the boards that use 72 PHYs that are not connected to the real MDIO bus.
··· 67 68 config FIXED_PHY 69 bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" 70 + depends on PHYLIB=y 71 ---help--- 72 Adds the platform "fixed" MDIO Bus to cover the boards that use 73 PHYs that are not connected to the real MDIO bus.
+14 -3
drivers/net/phy/davicom.c
··· 37 38 #define MII_DM9161_SCR 0x10 39 #define MII_DM9161_SCR_INIT 0x0610 40 41 /* DM9161 Interrupt Register */ 42 #define MII_DM9161_INTR 0x15 ··· 104 105 static int dm9161_config_init(struct phy_device *phydev) 106 { 107 - int err; 108 109 /* Isolate the PHY */ 110 err = phy_write(phydev, MII_BMCR, BMCR_ISOLATE); ··· 112 if (err < 0) 113 return err; 114 115 - /* Do not bypass the scrambler/descrambler */ 116 - err = phy_write(phydev, MII_DM9161_SCR, MII_DM9161_SCR_INIT); 117 118 if (err < 0) 119 return err; 120
··· 37 38 #define MII_DM9161_SCR 0x10 39 #define MII_DM9161_SCR_INIT 0x0610 40 + #define MII_DM9161_SCR_RMII 0x0100 41 42 /* DM9161 Interrupt Register */ 43 #define MII_DM9161_INTR 0x15 ··· 103 104 static int dm9161_config_init(struct phy_device *phydev) 105 { 106 + int err, temp; 107 108 /* Isolate the PHY */ 109 err = phy_write(phydev, MII_BMCR, BMCR_ISOLATE); ··· 111 if (err < 0) 112 return err; 113 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 + } 124 125 + /* Do not bypass the scrambler/descrambler */ 126 + err = phy_write(phydev, MII_DM9161_SCR, temp); 127 if (err < 0) 128 return err; 129
+37 -32
drivers/net/pppol2tp.c
··· 302 struct pppol2tp_session *session; 303 struct hlist_node *walk; 304 305 - read_lock(&tunnel->hlist_lock); 306 hlist_for_each_entry(session, walk, session_list, hlist) { 307 if (session->tunnel_addr.s_session == session_id) { 308 - read_unlock(&tunnel->hlist_lock); 309 return session; 310 } 311 } 312 - read_unlock(&tunnel->hlist_lock); 313 314 return NULL; 315 } ··· 320 { 321 struct pppol2tp_tunnel *tunnel = NULL; 322 323 - read_lock(&pppol2tp_tunnel_list_lock); 324 list_for_each_entry(tunnel, &pppol2tp_tunnel_list, list) { 325 if (tunnel->stats.tunnel_id == tunnel_id) { 326 - read_unlock(&pppol2tp_tunnel_list_lock); 327 return tunnel; 328 } 329 } 330 - read_unlock(&pppol2tp_tunnel_list_lock); 331 332 return NULL; 333 } ··· 342 static void pppol2tp_recv_queue_skb(struct pppol2tp_session *session, struct sk_buff *skb) 343 { 344 struct sk_buff *skbp; 345 u16 ns = PPPOL2TP_SKB_CB(skb)->ns; 346 347 - spin_lock(&session->reorder_q.lock); 348 - skb_queue_walk(&session->reorder_q, skbp) { 349 if (PPPOL2TP_SKB_CB(skbp)->ns > ns) { 350 __skb_insert(skb, skbp->prev, skbp, &session->reorder_q); 351 PRINTK(session->debug, PPPOL2TP_MSG_SEQ, KERN_DEBUG, ··· 361 __skb_queue_tail(&session->reorder_q, skb); 362 363 out: 364 - spin_unlock(&session->reorder_q.lock); 365 } 366 367 /* Dequeue a single skb. ··· 372 int length = PPPOL2TP_SKB_CB(skb)->length; 373 struct sock *session_sock = NULL; 374 375 - /* We're about to requeue the skb, so unlink it and return resources 376 * to its current owner (a socket receive buffer). 377 */ 378 - skb_unlink(skb, &session->reorder_q); 379 skb_orphan(skb); 380 381 tunnel->stats.rx_packets++; ··· 442 * expect to send up next, dequeue it and any other 443 * in-sequence packets behind it. 444 */ 445 - spin_lock(&session->reorder_q.lock); 446 skb_queue_walk_safe(&session->reorder_q, skb, tmp) { 447 if (time_after(jiffies, PPPOL2TP_SKB_CB(skb)->expires)) { 448 session->stats.rx_seq_discards++; ··· 470 goto out; 471 } 472 } 473 - spin_unlock(&session->reorder_q.lock); 474 pppol2tp_recv_dequeue_skb(session, skb); 475 - spin_lock(&session->reorder_q.lock); 476 } 477 478 out: 479 - spin_unlock(&session->reorder_q.lock); 480 } 481 482 /* Internal receive frame. Do the real work of receiving an L2TP data frame ··· 1064 1065 /* Get routing info from the tunnel socket */ 1066 dst_release(skb->dst); 1067 - skb->dst = sk_dst_get(sk_tun); 1068 skb_orphan(skb); 1069 skb->sk = sk_tun; 1070 ··· 1112 PRINTK(tunnel->debug, PPPOL2TP_MSG_CONTROL, KERN_INFO, 1113 "%s: closing all sessions...\n", tunnel->name); 1114 1115 - write_lock(&tunnel->hlist_lock); 1116 for (hash = 0; hash < PPPOL2TP_HASH_SIZE; hash++) { 1117 again: 1118 hlist_for_each_safe(walk, tmp, &tunnel->session_hlist[hash]) { ··· 1134 * disappear as we're jumping between locks. 1135 */ 1136 sock_hold(sk); 1137 - write_unlock(&tunnel->hlist_lock); 1138 lock_sock(sk); 1139 1140 if (sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND)) { ··· 1159 * list so we are guaranteed to make forward 1160 * progress. 1161 */ 1162 - write_lock(&tunnel->hlist_lock); 1163 goto again; 1164 } 1165 } 1166 - write_unlock(&tunnel->hlist_lock); 1167 } 1168 1169 /* Really kill the tunnel. ··· 1172 static void pppol2tp_tunnel_free(struct pppol2tp_tunnel *tunnel) 1173 { 1174 /* Remove from socket list */ 1175 - write_lock(&pppol2tp_tunnel_list_lock); 1176 list_del_init(&tunnel->list); 1177 - write_unlock(&pppol2tp_tunnel_list_lock); 1178 1179 atomic_dec(&pppol2tp_tunnel_count); 1180 kfree(tunnel); ··· 1250 /* Delete the session socket from the 1251 * hash 1252 */ 1253 - write_lock(&tunnel->hlist_lock); 1254 hlist_del_init(&session->hlist); 1255 - write_unlock(&tunnel->hlist_lock); 1256 1257 atomic_dec(&pppol2tp_session_count); 1258 } ··· 1397 1398 /* Add tunnel to our list */ 1399 INIT_LIST_HEAD(&tunnel->list); 1400 - write_lock(&pppol2tp_tunnel_list_lock); 1401 list_add(&tunnel->list, &pppol2tp_tunnel_list); 1402 - write_unlock(&pppol2tp_tunnel_list_lock); 1403 atomic_inc(&pppol2tp_tunnel_count); 1404 1405 /* Bump the reference count. The tunnel context is deleted ··· 1604 sk->sk_user_data = session; 1605 1606 /* Add session to the tunnel's hash list */ 1607 - write_lock(&tunnel->hlist_lock); 1608 hlist_add_head(&session->hlist, 1609 pppol2tp_session_id_hash(tunnel, 1610 session->tunnel_addr.s_session)); 1611 - write_unlock(&tunnel->hlist_lock); 1612 1613 atomic_inc(&pppol2tp_session_count); 1614 ··· 2210 int next = 0; 2211 int i; 2212 2213 - read_lock(&tunnel->hlist_lock); 2214 for (i = 0; i < PPPOL2TP_HASH_SIZE; i++) { 2215 hlist_for_each_entry(session, walk, &tunnel->session_hlist[i], hlist) { 2216 if (curr == NULL) { ··· 2228 } 2229 } 2230 out: 2231 - read_unlock(&tunnel->hlist_lock); 2232 if (!found) 2233 session = NULL; 2234 ··· 2239 { 2240 struct pppol2tp_tunnel *tunnel = NULL; 2241 2242 - read_lock(&pppol2tp_tunnel_list_lock); 2243 if (list_is_last(&curr->list, &pppol2tp_tunnel_list)) { 2244 goto out; 2245 } 2246 tunnel = list_entry(curr->list.next, struct pppol2tp_tunnel, list); 2247 out: 2248 - read_unlock(&pppol2tp_tunnel_list_lock); 2249 2250 return tunnel; 2251 }
··· 302 struct pppol2tp_session *session; 303 struct hlist_node *walk; 304 305 + read_lock_bh(&tunnel->hlist_lock); 306 hlist_for_each_entry(session, walk, session_list, hlist) { 307 if (session->tunnel_addr.s_session == session_id) { 308 + read_unlock_bh(&tunnel->hlist_lock); 309 return session; 310 } 311 } 312 + read_unlock_bh(&tunnel->hlist_lock); 313 314 return NULL; 315 } ··· 320 { 321 struct pppol2tp_tunnel *tunnel = NULL; 322 323 + read_lock_bh(&pppol2tp_tunnel_list_lock); 324 list_for_each_entry(tunnel, &pppol2tp_tunnel_list, list) { 325 if (tunnel->stats.tunnel_id == tunnel_id) { 326 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 327 return tunnel; 328 } 329 } 330 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 331 332 return NULL; 333 } ··· 342 static void pppol2tp_recv_queue_skb(struct pppol2tp_session *session, struct sk_buff *skb) 343 { 344 struct sk_buff *skbp; 345 + struct sk_buff *tmp; 346 u16 ns = PPPOL2TP_SKB_CB(skb)->ns; 347 348 + spin_lock_bh(&session->reorder_q.lock); 349 + skb_queue_walk_safe(&session->reorder_q, skbp, tmp) { 350 if (PPPOL2TP_SKB_CB(skbp)->ns > ns) { 351 __skb_insert(skb, skbp->prev, skbp, &session->reorder_q); 352 PRINTK(session->debug, PPPOL2TP_MSG_SEQ, KERN_DEBUG, ··· 360 __skb_queue_tail(&session->reorder_q, skb); 361 362 out: 363 + spin_unlock_bh(&session->reorder_q.lock); 364 } 365 366 /* Dequeue a single skb. ··· 371 int length = PPPOL2TP_SKB_CB(skb)->length; 372 struct sock *session_sock = NULL; 373 374 + /* We're about to requeue the skb, so return resources 375 * to its current owner (a socket receive buffer). 376 */ 377 skb_orphan(skb); 378 379 tunnel->stats.rx_packets++; ··· 442 * expect to send up next, dequeue it and any other 443 * in-sequence packets behind it. 444 */ 445 + spin_lock_bh(&session->reorder_q.lock); 446 skb_queue_walk_safe(&session->reorder_q, skb, tmp) { 447 if (time_after(jiffies, PPPOL2TP_SKB_CB(skb)->expires)) { 448 session->stats.rx_seq_discards++; ··· 470 goto out; 471 } 472 } 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); 479 pppol2tp_recv_dequeue_skb(session, skb); 480 + spin_lock_bh(&session->reorder_q.lock); 481 } 482 483 out: 484 + spin_unlock_bh(&session->reorder_q.lock); 485 } 486 487 /* Internal receive frame. Do the real work of receiving an L2TP data frame ··· 1059 1060 /* Get routing info from the tunnel socket */ 1061 dst_release(skb->dst); 1062 + skb->dst = dst_clone(__sk_dst_get(sk_tun)); 1063 skb_orphan(skb); 1064 skb->sk = sk_tun; 1065 ··· 1107 PRINTK(tunnel->debug, PPPOL2TP_MSG_CONTROL, KERN_INFO, 1108 "%s: closing all sessions...\n", tunnel->name); 1109 1110 + write_lock_bh(&tunnel->hlist_lock); 1111 for (hash = 0; hash < PPPOL2TP_HASH_SIZE; hash++) { 1112 again: 1113 hlist_for_each_safe(walk, tmp, &tunnel->session_hlist[hash]) { ··· 1129 * disappear as we're jumping between locks. 1130 */ 1131 sock_hold(sk); 1132 + write_unlock_bh(&tunnel->hlist_lock); 1133 lock_sock(sk); 1134 1135 if (sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND)) { ··· 1154 * list so we are guaranteed to make forward 1155 * progress. 1156 */ 1157 + write_lock_bh(&tunnel->hlist_lock); 1158 goto again; 1159 } 1160 } 1161 + write_unlock_bh(&tunnel->hlist_lock); 1162 } 1163 1164 /* Really kill the tunnel. ··· 1167 static void pppol2tp_tunnel_free(struct pppol2tp_tunnel *tunnel) 1168 { 1169 /* Remove from socket list */ 1170 + write_lock_bh(&pppol2tp_tunnel_list_lock); 1171 list_del_init(&tunnel->list); 1172 + write_unlock_bh(&pppol2tp_tunnel_list_lock); 1173 1174 atomic_dec(&pppol2tp_tunnel_count); 1175 kfree(tunnel); ··· 1245 /* Delete the session socket from the 1246 * hash 1247 */ 1248 + write_lock_bh(&tunnel->hlist_lock); 1249 hlist_del_init(&session->hlist); 1250 + write_unlock_bh(&tunnel->hlist_lock); 1251 1252 atomic_dec(&pppol2tp_session_count); 1253 } ··· 1392 1393 /* Add tunnel to our list */ 1394 INIT_LIST_HEAD(&tunnel->list); 1395 + write_lock_bh(&pppol2tp_tunnel_list_lock); 1396 list_add(&tunnel->list, &pppol2tp_tunnel_list); 1397 + write_unlock_bh(&pppol2tp_tunnel_list_lock); 1398 atomic_inc(&pppol2tp_tunnel_count); 1399 1400 /* Bump the reference count. The tunnel context is deleted ··· 1599 sk->sk_user_data = session; 1600 1601 /* Add session to the tunnel's hash list */ 1602 + write_lock_bh(&tunnel->hlist_lock); 1603 hlist_add_head(&session->hlist, 1604 pppol2tp_session_id_hash(tunnel, 1605 session->tunnel_addr.s_session)); 1606 + write_unlock_bh(&tunnel->hlist_lock); 1607 1608 atomic_inc(&pppol2tp_session_count); 1609 ··· 2205 int next = 0; 2206 int i; 2207 2208 + read_lock_bh(&tunnel->hlist_lock); 2209 for (i = 0; i < PPPOL2TP_HASH_SIZE; i++) { 2210 hlist_for_each_entry(session, walk, &tunnel->session_hlist[i], hlist) { 2211 if (curr == NULL) { ··· 2223 } 2224 } 2225 out: 2226 + read_unlock_bh(&tunnel->hlist_lock); 2227 if (!found) 2228 session = NULL; 2229 ··· 2234 { 2235 struct pppol2tp_tunnel *tunnel = NULL; 2236 2237 + read_lock_bh(&pppol2tp_tunnel_list_lock); 2238 if (list_is_last(&curr->list, &pppol2tp_tunnel_list)) { 2239 goto out; 2240 } 2241 tunnel = list_entry(curr->list.next, struct pppol2tp_tunnel, list); 2242 out: 2243 + read_unlock_bh(&pppol2tp_tunnel_list_lock); 2244 2245 return tunnel; 2246 }
+1 -1
drivers/net/s2io.c
··· 1088 * '-1' on failure 1089 */ 1090 1091 - int init_tti(struct s2io_nic *nic, int link) 1092 { 1093 struct XENA_dev_config __iomem *bar0 = nic->bar0; 1094 register u64 val64 = 0;
··· 1088 * '-1' on failure 1089 */ 1090 1091 + static int init_tti(struct s2io_nic *nic, int link) 1092 { 1093 struct XENA_dev_config __iomem *bar0 = nic->bar0; 1094 register u64 val64 = 0;
+2 -1
drivers/net/tulip/de2104x.c
··· 910 unsigned media = de->media_type; 911 u32 macmode = dr32(MacMode); 912 913 - BUG_ON(de_is_running(de)); 914 915 if (de->de21040) 916 dw32(CSR11, FULL_DUPLEX_MAGIC);
··· 910 unsigned media = de->media_type; 911 u32 macmode = dr32(MacMode); 912 913 + if (de_is_running(de)) 914 + printk(KERN_WARNING "%s: chip is running while changing media!\n", de->dev->name); 915 916 if (de->de21040) 917 dw32(CSR11, FULL_DUPLEX_MAGIC);
+1 -1
drivers/net/wan/sbni.c
··· 751 } 752 753 754 - static __inline void 755 send_complete( struct net_local *nl ) 756 { 757 #ifdef CONFIG_SBNI_MULTILINE
··· 751 } 752 753 754 + static inline void 755 send_complete( struct net_local *nl ) 756 { 757 #ifdef CONFIG_SBNI_MULTILINE
+1 -1
drivers/net/wireless/libertas/cmdresp.c
··· 578 goto done; 579 } 580 if (respcmd != CMD_RET(curcmd) && 581 - respcmd != CMD_802_11_ASSOCIATE && curcmd != CMD_RET_802_11_ASSOCIATE) { 582 lbs_pr_info("Invalid CMD_RESP %x to command %x!\n", respcmd, curcmd); 583 spin_unlock_irqrestore(&priv->driver_lock, flags); 584 ret = -1;
··· 578 goto done; 579 } 580 if (respcmd != CMD_RET(curcmd) && 581 + respcmd != CMD_RET_802_11_ASSOCIATE && curcmd != CMD_802_11_ASSOCIATE) { 582 lbs_pr_info("Invalid CMD_RESP %x to command %x!\n", respcmd, curcmd); 583 spin_unlock_irqrestore(&priv->driver_lock, flags); 584 ret = -1;
+2 -2
drivers/net/wireless/rt2x00/rt61pci.c
··· 2302 * Apply some rules to the filters: 2303 * - Some filters imply different filters to be set. 2304 * - Some things we can't filter out at all. 2305 */ 2306 - if (mc_count) 2307 - *total_flags |= FIF_ALLMULTI; 2308 if (*total_flags & FIF_OTHER_BSS || 2309 *total_flags & FIF_PROMISC_IN_BSS) 2310 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
··· 2302 * Apply some rules to the filters: 2303 * - Some filters imply different filters to be set. 2304 * - Some things we can't filter out at all. 2305 + * - Multicast filter seems to kill broadcast traffic so never use it. 2306 */ 2307 + *total_flags |= FIF_ALLMULTI; 2308 if (*total_flags & FIF_OTHER_BSS || 2309 *total_flags & FIF_PROMISC_IN_BSS) 2310 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
+3 -2
drivers/net/wireless/rt2x00/rt73usb.c
··· 1869 * Apply some rules to the filters: 1870 * - Some filters imply different filters to be set. 1871 * - Some things we can't filter out at all. 1872 */ 1873 - if (mc_count) 1874 - *total_flags |= FIF_ALLMULTI; 1875 if (*total_flags & FIF_OTHER_BSS || 1876 *total_flags & FIF_PROMISC_IN_BSS) 1877 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; ··· 2098 /* D-Link */ 2099 { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, 2100 { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, 2101 /* Gemtek */ 2102 { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) }, 2103 /* Gigabyte */
··· 1869 * Apply some rules to the filters: 1870 * - Some filters imply different filters to be set. 1871 * - Some things we can't filter out at all. 1872 + * - Multicast filter seems to kill broadcast traffic so never use it. 1873 */ 1874 + *total_flags |= FIF_ALLMULTI; 1875 if (*total_flags & FIF_OTHER_BSS || 1876 *total_flags & FIF_PROMISC_IN_BSS) 1877 *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS; ··· 2098 /* D-Link */ 2099 { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, 2100 { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, 2101 + { USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) }, 2102 /* Gemtek */ 2103 { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) }, 2104 /* Gigabyte */
+5 -1
drivers/pci/bus.c
··· 143 /* register the bus with sysfs as the parent is now 144 * properly registered. */ 145 child_bus = dev->subordinate; 146 child_bus->dev.parent = child_bus->bridge; 147 retval = device_register(&child_bus->dev); 148 if (retval) 149 dev_err(&dev->dev, "Error registering pci_bus," 150 " continuing...\n"); 151 - else 152 retval = device_create_file(&child_bus->dev, 153 &dev_attr_cpuaffinity); 154 if (retval) 155 dev_err(&dev->dev, "Error creating cpuaffinity" 156 " file, continuing...\n");
··· 143 /* register the bus with sysfs as the parent is now 144 * properly registered. */ 145 child_bus = dev->subordinate; 146 + if (child_bus->is_added) 147 + continue; 148 child_bus->dev.parent = child_bus->bridge; 149 retval = device_register(&child_bus->dev); 150 if (retval) 151 dev_err(&dev->dev, "Error registering pci_bus," 152 " continuing...\n"); 153 + else { 154 + child_bus->is_added = 1; 155 retval = device_create_file(&child_bus->dev, 156 &dev_attr_cpuaffinity); 157 + } 158 if (retval) 159 dev_err(&dev->dev, "Error creating cpuaffinity" 160 " file, continuing...\n");
+16 -8
drivers/pci/pci-acpi.c
··· 272 { 273 acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev); 274 acpi_handle tmp; 275 - static int state_conv[] = { 276 - [0] = 0, 277 - [1] = 1, 278 - [2] = 2, 279 - [3] = 3, 280 - [4] = 3 281 }; 282 - int acpi_state = state_conv[(int __force) state]; 283 284 if (!handle) 285 return -ENODEV; 286 /* If the ACPI device has _EJ0, ignore the device */ 287 if (ACPI_SUCCESS(acpi_get_handle(handle, "_EJ0", &tmp))) 288 return 0; 289 - return acpi_bus_set_power(handle, acpi_state); 290 } 291 292
··· 272 { 273 acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev); 274 acpi_handle tmp; 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 }; 282 283 if (!handle) 284 return -ENODEV; 285 /* If the ACPI device has _EJ0, ignore the device */ 286 if (ACPI_SUCCESS(acpi_get_handle(handle, "_EJ0", &tmp))) 287 return 0; 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; 298 } 299 300
+65 -35
drivers/pnp/quirks.c
··· 17 #include <linux/slab.h> 18 #include <linux/pnp.h> 19 #include <linux/io.h> 20 - #include <linux/dmi.h> 21 #include <linux/kallsyms.h> 22 #include "base.h" 23 ··· 108 "pnp: SB audio device quirk - increasing port range\n"); 109 } 110 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 125 - if (!dmi_check_system(supermicro_h8dce)) 126 - return; 127 128 /* 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 137 */ 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; 147 } 148 } 149 } ··· 199 {"CTL0043", quirk_sb16audio_resources}, 200 {"CTL0044", quirk_sb16audio_resources}, 201 {"CTL0045", quirk_sb16audio_resources}, 202 - {"PNP0c01", quirk_supermicro_h8dce_system}, 203 - {"PNP0c02", quirk_supermicro_h8dce_system}, 204 {""} 205 }; 206
··· 17 #include <linux/slab.h> 18 #include <linux/pnp.h> 19 #include <linux/io.h> 20 #include <linux/kallsyms.h> 21 #include "base.h" 22 ··· 109 "pnp: SB audio device quirk - increasing port range\n"); 110 } 111 112 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; 120 121 /* 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. 129 */ 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 + } 179 } 180 } 181 } ··· 169 {"CTL0043", quirk_sb16audio_resources}, 170 {"CTL0044", quirk_sb16audio_resources}, 171 {"CTL0045", quirk_sb16audio_resources}, 172 + {"PNP0c01", quirk_system_pci_resources}, 173 + {"PNP0c02", quirk_system_pci_resources}, 174 {""} 175 }; 176
+2 -2
drivers/spi/au1550_spi.c
··· 99 static void au1550_spi_bits_handlers_set(struct au1550_spi *hw, int bpw); 100 101 102 - /** 103 * compute BRG and DIV bits to setup spi clock based on main input clock rate 104 * that was specified in platform data structure 105 * according to au1550 datasheet: ··· 650 return hw->txrx_bufs(spi, t); 651 } 652 653 - static irqreturn_t au1550_spi_irq(int irq, void *dev, struct pt_regs *regs) 654 { 655 struct au1550_spi *hw = dev; 656 return hw->irq_callback(hw);
··· 99 static void au1550_spi_bits_handlers_set(struct au1550_spi *hw, int bpw); 100 101 102 + /* 103 * compute BRG and DIV bits to setup spi clock based on main input clock rate 104 * that was specified in platform data structure 105 * according to au1550 datasheet: ··· 650 return hw->txrx_bufs(spi, t); 651 } 652 653 + static irqreturn_t au1550_spi_irq(int irq, void *dev) 654 { 655 struct au1550_spi *hw = dev; 656 return hw->irq_callback(hw);
+5 -3
drivers/spi/spi_bitbang.c
··· 344 t->rx_dma = t->tx_dma = 0; 345 status = bitbang->txrx_bufs(spi, t); 346 } 347 if (status != t->len) { 348 - if (status > 0) 349 - status = -EMSGSIZE; 350 break; 351 } 352 - m->actual_length += status; 353 status = 0; 354 355 /* protocol tweaks before next transfer */
··· 344 t->rx_dma = t->tx_dma = 0; 345 status = bitbang->txrx_bufs(spi, t); 346 } 347 + if (status > 0) 348 + m->actual_length += status; 349 if (status != t->len) { 350 + /* always report some kind of error */ 351 + if (status >= 0) 352 + status = -EREMOTEIO; 353 break; 354 } 355 status = 0; 356 357 /* protocol tweaks before next transfer */
+1
drivers/thermal/Kconfig
··· 4 5 menuconfig THERMAL 6 bool "Generic Thermal sysfs driver" 7 default y 8 help 9 Generic Thermal Sysfs driver offers a generic mechanism for
··· 4 5 menuconfig THERMAL 6 bool "Generic Thermal sysfs driver" 7 + select HWMON 8 default y 9 help 10 Generic Thermal Sysfs driver offers a generic mechanism for
+143 -26
drivers/thermal/thermal.c
··· 30 #include <linux/idr.h> 31 #include <linux/thermal.h> 32 #include <linux/spinlock.h> 33 34 - MODULE_AUTHOR("Zhang Rui") 35 MODULE_DESCRIPTION("Generic thermal management sysfs support"); 36 MODULE_LICENSE("GPL"); 37 ··· 57 static LIST_HEAD(thermal_tz_list); 58 static LIST_HEAD(thermal_cdev_list); 59 static DEFINE_MUTEX(thermal_list_lock); 60 61 static int get_idr(struct idr *idr, struct mutex *lock, int *id) 62 { ··· 92 mutex_unlock(lock); 93 } 94 95 - /* sys I/F for thermal zone */ 96 97 #define to_thermal_zone(_dev) \ 98 container_of(_dev, struct thermal_zone_device, device) ··· 279 device_remove_file(_dev, &trip_point_attrs[_index * 2 + 1]); \ 280 } while (0) 281 282 - /* sys I/F for cooling device */ 283 #define to_cooling_device(_dev) \ 284 container_of(_dev, struct thermal_cooling_device, device) 285 ··· 512 struct thermal_zone_device *pos; 513 int result; 514 515 if (strlen(type) >= THERMAL_NAME_LENGTH) 516 return ERR_PTR(-EINVAL); 517 ··· 545 } 546 547 /* sys I/F */ 548 - if (type) { 549 - result = device_create_file(&cdev->device, &dev_attr_cdev_type); 550 - if (result) 551 - goto unregister; 552 - } 553 554 result = device_create_file(&cdev->device, &dev_attr_max_state); 555 if (result) ··· 613 tz->ops->unbind(tz, cdev); 614 } 615 mutex_unlock(&thermal_list_lock); 616 - if (cdev->type[0]) 617 - device_remove_file(&cdev->device, &dev_attr_cdev_type); 618 device_remove_file(&cdev->device, &dev_attr_max_state); 619 device_remove_file(&cdev->device, &dev_attr_cur_state); 620 ··· 646 int result; 647 int count; 648 649 if (strlen(type) >= THERMAL_NAME_LENGTH) 650 return ERR_PTR(-EINVAL); 651 ··· 670 kfree(tz); 671 return ERR_PTR(result); 672 } 673 674 strcpy(tz->type, type); 675 tz->ops = ops; ··· 691 return ERR_PTR(result); 692 } 693 694 - /* sys I/F */ 695 - if (type) { 696 - result = device_create_file(&tz->device, &dev_attr_type); 697 - if (result) 698 - goto unregister; 699 } 700 701 result = device_create_file(&tz->device, &dev_attr_temp); 702 if (result) ··· 778 tz->ops->unbind(tz, cdev); 779 mutex_unlock(&thermal_list_lock); 780 781 - if (tz->type[0]) 782 - device_remove_file(&tz->device, &dev_attr_type); 783 device_remove_file(&tz->device, &dev_attr_temp); 784 if (tz->ops->get_mode) 785 device_remove_file(&tz->device, &dev_attr_mode); ··· 805 806 EXPORT_SYMBOL(thermal_zone_device_unregister); 807 808 static int __init thermal_init(void) 809 { 810 int result = 0; ··· 829 mutex_destroy(&thermal_idr_lock); 830 mutex_destroy(&thermal_list_lock); 831 } 832 - return result; 833 - } 834 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); 842 } 843 844 subsys_initcall(thermal_init);
··· 30 #include <linux/idr.h> 31 #include <linux/thermal.h> 32 #include <linux/spinlock.h> 33 + #include <linux/hwmon.h> 34 + #include <linux/hwmon-sysfs.h> 35 36 + MODULE_AUTHOR("Zhang Rui"); 37 MODULE_DESCRIPTION("Generic thermal management sysfs support"); 38 MODULE_LICENSE("GPL"); 39 ··· 55 static LIST_HEAD(thermal_tz_list); 56 static LIST_HEAD(thermal_cdev_list); 57 static DEFINE_MUTEX(thermal_list_lock); 58 + 59 + static struct device *thermal_hwmon; 60 + #define MAX_THERMAL_ZONES 10 61 62 static int get_idr(struct idr *idr, struct mutex *lock, int *id) 63 { ··· 87 mutex_unlock(lock); 88 } 89 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 */ 151 152 #define to_thermal_zone(_dev) \ 153 container_of(_dev, struct thermal_zone_device, device) ··· 214 device_remove_file(_dev, &trip_point_attrs[_index * 2 + 1]); \ 215 } while (0) 216 217 + /* cooling device sys I/F */ 218 #define to_cooling_device(_dev) \ 219 container_of(_dev, struct thermal_cooling_device, device) 220 ··· 447 struct thermal_zone_device *pos; 448 int result; 449 450 + if (!type) 451 + return ERR_PTR(-EINVAL); 452 + 453 if (strlen(type) >= THERMAL_NAME_LENGTH) 454 return ERR_PTR(-EINVAL); 455 ··· 477 } 478 479 /* sys I/F */ 480 + result = device_create_file(&cdev->device, &dev_attr_cdev_type); 481 + if (result) 482 + goto unregister; 483 484 result = device_create_file(&cdev->device, &dev_attr_max_state); 485 if (result) ··· 547 tz->ops->unbind(tz, cdev); 548 } 549 mutex_unlock(&thermal_list_lock); 550 + 551 + device_remove_file(&cdev->device, &dev_attr_cdev_type); 552 device_remove_file(&cdev->device, &dev_attr_max_state); 553 device_remove_file(&cdev->device, &dev_attr_cur_state); 554 ··· 580 int result; 581 int count; 582 583 + if (!type) 584 + return ERR_PTR(-EINVAL); 585 + 586 if (strlen(type) >= THERMAL_NAME_LENGTH) 587 return ERR_PTR(-EINVAL); 588 ··· 601 kfree(tz); 602 return ERR_PTR(result); 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 + } 611 612 strcpy(tz->type, type); 613 tz->ops = ops; ··· 615 return ERR_PTR(result); 616 } 617 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 + } 633 } 634 + 635 + /* sys I/F */ 636 + result = device_create_file(&tz->device, &dev_attr_type); 637 + if (result) 638 + goto unregister; 639 640 result = device_create_file(&tz->device, &dev_attr_temp); 641 if (result) ··· 687 tz->ops->unbind(tz, cdev); 688 mutex_unlock(&thermal_list_lock); 689 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); 701 device_remove_file(&tz->device, &dev_attr_temp); 702 if (tz->ops->get_mode) 703 device_remove_file(&tz->device, &dev_attr_mode); ··· 705 706 EXPORT_SYMBOL(thermal_zone_device_unregister); 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 + 721 static int __init thermal_init(void) 722 { 723 int result = 0; ··· 716 mutex_destroy(&thermal_idr_lock); 717 mutex_destroy(&thermal_list_lock); 718 } 719 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; 733 } 734 735 subsys_initcall(thermal_init);
+3
fs/proc/base.c
··· 2269 DIR("task", S_IRUGO|S_IXUGO, task), 2270 DIR("fd", S_IRUSR|S_IXUSR, fd), 2271 DIR("fdinfo", S_IRUSR|S_IXUSR, fdinfo), 2272 REG("environ", S_IRUSR, environ), 2273 INF("auxv", S_IRUSR, pid_auxv), 2274 ONE("status", S_IRUGO, pid_status),
··· 2269 DIR("task", S_IRUGO|S_IXUGO, task), 2270 DIR("fd", S_IRUSR|S_IXUSR, fd), 2271 DIR("fdinfo", S_IRUSR|S_IXUSR, fdinfo), 2272 + #ifdef CONFIG_NET 2273 + DIR("net", S_IRUGO|S_IXUSR, net), 2274 + #endif 2275 REG("environ", S_IRUSR, environ), 2276 INF("auxv", S_IRUSR, pid_auxv), 2277 ONE("status", S_IRUGO, pid_status),
+17 -9
fs/proc/generic.c
··· 377 * Don't create negative dentries here, return -ENOENT by hand 378 * instead. 379 */ 380 - struct dentry *proc_lookup(struct inode * dir, struct dentry *dentry, struct nameidata *nd) 381 { 382 struct inode *inode = NULL; 383 - struct proc_dir_entry * de; 384 int error = -ENOENT; 385 386 lock_kernel(); 387 spin_lock(&proc_subdir_lock); 388 - de = PDE(dir); 389 if (de) { 390 for (de = de->subdir; de ; de = de->next) { 391 if (de->namelen != dentry->d_name.len) ··· 392 if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { 393 unsigned int ino; 394 395 - if (de->shadow_proc) 396 - de = de->shadow_proc(current, de); 397 ino = de->low_ino; 398 de_get(de); 399 spin_unlock(&proc_subdir_lock); ··· 414 return ERR_PTR(error); 415 } 416 417 /* 418 * This returns non-zero if at EOF, so that the /proc 419 * root directory can use this and check if it should ··· 429 * value of the readdir() call, as long as it's non-negative 430 * for success.. 431 */ 432 - int proc_readdir(struct file * filp, 433 - void * dirent, filldir_t filldir) 434 { 435 - struct proc_dir_entry * de; 436 unsigned int ino; 437 int i; 438 struct inode *inode = filp->f_path.dentry->d_inode; ··· 440 lock_kernel(); 441 442 ino = inode->i_ino; 443 - de = PDE(inode); 444 if (!de) { 445 ret = -EINVAL; 446 goto out; ··· 498 ret = 1; 499 out: unlock_kernel(); 500 return ret; 501 } 502 503 /*
··· 377 * Don't create negative dentries here, return -ENOENT by hand 378 * instead. 379 */ 380 + struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *dir, 381 + struct dentry *dentry) 382 { 383 struct inode *inode = NULL; 384 int error = -ENOENT; 385 386 lock_kernel(); 387 spin_lock(&proc_subdir_lock); 388 if (de) { 389 for (de = de->subdir; de ; de = de->next) { 390 if (de->namelen != dentry->d_name.len) ··· 393 if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { 394 unsigned int ino; 395 396 ino = de->low_ino; 397 de_get(de); 398 spin_unlock(&proc_subdir_lock); ··· 417 return ERR_PTR(error); 418 } 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 + 426 /* 427 * This returns non-zero if at EOF, so that the /proc 428 * root directory can use this and check if it should ··· 426 * value of the readdir() call, as long as it's non-negative 427 * for success.. 428 */ 429 + int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, 430 + filldir_t filldir) 431 { 432 unsigned int ino; 433 int i; 434 struct inode *inode = filp->f_path.dentry->d_inode; ··· 438 lock_kernel(); 439 440 ino = inode->i_ino; 441 if (!de) { 442 ret = -EINVAL; 443 goto out; ··· 497 ret = 1; 498 out: unlock_kernel(); 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); 507 } 508 509 /*
+7
fs/proc/internal.h
··· 64 extern const struct file_operations proc_smaps_operations; 65 extern const struct file_operations proc_clear_refs_operations; 66 extern const struct file_operations proc_pagemap_operations; 67 68 void free_proc_entry(struct proc_dir_entry *de); 69 ··· 85 { 86 return PROC_I(inode)->fd; 87 }
··· 64 extern const struct file_operations proc_smaps_operations; 65 extern const struct file_operations proc_clear_refs_operations; 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; 69 70 void free_proc_entry(struct proc_dir_entry *de); 71 ··· 83 { 84 return PROC_I(inode)->fd; 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 } 64 EXPORT_SYMBOL_GPL(seq_release_net); 65 66 67 struct proc_dir_entry *proc_net_fops_create(struct net *net, 68 const char *name, mode_t mode, const struct file_operations *fops) ··· 159 } 160 EXPORT_SYMBOL_GPL(get_proc_net); 161 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 struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name, 171 struct proc_dir_entry *parent) 172 { ··· 172 173 static __net_init int proc_net_ns_init(struct net *net) 174 { 175 - struct proc_dir_entry *root, *netd, *net_statd; 176 int err; 177 178 err = -ENOMEM; 179 - root = kzalloc(sizeof(*root), GFP_KERNEL); 180 - if (!root) 181 goto out; 182 183 - err = -EEXIST; 184 - netd = proc_net_mkdir(net, "net", root); 185 - if (!netd) 186 - goto free_root; 187 188 err = -EEXIST; 189 net_statd = proc_net_mkdir(net, "stat", netd); 190 if (!net_statd) 191 goto free_net; 192 193 - root->data = net; 194 - 195 - net->proc_net_root = root; 196 net->proc_net = netd; 197 net->proc_net_stat = net_statd; 198 - err = 0; 199 200 out: 201 return err; 202 - free_net: 203 - remove_proc_entry("net", root); 204 - free_root: 205 - kfree(root); 206 - goto out; 207 } 208 209 static __net_exit void proc_net_ns_exit(struct net *net) 210 { 211 remove_proc_entry("stat", net->proc_net); 212 - remove_proc_entry("net", net->proc_net_root); 213 - kfree(net->proc_net_root); 214 } 215 216 static struct pernet_operations __net_initdata proc_net_ns_ops = { ··· 214 215 int __init proc_net_init(void) 216 { 217 - shadow_pde = proc_mkdir("net", NULL); 218 - shadow_pde->shadow_proc = proc_net_shadow; 219 220 return register_pernet_subsys(&proc_net_ns_ops); 221 }
··· 63 } 64 EXPORT_SYMBOL_GPL(seq_release_net); 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 + 142 143 struct proc_dir_entry *proc_net_fops_create(struct net *net, 144 const char *name, mode_t mode, const struct file_operations *fops) ··· 83 } 84 EXPORT_SYMBOL_GPL(get_proc_net); 85 86 struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name, 87 struct proc_dir_entry *parent) 88 { ··· 104 105 static __net_init int proc_net_ns_init(struct net *net) 106 { 107 + struct proc_dir_entry *netd, *net_statd; 108 int err; 109 110 err = -ENOMEM; 111 + netd = kzalloc(sizeof(*netd), GFP_KERNEL); 112 + if (!netd) 113 goto out; 114 115 + netd->data = net; 116 + netd->nlink = 2; 117 + netd->name = "net"; 118 + netd->namelen = 3; 119 + netd->parent = &proc_root; 120 121 err = -EEXIST; 122 net_statd = proc_net_mkdir(net, "stat", netd); 123 if (!net_statd) 124 goto free_net; 125 126 net->proc_net = netd; 127 net->proc_net_stat = net_statd; 128 + return 0; 129 130 + free_net: 131 + kfree(netd); 132 out: 133 return err; 134 } 135 136 static __net_exit void proc_net_ns_exit(struct net *net) 137 { 138 remove_proc_entry("stat", net->proc_net); 139 + kfree(net->proc_net); 140 } 141 142 static struct pernet_operations __net_initdata proc_net_ns_ops = { ··· 152 153 int __init proc_net_init(void) 154 { 155 + proc_symlink("net", NULL, "self/net"); 156 157 return register_pernet_subsys(&proc_net_ns_ops); 158 }
+13 -5
fs/proc/task_mmu.c
··· 640 641 ret = -EACCES; 642 if (!ptrace_may_attach(task)) 643 - goto out; 644 645 ret = -EINVAL; 646 /* file position must be aligned */ 647 if (*ppos % PM_ENTRY_BYTES) 648 - goto out; 649 650 ret = 0; 651 mm = get_task_mm(task); 652 if (!mm) 653 - goto out; 654 655 ret = -ENOMEM; 656 uaddr = (unsigned long)buf & PAGE_MASK; ··· 658 pagecount = (PAGE_ALIGN(uend) - uaddr) / PAGE_SIZE; 659 pages = kmalloc(pagecount * sizeof(struct page *), GFP_KERNEL); 660 if (!pages) 661 - goto out_task; 662 663 down_read(&current->mm->mmap_sem); 664 ret = get_user_pages(current, current->mm, uaddr, pagecount, ··· 667 668 if (ret < 0) 669 goto out_free; 670 671 pm.out = buf; 672 pm.end = buf + count; ··· 705 ret = pm.out - buf; 706 } 707 708 for (; pagecount; pagecount--) { 709 page = pages[pagecount-1]; 710 if (!PageReserved(page)) 711 SetPageDirty(page); 712 page_cache_release(page); 713 } 714 - mmput(mm); 715 out_free: 716 kfree(pages); 717 out_task: 718 put_task_struct(task); 719 out:
··· 640 641 ret = -EACCES; 642 if (!ptrace_may_attach(task)) 643 + goto out_task; 644 645 ret = -EINVAL; 646 /* file position must be aligned */ 647 if (*ppos % PM_ENTRY_BYTES) 648 + goto out_task; 649 650 ret = 0; 651 mm = get_task_mm(task); 652 if (!mm) 653 + goto out_task; 654 655 ret = -ENOMEM; 656 uaddr = (unsigned long)buf & PAGE_MASK; ··· 658 pagecount = (PAGE_ALIGN(uend) - uaddr) / PAGE_SIZE; 659 pages = kmalloc(pagecount * sizeof(struct page *), GFP_KERNEL); 660 if (!pages) 661 + goto out_mm; 662 663 down_read(&current->mm->mmap_sem); 664 ret = get_user_pages(current, current->mm, uaddr, pagecount, ··· 667 668 if (ret < 0) 669 goto out_free; 670 + 671 + if (ret != pagecount) { 672 + pagecount = ret; 673 + ret = -EFAULT; 674 + goto out_pages; 675 + } 676 677 pm.out = buf; 678 pm.end = buf + count; ··· 699 ret = pm.out - buf; 700 } 701 702 + out_pages: 703 for (; pagecount; pagecount--) { 704 page = pages[pagecount-1]; 705 if (!PageReserved(page)) 706 SetPageDirty(page); 707 page_cache_release(page); 708 } 709 out_free: 710 kfree(pages); 711 + out_mm: 712 + mmput(mm); 713 out_task: 714 put_task_struct(task); 715 out:
+1 -1
include/asm-arm/arch-omap/board-h3.h
··· 36 37 #define NR_IRQS (MAXIRQNUM + 1) 38 39 - extern void __init h3_mmc_init(void); 40 extern void h3_mmc_slot_cover_handler(void *arg, int state); 41 42 #endif /* __ASM_ARCH_OMAP_H3_H */
··· 36 37 #define NR_IRQS (MAXIRQNUM + 1) 38 39 + extern void h3_mmc_init(void); 40 extern void h3_mmc_slot_cover_handler(void *arg, int state); 41 42 #endif /* __ASM_ARCH_OMAP_H3_H */
+6 -3
include/asm-arm/arch-omap/common.h
··· 27 #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H 28 #define __ARCH_ARM_MACH_OMAP_COMMON_H 29 30 - #ifdef CONFIG_I2C_OMAP 31 #include <linux/i2c.h> 32 - #endif 33 34 struct sys_timer; 35 ··· 39 struct i2c_board_info const *info, 40 unsigned len); 41 #else 42 - #define omap_register_i2c_bus(a, b, c, d) 0 43 #endif 44 45 #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
··· 27 #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H 28 #define __ARCH_ARM_MACH_OMAP_COMMON_H 29 30 #include <linux/i2c.h> 31 32 struct sys_timer; 33 ··· 41 struct i2c_board_info const *info, 42 unsigned len); 43 #else 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 + } 50 #endif 51 52 #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
+11
include/asm-arm/arch-omap/gpioexpander.h
··· 18 19 /* Function Prototypes for GPIO Expander functions */ 20 21 int read_gpio_expa(u8 *, int); 22 int write_gpio_expa(u8 , int); 23 24 #endif /* __ASM_ARCH_OMAP_GPIOEXPANDER_H */
··· 18 19 /* Function Prototypes for GPIO Expander functions */ 20 21 + #ifdef CONFIG_GPIOEXPANDER_OMAP 22 int read_gpio_expa(u8 *, int); 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 34 35 #endif /* __ASM_ARCH_OMAP_GPIOEXPANDER_H */
+2
include/asm-arm/pgtable-nommu.h
··· 92 93 #define FIRST_USER_ADDRESS (0) 94 95 #else 96 97 /*
··· 92 93 #define FIRST_USER_ADDRESS (0) 94 95 + #include <asm-generic/pgtable.h> 96 + 97 #else 98 99 /*
+2 -2
include/asm-arm/plat-s3c/uncompress.h
··· 27 28 /* defines for UART registers */ 29 30 - #include "asm/plat-s3c/regs-serial.h" 31 - #include "asm/plat-s3c/regs-watchdog.h" 32 33 /* working in physical space... */ 34 #undef S3C2410_WDOGREG
··· 27 28 /* defines for UART registers */ 29 30 + #include <asm/plat-s3c/regs-serial.h> 31 + #include <asm/plat-s3c/regs-watchdog.h> 32 33 /* working in physical space... */ 34 #undef S3C2410_WDOGREG
+2 -2
include/asm-arm/proc-fns.h
··· 214 #ifndef __ASSEMBLY__ 215 216 #ifndef MULTI_CPU 217 - #include "asm/cpu-single.h" 218 #else 219 - #include "asm/cpu-multi32.h" 220 #endif 221 222 #include <asm/memory.h>
··· 214 #ifndef __ASSEMBLY__ 215 216 #ifndef MULTI_CPU 217 + #include <asm/cpu-single.h> 218 #else 219 + #include <asm/cpu-multi32.h> 220 #endif 221 222 #include <asm/memory.h>
+4 -7
include/asm-h8300/uaccess.h
··· 91 #define get_user(x, ptr) \ 92 ({ \ 93 int __gu_err = 0; \ 94 - uint32_t __gu_val = 0; \ 95 switch (sizeof(*(ptr))) { \ 96 case 1: \ 97 case 2: \ 98 case 4: \ 99 - __gu_val = *(ptr); \ 100 - break; \ 101 - case 8: \ 102 - memcpy(&__gu_val, ptr, sizeof (*(ptr))); \ 103 break; \ 104 default: \ 105 - __gu_val = 0; \ 106 __gu_err = __get_user_bad(); \ 107 break; \ 108 } \ 109 - (x) = (typeof(*(ptr)))__gu_val; \ 110 __gu_err; \ 111 }) 112 #define __get_user(x, ptr) get_user(x, ptr)
··· 91 #define get_user(x, ptr) \ 92 ({ \ 93 int __gu_err = 0; \ 94 + typeof(*(ptr)) __gu_val = *ptr; \ 95 switch (sizeof(*(ptr))) { \ 96 case 1: \ 97 case 2: \ 98 case 4: \ 99 + case 8: \ 100 break; \ 101 default: \ 102 __gu_err = __get_user_bad(); \ 103 + __gu_val = 0; \ 104 break; \ 105 } \ 106 + (x) = __gu_val; \ 107 __gu_err; \ 108 }) 109 #define __get_user(x, ptr) get_user(x, ptr)
+1 -1
include/asm-mips/cacheflush.h
··· 93 clear_bit(PG_dcache_dirty, &(page)->flags) 94 95 /* Run kernel code uncached, useful for cache probing functions. */ 96 - unsigned long __init run_uncached(void *func); 97 98 extern void *kmap_coherent(struct page *page, unsigned long addr); 99 extern void kunmap_coherent(void);
··· 93 clear_bit(PG_dcache_dirty, &(page)->flags) 94 95 /* Run kernel code uncached, useful for cache probing functions. */ 96 + unsigned long run_uncached(void *func); 97 98 extern void *kmap_coherent(struct page *page, unsigned long addr); 99 extern void kunmap_coherent(void);
-1
include/asm-mips/highmem.h
··· 39 * easily, subsequent pte tables have to be allocated in one physical 40 * chunk of RAM. 41 */ 42 - #define PKMAP_BASE (0xfe000000UL) 43 #define LAST_PKMAP 1024 44 #define LAST_PKMAP_MASK (LAST_PKMAP-1) 45 #define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
··· 39 * easily, subsequent pte tables have to be allocated in one physical 40 * chunk of RAM. 41 */ 42 #define LAST_PKMAP 1024 43 #define LAST_PKMAP_MASK (LAST_PKMAP-1) 44 #define PKMAP_NR(virt) ((virt-PKMAP_BASE) >> PAGE_SHIFT)
+4
include/asm-mips/mach-ip27/cpu-feature-overrides.h
··· 34 #define cpu_has_64bits 1 35 36 #define cpu_has_4kex 1 37 #define cpu_has_4k_cache 1 38 39 #define cpu_has_inclusive_pcaches 1 40
··· 34 #define cpu_has_64bits 1 35 36 #define cpu_has_4kex 1 37 + #define cpu_has_3k_cache 0 38 + #define cpu_has_6k_cache 0 39 #define cpu_has_4k_cache 1 40 + #define cpu_has_8k_cache 0 41 + #define cpu_has_tx39_cache 0 42 43 #define cpu_has_inclusive_pcaches 1 44
+1 -1
include/asm-mips/mach-jmr3927/ioremap.h
··· 25 { 26 #define TXX9_DIRECTMAP_BASE 0xff000000ul 27 if (offset >= TXX9_DIRECTMAP_BASE && 28 - offset < TXX9_DIRECTMAP_BASE + 0xf0000) 29 return (void __iomem *)offset; 30 return NULL; 31 }
··· 25 { 26 #define TXX9_DIRECTMAP_BASE 0xff000000ul 27 if (offset >= TXX9_DIRECTMAP_BASE && 28 + offset < TXX9_DIRECTMAP_BASE + 0xff0000) 29 return (void __iomem *)offset; 30 return NULL; 31 }
+1 -1
include/asm-mips/mach-lasat/irq.h
··· 1 #ifndef _ASM_MACH_LASAT_IRQ_H 2 #define _ASM_MACH_LASAT_IRQ_H 3 4 - #define LASAT_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 0) 5 6 #define LASAT_IRQ_BASE 8 7 #define LASAT_IRQ_END 23
··· 1 #ifndef _ASM_MACH_LASAT_IRQ_H 2 #define _ASM_MACH_LASAT_IRQ_H 3 4 + #define LASAT_CASCADE_IRQ (MIPS_CPU_IRQ_BASE + 2) 5 6 #define LASAT_IRQ_BASE 8 7 #define LASAT_IRQ_END 23
+2
include/asm-mips/pgtable-32.h
··· 65 66 #define VMALLOC_START MAP_BASE 67 68 #ifdef CONFIG_HIGHMEM 69 # define VMALLOC_END (PKMAP_BASE-2*PAGE_SIZE) 70 #else
··· 65 66 #define VMALLOC_START MAP_BASE 67 68 + #define PKMAP_BASE (0xfe000000UL) 69 + 70 #ifdef CONFIG_HIGHMEM 71 # define VMALLOC_END (PKMAP_BASE-2*PAGE_SIZE) 72 #else
+3 -2
include/asm-mips/time.h
··· 64 * Initialize the count register as a clocksource 65 */ 66 #ifdef CONFIG_CEVT_R4K 67 - extern void init_mips_clocksource(void); 68 #else 69 - static inline void init_mips_clocksource(void) 70 { 71 } 72 #endif 73
··· 64 * Initialize the count register as a clocksource 65 */ 66 #ifdef CONFIG_CEVT_R4K 67 + extern int init_mips_clocksource(void); 68 #else 69 + static inline int init_mips_clocksource(void) 70 { 71 + return 0; 72 } 73 #endif 74
-8
include/asm-powerpc/pgtable-ppc32.h
··· 339 #define _PMD_PAGE_MASK 0x000c 340 #define _PMD_PAGE_8M 0x000c 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 #define _PTE_NONE_MASK _PAGE_ACCESSED 351 352 #else /* CONFIG_6xx */
··· 339 #define _PMD_PAGE_MASK 0x000c 340 #define _PMD_PAGE_8M 0x000c 341 342 #define _PTE_NONE_MASK _PAGE_ACCESSED 343 344 #else /* CONFIG_6xx */
-8
include/asm-ppc/pgtable.h
··· 299 #define _PMD_PAGE_MASK 0x000c 300 #define _PMD_PAGE_8M 0x000c 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 #define _PTE_NONE_MASK _PAGE_ACCESSED 311 312 #else /* CONFIG_6xx */
··· 299 #define _PMD_PAGE_MASK 0x000c 300 #define _PMD_PAGE_8M 0x000c 301 302 #define _PTE_NONE_MASK _PAGE_ACCESSED 303 304 #else /* CONFIG_6xx */
-1
include/linux/Kbuild
··· 205 unifdef-y += fs.h 206 unifdef-y += gameport.h 207 unifdef-y += generic_serial.h 208 - unifdef-y += genhd.h 209 unifdef-y += gfs2_ondisk.h 210 unifdef-y += hayesesp.h 211 unifdef-y += hdlcdrv.h
··· 205 unifdef-y += fs.h 206 unifdef-y += gameport.h 207 unifdef-y += generic_serial.h 208 unifdef-y += gfs2_ondisk.h 209 unifdef-y += hayesesp.h 210 unifdef-y += hdlcdrv.h
+1
include/linux/ethtool.h
··· 12 #ifndef _LINUX_ETHTOOL_H 13 #define _LINUX_ETHTOOL_H 14 15 16 /* This should work for both 32 and 64 bit userland. */ 17 struct ethtool_cmd {
··· 12 #ifndef _LINUX_ETHTOOL_H 13 #define _LINUX_ETHTOOL_H 14 15 + #include <linux/types.h> 16 17 /* This should work for both 32 and 64 bit userland. */ 18 struct ethtool_cmd {
+3 -27
include/linux/genhd.h
··· 55 UNIXWARE_PARTITION = 0x63, /* Same as GNU_HURD and SCO Unix */ 56 }; 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 #include <linux/major.h> 77 #include <linux/device.h> 78 #include <linux/smp.h> ··· 210 sizeof(struct disk_stats)); 211 } 212 213 - #else 214 #define __disk_stat_add(gendiskp, field, addnd) \ 215 (gendiskp->dkstats.field += addnd) 216 #define disk_stat_read(gendiskp, field) (gendiskp->dkstats.field) ··· 238 memset(&part->dkstats, value, sizeof(struct disk_stats)); 239 } 240 241 - #endif 242 243 #define disk_stat_add(gendiskp, field, addnd) \ 244 do { \ ··· 376 { 377 disk->capacity = size; 378 } 379 - 380 - #endif /* __KERNEL__ */ 381 382 #ifdef CONFIG_SOLARIS_X86_PARTITION 383 ··· 520 # define MINIX_NR_SUBPARTITIONS 4 521 #endif /* CONFIG_MINIX_SUBPARTITION */ 522 523 - #ifdef __KERNEL__ 524 - 525 #define ADDPART_FLAG_NONE 0 526 #define ADDPART_FLAG_RAID 1 527 #define ADDPART_FLAG_WHOLEDISK 2 ··· 548 return bdget(MKDEV(disk->major, disk->first_minor) + index); 549 } 550 551 - #endif 552 - 553 #else /* CONFIG_BLOCK */ 554 555 static inline void printk_all_partitions(void) { } ··· 560 561 #endif /* CONFIG_BLOCK */ 562 563 - #endif
··· 55 UNIXWARE_PARTITION = 0x63, /* Same as GNU_HURD and SCO Unix */ 56 }; 57 58 #include <linux/major.h> 59 #include <linux/device.h> 60 #include <linux/smp.h> ··· 228 sizeof(struct disk_stats)); 229 } 230 231 + #else /* !CONFIG_SMP */ 232 #define __disk_stat_add(gendiskp, field, addnd) \ 233 (gendiskp->dkstats.field += addnd) 234 #define disk_stat_read(gendiskp, field) (gendiskp->dkstats.field) ··· 256 memset(&part->dkstats, value, sizeof(struct disk_stats)); 257 } 258 259 + #endif /* CONFIG_SMP */ 260 261 #define disk_stat_add(gendiskp, field, addnd) \ 262 do { \ ··· 394 { 395 disk->capacity = size; 396 } 397 398 #ifdef CONFIG_SOLARIS_X86_PARTITION 399 ··· 540 # define MINIX_NR_SUBPARTITIONS 4 541 #endif /* CONFIG_MINIX_SUBPARTITION */ 542 543 #define ADDPART_FLAG_NONE 0 544 #define ADDPART_FLAG_RAID 1 545 #define ADDPART_FLAG_WHOLEDISK 2 ··· 570 return bdget(MKDEV(disk->major, disk->first_minor) + index); 571 } 572 573 #else /* CONFIG_BLOCK */ 574 575 static inline void printk_all_partitions(void) { } ··· 584 585 #endif /* CONFIG_BLOCK */ 586 587 + #endif /* _LINUX_GENHD_H */
+10 -3
include/linux/mm.h
··· 235 struct page *vmalloc_to_page(const void *addr); 236 unsigned long vmalloc_to_pfn(const void *addr); 237 238 - #ifdef CONFIG_MMU 239 - /* Determine if an address is within the vmalloc range */ 240 static inline int is_vmalloc_addr(const void *x) 241 { 242 unsigned long addr = (unsigned long)x; 243 244 return addr >= VMALLOC_START && addr < VMALLOC_END; 245 - } 246 #endif 247 248 static inline struct page *compound_head(struct page *page) 249 {
··· 235 struct page *vmalloc_to_page(const void *addr); 236 unsigned long vmalloc_to_pfn(const void *addr); 237 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 + */ 244 static inline int is_vmalloc_addr(const void *x) 245 { 246 + #ifdef CONFIG_MMU 247 unsigned long addr = (unsigned long)x; 248 249 return addr >= VMALLOC_START && addr < VMALLOC_END; 250 + #else 251 + return 0; 252 #endif 253 + } 254 255 static inline struct page *compound_head(struct page *page) 256 {
+1
include/linux/pci.h
··· 278 struct device dev; 279 struct bin_attribute *legacy_io; /* legacy I/O for this bus */ 280 struct bin_attribute *legacy_mem; /* legacy mem */ 281 }; 282 283 #define pci_bus_b(n) list_entry(n, struct pci_bus, node)
··· 278 struct device dev; 279 struct bin_attribute *legacy_io; /* legacy I/O for this bus */ 280 struct bin_attribute *legacy_mem; /* legacy mem */ 281 + unsigned int is_added:1; 282 }; 283 284 #define pci_bus_b(n) list_entry(n, struct pci_bus, node)
+8 -1
include/linux/pmu.h
··· 147 /* For use before switching interrupts off for a long time; 148 * warning: not stackable 149 */ 150 extern void pmu_suspend(void); 151 extern void pmu_resume(void); 152 153 extern void pmu_enable_irled(int on); 154 ··· 199 extern void pmu_backlight_init(void); 200 201 /* some code needs to know if the PMU was suspended for hibernation */ 202 - #if defined(CONFIG_PM_SLEEP) && defined(CONFIG_PPC32) 203 extern int pmu_sys_suspended; 204 #else 205 /* if power management is not configured it can't be suspended */
··· 147 /* For use before switching interrupts off for a long time; 148 * warning: not stackable 149 */ 150 + #if defined(CONFIG_ADB_PMU) 151 extern void pmu_suspend(void); 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 159 160 extern void pmu_enable_irled(int on); 161 ··· 192 extern void pmu_backlight_init(void); 193 194 /* some code needs to know if the PMU was suspended for hibernation */ 195 + #if defined(CONFIG_SUSPEND) && defined(CONFIG_PPC32) 196 extern int pmu_sys_suspended; 197 #else 198 /* if power management is not configured it can't be suspended */
-3
include/linux/proc_fs.h
··· 50 typedef int (write_proc_t)(struct file *file, const char __user *buffer, 51 unsigned long count, void *data); 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 56 struct proc_dir_entry { 57 unsigned int low_ino; ··· 80 int pde_users; /* number of callers into module in progress */ 81 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ 82 struct completion *pde_unload_completion; 83 - shadow_proc_t *shadow_proc; 84 }; 85 86 struct kcore_list {
··· 50 typedef int (write_proc_t)(struct file *file, const char __user *buffer, 51 unsigned long count, void *data); 52 typedef int (get_info_t)(char *, char **, off_t, int); 53 54 struct proc_dir_entry { 55 unsigned int low_ino; ··· 82 int pde_users; /* number of callers into module in progress */ 83 spinlock_t pde_unload_lock; /* proc_fops checks and pde_users bumps */ 84 struct completion *pde_unload_completion; 85 }; 86 87 struct kcore_list {
+1 -1
include/net/bluetooth/bluetooth.h
··· 170 int bt_err(__u16 code); 171 172 extern int hci_sock_init(void); 173 - extern int hci_sock_cleanup(void); 174 175 extern int bt_sysfs_init(void); 176 extern void bt_sysfs_cleanup(void);
··· 170 int bt_err(__u16 code); 171 172 extern int hci_sock_init(void); 173 + extern void hci_sock_cleanup(void); 174 175 extern int bt_sysfs_init(void); 176 extern void bt_sysfs_cleanup(void);
+3 -3
include/net/irda/irttp.h
··· 169 void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow); 170 struct tsap_cb *irttp_dup(struct tsap_cb *self, void *instance); 171 172 - static __inline __u32 irttp_get_saddr(struct tsap_cb *self) 173 { 174 return irlmp_get_saddr(self->lsap); 175 } 176 177 - static __inline __u32 irttp_get_daddr(struct tsap_cb *self) 178 { 179 return irlmp_get_daddr(self->lsap); 180 } 181 182 - static __inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) 183 { 184 return self->max_seg_size; 185 }
··· 169 void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow); 170 struct tsap_cb *irttp_dup(struct tsap_cb *self, void *instance); 171 172 + static inline __u32 irttp_get_saddr(struct tsap_cb *self) 173 { 174 return irlmp_get_saddr(self->lsap); 175 } 176 177 + static inline __u32 irttp_get_daddr(struct tsap_cb *self) 178 { 179 return irlmp_get_daddr(self->lsap); 180 } 181 182 + static inline __u32 irttp_get_max_seg_size(struct tsap_cb *self) 183 { 184 return self->max_seg_size; 185 }
-1
include/net/net_namespace.h
··· 31 32 struct proc_dir_entry *proc_net; 33 struct proc_dir_entry *proc_net_stat; 34 - struct proc_dir_entry *proc_net_root; 35 36 struct list_head sysctl_table_headers; 37
··· 31 32 struct proc_dir_entry *proc_net; 33 struct proc_dir_entry *proc_net_stat; 34 35 struct list_head sysctl_table_headers; 36
-1
include/net/netfilter/nf_conntrack_extend.h
··· 17 struct nf_ct_ext { 18 u8 offset[NF_CT_EXT_NUM]; 19 u8 len; 20 - u8 real_len; 21 char data[0]; 22 }; 23
··· 17 struct nf_ct_ext { 18 u8 offset[NF_CT_EXT_NUM]; 19 u8 len; 20 char data[0]; 21 }; 22
+1 -1
kernel/power/Kconfig
··· 190 notification of APM "events" (e.g. battery status change). 191 192 In order to use APM, you will need supporting software. For location 193 - and more information, read <file:Documentation/pm.txt> and the 194 Battery Powered Linux mini-HOWTO, available from 195 <http://www.tldp.org/docs.html#howto>. 196
··· 190 notification of APM "events" (e.g. battery status change). 191 192 In order to use APM, you will need supporting software. For location 193 + and more information, read <file:Documentation/power/pm.txt> and the 194 Battery Powered Linux mini-HOWTO, available from 195 <http://www.tldp.org/docs.html#howto>. 196
+34 -7
kernel/power/snapshot.c
··· 447 * of @bm->cur_zone_bm are updated. 448 */ 449 450 - static void memory_bm_find_bit(struct memory_bitmap *bm, unsigned long pfn, 451 void **addr, unsigned int *bit_nr) 452 { 453 struct zone_bitmap *zone_bm; ··· 461 while (pfn < zone_bm->start_pfn || pfn >= zone_bm->end_pfn) { 462 zone_bm = zone_bm->next; 463 464 - BUG_ON(!zone_bm); 465 } 466 bm->cur.zone_bm = zone_bm; 467 } ··· 480 pfn -= bb->start_pfn; 481 *bit_nr = pfn % BM_BITS_PER_CHUNK; 482 *addr = bb->data + pfn / BM_BITS_PER_CHUNK; 483 } 484 485 static void memory_bm_set_bit(struct memory_bitmap *bm, unsigned long pfn) 486 { 487 void *addr; 488 unsigned int bit; 489 490 - memory_bm_find_bit(bm, pfn, &addr, &bit); 491 set_bit(bit, addr); 492 } 493 494 static void memory_bm_clear_bit(struct memory_bitmap *bm, unsigned long pfn) 495 { 496 void *addr; 497 unsigned int bit; 498 499 - memory_bm_find_bit(bm, pfn, &addr, &bit); 500 clear_bit(bit, addr); 501 } 502 ··· 521 { 522 void *addr; 523 unsigned int bit; 524 525 - memory_bm_find_bit(bm, pfn, &addr, &bit); 526 return test_bit(bit, addr); 527 } 528 ··· 729 region->end_pfn << PAGE_SHIFT); 730 731 for (pfn = region->start_pfn; pfn < region->end_pfn; pfn++) 732 - if (pfn_valid(pfn)) 733 - memory_bm_set_bit(bm, pfn); 734 } 735 } 736
··· 447 * of @bm->cur_zone_bm are updated. 448 */ 449 450 + static int memory_bm_find_bit(struct memory_bitmap *bm, unsigned long pfn, 451 void **addr, unsigned int *bit_nr) 452 { 453 struct zone_bitmap *zone_bm; ··· 461 while (pfn < zone_bm->start_pfn || pfn >= zone_bm->end_pfn) { 462 zone_bm = zone_bm->next; 463 464 + if (!zone_bm) 465 + return -EFAULT; 466 } 467 bm->cur.zone_bm = zone_bm; 468 } ··· 479 pfn -= bb->start_pfn; 480 *bit_nr = pfn % BM_BITS_PER_CHUNK; 481 *addr = bb->data + pfn / BM_BITS_PER_CHUNK; 482 + return 0; 483 } 484 485 static void memory_bm_set_bit(struct memory_bitmap *bm, unsigned long pfn) 486 { 487 void *addr; 488 unsigned int bit; 489 + int error; 490 491 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 492 + BUG_ON(error); 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; 506 } 507 508 static void memory_bm_clear_bit(struct memory_bitmap *bm, unsigned long pfn) 509 { 510 void *addr; 511 unsigned int bit; 512 + int error; 513 514 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 515 + BUG_ON(error); 516 clear_bit(bit, addr); 517 } 518 ··· 503 { 504 void *addr; 505 unsigned int bit; 506 + int error; 507 508 + error = memory_bm_find_bit(bm, pfn, &addr, &bit); 509 + BUG_ON(error); 510 return test_bit(bit, addr); 511 } 512 ··· 709 region->end_pfn << PAGE_SHIFT); 710 711 for (pfn = region->start_pfn; pfn < region->end_pfn; 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 + } 721 } 722 } 723
+16 -14
lib/swiotlb.c
··· 310 start_dma_addr = virt_to_bus(io_tlb_start) & mask; 311 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; 314 315 /* 316 * For mappings greater than a page, we limit the stride (and ··· 335 index = ALIGN(io_tlb_index, stride); 336 if (index >= io_tlb_nslabs) 337 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 wrap = index; 346 347 do { 348 /* 349 * If we find a slot that indicates we have 'nslots' 350 * number of contiguous buffers, we allocate the ··· 371 372 goto found; 373 } 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)); 380 } while (index != wrap); 381 382 spin_unlock_irqrestore(&io_tlb_lock, flags); 383 return NULL; 384 }
··· 310 start_dma_addr = virt_to_bus(io_tlb_start) & mask; 311 312 offset_slots = ALIGN(start_dma_addr, 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); 316 317 /* 318 * For mappings greater than a page, we limit the stride (and ··· 333 index = ALIGN(io_tlb_index, stride); 334 if (index >= io_tlb_nslabs) 335 index = 0; 336 wrap = index; 337 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 /* 349 * If we find a slot that indicates we have 'nslots' 350 * number of contiguous buffers, we allocate the ··· 367 368 goto found; 369 } 370 + index += stride; 371 + if (index >= io_tlb_nslabs) 372 + index = 0; 373 } while (index != wrap); 374 375 + not_found: 376 spin_unlock_irqrestore(&io_tlb_lock, flags); 377 return NULL; 378 }
+1 -1
net/bluetooth/bnep/bnep.h
··· 174 175 void bnep_net_setup(struct net_device *dev); 176 int bnep_sock_init(void); 177 - int bnep_sock_cleanup(void); 178 179 static inline int bnep_mc_hash(__u8 *addr) 180 {
··· 174 175 void bnep_net_setup(struct net_device *dev); 176 int bnep_sock_init(void); 177 + void bnep_sock_cleanup(void); 178 179 static inline int bnep_mc_hash(__u8 *addr) 180 {
+1 -3
net/bluetooth/bnep/sock.c
··· 257 return err; 258 } 259 260 - int __exit bnep_sock_cleanup(void) 261 { 262 if (bt_sock_unregister(BTPROTO_BNEP) < 0) 263 BT_ERR("Can't unregister BNEP socket"); 264 265 proto_unregister(&bnep_proto); 266 - 267 - return 0; 268 }
··· 257 return err; 258 } 259 260 + void __exit bnep_sock_cleanup(void) 261 { 262 if (bt_sock_unregister(BTPROTO_BNEP) < 0) 263 BT_ERR("Can't unregister BNEP socket"); 264 265 proto_unregister(&bnep_proto); 266 }
+2 -2
net/bluetooth/hci_core.c
··· 902 903 BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type); 904 905 - hci_unregister_sysfs(hdev); 906 - 907 write_lock_bh(&hci_dev_list_lock); 908 list_del(&hdev->list); 909 write_unlock_bh(&hci_dev_list_lock); ··· 912 kfree_skb(hdev->reassembly[i]); 913 914 hci_notify(hdev, HCI_DEV_UNREG); 915 916 __hci_dev_put(hdev); 917
··· 902 903 BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type); 904 905 write_lock_bh(&hci_dev_list_lock); 906 list_del(&hdev->list); 907 write_unlock_bh(&hci_dev_list_lock); ··· 914 kfree_skb(hdev->reassembly[i]); 915 916 hci_notify(hdev, HCI_DEV_UNREG); 917 + 918 + hci_unregister_sysfs(hdev); 919 920 __hci_dev_put(hdev); 921
+1 -3
net/bluetooth/hci_sock.c
··· 734 return err; 735 } 736 737 - int __exit hci_sock_cleanup(void) 738 { 739 if (bt_sock_unregister(BTPROTO_HCI) < 0) 740 BT_ERR("HCI socket unregistration failed"); ··· 742 hci_unregister_notifier(&hci_sock_nblock); 743 744 proto_unregister(&hci_sk_proto); 745 - 746 - return 0; 747 }
··· 734 return err; 735 } 736 737 + void __exit hci_sock_cleanup(void) 738 { 739 if (bt_sock_unregister(BTPROTO_HCI) < 0) 740 BT_ERR("HCI socket unregistration failed"); ··· 742 hci_unregister_notifier(&hci_sock_nblock); 743 744 proto_unregister(&hci_sk_proto); 745 }
+10 -2
net/ipv4/tcp_output.c
··· 1035 * introducing MSS oddities to segment boundaries. In rare cases where 1036 * mss_now != mss_cache, we will request caller to create a small skb 1037 * per input skb which could be mostly avoided here (if desired). 1038 */ 1039 static unsigned int tcp_mss_split_point(struct sock *sk, struct sk_buff *skb, 1040 unsigned int mss_now, unsigned int cwnd) ··· 1055 if (likely(cwnd_len <= window && skb != tcp_write_queue_tail(sk))) 1056 return cwnd_len; 1057 1058 - if (skb == tcp_write_queue_tail(sk) && cwnd_len <= skb->len) 1059 return cwnd_len; 1060 1061 - needed = min(skb->len, window); 1062 return needed - needed % mss_now; 1063 } 1064
··· 1035 * introducing MSS oddities to segment boundaries. In rare cases where 1036 * mss_now != mss_cache, we will request caller to create a small skb 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. 1045 */ 1046 static unsigned int tcp_mss_split_point(struct sock *sk, struct sk_buff *skb, 1047 unsigned int mss_now, unsigned int cwnd) ··· 1048 if (likely(cwnd_len <= window && skb != tcp_write_queue_tail(sk))) 1049 return cwnd_len; 1050 1051 + needed = min(skb->len, window); 1052 + 1053 + if (skb == tcp_write_queue_tail(sk) && cwnd_len <= needed) 1054 return cwnd_len; 1055 1056 return needed - needed % mss_now; 1057 } 1058
+1 -1
net/netfilter/nf_conntrack_expect.c
··· 381 if (nf_ct_expect_count >= nf_ct_expect_max) { 382 if (net_ratelimit()) 383 printk(KERN_WARNING 384 - "nf_conntrack: expectation table full"); 385 ret = -EMFILE; 386 goto out; 387 }
··· 381 if (nf_ct_expect_count >= nf_ct_expect_max) { 382 if (net_ratelimit()) 383 printk(KERN_WARNING 384 + "nf_conntrack: expectation table full\n"); 385 ret = -EMFILE; 386 goto out; 387 }
+3 -16
net/netfilter/nf_conntrack_extend.c
··· 19 static struct nf_ct_ext_type *nf_ct_ext_types[NF_CT_EXT_NUM]; 20 static DEFINE_MUTEX(nf_ct_ext_type_mutex); 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 void __nf_ct_ext_destroy(struct nf_conn *ct) 31 { 32 unsigned int i; ··· 45 static void * 46 nf_ct_ext_create(struct nf_ct_ext **ext, enum nf_ct_ext_id id, gfp_t gfp) 47 { 48 - unsigned int off, len, real_len; 49 struct nf_ct_ext_type *t; 50 51 rcu_read_lock(); ··· 53 BUG_ON(t == NULL); 54 off = ALIGN(sizeof(struct nf_ct_ext), t->align); 55 len = off + t->len; 56 - real_len = t->alloc_size; 57 rcu_read_unlock(); 58 59 - *ext = kzalloc(real_len, gfp); 60 if (!*ext) 61 return NULL; 62 63 (*ext)->offset[id] = off; 64 (*ext)->len = len; 65 - (*ext)->real_len = real_len; 66 67 return (void *)(*ext) + off; 68 } ··· 85 newlen = newoff + t->len; 86 rcu_read_unlock(); 87 88 - if (newlen >= ct->ext->real_len) { 89 new = kmalloc(newlen, gfp); 90 if (!new) 91 return NULL; ··· 104 rcu_read_unlock(); 105 } 106 kfree(ct->ext); 107 - new->real_len = newlen; 108 ct->ext = new; 109 } 110 ··· 145 t1->alloc_size = ALIGN(t1->alloc_size, t2->align) 146 + t2->len; 147 } 148 - if (t1->alloc_size < NF_CT_EXT_MIN_SIZE) 149 - t1->alloc_size = NF_CT_EXT_MIN_SIZE; 150 } 151 } 152
··· 19 static struct nf_ct_ext_type *nf_ct_ext_types[NF_CT_EXT_NUM]; 20 static DEFINE_MUTEX(nf_ct_ext_type_mutex); 21 22 void __nf_ct_ext_destroy(struct nf_conn *ct) 23 { 24 unsigned int i; ··· 53 static void * 54 nf_ct_ext_create(struct nf_ct_ext **ext, enum nf_ct_ext_id id, gfp_t gfp) 55 { 56 + unsigned int off, len; 57 struct nf_ct_ext_type *t; 58 59 rcu_read_lock(); ··· 61 BUG_ON(t == NULL); 62 off = ALIGN(sizeof(struct nf_ct_ext), t->align); 63 len = off + t->len; 64 rcu_read_unlock(); 65 66 + *ext = kzalloc(t->alloc_size, gfp); 67 if (!*ext) 68 return NULL; 69 70 (*ext)->offset[id] = off; 71 (*ext)->len = len; 72 73 return (void *)(*ext) + off; 74 } ··· 95 newlen = newoff + t->len; 96 rcu_read_unlock(); 97 98 + if (newlen >= ksize(ct->ext)) { 99 new = kmalloc(newlen, gfp); 100 if (!new) 101 return NULL; ··· 114 rcu_read_unlock(); 115 } 116 kfree(ct->ext); 117 ct->ext = new; 118 } 119 ··· 156 t1->alloc_size = ALIGN(t1->alloc_size, t2->align) 157 + t2->len; 158 } 159 } 160 } 161
+1 -1
net/netfilter/nf_queue.c
··· 51 return -EINVAL; 52 53 mutex_lock(&queue_handler_mutex); 54 - if (queue_handler[pf] != qh) { 55 mutex_unlock(&queue_handler_mutex); 56 return -EINVAL; 57 }
··· 51 return -EINVAL; 52 53 mutex_lock(&queue_handler_mutex); 54 + if (queue_handler[pf] && queue_handler[pf] != qh) { 55 mutex_unlock(&queue_handler_mutex); 56 return -EINVAL; 57 }
+5 -2
net/netfilter/xt_time.c
··· 95 */ 96 r->dse = time / 86400; 97 98 - /* 1970-01-01 (w=0) was a Thursday (4). */ 99 - r->weekday = (4 + r->dse) % 7; 100 } 101 102 static void localtime_3(struct xtm *r, time_t time)
··· 95 */ 96 r->dse = time / 86400; 97 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; 103 } 104 105 static void localtime_3(struct xtm *r, time_t time)
+2 -1
net/rxrpc/ar-recvmsg.c
··· 143 /* copy the peer address and timestamp */ 144 if (!continue_call) { 145 if (msg->msg_name && msg->msg_namelen > 0) 146 - memcpy(&msg->msg_name, &call->conn->trans->peer->srx, 147 sizeof(call->conn->trans->peer->srx)); 148 sock_recv_timestamp(msg, &rx->sk, skb); 149 }
··· 143 /* copy the peer address and timestamp */ 144 if (!continue_call) { 145 if (msg->msg_name && msg->msg_namelen > 0) 146 + memcpy(msg->msg_name, 147 + &call->conn->trans->peer->srx, 148 sizeof(call->conn->trans->peer->srx)); 149 sock_recv_timestamp(msg, &rx->sk, skb); 150 }
+3 -1
net/sctp/bind_addr.c
··· 209 int sctp_del_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *del_addr) 210 { 211 struct sctp_sockaddr_entry *addr, *temp; 212 213 /* We hold the socket lock when calling this function, 214 * and that acts as a writer synchronizing lock. ··· 217 list_for_each_entry_safe(addr, temp, &bp->address_list, list) { 218 if (sctp_cmp_addr_exact(&addr->a, del_addr)) { 219 /* Found the exact match. */ 220 addr->valid = 0; 221 list_del_rcu(&addr->list); 222 break; 223 } 224 } 225 226 - if (addr && !addr->valid) { 227 call_rcu(&addr->rcu, sctp_local_addr_free); 228 SCTP_DBG_OBJCNT_DEC(addr); 229 return 0;
··· 209 int sctp_del_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *del_addr) 210 { 211 struct sctp_sockaddr_entry *addr, *temp; 212 + int found = 0; 213 214 /* We hold the socket lock when calling this function, 215 * and that acts as a writer synchronizing lock. ··· 216 list_for_each_entry_safe(addr, temp, &bp->address_list, list) { 217 if (sctp_cmp_addr_exact(&addr->a, del_addr)) { 218 /* Found the exact match. */ 219 + found = 1; 220 addr->valid = 0; 221 list_del_rcu(&addr->list); 222 break; 223 } 224 } 225 226 + if (found) { 227 call_rcu(&addr->rcu, sctp_local_addr_free); 228 SCTP_DBG_OBJCNT_DEC(addr); 229 return 0;
+3 -1
net/sctp/ipv6.c
··· 89 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; 90 struct sctp_sockaddr_entry *addr = NULL; 91 struct sctp_sockaddr_entry *temp; 92 93 switch (ev) { 94 case NETDEV_UP: ··· 112 &sctp_local_addr_list, list) { 113 if (ipv6_addr_equal(&addr->a.v6.sin6_addr, 114 &ifa->addr)) { 115 addr->valid = 0; 116 list_del_rcu(&addr->list); 117 break; 118 } 119 } 120 spin_unlock_bh(&sctp_local_addr_lock); 121 - if (addr && !addr->valid) 122 call_rcu(&addr->rcu, sctp_local_addr_free); 123 break; 124 }
··· 89 struct inet6_ifaddr *ifa = (struct inet6_ifaddr *)ptr; 90 struct sctp_sockaddr_entry *addr = NULL; 91 struct sctp_sockaddr_entry *temp; 92 + int found = 0; 93 94 switch (ev) { 95 case NETDEV_UP: ··· 111 &sctp_local_addr_list, list) { 112 if (ipv6_addr_equal(&addr->a.v6.sin6_addr, 113 &ifa->addr)) { 114 + found = 1; 115 addr->valid = 0; 116 list_del_rcu(&addr->list); 117 break; 118 } 119 } 120 spin_unlock_bh(&sctp_local_addr_lock); 121 + if (found) 122 call_rcu(&addr->rcu, sctp_local_addr_free); 123 break; 124 }
+3 -1
net/sctp/protocol.c
··· 628 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; 629 struct sctp_sockaddr_entry *addr = NULL; 630 struct sctp_sockaddr_entry *temp; 631 632 switch (ev) { 633 case NETDEV_UP: ··· 648 list_for_each_entry_safe(addr, temp, 649 &sctp_local_addr_list, list) { 650 if (addr->a.v4.sin_addr.s_addr == ifa->ifa_local) { 651 addr->valid = 0; 652 list_del_rcu(&addr->list); 653 break; 654 } 655 } 656 spin_unlock_bh(&sctp_local_addr_lock); 657 - if (addr && !addr->valid) 658 call_rcu(&addr->rcu, sctp_local_addr_free); 659 break; 660 }
··· 628 struct in_ifaddr *ifa = (struct in_ifaddr *)ptr; 629 struct sctp_sockaddr_entry *addr = NULL; 630 struct sctp_sockaddr_entry *temp; 631 + int found = 0; 632 633 switch (ev) { 634 case NETDEV_UP: ··· 647 list_for_each_entry_safe(addr, temp, 648 &sctp_local_addr_list, list) { 649 if (addr->a.v4.sin_addr.s_addr == ifa->ifa_local) { 650 + found = 1; 651 addr->valid = 0; 652 list_del_rcu(&addr->list); 653 break; 654 } 655 } 656 spin_unlock_bh(&sctp_local_addr_lock); 657 + if (found) 658 call_rcu(&addr->rcu, sctp_local_addr_free); 659 break; 660 }
+8
net/sctp/sm_make_chunk.c
··· 2375 asoc->peer.ipv4_address = 0; 2376 asoc->peer.ipv6_address = 0; 2377 2378 /* Cycle through address types; avoid divide by 0. */ 2379 sat = ntohs(param.p->length) - sizeof(sctp_paramhdr_t); 2380 if (sat)
··· 2375 asoc->peer.ipv4_address = 0; 2376 asoc->peer.ipv6_address = 0; 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 + 2386 /* Cycle through address types; avoid divide by 0. */ 2387 sat = ntohs(param.p->length) - sizeof(sctp_paramhdr_t); 2388 if (sat)
+62 -15
net/sctp/socket.c
··· 2933 char __user *optval, 2934 int optlen) 2935 { 2936 int val; 2937 2938 - if (optlen != sizeof(int)) 2939 - return -EINVAL; 2940 - if (get_user(val, (int __user *)optval)) 2941 - return -EFAULT; 2942 - 2943 - if (val < 0) 2944 return -EINVAL; 2945 2946 - sctp_sk(sk)->max_burst = val; 2947 2948 return 0; 2949 } ··· 5027 char __user *optval, 5028 int __user *optlen) 5029 { 5030 - int val; 5031 5032 if (len < sizeof(int)) 5033 return -EINVAL; 5034 5035 - len = sizeof(int); 5036 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; 5042 5043 - return -ENOTSUPP; 5044 } 5045 5046 static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
··· 2933 char __user *optval, 2934 int optlen) 2935 { 2936 + struct sctp_assoc_value params; 2937 + struct sctp_sock *sp; 2938 + struct sctp_association *asoc; 2939 int val; 2940 + int assoc_id = 0; 2941 2942 + if (optlen < sizeof(int)) 2943 return -EINVAL; 2944 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; 2969 2970 return 0; 2971 } ··· 5005 char __user *optval, 5006 int __user *optlen) 5007 { 5008 + struct sctp_assoc_value params; 5009 + struct sctp_sock *sp; 5010 + struct sctp_association *asoc; 5011 5012 if (len < sizeof(int)) 5013 return -EINVAL; 5014 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; 5026 5027 + sp = sctp_sk(sk); 5028 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 + 5047 } 5048 5049 static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
+1 -1
net/sunrpc/xprtrdma/svc_rdma_sendto.c
··· 156 struct svc_rdma_op_ctxt *ctxt; 157 int ret = 0; 158 159 - BUG_ON(sge_count >= 32); 160 dprintk("svcrdma: RDMA_WRITE rmr=%x, to=%llx, xdr_off=%d, " 161 "write_len=%d, xdr_sge=%p, sge_count=%d\n", 162 rmr, (unsigned long long)to, xdr_off,
··· 156 struct svc_rdma_op_ctxt *ctxt; 157 int ret = 0; 158 159 + BUG_ON(sge_count > RPCSVC_MAXPAGES); 160 dprintk("svcrdma: RDMA_WRITE rmr=%x, to=%llx, xdr_off=%d, " 161 "write_len=%d, xdr_sge=%p, sge_count=%d\n", 162 rmr, (unsigned long long)to, xdr_off,
+62 -42
net/sunrpc/xprtrdma/svc_rdma_transport.c
··· 54 int flags); 55 static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt); 56 static void svc_rdma_release_rqst(struct svc_rqst *); 57 - static void rdma_destroy_xprt(struct svcxprt_rdma *xprt); 58 static void dto_tasklet_func(unsigned long data); 59 static void svc_rdma_detach(struct svc_xprt *xprt); 60 static void svc_rdma_free(struct svc_xprt *xprt); ··· 246 sq_cq_reap(xprt); 247 } 248 249 spin_lock_irqsave(&dto_lock, flags); 250 } 251 spin_unlock_irqrestore(&dto_lock, flags); ··· 275 * add it 276 */ 277 spin_lock_irqsave(&dto_lock, flags); 278 - if (list_empty(&xprt->sc_dto_q)) 279 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 280 spin_unlock_irqrestore(&dto_lock, flags); 281 282 /* Tasklet does all the work to avoid irqsave locks. */ ··· 388 * add it 389 */ 390 spin_lock_irqsave(&dto_lock, flags); 391 - if (list_empty(&xprt->sc_dto_q)) 392 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 393 spin_unlock_irqrestore(&dto_lock, flags); 394 395 /* Tasklet does all the work to avoid irqsave locks. */ ··· 615 switch (event->event) { 616 case RDMA_CM_EVENT_ESTABLISHED: 617 /* Accept complete */ 618 dprintk("svcrdma: Connection completed on DTO xprt=%p, " 619 "cm_id=%p\n", xprt, cma_id); 620 clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags); ··· 666 667 listen_id = rdma_create_id(rdma_listen_handler, cma_xprt, RDMA_PS_TCP); 668 if (IS_ERR(listen_id)) { 669 - rdma_destroy_xprt(cma_xprt); 670 dprintk("svcrdma: rdma_create_id failed = %ld\n", 671 PTR_ERR(listen_id)); 672 return (void *)listen_id; 673 } 674 ret = rdma_bind_addr(listen_id, sa); 675 if (ret) { 676 - rdma_destroy_xprt(cma_xprt); 677 rdma_destroy_id(listen_id); 678 dprintk("svcrdma: rdma_bind_addr failed = %d\n", ret); 679 return ERR_PTR(ret); 680 } ··· 683 ret = rdma_listen(listen_id, RPCRDMA_LISTEN_BACKLOG); 684 if (ret) { 685 rdma_destroy_id(listen_id); 686 - rdma_destroy_xprt(cma_xprt); 687 dprintk("svcrdma: rdma_listen failed = %d\n", ret); 688 } 689 690 /* ··· 826 newxprt->sc_sq_depth = qp_attr.cap.max_send_wr; 827 newxprt->sc_max_requests = qp_attr.cap.max_recv_wr; 828 } 829 newxprt->sc_qp = newxprt->sc_cm_id->qp; 830 831 /* Register all of physical memory */ ··· 898 899 errout: 900 dprintk("svcrdma: failure accepting new connection rc=%d.\n", ret); 901 rdma_destroy_id(newxprt->sc_cm_id); 902 - rdma_destroy_xprt(newxprt); 903 return NULL; 904 } 905 ··· 933 rqstp->rq_xprt_ctxt = NULL; 934 } 935 936 - /* Disable data ready events for this connection */ 937 static void svc_rdma_detach(struct svc_xprt *xprt) 938 { 939 struct svcxprt_rdma *rdma = 940 container_of(xprt, struct svcxprt_rdma, sc_xprt); 941 - unsigned long flags; 942 - 943 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 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); 956 } 957 958 static void svc_rdma_free(struct svc_xprt *xprt) 959 { 960 struct svcxprt_rdma *rdma = (struct svcxprt_rdma *)xprt; 961 dprintk("svcrdma: svc_rdma_free(%p)\n", rdma); 962 - rdma_destroy_xprt(rdma); 963 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 } 985 986 static int svc_rdma_has_wspace(struct svc_xprt *xprt)
··· 54 int flags); 55 static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt); 56 static void svc_rdma_release_rqst(struct svc_rqst *); 57 static void dto_tasklet_func(unsigned long data); 58 static void svc_rdma_detach(struct svc_xprt *xprt); 59 static void svc_rdma_free(struct svc_xprt *xprt); ··· 247 sq_cq_reap(xprt); 248 } 249 250 + svc_xprt_put(&xprt->sc_xprt); 251 spin_lock_irqsave(&dto_lock, flags); 252 } 253 spin_unlock_irqrestore(&dto_lock, flags); ··· 275 * add it 276 */ 277 spin_lock_irqsave(&dto_lock, flags); 278 + if (list_empty(&xprt->sc_dto_q)) { 279 + svc_xprt_get(&xprt->sc_xprt); 280 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 281 + } 282 spin_unlock_irqrestore(&dto_lock, flags); 283 284 /* Tasklet does all the work to avoid irqsave locks. */ ··· 386 * add it 387 */ 388 spin_lock_irqsave(&dto_lock, flags); 389 + if (list_empty(&xprt->sc_dto_q)) { 390 + svc_xprt_get(&xprt->sc_xprt); 391 list_add_tail(&xprt->sc_dto_q, &dto_xprt_q); 392 + } 393 spin_unlock_irqrestore(&dto_lock, flags); 394 395 /* Tasklet does all the work to avoid irqsave locks. */ ··· 611 switch (event->event) { 612 case RDMA_CM_EVENT_ESTABLISHED: 613 /* Accept complete */ 614 + svc_xprt_get(xprt); 615 dprintk("svcrdma: Connection completed on DTO xprt=%p, " 616 "cm_id=%p\n", xprt, cma_id); 617 clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags); ··· 661 662 listen_id = rdma_create_id(rdma_listen_handler, cma_xprt, RDMA_PS_TCP); 663 if (IS_ERR(listen_id)) { 664 + svc_xprt_put(&cma_xprt->sc_xprt); 665 dprintk("svcrdma: rdma_create_id failed = %ld\n", 666 PTR_ERR(listen_id)); 667 return (void *)listen_id; 668 } 669 ret = rdma_bind_addr(listen_id, sa); 670 if (ret) { 671 rdma_destroy_id(listen_id); 672 + svc_xprt_put(&cma_xprt->sc_xprt); 673 dprintk("svcrdma: rdma_bind_addr failed = %d\n", ret); 674 return ERR_PTR(ret); 675 } ··· 678 ret = rdma_listen(listen_id, RPCRDMA_LISTEN_BACKLOG); 679 if (ret) { 680 rdma_destroy_id(listen_id); 681 + svc_xprt_put(&cma_xprt->sc_xprt); 682 dprintk("svcrdma: rdma_listen failed = %d\n", ret); 683 + return ERR_PTR(ret); 684 } 685 686 /* ··· 820 newxprt->sc_sq_depth = qp_attr.cap.max_send_wr; 821 newxprt->sc_max_requests = qp_attr.cap.max_recv_wr; 822 } 823 + svc_xprt_get(&newxprt->sc_xprt); 824 newxprt->sc_qp = newxprt->sc_cm_id->qp; 825 826 /* Register all of physical memory */ ··· 891 892 errout: 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 + } 900 rdma_destroy_id(newxprt->sc_cm_id); 901 + /* This call to put will destroy the transport */ 902 + svc_xprt_put(&newxprt->sc_xprt); 903 return NULL; 904 } 905 ··· 919 rqstp->rq_xprt_ctxt = NULL; 920 } 921 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 static void svc_rdma_detach(struct svc_xprt *xprt) 938 { 939 struct svcxprt_rdma *rdma = 940 container_of(xprt, struct svcxprt_rdma, sc_xprt); 941 dprintk("svc: svc_rdma_detach(%p)\n", xprt); 942 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); 954 } 955 956 static void svc_rdma_free(struct svc_xprt *xprt) 957 { 958 struct svcxprt_rdma *rdma = (struct svcxprt_rdma *)xprt; 959 dprintk("svcrdma: svc_rdma_free(%p)\n", 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); 975 kfree(rdma); 976 } 977 978 static int svc_rdma_has_wspace(struct svc_xprt *xprt)
+4
scripts/kernel-doc
··· 247 my ($type,$declaration_name,$return_type); 248 my ($newsection,$newcontents,$prototype,$filelist, $brcount, %source_map); 249 250 # Generated docbook code is inserted in a template at a point where 251 # docbook v3.1 requires a non-zero sequence of RefEntry's; see: 252 # http://www.oasis-open.org/docbook/documentation/reference/html/refentry.html
··· 247 my ($type,$declaration_name,$return_type); 248 my ($newsection,$newcontents,$prototype,$filelist, $brcount, %source_map); 249 250 + if (defined($ENV{'KBUILD_VERBOSE'})) { 251 + $verbose = "$ENV{'KBUILD_VERBOSE'}"; 252 + } 253 + 254 # Generated docbook code is inserted in a template at a point where 255 # docbook v3.1 requires a non-zero sequence of RefEntry's; see: 256 # http://www.oasis-open.org/docbook/documentation/reference/html/refentry.html
-8
security/smack/smack.h
··· 26 #define SMK_MAXLEN 23 27 #define SMK_LABELLEN (SMK_MAXLEN+1) 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 struct superblock_smack { 38 char *smk_root; 39 char *smk_floor;
··· 26 #define SMK_MAXLEN 23 27 #define SMK_LABELLEN (SMK_MAXLEN+1) 28 29 struct superblock_smack { 30 char *smk_root; 31 char *smk_floor;
+20 -11
security/smack/smackfs.c
··· 81 /* 82 * Values for parsing cipso rules 83 * SMK_DIGITLEN: Length of a digit field in a rule. 84 - * SMK_CIPSOMEN: Minimum possible cipso rule length. 85 */ 86 #define SMK_DIGITLEN 4 87 - #define SMK_CIPSOMIN (SMK_MAXLEN + 2 * SMK_DIGITLEN) 88 89 /* 90 * Seq_file read operations for /smack/load ··· 242 * The format is exactly: 243 * char subject[SMK_LABELLEN] 244 * char object[SMK_LABELLEN] 245 - * char access[SMK_ACCESSKINDS] 246 * 247 - * Anything following is commentary and ignored. 248 - * 249 - * writes must be SMK_LABELLEN+SMK_LABELLEN+4 bytes. 250 */ 251 - #define MINIMUM_LOAD (SMK_LABELLEN + SMK_LABELLEN + SMK_ACCESSKINDS) 252 - 253 static ssize_t smk_write_load(struct file *file, const char __user *buf, 254 size_t count, loff_t *ppos) 255 { ··· 262 return -EPERM; 263 if (*ppos != 0) 264 return -EINVAL; 265 - if (count < MINIMUM_LOAD) 266 return -EINVAL; 267 268 data = kzalloc(count, GFP_KERNEL); ··· 522 return -EPERM; 523 if (*ppos != 0) 524 return -EINVAL; 525 - if (count <= SMK_CIPSOMIN) 526 return -EINVAL; 527 528 data = kzalloc(count + 1, GFP_KERNEL); ··· 556 if (ret != 1 || catlen > SMACK_CIPSO_MAXCATNUM) 557 goto out; 558 559 - if (count <= (SMK_CIPSOMIN + catlen * SMK_DIGITLEN)) 560 goto out; 561 562 memset(mapcatset, 0, sizeof(mapcatset));
··· 81 /* 82 * Values for parsing cipso rules 83 * SMK_DIGITLEN: Length of a digit field in a rule. 84 + * SMK_CIPSOMIN: Minimum possible cipso rule length. 85 + * SMK_CIPSOMAX: Maximum possible cipso rule length. 86 */ 87 #define SMK_DIGITLEN 4 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 + 101 102 /* 103 * Seq_file read operations for /smack/load ··· 229 * The format is exactly: 230 * char subject[SMK_LABELLEN] 231 * char object[SMK_LABELLEN] 232 + * char access[SMK_ACCESSLEN] 233 * 234 + * writes must be SMK_LABELLEN+SMK_LABELLEN+SMK_ACCESSLEN bytes. 235 */ 236 static ssize_t smk_write_load(struct file *file, const char __user *buf, 237 size_t count, loff_t *ppos) 238 { ··· 253 return -EPERM; 254 if (*ppos != 0) 255 return -EINVAL; 256 + if (count != SMK_LOADLEN) 257 return -EINVAL; 258 259 data = kzalloc(count, GFP_KERNEL); ··· 513 return -EPERM; 514 if (*ppos != 0) 515 return -EINVAL; 516 + if (count < SMK_CIPSOMIN || count > SMK_CIPSOMAX) 517 return -EINVAL; 518 519 data = kzalloc(count + 1, GFP_KERNEL); ··· 547 if (ret != 1 || catlen > SMACK_CIPSO_MAXCATNUM) 548 goto out; 549 550 + if (count != (SMK_CIPSOMIN + catlen * SMK_DIGITLEN)) 551 goto out; 552 553 memset(mapcatset, 0, sizeof(mapcatset));