1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-11-18 22:43:53 +01:00

Update olpc target to 2.6.27.4

SVN-Revision: 13129
This commit is contained in:
Lars-Peter Clausen 2008-11-05 23:43:59 +00:00
parent ed5768adbf
commit 3fb55fea83
3 changed files with 937 additions and 1 deletions

@ -11,7 +11,7 @@ BOARD:=olpc
BOARDNAME:=OLPC XO-1
FEATURES:=squashfs ext2
LINUX_VERSION:=2.6.26.7
LINUX_VERSION:=2.6.27.4
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci

@ -0,0 +1,731 @@
CONFIG_4KSTACKS=y
# CONFIG_64BIT is not set
CONFIG_ACPI=y
CONFIG_ACPI_AC=y
# CONFIG_ACPI_ASUS is not set
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_AGP is not set
# CONFIG_AIRO is not set
# CONFIG_APM is not set
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_ARCH_HAS_CPU_RELAX=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_AT24 is not set
# CONFIG_ATM is not set
# CONFIG_ATMEL is not set
# CONFIG_AUDIT_ARCH is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BASE_SMALL=0
# CONFIG_BATTERY_DS2760 is not set
CONFIG_BATTERY_OLPC=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
CONFIG_BITREVERSE=y
# CONFIG_BLK_DEV is not set
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
# CONFIG_BONDING is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_BOUNCE=y
# CONFIG_BT is not set
CONFIG_CAN_PM_TRACE=y
CONFIG_CFG80211=y
CONFIG_CHR_DEV_SG=y
CONFIG_CLASSIC_RCU=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_COMPAT_VDSO=y
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_IDLE is not set
# CONFIG_CRC_ITU_T is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_ECB is not set
CONFIG_CRYPTO_GF128MUL=m
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_DCDBAS is not set
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DELL_RBU is not set
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_DEVPORT=y
CONFIG_DISPLAY_SUPPORT=y
CONFIG_DMI=y
CONFIG_DMIID=y
CONFIG_DOUBLEFAULT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EDAC is not set
# CONFIG_EDD is not set
# CONFIG_EFI is not set
CONFIG_ELF_CORE=y
CONFIG_EXT2_FS=y
# CONFIG_EXT3_FS is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FAST_CMPXCHG_LOCAL=y
# CONFIG_FAULT_INJECTION is not set
CONFIG_FB=y
# CONFIG_FB_3DFX is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_FB_CARMINE is not set
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_DDC is not set
# CONFIG_FB_EFI is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_GEODE=y
# CONFIG_FB_GEODE_GX is not set
# CONFIG_FB_GEODE_GX1 is not set
CONFIG_FB_GEODE_LX=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_N411 is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_VESA is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FIRMWARE_IN_KERNEL=y
# CONFIG_FIRMWARE_MEMMAP is not set
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAME_POINTER is not set
# CONFIG_FTRACE is not set
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CMOS_UPDATE=y
# CONFIG_GENERIC_CPU is not set
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_GENERIC_LOCKBREAK is not set
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_GEODE_MFGPT_TIMER=y
# CONFIG_GPIOLIB is not set
# CONFIG_HAMRADIO is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_HAVE_ARCH_TRACEHOOK is not set
# CONFIG_HAVE_CLK is not set
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
# CONFIG_HAVE_DMA_ATTRS is not set
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_FTRACE=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_HERMES is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_HFS_FS is not set
CONFIG_HIBERNATION=y
CONFIG_HID=y
CONFIG_HID_SUPPORT=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_HPET is not set
CONFIG_HPET_EMULATE_RTC=y
CONFIG_HPET_TIMER=y
CONFIG_HT_IRQ=y
# CONFIG_HUGETLBFS is not set
CONFIG_HW_CONSOLE=y
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_AMD is not set
CONFIG_HW_RANDOM_GEODE=y
# CONFIG_HW_RANDOM_INTEL is not set
CONFIG_HW_RANDOM_VIA=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I8K is not set
# CONFIG_IDE is not set
# CONFIG_IEEE80211 is not set
# CONFIG_IFB is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1200
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=900
# CONFIG_IOMMU_HELPER is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_TYPE_UDELAY=2
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IPV6 is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_IP_NF_MATCH_AH is not set
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_QUEUE is not set
# CONFIG_IP_NF_TARGET_REDIRECT is not set
# CONFIG_ISA is not set
CONFIG_ISA_DMA_API=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_ISDN is not set
# CONFIG_ISO9660_FS is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KEXEC=y
# CONFIG_KEXEC_JUMP is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KGDB is not set
CONFIG_KMOD=y
CONFIG_KTIME_SCALAR=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_DEBUG=y
# CONFIG_LIBERTAS_SDIO is not set
CONFIG_LIBERTAS_USB=m
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_LOCK_STAT is not set
# CONFIG_LOGO is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586MMX is not set
# CONFIG_M586TSC is not set
# CONFIG_M686 is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_MARKERS=y
# CONFIG_MATH_EMULATION is not set
# CONFIG_MCA is not set
# CONFIG_MCORE2 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MCYRIXIII is not set
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
# CONFIG_MEFFICEON is not set
# CONFIG_MEMTEST is not set
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MGEODEGX1 is not set
CONFIG_MGEODE_LX=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MINIX_FS is not set
# CONFIG_MISC_DEVICES is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
CONFIG_MMC=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=y
# CONFIG_MMC_SDHCI_PCI is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPSC is not set
# CONFIG_MSDOS_FS is not set
CONFIG_MTD=y
# CONFIG_MTD_ABSENT is not set
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_BLOCK2MTD=y
# CONFIG_MTD_CFI is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CHAR=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
CONFIG_MTD_MAP_BANK_WIDTH_2=y
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_ONENAND is not set
CONFIG_MTD_OOPS=m
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_PCI=y
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_TS5500 is not set
# CONFIG_MTRR is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
# CONFIG_NET_ETHERNET is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_NET_KEY is not set
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_INGRESS is not set
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NF_CONNTRACK_AMANDA is not set
# CONFIG_NF_CONNTRACK_H323 is not set
# CONFIG_NF_CONNTRACK_PPTP is not set
# CONFIG_NF_CONNTRACK_SIP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_H323 is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_SIP is not set
# CONFIG_NF_NAT_SNMP_BASIC is not set
CONFIG_NL80211=y
# CONFIG_NLS is not set
CONFIG_NOHIGHMEM=y
CONFIG_NO_HZ=y
CONFIG_NSC_GPIO=m
CONFIG_NVRAM=y
CONFIG_OLPC=y
CONFIG_OPROFILE=y
# CONFIG_OPTIMIZE_INLINING is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_PC8736x_GPIO=m
CONFIG_PCI=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_PCI_DIRECT=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_GOANY is not set
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOMMCONFIG is not set
CONFIG_PCI_GOOLPC=y
CONFIG_PCI_OLPC=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_PDA_POWER is not set
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_PHYSICAL_START=0x100000
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_SLEEP=y
CONFIG_PM_STD_PARTITION=""
# CONFIG_PM_TRACE_RTC is not set
# CONFIG_PM_VERBOSE is not set
CONFIG_PNP=y
CONFIG_PNPACPI=y
# CONFIG_PNP_DEBUG is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PPP is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RELAY=y
# CONFIG_RELOCATABLE is not set
# CONFIG_RFKILL is not set
CONFIG_RTC=y
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_SCHEDSTATS=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_HRTICK=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCSI=y
CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCx200 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_SDIO_UART is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIO=y
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_RAW is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SMP is not set
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_INTEL=m
# CONFIG_SND_HDA_POWER_SAVE is not set
# CONFIG_SND_MIXER_OSS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_PCSP is not set
# CONFIG_SND_SIS7019 is not set
# CONFIG_SND_USB is not set
CONFIG_SND_VMASTER=y
# CONFIG_SONYPI is not set
CONFIG_SPARSEMEM_STATIC=y
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SSB_POSSIBLE=y
CONFIG_STRICT_DEVMEM=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SYSPROF_TRACER is not set
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TELCLOCK is not set
CONFIG_THERMAL=y
CONFIG_TICK_ONESHOT=y
CONFIG_TIMER_STATS=y
# CONFIG_TOSHIBA is not set
# CONFIG_TUN is not set
# CONFIG_UDF_FS is not set
CONFIG_UID16=y
CONFIG_USB=y
# CONFIG_USB_ACM is not set
# CONFIG_USB_CATC is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_GSPCA is not set
# CONFIG_USB_HID is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_PWC is not set
# CONFIG_USB_S2255 is not set
# CONFIG_USB_SERIAL is not set
CONFIG_USB_STORAGE=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_USBNET is not set
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_V4L_USB_DRIVERS=y
# CONFIG_VFAT_FS is not set
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
# CONFIG_VGASTATE is not set
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_CPIA2 is not set
CONFIG_VIDEO_MEDIA=m
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_OVCAMCHIP=m
CONFIG_VIDEO_SELECT=y
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
CONFIG_VIDEO_V4L1=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_COMMON=m
# CONFIG_VLAN_8021Q_GVRP is not set
CONFIG_VM86=y
# CONFIG_VMSPLIT_1G is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_W1 is not set
# CONFIG_WATCHDOG is not set
CONFIG_X86=y
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_BSWAP=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_CPU=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_CPUID is not set
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_E_POWERSAVER is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_GENERIC=y
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_INVLPG=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_LOCAL_APIC=y
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_MCE is not set
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_MPPARSE=y
# CONFIG_X86_MSR is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_PAE is not set
CONFIG_X86_PC=y
CONFIG_X86_PM_TIMER=y
CONFIG_X86_POPAD_OK=y
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_TSC=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_VERBOSE_BOOTUP=y
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_XADD=y
# CONFIG_ZONE_DMA32 is not set

@ -0,0 +1,205 @@
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -135,6 +135,12 @@ SECTIONS
INITCALLS
__initcall_end = .;
}
+ .root_initcall.init : AT(ADDR(.root_initcall.init) - LOAD_OFFSET) {
+ __root_initcall_start = .;
+ INITCALLS_ROOT
+ __root_initcall_end = .;
+ }
+
.con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
__con_initcall_start = .;
*(.con_initcall.init)
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -18,10 +18,18 @@
#include <linux/buffer_head.h>
#include <linux/mutex.h>
#include <linux/mount.h>
+#include <linux/list.h>
+#include <linux/delay.h>
#define ERROR(fmt, args...) printk(KERN_ERR "block2mtd: " fmt "\n" , ## args)
#define INFO(fmt, args...) printk(KERN_INFO "block2mtd: " fmt "\n" , ## args)
+struct retry {
+ struct list_head list;
+ const char *val;
+};
+
+static LIST_HEAD(retry_list);
/* Info for the block device */
struct block2mtd_dev {
@@ -33,10 +41,34 @@ struct block2mtd_dev {
char devname[0];
};
+static int block2mtd_setup2(const char *val);
/* Static info about the MTD, used in cleanup_module */
static LIST_HEAD(blkmtd_device_list);
+static int add_retry(const char *val) {
+ struct retry *r = kmalloc(sizeof(struct retry), GFP_KERNEL);
+
+ INIT_LIST_HEAD(&r->list);
+ r->val = val;
+ list_add(&r->list, &retry_list);
+
+ return 0;
+}
+
+static int __init process_retries(void) {
+ struct list_head *p, *tmp;
+
+ list_for_each_safe(p, tmp, &retry_list) {
+ struct retry *r = list_entry(p, struct retry, list);
+ block2mtd_setup2(r->val);
+ msleep(100);
+ list_del(p);
+ kfree(r);
+ }
+ return 0;
+}
+rootfs_initcall(process_retries);
static struct page *page_read(struct address_space *mapping, int index)
{
@@ -510,7 +542,9 @@ static int block2mtd_setup2(const char *val)
if (token[2] && (strlen(token[2]) + 1 > 80))
parse_err("mtd device name too long");
- add_device(name, erase_size, token[2]);
+ if (add_device(name, erase_size, token[2]) == NULL) {
+ add_retry(val);
+ }
return 0;
}
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -375,12 +375,14 @@
*(.initcall4s.init) \
*(.initcall5.init) \
*(.initcall5s.init) \
- *(.initcallrootfs.init) \
*(.initcall6.init) \
*(.initcall6s.init) \
*(.initcall7.init) \
*(.initcall7s.init)
+#define INITCALLS_ROOT \
+ *(.initcallrootfs.init)
+
#define PERCPU(align) \
. = ALIGN(align); \
VMLINUX_SYMBOL(__per_cpu_start) = .; \
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -174,16 +174,8 @@ static int __init fs_names_setup(char *str)
return 1;
}
-static unsigned int __initdata root_delay;
-static int __init root_delay_setup(char *str)
-{
- root_delay = simple_strtoul(str, NULL, 0);
- return 1;
-}
-
__setup("rootflags=", root_data_setup);
__setup("rootfstype=", fs_names_setup);
-__setup("rootdelay=", root_delay_setup);
static void __init get_fs_names(char *page)
{
@@ -359,18 +351,6 @@ void __init prepare_namespace(void)
{
int is_floppy;
- if (root_delay) {
- printk(KERN_INFO "Waiting %dsec before mounting root device...\n",
- root_delay);
- ssleep(root_delay);
- }
-
- /* wait for the known devices to complete their probing */
- while (driver_probe_done() != 0)
- msleep(100);
-
- md_run_setup();
-
if (saved_root_name[0]) {
root_device_name = saved_root_name;
if (!strncmp(root_device_name, "mtd", 3) ||
--- a/init/main.c
+++ b/init/main.c
@@ -70,6 +70,7 @@
#ifdef CONFIG_X86_LOCAL_APIC
#include <asm/smp.h>
#endif
+#include "do_mounts.h"
/*
* This is one of the first .c files built. Error out early if we have compiler
@@ -745,12 +746,13 @@ int do_one_initcall(initcall_t fn)
extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];
+extern initcall_t __root_initcall_start[], __root_initcall_end[];
-static void __init do_initcalls(void)
+static void __init do_initcalls(initcall_t *start, initcall_t *end)
{
initcall_t *call;
- for (call = __early_initcall_end; call < __initcall_end; call++)
+ for (call = start; call < end; call++)
do_one_initcall(*call);
/* Make sure there is no pending stuff from the initcall sequence */
@@ -772,7 +774,7 @@ static void __init do_basic_setup(void)
usermodehelper_init();
driver_init();
init_irq_proc();
- do_initcalls();
+ do_initcalls(__early_initcall_end, __initcall_end);
}
static void __init do_pre_smp_initcalls(void)
@@ -833,6 +835,13 @@ static int noinline init_post(void)
panic("No init found. Try passing init= option to kernel.");
}
+static unsigned int __initdata root_delay;
+static int __init root_delay_setup(char *str)
+{
+ root_delay = simple_strtoul(str, NULL, 0);
+ return 1;
+}
+__setup("rootdelay=", root_delay_setup);
static int __init kernel_init(void * unused)
{
lock_kernel();
@@ -873,7 +882,16 @@ static int __init kernel_init(void * unused)
if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
ramdisk_execute_command = NULL;
- prepare_namespace();
+ if (root_delay) {
+ printk(KERN_INFO "Waiting %desc before mounting root device...\n",
+ root_delay);
+ ssleep(root_delay);
+ }
+ while (driver_probe_done() != 0)
+ msleep(100);
+ md_run_setup();
+ do_initcalls(__root_initcall_start, __root_initcall_end);
+ prepare_namespace();
}
/*