Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
m68k: Fix assembler constraint to prevent overeager gcc optimisation
mac_esp: rename irq
mac_scsi: dont enable mac_scsi irq before requesting it
macfb: fix black and white modes
m68k/irq: Remove obsolete IRQ_FLG_* definitions

Fix up trivial conflict in arch/m68k/kernel/process_mm.c as per Geert.

+56 -82
+4 -4
arch/m68k/atari/config.c
··· 414 414 * FDC val = 4 -> Supervisor only */ 415 415 asm volatile ("\n" 416 416 " .chip 68030\n" 417 - " pmove %0@,%/tt1\n" 417 + " pmove %0,%/tt1\n" 418 418 " .chip 68k" 419 - : : "a" (&tt1_val)); 419 + : : "m" (tt1_val)); 420 420 } else { 421 421 asm volatile ("\n" 422 422 " .chip 68040\n" ··· 569 569 : "d0"); 570 570 } else 571 571 asm volatile ("\n" 572 - " pmove %0@,%%tc\n" 572 + " pmove %0,%%tc\n" 573 573 " jmp %1@" 574 574 : /* no outputs */ 575 - : "a" (&tc_val), "a" (reset_addr)); 575 + : "m" (tc_val), "a" (reset_addr)); 576 576 } 577 577 578 578
-13
arch/m68k/include/asm/irq.h
··· 50 50 51 51 #define IRQ_USER 8 52 52 53 - /* 54 - * various flags for request_irq() - the Amiga now uses the standard 55 - * mechanism like all other architectures - IRQF_DISABLED and 56 - * IRQF_SHARED are your friends. 57 - */ 58 - #ifndef MACH_AMIGA_ONLY 59 - #define IRQ_FLG_LOCK (0x0001) /* handler is not replaceable */ 60 - #define IRQ_FLG_REPLACE (0x0002) /* replace existing handler */ 61 - #define IRQ_FLG_FAST (0x0004) 62 - #define IRQ_FLG_SLOW (0x0008) 63 - #define IRQ_FLG_STD (0x8000) /* internally used */ 64 - #endif 65 - 66 53 struct irq_data; 67 54 struct irq_chip; 68 55 struct irq_desc;
+1 -1
arch/m68k/kernel/process_mm.c
··· 172 172 173 173 current->thread.fs = __USER_DS; 174 174 if (!FPU_IS_EMU) 175 - asm volatile ("frestore %0@" : : "a" (&zero) : "memory"); 175 + asm volatile("frestore %0": :"m" (zero)); 176 176 } 177 177 178 178 /*
+2 -2
arch/m68k/kernel/process_no.c
··· 163 163 #ifdef CONFIG_FPU 164 164 if (!FPU_IS_EMU) 165 165 asm volatile (".chip 68k/68881\n\t" 166 - "frestore %0@\n\t" 167 - ".chip 68k" : : "a" (&zero)); 166 + "frestore %0\n\t" 167 + ".chip 68k" : : "m" (zero)); 168 168 #endif 169 169 } 170 170
+17 -19
arch/m68k/kernel/traps.c
··· 552 552 553 553 #ifdef DEBUG 554 554 asm volatile ("ptestr %3,%2@,#7,%0\n\t" 555 - "pmove %%psr,%1@" 556 - : "=a&" (desc) 557 - : "a" (&temp), "a" (addr), "d" (ssw)); 555 + "pmove %%psr,%1" 556 + : "=a&" (desc), "=m" (temp) 557 + : "a" (addr), "d" (ssw)); 558 558 #else 559 559 asm volatile ("ptestr %2,%1@,#7\n\t" 560 - "pmove %%psr,%0@" 561 - : : "a" (&temp), "a" (addr), "d" (ssw)); 560 + "pmove %%psr,%0" 561 + : "=m" (temp) : "a" (addr), "d" (ssw)); 562 562 #endif 563 563 mmusr = temp; 564 564 ··· 605 605 !(ssw & RW) ? "write" : "read", addr, 606 606 fp->ptregs.pc, ssw); 607 607 asm volatile ("ptestr #1,%1@,#0\n\t" 608 - "pmove %%psr,%0@" 609 - : /* no outputs */ 610 - : "a" (&temp), "a" (addr)); 608 + "pmove %%psr,%0" 609 + : "=m" (temp) 610 + : "a" (addr)); 611 611 mmusr = temp; 612 612 613 613 printk ("level 0 mmusr is %#x\n", mmusr); 614 614 #if 0 615 - asm volatile ("pmove %%tt0,%0@" 616 - : /* no outputs */ 617 - : "a" (&tlong)); 615 + asm volatile ("pmove %%tt0,%0" 616 + : "=m" (tlong)); 618 617 printk("tt0 is %#lx, ", tlong); 619 - asm volatile ("pmove %%tt1,%0@" 620 - : /* no outputs */ 621 - : "a" (&tlong)); 618 + asm volatile ("pmove %%tt1,%0" 619 + : "=m" (tlong)); 622 620 printk("tt1 is %#lx\n", tlong); 623 621 #endif 624 622 #ifdef DEBUG ··· 666 668 667 669 #ifdef DEBUG 668 670 asm volatile ("ptestr #1,%2@,#7,%0\n\t" 669 - "pmove %%psr,%1@" 670 - : "=a&" (desc) 671 - : "a" (&temp), "a" (addr)); 671 + "pmove %%psr,%1" 672 + : "=a&" (desc), "=m" (temp) 673 + : "a" (addr)); 672 674 #else 673 675 asm volatile ("ptestr #1,%1@,#7\n\t" 674 - "pmove %%psr,%0@" 675 - : : "a" (&temp), "a" (addr)); 676 + "pmove %%psr,%0" 677 + : "=m" (temp) : "a" (addr)); 676 678 #endif 677 679 mmusr = temp; 678 680
+3 -3
arch/m68k/mm/cache.c
··· 52 52 unsigned long *descaddr; 53 53 54 54 asm volatile ("ptestr %3,%2@,#7,%0\n\t" 55 - "pmove %%psr,%1@" 56 - : "=a&" (descaddr) 57 - : "a" (&mmusr), "a" (vaddr), "d" (get_fs().seg)); 55 + "pmove %%psr,%1" 56 + : "=a&" (descaddr), "=m" (mmusr) 57 + : "a" (vaddr), "d" (get_fs().seg)); 58 58 if (mmusr & (MMU_I|MMU_B|MMU_L)) 59 59 return 0; 60 60 descaddr = phys_to_virt((unsigned long)descaddr);
+1 -2
drivers/scsi/mac_esp.c
··· 565 565 esp_chips[dev->id] = esp; 566 566 mb(); 567 567 if (esp_chips[!dev->id] == NULL) { 568 - err = request_irq(host->irq, mac_scsi_esp_intr, 0, 569 - "Mac ESP", NULL); 568 + err = request_irq(host->irq, mac_scsi_esp_intr, 0, "ESP", NULL); 570 569 if (err < 0) { 571 570 esp_chips[dev->id] = NULL; 572 571 goto fail_free_priv;
-6
drivers/scsi/mac_scsi.c
··· 339 339 340 340 printk(KERN_INFO "Macintosh SCSI: resetting the SCSI bus..." ); 341 341 342 - /* switch off SCSI IRQ - catch an interrupt without IRQ bit set else */ 343 - disable_irq(IRQ_MAC_SCSI); 344 - 345 342 /* get in phase */ 346 343 NCR5380_write( TARGET_COMMAND_REG, 347 344 PHASE_SR_TO_TCR( NCR5380_read(STATUS_REG) )); ··· 353 356 354 357 for( end = jiffies + AFTER_RESET_DELAY; time_before(jiffies, end); ) 355 358 barrier(); 356 - 357 - /* switch on SCSI IRQ again */ 358 - enable_irq(IRQ_MAC_SCSI); 359 359 360 360 printk(KERN_INFO " done\n" ); 361 361 }
+28 -32
drivers/video/macfb.c
··· 592 592 if (!fb_info.screen_base) 593 593 return -ENODEV; 594 594 595 - printk("macfb: framebuffer at 0x%08lx, mapped to 0x%p, size %dk\n", 596 - macfb_fix.smem_start, fb_info.screen_base, 597 - macfb_fix.smem_len / 1024); 598 - printk("macfb: mode is %dx%dx%d, linelength=%d\n", 599 - macfb_defined.xres, macfb_defined.yres, 600 - macfb_defined.bits_per_pixel, macfb_fix.line_length); 595 + pr_info("macfb: framebuffer at 0x%08lx, mapped to 0x%p, size %dk\n", 596 + macfb_fix.smem_start, fb_info.screen_base, 597 + macfb_fix.smem_len / 1024); 598 + pr_info("macfb: mode is %dx%dx%d, linelength=%d\n", 599 + macfb_defined.xres, macfb_defined.yres, 600 + macfb_defined.bits_per_pixel, macfb_fix.line_length); 601 601 602 602 /* Fill in the available video resolution */ 603 603 macfb_defined.xres_virtual = macfb_defined.xres; ··· 613 613 614 614 switch (macfb_defined.bits_per_pixel) { 615 615 case 1: 616 - /* 617 - * XXX: I think this will catch any program that tries 618 - * to do FBIO_PUTCMAP when the visual is monochrome. 619 - */ 620 616 macfb_defined.red.length = macfb_defined.bits_per_pixel; 621 617 macfb_defined.green.length = macfb_defined.bits_per_pixel; 622 618 macfb_defined.blue.length = macfb_defined.bits_per_pixel; 623 - video_cmap_len = 0; 619 + video_cmap_len = 2; 624 620 macfb_fix.visual = FB_VISUAL_MONO01; 625 621 break; 626 622 case 2: ··· 656 660 macfb_fix.visual = FB_VISUAL_TRUECOLOR; 657 661 break; 658 662 default: 659 - video_cmap_len = 0; 660 - macfb_fix.visual = FB_VISUAL_MONO01; 661 - printk("macfb: unknown or unsupported bit depth: %d\n", 663 + pr_err("macfb: unknown or unsupported bit depth: %d\n", 662 664 macfb_defined.bits_per_pixel); 663 - break; 665 + err = -EINVAL; 666 + goto fail_unmap; 664 667 } 665 668 666 669 /* ··· 729 734 case MAC_MODEL_Q950: 730 735 strcpy(macfb_fix.id, "DAFB"); 731 736 macfb_setpalette = dafb_setpalette; 732 - macfb_defined.activate = FB_ACTIVATE_NOW; 733 737 dafb_cmap_regs = ioremap(DAFB_BASE, 0x1000); 738 + macfb_defined.activate = FB_ACTIVATE_NOW; 734 739 break; 735 740 736 741 /* ··· 739 744 case MAC_MODEL_LCII: 740 745 strcpy(macfb_fix.id, "V8"); 741 746 macfb_setpalette = v8_brazil_setpalette; 742 - macfb_defined.activate = FB_ACTIVATE_NOW; 743 747 v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); 748 + macfb_defined.activate = FB_ACTIVATE_NOW; 744 749 break; 745 750 746 751 /* ··· 753 758 case MAC_MODEL_P600: 754 759 strcpy(macfb_fix.id, "Brazil"); 755 760 macfb_setpalette = v8_brazil_setpalette; 756 - macfb_defined.activate = FB_ACTIVATE_NOW; 757 761 v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); 762 + macfb_defined.activate = FB_ACTIVATE_NOW; 758 763 break; 759 764 760 765 /* ··· 768 773 case MAC_MODEL_P520: 769 774 case MAC_MODEL_P550: 770 775 case MAC_MODEL_P460: 771 - macfb_setpalette = v8_brazil_setpalette; 772 - macfb_defined.activate = FB_ACTIVATE_NOW; 773 776 strcpy(macfb_fix.id, "Sonora"); 777 + macfb_setpalette = v8_brazil_setpalette; 774 778 v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); 779 + macfb_defined.activate = FB_ACTIVATE_NOW; 775 780 break; 776 781 777 782 /* ··· 781 786 */ 782 787 case MAC_MODEL_IICI: 783 788 case MAC_MODEL_IISI: 784 - macfb_setpalette = rbv_setpalette; 785 - macfb_defined.activate = FB_ACTIVATE_NOW; 786 789 strcpy(macfb_fix.id, "RBV"); 790 + macfb_setpalette = rbv_setpalette; 787 791 rbv_cmap_regs = ioremap(DAC_BASE, 0x1000); 792 + macfb_defined.activate = FB_ACTIVATE_NOW; 788 793 break; 789 794 790 795 /* ··· 792 797 */ 793 798 case MAC_MODEL_Q840: 794 799 case MAC_MODEL_C660: 795 - macfb_setpalette = civic_setpalette; 796 - macfb_defined.activate = FB_ACTIVATE_NOW; 797 800 strcpy(macfb_fix.id, "Civic"); 801 + macfb_setpalette = civic_setpalette; 798 802 civic_cmap_regs = ioremap(CIVIC_BASE, 0x1000); 803 + macfb_defined.activate = FB_ACTIVATE_NOW; 799 804 break; 800 805 801 806 ··· 804 809 * We think this may be like the LC II 805 810 */ 806 811 case MAC_MODEL_LC: 812 + strcpy(macfb_fix.id, "LC"); 807 813 if (vidtest) { 808 814 macfb_setpalette = v8_brazil_setpalette; 809 - macfb_defined.activate = FB_ACTIVATE_NOW; 810 815 v8_brazil_cmap_regs = 811 816 ioremap(DAC_BASE, 0x1000); 817 + macfb_defined.activate = FB_ACTIVATE_NOW; 812 818 } 813 - strcpy(macfb_fix.id, "LC"); 814 819 break; 815 820 816 821 /* 817 822 * We think this may be like the LC II 818 823 */ 819 824 case MAC_MODEL_CCL: 825 + strcpy(macfb_fix.id, "Color Classic"); 820 826 if (vidtest) { 821 827 macfb_setpalette = v8_brazil_setpalette; 822 - macfb_defined.activate = FB_ACTIVATE_NOW; 823 828 v8_brazil_cmap_regs = 824 829 ioremap(DAC_BASE, 0x1000); 830 + macfb_defined.activate = FB_ACTIVATE_NOW; 825 831 } 826 - strcpy(macfb_fix.id, "Color Classic"); 827 832 break; 828 833 829 834 /* ··· 888 893 case MAC_MODEL_PB270C: 889 894 case MAC_MODEL_PB280: 890 895 case MAC_MODEL_PB280C: 891 - macfb_setpalette = csc_setpalette; 892 - macfb_defined.activate = FB_ACTIVATE_NOW; 893 896 strcpy(macfb_fix.id, "CSC"); 897 + macfb_setpalette = csc_setpalette; 894 898 csc_cmap_regs = ioremap(CSC_BASE, 0x1000); 899 + macfb_defined.activate = FB_ACTIVATE_NOW; 895 900 break; 896 901 897 902 default: ··· 913 918 if (err) 914 919 goto fail_dealloc; 915 920 916 - printk("fb%d: %s frame buffer device\n", 917 - fb_info.node, fb_info.fix.id); 921 + pr_info("fb%d: %s frame buffer device\n", 922 + fb_info.node, fb_info.fix.id); 923 + 918 924 return 0; 919 925 920 926 fail_dealloc: