Commit 0dbfe8ddaaab9fe5bc8672c064d3ede6cd66201a
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
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.
Showing 9 changed files Side-by-side Diff
arch/m68k/atari/config.c
... | ... | @@ -414,9 +414,9 @@ |
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" |
423 | 423 | |
... | ... | @@ -569,10 +569,10 @@ |
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 |
arch/m68k/include/asm/irq.h
... | ... | @@ -50,19 +50,6 @@ |
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; |
arch/m68k/kernel/process_mm.c
arch/m68k/kernel/process_no.c
arch/m68k/kernel/traps.c
... | ... | @@ -552,13 +552,13 @@ |
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 | |
565 | 565 | |
566 | 566 | |
... | ... | @@ -605,20 +605,18 @@ |
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 |
625 | 623 | |
... | ... | @@ -668,13 +666,13 @@ |
668 | 666 | |
669 | 667 | #ifdef DEBUG |
670 | 668 | asm volatile ("ptestr #1,%2@,#7,%0\n\t" |
671 | - "pmove %%psr,%1@" | |
672 | - : "=a&" (desc) | |
673 | - : "a" (&temp), "a" (addr)); | |
669 | + "pmove %%psr,%1" | |
670 | + : "=a&" (desc), "=m" (temp) | |
671 | + : "a" (addr)); | |
674 | 672 | #else |
675 | 673 | asm volatile ("ptestr #1,%1@,#7\n\t" |
676 | - "pmove %%psr,%0@" | |
677 | - : : "a" (&temp), "a" (addr)); | |
674 | + "pmove %%psr,%0" | |
675 | + : "=m" (temp) : "a" (addr)); | |
678 | 676 | #endif |
679 | 677 | mmusr = temp; |
680 | 678 |
arch/m68k/mm/cache.c
... | ... | @@ -52,9 +52,9 @@ |
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); |
drivers/scsi/mac_esp.c
... | ... | @@ -565,8 +565,7 @@ |
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; |
drivers/scsi/mac_scsi.c
... | ... | @@ -339,9 +339,6 @@ |
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) )); |
... | ... | @@ -356,9 +353,6 @@ |
356 | 353 | |
357 | 354 | for( end = jiffies + AFTER_RESET_DELAY; time_before(jiffies, end); ) |
358 | 355 | barrier(); |
359 | - | |
360 | - /* switch on SCSI IRQ again */ | |
361 | - enable_irq(IRQ_MAC_SCSI); | |
362 | 356 | |
363 | 357 | printk(KERN_INFO " done\n" ); |
364 | 358 | } |
drivers/video/macfb.c
... | ... | @@ -592,12 +592,12 @@ |
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; |
604 | 604 | |
... | ... | @@ -613,14 +613,10 @@ |
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: |
627 | 623 | |
... | ... | @@ -660,11 +656,10 @@ |
660 | 656 | macfb_fix.visual = FB_VISUAL_TRUECOLOR; |
661 | 657 | break; |
662 | 658 | default: |
663 | - video_cmap_len = 0; | |
664 | - macfb_fix.visual = FB_VISUAL_MONO01; | |
665 | - printk("macfb: unknown or unsupported bit depth: %d\n", | |
659 | + pr_err("macfb: unknown or unsupported bit depth: %d\n", | |
666 | 660 | macfb_defined.bits_per_pixel); |
667 | - break; | |
661 | + err = -EINVAL; | |
662 | + goto fail_unmap; | |
668 | 663 | } |
669 | 664 | |
670 | 665 | /* |
671 | 666 | |
... | ... | @@ -734,8 +729,8 @@ |
734 | 729 | case MAC_MODEL_Q950: |
735 | 730 | strcpy(macfb_fix.id, "DAFB"); |
736 | 731 | macfb_setpalette = dafb_setpalette; |
737 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
738 | 732 | dafb_cmap_regs = ioremap(DAFB_BASE, 0x1000); |
733 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
739 | 734 | break; |
740 | 735 | |
741 | 736 | /* |
742 | 737 | |
... | ... | @@ -744,8 +739,8 @@ |
744 | 739 | case MAC_MODEL_LCII: |
745 | 740 | strcpy(macfb_fix.id, "V8"); |
746 | 741 | macfb_setpalette = v8_brazil_setpalette; |
747 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
748 | 742 | v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); |
743 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
749 | 744 | break; |
750 | 745 | |
751 | 746 | /* |
752 | 747 | |
... | ... | @@ -758,8 +753,8 @@ |
758 | 753 | case MAC_MODEL_P600: |
759 | 754 | strcpy(macfb_fix.id, "Brazil"); |
760 | 755 | macfb_setpalette = v8_brazil_setpalette; |
761 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
762 | 756 | v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); |
757 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
763 | 758 | break; |
764 | 759 | |
765 | 760 | /* |
766 | 761 | |
767 | 762 | |
... | ... | @@ -773,10 +768,10 @@ |
773 | 768 | case MAC_MODEL_P520: |
774 | 769 | case MAC_MODEL_P550: |
775 | 770 | case MAC_MODEL_P460: |
776 | - macfb_setpalette = v8_brazil_setpalette; | |
777 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
778 | 771 | strcpy(macfb_fix.id, "Sonora"); |
772 | + macfb_setpalette = v8_brazil_setpalette; | |
779 | 773 | v8_brazil_cmap_regs = ioremap(DAC_BASE, 0x1000); |
774 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
780 | 775 | break; |
781 | 776 | |
782 | 777 | /* |
783 | 778 | |
784 | 779 | |
... | ... | @@ -786,10 +781,10 @@ |
786 | 781 | */ |
787 | 782 | case MAC_MODEL_IICI: |
788 | 783 | case MAC_MODEL_IISI: |
789 | - macfb_setpalette = rbv_setpalette; | |
790 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
791 | 784 | strcpy(macfb_fix.id, "RBV"); |
785 | + macfb_setpalette = rbv_setpalette; | |
792 | 786 | rbv_cmap_regs = ioremap(DAC_BASE, 0x1000); |
787 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
793 | 788 | break; |
794 | 789 | |
795 | 790 | /* |
796 | 791 | |
797 | 792 | |
... | ... | @@ -797,10 +792,10 @@ |
797 | 792 | */ |
798 | 793 | case MAC_MODEL_Q840: |
799 | 794 | case MAC_MODEL_C660: |
800 | - macfb_setpalette = civic_setpalette; | |
801 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
802 | 795 | strcpy(macfb_fix.id, "Civic"); |
796 | + macfb_setpalette = civic_setpalette; | |
803 | 797 | civic_cmap_regs = ioremap(CIVIC_BASE, 0x1000); |
798 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
804 | 799 | break; |
805 | 800 | |
806 | 801 | |
807 | 802 | |
808 | 803 | |
809 | 804 | |
810 | 805 | |
811 | 806 | |
812 | 807 | |
813 | 808 | |
... | ... | @@ -809,26 +804,26 @@ |
809 | 804 | * We think this may be like the LC II |
810 | 805 | */ |
811 | 806 | case MAC_MODEL_LC: |
807 | + strcpy(macfb_fix.id, "LC"); | |
812 | 808 | if (vidtest) { |
813 | 809 | macfb_setpalette = v8_brazil_setpalette; |
814 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
815 | 810 | v8_brazil_cmap_regs = |
816 | 811 | ioremap(DAC_BASE, 0x1000); |
812 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
817 | 813 | } |
818 | - strcpy(macfb_fix.id, "LC"); | |
819 | 814 | break; |
820 | 815 | |
821 | 816 | /* |
822 | 817 | * We think this may be like the LC II |
823 | 818 | */ |
824 | 819 | case MAC_MODEL_CCL: |
820 | + strcpy(macfb_fix.id, "Color Classic"); | |
825 | 821 | if (vidtest) { |
826 | 822 | macfb_setpalette = v8_brazil_setpalette; |
827 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
828 | 823 | v8_brazil_cmap_regs = |
829 | 824 | ioremap(DAC_BASE, 0x1000); |
825 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
830 | 826 | } |
831 | - strcpy(macfb_fix.id, "Color Classic"); | |
832 | 827 | break; |
833 | 828 | |
834 | 829 | /* |
835 | 830 | |
836 | 831 | |
... | ... | @@ -893,10 +888,10 @@ |
893 | 888 | case MAC_MODEL_PB270C: |
894 | 889 | case MAC_MODEL_PB280: |
895 | 890 | case MAC_MODEL_PB280C: |
896 | - macfb_setpalette = csc_setpalette; | |
897 | - macfb_defined.activate = FB_ACTIVATE_NOW; | |
898 | 891 | strcpy(macfb_fix.id, "CSC"); |
892 | + macfb_setpalette = csc_setpalette; | |
899 | 893 | csc_cmap_regs = ioremap(CSC_BASE, 0x1000); |
894 | + macfb_defined.activate = FB_ACTIVATE_NOW; | |
900 | 895 | break; |
901 | 896 | |
902 | 897 | default: |
... | ... | @@ -918,8 +913,9 @@ |
918 | 913 | if (err) |
919 | 914 | goto fail_dealloc; |
920 | 915 | |
921 | - printk("fb%d: %s frame buffer device\n", | |
922 | - fb_info.node, fb_info.fix.id); | |
916 | + pr_info("fb%d: %s frame buffer device\n", | |
917 | + fb_info.node, fb_info.fix.id); | |
918 | + | |
923 | 919 | return 0; |
924 | 920 | |
925 | 921 | fail_dealloc: |