Commit 0dbfe8ddaaab9fe5bc8672c064d3ede6cd66201a

Authored by Linus Torvalds

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
... ... @@ -172,7 +172,7 @@
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 /*
arch/m68k/kernel/process_no.c
... ... @@ -163,8 +163,8 @@
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  
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: