Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze

* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: Update Microblaze defconfigs
microblaze: Use klimit instead of _end for memory init
microblaze: Enable ppoll syscall
microblaze: Sane handling of missing timer/intc in device tree
microblaze: use the generic ack_bad_irq implementation

+99 -85
+36 -34
arch/microblaze/configs/mmu_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.30-rc6 4 - # Fri May 22 10:02:33 2009 3 + # Linux kernel version: 2.6.31-rc6 4 + # Tue Aug 18 11:00:02 2009 5 5 # 6 6 CONFIG_MICROBLAZE=y 7 7 # CONFIG_SWAP is not set ··· 18 18 CONFIG_GENERIC_CLOCKEVENTS=y 19 19 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 20 20 CONFIG_GENERIC_GPIO=y 21 + CONFIG_GENERIC_CSUM=y 22 + # CONFIG_PCI is not set 23 + CONFIG_NO_DMA=y 21 24 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 25 + CONFIG_CONSTRUCTORS=y 22 26 23 27 # 24 28 # General setup ··· 63 59 CONFIG_RD_GZIP=y 64 60 # CONFIG_RD_BZIP2 is not set 65 61 # CONFIG_RD_LZMA is not set 66 - CONFIG_INITRAMFS_COMPRESSION_NONE=y 67 - # CONFIG_INITRAMFS_COMPRESSION_GZIP is not set 62 + # CONFIG_INITRAMFS_COMPRESSION_NONE is not set 63 + CONFIG_INITRAMFS_COMPRESSION_GZIP=y 68 64 # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set 69 65 # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set 70 66 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set ··· 75 71 CONFIG_KALLSYMS=y 76 72 CONFIG_KALLSYMS_ALL=y 77 73 CONFIG_KALLSYMS_EXTRA_PASS=y 78 - # CONFIG_STRIP_ASM_SYMS is not set 79 74 # CONFIG_HOTPLUG is not set 80 75 CONFIG_PRINTK=y 81 76 CONFIG_BUG=y ··· 87 84 CONFIG_EVENTFD=y 88 85 # CONFIG_SHMEM is not set 89 86 CONFIG_AIO=y 87 + 88 + # 89 + # Performance Counters 90 + # 90 91 CONFIG_VM_EVENT_COUNTERS=y 92 + # CONFIG_STRIP_ASM_SYMS is not set 91 93 CONFIG_COMPAT_BRK=y 92 94 CONFIG_SLAB=y 93 95 # CONFIG_SLUB is not set 94 96 # CONFIG_SLOB is not set 95 97 # CONFIG_PROFILING is not set 96 98 # CONFIG_MARKERS is not set 99 + 100 + # 101 + # GCOV-based kernel profiling 102 + # 97 103 # CONFIG_SLOW_WORK is not set 98 104 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 99 105 CONFIG_SLABINFO=y ··· 114 102 # CONFIG_MODVERSIONS is not set 115 103 # CONFIG_MODULE_SRCVERSION_ALL is not set 116 104 CONFIG_BLOCK=y 117 - # CONFIG_LBD is not set 105 + CONFIG_LBDAF=y 118 106 # CONFIG_BLK_DEV_BSG is not set 119 107 # CONFIG_BLK_DEV_INTEGRITY is not set 120 108 ··· 206 194 # CONFIG_PHYS_ADDR_T_64BIT is not set 207 195 CONFIG_ZONE_DMA_FLAG=0 208 196 CONFIG_VIRT_TO_BUS=y 209 - CONFIG_UNEVICTABLE_LRU=y 210 197 CONFIG_HAVE_MLOCK=y 211 198 CONFIG_HAVE_MLOCKED_PAGE_BIT=y 199 + CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 212 200 213 201 # 214 202 # Exectuable file formats ··· 274 262 # CONFIG_ECONET is not set 275 263 # CONFIG_WAN_ROUTER is not set 276 264 # CONFIG_PHONET is not set 265 + # CONFIG_IEEE802154 is not set 277 266 # CONFIG_NET_SCHED is not set 278 267 # CONFIG_DCB is not set 279 268 ··· 338 325 # CONFIG_ATA is not set 339 326 # CONFIG_MD is not set 340 327 CONFIG_NETDEVICES=y 341 - CONFIG_COMPAT_NET_DEV_OPS=y 342 328 # CONFIG_DUMMY is not set 343 329 # CONFIG_BONDING is not set 344 330 # CONFIG_MACVLAN is not set ··· 356 344 # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 357 345 # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 358 346 # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 359 - # CONFIG_B44 is not set 347 + # CONFIG_KS8842 is not set 360 348 CONFIG_NETDEV_1000=y 361 349 CONFIG_NETDEV_10000=y 362 350 ··· 422 410 # CONFIG_TCG_TPM is not set 423 411 # CONFIG_I2C is not set 424 412 # CONFIG_SPI is not set 413 + 414 + # 415 + # PPS support 416 + # 417 + # CONFIG_PPS is not set 425 418 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 426 419 # CONFIG_GPIOLIB is not set 427 420 # CONFIG_W1 is not set ··· 435 418 # CONFIG_THERMAL is not set 436 419 # CONFIG_THERMAL_HWMON is not set 437 420 # CONFIG_WATCHDOG is not set 438 - CONFIG_SSB_POSSIBLE=y 439 - 440 - # 441 - # Sonics Silicon Backplane 442 - # 443 - # CONFIG_SSB is not set 444 421 445 422 # 446 423 # Multifunction device drivers ··· 444 433 # CONFIG_HTC_PASIC3 is not set 445 434 # CONFIG_MFD_TMIO is not set 446 435 # CONFIG_REGULATOR is not set 447 - 448 - # 449 - # Multimedia devices 450 - # 451 - 452 - # 453 - # Multimedia core support 454 - # 455 - # CONFIG_VIDEO_DEV is not set 456 - # CONFIG_DVB_CORE is not set 457 - # CONFIG_VIDEO_MEDIA is not set 458 - 459 - # 460 - # Multimedia drivers 461 - # 462 - # CONFIG_DAB is not set 436 + # CONFIG_MEDIA_SUPPORT is not set 463 437 464 438 # 465 439 # Graphics support ··· 465 469 # CONFIG_NEW_LEDS is not set 466 470 # CONFIG_ACCESSIBILITY is not set 467 471 # CONFIG_RTC_CLASS is not set 468 - # CONFIG_DMADEVICES is not set 469 472 # CONFIG_AUXDISPLAY is not set 470 473 # CONFIG_UIO is not set 474 + 475 + # 476 + # TI VLYNQ 477 + # 471 478 # CONFIG_STAGING is not set 472 479 473 480 # ··· 484 485 # CONFIG_REISERFS_FS is not set 485 486 # CONFIG_JFS_FS is not set 486 487 # CONFIG_FS_POSIX_ACL is not set 487 - CONFIG_FILE_LOCKING=y 488 488 # CONFIG_XFS_FS is not set 489 + # CONFIG_GFS2_FS is not set 489 490 # CONFIG_OCFS2_FS is not set 490 491 # CONFIG_BTRFS_FS is not set 492 + CONFIG_FILE_LOCKING=y 493 + CONFIG_FSNOTIFY=y 491 494 # CONFIG_DNOTIFY is not set 492 495 # CONFIG_INOTIFY is not set 496 + CONFIG_INOTIFY_USER=y 493 497 # CONFIG_QUOTA is not set 494 498 # CONFIG_AUTOFS_FS is not set 495 499 # CONFIG_AUTOFS4_FS is not set ··· 680 678 # CONFIG_SYSCTL_SYSCALL_CHECK is not set 681 679 # CONFIG_PAGE_POISONING is not set 682 680 # CONFIG_SAMPLES is not set 681 + # CONFIG_KMEMCHECK is not set 683 682 CONFIG_EARLY_PRINTK=y 684 683 CONFIG_HEART_BEAT=y 685 684 CONFIG_DEBUG_BOOTMEM=y ··· 796 793 CONFIG_DECOMPRESS_GZIP=y 797 794 CONFIG_HAS_IOMEM=y 798 795 CONFIG_HAS_IOPORT=y 799 - CONFIG_HAS_DMA=y 800 796 CONFIG_HAVE_LMB=y 801 797 CONFIG_NLATTR=y
+55 -36
arch/microblaze/configs/nommu_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.30-rc5 4 - # Mon May 11 09:01:02 2009 3 + # Linux kernel version: 2.6.31-rc6 4 + # Tue Aug 18 10:35:30 2009 5 5 # 6 6 CONFIG_MICROBLAZE=y 7 7 # CONFIG_SWAP is not set ··· 17 17 # CONFIG_GENERIC_TIME_VSYSCALL is not set 18 18 CONFIG_GENERIC_CLOCKEVENTS=y 19 19 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 20 + CONFIG_GENERIC_GPIO=y 21 + CONFIG_GENERIC_CSUM=y 20 22 # CONFIG_PCI is not set 21 - # CONFIG_NO_DMA is not set 23 + CONFIG_NO_DMA=y 22 24 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 25 + CONFIG_CONSTRUCTORS=y 23 26 24 27 # 25 28 # General setup ··· 67 64 CONFIG_KALLSYMS=y 68 65 CONFIG_KALLSYMS_ALL=y 69 66 CONFIG_KALLSYMS_EXTRA_PASS=y 70 - # CONFIG_STRIP_ASM_SYMS is not set 71 67 # CONFIG_HOTPLUG is not set 72 68 CONFIG_PRINTK=y 73 69 CONFIG_BUG=y ··· 78 76 CONFIG_TIMERFD=y 79 77 CONFIG_EVENTFD=y 80 78 CONFIG_AIO=y 79 + 80 + # 81 + # Performance Counters 82 + # 81 83 CONFIG_VM_EVENT_COUNTERS=y 84 + # CONFIG_STRIP_ASM_SYMS is not set 82 85 CONFIG_COMPAT_BRK=y 83 86 CONFIG_SLAB=y 84 87 # CONFIG_SLUB is not set 85 88 # CONFIG_SLOB is not set 86 89 # CONFIG_PROFILING is not set 87 90 # CONFIG_MARKERS is not set 91 + 92 + # 93 + # GCOV-based kernel profiling 94 + # 95 + # CONFIG_GCOV_KERNEL is not set 88 96 # CONFIG_SLOW_WORK is not set 89 97 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 90 98 CONFIG_SLABINFO=y ··· 107 95 # CONFIG_MODVERSIONS is not set 108 96 # CONFIG_MODULE_SRCVERSION_ALL is not set 109 97 CONFIG_BLOCK=y 110 - # CONFIG_LBD is not set 98 + CONFIG_LBDAF=y 111 99 # CONFIG_BLK_DEV_BSG is not set 112 100 # CONFIG_BLK_DEV_INTEGRITY is not set 113 101 ··· 168 156 CONFIG_CMDLINE="console=ttyUL0,115200" 169 157 # CONFIG_CMDLINE_FORCE is not set 170 158 CONFIG_OF=y 171 - CONFIG_OF_DEVICE=y 172 159 CONFIG_PROC_DEVICETREE=y 160 + 161 + # 162 + # Advanced setup 163 + # 164 + 165 + # 166 + # Default settings for advanced configuration options are used 167 + # 168 + CONFIG_KERNEL_START=0x90000000 173 169 CONFIG_SELECT_MEMORY_MODEL=y 174 170 CONFIG_FLATMEM_MANUAL=y 175 171 # CONFIG_DISCONTIGMEM_MANUAL is not set ··· 189 169 # CONFIG_PHYS_ADDR_T_64BIT is not set 190 170 CONFIG_ZONE_DMA_FLAG=0 191 171 CONFIG_VIRT_TO_BUS=y 192 - CONFIG_UNEVICTABLE_LRU=y 172 + CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 193 173 CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 194 174 195 175 # ··· 257 237 # CONFIG_ECONET is not set 258 238 # CONFIG_WAN_ROUTER is not set 259 239 # CONFIG_PHONET is not set 240 + # CONFIG_IEEE802154 is not set 260 241 # CONFIG_NET_SCHED is not set 261 242 # CONFIG_DCB is not set 262 243 ··· 275 254 CONFIG_WIRELESS_OLD_REGULATORY=y 276 255 # CONFIG_WIRELESS_EXT is not set 277 256 # CONFIG_LIB80211 is not set 278 - # CONFIG_MAC80211 is not set 257 + 258 + # 259 + # CFG80211 needs to be enabled for MAC80211 260 + # 261 + CONFIG_MAC80211_DEFAULT_PS_VALUE=0 279 262 # CONFIG_WIMAX is not set 280 263 # CONFIG_RFKILL is not set 281 264 # CONFIG_NET_9P is not set ··· 378 353 # UBI - Unsorted block images 379 354 # 380 355 # CONFIG_MTD_UBI is not set 356 + CONFIG_OF_DEVICE=y 381 357 # CONFIG_PARPORT is not set 382 358 CONFIG_BLK_DEV=y 383 359 # CONFIG_BLK_DEV_COW_COMMON is not set ··· 390 364 # CONFIG_BLK_DEV_XIP is not set 391 365 # CONFIG_CDROM_PKTCDVD is not set 392 366 # CONFIG_ATA_OVER_ETH is not set 367 + # CONFIG_XILINX_SYSACE is not set 393 368 CONFIG_MISC_DEVICES=y 394 369 # CONFIG_ENCLOSURE_SERVICES is not set 395 370 # CONFIG_C2PORT is not set ··· 410 383 # CONFIG_ATA is not set 411 384 # CONFIG_MD is not set 412 385 CONFIG_NETDEVICES=y 413 - CONFIG_COMPAT_NET_DEV_OPS=y 414 386 # CONFIG_DUMMY is not set 415 387 # CONFIG_BONDING is not set 416 388 # CONFIG_MACVLAN is not set ··· 428 402 # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 429 403 # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 430 404 # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 431 - # CONFIG_B44 is not set 405 + # CONFIG_KS8842 is not set 432 406 CONFIG_NETDEV_1000=y 433 407 CONFIG_NETDEV_10000=y 434 408 ··· 489 463 # CONFIG_HW_RANDOM_TIMERIOMEM is not set 490 464 # CONFIG_RTC is not set 491 465 # CONFIG_GEN_RTC is not set 466 + # CONFIG_XILINX_HWICAP is not set 492 467 # CONFIG_R3964 is not set 493 468 # CONFIG_RAW_DRIVER is not set 494 469 # CONFIG_TCG_TPM is not set 495 470 # CONFIG_I2C is not set 496 471 # CONFIG_SPI is not set 472 + 473 + # 474 + # PPS support 475 + # 476 + # CONFIG_PPS is not set 477 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 478 + # CONFIG_GPIOLIB is not set 497 479 # CONFIG_W1 is not set 498 480 # CONFIG_POWER_SUPPLY is not set 499 481 # CONFIG_HWMON is not set 500 482 # CONFIG_THERMAL is not set 501 483 # CONFIG_THERMAL_HWMON is not set 502 484 # CONFIG_WATCHDOG is not set 503 - CONFIG_SSB_POSSIBLE=y 504 - 505 - # 506 - # Sonics Silicon Backplane 507 - # 508 - # CONFIG_SSB is not set 509 485 510 486 # 511 487 # Multifunction device drivers ··· 517 489 # CONFIG_HTC_PASIC3 is not set 518 490 # CONFIG_MFD_TMIO is not set 519 491 # CONFIG_REGULATOR is not set 520 - 521 - # 522 - # Multimedia devices 523 - # 524 - 525 - # 526 - # Multimedia core support 527 - # 528 - # CONFIG_VIDEO_DEV is not set 529 - # CONFIG_DVB_CORE is not set 530 - # CONFIG_VIDEO_MEDIA is not set 531 - 532 - # 533 - # Multimedia drivers 534 - # 535 - CONFIG_DAB=y 492 + # CONFIG_MEDIA_SUPPORT is not set 536 493 537 494 # 538 495 # Graphics support ··· 533 520 # CONFIG_DISPLAY_SUPPORT is not set 534 521 # CONFIG_SOUND is not set 535 522 CONFIG_USB_SUPPORT=y 536 - # CONFIG_USB_ARCH_HAS_HCD is not set 523 + CONFIG_USB_ARCH_HAS_HCD=y 537 524 # CONFIG_USB_ARCH_HAS_OHCI is not set 538 525 # CONFIG_USB_ARCH_HAS_EHCI is not set 526 + # CONFIG_USB is not set 539 527 # CONFIG_USB_OTG_WHITELIST is not set 540 528 # CONFIG_USB_OTG_BLACKLIST_HUB is not set 541 529 ··· 557 543 # CONFIG_NEW_LEDS is not set 558 544 # CONFIG_ACCESSIBILITY is not set 559 545 # CONFIG_RTC_CLASS is not set 560 - # CONFIG_DMADEVICES is not set 561 546 # CONFIG_AUXDISPLAY is not set 562 547 # CONFIG_UIO is not set 548 + 549 + # 550 + # TI VLYNQ 551 + # 563 552 # CONFIG_STAGING is not set 564 553 565 554 # ··· 575 558 # CONFIG_REISERFS_FS is not set 576 559 # CONFIG_JFS_FS is not set 577 560 CONFIG_FS_POSIX_ACL=y 578 - CONFIG_FILE_LOCKING=y 579 561 # CONFIG_XFS_FS is not set 562 + # CONFIG_GFS2_FS is not set 580 563 # CONFIG_OCFS2_FS is not set 581 564 # CONFIG_BTRFS_FS is not set 565 + CONFIG_FILE_LOCKING=y 566 + CONFIG_FSNOTIFY=y 582 567 # CONFIG_DNOTIFY is not set 583 568 # CONFIG_INOTIFY is not set 569 + CONFIG_INOTIFY_USER=y 584 570 # CONFIG_QUOTA is not set 585 571 # CONFIG_AUTOFS_FS is not set 586 572 # CONFIG_AUTOFS4_FS is not set ··· 833 813 CONFIG_ZLIB_INFLATE=y 834 814 CONFIG_HAS_IOMEM=y 835 815 CONFIG_HAS_IOPORT=y 836 - CONFIG_HAS_DMA=y 837 816 CONFIG_HAVE_LMB=y 838 817 CONFIG_NLATTR=y
-2
arch/microblaze/include/asm/hardirq.h
··· 12 12 /* should be defined in each interrupt controller driver */ 13 13 extern unsigned int get_irq(struct pt_regs *regs); 14 14 15 - #define ack_bad_irq ack_bad_irq 16 - void ack_bad_irq(unsigned int irq); 17 15 #include <asm-generic/hardirq.h> 18 16 19 17 #endif /* _ASM_MICROBLAZE_HARDIRQ_H */
+2
arch/microblaze/kernel/intc.c
··· 12 12 #include <linux/irq.h> 13 13 #include <asm/page.h> 14 14 #include <linux/io.h> 15 + #include <linux/bug.h> 15 16 16 17 #include <asm/prom.h> 17 18 #include <asm/irq.h> ··· 131 130 if (intc) 132 131 break; 133 132 } 133 + BUG_ON(!intc); 134 134 135 135 intc_baseaddr = *(int *) of_get_property(intc, "reg", NULL); 136 136 intc_baseaddr = (unsigned long) ioremap(intc_baseaddr, PAGE_SIZE);
-9
arch/microblaze/kernel/irq.c
··· 30 30 } 31 31 EXPORT_SYMBOL_GPL(irq_of_parse_and_map); 32 32 33 - /* 34 - * 'what should we do if we get a hw irq event on an illegal vector'. 35 - * each architecture has to answer this themselves. 36 - */ 37 - void ack_bad_irq(unsigned int irq) 38 - { 39 - printk(KERN_WARNING "unexpected IRQ trap at vector %02x\n", irq); 40 - } 41 - 42 33 static u32 concurrent_irq; 43 34 44 35 void do_IRQ(struct pt_regs *regs)
+1 -1
arch/microblaze/kernel/syscall_table.S
··· 313 313 .long sys_fchmodat 314 314 .long sys_faccessat 315 315 .long sys_ni_syscall /* pselect6 */ 316 - .long sys_ni_syscall /* sys_ppoll */ 316 + .long sys_ppoll 317 317 .long sys_unshare /* 310 */ 318 318 .long sys_set_robust_list 319 319 .long sys_get_robust_list
+2
arch/microblaze/kernel/timer.c
··· 22 22 #include <linux/clocksource.h> 23 23 #include <linux/clockchips.h> 24 24 #include <linux/io.h> 25 + #include <linux/bug.h> 25 26 #include <asm/cpuinfo.h> 26 27 #include <asm/setup.h> 27 28 #include <asm/prom.h> ··· 235 234 if (timer) 236 235 break; 237 236 } 237 + BUG_ON(!timer); 238 238 239 239 timer_baseaddr = *(int *) of_get_property(timer, "reg", NULL); 240 240 timer_baseaddr = (unsigned long) ioremap(timer_baseaddr, PAGE_SIZE);
+3 -3
arch/microblaze/mm/init.c
··· 130 130 * (in case the address isn't page-aligned). 131 131 */ 132 132 #ifndef CONFIG_MMU 133 - map_size = init_bootmem_node(NODE_DATA(0), PFN_UP(TOPHYS((u32)_end)), 133 + map_size = init_bootmem_node(NODE_DATA(0), PFN_UP(TOPHYS((u32)klimit)), 134 134 min_low_pfn, max_low_pfn); 135 135 #else 136 136 map_size = init_bootmem_node(&contig_page_data, 137 - PFN_UP(TOPHYS((u32)_end)), min_low_pfn, max_low_pfn); 137 + PFN_UP(TOPHYS((u32)klimit)), min_low_pfn, max_low_pfn); 138 138 #endif 139 - lmb_reserve(PFN_UP(TOPHYS((u32)_end)) << PAGE_SHIFT, map_size); 139 + lmb_reserve(PFN_UP(TOPHYS((u32)klimit)) << PAGE_SHIFT, map_size); 140 140 141 141 /* free bootmem is whole main memory */ 142 142 free_bootmem(memory_start, memory_size);