···11#22# Automatically generated make config: don't edit33-# Linux kernel version: 2.6.14-rc344-# Sun Oct 9 15:46:42 200533+# Linux kernel version: 2.6.15-rc244+# Mon Nov 28 10:30:09 200555#66CONFIG_ARM=y77CONFIG_MMU=y···6464CONFIG_KMOD=y65656666#6767+# Block layer6868+#6969+7070+#7171+# IO Schedulers7272+#7373+CONFIG_IOSCHED_NOOP=y7474+CONFIG_IOSCHED_AS=y7575+CONFIG_IOSCHED_DEADLINE=y7676+CONFIG_IOSCHED_CFQ=y7777+CONFIG_DEFAULT_AS=y7878+# CONFIG_DEFAULT_DEADLINE is not set7979+# CONFIG_DEFAULT_CFQ is not set8080+# CONFIG_DEFAULT_NOOP is not set8181+CONFIG_DEFAULT_IOSCHED="anticipatory"8282+8383+#6784# System Type6885#6986# CONFIG_ARCH_CLPS7500 is not set···10285# CONFIG_ARCH_LH7A40X is not set10386# CONFIG_ARCH_OMAP is not set10487# CONFIG_ARCH_VERSATILE is not set8888+# CONFIG_ARCH_REALVIEW is not set10589# CONFIG_ARCH_IMX is not set10690# CONFIG_ARCH_H720X is not set10791# CONFIG_ARCH_AAEC2000 is not set···11698CONFIG_PXA_SHARPSL=y11799CONFIG_PXA_SHARPSL_25x=y118100# CONFIG_PXA_SHARPSL_27x is not set119119-# CONFIG_MACH_POODLE is not set101101+CONFIG_MACH_POODLE=y120102CONFIG_MACH_CORGI=y121103CONFIG_MACH_SHEPHERD=y122104CONFIG_MACH_HUSKY=y105105+CONFIG_MACH_TOSA=y123106CONFIG_PXA25x=y124107CONFIG_PXA_SHARP_C7xx=y108108+CONFIG_PXA_SSP=y125109126110#127111# Processor Type···175155CONFIG_FLATMEM=y176156CONFIG_FLAT_NODE_MEM_MAP=y177157# CONFIG_SPARSEMEM_STATIC is not set158158+CONFIG_SPLIT_PTLOCK_CPUS=4096178159CONFIG_ALIGNMENT_TRAP=y179160180161#···256235CONFIG_IPV6_TUNNEL=m257236CONFIG_NETFILTER=y258237# CONFIG_NETFILTER_DEBUG is not set238238+239239+#240240+# Core Netfilter Configuration241241+#259242# CONFIG_NETFILTER_NETLINK is not set260243261244#···381356# CONFIG_NET_DIVERT is not set382357# CONFIG_ECONET is not set383358# CONFIG_WAN_ROUTER is not set359359+360360+#361361+# QoS and/or fair queueing362362+#384363# CONFIG_NET_SCHED is not set385364CONFIG_NET_CLS_ROUTE=y386365···442413# CONFIG_SMC_IRCC_FIR is not set443414# CONFIG_ALI_FIR is not set444415# CONFIG_VIA_FIR is not set416416+CONFIG_PXA_FICP=m445417CONFIG_BT=m446418CONFIG_BT_L2CAP=m447419CONFIG_BT_SCO=m···461431CONFIG_BT_HCIUART=m462432CONFIG_BT_HCIUART_H4=y463433CONFIG_BT_HCIUART_BCSP=y464464-CONFIG_BT_HCIUART_BCSP_TXCRC=y465434CONFIG_BT_HCIBCM203X=m466435CONFIG_BT_HCIBPA10X=m467436CONFIG_BT_HCIBFUSB=m···488459# CONFIG_DEBUG_DRIVER is not set489460490461#462462+# Connector - unified userspace <-> kernelspace linker463463+#464464+# CONFIG_CONNECTOR is not set465465+466466+#491467# Memory Technology Devices (MTD)492468#493469CONFIG_MTD=y···511477# CONFIG_FTL is not set512478# CONFIG_NFTL is not set513479# CONFIG_INFTL is not set480480+# CONFIG_RFD_FTL is not set514481515482#516483# RAM/ROM/Flash chip drivers···567532# CONFIG_MTD_NAND_NANDSIM is not set568533569534#535535+# OneNAND Flash Device Drivers536536+#537537+# CONFIG_MTD_ONENAND is not set538538+539539+#570540# Parallel port support571541#572542# CONFIG_PARPORT is not set···591551# CONFIG_BLK_DEV_RAM is not set592552CONFIG_BLK_DEV_RAM_COUNT=16593553# CONFIG_CDROM_PKTCDVD is not set594594-595595-#596596-# IO Schedulers597597-#598598-CONFIG_IOSCHED_NOOP=y599599-CONFIG_IOSCHED_AS=y600600-CONFIG_IOSCHED_DEADLINE=y601601-CONFIG_IOSCHED_CFQ=y602554# CONFIG_ATA_OVER_ETH is not set603555604556#···657625#658626# SCSI low-level drivers659627#628628+# CONFIG_ISCSI_TCP is not set660629# CONFIG_SCSI_SATA is not set661630# CONFIG_SCSI_DEBUG is not set662631···781748# CONFIG_PPP_SYNC_TTY is not set782749# CONFIG_PPP_DEFLATE is not set783750CONFIG_PPP_BSDCOMP=m751751+# CONFIG_PPP_MPPE is not set784752# CONFIG_PPPOE is not set785753# CONFIG_SLIP is not set786754# CONFIG_SHAPER is not set···884850# PCMCIA character devices885851#886852# CONFIG_SYNCLINK_CS is not set853853+# CONFIG_CARDMAN_4000 is not set854854+# CONFIG_CARDMAN_4040 is not set887855# CONFIG_RAW_DRIVER is not set888856889857#890858# TPM devices891859#860860+# CONFIG_TCG_TPM is not set861861+# CONFIG_TELCLOCK is not set892862893863#894864# I2C support···927889# CONFIG_SENSORS_PCF8591 is not set928890# CONFIG_SENSORS_RTC8564 is not set929891# CONFIG_SENSORS_MAX6875 is not set892892+# CONFIG_RTC_X1205_I2C is not set930893# CONFIG_I2C_DEBUG_CORE is not set931894# CONFIG_I2C_DEBUG_ALGO is not set932895# CONFIG_I2C_DEBUG_BUS is not set···996957# CONFIG_VIDEO_SAA5246A is not set997958# CONFIG_VIDEO_SAA5249 is not set998959# CONFIG_TUNER_3036 is not set960960+# CONFIG_VIDEO_EM28XX is not set999961# CONFIG_VIDEO_OVCAMCHIP is not set962962+# CONFIG_VIDEO_AUDIO_DECODER is not set963963+# CONFIG_VIDEO_DECODER is not set10009641001965#1002966# Radio Adapters···1018976CONFIG_FB_CFB_FILLRECT=y1019977CONFIG_FB_CFB_COPYAREA=y1020978CONFIG_FB_CFB_IMAGEBLIT=y10211021-CONFIG_FB_SOFT_CURSOR=y1022979# CONFIG_FB_MACMODES is not set1023980# CONFIG_FB_MODE_HELPERS is not set1024981# CONFIG_FB_TILEBLITTING is not set982982+# CONFIG_FB_S1D13XXX is not set1025983# CONFIG_FB_PXA is not set1026984CONFIG_FB_W100=y10271027-# CONFIG_FB_S1D13XXX is not set1028985# CONFIG_FB_VIRTUAL is not set10299861030987#···1032991# CONFIG_VGA_CONSOLE is not set1033992CONFIG_DUMMY_CONSOLE=y1034993CONFIG_FRAMEBUFFER_CONSOLE=y994994+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set1035995CONFIG_FONTS=y1036996CONFIG_FONT_8x8=y1037997CONFIG_FONT_8x16=y···11291087# USB Device Class drivers11301088#11311089# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set11321132-11331133-#11341134-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem11351135-#11361090CONFIG_USB_ACM=m11371091CONFIG_USB_PRINTER=m1138109211391093#11401140-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information10941094+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'10951095+#10961096+10971097+#10981098+# may also be needed; see USB_STORAGE Help for more information11411099#11421100CONFIG_USB_STORAGE=m11431101# CONFIG_USB_STORAGE_DEBUG is not set···11491107# CONFIG_USB_STORAGE_SDDR09 is not set11501108# CONFIG_USB_STORAGE_SDDR55 is not set11511109# CONFIG_USB_STORAGE_JUMPSHOT is not set11521152-# CONFIG_USB_STORAGE_ONETOUCH is not set1153111011541111#11551112# USB Input Devices···12261185CONFIG_USB_SERIAL=m12271186CONFIG_USB_SERIAL_GENERIC=y12281187# CONFIG_USB_SERIAL_AIRPRIME is not set11881188+# CONFIG_USB_SERIAL_ANYDATA is not set12291189CONFIG_USB_SERIAL_BELKIN=m12301190# CONFIG_USB_SERIAL_WHITEHEAT is not set12311191CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m···13821340CONFIG_JFFS2_FS=y13831341CONFIG_JFFS2_FS_DEBUG=013841342CONFIG_JFFS2_FS_WRITEBUFFER=y13431343+CONFIG_JFFS2_SUMMARY=y13851344CONFIG_JFFS2_COMPRESSION_OPTIONS=y13861345CONFIG_JFFS2_ZLIB=y13871346CONFIG_JFFS2_RTIME=y···15091466CONFIG_DEBUG_BUGVERBOSE=y15101467# CONFIG_DEBUG_INFO is not set15111468# CONFIG_DEBUG_FS is not set14691469+# CONFIG_DEBUG_VM is not set15121470CONFIG_FRAME_POINTER=y14711471+# CONFIG_RCU_TORTURE_TEST is not set15131472# CONFIG_DEBUG_USER is not set15141473# CONFIG_DEBUG_WAITQ is not set15151474CONFIG_DEBUG_ERRORS=y
-1015
arch/arm/configs/poodle_defconfig
···11-#22-# Automatically generated make config: don't edit33-# Linux kernel version: 2.6.14-rc344-# Sun Oct 9 17:04:29 200555-#66-CONFIG_ARM=y77-CONFIG_MMU=y88-CONFIG_UID16=y99-CONFIG_RWSEM_GENERIC_SPINLOCK=y1010-CONFIG_GENERIC_CALIBRATE_DELAY=y1111-1212-#1313-# Code maturity level options1414-#1515-CONFIG_EXPERIMENTAL=y1616-CONFIG_CLEAN_COMPILE=y1717-CONFIG_BROKEN_ON_SMP=y1818-CONFIG_LOCK_KERNEL=y1919-CONFIG_INIT_ENV_ARG_LIMIT=322020-2121-#2222-# General setup2323-#2424-CONFIG_LOCALVERSION=""2525-CONFIG_LOCALVERSION_AUTO=y2626-CONFIG_SWAP=y2727-CONFIG_SYSVIPC=y2828-# CONFIG_POSIX_MQUEUE is not set2929-CONFIG_BSD_PROCESS_ACCT=y3030-# CONFIG_BSD_PROCESS_ACCT_V3 is not set3131-CONFIG_SYSCTL=y3232-# CONFIG_AUDIT is not set3333-CONFIG_HOTPLUG=y3434-CONFIG_KOBJECT_UEVENT=y3535-# CONFIG_IKCONFIG is not set3636-CONFIG_INITRAMFS_SOURCE=""3737-CONFIG_EMBEDDED=y3838-CONFIG_KALLSYMS=y3939-# CONFIG_KALLSYMS_ALL is not set4040-# CONFIG_KALLSYMS_EXTRA_PASS is not set4141-CONFIG_PRINTK=y4242-CONFIG_BUG=y4343-CONFIG_BASE_FULL=y4444-CONFIG_FUTEX=y4545-CONFIG_EPOLL=y4646-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set4747-CONFIG_SHMEM=y4848-CONFIG_CC_ALIGN_FUNCTIONS=04949-CONFIG_CC_ALIGN_LABELS=05050-CONFIG_CC_ALIGN_LOOPS=05151-CONFIG_CC_ALIGN_JUMPS=05252-# CONFIG_TINY_SHMEM is not set5353-CONFIG_BASE_SMALL=05454-5555-#5656-# Loadable module support5757-#5858-CONFIG_MODULES=y5959-CONFIG_MODULE_UNLOAD=y6060-CONFIG_MODULE_FORCE_UNLOAD=y6161-CONFIG_OBSOLETE_MODPARM=y6262-CONFIG_MODVERSIONS=y6363-# CONFIG_MODULE_SRCVERSION_ALL is not set6464-CONFIG_KMOD=y6565-6666-#6767-# System Type6868-#6969-# CONFIG_ARCH_CLPS7500 is not set7070-# CONFIG_ARCH_CLPS711X is not set7171-# CONFIG_ARCH_CO285 is not set7272-# CONFIG_ARCH_EBSA110 is not set7373-# CONFIG_ARCH_CAMELOT is not set7474-# CONFIG_ARCH_FOOTBRIDGE is not set7575-# CONFIG_ARCH_INTEGRATOR is not set7676-# CONFIG_ARCH_IOP3XX is not set7777-# CONFIG_ARCH_IXP4XX is not set7878-# CONFIG_ARCH_IXP2000 is not set7979-# CONFIG_ARCH_L7200 is not set8080-CONFIG_ARCH_PXA=y8181-# CONFIG_ARCH_RPC is not set8282-# CONFIG_ARCH_SA1100 is not set8383-# CONFIG_ARCH_S3C2410 is not set8484-# CONFIG_ARCH_SHARK is not set8585-# CONFIG_ARCH_LH7A40X is not set8686-# CONFIG_ARCH_OMAP is not set8787-# CONFIG_ARCH_VERSATILE is not set8888-# CONFIG_ARCH_IMX is not set8989-# CONFIG_ARCH_H720X is not set9090-# CONFIG_ARCH_AAEC2000 is not set9191-9292-#9393-# Intel PXA2xx Implementations9494-#9595-# CONFIG_ARCH_LUBBOCK is not set9696-# CONFIG_MACH_MAINSTONE is not set9797-# CONFIG_ARCH_PXA_IDP is not set9898-CONFIG_PXA_SHARPSL=y9999-CONFIG_PXA_SHARPSL_25x=y100100-# CONFIG_PXA_SHARPSL_27x is not set101101-CONFIG_MACH_POODLE=y102102-# CONFIG_MACH_CORGI is not set103103-# CONFIG_MACH_SHEPHERD is not set104104-# CONFIG_MACH_HUSKY is not set105105-CONFIG_PXA25x=y106106-107107-#108108-# Processor Type109109-#110110-CONFIG_CPU_32=y111111-CONFIG_CPU_XSCALE=y112112-CONFIG_CPU_32v5=y113113-CONFIG_CPU_ABRT_EV5T=y114114-CONFIG_CPU_CACHE_VIVT=y115115-CONFIG_CPU_TLB_V4WBI=y116116-117117-#118118-# Processor Features119119-#120120-CONFIG_ARM_THUMB=y121121-CONFIG_XSCALE_PMU=y122122-CONFIG_SHARP_LOCOMO=y123123-CONFIG_SHARP_PARAM=y124124-CONFIG_SHARP_SCOOP=y125125-126126-#127127-# Bus support128128-#129129-CONFIG_ISA_DMA_API=y130130-131131-#132132-# PCCARD (PCMCIA/CardBus) support133133-#134134-CONFIG_PCCARD=y135135-# CONFIG_PCMCIA_DEBUG is not set136136-CONFIG_PCMCIA=y137137-CONFIG_PCMCIA_LOAD_CIS=y138138-CONFIG_PCMCIA_IOCTL=y139139-140140-#141141-# PC-card bridges142142-#143143-CONFIG_PCMCIA_PXA2XX=y144144-145145-#146146-# Kernel Features147147-#148148-CONFIG_PREEMPT=y149149-# CONFIG_NO_IDLE_HZ is not set150150-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set151151-CONFIG_SELECT_MEMORY_MODEL=y152152-CONFIG_FLATMEM_MANUAL=y153153-# CONFIG_DISCONTIGMEM_MANUAL is not set154154-# CONFIG_SPARSEMEM_MANUAL is not set155155-CONFIG_FLATMEM=y156156-CONFIG_FLAT_NODE_MEM_MAP=y157157-# CONFIG_SPARSEMEM_STATIC is not set158158-CONFIG_ALIGNMENT_TRAP=y159159-160160-#161161-# Boot options162162-#163163-CONFIG_ZBOOT_ROM_TEXT=0x0164164-CONFIG_ZBOOT_ROM_BSS=0x0165165-CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug"166166-# CONFIG_XIP_KERNEL is not set167167-168168-#169169-# Floating point emulation170170-#171171-172172-#173173-# At least one emulation must be selected174174-#175175-CONFIG_FPE_NWFPE=y176176-# CONFIG_FPE_NWFPE_XP is not set177177-# CONFIG_FPE_FASTFPE is not set178178-179179-#180180-# Userspace binary formats181181-#182182-CONFIG_BINFMT_ELF=y183183-CONFIG_BINFMT_AOUT=m184184-CONFIG_BINFMT_MISC=m185185-# CONFIG_ARTHUR is not set186186-187187-#188188-# Power management options189189-#190190-CONFIG_PM=y191191-CONFIG_APM=y192192-193193-#194194-# Networking195195-#196196-CONFIG_NET=y197197-198198-#199199-# Networking options200200-#201201-CONFIG_PACKET=y202202-CONFIG_PACKET_MMAP=y203203-CONFIG_UNIX=y204204-# CONFIG_NET_KEY is not set205205-CONFIG_INET=y206206-# CONFIG_IP_MULTICAST is not set207207-# CONFIG_IP_ADVANCED_ROUTER is not set208208-CONFIG_IP_FIB_HASH=y209209-# CONFIG_IP_PNP is not set210210-# CONFIG_NET_IPIP is not set211211-# CONFIG_NET_IPGRE is not set212212-# CONFIG_ARPD is not set213213-CONFIG_SYN_COOKIES=y214214-# CONFIG_INET_AH is not set215215-# CONFIG_INET_ESP is not set216216-# CONFIG_INET_IPCOMP is not set217217-# CONFIG_INET_TUNNEL is not set218218-CONFIG_INET_DIAG=y219219-CONFIG_INET_TCP_DIAG=y220220-# CONFIG_TCP_CONG_ADVANCED is not set221221-CONFIG_TCP_CONG_BIC=y222222-# CONFIG_IPV6 is not set223223-# CONFIG_NETFILTER is not set224224-225225-#226226-# DCCP Configuration (EXPERIMENTAL)227227-#228228-# CONFIG_IP_DCCP is not set229229-230230-#231231-# SCTP Configuration (EXPERIMENTAL)232232-#233233-# CONFIG_IP_SCTP is not set234234-# CONFIG_ATM is not set235235-# CONFIG_BRIDGE is not set236236-# CONFIG_VLAN_8021Q is not set237237-# CONFIG_DECNET is not set238238-# CONFIG_LLC2 is not set239239-# CONFIG_IPX is not set240240-# CONFIG_ATALK is not set241241-# CONFIG_X25 is not set242242-# CONFIG_LAPB is not set243243-# CONFIG_NET_DIVERT is not set244244-# CONFIG_ECONET is not set245245-# CONFIG_WAN_ROUTER is not set246246-# CONFIG_NET_SCHED is not set247247-# CONFIG_NET_CLS_ROUTE is not set248248-249249-#250250-# Network testing251251-#252252-# CONFIG_NET_PKTGEN is not set253253-# CONFIG_HAMRADIO is not set254254-# CONFIG_IRDA is not set255255-# CONFIG_BT is not set256256-# CONFIG_IEEE80211 is not set257257-258258-#259259-# Device Drivers260260-#261261-262262-#263263-# Generic Driver Options264264-#265265-CONFIG_STANDALONE=y266266-CONFIG_PREVENT_FIRMWARE_BUILD=y267267-CONFIG_FW_LOADER=y268268-# CONFIG_DEBUG_DRIVER is not set269269-270270-#271271-# Memory Technology Devices (MTD)272272-#273273-CONFIG_MTD=y274274-# CONFIG_MTD_DEBUG is not set275275-# CONFIG_MTD_CONCAT is not set276276-CONFIG_MTD_PARTITIONS=y277277-# CONFIG_MTD_REDBOOT_PARTS is not set278278-# CONFIG_MTD_CMDLINE_PARTS is not set279279-# CONFIG_MTD_AFS_PARTS is not set280280-281281-#282282-# User Modules And Translation Layers283283-#284284-CONFIG_MTD_CHAR=y285285-CONFIG_MTD_BLOCK=y286286-# CONFIG_FTL is not set287287-# CONFIG_NFTL is not set288288-# CONFIG_INFTL is not set289289-290290-#291291-# RAM/ROM/Flash chip drivers292292-#293293-# CONFIG_MTD_CFI is not set294294-# CONFIG_MTD_JEDECPROBE is not set295295-CONFIG_MTD_MAP_BANK_WIDTH_1=y296296-CONFIG_MTD_MAP_BANK_WIDTH_2=y297297-CONFIG_MTD_MAP_BANK_WIDTH_4=y298298-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set299299-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set300300-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set301301-CONFIG_MTD_CFI_I1=y302302-CONFIG_MTD_CFI_I2=y303303-# CONFIG_MTD_CFI_I4 is not set304304-# CONFIG_MTD_CFI_I8 is not set305305-# CONFIG_MTD_RAM is not set306306-# CONFIG_MTD_ROM is not set307307-# CONFIG_MTD_ABSENT is not set308308-309309-#310310-# Mapping drivers for chip access311311-#312312-CONFIG_MTD_COMPLEX_MAPPINGS=y313313-CONFIG_MTD_SHARP_SL=y314314-# CONFIG_MTD_PLATRAM is not set315315-316316-#317317-# Self-contained MTD device drivers318318-#319319-# CONFIG_MTD_SLRAM is not set320320-# CONFIG_MTD_PHRAM is not set321321-# CONFIG_MTD_MTDRAM is not set322322-# CONFIG_MTD_BLKMTD is not set323323-# CONFIG_MTD_BLOCK2MTD is not set324324-325325-#326326-# Disk-On-Chip Device Drivers327327-#328328-# CONFIG_MTD_DOC2000 is not set329329-# CONFIG_MTD_DOC2001 is not set330330-# CONFIG_MTD_DOC2001PLUS is not set331331-332332-#333333-# NAND Flash Device Drivers334334-#335335-CONFIG_MTD_NAND=y336336-CONFIG_MTD_NAND_VERIFY_WRITE=y337337-# CONFIG_MTD_NAND_H1900 is not set338338-CONFIG_MTD_NAND_IDS=y339339-# CONFIG_MTD_NAND_DISKONCHIP is not set340340-CONFIG_MTD_NAND_SHARPSL=y341341-# CONFIG_MTD_NAND_NANDSIM is not set342342-343343-#344344-# Parallel port support345345-#346346-# CONFIG_PARPORT is not set347347-348348-#349349-# Plug and Play support350350-#351351-352352-#353353-# Block devices354354-#355355-# CONFIG_BLK_DEV_COW_COMMON is not set356356-CONFIG_BLK_DEV_LOOP=y357357-# CONFIG_BLK_DEV_CRYPTOLOOP is not set358358-# CONFIG_BLK_DEV_NBD is not set359359-# CONFIG_BLK_DEV_RAM is not set360360-CONFIG_BLK_DEV_RAM_COUNT=16361361-# CONFIG_CDROM_PKTCDVD is not set362362-363363-#364364-# IO Schedulers365365-#366366-CONFIG_IOSCHED_NOOP=y367367-CONFIG_IOSCHED_AS=y368368-CONFIG_IOSCHED_DEADLINE=y369369-CONFIG_IOSCHED_CFQ=y370370-# CONFIG_ATA_OVER_ETH is not set371371-372372-#373373-# ATA/ATAPI/MFM/RLL support374374-#375375-CONFIG_IDE=y376376-CONFIG_BLK_DEV_IDE=y377377-378378-#379379-# Please see Documentation/ide.txt for help/info on IDE drives380380-#381381-# CONFIG_BLK_DEV_IDE_SATA is not set382382-CONFIG_BLK_DEV_IDEDISK=y383383-# CONFIG_IDEDISK_MULTI_MODE is not set384384-CONFIG_BLK_DEV_IDECS=y385385-# CONFIG_BLK_DEV_IDECD is not set386386-# CONFIG_BLK_DEV_IDETAPE is not set387387-# CONFIG_BLK_DEV_IDEFLOPPY is not set388388-# CONFIG_IDE_TASK_IOCTL is not set389389-390390-#391391-# IDE chipset support/bugfixes392392-#393393-CONFIG_IDE_GENERIC=y394394-# CONFIG_IDE_ARM is not set395395-# CONFIG_BLK_DEV_IDEDMA is not set396396-# CONFIG_IDEDMA_AUTO is not set397397-# CONFIG_BLK_DEV_HD is not set398398-399399-#400400-# SCSI device support401401-#402402-# CONFIG_RAID_ATTRS is not set403403-# CONFIG_SCSI is not set404404-405405-#406406-# Multi-device support (RAID and LVM)407407-#408408-# CONFIG_MD is not set409409-410410-#411411-# Fusion MPT device support412412-#413413-# CONFIG_FUSION is not set414414-415415-#416416-# IEEE 1394 (FireWire) support417417-#418418-419419-#420420-# I2O device support421421-#422422-423423-#424424-# Network device support425425-#426426-CONFIG_NETDEVICES=y427427-# CONFIG_DUMMY is not set428428-# CONFIG_BONDING is not set429429-# CONFIG_EQUALIZER is not set430430-# CONFIG_TUN is not set431431-432432-#433433-# PHY device support434434-#435435-# CONFIG_PHYLIB is not set436436-437437-#438438-# Ethernet (10 or 100Mbit)439439-#440440-CONFIG_NET_ETHERNET=y441441-# CONFIG_MII is not set442442-# CONFIG_SMC91X is not set443443-# CONFIG_DM9000 is not set444444-445445-#446446-# Ethernet (1000 Mbit)447447-#448448-449449-#450450-# Ethernet (10000 Mbit)451451-#452452-453453-#454454-# Token Ring devices455455-#456456-457457-#458458-# Wireless LAN (non-hamradio)459459-#460460-CONFIG_NET_RADIO=y461461-462462-#463463-# Obsolete Wireless cards support (pre-802.11)464464-#465465-# CONFIG_STRIP is not set466466-# CONFIG_PCMCIA_WAVELAN is not set467467-# CONFIG_PCMCIA_NETWAVE is not set468468-469469-#470470-# Wireless 802.11 Frequency Hopping cards support471471-#472472-# CONFIG_PCMCIA_RAYCS is not set473473-474474-#475475-# Wireless 802.11b ISA/PCI cards support476476-#477477-# CONFIG_HERMES is not set478478-# CONFIG_ATMEL is not set479479-480480-#481481-# Wireless 802.11b Pcmcia/Cardbus cards support482482-#483483-# CONFIG_AIRO_CS is not set484484-# CONFIG_PCMCIA_WL3501 is not set485485-# CONFIG_HOSTAP is not set486486-CONFIG_NET_WIRELESS=y487487-488488-#489489-# PCMCIA network device support490490-#491491-CONFIG_NET_PCMCIA=y492492-# CONFIG_PCMCIA_3C589 is not set493493-# CONFIG_PCMCIA_3C574 is not set494494-# CONFIG_PCMCIA_FMVJ18X is not set495495-CONFIG_PCMCIA_PCNET=y496496-# CONFIG_PCMCIA_NMCLAN is not set497497-# CONFIG_PCMCIA_SMC91C92 is not set498498-# CONFIG_PCMCIA_XIRC2PS is not set499499-# CONFIG_PCMCIA_AXNET is not set500500-501501-#502502-# Wan interfaces503503-#504504-# CONFIG_WAN is not set505505-CONFIG_PPP=m506506-# CONFIG_PPP_MULTILINK is not set507507-# CONFIG_PPP_FILTER is not set508508-CONFIG_PPP_ASYNC=m509509-# CONFIG_PPP_SYNC_TTY is not set510510-# CONFIG_PPP_DEFLATE is not set511511-CONFIG_PPP_BSDCOMP=m512512-# CONFIG_PPPOE is not set513513-# CONFIG_SLIP is not set514514-# CONFIG_SHAPER is not set515515-# CONFIG_NETCONSOLE is not set516516-# CONFIG_NETPOLL is not set517517-# CONFIG_NET_POLL_CONTROLLER is not set518518-519519-#520520-# ISDN subsystem521521-#522522-# CONFIG_ISDN is not set523523-524524-#525525-# Input device support526526-#527527-CONFIG_INPUT=y528528-529529-#530530-# Userland interfaces531531-#532532-# CONFIG_INPUT_MOUSEDEV is not set533533-# CONFIG_INPUT_JOYDEV is not set534534-CONFIG_INPUT_TSDEV=y535535-CONFIG_INPUT_TSDEV_SCREEN_X=240536536-CONFIG_INPUT_TSDEV_SCREEN_Y=320537537-CONFIG_INPUT_EVDEV=y538538-CONFIG_INPUT_EVBUG=y539539-540540-#541541-# Input Device Drivers542542-#543543-CONFIG_INPUT_KEYBOARD=y544544-# CONFIG_KEYBOARD_ATKBD is not set545545-# CONFIG_KEYBOARD_SUNKBD is not set546546-# CONFIG_KEYBOARD_LKKBD is not set547547-CONFIG_KEYBOARD_LOCOMO=y548548-# CONFIG_KEYBOARD_XTKBD is not set549549-# CONFIG_KEYBOARD_NEWTON is not set550550-# CONFIG_KEYBOARD_CORGI is not set551551-CONFIG_KEYBOARD_SPITZ=y552552-# CONFIG_INPUT_MOUSE is not set553553-# CONFIG_INPUT_JOYSTICK is not set554554-# CONFIG_INPUT_TOUCHSCREEN is not set555555-# CONFIG_INPUT_MISC is not set556556-557557-#558558-# Hardware I/O ports559559-#560560-# CONFIG_SERIO is not set561561-# CONFIG_GAMEPORT is not set562562-563563-#564564-# Character devices565565-#566566-CONFIG_VT=y567567-CONFIG_VT_CONSOLE=y568568-CONFIG_HW_CONSOLE=y569569-# CONFIG_SERIAL_NONSTANDARD is not set570570-571571-#572572-# Serial drivers573573-#574574-# CONFIG_SERIAL_8250 is not set575575-576576-#577577-# Non-8250 serial port support578578-#579579-CONFIG_SERIAL_PXA=y580580-CONFIG_SERIAL_PXA_CONSOLE=y581581-CONFIG_SERIAL_CORE=y582582-CONFIG_SERIAL_CORE_CONSOLE=y583583-CONFIG_UNIX98_PTYS=y584584-# CONFIG_LEGACY_PTYS is not set585585-586586-#587587-# IPMI588588-#589589-# CONFIG_IPMI_HANDLER is not set590590-591591-#592592-# Watchdog Cards593593-#594594-# CONFIG_WATCHDOG is not set595595-# CONFIG_NVRAM is not set596596-# CONFIG_RTC is not set597597-# CONFIG_DTLK is not set598598-# CONFIG_R3964 is not set599599-600600-#601601-# Ftape, the floppy tape device driver602602-#603603-604604-#605605-# PCMCIA character devices606606-#607607-# CONFIG_SYNCLINK_CS is not set608608-# CONFIG_RAW_DRIVER is not set609609-610610-#611611-# TPM devices612612-#613613-614614-#615615-# I2C support616616-#617617-CONFIG_I2C=y618618-# CONFIG_I2C_CHARDEV is not set619619-620620-#621621-# I2C Algorithms622622-#623623-CONFIG_I2C_ALGOBIT=y624624-# CONFIG_I2C_ALGOPCF is not set625625-# CONFIG_I2C_ALGOPCA is not set626626-627627-#628628-# I2C Hardware Bus support629629-#630630-# CONFIG_I2C_PXA is not set631631-# CONFIG_I2C_PARPORT_LIGHT is not set632632-# CONFIG_I2C_STUB is not set633633-# CONFIG_I2C_PCA_ISA is not set634634-635635-#636636-# Miscellaneous I2C Chip support637637-#638638-# CONFIG_SENSORS_DS1337 is not set639639-# CONFIG_SENSORS_DS1374 is not set640640-# CONFIG_SENSORS_EEPROM is not set641641-# CONFIG_SENSORS_PCF8574 is not set642642-# CONFIG_SENSORS_PCA9539 is not set643643-# CONFIG_SENSORS_PCF8591 is not set644644-# CONFIG_SENSORS_RTC8564 is not set645645-# CONFIG_SENSORS_MAX6875 is not set646646-CONFIG_I2C_DEBUG_CORE=y647647-CONFIG_I2C_DEBUG_ALGO=y648648-CONFIG_I2C_DEBUG_BUS=y649649-# CONFIG_I2C_DEBUG_CHIP is not set650650-651651-#652652-# Hardware Monitoring support653653-#654654-CONFIG_HWMON=y655655-# CONFIG_HWMON_VID is not set656656-# CONFIG_SENSORS_ADM1021 is not set657657-# CONFIG_SENSORS_ADM1025 is not set658658-# CONFIG_SENSORS_ADM1026 is not set659659-# CONFIG_SENSORS_ADM1031 is not set660660-# CONFIG_SENSORS_ADM9240 is not set661661-# CONFIG_SENSORS_ASB100 is not set662662-# CONFIG_SENSORS_ATXP1 is not set663663-# CONFIG_SENSORS_DS1621 is not set664664-# CONFIG_SENSORS_FSCHER is not set665665-# CONFIG_SENSORS_FSCPOS is not set666666-# CONFIG_SENSORS_GL518SM is not set667667-# CONFIG_SENSORS_GL520SM is not set668668-# CONFIG_SENSORS_IT87 is not set669669-# CONFIG_SENSORS_LM63 is not set670670-# CONFIG_SENSORS_LM75 is not set671671-# CONFIG_SENSORS_LM77 is not set672672-# CONFIG_SENSORS_LM78 is not set673673-# CONFIG_SENSORS_LM80 is not set674674-# CONFIG_SENSORS_LM83 is not set675675-# CONFIG_SENSORS_LM85 is not set676676-# CONFIG_SENSORS_LM87 is not set677677-# CONFIG_SENSORS_LM90 is not set678678-# CONFIG_SENSORS_LM92 is not set679679-# CONFIG_SENSORS_MAX1619 is not set680680-# CONFIG_SENSORS_PC87360 is not set681681-# CONFIG_SENSORS_SMSC47M1 is not set682682-# CONFIG_SENSORS_SMSC47B397 is not set683683-# CONFIG_SENSORS_W83781D is not set684684-# CONFIG_SENSORS_W83792D is not set685685-# CONFIG_SENSORS_W83L785TS is not set686686-# CONFIG_SENSORS_W83627HF is not set687687-# CONFIG_SENSORS_W83627EHF is not set688688-# CONFIG_HWMON_DEBUG_CHIP is not set689689-690690-#691691-# Misc devices692692-#693693-694694-#695695-# Multimedia Capabilities Port drivers696696-#697697-698698-#699699-# Multimedia devices700700-#701701-CONFIG_VIDEO_DEV=m702702-703703-#704704-# Video For Linux705705-#706706-707707-#708708-# Video Adapters709709-#710710-# CONFIG_VIDEO_CPIA is not set711711-# CONFIG_VIDEO_SAA5246A is not set712712-# CONFIG_VIDEO_SAA5249 is not set713713-# CONFIG_TUNER_3036 is not set714714-# CONFIG_VIDEO_OVCAMCHIP is not set715715-716716-#717717-# Radio Adapters718718-#719719-# CONFIG_RADIO_MAESTRO is not set720720-721721-#722722-# Digital Video Broadcasting Devices723723-#724724-# CONFIG_DVB is not set725725-726726-#727727-# Graphics support728728-#729729-CONFIG_FB=y730730-CONFIG_FB_CFB_FILLRECT=y731731-CONFIG_FB_CFB_COPYAREA=y732732-CONFIG_FB_CFB_IMAGEBLIT=y733733-CONFIG_FB_SOFT_CURSOR=y734734-# CONFIG_FB_MACMODES is not set735735-CONFIG_FB_MODE_HELPERS=y736736-# CONFIG_FB_TILEBLITTING is not set737737-CONFIG_FB_PXA=y738738-# CONFIG_FB_W100 is not set739739-# CONFIG_FB_PXA_PARAMETERS is not set740740-# CONFIG_FB_S1D13XXX is not set741741-# CONFIG_FB_VIRTUAL is not set742742-743743-#744744-# Console display driver support745745-#746746-# CONFIG_VGA_CONSOLE is not set747747-CONFIG_DUMMY_CONSOLE=y748748-CONFIG_FRAMEBUFFER_CONSOLE=y749749-CONFIG_FONTS=y750750-CONFIG_FONT_8x8=y751751-# CONFIG_FONT_8x16 is not set752752-# CONFIG_FONT_6x11 is not set753753-# CONFIG_FONT_7x14 is not set754754-# CONFIG_FONT_PEARL_8x8 is not set755755-# CONFIG_FONT_ACORN_8x8 is not set756756-# CONFIG_FONT_MINI_4x6 is not set757757-# CONFIG_FONT_SUN8x16 is not set758758-# CONFIG_FONT_SUN12x22 is not set759759-# CONFIG_FONT_10x18 is not set760760-761761-#762762-# Logo configuration763763-#764764-# CONFIG_LOGO is not set765765-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set766766-767767-#768768-# Sound769769-#770770-# CONFIG_SOUND is not set771771-772772-#773773-# USB support774774-#775775-CONFIG_USB_ARCH_HAS_HCD=y776776-# CONFIG_USB_ARCH_HAS_OHCI is not set777777-# CONFIG_USB is not set778778-779779-#780780-# USB Gadget Support781781-#782782-CONFIG_USB_GADGET=y783783-# CONFIG_USB_GADGET_DEBUG_FILES is not set784784-CONFIG_USB_GADGET_SELECTED=y785785-# CONFIG_USB_GADGET_NET2280 is not set786786-CONFIG_USB_GADGET_PXA2XX=y787787-CONFIG_USB_PXA2XX=y788788-# CONFIG_USB_PXA2XX_SMALL is not set789789-# CONFIG_USB_GADGET_GOKU is not set790790-# CONFIG_USB_GADGET_LH7A40X is not set791791-# CONFIG_USB_GADGET_OMAP is not set792792-# CONFIG_USB_GADGET_DUMMY_HCD is not set793793-# CONFIG_USB_GADGET_DUALSPEED is not set794794-# CONFIG_USB_ZERO is not set795795-CONFIG_USB_ETH=y796796-CONFIG_USB_ETH_RNDIS=y797797-# CONFIG_USB_GADGETFS is not set798798-# CONFIG_USB_FILE_STORAGE is not set799799-# CONFIG_USB_G_SERIAL is not set800800-801801-#802802-# MMC/SD Card support803803-#804804-CONFIG_MMC=y805805-CONFIG_MMC_DEBUG=y806806-CONFIG_MMC_BLOCK=y807807-CONFIG_MMC_PXA=y808808-# CONFIG_MMC_WBSD is not set809809-810810-#811811-# File systems812812-#813813-CONFIG_EXT2_FS=y814814-CONFIG_EXT2_FS_XATTR=y815815-CONFIG_EXT2_FS_POSIX_ACL=y816816-CONFIG_EXT2_FS_SECURITY=y817817-# CONFIG_EXT2_FS_XIP is not set818818-# CONFIG_EXT3_FS is not set819819-# CONFIG_JBD is not set820820-CONFIG_FS_MBCACHE=y821821-# CONFIG_REISERFS_FS is not set822822-# CONFIG_JFS_FS is not set823823-CONFIG_FS_POSIX_ACL=y824824-# CONFIG_XFS_FS is not set825825-# CONFIG_MINIX_FS is not set826826-# CONFIG_ROMFS_FS is not set827827-CONFIG_INOTIFY=y828828-# CONFIG_QUOTA is not set829829-CONFIG_DNOTIFY=y830830-# CONFIG_AUTOFS_FS is not set831831-# CONFIG_AUTOFS4_FS is not set832832-# CONFIG_FUSE_FS is not set833833-834834-#835835-# CD-ROM/DVD Filesystems836836-#837837-# CONFIG_ISO9660_FS is not set838838-# CONFIG_UDF_FS is not set839839-840840-#841841-# DOS/FAT/NT Filesystems842842-#843843-CONFIG_FAT_FS=y844844-CONFIG_MSDOS_FS=y845845-CONFIG_VFAT_FS=y846846-CONFIG_FAT_DEFAULT_CODEPAGE=437847847-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"848848-# CONFIG_NTFS_FS is not set849849-850850-#851851-# Pseudo filesystems852852-#853853-CONFIG_PROC_FS=y854854-CONFIG_SYSFS=y855855-CONFIG_TMPFS=y856856-# CONFIG_HUGETLB_PAGE is not set857857-CONFIG_RAMFS=y858858-# CONFIG_RELAYFS_FS is not set859859-860860-#861861-# Miscellaneous filesystems862862-#863863-# CONFIG_ADFS_FS is not set864864-# CONFIG_AFFS_FS is not set865865-# CONFIG_HFS_FS is not set866866-# CONFIG_HFSPLUS_FS is not set867867-# CONFIG_BEFS_FS is not set868868-# CONFIG_BFS_FS is not set869869-# CONFIG_EFS_FS is not set870870-# CONFIG_JFFS_FS is not set871871-CONFIG_JFFS2_FS=y872872-CONFIG_JFFS2_FS_DEBUG=0873873-CONFIG_JFFS2_FS_WRITEBUFFER=y874874-CONFIG_JFFS2_COMPRESSION_OPTIONS=y875875-CONFIG_JFFS2_ZLIB=y876876-CONFIG_JFFS2_RTIME=y877877-CONFIG_JFFS2_RUBIN=y878878-# CONFIG_JFFS2_CMODE_NONE is not set879879-CONFIG_JFFS2_CMODE_PRIORITY=y880880-# CONFIG_JFFS2_CMODE_SIZE is not set881881-CONFIG_CRAMFS=m882882-# CONFIG_VXFS_FS is not set883883-# CONFIG_HPFS_FS is not set884884-# CONFIG_QNX4FS_FS is not set885885-# CONFIG_SYSV_FS is not set886886-# CONFIG_UFS_FS is not set887887-888888-#889889-# Network File Systems890890-#891891-# CONFIG_NFS_FS is not set892892-# CONFIG_NFSD is not set893893-# CONFIG_SMB_FS is not set894894-# CONFIG_CIFS is not set895895-# CONFIG_NCP_FS is not set896896-# CONFIG_CODA_FS is not set897897-# CONFIG_AFS_FS is not set898898-# CONFIG_9P_FS is not set899899-900900-#901901-# Partition Types902902-#903903-CONFIG_PARTITION_ADVANCED=y904904-# CONFIG_ACORN_PARTITION is not set905905-# CONFIG_OSF_PARTITION is not set906906-# CONFIG_AMIGA_PARTITION is not set907907-# CONFIG_ATARI_PARTITION is not set908908-# CONFIG_MAC_PARTITION is not set909909-CONFIG_MSDOS_PARTITION=y910910-# CONFIG_BSD_DISKLABEL is not set911911-# CONFIG_MINIX_SUBPARTITION is not set912912-# CONFIG_SOLARIS_X86_PARTITION is not set913913-# CONFIG_UNIXWARE_DISKLABEL is not set914914-# CONFIG_LDM_PARTITION is not set915915-# CONFIG_SGI_PARTITION is not set916916-# CONFIG_ULTRIX_PARTITION is not set917917-# CONFIG_SUN_PARTITION is not set918918-# CONFIG_EFI_PARTITION is not set919919-920920-#921921-# Native Language Support922922-#923923-CONFIG_NLS=y924924-CONFIG_NLS_DEFAULT="cp437"925925-CONFIG_NLS_CODEPAGE_437=y926926-# CONFIG_NLS_CODEPAGE_737 is not set927927-# CONFIG_NLS_CODEPAGE_775 is not set928928-# CONFIG_NLS_CODEPAGE_850 is not set929929-# CONFIG_NLS_CODEPAGE_852 is not set930930-# CONFIG_NLS_CODEPAGE_855 is not set931931-# CONFIG_NLS_CODEPAGE_857 is not set932932-# CONFIG_NLS_CODEPAGE_860 is not set933933-# CONFIG_NLS_CODEPAGE_861 is not set934934-# CONFIG_NLS_CODEPAGE_862 is not set935935-# CONFIG_NLS_CODEPAGE_863 is not set936936-# CONFIG_NLS_CODEPAGE_864 is not set937937-# CONFIG_NLS_CODEPAGE_865 is not set938938-# CONFIG_NLS_CODEPAGE_866 is not set939939-# CONFIG_NLS_CODEPAGE_869 is not set940940-# CONFIG_NLS_CODEPAGE_936 is not set941941-# CONFIG_NLS_CODEPAGE_950 is not set942942-# CONFIG_NLS_CODEPAGE_932 is not set943943-# CONFIG_NLS_CODEPAGE_949 is not set944944-# CONFIG_NLS_CODEPAGE_874 is not set945945-# CONFIG_NLS_ISO8859_8 is not set946946-# CONFIG_NLS_CODEPAGE_1250 is not set947947-# CONFIG_NLS_CODEPAGE_1251 is not set948948-CONFIG_NLS_ASCII=y949949-CONFIG_NLS_ISO8859_1=y950950-# CONFIG_NLS_ISO8859_2 is not set951951-# CONFIG_NLS_ISO8859_3 is not set952952-# CONFIG_NLS_ISO8859_4 is not set953953-# CONFIG_NLS_ISO8859_5 is not set954954-# CONFIG_NLS_ISO8859_6 is not set955955-# CONFIG_NLS_ISO8859_7 is not set956956-# CONFIG_NLS_ISO8859_9 is not set957957-# CONFIG_NLS_ISO8859_13 is not set958958-# CONFIG_NLS_ISO8859_14 is not set959959-# CONFIG_NLS_ISO8859_15 is not set960960-# CONFIG_NLS_KOI8_R is not set961961-# CONFIG_NLS_KOI8_U is not set962962-CONFIG_NLS_UTF8=y963963-964964-#965965-# Profiling support966966-#967967-# CONFIG_PROFILING is not set968968-969969-#970970-# Kernel hacking971971-#972972-# CONFIG_PRINTK_TIME is not set973973-CONFIG_DEBUG_KERNEL=y974974-CONFIG_MAGIC_SYSRQ=y975975-CONFIG_LOG_BUF_SHIFT=14976976-CONFIG_DETECT_SOFTLOCKUP=y977977-# CONFIG_SCHEDSTATS is not set978978-# CONFIG_DEBUG_SLAB is not set979979-CONFIG_DEBUG_PREEMPT=y980980-# CONFIG_DEBUG_SPINLOCK is not set981981-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set982982-# CONFIG_DEBUG_KOBJECT is not set983983-# CONFIG_DEBUG_BUGVERBOSE is not set984984-# CONFIG_DEBUG_INFO is not set985985-# CONFIG_DEBUG_FS is not set986986-CONFIG_FRAME_POINTER=y987987-# CONFIG_DEBUG_USER is not set988988-# CONFIG_DEBUG_WAITQ is not set989989-CONFIG_DEBUG_ERRORS=y990990-# CONFIG_DEBUG_LL is not set991991-992992-#993993-# Security options994994-#995995-# CONFIG_KEYS is not set996996-# CONFIG_SECURITY is not set997997-998998-#999999-# Cryptographic options10001000-#10011001-# CONFIG_CRYPTO is not set10021002-10031003-#10041004-# Hardware crypto devices10051005-#10061006-10071007-#10081008-# Library routines10091009-#10101010-CONFIG_CRC_CCITT=y10111011-# CONFIG_CRC16 is not set10121012-CONFIG_CRC32=y10131013-# CONFIG_LIBCRC32C is not set10141014-CONFIG_ZLIB_INFLATE=y10151015-CONFIG_ZLIB_DEFLATE=y
+64-21
arch/arm/configs/spitz_defconfig
···11#22# Automatically generated make config: don't edit33-# Linux kernel version: 2.6.14-rc344-# Sun Oct 9 17:11:19 200533+# Linux kernel version: 2.6.15-rc244+# Mon Nov 28 10:26:52 200555#66CONFIG_ARM=y77CONFIG_MMU=y···6464CONFIG_KMOD=y65656666#6767+# Block layer6868+#6969+7070+#7171+# IO Schedulers7272+#7373+CONFIG_IOSCHED_NOOP=y7474+CONFIG_IOSCHED_AS=y7575+CONFIG_IOSCHED_DEADLINE=y7676+CONFIG_IOSCHED_CFQ=y7777+CONFIG_DEFAULT_AS=y7878+# CONFIG_DEFAULT_DEADLINE is not set7979+# CONFIG_DEFAULT_CFQ is not set8080+# CONFIG_DEFAULT_NOOP is not set8181+CONFIG_DEFAULT_IOSCHED="anticipatory"8282+8383+#6784# System Type6885#6986# CONFIG_ARCH_CLPS7500 is not set···10285# CONFIG_ARCH_LH7A40X is not set10386# CONFIG_ARCH_OMAP is not set10487# CONFIG_ARCH_VERSATILE is not set8888+# CONFIG_ARCH_REALVIEW is not set10589# CONFIG_ARCH_IMX is not set10690# CONFIG_ARCH_H720X is not set10791# CONFIG_ARCH_AAEC2000 is not set···11698CONFIG_PXA_SHARPSL=y11799# CONFIG_PXA_SHARPSL_25x is not set118100CONFIG_PXA_SHARPSL_27x=y101101+CONFIG_MACH_AKITA=y119102CONFIG_MACH_SPITZ=y120103CONFIG_MACH_BORZOI=y121104CONFIG_PXA27x=y105105+CONFIG_IWMMXT=y122106CONFIG_PXA_SHARP_Cxx00=y107107+CONFIG_PXA_SSP=y123108124109#125110# Processor Type···174153CONFIG_FLATMEM=y175154CONFIG_FLAT_NODE_MEM_MAP=y176155# CONFIG_SPARSEMEM_STATIC is not set156156+CONFIG_SPLIT_PTLOCK_CPUS=4096177157CONFIG_ALIGNMENT_TRAP=y178158179159#···255233CONFIG_IPV6_TUNNEL=m256234CONFIG_NETFILTER=y257235# CONFIG_NETFILTER_DEBUG is not set236236+237237+#238238+# Core Netfilter Configuration239239+#258240# CONFIG_NETFILTER_NETLINK is not set259241260242#···380354# CONFIG_NET_DIVERT is not set381355# CONFIG_ECONET is not set382356# CONFIG_WAN_ROUTER is not set357357+358358+#359359+# QoS and/or fair queueing360360+#383361# CONFIG_NET_SCHED is not set384362CONFIG_NET_CLS_ROUTE=y385363···441411# CONFIG_SMC_IRCC_FIR is not set442412# CONFIG_ALI_FIR is not set443413# CONFIG_VIA_FIR is not set414414+CONFIG_PXA_FICP=m444415CONFIG_BT=m445416CONFIG_BT_L2CAP=m446417CONFIG_BT_SCO=m···460429CONFIG_BT_HCIUART=m461430CONFIG_BT_HCIUART_H4=y462431CONFIG_BT_HCIUART_BCSP=y463463-CONFIG_BT_HCIUART_BCSP_TXCRC=y464432CONFIG_BT_HCIBCM203X=m465433CONFIG_BT_HCIBPA10X=m466434CONFIG_BT_HCIBFUSB=m···487457# CONFIG_DEBUG_DRIVER is not set488458489459#460460+# Connector - unified userspace <-> kernelspace linker461461+#462462+# CONFIG_CONNECTOR is not set463463+464464+#490465# Memory Technology Devices (MTD)491466#492467CONFIG_MTD=y···510475# CONFIG_FTL is not set511476# CONFIG_NFTL is not set512477# CONFIG_INFTL is not set478478+# CONFIG_RFD_FTL is not set513479514480#515481# RAM/ROM/Flash chip drivers···566530# CONFIG_MTD_NAND_NANDSIM is not set567531568532#533533+# OneNAND Flash Device Drivers534534+#535535+# CONFIG_MTD_ONENAND is not set536536+537537+#569538# Parallel port support570539#571540# CONFIG_PARPORT is not set···590549# CONFIG_BLK_DEV_RAM is not set591550CONFIG_BLK_DEV_RAM_COUNT=16592551# CONFIG_CDROM_PKTCDVD is not set593593-594594-#595595-# IO Schedulers596596-#597597-CONFIG_IOSCHED_NOOP=y598598-CONFIG_IOSCHED_AS=y599599-CONFIG_IOSCHED_DEADLINE=y600600-CONFIG_IOSCHED_CFQ=y601552# CONFIG_ATA_OVER_ETH is not set602553603554#···656623#657624# SCSI low-level drivers658625#626626+# CONFIG_ISCSI_TCP is not set659627# CONFIG_SCSI_SATA is not set660628# CONFIG_SCSI_DEBUG is not set661629···780746# CONFIG_PPP_SYNC_TTY is not set781747# CONFIG_PPP_DEFLATE is not set782748CONFIG_PPP_BSDCOMP=m749749+# CONFIG_PPP_MPPE is not set783750# CONFIG_PPPOE is not set784751# CONFIG_SLIP is not set785752# CONFIG_SHAPER is not set···806771# CONFIG_INPUT_TSDEV is not set807772CONFIG_INPUT_EVDEV=y808773# CONFIG_INPUT_EVBUG is not set774774+# CONFIG_INPUT_POWER is not set809775810776#811777# Input Device Drivers···884848# PCMCIA character devices885849#886850# CONFIG_SYNCLINK_CS is not set851851+# CONFIG_CARDMAN_4000 is not set852852+# CONFIG_CARDMAN_4040 is not set887853# CONFIG_RAW_DRIVER is not set888854889855#890856# TPM devices891857#858858+# CONFIG_TCG_TPM is not set859859+# CONFIG_TELCLOCK is not set892860893861#894862# I2C support···931891CONFIG_FB_CFB_FILLRECT=y932892CONFIG_FB_CFB_COPYAREA=y933893CONFIG_FB_CFB_IMAGEBLIT=y934934-CONFIG_FB_SOFT_CURSOR=y935894# CONFIG_FB_MACMODES is not set936895# CONFIG_FB_MODE_HELPERS is not set937896# CONFIG_FB_TILEBLITTING is not set938938-CONFIG_FB_PXA=y939939-# CONFIG_FB_W100 is not set940940-# CONFIG_FB_PXA_PARAMETERS is not set941897# CONFIG_FB_S1D13XXX is not set898898+CONFIG_FB_PXA=y899899+# CONFIG_FB_PXA_PARAMETERS is not set900900+# CONFIG_FB_W100 is not set942901# CONFIG_FB_VIRTUAL is not set943902944903#···946907# CONFIG_VGA_CONSOLE is not set947908CONFIG_DUMMY_CONSOLE=y948909CONFIG_FRAMEBUFFER_CONSOLE=y910910+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y949911CONFIG_FONTS=y950912CONFIG_FONT_8x8=y951913CONFIG_FONT_8x16=y···1005965#1006966# USB Device Class drivers1007967#10081008-10091009-#10101010-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem10111011-#1012968CONFIG_USB_ACM=m1013969CONFIG_USB_PRINTER=m10149701015971#10161016-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information972972+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'973973+#974974+975975+#976976+# may also be needed; see USB_STORAGE Help for more information1017977#1018978CONFIG_USB_STORAGE=m1019979# CONFIG_USB_STORAGE_DEBUG is not set···1025985# CONFIG_USB_STORAGE_SDDR09 is not set1026986# CONFIG_USB_STORAGE_SDDR55 is not set1027987# CONFIG_USB_STORAGE_JUMPSHOT is not set10281028-# CONFIG_USB_STORAGE_ONETOUCH is not set10299881030989#1031990# USB Input Devices···10971058CONFIG_USB_SERIAL=m10981059CONFIG_USB_SERIAL_GENERIC=y10991060# CONFIG_USB_SERIAL_AIRPRIME is not set10611061+# CONFIG_USB_SERIAL_ANYDATA is not set11001062CONFIG_USB_SERIAL_BELKIN=m11011063# CONFIG_USB_SERIAL_WHITEHEAT is not set11021064CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m···12581218CONFIG_JFFS2_FS=y12591219CONFIG_JFFS2_FS_DEBUG=012601220CONFIG_JFFS2_FS_WRITEBUFFER=y12211221+CONFIG_JFFS2_SUMMARY=y12611222CONFIG_JFFS2_COMPRESSION_OPTIONS=y12621223CONFIG_JFFS2_ZLIB=y12631224CONFIG_JFFS2_RTIME=y···13851344CONFIG_DEBUG_BUGVERBOSE=y13861345# CONFIG_DEBUG_INFO is not set13871346# CONFIG_DEBUG_FS is not set13471347+# CONFIG_DEBUG_VM is not set13881348CONFIG_FRAME_POINTER=y13491349+# CONFIG_RCU_TORTURE_TEST is not set13891350# CONFIG_DEBUG_USER is not set13901351# CONFIG_DEBUG_WAITQ is not set13911352CONFIG_DEBUG_ERRORS=y
+3-8
arch/arm/kernel/head.S
···17171818#include <asm/assembler.h>1919#include <asm/domain.h>2020-#include <asm/mach-types.h>2120#include <asm/procinfo.h>2221#include <asm/ptrace.h>2322#include <asm/asm-offsets.h>···8283 @ and irqs disabled8384 bl __lookup_processor_type @ r5=procinfo r9=cpuid8485 movs r10, r5 @ invalid processor (r5=0)?8585- beq __error_p @ yes, error 'p'8686+ beq __error_p @ yes, error 'p'8687 bl __lookup_machine_type @ r5=machinfo8788 movs r8, r5 @ invalid machine (r5=0)?8889 beq __error_a @ yes, error 'a'···342343 bne 1b343344#if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS)344345 /*345345- * If we're using the NetWinder, we need to map in346346- * the 16550-type serial port for the debug messages346346+ * If we're using the NetWinder or CATS, we also need to map347347+ * in the 16550-type serial port for the debug messages347348 */348348- teq r1, #MACH_TYPE_NETWINDER349349- teqne r1, #MACH_TYPE_CATS350350- bne 1f351349 add r0, r4, #0xff000000 >> 18352350 orr r3, r7, #0x7c000000353351 str r3, [r0]354354-1:355352#endif356353#ifdef CONFIG_ARCH_RPC357354 /*
···42424343#ifdef CONFIG_VIRTUAL_MEM_MAP4444#include <linux/bootmem.h>4545+EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */4546EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */4647#endif4748
+1-1
arch/ia64/kernel/kprobes.c
···740740 switch(val) {741741 case DIE_BREAK:742742 /* err is break number from ia64_bad_break() */743743- if (args->err == 0x80200 || args->err == 0x80300)743743+ if (args->err == 0x80200 || args->err == 0x80300 || args->err == 0)744744 if (pre_kprobes_handler(args))745745 ret = NOTIFY_STOP;746746 break;
-18
arch/ia64/kernel/traps.c
···132132 siginfo_t siginfo;133133 int sig, code;134134135135- /* break.b always sets cr.iim to 0, which causes problems for136136- * debuggers. Get the real break number from the original instruction,137137- * but only for kernel code. User space break.b is left alone, to138138- * preserve the existing behaviour. All break codings have the same139139- * format, so there is no need to check the slot type.140140- */141141- if (break_num == 0 && !user_mode(regs)) {142142- struct ia64_psr *ipsr = ia64_psr(regs);143143- unsigned long *bundle = (unsigned long *)regs->cr_iip;144144- unsigned long slot;145145- switch (ipsr->ri) {146146- case 0: slot = (bundle[0] >> 5); break;147147- case 1: slot = (bundle[0] >> 46) | (bundle[1] << 18); break;148148- default: slot = (bundle[1] >> 23); break;149149- }150150- break_num = ((slot >> 36 & 1) << 20) | (slot >> 6 & 0xfffff);151151- }152152-153135 /* SIGILL, SIGFPE, SIGSEGV, and SIGBUS want these field initialized: */154136 siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri);155137 siginfo.si_imm = break_num;
+37-17
arch/m32r/kernel/io_mappi3.c
···3636 return (void *)(port + NONCACHE_OFFSET);3737}38383939-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)3939+#if defined(CONFIG_IDE)4040static inline void *__port2addr_ata(unsigned long port)4141{4242 static int dummy_reg;43434444 switch (port) {4545+ /* IDE0 CF */4546 case 0x1f0: return (void *)0xb4002000;4647 case 0x1f1: return (void *)0xb4012800;4748 case 0x1f2: return (void *)0xb4012002;···5251 case 0x1f6: return (void *)0xb4012006;5352 case 0x1f7: return (void *)0xb4012806;5453 case 0x3f6: return (void *)0xb401200e;5454+ /* IDE1 IDE */5555+ case 0x170: return (void *)0xb4810000; /* Data 16bit */5656+ case 0x171: return (void *)0xb4810002; /* Features / Error */5757+ case 0x172: return (void *)0xb4810004; /* Sector count */5858+ case 0x173: return (void *)0xb4810006; /* Sector number */5959+ case 0x174: return (void *)0xb4810008; /* Cylinder low */6060+ case 0x175: return (void *)0xb481000a; /* Cylinder high */6161+ case 0x176: return (void *)0xb481000c; /* Device head */6262+ case 0x177: return (void *)0xb481000e; /* Command */6363+ case 0x376: return (void *)0xb480800c; /* Device control / Alt status */6464+5565 default: return (void *)&dummy_reg;5666 }5767}···120108{121109 if (port >= LAN_IOSTART && port < LAN_IOEND)122110 return _ne_inb(PORT2ADDR_NE(port));123123-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)124124- else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {111111+#if defined(CONFIG_IDE)112112+ else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||113113+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){125114 return *(volatile unsigned char *)__port2addr_ata(port);126115 }127116#endif···140127{141128 if (port >= LAN_IOSTART && port < LAN_IOEND)142129 return _ne_inw(PORT2ADDR_NE(port));143143-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)144144- else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {130130+#if defined(CONFIG_IDE)131131+ else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||132132+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){145133 return *(volatile unsigned short *)__port2addr_ata(port);146134 }147135#endif···199185 if (port >= LAN_IOSTART && port < LAN_IOEND)200186 _ne_outb(b, PORT2ADDR_NE(port));201187 else202202-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)203203- if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {188188+#if defined(CONFIG_IDE)189189+ if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||190190+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){204191 *(volatile unsigned char *)__port2addr_ata(port) = b;205192 } else206193#endif···218203 if (port >= LAN_IOSTART && port < LAN_IOEND)219204 _ne_outw(w, PORT2ADDR_NE(port));220205 else221221-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)222222- if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {206206+#if defined(CONFIG_IDE)207207+ if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||208208+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){223209 *(volatile unsigned short *)__port2addr_ata(port) = w;224210 } else225211#endif···269253{270254 if (port >= LAN_IOSTART && port < LAN_IOEND)271255 _ne_insb(PORT2ADDR_NE(port), addr, count);272272-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)273273- else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {256256+#if defined(CONFIG_IDE)257257+ else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||258258+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){274259 unsigned char *buf = addr;275260 unsigned char *portp = __port2addr_ata(port);276261 while (count--)···306289 pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short),307290 count, 1);308291#endif309309-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)310310- } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {292292+#if defined(CONFIG_IDE)293293+ } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||294294+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){311295 portp = __port2addr_ata(port);312296 while (count--)313297 *buf++ = *(volatile unsigned short *)portp;···339321 portp = PORT2ADDR_NE(port);340322 while (count--)341323 _ne_outb(*buf++, portp);342342-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)343343- } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {324324+#if defined(CONFIG_IDE)325325+ } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||326326+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){344327 portp = __port2addr_ata(port);345328 while (count--)346329 *(volatile unsigned char *)portp = *buf++;···367348 portp = PORT2ADDR_NE(port);368349 while (count--)369350 *(volatile unsigned short *)portp = *buf++;370370-#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC)371371- } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) {351351+#if defined(CONFIG_IDE)352352+ } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||353353+ ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){372354 portp = __port2addr_ata(port);373355 while (count--)374356 *(volatile unsigned short *)portp = *buf++;
···11-/* drivers/atm/atmdev_init.c - ATM device driver initialization */22-33-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */44-55-66-#include <linux/config.h>77-#include <linux/init.h>88-99-1010-#ifdef CONFIG_ATM_ZATM1111-extern int zatm_detect(void);1212-#endif1313-#ifdef CONFIG_ATM_AMBASSADOR1414-extern int amb_detect(void);1515-#endif1616-#ifdef CONFIG_ATM_HORIZON1717-extern int hrz_detect(void);1818-#endif1919-#ifdef CONFIG_ATM_FORE200E2020-extern int fore200e_detect(void);2121-#endif2222-#ifdef CONFIG_ATM_LANAI2323-extern int lanai_detect(void);2424-#endif2525-2626-2727-/*2828- * For historical reasons, atmdev_init returns the number of devices found.2929- * Note that some detections may not go via atmdev_init (e.g. eni.c), so this3030- * number is meaningless.3131- */3232-3333-int __init atmdev_init(void)3434-{3535- int devs;3636-3737- devs = 0;3838-#ifdef CONFIG_ATM_ZATM3939- devs += zatm_detect();4040-#endif4141-#ifdef CONFIG_ATM_AMBASSADOR4242- devs += amb_detect();4343-#endif4444-#ifdef CONFIG_ATM_HORIZON4545- devs += hrz_detect();4646-#endif4747-#ifdef CONFIG_ATM_FORE200E4848- devs += fore200e_detect();4949-#endif5050-#ifdef CONFIG_ATM_LANAI5151- devs += lanai_detect();5252-#endif5353- return devs;5454-}
···3939 * o lanai_change_qos() isn't written yet4040 *4141 * o There aren't any ioctl's yet -- I'd like to eventually support4242- * setting loopback and LED modes that way. (see lanai_ioctl)4242+ * setting loopback and LED modes that way.4343 *4444 * o If the segmentation engine or DMA gets shut down we should restart4545 * card as per section 17.0i. (see lanai_reset)···305305 * vci with their bit set306306 */307307static void vci_bitfield_iterate(struct lanai_dev *lanai,308308- /*const*/ unsigned long *lp,308308+ const unsigned long *lp,309309 void (*func)(struct lanai_dev *,vci_t vci))310310{311311 vci_t vci = find_first_bit(lp, NUM_VCI);···951951/* read a big-endian 4-byte value out of eeprom */952952static inline u32 eeprom_be4(const struct lanai_dev *lanai, int address)953953{954954- return be32_to_cpup((u32 *) (&lanai->eeprom[address]));954954+ return be32_to_cpup((const u32 *) &lanai->eeprom[address]);955955}956956957957/* Checksum/validate EEPROM contents */···11601160}1161116111621162/* test if VCC is currently backlogged */11631163-static inline int vcc_is_backlogged(/*const*/ struct lanai_vcc *lvcc)11631163+static inline int vcc_is_backlogged(const struct lanai_vcc *lvcc)11641164{11651165 return !skb_queue_empty(&lvcc->tx.backlog);11661166}···13951395{13961396 int size;13971397 struct sk_buff *skb;13981398- /*const*/ u32 *x, *end = &lvcc->rx.buf.start[endptr * 4];13981398+ const u32 *x;13991399+ u32 *end = &lvcc->rx.buf.start[endptr * 4];13991400 int n = ((unsigned long) end) - ((unsigned long) lvcc->rx.buf.ptr);14001401 if (n < 0)14011402 n += lanai_buf_size(&lvcc->rx.buf);···21122111 * shifted by that much as we compute21132112 *21142113 */21152115-static int pcr_to_cbricg(/*const*/ struct atm_qos *qos)21142114+static int pcr_to_cbricg(const struct atm_qos *qos)21162115{21172116 int rounddown = 0; /* 1 = Round PCR down, i.e. round ICG _up_ */21182117 int x, icg, pcr = atm_pcr_goal(&qos->txtp);···24352434 return result;24362435}2437243624382438-#if 024392439-/* ioctl operations for card */24402440-/* NOTE: these are all DEBUGGING ONLY currently */24412441-static int lanai_ioctl(struct atm_dev *atmdev, unsigned int cmd, void __user *arg)24422442-{24432443- int result = 0;24442444- struct lanai_dev *lanai = (struct lanai_dev *) atmdev->dev_data;24452445- switch(cmd) {24462446- case 2106275:24472447- shutdown_atm_dev(atmdev);24482448- return 0;24492449- case 2200000: {24502450- unsigned long flags;24512451- spin_lock_irqsave(&lanai->servicelock, flags);24522452- run_service(lanai);24532453- spin_unlock_irqrestore(&lanai->servicelock, flags);24542454- return 0; }24552455- case 2200002:24562456- get_statistics(lanai);24572457- return 0;24582458- case 2200003: {24592459- unsigned int i;24602460- for (i = 0; i <= 0x5C ; i += 4) {24612461- if (i==0x48) /* Write-only butt reg */24622462- continue;24632463- printk(KERN_CRIT DEV_LABEL " 0x%02X: "24642464- "0x%08X\n", i,24652465- (unsigned int) readl(lanai->base + i));24662466- barrier(); mb();24672467- pcistatus_check(lanai, 0);24682468- barrier(); mb();24692469- }24702470- return 0; }24712471- case 2200004: {24722472- u8 b;24732473- u16 w;24742474- u32 dw;24752475- struct pci_dev *pci = lanai->pci;24762476- (void) pci_read_config_word(pci, PCI_VENDOR_ID, &w);24772477- DPRINTK("vendor = 0x%X\n", (unsigned int) w);24782478- (void) pci_read_config_word(pci, PCI_DEVICE_ID, &w);24792479- DPRINTK("device = 0x%X\n", (unsigned int) w);24802480- (void) pci_read_config_word(pci, PCI_COMMAND, &w);24812481- DPRINTK("command = 0x%X\n", (unsigned int) w);24822482- (void) pci_read_config_word(pci, PCI_STATUS, &w);24832483- DPRINTK("status = 0x%X\n", (unsigned int) w);24842484- (void) pci_read_config_dword(pci,24852485- PCI_CLASS_REVISION, &dw);24862486- DPRINTK("class/revision = 0x%X\n", (unsigned int) dw);24872487- (void) pci_read_config_byte(pci,24882488- PCI_CACHE_LINE_SIZE, &b);24892489- DPRINTK("cache line size = 0x%X\n", (unsigned int) b);24902490- (void) pci_read_config_byte(pci, PCI_LATENCY_TIMER, &b);24912491- DPRINTK("latency = %d (0x%X)\n",24922492- (int) b, (unsigned int) b);24932493- (void) pci_read_config_byte(pci, PCI_HEADER_TYPE, &b);24942494- DPRINTK("header type = 0x%X\n", (unsigned int) b);24952495- (void) pci_read_config_byte(pci, PCI_BIST, &b);24962496- DPRINTK("bist = 0x%X\n", (unsigned int) b);24972497- /* skipping a few here */24982498- (void) pci_read_config_byte(pci,24992499- PCI_INTERRUPT_LINE, &b);25002500- DPRINTK("pci_int_line = 0x%X\n", (unsigned int) b);25012501- (void) pci_read_config_byte(pci,25022502- PCI_INTERRUPT_PIN, &b);25032503- DPRINTK("pci_int_pin = 0x%X\n", (unsigned int) b);25042504- (void) pci_read_config_byte(pci, PCI_MIN_GNT, &b);25052505- DPRINTK("min_gnt = 0x%X\n", (unsigned int) b);25062506- (void) pci_read_config_byte(pci, PCI_MAX_LAT, &b);25072507- DPRINTK("max_lat = 0x%X\n", (unsigned int) b); }25082508- return 0;25092509-#ifdef USE_POWERDOWN25102510- case 2200005:25112511- DPRINTK("Coming out of powerdown\n");25122512- lanai->conf1 &= ~CONFIG1_POWERDOWN;25132513- conf1_write(lanai);25142514- return 0;25152515-#endif25162516- default:25172517- result = -ENOIOCTLCMD;25182518- }25192519- return result;25202520-}25212521-#else /* !0 */25222522-#define lanai_ioctl NULL25232523-#endif /* 0 */25242524-25252437static int lanai_send(struct atm_vcc *atmvcc, struct sk_buff *skb)25262438{25272439 struct lanai_vcc *lvcc = (struct lanai_vcc *) atmvcc->dev_data;···25922678 .dev_close = lanai_dev_close,25932679 .open = lanai_open,25942680 .close = lanai_close,25952595- .ioctl = lanai_ioctl,25962681 .getsockopt = NULL,25972682 .setsockopt = NULL,25982683 .send = lanai_send,···26732760 * gone, so there isn't much to do26742761 */26752762 DPRINTK("cleanup_module()\n");27632763+ pci_unregister_driver(&lanai_driver);26762764}2677276526782766module_init(lanai_module_init);
+1-1
drivers/char/mem.c
···591591592592 if (vma->vm_start > addr || (vma->vm_flags & VM_WRITE) == 0)593593 goto out_up;594594- if (vma->vm_flags & (VM_SHARED | VM_HUGETLB | VM_UNPAGED))594594+ if (vma->vm_flags & (VM_SHARED | VM_HUGETLB))595595 break;596596 count = vma->vm_end - addr;597597 if (count > size)
+2-10
drivers/cpufreq/cpufreq.c
···11131113{11141114 int retval = -EINVAL;1115111511161116- /*11171117- * If we are already in context of hotplug thread, we dont need to11181118- * acquire the hotplug lock. Otherwise acquire cpucontrol to prevent11191119- * hotplug from removing this cpu that we are working on.11201120- */11211121- if (!current_in_cpu_hotplug())11221122- lock_cpu_hotplug();11231123-11161116+ lock_cpu_hotplug();11241117 dprintk("target for CPU %u: %u kHz, relation %u\n", policy->cpu,11251118 target_freq, relation);11261119 if (cpu_online(policy->cpu) && cpufreq_driver->target)11271120 retval = cpufreq_driver->target(policy, target_freq, relation);1128112111291129- if (!current_in_cpu_hotplug())11301130- unlock_cpu_hotplug();11221122+ unlock_cpu_hotplug();1131112311321124 return retval;11331125}
···953953 int mirror = 0;954954 mirror_info_t *p;955955956956- if (rdev->saved_raid_disk >= 0 &&957957- conf->mirrors[rdev->saved_raid_disk].rdev == NULL)958958- mirror = rdev->saved_raid_disk;959956 for (mirror=0; mirror < mddev->raid_disks; mirror++)960957 if ( !(p=conf->mirrors+mirror)->rdev) {961958···969972 p->head_position = 0;970973 rdev->raid_disk = mirror;971974 found = 1;972972- if (rdev->saved_raid_disk != mirror)975975+ /* As all devices are equivalent, we don't need a full recovery976976+ * if this was recently any drive of the array977977+ */978978+ if (rdev->saved_raid_disk < 0)973979 conf->fullsync = 1;974980 rcu_assign_pointer(p->rdev, rdev);975981 break;
+5-1
drivers/md/raid10.c
···552552 !test_bit(In_sync, &rdev->flags))553553 continue;554554555555- if (!atomic_read(&rdev->nr_pending)) {555555+ /* This optimisation is debatable, and completely destroys556556+ * sequential read speed for 'far copies' arrays. So only557557+ * keep it for 'near' arrays, and review those later.558558+ */559559+ if (conf->near_copies > 1 && !atomic_read(&rdev->nr_pending)) {556560 disk = ndisk;557561 slot = nslot;558562 break;
+2
drivers/md/raid5.c
···1704170417051705 if (conf->seq_flush - conf->seq_write > 0) {17061706 int seq = conf->seq_flush;17071707+ spin_unlock_irq(&conf->device_lock);17071708 bitmap_unplug(mddev->bitmap);17091709+ spin_lock_irq(&conf->device_lock);17081710 conf->seq_write = seq;17091711 activate_bit_delay(conf);17101712 }
+23-4
drivers/md/raid6main.c
···17021702 int data_disks = raid_disks - 2;17031703 sector_t max_sector = mddev->size << 1;17041704 int sync_blocks;17051705+ int still_degraded = 0;17061706+ int i;1705170717061708 if (sector_nr >= max_sector) {17071709 /* just being told to finish up .. nothing much to do */···17121710 if (mddev->curr_resync < max_sector) /* aborted */17131711 bitmap_end_sync(mddev->bitmap, mddev->curr_resync,17141712 &sync_blocks, 1);17151715- else /* compelted sync */17131713+ else /* completed sync */17161714 conf->fullsync = 0;17171715 bitmap_close_sync(mddev->bitmap);17181716···17501748 */17511749 schedule_timeout_uninterruptible(1);17521750 }17531753- bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, 0);17511751+ /* Need to check if array will still be degraded after recovery/resync17521752+ * We don't need to check the 'failed' flag as when that gets set,17531753+ * recovery aborts.17541754+ */17551755+ for (i=0; i<mddev->raid_disks; i++)17561756+ if (conf->disks[i].rdev == NULL)17571757+ still_degraded = 1;17581758+17591759+ bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, still_degraded);17601760+17541761 spin_lock(&sh->lock);17551762 set_bit(STRIPE_SYNCING, &sh->state);17561763 clear_bit(STRIPE_INSYNC, &sh->state);···1795178417961785 if (conf->seq_flush - conf->seq_write > 0) {17971786 int seq = conf->seq_flush;17871787+ spin_unlock_irq(&conf->device_lock);17981788 bitmap_unplug(mddev->bitmap);17891789+ spin_lock_irq(&conf->device_lock);17991790 conf->seq_write = seq;18001791 activate_bit_delay(conf);18011792 }···21582145 /* no point adding a device */21592146 return 0;21602147 /*21612161- * find the disk ...21482148+ * find the disk ... but prefer rdev->saved_raid_disk21492149+ * if possible.21622150 */21632163- for (disk=0; disk < mddev->raid_disks; disk++)21512151+ if (rdev->saved_raid_disk >= 0 &&21522152+ conf->disks[rdev->saved_raid_disk].rdev == NULL)21532153+ disk = rdev->saved_raid_disk;21542154+ else21552155+ disk = 0;21562156+ for ( ; disk < mddev->raid_disks; disk++)21642157 if ((p=conf->disks + disk)->rdev == NULL) {21652158 clear_bit(In_sync, &rdev->flags);21662159 rdev->raid_disk = disk;
+1-1
drivers/media/video/Kconfig
···2626 module will be called bttv.27272828config VIDEO_BT848_DVB2929- tristate "DVB/ATSC Support for bt878 based TV cards"2929+ bool "DVB/ATSC Support for bt878 based TV cards"3030 depends on VIDEO_BT848 && DVB_CORE3131 select DVB_BT8XX3232 ---help---
+10-10
drivers/media/video/cx88/Kconfig
···4646 If you are unsure, choose Y.47474848config VIDEO_CX88_DVB_MT3524949- tristate "Zarlink MT352 DVB-T Support"5050- default m4949+ bool "Zarlink MT352 DVB-T Support"5050+ default y5151 depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS5252 select DVB_MT3525353 ---help---···5555 Connexant 2388x chip and the MT352 demodulator.56565757config VIDEO_CX88_DVB_OR511325858- tristate "OR51132 ATSC Support"5959- default m5858+ bool "OR51132 ATSC Support"5959+ default y6060 depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS6161 select DVB_OR511326262 ---help---···6464 Connexant 2388x chip and the OR51132 demodulator.65656666config VIDEO_CX88_DVB_CX227026767- tristate "Conexant CX22702 DVB-T Support"6868- default m6767+ bool "Conexant CX22702 DVB-T Support"6868+ default y6969 depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS7070 select DVB_CX227027171 ---help---···7373 Connexant 2388x chip and the CX22702 demodulator.74747575config VIDEO_CX88_DVB_LGDT330X7676- tristate "LG Electronics DT3302/DT3303 ATSC Support"7777- default m7676+ bool "LG Electronics DT3302/DT3303 ATSC Support"7777+ default y7878 depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS7979 select DVB_LGDT330X8080 ---help---···8282 Connexant 2388x chip and the LGDT3302/LGDT3303 demodulator.83838484config VIDEO_CX88_DVB_NXT200X8585- tristate "NXT2002/NXT2004 ATSC Support"8686- default m8585+ bool "NXT2002/NXT2004 ATSC Support"8686+ default y8787 depends on VIDEO_CX88_DVB && !VIDEO_CX88_DVB_ALL_FRONTENDS8888 select DVB_NXT200X8989 ---help---
···10061006 * Public data decl's...10071007 */10081008extern struct list_head ioc_list;10091009+extern struct proc_dir_entry *mpt_proc_root_dir;1009101010101011extern int mpt_lan_index; /* needed by mptlan.c */10121012+extern int mpt_stm_index; /* needed by mptstm.c */1011101310121014/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/10131015#endif /* } __KERNEL__ */
···44 *55 * (C) 2000 Red Hat. GPL'd66 *77- * $Id: cfi_cmdset_0001.c,v 1.185 2005/11/07 11:14:22 gleixner Exp $77+ * $Id: cfi_cmdset_0001.c,v 1.186 2005/11/23 22:07:52 nico Exp $88 *99 *1010 * 10/10/2000 Nicolas Pitre <nico@cam.org>···644644 *645645 * - contension arbitration is handled in the owner's context.646646 *647647- * The 'shared' struct can be read when its lock is taken.648648- * However any writes to it can only be made when the current649649- * owner's lock is also held.647647+ * The 'shared' struct can be read and/or written only when648648+ * its lock is taken.650649 */651650 struct flchip_shared *shared = chip->priv;652651 struct flchip *contender;···674675 }675676 timeo = jiffies + HZ;676677 spin_lock(&shared->lock);678678+ spin_unlock(contender->mutex);677679 }678680679681 /* We now own it */680682 shared->writing = chip;681683 if (mode == FL_ERASING)682684 shared->erasing = chip;683683- if (contender && contender != chip)684684- spin_unlock(contender->mutex);685685 spin_unlock(&shared->lock);686686 }687687
+4-4
drivers/mtd/chips/cfi_probe.c
···11/*22 Common Flash Interface probe code.33 (C) 2000 Red Hat. GPL'd.44- $Id: cfi_probe.c,v 1.84 2005/11/07 11:14:23 gleixner Exp $44+ $Id: cfi_probe.c,v 1.86 2005/11/29 14:48:31 gleixner Exp $55*/6677#include <linux/config.h>···230230 cfi_send_gen_cmd(0xaa, 0x555, base, map, cfi, cfi->device_type, NULL);231231 cfi_send_gen_cmd(0x55, 0x2aa, base, map, cfi, cfi->device_type, NULL);232232 cfi_send_gen_cmd(0x90, 0x555, base, map, cfi, cfi->device_type, NULL);233233- cfi->mfr = cfi_read_query(map, base);234234- cfi->id = cfi_read_query(map, base + ofs_factor);233233+ cfi->mfr = cfi_read_query16(map, base);234234+ cfi->id = cfi_read_query16(map, base + ofs_factor);235235236236 /* Put it back into Read Mode */237237 cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);···426426 .module = THIS_MODULE427427};428428429429-int __init cfi_probe_init(void)429429+static int __init cfi_probe_init(void)430430{431431 register_mtd_chip_driver(&cfi_chipdrv);432432 return 0;
+66-57
drivers/mtd/chips/sharp.c
···44 * Copyright 2000,2001 David A. Schleef <ds@schleef.org>55 * 2000,2001 Lineo, Inc.66 *77- * $Id: sharp.c,v 1.16 2005/11/07 11:14:23 gleixner Exp $77+ * $Id: sharp.c,v 1.17 2005/11/29 14:28:28 gleixner Exp $88 *99 * Devices supported:1010 * LH28F016SCT Symmetrical block flash memory, 2Mx8···160160 return mtd;161161}162162163163+static inline void sharp_send_cmd(struct map_info *map, unsigned long cmd, unsigned long adr)164164+{165165+ map_word map_cmd;166166+ map_cmd.x[0] = cmd;167167+ map_write(map, map_cmd, adr);168168+}169169+163170static int sharp_probe_map(struct map_info *map,struct mtd_info *mtd)164171{165165- unsigned long tmp;172172+ map_word tmp, read0, read4;166173 unsigned long base = 0;167167- u32 read0, read4;168174 int width = 4;169175170170- tmp = map_read32(map, base+0);176176+ tmp = map_read(map, base+0);171177172172- map_write32(map, CMD_READ_ID, base+0);178178+ sharp_send_cmd(map, CMD_READ_ID, base+0);173179174174- read0=map_read32(map, base+0);175175- read4=map_read32(map, base+4);176176- if(read0 == 0x89898989){180180+ read0 = map_read(map, base+0);181181+ read4 = map_read(map, base+4);182182+ if(read0.x[0] == 0x89898989){177183 printk("Looks like sharp flash\n");178178- switch(read4){184184+ switch(read4.x[0]){179185 case 0xaaaaaaaa:180186 case 0xa0a0a0a0:181187 /* aa - LH28F016SCT-L95 2Mx8, 32 64k blocks*/···203197 return width;204198#endif205199 default:206206- printk("Sort-of looks like sharp flash, 0x%08x 0x%08x\n",207207- read0,read4);200200+ printk("Sort-of looks like sharp flash, 0x%08lx 0x%08lx\n",201201+ read0.x[0], read4.x[0]);208202 }209209- }else if((map_read32(map, base+0) == CMD_READ_ID)){203203+ }else if((map_read(map, base+0).x[0] == CMD_READ_ID)){210204 /* RAM, probably */211205 printk("Looks like RAM\n");212212- map_write32(map, tmp, base+0);206206+ map_write(map, tmp, base+0);213207 }else{214214- printk("Doesn't look like sharp flash, 0x%08x 0x%08x\n",215215- read0,read4);208208+ printk("Doesn't look like sharp flash, 0x%08lx 0x%08lx\n",209209+ read0.x[0], read4.x[0]);216210 }217211218212 return 0;···221215/* This function returns with the chip->mutex lock held. */222216static int sharp_wait(struct map_info *map, struct flchip *chip)223217{224224- int status, i;218218+ int i;219219+ map_word status;225220 unsigned long timeo = jiffies + HZ;226221 DECLARE_WAITQUEUE(wait, current);227222 int adr = 0;···232225233226 switch(chip->state){234227 case FL_READY:235235- map_write32(map,CMD_READ_STATUS,adr);228228+ sharp_send_cmd(map, CMD_READ_STATUS, adr);236229 chip->state = FL_STATUS;237230 case FL_STATUS:238231 for(i=0;i<100;i++){239239- status = map_read32(map,adr);240240- if((status & SR_READY)==SR_READY)232232+ status = map_read(map, adr);233233+ if((status.x[0] & SR_READY)==SR_READY)241234 break;242235 udelay(1);243236 }···261254 goto retry;262255 }263256264264- map_write32(map,CMD_RESET, adr);257257+ sharp_send_cmd(map, CMD_RESET, adr);265258266259 chip->state = FL_READY;267260···358351 int timeo;359352 int try;360353 int i;361361- int status = 0;354354+ map_word data, status;362355356356+ status.x[0] = 0;363357 ret = sharp_wait(map,chip);364358365359 for(try=0;try<10;try++){366366- map_write32(map,CMD_BYTE_WRITE,adr);360360+ sharp_send_cmd(map, CMD_BYTE_WRITE, adr);367361 /* cpu_to_le32 -> hack to fix the writel be->le conversion */368368- map_write32(map,cpu_to_le32(datum),adr);362362+ data.x[0] = cpu_to_le32(datum);363363+ map_write(map, data, adr);369364370365 chip->state = FL_WRITING;371366372367 timeo = jiffies + (HZ/2);373368374374- map_write32(map,CMD_READ_STATUS,adr);369369+ sharp_send_cmd(map, CMD_READ_STATUS, adr);375370 for(i=0;i<100;i++){376376- status = map_read32(map,adr);377377- if((status & SR_READY)==SR_READY)371371+ status = map_read(map, adr);372372+ if((status.x[0] & SR_READY) == SR_READY)378373 break;379374 }380375 if(i==100){381376 printk("sharp: timed out writing\n");382377 }383378384384- if(!(status&SR_ERRORS))379379+ if(!(status.x[0] & SR_ERRORS))385380 break;386381387387- printk("sharp: error writing byte at addr=%08lx status=%08x\n",adr,status);382382+ printk("sharp: error writing byte at addr=%08lx status=%08lx\n", adr, status.x[0]);388383389389- map_write32(map,CMD_CLEAR_STATUS,adr);384384+ sharp_send_cmd(map, CMD_CLEAR_STATUS, adr);390385 }391391- map_write32(map,CMD_RESET,adr);386386+ sharp_send_cmd(map, CMD_RESET, adr);392387 chip->state = FL_READY;393388394389 wake_up(&chip->wq);···443434{444435 int ret;445436 unsigned long timeo;446446- int status;437437+ map_word status;447438 DECLARE_WAITQUEUE(wait, current);448439449449- map_write32(map,CMD_READ_STATUS,adr);450450- status = map_read32(map,adr);440440+ sharp_send_cmd(map, CMD_READ_STATUS, adr);441441+ status = map_read(map, adr);451442452443 timeo = jiffies + HZ;453444454445 while(time_before(jiffies, timeo)){455455- map_write32(map,CMD_READ_STATUS,adr);456456- status = map_read32(map,adr);457457- if((status & SR_READY)==SR_READY){446446+ sharp_send_cmd(map, CMD_READ_STATUS, adr);447447+ status = map_read(map, adr);448448+ if((status.x[0] & SR_READY)==SR_READY){458449 ret = 0;459450 goto out;460451 }···485476{486477 int ret;487478 //int timeo;488488- int status;479479+ map_word status;489480 //int i;490481491482//printk("sharp_erase_oneblock()\n");···495486 sharp_unlock_oneblock(map,chip,adr);496487#endif497488498498- map_write32(map,CMD_BLOCK_ERASE_1,adr);499499- map_write32(map,CMD_BLOCK_ERASE_2,adr);489489+ sharp_send_cmd(map, CMD_BLOCK_ERASE_1, adr);490490+ sharp_send_cmd(map, CMD_BLOCK_ERASE_2, adr);500491501492 chip->state = FL_ERASING;502493503494 ret = sharp_do_wait_for_ready(map,chip,adr);504495 if(ret<0)return ret;505496506506- map_write32(map,CMD_READ_STATUS,adr);507507- status = map_read32(map,adr);497497+ sharp_send_cmd(map, CMD_READ_STATUS, adr);498498+ status = map_read(map, adr);508499509509- if(!(status&SR_ERRORS)){510510- map_write32(map,CMD_RESET,adr);500500+ if(!(status.x[0] & SR_ERRORS)){501501+ sharp_send_cmd(map, CMD_RESET, adr);511502 chip->state = FL_READY;512503 //spin_unlock_bh(chip->mutex);513504 return 0;514505 }515506516516- printk("sharp: error erasing block at addr=%08lx status=%08x\n",adr,status);517517- map_write32(map,CMD_CLEAR_STATUS,adr);507507+ printk("sharp: error erasing block at addr=%08lx status=%08lx\n", adr, status.x[0]);508508+ sharp_send_cmd(map, CMD_CLEAR_STATUS, adr);518509519510 //spin_unlock_bh(chip->mutex);520511···526517 unsigned long adr)527518{528519 int i;529529- int status;520520+ map_word status;530521531531- map_write32(map,CMD_CLEAR_BLOCK_LOCKS_1,adr);532532- map_write32(map,CMD_CLEAR_BLOCK_LOCKS_2,adr);522522+ sharp_send_cmd(map, CMD_CLEAR_BLOCK_LOCKS_1, adr);523523+ sharp_send_cmd(map, CMD_CLEAR_BLOCK_LOCKS_2, adr);533524534525 udelay(100);535526536536- status = map_read32(map,adr);537537- printk("status=%08x\n",status);527527+ status = map_read(map, adr);528528+ printk("status=%08lx\n", status.x[0]);538529539530 for(i=0;i<1000;i++){540540- //map_write32(map,CMD_READ_STATUS,adr);541541- status = map_read32(map,adr);542542- if((status & SR_READY)==SR_READY)531531+ //sharp_send_cmd(map, CMD_READ_STATUS, adr);532532+ status = map_read(map, adr);533533+ if((status.x[0] & SR_READY) == SR_READY)543534 break;544535 udelay(100);545536 }···547538 printk("sharp: timed out unlocking block\n");548539 }549540550550- if(!(status&SR_ERRORS)){551551- map_write32(map,CMD_RESET,adr);541541+ if(!(status.x[0] & SR_ERRORS)){542542+ sharp_send_cmd(map, CMD_RESET, adr);552543 chip->state = FL_READY;553544 return;554545 }555546556556- printk("sharp: error unlocking block at addr=%08lx status=%08x\n",adr,status);557557- map_write32(map,CMD_CLEAR_STATUS,adr);547547+ printk("sharp: error unlocking block at addr=%08lx status=%08lx\n", adr, status.x[0]);548548+ sharp_send_cmd(map, CMD_CLEAR_STATUS, adr);558549}559550#endif560551
+3-3
drivers/mtd/devices/block2mtd.c
···11/*22- * $Id: block2mtd.c,v 1.29 2005/11/07 11:14:24 gleixner Exp $22+ * $Id: block2mtd.c,v 1.30 2005/11/29 14:48:32 gleixner Exp $33 *44 * block2mtd.c - create an mtd from a block device55 *···1919#include <linux/mtd/mtd.h>2020#include <linux/buffer_head.h>21212222-#define VERSION "$Revision: 1.29 $"2222+#define VERSION "$Revision: 1.30 $"232324242525#define ERROR(fmt, args...) printk(KERN_ERR "block2mtd: " fmt "\n" , ## args)···404041414242#define PAGE_READAHEAD 644343-void cache_readahead(struct address_space *mapping, int index)4343+static void cache_readahead(struct address_space *mapping, int index)4444{4545 filler_t *filler = (filler_t*)mapping->a_ops->readpage;4646 int i, pagei;
+3-3
drivers/mtd/devices/ms02-nv.c
···66 * as published by the Free Software Foundation; either version77 * 2 of the License, or (at your option) any later version.88 *99- * $Id: ms02-nv.c,v 1.10 2005/06/20 12:24:41 macro Exp $99+ * $Id: ms02-nv.c,v 1.11 2005/11/14 13:41:47 macro Exp $1010 */11111212#include <linux/init.h>···293293294294 switch (mips_machtype) {295295 case MACH_DS5000_200:296296- csr = (volatile u32 *)KN02_CSR_BASE;296296+ csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE + KN02_CSR);297297 if (*csr & KN02_CSR_BNK32M)298298 stride = 2;299299 break;300300 case MACH_DS5000_2X0:301301 case MACH_DS5900:302302- csr = (volatile u32 *)KN03_MCR_BASE;302302+ csr = (volatile u32 *)CKSEG1ADDR(KN03_SLOT_BASE + IOASIC_MCR);303303 if (*csr & KN03_MCR_BNK32M)304304 stride = 2;305305 break;
+3-3
drivers/mtd/ftl.c
···11/* This version ported to the Linux-MTD system by dwmw2@infradead.org22- * $Id: ftl.c,v 1.58 2005/11/07 11:14:19 gleixner Exp $22+ * $Id: ftl.c,v 1.59 2005/11/29 14:48:31 gleixner Exp $33 *44 * Fixes: Arnaldo Carvalho de Melo <acme@conectiva.com.br>55 * - fixes some leaks on failure in build_maps and ftl_notify_add, cleanups···10841084 .owner = THIS_MODULE,10851085};1086108610871087-int init_ftl(void)10871087+static int init_ftl(void)10881088{10891089- DEBUG(0, "$Id: ftl.c,v 1.58 2005/11/07 11:14:19 gleixner Exp $\n");10891089+ DEBUG(0, "$Id: ftl.c,v 1.59 2005/11/29 14:48:31 gleixner Exp $\n");1090109010911091 return register_mtd_blktrans(&ftl_tr);10921092}
-6
drivers/mtd/maps/Kconfig
···538538 This enables access to the flash chips on the Interface MPC-1211(CTP/PCI/MPC-SH02).539539 If you have such a board, say 'Y'.540540541541-config MTD_PQ2FADS542542- tristate "JEDEC flash SIMM mapped on PQ2FADS and 8272ADS boards"543543- depends on (ADS8272 || PQ2FADS) && MTD_PARTITIONS && MTD_JEDECPROBE && MTD_PHYSMAP && MTD_CFI_GEOMETRY && MTD_CFI_INTELEXT544544- help545545- This enables access to flash SIMM on PQ2FADS-like boards546546-547541config MTD_OMAP_NOR548542 tristate "TI OMAP board mappings"549543 depends on MTD_CFI && ARCH_OMAP
···1616 * along with this program; if not, write to the Free Software1717 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA1818 *1919- * $Id: sc520cdp.c,v 1.22 2005/11/07 11:14:28 gleixner Exp $1919+ * $Id: sc520cdp.c,v 1.23 2005/11/17 08:20:27 dwmw2 Exp $2020 *2121 *2222 * The SC520CDP is an evaluation board for the Elan SC520 processor available···164164 unsigned long default_address;165165};166166167167-static struct sc520_par_table par_table[NUM_FLASH_BANKS] =167167+static const struct sc520_par_table par_table[NUM_FLASH_BANKS] =168168{169169 { /* Flash Bank #0: selected by ROMCS0 */170170 SC520_PAR_ROMCS0,
···30303131#define PREFIX "rfd_ftl: "32323333-/* Major device # for FTL device */3434-3535-/* A request for this major has been sent to device@lanana.org */3333+/* This major has been assigned by device@lanana.org */3634#ifndef RFD_FTL_MAJOR3737-#define RFD_FTL_MAJOR 953535+#define RFD_FTL_MAJOR 2563836#endif39374038/* Maximum number of partitions in an FTL region */
···879879880880 fail:881881 instance->atm_dev = NULL;882882- shutdown_atm_dev(atm_dev); /* usbatm_atm_dev_close will eventually be called */882882+ atm_dev_deregister(atm_dev); /* usbatm_atm_dev_close will eventually be called */883883 return ret;884884}885885···1164116411651165 /* ATM finalize */11661166 if (instance->atm_dev)11671167- shutdown_atm_dev(instance->atm_dev);11671167+ atm_dev_deregister(instance->atm_dev);1168116811691169 usbatm_put_instance(instance); /* taken in usbatm_usb_probe */11701170}
+7-6
drivers/video/Kconfig
···534534 bool "Sun3 framebuffer support"535535 depends on (FB = y) && (SUN3 || SUN3X) && BROKEN536536537537+config FB_SBUS538538+ bool "SBUS and UPA framebuffers"539539+ depends on (FB = y) && (SPARC32 || SPARC64)540540+ help541541+ Say Y if you want support for SBUS or UPA based frame buffer device.542542+537543config FB_BW2538544 bool "BWtwo support"539545 depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)···552546config FB_CG3553547 bool "CGthree support"554548 depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)549549+ select FB_CFB_FILLRECT555550 select FB_CFB_COPYAREA556551 select FB_CFB_IMAGEBLIT557552 help···12161209 depends on (FB = y) && EXPERIMENTAL && PCI && MIPS && MIPS_PB1100=y1217121012181211source "drivers/video/geode/Kconfig"12191219-12201220-config FB_SBUS12211221- bool "SBUS and UPA framebuffers"12221222- depends on (FB = y) && (SPARC32 || SPARC64)12231223- help12241224- Say Y if you want support for SBUS or UPA based frame buffer device.1225121212261213config FB_FFB12271214 bool "Creator/Creator3D/Elite3D support"
+9-6
drivers/video/cirrusfb.c
···404404 struct cirrusfb_regs currentmode;405405 int blank_mode;406406407407- u32 pseudo_palette[17];407407+ u32 pseudo_palette[16];408408 struct { u8 red, green, blue, pad; } palette[256];409409410410#ifdef CONFIG_ZORRO···1603160316041604 switch (info->var.bits_per_pixel) {16051605 case 8:16061606- ((u8*)(info->pseudo_palette))[regno] = v;16061606+ cinfo->pseudo_palette[regno] = v;16071607 break;16081608 case 16:16091609- ((u16*)(info->pseudo_palette))[regno] = v;16091609+ cinfo->pseudo_palette[regno] = v;16101610 break;16111611 case 24:16121612 case 32:16131613- ((u32*)(info->pseudo_palette))[regno] = v;16131613+ cinfo->pseudo_palette[regno] = v;16141614 break;16151615 }16161616 return 0;···20202020 const struct fb_fillrect *region)20212021{20222022 int m; /* bytes per pixel */20232023+ u32 color = (cinfo->info->fix.visual == FB_VISUAL_TRUECOLOR) ?20242024+ cinfo->pseudo_palette[region->color] : region->color;20252025+20232026 if(cinfo->info->var.bits_per_pixel == 1) {20242027 cirrusfb_RectFill(cinfo->regbase, cinfo->info->var.bits_per_pixel,20252028 region->dx / 8, region->dy,20262029 region->width / 8, region->height,20272027- region->color,20302030+ color,20282031 cinfo->currentmode.line_length);20292032 } else {20302033 m = ( cinfo->info->var.bits_per_pixel + 7 ) / 8;20312034 cirrusfb_RectFill(cinfo->regbase, cinfo->info->var.bits_per_pixel,20322035 region->dx * m, region->dy,20332036 region->width * m, region->height,20342034- region->color,20372037+ color,20352038 cinfo->currentmode.line_length);20362039 }20372040 return;
+1-1
drivers/video/console/fbcon_ccw.c
···3434 msk <<= (8 - mod);35353636 if (offset > mod)3737- set_bit(FBCON_BIT(7), (void *)&msk1);3737+ msk1 |= 0x01;38383939 for (i = 0; i < vc->vc_font.width; i++) {4040 for (j = 0; j < width; j++) {
+3-10
drivers/video/console/fbcon_rotate.h
···2121 (s == SCROLL_REDRAW || s == SCROLL_MOVE || !(i)->fix.xpanstep) ? \2222 (i)->var.xres : (i)->var.xres_virtual; })23232424-/*2525- * The bitmap is always big endian2626- */2727-#if defined(__LITTLE_ENDIAN)2828-#define FBCON_BIT(b) (7 - (b))2929-#else3030-#define FBCON_BIT(b) (b)3131-#endif32243325static inline int pattern_test_bit(u32 x, u32 y, u32 pitch, const char *pat)3426{3527 u32 tmp = (y * pitch) + x, index = tmp / 8, bit = tmp % 8;36283729 pat +=index;3838- return (test_bit(FBCON_BIT(bit), (void *)pat));3030+ return (*pat) & (0x80 >> bit);3931}40324133static inline void pattern_set_bit(u32 x, u32 y, u32 pitch, char *pat)···3543 u32 tmp = (y * pitch) + x, index = tmp / 8, bit = tmp % 8;36443745 pat += index;3838- set_bit(FBCON_BIT(bit), (void *)pat);4646+4747+ (*pat) |= 0x80 >> bit;3948}40494150static inline void rotate_ud(const char *in, char *out, u32 width, u32 height)
···251251 return 0;252252 if (!(*flags & MS_RDONLY)) {253253 struct hfsplus_vh *vhdr = HFSPLUS_SB(sb).s_vhdr;254254+ struct hfsplus_sb_info sbi;255255+256256+ memset(&sbi, 0, sizeof(struct hfsplus_sb_info));257257+ sbi.nls = HFSPLUS_SB(sb).nls;258258+ if (!hfsplus_parse_options(data, &sbi))259259+ return -EINVAL;254260255261 if (!(vhdr->attributes & cpu_to_be32(HFSPLUS_VOL_UNMNT))) {256262 printk("HFS+-fs warning: Filesystem was not cleanly unmounted, "257263 "running fsck.hfsplus is recommended. leaving read-only.\n");258264 sb->s_flags |= MS_RDONLY;259265 *flags |= MS_RDONLY;266266+ } else if (sbi.flags & HFSPLUS_SB_FORCE) {267267+ /* nothing */260268 } else if (vhdr->attributes & cpu_to_be32(HFSPLUS_VOL_SOFTLOCK)) {261269 printk("HFS+-fs: Filesystem is marked locked, leaving read-only.\n");270270+ sb->s_flags |= MS_RDONLY;271271+ *flags |= MS_RDONLY;272272+ } else if (vhdr->attributes & cpu_to_be32(HFSPLUS_VOL_JOURNALED)) {273273+ printk("HFS+-fs: Filesystem is marked journaled, leaving read-only.\n");262274 sb->s_flags |= MS_RDONLY;263275 *flags |= MS_RDONLY;264276 }···364352 printk("HFS+-fs warning: Filesystem was not cleanly unmounted, "365353 "running fsck.hfsplus is recommended. mounting read-only.\n");366354 sb->s_flags |= MS_RDONLY;355355+ } else if (sbi->flags & HFSPLUS_SB_FORCE) {356356+ /* nothing */367357 } else if (vhdr->attributes & cpu_to_be32(HFSPLUS_VOL_SOFTLOCK)) {368358 if (!silent)369359 printk("HFS+-fs: Filesystem is marked locked, mounting read-only.\n");370360 sb->s_flags |= MS_RDONLY;361361+ } else if (vhdr->attributes & cpu_to_be32(HFSPLUS_VOL_JOURNALED)) {362362+ if (!silent)363363+ printk("HFS+-fs: write access to a jounaled filesystem is not supported, "364364+ "use the force option at your own risk, mounting read-only.\n");365365+ sb->s_flags |= MS_RDONLY;371366 }367367+ sbi->flags &= ~HFSPLUS_SB_FORCE;372368373369 /* Load metadata objects (B*Trees) */374370 HFSPLUS_SB(sb).ext_tree = hfs_btree_open(sb, HFSPLUS_EXT_CNID);
+2
fs/jffs2/fs.c
···234234 c = JFFS2_SB_INFO(inode->i_sb);235235236236 jffs2_init_inode_info(f);237237+ down(&f->sem);237238238239 ret = jffs2_do_read_inode(c, f, inode->i_ino, &latest_node);239240···401400402401 f = JFFS2_INODE_INFO(inode);403402 jffs2_init_inode_info(f);403403+ down(&f->sem);404404405405 memset(ri, 0, sizeof(*ri));406406 /* Set OS-specific defaults for new inodes */
···402402/*403403 * Calculate numa node maps for a vma404404 */405405-static struct numa_maps *get_numa_maps(const struct vm_area_struct *vma)405405+static struct numa_maps *get_numa_maps(struct vm_area_struct *vma)406406{407407+ int i;407408 struct page *page;408409 unsigned long vaddr;409409- struct mm_struct *mm = vma->vm_mm;410410- int i;411410 struct numa_maps *md = kmalloc(sizeof(struct numa_maps), GFP_KERNEL);412411413412 if (!md)···419420 md->node[i] =0;420421421422 for (vaddr = vma->vm_start; vaddr < vma->vm_end; vaddr += PAGE_SIZE) {422422- page = follow_page(mm, vaddr, 0);423423+ page = follow_page(vma, vaddr, 0);423424 if (page) {424425 int count = page_mapcount(page);425426
+1-1
fs/reiserfs/inode.c
···21942194 INITIALIZE_PATH(path);21952195 int pos_in_item;21962196 int jbegin_count = JOURNAL_PER_BALANCE_CNT;21972197- loff_t byte_offset = (block << inode->i_sb->s_blocksize_bits) + 1;21972197+ loff_t byte_offset = ((loff_t)block << inode->i_sb->s_blocksize_bits)+1;21982198 int retval;21992199 int use_get_block = 0;22002200 int bytes_copied = 0;
+9
fs/reiserfs/journal.c
···27572757 journal->j_cnode_used = 0;27582758 journal->j_must_wait = 0;2759275927602760+ if (journal->j_cnode_free == 0) {27612761+ reiserfs_warning(p_s_sb, "journal-2004: Journal cnode memory "27622762+ "allocation failed (%ld bytes). Journal is "27632763+ "too large for available memory. Usually "27642764+ "this is due to a journal that is too large.",27652765+ sizeof (struct reiserfs_journal_cnode) * num_cnodes);27662766+ goto free_and_return;27672767+ }27682768+27602769 init_journal_hash(p_s_sb);27612770 jl = journal->j_current_jl;27622771 jl->j_list_bitmap = get_list_bitmap(p_s_sb, jl);
···58585959#endif60606161-#define PREEMPT_ACTIVE 0x40000006161+#define PREEMPT_ACTIVE 0x1000000062626363/*6464 * macros/functions for gaining access to the thread information structure
···242242 */243243#define atomic_add_negative(i,v) (atomic_add_return((i), (v)) < 0)244244245245+#define atomic_cmpxchg(v, o, n) ((int)cmpxchg(&((v)->counter), (o), (n)))246246+247247+/**248248+ * atomic_add_unless - add unless the number is a given value249249+ * @v: pointer of type atomic_t250250+ * @a: the amount to add to v...251251+ * @u: ...unless v is equal to u.252252+ *253253+ * Atomically adds @a to @v, so long as it was not @u.254254+ * Returns non-zero if @v was not @u, and zero otherwise.255255+ */256256+#define atomic_add_unless(v, a, u) \257257+({ \258258+ int c, old; \259259+ c = atomic_read(v); \260260+ while (c != (u) && (old = atomic_cmpxchg((v), c, c + (a))) != c) \261261+ c = old; \262262+ c != (u); \263263+})264264+#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)265265+245266static __inline__ void atomic_clear_mask(unsigned long mask, atomic_t *addr)246267{247268 unsigned long flags;
+8-5
include/asm-m32r/ide.h
···2525# endif2626#endif27272828-#if defined(CONFIG_PLAT_M32700UT)2929-#include <asm/irq.h>3030-#include <asm/m32700ut/m32700ut_pld.h>3131-#endif2828+#include <asm/m32r.h>2929+32303331#define IDE_ARCH_OBSOLETE_DEFAULTS34323533static __inline__ int ide_default_irq(unsigned long base)3634{3735 switch (base) {3838-#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3)3636+#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)3937 case 0x1f0: return PLD_IRQ_CFIREQ;3838+ default:3939+ return 0;4040+#elif defined(CONFIG_PLAT_MAPPI3)4141+ case 0x1f0: return PLD_IRQ_CFIREQ;4242+ case 0x170: return PLD_IRQ_IDEIREQ;4043 default:4144 return 0;4245#else
···145145#define VM_GROWSDOWN 0x00000100 /* general info on the segment */146146#define VM_GROWSUP 0x00000200147147#define VM_SHM 0x00000000 /* Means nothing: delete it later */148148-#define VM_UNPAGED 0x00000400 /* Pages managed without map count */148148+#define VM_PFNMAP 0x00000400 /* Page-ranges managed without "struct page", just pure PFN */149149#define VM_DENYWRITE 0x00000800 /* ETXTBSY on write attempts.. */150150151151#define VM_EXECUTABLE 0x00001000···163163#define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */164164#define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */165165#define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */166166+#define VM_INCOMPLETE 0x02000000 /* Strange partial PFN mapping marker */166167167168#ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */168169#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS···665664 unsigned long truncate_count; /* Compare vm_truncate_count */666665};667666667667+struct page *vm_normal_page(struct vm_area_struct *, unsigned long, pte_t);668668unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address,669669 unsigned long size, struct zap_details *);670670unsigned long unmap_vmas(struct mmu_gather **tlb,···741739struct shrinker;742740extern struct shrinker *set_shrinker(int, shrinker_t);743741extern void remove_shrinker(struct shrinker *shrinker);742742+743743+extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl));744744745745int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address);746746int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address);···957953int remap_pfn_range(struct vm_area_struct *, unsigned long addr,958954 unsigned long pfn, unsigned long size, pgprot_t);959955960960-struct page *follow_page(struct mm_struct *, unsigned long address,956956+struct page *follow_page(struct vm_area_struct *, unsigned long address,961957 unsigned int foll_flags);962958#define FOLL_WRITE 0x01 /* check pte is writable */963959#define FOLL_TOUCH 0x02 /* mark page accessed */
+2-2
include/linux/mmc/protocol.h
···6363 /* class 5 */6464#define MMC_ERASE_GROUP_START 35 /* ac [31:0] data addr R1 */6565#define MMC_ERASE_GROUP_END 36 /* ac [31:0] data addr R1 */6666-#define MMC_ERASE 37 /* ac R1b */6666+#define MMC_ERASE 38 /* ac R1b */67676868 /* class 9 */6969#define MMC_FAST_IO 39 /* ac <Complex> R4 */···74747575 /* class 8 */7676#define MMC_APP_CMD 55 /* ac [31:16] RCA R1 */7777-#define MMC_GEN_CMD 56 /* adtc [0] RD/WR R1b */7777+#define MMC_GEN_CMD 56 /* adtc [0] RD/WR R1 */78787979/* SD commands type argument response */8080 /* class 8 */
+17-1
include/linux/mtd/cfi.h
···1122/* Common Flash Interface structures33 * See http://support.intel.com/design/flash/technote/index.htm44- * $Id: cfi.h,v 1.56 2005/11/07 11:14:54 gleixner Exp $44+ * $Id: cfi.h,v 1.57 2005/11/15 23:28:17 tpoynor Exp $55 */6677#ifndef __MTD_CFI_H__···416416417417 if (map_bankwidth_is_1(map)) {418418 return val.x[0];419419+ } else if (map_bankwidth_is_2(map)) {420420+ return cfi16_to_cpu(val.x[0]);421421+ } else {422422+ /* No point in a 64-bit byteswap since that would just be423423+ swapping the responses from different chips, and we are424424+ only interested in one chip (a representative sample) */425425+ return cfi32_to_cpu(val.x[0]);426426+ }427427+}428428+429429+static inline uint16_t cfi_read_query16(struct map_info *map, uint32_t addr)430430+{431431+ map_word val = map_read(map, addr);432432+433433+ if (map_bankwidth_is_1(map)) {434434+ return val.x[0] & 0xff;419435 } else if (map_bankwidth_is_2(map)) {420436 return cfi16_to_cpu(val.x[0]);421437 } else {
+2-2
include/linux/rmap.h
···8989/*9090 * Called from mm/vmscan.c to handle paging out9191 */9292-int page_referenced(struct page *, int is_locked, int ignore_token);9292+int page_referenced(struct page *, int is_locked);9393int try_to_unmap(struct page *);94949595/*···109109#define anon_vma_prepare(vma) (0)110110#define anon_vma_link(vma) do {} while (0)111111112112-#define page_referenced(page,l,i) TestClearPageReferenced(page)112112+#define page_referenced(page,l) TestClearPageReferenced(page)113113#define try_to_unmap(page) SWAP_FAIL114114115115#endif /* CONFIG_MMU */
-1
include/linux/sched.h
···908908#define PF_SYNCWRITE 0x00200000 /* I am doing a sync write */909909#define PF_BORROWED_MM 0x00400000 /* I am a kthread doing use_mm */910910#define PF_RANDOMIZE 0x00800000 /* randomize virtual address space */911911-#define PF_HOTPLUG_CPU 0x01000000 /* Currently performing CPU hotplug */912911913912/*914913 * Only the _current_ task can read/write to tsk->flags, but other
···1616#include <asm/semaphore.h>17171818/* This protects CPUs going up and down... */1919-DECLARE_MUTEX(cpucontrol);2020-EXPORT_SYMBOL_GPL(cpucontrol);1919+static DECLARE_MUTEX(cpucontrol);21202221static struct notifier_block *cpu_chain;23222424-/*2525- * Used to check by callers if they need to acquire the cpucontrol2626- * or not to protect a cpu from being removed. Its sometimes required to2727- * call these functions both for normal operations, and in response to2828- * a cpu being added/removed. If the context of the call is in the same2929- * thread context as a CPU hotplug thread, we dont need to take the lock3030- * since its already protected3131- * check drivers/cpufreq/cpufreq.c for its usage - Ashok Raj3232- */2323+#ifdef CONFIG_HOTPLUG_CPU2424+static struct task_struct *lock_cpu_hotplug_owner;2525+static int lock_cpu_hotplug_depth;33263434-int current_in_cpu_hotplug(void)2727+static int __lock_cpu_hotplug(int interruptible)3528{3636- return (current->flags & PF_HOTPLUG_CPU);2929+ int ret = 0;3030+3131+ if (lock_cpu_hotplug_owner != current) {3232+ if (interruptible)3333+ ret = down_interruptible(&cpucontrol);3434+ else3535+ down(&cpucontrol);3636+ }3737+3838+ /*3939+ * Set only if we succeed in locking4040+ */4141+ if (!ret) {4242+ lock_cpu_hotplug_depth++;4343+ lock_cpu_hotplug_owner = current;4444+ }4545+4646+ return ret;3747}38483939-EXPORT_SYMBOL_GPL(current_in_cpu_hotplug);4949+void lock_cpu_hotplug(void)5050+{5151+ __lock_cpu_hotplug(0);5252+}5353+EXPORT_SYMBOL_GPL(lock_cpu_hotplug);40545555+void unlock_cpu_hotplug(void)5656+{5757+ if (--lock_cpu_hotplug_depth == 0) {5858+ lock_cpu_hotplug_owner = NULL;5959+ up(&cpucontrol);6060+ }6161+}6262+EXPORT_SYMBOL_GPL(unlock_cpu_hotplug);6363+6464+int lock_cpu_hotplug_interruptible(void)6565+{6666+ return __lock_cpu_hotplug(1);6767+}6868+EXPORT_SYMBOL_GPL(lock_cpu_hotplug_interruptible);6969+#endif /* CONFIG_HOTPLUG_CPU */41704271/* Need to know about CPUs going up/down? */4372int register_cpu_notifier(struct notifier_block *nb)4473{4574 int ret;46754747- if ((ret = down_interruptible(&cpucontrol)) != 0)7676+ if ((ret = lock_cpu_hotplug_interruptible()) != 0)4877 return ret;4978 ret = notifier_chain_register(&cpu_chain, nb);5050- up(&cpucontrol);7979+ unlock_cpu_hotplug();5180 return ret;5281}5382EXPORT_SYMBOL(register_cpu_notifier);54835584void unregister_cpu_notifier(struct notifier_block *nb)5685{5757- down(&cpucontrol);8686+ lock_cpu_hotplug();5887 notifier_chain_unregister(&cpu_chain, nb);5959- up(&cpucontrol);8888+ unlock_cpu_hotplug();6089}6190EXPORT_SYMBOL(unregister_cpu_notifier);6291···141112 goto out;142113 }143114144144- /*145145- * Leave a trace in current->flags indicating we are already in146146- * process of performing CPU hotplug. Callers can check if cpucontrol147147- * is already acquired by current thread, and if so not cause148148- * a dead lock by not acquiring the lock149149- */150150- current->flags |= PF_HOTPLUG_CPU;151115 err = notifier_call_chain(&cpu_chain, CPU_DOWN_PREPARE,152116 (void *)(long)cpu);153117 if (err == NOTIFY_BAD) {···193171out_allowed:194172 set_cpus_allowed(current, old_allowed);195173out:196196- current->flags &= ~PF_HOTPLUG_CPU;197174 unlock_cpu_hotplug();198175 return err;199176}···203182 int ret;204183 void *hcpu = (void *)(long)cpu;205184206206- if ((ret = down_interruptible(&cpucontrol)) != 0)185185+ if ((ret = lock_cpu_hotplug_interruptible()) != 0)207186 return ret;208187209188 if (cpu_online(cpu) || !cpu_present(cpu)) {···211190 goto out;212191 }213192214214- /*215215- * Leave a trace in current->flags indicating we are already in216216- * process of performing CPU hotplug.217217- */218218- current->flags |= PF_HOTPLUG_CPU;219193 ret = notifier_call_chain(&cpu_chain, CPU_UP_PREPARE, hcpu);220194 if (ret == NOTIFY_BAD) {221195 printk("%s: attempt to bring up CPU %u failed\n",···233217 if (ret != 0)234218 notifier_call_chain(&cpu_chain, CPU_UP_CANCELED, hcpu);235219out:236236- current->flags &= ~PF_HOTPLUG_CPU;237237- up(&cpucontrol);220220+ unlock_cpu_hotplug();238221 return ret;239222}
···3636 union cpu_time_count ret;3737 ret.sched = 0; /* high half always zero when .cpu used */3838 if (CPUCLOCK_WHICH(which_clock) == CPUCLOCK_SCHED) {3939- ret.sched = tp->tv_sec * NSEC_PER_SEC + tp->tv_nsec;3939+ ret.sched = (unsigned long long)tp->tv_sec * NSEC_PER_SEC + tp->tv_nsec;4040 } else {4141 ret.cpu = timespec_to_cputime(tp);4242 }
+16-5
kernel/power/main.c
···24242525DECLARE_MUTEX(pm_sem);26262727-struct pm_ops * pm_ops = NULL;2727+struct pm_ops *pm_ops;2828suspend_disk_method_t pm_disk_mode = PM_DISK_SHUTDOWN;29293030/**···151151#endif152152};153153154154+static inline int valid_state(suspend_state_t state)155155+{156156+ /* Suspend-to-disk does not really need low-level support.157157+ * It can work with reboot if needed. */158158+ if (state == PM_SUSPEND_DISK)159159+ return 1;160160+161161+ if (pm_ops && pm_ops->valid && !pm_ops->valid(state))162162+ return 0;163163+ return 1;164164+}165165+154166155167/**156168 * enter_state - Do common work of entering low-power state.···179167{180168 int error;181169182182- if (pm_ops && pm_ops->valid && !pm_ops->valid(state))170170+ if (!valid_state(state))183171 return -ENODEV;184172 if (down_trylock(&pm_sem))185173 return -EBUSY;···250238 char * s = buf;251239252240 for (i = 0; i < PM_SUSPEND_MAX; i++) {253253- if (pm_states[i] && pm_ops && (!pm_ops->valid254254- ||(pm_ops->valid && pm_ops->valid(i))))255255- s += sprintf(s,"%s ",pm_states[i]);241241+ if (pm_states[i] && valid_state(i))242242+ s += sprintf(s,"%s ", pm_states[i]);256243 }257244 s += sprintf(s,"\n");258245 return (s - buf);
···102102103103 if (!test_and_set_bit(0, &work->pending)) {104104 if (unlikely(is_single_threaded(wq)))105105- cpu = 0;105105+ cpu = any_online_cpu(cpu_online_map);106106 BUG_ON(!list_empty(&work->entry));107107 __queue_work(per_cpu_ptr(wq->cpu_wq, cpu), work);108108 ret = 1;···118118 int cpu = smp_processor_id();119119120120 if (unlikely(is_single_threaded(wq)))121121- cpu = 0;121121+ cpu = any_online_cpu(cpu_online_map);122122123123 __queue_work(per_cpu_ptr(wq->cpu_wq, cpu), work);124124}···266266 might_sleep();267267268268 if (is_single_threaded(wq)) {269269- /* Always use cpu 0's area. */270270- flush_cpu_workqueue(per_cpu_ptr(wq->cpu_wq, 0));269269+ /* Always use first cpu's area. */270270+ flush_cpu_workqueue(per_cpu_ptr(wq->cpu_wq, any_online_cpu(cpu_online_map)));271271 } else {272272 int cpu;273273···320320 lock_cpu_hotplug();321321 if (singlethread) {322322 INIT_LIST_HEAD(&wq->list);323323- p = create_workqueue_thread(wq, 0);323323+ p = create_workqueue_thread(wq, any_online_cpu(cpu_online_map));324324 if (!p)325325 destroy = 1;326326 else···374374 /* We don't need the distraction of CPUs appearing and vanishing. */375375 lock_cpu_hotplug();376376 if (is_single_threaded(wq))377377- cleanup_workqueue_thread(wq, 0);377377+ cleanup_workqueue_thread(wq, any_online_cpu(cpu_online_map));378378 else {379379 for_each_online_cpu(cpu)380380 cleanup_workqueue_thread(wq, cpu);
+6-8
lib/genalloc.c
···9595 if (size > max_chunk_size)9696 return 0;97979898- i = 0;9999-10098 size = max(size, 1 << ALLOC_MIN_SHIFT);101101- s = roundup_pow_of_two(size);102102-103103- j = i;9999+ i = fls(size - 1);100100+ s = 1 << i;101101+ j = i -= ALLOC_MIN_SHIFT;104102105103 spin_lock_irqsave(&poolp->lock, flags);106104 while (!h[j].next) {···151153 if (size > max_chunk_size)152154 return;153155154154- i = 0;155155-156156 size = max(size, 1 << ALLOC_MIN_SHIFT);157157- s = roundup_pow_of_two(size);157157+ i = fls(size - 1);158158+ s = 1 << i;159159+ i -= ALLOC_MIN_SHIFT;158160159161 a = ptr;160162
···126126 unsigned long start, unsigned long end)127127{128128 *prev = vma;129129- if (vma->vm_flags & (VM_LOCKED|VM_HUGETLB|VM_UNPAGED))129129+ if (vma->vm_flags & (VM_LOCKED|VM_HUGETLB|VM_PFNMAP))130130 return -EINVAL;131131132132 if (unlikely(vma->vm_flags & VM_NONLINEAR)) {
+217-92
mm/memory.c
···333333}334334335335/*336336- * This function is called to print an error when a pte in a337337- * !VM_UNPAGED region is found pointing to an invalid pfn (which338338- * is an error.336336+ * This function is called to print an error when a bad pte337337+ * is found. For example, we might have a PFN-mapped pte in338338+ * a region that doesn't allow it.339339 *340340 * The calling function must still handle the error.341341 */···350350}351351352352/*353353- * page_is_anon applies strict checks for an anonymous page belonging to354354- * this vma at this address. It is used on VM_UNPAGED vmas, which are355355- * usually populated with shared originals (which must not be counted),356356- * but occasionally contain private COWed copies (when !VM_SHARED, or357357- * perhaps via ptrace when VM_SHARED). An mmap of /dev/mem might window358358- * free pages, pages from other processes, or from other parts of this:359359- * it's tricky, but try not to be deceived by foreign anonymous pages.353353+ * This function gets the "struct page" associated with a pte.354354+ *355355+ * NOTE! Some mappings do not have "struct pages". A raw PFN mapping356356+ * will have each page table entry just pointing to a raw page frame357357+ * number, and as far as the VM layer is concerned, those do not have358358+ * pages associated with them - even if the PFN might point to memory359359+ * that otherwise is perfectly fine and has a "struct page".360360+ *361361+ * The way we recognize those mappings is through the rules set up362362+ * by "remap_pfn_range()": the vma will have the VM_PFNMAP bit set,363363+ * and the vm_pgoff will point to the first PFN mapped: thus every364364+ * page that is a raw mapping will always honor the rule365365+ *366366+ * pfn_of_page == vma->vm_pgoff + ((addr - vma->vm_start) >> PAGE_SHIFT)367367+ *368368+ * and if that isn't true, the page has been COW'ed (in which case it369369+ * _does_ have a "struct page" associated with it even if it is in a370370+ * VM_PFNMAP range).360371 */361361-static inline int page_is_anon(struct page *page,362362- struct vm_area_struct *vma, unsigned long addr)372372+struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, pte_t pte)363373{364364- return page && PageAnon(page) && page_mapped(page) &&365365- page_address_in_vma(page, vma) == addr;374374+ unsigned long pfn = pte_pfn(pte);375375+376376+ if (vma->vm_flags & VM_PFNMAP) {377377+ unsigned long off = (addr - vma->vm_start) >> PAGE_SHIFT;378378+ if (pfn == vma->vm_pgoff + off)379379+ return NULL;380380+ }381381+382382+ /*383383+ * Add some anal sanity checks for now. Eventually,384384+ * we should just do "return pfn_to_page(pfn)", but385385+ * in the meantime we check that we get a valid pfn,386386+ * and that the resulting page looks ok.387387+ *388388+ * Remove this test eventually!389389+ */390390+ if (unlikely(!pfn_valid(pfn))) {391391+ print_bad_pte(vma, pte, addr);392392+ return NULL;393393+ }394394+395395+ /*396396+ * NOTE! We still have PageReserved() pages in the page 397397+ * tables. 398398+ *399399+ * The PAGE_ZERO() pages and various VDSO mappings can400400+ * cause them to exist.401401+ */402402+ return pfn_to_page(pfn);366403}367404368405/*···416379 unsigned long vm_flags = vma->vm_flags;417380 pte_t pte = *src_pte;418381 struct page *page;419419- unsigned long pfn;420382421383 /* pte contains position in swap or file, so copy. */422384 if (unlikely(!pte_present(pte))) {···431395 }432396 }433397 goto out_set_pte;434434- }435435-436436- pfn = pte_pfn(pte);437437- page = pfn_valid(pfn)? pfn_to_page(pfn): NULL;438438-439439- if (unlikely(vm_flags & VM_UNPAGED))440440- if (!page_is_anon(page, vma, addr))441441- goto out_set_pte;442442-443443- /*444444- * If the pte points outside of valid memory but445445- * the region is not VM_UNPAGED, we have a problem.446446- */447447- if (unlikely(!page)) {448448- print_bad_pte(vma, pte, addr);449449- goto out_set_pte; /* try to do something sane */450398 }451399452400 /*···449429 if (vm_flags & VM_SHARED)450430 pte = pte_mkclean(pte);451431 pte = pte_mkold(pte);452452- get_page(page);453453- page_dup_rmap(page);454454- rss[!!PageAnon(page)]++;432432+433433+ page = vm_normal_page(vma, addr, pte);434434+ if (page) {435435+ get_page(page);436436+ page_dup_rmap(page);437437+ rss[!!PageAnon(page)]++;438438+ }455439456440out_set_pte:457441 set_pte_at(dst_mm, addr, dst_pte, pte);···567543 * readonly mappings. The tradeoff is that copy_page_range is more568544 * efficient than faulting.569545 */570570- if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_UNPAGED))) {546546+ if (!(vma->vm_flags & (VM_HUGETLB|VM_NONLINEAR|VM_PFNMAP))) {571547 if (!vma->anon_vma)572548 return 0;573549 }···608584 }609585 if (pte_present(ptent)) {610586 struct page *page;611611- unsigned long pfn;612587613588 (*zap_work) -= PAGE_SIZE;614589615615- pfn = pte_pfn(ptent);616616- page = pfn_valid(pfn)? pfn_to_page(pfn): NULL;617617-618618- if (unlikely(vma->vm_flags & VM_UNPAGED)) {619619- if (!page_is_anon(page, vma, addr))620620- page = NULL;621621- } else if (unlikely(!page))622622- print_bad_pte(vma, ptent, addr);623623-590590+ page = vm_normal_page(vma, addr, ptent);624591 if (unlikely(details) && page) {625592 /*626593 * unmap_shared_mapping_pages() wants to···867852/*868853 * Do a quick page-table lookup for a single page.869854 */870870-struct page *follow_page(struct mm_struct *mm, unsigned long address,855855+struct page *follow_page(struct vm_area_struct *vma, unsigned long address,871856 unsigned int flags)872857{873858 pgd_t *pgd;···875860 pmd_t *pmd;876861 pte_t *ptep, pte;877862 spinlock_t *ptl;878878- unsigned long pfn;879863 struct page *page;864864+ struct mm_struct *mm = vma->vm_mm;880865881866 page = follow_huge_addr(mm, address, flags & FOLL_WRITE);882867 if (!IS_ERR(page)) {···912897 goto unlock;913898 if ((flags & FOLL_WRITE) && !pte_write(pte))914899 goto unlock;915915- pfn = pte_pfn(pte);916916- if (!pfn_valid(pfn))900900+ page = vm_normal_page(vma, address, pte);901901+ if (unlikely(!page))917902 goto unlock;918903919919- page = pfn_to_page(pfn);920904 if (flags & FOLL_GET)921905 get_page(page);922906 if (flags & FOLL_TOUCH) {···988974 return i ? : -EFAULT;989975 }990976 if (pages) {991991- pages[i] = pte_page(*pte);992992- get_page(pages[i]);977977+ struct page *page = vm_normal_page(gate_vma, start, *pte);978978+ pages[i] = page;979979+ if (page)980980+ get_page(page);993981 }994982 pte_unmap(pte);995983 if (vmas)···10261010 foll_flags |= FOLL_WRITE;1027101110281012 cond_resched();10291029- while (!(page = follow_page(mm, start, foll_flags))) {10131013+ while (!(page = follow_page(vma, start, foll_flags))) {10301014 int ret;10311015 ret = __handle_mm_fault(mm, vma, start,10321016 foll_flags & FOLL_WRITE);···11461130 return err;11471131}1148113211331133+pte_t * fastcall get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)11341134+{11351135+ pgd_t * pgd = pgd_offset(mm, addr);11361136+ pud_t * pud = pud_alloc(mm, pgd, addr);11371137+ if (pud) {11381138+ pmd_t * pmd = pmd_alloc(mm, pud, addr);11391139+ if (pmd)11401140+ return pte_alloc_map_lock(mm, pmd, addr, ptl);11411141+ }11421142+ return NULL;11431143+}11441144+11451145+/*11461146+ * This is the old fallback for page remapping.11471147+ *11481148+ * For historical reasons, it only allows reserved pages. Only11491149+ * old drivers should use this, and they needed to mark their11501150+ * pages reserved for the old functions anyway.11511151+ */11521152+static int insert_page(struct mm_struct *mm, unsigned long addr, struct page *page, pgprot_t prot)11531153+{11541154+ int retval;11551155+ pte_t *pte;11561156+ spinlock_t *ptl; 11571157+11581158+ retval = -EINVAL;11591159+ if (PageAnon(page) || !PageReserved(page))11601160+ goto out;11611161+ retval = -ENOMEM;11621162+ flush_dcache_page(page);11631163+ pte = get_locked_pte(mm, addr, &ptl);11641164+ if (!pte)11651165+ goto out;11661166+ retval = -EBUSY;11671167+ if (!pte_none(*pte))11681168+ goto out_unlock;11691169+11701170+ /* Ok, finally just insert the thing.. */11711171+ get_page(page);11721172+ inc_mm_counter(mm, file_rss);11731173+ page_add_file_rmap(page);11741174+ set_pte_at(mm, addr, pte, mk_pte(page, prot));11751175+11761176+ retval = 0;11771177+out_unlock:11781178+ pte_unmap_unlock(pte, ptl);11791179+out:11801180+ return retval;11811181+}11821182+11831183+/*11841184+ * Somebody does a pfn remapping that doesn't actually work as a vma.11851185+ *11861186+ * Do it as individual pages instead, and warn about it. It's bad form,11871187+ * and very inefficient.11881188+ */11891189+static int incomplete_pfn_remap(struct vm_area_struct *vma,11901190+ unsigned long start, unsigned long end,11911191+ unsigned long pfn, pgprot_t prot)11921192+{11931193+ static int warn = 10;11941194+ struct page *page;11951195+ int retval;11961196+11971197+ if (!(vma->vm_flags & VM_INCOMPLETE)) {11981198+ if (warn) {11991199+ warn--;12001200+ printk("%s does an incomplete pfn remapping", current->comm);12011201+ dump_stack();12021202+ }12031203+ }12041204+ vma->vm_flags |= VM_INCOMPLETE | VM_IO | VM_RESERVED;12051205+12061206+ if (start < vma->vm_start || end > vma->vm_end)12071207+ return -EINVAL;12081208+12091209+ if (!pfn_valid(pfn))12101210+ return -EINVAL;12111211+12121212+ retval = 0;12131213+ page = pfn_to_page(pfn);12141214+ while (start < end) {12151215+ retval = insert_page(vma->vm_mm, start, page, prot);12161216+ if (retval < 0)12171217+ break;12181218+ start += PAGE_SIZE;12191219+ page++;12201220+ }12211221+ return retval;12221222+}12231223+11491224/*11501225 * maps a range of physical memory into the requested pages. the old11511226 * mappings are removed. any references to nonexistent pages results···13111204 struct mm_struct *mm = vma->vm_mm;13121205 int err;1313120612071207+ if (addr != vma->vm_start || end != vma->vm_end)12081208+ return incomplete_pfn_remap(vma, addr, end, pfn, prot);12091209+13141210 /*13151211 * Physically remapped pages are special. Tell the13161212 * rest of the world about it:···13241214 * in 2.6 the LRU scan won't even find its pages, so this13251215 * flag means no more than count its pages in reserved_vm,13261216 * and omit it from core dump, even when VM_IO turned off.13271327- * VM_UNPAGED tells the core MM not to "manage" these pages13281328- * (e.g. refcount, mapcount, try to swap them out): in13291329- * particular, zap_pte_range does not try to free them.12171217+ * VM_PFNMAP tells the core MM that the base pages are just12181218+ * raw PFN mappings, and do not have a "struct page" associated12191219+ * with them.13301220 */13311331- vma->vm_flags |= VM_IO | VM_RESERVED | VM_UNPAGED;12211221+ vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;12221222+ vma->vm_pgoff = pfn;1332122313331224 BUG_ON(addr >= end);13341225 pfn -= addr >> PAGE_SHIFT;···13841273 return pte;13851274}1386127512761276+static inline void cow_user_page(struct page *dst, struct page *src, unsigned long va)12771277+{12781278+ /*12791279+ * If the source page was a PFN mapping, we don't have12801280+ * a "struct page" for it. We do a best-effort copy by12811281+ * just copying from the original user address. If that12821282+ * fails, we just zero-fill it. Live with it.12831283+ */12841284+ if (unlikely(!src)) {12851285+ void *kaddr = kmap_atomic(dst, KM_USER0);12861286+ void __user *uaddr = (void __user *)(va & PAGE_MASK);12871287+12881288+ /*12891289+ * This really shouldn't fail, because the page is there12901290+ * in the page tables. But it might just be unreadable,12911291+ * in which case we just give up and fill the result with12921292+ * zeroes.12931293+ */12941294+ if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE))12951295+ memset(kaddr, 0, PAGE_SIZE);12961296+ kunmap_atomic(kaddr, KM_USER0);12971297+ return;12981298+12991299+ }13001300+ copy_user_highpage(dst, src, va);13011301+}13021302+13871303/*13881304 * This routine handles present pages, when users try to write13891305 * to a shared page. It is done by copying the page to a new address···14331295 unsigned long address, pte_t *page_table, pmd_t *pmd,14341296 spinlock_t *ptl, pte_t orig_pte)14351297{14361436- struct page *old_page, *src_page, *new_page;14371437- unsigned long pfn = pte_pfn(orig_pte);12981298+ struct page *old_page, *new_page;14381299 pte_t entry;14391300 int ret = VM_FAULT_MINOR;1440130114411441- if (unlikely(!pfn_valid(pfn))) {14421442- /*14431443- * Page table corrupted: show pte and kill process.14441444- * Or it's an attempt to COW an out-of-map VM_UNPAGED14451445- * entry, which copy_user_highpage does not support.14461446- */14471447- print_bad_pte(vma, orig_pte, address);14481448- ret = VM_FAULT_OOM;14491449- goto unlock;14501450- }14511451- old_page = pfn_to_page(pfn);14521452- src_page = old_page;14531453-14541454- if (unlikely(vma->vm_flags & VM_UNPAGED))14551455- if (!page_is_anon(old_page, vma, address)) {14561456- old_page = NULL;14571457- goto gotten;14581458- }13021302+ old_page = vm_normal_page(vma, address, orig_pte);13031303+ if (!old_page)13041304+ goto gotten;1459130514601306 if (PageAnon(old_page) && !TestSetPageLocked(old_page)) {14611307 int reuse = can_share_swap_page(old_page);14621308 unlock_page(old_page);14631309 if (reuse) {14641464- flush_cache_page(vma, address, pfn);13101310+ flush_cache_page(vma, address, pte_pfn(orig_pte));14651311 entry = pte_mkyoung(orig_pte);14661312 entry = maybe_mkwrite(pte_mkdirty(entry), vma);14671313 ptep_set_access_flags(vma, address, page_table, entry, 1);···1465134314661344 if (unlikely(anon_vma_prepare(vma)))14671345 goto oom;14681468- if (src_page == ZERO_PAGE(address)) {13461346+ if (old_page == ZERO_PAGE(address)) {14691347 new_page = alloc_zeroed_user_highpage(vma, address);14701348 if (!new_page)14711349 goto oom;···14731351 new_page = alloc_page_vma(GFP_HIGHUSER, vma, address);14741352 if (!new_page)14751353 goto oom;14761476- copy_user_highpage(new_page, src_page, address);13541354+ cow_user_page(new_page, old_page, address);14771355 }1478135614791357 /*···14891367 }14901368 } else14911369 inc_mm_counter(mm, anon_rss);14921492- flush_cache_page(vma, address, pfn);13701370+ flush_cache_page(vma, address, pte_pfn(orig_pte));14931371 entry = mk_pte(new_page, vma->vm_page_prot);14941372 entry = maybe_mkwrite(pte_mkdirty(entry), vma);14951373 ptep_establish(vma, address, page_table, entry);···19341812 spinlock_t *ptl;19351813 pte_t entry;1936181419371937- /*19381938- * A VM_UNPAGED vma will normally be filled with present ptes19391939- * by remap_pfn_range, and never arrive here; but it might have19401940- * holes, or if !VM_DONTEXPAND, mremap might have expanded it.19411941- * It's weird enough handling anon pages in unpaged vmas, we do19421942- * not want to worry about ZERO_PAGEs too (it may or may not19431943- * matter if their counts wrap): just give them anon pages.19441944- */19451945-19461946- if (write_access || (vma->vm_flags & VM_UNPAGED)) {18151815+ if (write_access) {19471816 /* Allocate our own private page. */19481817 pte_unmap(page_table);19491818···20091896 int anon = 0;2010189720111898 pte_unmap(page_table);20122012- BUG_ON(vma->vm_flags & VM_UNPAGED);18991899+ BUG_ON(vma->vm_flags & VM_PFNMAP);2013190020141901 if (vma->vm_file) {20151902 mapping = vma->vm_file->f_mapping;···22622149 spin_unlock(&mm->page_table_lock);22632150 return 0;22642151}21522152+#else21532153+/* Workaround for gcc 2.96 */21542154+int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)21552155+{21562156+ return 0;21572157+}22652158#endif /* __PAGETABLE_PUD_FOLDED */2266215922672160#ifndef __PAGETABLE_PMD_FOLDED···22942175 pgd_populate(mm, pud, new);22952176#endif /* __ARCH_HAS_4LEVEL_HACK */22962177 spin_unlock(&mm->page_table_lock);21782178+ return 0;21792179+}21802180+#else21812181+/* Workaround for gcc 2.96 */21822182+int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)21832183+{22972184 return 0;22982185}22992186#endif /* __PAGETABLE_PMD_FOLDED */
+4-8
mm/mempolicy.c
···189189190190 orig_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);191191 do {192192- unsigned long pfn;192192+ struct page *page;193193 unsigned int nid;194194195195 if (!pte_present(*pte))196196 continue;197197- pfn = pte_pfn(*pte);198198- if (!pfn_valid(pfn)) {199199- print_bad_pte(vma, *pte, addr);197197+ page = vm_normal_page(vma, addr, *pte);198198+ if (!page)200199 continue;201201- }202202- nid = pfn_to_nid(pfn);200200+ nid = page_to_nid(page);203201 if (!node_isset(nid, *nodes))204202 break;205203 } while (pte++, addr += PAGE_SIZE, addr != end);···267269 first = find_vma(mm, start);268270 if (!first)269271 return ERR_PTR(-EFAULT);270270- if (first->vm_flags & VM_UNPAGED)271271- return ERR_PTR(-EACCES);272272 prev = NULL;273273 for (vma = first; vma && vma->vm_start < end; vma = vma->vm_next) {274274 if (!vma->vm_next && vma->vm_end < end)
+3-9
mm/msync.c
···2727again:2828 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);2929 do {3030- unsigned long pfn;3130 struct page *page;32313332 if (progress >= 64) {···3940 continue;4041 if (!pte_maybe_dirty(*pte))4142 continue;4242- pfn = pte_pfn(*pte);4343- if (unlikely(!pfn_valid(pfn))) {4444- print_bad_pte(vma, *pte, addr);4343+ page = vm_normal_page(vma, addr, *pte);4444+ if (!page)4545 continue;4646- }4747- page = pfn_to_page(pfn);4848-4946 if (ptep_clear_flush_dirty(vma, addr, pte) ||5047 page_test_and_clear_dirty(page))5148 set_page_dirty(page);···9297 /* For hugepages we can't go walking the page table normally,9398 * but that's ok, hugetlbfs is memory based, so we don't need9499 * to do anything more on an msync().9595- * Can't do anything with VM_UNPAGED regions either.96100 */9797- if (vma->vm_flags & (VM_HUGETLB|VM_UNPAGED))101101+ if (vma->vm_flags & VM_HUGETLB)98102 return;99103100104 BUG_ON(addr >= end);
+1-1
mm/nommu.c
···1045104510461046EXPORT_SYMBOL(find_vma);1047104710481048-struct page *follow_page(struct mm_struct *mm, unsigned long address,10481048+struct page *follow_page(struct vm_area_struct *vma, unsigned long address,10491049 unsigned int foll_flags)10501050{10511051 return NULL;
+17-7
mm/page_alloc.c
···773773}774774775775#define ALLOC_NO_WATERMARKS 0x01 /* don't check watermarks at all */776776-#define ALLOC_HARDER 0x02 /* try to alloc harder */777777-#define ALLOC_HIGH 0x04 /* __GFP_HIGH set */778778-#define ALLOC_CPUSET 0x08 /* check for correct cpuset */776776+#define ALLOC_WMARK_MIN 0x02 /* use pages_min watermark */777777+#define ALLOC_WMARK_LOW 0x04 /* use pages_low watermark */778778+#define ALLOC_WMARK_HIGH 0x08 /* use pages_high watermark */779779+#define ALLOC_HARDER 0x10 /* try to alloc harder */780780+#define ALLOC_HIGH 0x20 /* __GFP_HIGH set */781781+#define ALLOC_CPUSET 0x40 /* check for correct cpuset */779782780783/*781784 * Return 1 if free pages are above 'mark'. This takes into account the order···833830 continue;834831835832 if (!(alloc_flags & ALLOC_NO_WATERMARKS)) {836836- if (!zone_watermark_ok(*z, order, (*z)->pages_low,833833+ unsigned long mark;834834+ if (alloc_flags & ALLOC_WMARK_MIN)835835+ mark = (*z)->pages_min;836836+ else if (alloc_flags & ALLOC_WMARK_LOW)837837+ mark = (*z)->pages_low;838838+ else839839+ mark = (*z)->pages_high;840840+ if (!zone_watermark_ok(*z, order, mark,837841 classzone_idx, alloc_flags))838842 continue;839843 }···881871 }882872883873 page = get_page_from_freelist(gfp_mask|__GFP_HARDWALL, order,884884- zonelist, ALLOC_CPUSET);874874+ zonelist, ALLOC_WMARK_LOW|ALLOC_CPUSET);885875 if (page)886876 goto got_pg;887877···898888 * cannot run direct reclaim, or if the caller has realtime scheduling899889 * policy.900890 */901901- alloc_flags = 0;891891+ alloc_flags = ALLOC_WMARK_MIN;902892 if ((unlikely(rt_task(p)) && !in_interrupt()) || !wait)903893 alloc_flags |= ALLOC_HARDER;904894 if (gfp_mask & __GFP_HIGH)···969959 * under heavy pressure.970960 */971961 page = get_page_from_freelist(gfp_mask|__GFP_HARDWALL, order,972972- zonelist, ALLOC_CPUSET);962962+ zonelist, ALLOC_WMARK_HIGH|ALLOC_CPUSET);973963 if (page)974964 goto got_pg;975965
+13-29
mm/rmap.c
···226226/*227227 * At what user virtual address is page expected in vma? checking that the228228 * page matches the vma: currently only used on anon pages, by unuse_vma;229229- * and by extraordinary checks on anon pages in VM_UNPAGED vmas, taking230230- * care that an mmap of /dev/mem might window free and foreign pages.231229 */232230unsigned long page_address_in_vma(struct page *page, struct vm_area_struct *vma)233231{···290292 * repeatedly from either page_referenced_anon or page_referenced_file.291293 */292294static int page_referenced_one(struct page *page,293293- struct vm_area_struct *vma, unsigned int *mapcount, int ignore_token)295295+ struct vm_area_struct *vma, unsigned int *mapcount)294296{295297 struct mm_struct *mm = vma->vm_mm;296298 unsigned long address;···311313312314 /* Pretend the page is referenced if the task has the313315 swap token and is in the middle of a page fault. */314314- if (mm != current->mm && !ignore_token && has_swap_token(mm) &&316316+ if (mm != current->mm && has_swap_token(mm) &&315317 rwsem_is_locked(&mm->mmap_sem))316318 referenced++;317319···321323 return referenced;322324}323325324324-static int page_referenced_anon(struct page *page, int ignore_token)326326+static int page_referenced_anon(struct page *page)325327{326328 unsigned int mapcount;327329 struct anon_vma *anon_vma;···334336335337 mapcount = page_mapcount(page);336338 list_for_each_entry(vma, &anon_vma->head, anon_vma_node) {337337- referenced += page_referenced_one(page, vma, &mapcount,338338- ignore_token);339339+ referenced += page_referenced_one(page, vma, &mapcount);339340 if (!mapcount)340341 break;341342 }···353356 *354357 * This function is only called from page_referenced for object-based pages.355358 */356356-static int page_referenced_file(struct page *page, int ignore_token)359359+static int page_referenced_file(struct page *page)357360{358361 unsigned int mapcount;359362 struct address_space *mapping = page->mapping;···391394 referenced++;392395 break;393396 }394394- referenced += page_referenced_one(page, vma, &mapcount,395395- ignore_token);397397+ referenced += page_referenced_one(page, vma, &mapcount);396398 if (!mapcount)397399 break;398400 }···408412 * Quick test_and_clear_referenced for all mappings to a page,409413 * returns the number of ptes which referenced the page.410414 */411411-int page_referenced(struct page *page, int is_locked, int ignore_token)415415+int page_referenced(struct page *page, int is_locked)412416{413417 int referenced = 0;414414-415415- if (!swap_token_default_timeout)416416- ignore_token = 1;417418418419 if (page_test_and_clear_young(page))419420 referenced++;···420427421428 if (page_mapped(page) && page->mapping) {422429 if (PageAnon(page))423423- referenced += page_referenced_anon(page, ignore_token);430430+ referenced += page_referenced_anon(page);424431 else if (is_locked)425425- referenced += page_referenced_file(page, ignore_token);432432+ referenced += page_referenced_file(page);426433 else if (TestSetPageLocked(page))427434 referenced++;428435 else {429436 if (page->mapping)430430- referenced += page_referenced_file(page,431431- ignore_token);437437+ referenced += page_referenced_file(page);432438 unlock_page(page);433439 }434440 }···606614 struct page *page;607615 unsigned long address;608616 unsigned long end;609609- unsigned long pfn;610617611618 address = (vma->vm_start + cursor) & CLUSTER_MASK;612619 end = address + CLUSTER_SIZE;···634643 for (; address < end; pte++, address += PAGE_SIZE) {635644 if (!pte_present(*pte))636645 continue;637637-638638- pfn = pte_pfn(*pte);639639- if (unlikely(!pfn_valid(pfn))) {640640- print_bad_pte(vma, *pte, address);641641- continue;642642- }643643-644644- page = pfn_to_page(pfn);645645- BUG_ON(PageAnon(page));646646+ page = vm_normal_page(vma, address, *pte);647647+ BUG_ON(!page || PageAnon(page));646648647649 if (ptep_clear_flush_young(vma, address, pte))648650 continue;649651650652 /* Nuke the page table entry. */651651- flush_cache_page(vma, address, pfn);653653+ flush_cache_page(vma, address, pte_pfn(*pte));652654 pteval = ptep_clear_flush(vma, address, pte);653655654656 /* If nonlinear, store the file page offset in the pte. */
+7-3
mm/thrash.c
···5757 /* We have the token. Let others know we still need it. */5858 if (has_swap_token(current->mm)) {5959 current->mm->recent_pagein = 1;6060+ if (unlikely(!swap_token_default_timeout))6161+ disable_swap_token();6062 return;6163 }62646365 if (time_after(jiffies, swap_token_check)) {64666565- /* Can't get swapout protection if we exceed our RSS limit. */6666- // if (current->mm->rss > current->mm->rlimit_rss)6767- // return;6767+ if (!swap_token_default_timeout) {6868+ swap_token_check = jiffies + SWAP_TOKEN_CHECK_INTERVAL;6969+ return;7070+ }68716972 /* ... or if we recently held the token. */7073 if (time_before(jiffies, current->mm->swap_token_time))···9895{9996 spin_lock(&swap_token_lock);10097 if (likely(mm == swap_token_mm)) {9898+ mm->swap_token_time = jiffies + SWAP_TOKEN_CHECK_INTERVAL;10199 swap_token_mm = &init_mm;102100 swap_token_check = jiffies;103101 }
+24-5
mm/vmscan.c
···201201 list_for_each_entry(shrinker, &shrinker_list, list) {202202 unsigned long long delta;203203 unsigned long total_scan;204204+ unsigned long max_pass = (*shrinker->shrinker)(0, gfp_mask);204205205206 delta = (4 * scanned) / shrinker->seeks;206206- delta *= (*shrinker->shrinker)(0, gfp_mask);207207+ delta *= max_pass;207208 do_div(delta, lru_pages + 1);208209 shrinker->nr += delta;209209- if (shrinker->nr < 0)210210- shrinker->nr = LONG_MAX; /* It wrapped! */210210+ if (shrinker->nr < 0) {211211+ printk(KERN_ERR "%s: nr=%ld\n",212212+ __FUNCTION__, shrinker->nr);213213+ shrinker->nr = max_pass;214214+ }215215+216216+ /*217217+ * Avoid risking looping forever due to too large nr value:218218+ * never try to free more than twice the estimate number of219219+ * freeable entries.220220+ */221221+ if (shrinker->nr > max_pass * 2)222222+ shrinker->nr = max_pass * 2;211223212224 total_scan = shrinker->nr;213225 shrinker->nr = 0;···419407 if (PageWriteback(page))420408 goto keep_locked;421409422422- referenced = page_referenced(page, 1, sc->priority <= 0);410410+ referenced = page_referenced(page, 1);423411 /* In active use or really unfreeable? Activate it. */424412 if (referenced && page_mapping_inuse(page))425413 goto activate_locked;···768756 if (page_mapped(page)) {769757 if (!reclaim_mapped ||770758 (total_swap_pages == 0 && PageAnon(page)) ||771771- page_referenced(page, 0, sc->priority <= 0)) {759759+ page_referenced(page, 0)) {772760 list_add(&page->lru, &l_active);773761 continue;774762 }···972960 sc.nr_reclaimed = 0;973961 sc.priority = priority;974962 sc.swap_cluster_max = SWAP_CLUSTER_MAX;963963+ if (!priority)964964+ disable_swap_token();975965 shrink_caches(zones, &sc);976966 shrink_slab(sc.nr_scanned, gfp_mask, lru_pages);977967 if (reclaim_state) {···10691055 for (priority = DEF_PRIORITY; priority >= 0; priority--) {10701056 int end_zone = 0; /* Inclusive. 0 = ZONE_DMA */10711057 unsigned long lru_pages = 0;10581058+10591059+ /* The swap token gets in the way of swapout... */10601060+ if (!priority)10611061+ disable_swap_token();1072106210731063 all_zones_ok = 1;10741064···13781360 sc.nr_reclaimed = 0;13791361 /* scan at the highest priority */13801362 sc.priority = 0;13631363+ disable_swap_token();1381136413821365 if (nr_pages > SWAP_CLUSTER_MAX)13831366 sc.swap_cluster_max = nr_pages;
+7-4
net/atm/atm_misc.c
···7474 */757576767777-int atm_pcr_goal(struct atm_trafprm *tp)7777+int atm_pcr_goal(const struct atm_trafprm *tp)7878{7979- if (tp->pcr && tp->pcr != ATM_MAX_PCR) return -tp->pcr;8080- if (tp->min_pcr && !tp->pcr) return tp->min_pcr;8181- if (tp->max_pcr != ATM_MAX_PCR) return -tp->max_pcr;7979+ if (tp->pcr && tp->pcr != ATM_MAX_PCR)8080+ return -tp->pcr;8181+ if (tp->min_pcr && !tp->pcr)8282+ return tp->min_pcr;8383+ if (tp->max_pcr != ATM_MAX_PCR)8484+ return -tp->max_pcr;8285 return 0;8386}8487
+40-26
net/atm/common.c
···221221EXPORT_SYMBOL(vcc_release_async);222222223223224224+void atm_dev_release_vccs(struct atm_dev *dev)225225+{226226+ int i;227227+228228+ write_lock_irq(&vcc_sklist_lock);229229+ for (i = 0; i < VCC_HTABLE_SIZE; i++) {230230+ struct hlist_head *head = &vcc_hash[i];231231+ struct hlist_node *node, *tmp;232232+ struct sock *s;233233+ struct atm_vcc *vcc;234234+235235+ sk_for_each_safe(s, node, tmp, head) {236236+ vcc = atm_sk(s);237237+ if (vcc->dev == dev) {238238+ vcc_release_async(vcc, -EPIPE);239239+ sk_del_node_init(s);240240+ }241241+ }242242+ }243243+ write_unlock_irq(&vcc_sklist_lock);244244+}245245+246246+224247static int adjust_tp(struct atm_trafprm *tp,unsigned char aal)225248{226249 int max_sdu;···355332 return -EINVAL;356333 if (vci > 0 && vci < ATM_NOT_RSV_VCI && !capable(CAP_NET_BIND_SERVICE))357334 return -EPERM;358358- error = 0;335335+ error = -ENODEV;359336 if (!try_module_get(dev->ops->owner))360360- return -ENODEV;337337+ return error;361338 vcc->dev = dev;362339 write_lock_irq(&vcc_sklist_lock);363363- if ((error = find_ci(vcc, &vpi, &vci))) {340340+ if (test_bit(ATM_DF_REMOVED, &dev->flags) || 341341+ (error = find_ci(vcc, &vpi, &vci))) {364342 write_unlock_irq(&vcc_sklist_lock);365343 goto fail_module_put;366344 }···447423 if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||448424 vcc->qos.rxtp.traffic_class == ATM_ANYCLASS)449425 return -EINVAL;450450- if (itf != ATM_ITF_ANY) {451451- dev = atm_dev_lookup(itf);452452- if (!dev)453453- return -ENODEV;454454- error = __vcc_connect(vcc, dev, vpi, vci);455455- if (error) {456456- atm_dev_put(dev);457457- return error;458458- }426426+ if (likely(itf != ATM_ITF_ANY)) {427427+ dev = try_then_request_module(atm_dev_lookup(itf), "atm-device-%d", itf);459428 } else {460460- struct list_head *p, *next;461461-462429 dev = NULL;463463- spin_lock(&atm_dev_lock);464464- list_for_each_safe(p, next, &atm_devs) {465465- dev = list_entry(p, struct atm_dev, dev_list);430430+ down(&atm_dev_mutex);431431+ if (!list_empty(&atm_devs)) {432432+ dev = list_entry(atm_devs.next, struct atm_dev, dev_list);466433 atm_dev_hold(dev);467467- spin_unlock(&atm_dev_lock);468468- if (!__vcc_connect(vcc, dev, vpi, vci))469469- break;470470- atm_dev_put(dev);471471- dev = NULL;472472- spin_lock(&atm_dev_lock);473434 }474474- spin_unlock(&atm_dev_lock);475475- if (!dev)476476- return -ENODEV;435435+ up(&atm_dev_mutex);436436+ }437437+ if (!dev)438438+ return -ENODEV;439439+ error = __vcc_connect(vcc, dev, vpi, vci);440440+ if (error) {441441+ atm_dev_put(dev);442442+ return error;477443 }478444 if (vpi == ATM_VPI_UNSPEC || vci == ATM_VCI_UNSPEC)479445 set_bit(ATM_VF_PARTIAL,&vcc->flags);
···220220 short error; /* This ICMP is classed as an error message */221221};222222223223-static struct icmp_control icmp_pointers[NR_ICMP_TYPES+1];223223+static const struct icmp_control icmp_pointers[NR_ICMP_TYPES+1];224224225225/*226226 * The ICMP socket(s). This is the most convenient way to flow control···994994/*995995 * This table is the definition of how we handle ICMP.996996 */997997-static struct icmp_control icmp_pointers[NR_ICMP_TYPES + 1] = {997997+static const struct icmp_control icmp_pointers[NR_ICMP_TYPES + 1] = {998998 [ICMP_ECHOREPLY] = {999999 .output_entry = ICMP_MIB_OUTECHOREPS,10001000 .input_entry = ICMP_MIB_INECHOREPS,
···690690 return csum;691691}692692693693-inline int ip_ufo_append_data(struct sock *sk,693693+static inline int ip_ufo_append_data(struct sock *sk,694694 int getfrag(void *from, char *to, int offset, int len,695695 int odd, struct sk_buff *skb),696696 void *from, int length, int hh_len, int fragheaderlen,
+1-1
net/ipv4/ipvs/ip_vs_conn.c
···771771 * The drop rate array needs tuning for real environments.772772 * Called from timer bh only => no locking773773 */774774- static char todrop_rate[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8};774774+ static const char todrop_rate[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8};775775 static char todrop_counter[9] = {0};776776 int i;777777
···3737module_param(master_timeout, int, 0600);3838MODULE_PARM_DESC(master_timeout, "timeout for the master connection");39394040-static char *conns[] = { "DATA ", "MESG ", "INDEX " };4040+static const char *conns[] = { "DATA ", "MESG ", "INDEX " };41414242/* This is slow, but it's simple. --RR */4343static char *amanda_buffer;
+2-2
net/ipv4/netfilter/ip_conntrack_core.c
···13541354 get_order(sizeof(struct list_head) * size));13551355}1356135613571357-void ip_conntrack_flush()13571357+void ip_conntrack_flush(void)13581358{13591359 /* This makes sure all current packets have passed through13601360 netfilter framework. Roll on, two-stage module···14081408 return hash;14091409}1410141014111411-int set_hashsize(const char *val, struct kernel_param *kp)14111411+static int set_hashsize(const char *val, struct kernel_param *kp)14121412{14131413 int i, bucket, hashsize, vmalloced;14141414 int old_vmalloced, old_size;
···985985 }986986987987 /* Rule 4: Prefer home address -- not implemented yet */988988+ if (hiscore.rule < 4)989989+ hiscore.rule++;988990989991 /* Rule 5: Prefer outgoing interface */990992 if (hiscore.rule < 5) {
+1-1
net/ipv6/icmp.c
···751751 inet6_del_protocol(&icmpv6_protocol, IPPROTO_ICMPV6);752752}753753754754-static struct icmp6_err {754754+static const struct icmp6_err {755755 int err;756756 int fatal;757757} tab_unreach[] = {
+2-1
net/ipv6/ip6_output.c
···774774 *dst = NULL;775775 return err;776776}777777-inline int ip6_ufo_append_data(struct sock *sk,777777+778778+static inline int ip6_ufo_append_data(struct sock *sk,778779 int getfrag(void *from, char *to, int offset, int len,779780 int odd, struct sk_buff *skb),780781 void *from, int length, int hh_len, int fragheaderlen,
+2-2
net/ipv6/ipv6_sockglue.c
···628628 return -EINVAL;629629}630630631631-int ipv6_getsockopt_sticky(struct sock *sk, struct ipv6_opt_hdr *hdr,632632- char __user *optval, int len)631631+static int ipv6_getsockopt_sticky(struct sock *sk, struct ipv6_opt_hdr *hdr,632632+ char __user *optval, int len)633633{634634 if (!hdr)635635 return 0;