diff options
author | Paul Bolle <pebolle@tiscali.nl> | 2013-03-26 20:47:03 -0400 |
---|---|---|
committer | Michael Ellerman <michael@ellerman.id.au> | 2013-04-17 23:03:53 -0400 |
commit | 933ee7119fb14156f46dc8bce8218f62db13c568 (patch) | |
tree | d42fe89c8f7a28351e8139743601c45c9c6a32df | |
parent | 9850baed30dd445b0a2bb58045b8edff74953952 (diff) |
powerpc: remove PReP platform
PPC_PREP is marked as BROKEN since v2.6.15. Remove all PReP specific
code now.
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
-rw-r--r-- | Documentation/powerpc/00-INDEX | 4 | ||||
-rw-r--r-- | Documentation/powerpc/sound.txt | 81 | ||||
-rw-r--r-- | Documentation/powerpc/zImage_layout.txt | 47 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 8 | ||||
-rw-r--r-- | arch/powerpc/include/asm/dma.h | 5 | ||||
-rw-r--r-- | arch/powerpc/include/asm/io.h | 4 | ||||
-rw-r--r-- | arch/powerpc/include/asm/processor.h | 9 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup-common.c | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/Kconfig | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/prep/Kconfig | 23 | ||||
-rw-r--r-- | drivers/pnp/pnpbios/core.c | 9 | ||||
-rw-r--r-- | drivers/video/cirrusfb.c | 62 |
12 files changed, 19 insertions, 242 deletions
diff --git a/Documentation/powerpc/00-INDEX b/Documentation/powerpc/00-INDEX index 5620fb5ac425..dd9e92802ec0 100644 --- a/Documentation/powerpc/00-INDEX +++ b/Documentation/powerpc/00-INDEX | |||
@@ -14,10 +14,6 @@ hvcs.txt | |||
14 | - IBM "Hypervisor Virtual Console Server" Installation Guide | 14 | - IBM "Hypervisor Virtual Console Server" Installation Guide |
15 | mpc52xx.txt | 15 | mpc52xx.txt |
16 | - Linux 2.6.x on MPC52xx family | 16 | - Linux 2.6.x on MPC52xx family |
17 | sound.txt | ||
18 | - info on sound support under Linux/PPC | ||
19 | zImage_layout.txt | ||
20 | - info on the kernel images for Linux/PPC | ||
21 | qe_firmware.txt | 17 | qe_firmware.txt |
22 | - describes the layout of firmware binaries for the Freescale QUICC | 18 | - describes the layout of firmware binaries for the Freescale QUICC |
23 | Engine and the code that parses and uploads the microcode therein. | 19 | Engine and the code that parses and uploads the microcode therein. |
diff --git a/Documentation/powerpc/sound.txt b/Documentation/powerpc/sound.txt deleted file mode 100644 index df23d95e03a0..000000000000 --- a/Documentation/powerpc/sound.txt +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | Information about PowerPC Sound support | ||
2 | ===================================================================== | ||
3 | |||
4 | Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions, | ||
5 | comments or corrections. | ||
6 | |||
7 | Last Change: 6.16.99 | ||
8 | |||
9 | This just covers sound on the PReP and CHRP systems for now and later | ||
10 | will contain information on the PowerMac's. | ||
11 | |||
12 | Sound on PReP has been tested and is working with the PowerStack and IBM | ||
13 | Power Series onboard sound systems which are based on the cs4231(2) chip. | ||
14 | The sound options when doing the make config are a bit different from | ||
15 | the default, though. | ||
16 | |||
17 | The I/O base, irq and dma lines that you enter during the make config | ||
18 | are ignored and are set when booting according to the machine type. | ||
19 | This is so that one binary can be used for Motorola and IBM machines | ||
20 | which use different values and isn't allowed by the driver, so things | ||
21 | are hacked together in such a way as to allow this information to be | ||
22 | set automatically on boot. | ||
23 | |||
24 | 1. Motorola PowerStack PReP machines | ||
25 | |||
26 | Enable support for "Crystal CS4232 based (PnP) cards" and for the | ||
27 | Microsoft Sound System. The MSS isn't used, but some of the routines | ||
28 | that the CS4232 driver uses are in it. | ||
29 | |||
30 | Although the options you set are ignored and determined automatically | ||
31 | on boot these are included for information only: | ||
32 | |||
33 | (830) CS4232 audio I/O base 530, 604, E80 or F40 | ||
34 | (10) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15 | ||
35 | (6) CS4232 audio DMA 0, 1 or 3 | ||
36 | (7) CS4232 second (duplex) DMA 0, 1 or 3 | ||
37 | |||
38 | This will allow simultaneous record and playback, as 2 different dma | ||
39 | channels are used. | ||
40 | |||
41 | The sound will be all left channel and very low volume since the | ||
42 | auxiliary input isn't muted by default. I had the changes necessary | ||
43 | for this in the kernel but the sound driver maintainer didn't want | ||
44 | to include them since it wasn't common in other machines. To fix this | ||
45 | you need to mute it using a mixer utility of some sort (if you find one | ||
46 | please let me know) or by patching the driver yourself and recompiling. | ||
47 | |||
48 | There is a problem on the PowerStack 2's (PowerStack Pro's) using a | ||
49 | different irq/drq than the kernel expects. Unfortunately, I don't know | ||
50 | which irq/drq it is so if anyone knows please email me. | ||
51 | |||
52 | Midi is not supported since the cs4232 driver doesn't support midi yet. | ||
53 | |||
54 | 2. IBM PowerPersonal PReP machines | ||
55 | |||
56 | I've only tested sound on the Power Personal Series of IBM workstations | ||
57 | so if you try it on others please let me know the result. I'm especially | ||
58 | interested in the 43p's sound system, which I know nothing about. | ||
59 | |||
60 | Enable support for "Crystal CS4232 based (PnP) cards" and for the | ||
61 | Microsoft Sound System. The MSS isn't used, but some of the routines | ||
62 | that the CS4232 driver uses are in it. | ||
63 | |||
64 | Although the options you set are ignored and determined automatically | ||
65 | on boot these are included for information only: | ||
66 | |||
67 | (530) CS4232 audio I/O base 530, 604, E80 or F40 | ||
68 | (5) CS4232 audio IRQ 5, 7, 9, 11, 12 or 15 | ||
69 | (1) CS4232 audio DMA 0, 1 or 3 | ||
70 | (7) CS4232 second (duplex) DMA 0, 1 or 3 | ||
71 | (330) CS4232 MIDI I/O base 330, 370, 3B0 or 3F0 | ||
72 | (9) CS4232 MIDI IRQ 5, 7, 9, 11, 12 or 15 | ||
73 | |||
74 | This setup does _NOT_ allow for recording yet. | ||
75 | |||
76 | Midi is not supported since the cs4232 driver doesn't support midi yet. | ||
77 | |||
78 | 2. IBM CHRP | ||
79 | |||
80 | I have only tested this on the 43P-150. Build the kernel with the cs4232 | ||
81 | set as a module and load the module with irq=9 dma=1 dma2=2 io=0x550 | ||
diff --git a/Documentation/powerpc/zImage_layout.txt b/Documentation/powerpc/zImage_layout.txt deleted file mode 100644 index 048e0150f571..000000000000 --- a/Documentation/powerpc/zImage_layout.txt +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | Information about the Linux/PPC kernel images | ||
2 | ===================================================================== | ||
3 | |||
4 | Please mail me (Cort Dougan, cort@fsmlabs.com) if you have questions, | ||
5 | comments or corrections. | ||
6 | |||
7 | This document is meant to answer several questions I've had about how | ||
8 | the PReP system boots and how Linux/PPC interacts with that mechanism. | ||
9 | It would be nice if we could have information on how other architectures | ||
10 | boot here as well. If you have anything to contribute, please | ||
11 | let me know. | ||
12 | |||
13 | |||
14 | 1. PReP boot file | ||
15 | |||
16 | This is the file necessary to boot PReP systems from floppy or | ||
17 | hard drive. The firmware reads the PReP partition table entry | ||
18 | and will load the image accordingly. | ||
19 | |||
20 | To boot the zImage, copy it onto a floppy with dd if=zImage of=/dev/fd0h1440 | ||
21 | or onto a PReP hard drive partition with dd if=zImage of=/dev/sda4 | ||
22 | assuming you've created a PReP partition (type 0x41) with fdisk on | ||
23 | /dev/sda4. | ||
24 | |||
25 | The layout of the image format is: | ||
26 | |||
27 | 0x0 +------------+ | ||
28 | | | PReP partition table entry | ||
29 | | | | ||
30 | 0x400 +------------+ | ||
31 | | | Bootstrap program code + data | ||
32 | | | | ||
33 | | | | ||
34 | +------------+ | ||
35 | | | compressed kernel, elf header removed | ||
36 | +------------+ | ||
37 | | | initrd (if loaded) | ||
38 | +------------+ | ||
39 | | | Elf section table for bootstrap program | ||
40 | +------------+ | ||
41 | |||
42 | |||
43 | 2. MBX boot file | ||
44 | |||
45 | The MBX boards can load an elf image, and relocate it to the | ||
46 | proper location in memory - it copies the image to the location it was | ||
47 | linked at. | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 83b46fc32782..bdac46e3fc4e 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -647,14 +647,14 @@ menu "Bus options" | |||
647 | 647 | ||
648 | config ISA | 648 | config ISA |
649 | bool "Support for ISA-bus hardware" | 649 | bool "Support for ISA-bus hardware" |
650 | depends on PPC_PREP || PPC_CHRP | 650 | depends on PPC_CHRP |
651 | select PPC_I8259 | 651 | select PPC_I8259 |
652 | help | 652 | help |
653 | Find out whether you have ISA slots on your motherboard. ISA is the | 653 | Find out whether you have ISA slots on your motherboard. ISA is the |
654 | name of a bus system, i.e. the way the CPU talks to the other stuff | 654 | name of a bus system, i.e. the way the CPU talks to the other stuff |
655 | inside your box. If you have an Apple machine, say N here; if you | 655 | inside your box. If you have an Apple machine, say N here; if you |
656 | have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If | 656 | have an IBM RS/6000 or pSeries machine, say Y. If you have an |
657 | you have an embedded board, consult your board documentation. | 657 | embedded board, consult your board documentation. |
658 | 658 | ||
659 | config ZONE_DMA | 659 | config ZONE_DMA |
660 | bool | 660 | bool |
@@ -968,7 +968,7 @@ config TASK_SIZE_BOOL | |||
968 | 968 | ||
969 | config TASK_SIZE | 969 | config TASK_SIZE |
970 | hex "Size of user task space" if TASK_SIZE_BOOL | 970 | hex "Size of user task space" if TASK_SIZE_BOOL |
971 | default "0x80000000" if PPC_PREP || PPC_8xx | 971 | default "0x80000000" if PPC_8xx |
972 | default "0xc0000000" | 972 | default "0xc0000000" |
973 | 973 | ||
974 | config CONSISTENT_SIZE_BOOL | 974 | config CONSISTENT_SIZE_BOOL |
diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h index f6813e919bb2..a5c6d83b5f60 100644 --- a/arch/powerpc/include/asm/dma.h +++ b/arch/powerpc/include/asm/dma.h | |||
@@ -16,10 +16,6 @@ | |||
16 | * | 16 | * |
17 | * None of this really applies for Power Macintoshes. There is | 17 | * None of this really applies for Power Macintoshes. There is |
18 | * basically just enough here to get kernel/dma.c to compile. | 18 | * basically just enough here to get kernel/dma.c to compile. |
19 | * | ||
20 | * There may be some comments or restrictions made here which are | ||
21 | * not valid for the PReP platform. Take what you read | ||
22 | * with a grain of salt. | ||
23 | */ | 19 | */ |
24 | 20 | ||
25 | #include <asm/io.h> | 21 | #include <asm/io.h> |
@@ -57,7 +53,6 @@ | |||
57 | * - page registers for 5-7 don't use data bit 0, represent 128K pages | 53 | * - page registers for 5-7 don't use data bit 0, represent 128K pages |
58 | * - page registers for 0-3 use bit 0, represent 64K pages | 54 | * - page registers for 0-3 use bit 0, represent 64K pages |
59 | * | 55 | * |
60 | * On PReP, DMA transfers are limited to the lower 16MB of _physical_ memory. | ||
61 | * On CHRP, the W83C553F (and VLSI Tollgate?) support full 32 bit addressing. | 56 | * On CHRP, the W83C553F (and VLSI Tollgate?) support full 32 bit addressing. |
62 | * Note that addresses loaded into registers must be _physical_ addresses, | 57 | * Note that addresses loaded into registers must be _physical_ addresses, |
63 | * not logical addresses (which may differ if paging is active). | 58 | * not logical addresses (which may differ if paging is active). |
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index f94ef4213e9d..dd15e5e37d6d 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h | |||
@@ -15,10 +15,6 @@ | |||
15 | extern int check_legacy_ioport(unsigned long base_port); | 15 | extern int check_legacy_ioport(unsigned long base_port); |
16 | #define I8042_DATA_REG 0x60 | 16 | #define I8042_DATA_REG 0x60 |
17 | #define FDC_BASE 0x3f0 | 17 | #define FDC_BASE 0x3f0 |
18 | /* only relevant for PReP */ | ||
19 | #define _PIDXR 0x279 | ||
20 | #define _PNPWRP 0xa79 | ||
21 | #define PNPBIOS_BASE 0xf000 | ||
22 | 18 | ||
23 | #if defined(CONFIG_PPC64) && defined(CONFIG_PCI) | 19 | #if defined(CONFIG_PPC64) && defined(CONFIG_PCI) |
24 | extern struct pci_dev *isa_bridge_pcidev; | 20 | extern struct pci_dev *isa_bridge_pcidev; |
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 7ff9eaa3ea6c..0a4cc5d649e1 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -40,7 +40,7 @@ | |||
40 | * -- BenH. | 40 | * -- BenH. |
41 | */ | 41 | */ |
42 | 42 | ||
43 | /* PREP sub-platform types see residual.h for these */ | 43 | /* PREP sub-platform types. Unused */ |
44 | #define _PREP_Motorola 0x01 /* motorola prep */ | 44 | #define _PREP_Motorola 0x01 /* motorola prep */ |
45 | #define _PREP_Firm 0x02 /* firmworks prep */ | 45 | #define _PREP_Firm 0x02 /* firmworks prep */ |
46 | #define _PREP_IBM 0x00 /* ibm prep */ | 46 | #define _PREP_IBM 0x00 /* ibm prep */ |
@@ -56,13 +56,6 @@ | |||
56 | 56 | ||
57 | extern int _chrp_type; | 57 | extern int _chrp_type; |
58 | 58 | ||
59 | #ifdef CONFIG_PPC_PREP | ||
60 | |||
61 | /* what kind of prep workstation we are */ | ||
62 | extern int _prep_type; | ||
63 | |||
64 | #endif /* CONFIG_PPC_PREP */ | ||
65 | |||
66 | #endif /* defined(__KERNEL__) && defined(CONFIG_PPC32) */ | 59 | #endif /* defined(__KERNEL__) && defined(CONFIG_PPC32) */ |
67 | 60 | ||
68 | /* | 61 | /* |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index bdc499c17872..63d051f5b7a5 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -621,12 +621,6 @@ int check_legacy_ioport(unsigned long base_port) | |||
621 | case FDC_BASE: /* FDC1 */ | 621 | case FDC_BASE: /* FDC1 */ |
622 | np = of_find_node_by_type(NULL, "fdc"); | 622 | np = of_find_node_by_type(NULL, "fdc"); |
623 | break; | 623 | break; |
624 | #ifdef CONFIG_PPC_PREP | ||
625 | case _PIDXR: | ||
626 | case _PNPWRP: | ||
627 | case PNPBIOS_BASE: | ||
628 | /* implement me */ | ||
629 | #endif | ||
630 | default: | 624 | default: |
631 | /* ipmi is supposed to fail here */ | 625 | /* ipmi is supposed to fail here */ |
632 | break; | 626 | break; |
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig index 52de8bccfb30..9089ae71334a 100644 --- a/arch/powerpc/platforms/Kconfig +++ b/arch/powerpc/platforms/Kconfig | |||
@@ -6,7 +6,6 @@ source "arch/powerpc/platforms/chrp/Kconfig" | |||
6 | source "arch/powerpc/platforms/512x/Kconfig" | 6 | source "arch/powerpc/platforms/512x/Kconfig" |
7 | source "arch/powerpc/platforms/52xx/Kconfig" | 7 | source "arch/powerpc/platforms/52xx/Kconfig" |
8 | source "arch/powerpc/platforms/powermac/Kconfig" | 8 | source "arch/powerpc/platforms/powermac/Kconfig" |
9 | source "arch/powerpc/platforms/prep/Kconfig" | ||
10 | source "arch/powerpc/platforms/maple/Kconfig" | 9 | source "arch/powerpc/platforms/maple/Kconfig" |
11 | source "arch/powerpc/platforms/pasemi/Kconfig" | 10 | source "arch/powerpc/platforms/pasemi/Kconfig" |
12 | source "arch/powerpc/platforms/ps3/Kconfig" | 11 | source "arch/powerpc/platforms/ps3/Kconfig" |
@@ -233,7 +232,7 @@ endmenu | |||
233 | 232 | ||
234 | config PPC601_SYNC_FIX | 233 | config PPC601_SYNC_FIX |
235 | bool "Workarounds for PPC601 bugs" | 234 | bool "Workarounds for PPC601 bugs" |
236 | depends on 6xx && (PPC_PREP || PPC_PMAC) | 235 | depends on 6xx && PPC_PMAC |
237 | help | 236 | help |
238 | Some versions of the PPC601 (the first PowerPC chip) have bugs which | 237 | Some versions of the PPC601 (the first PowerPC chip) have bugs which |
239 | mean that extra synchronization instructions are required near | 238 | mean that extra synchronization instructions are required near |
diff --git a/arch/powerpc/platforms/prep/Kconfig b/arch/powerpc/platforms/prep/Kconfig deleted file mode 100644 index 1547f66235d9..000000000000 --- a/arch/powerpc/platforms/prep/Kconfig +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | config PPC_PREP | ||
2 | bool "PowerPC Reference Platform (PReP) based machines" | ||
3 | depends on 6xx && BROKEN | ||
4 | select HAVE_PCSPKR_PLATFORM | ||
5 | select MPIC | ||
6 | select PPC_I8259 | ||
7 | select PPC_INDIRECT_PCI | ||
8 | select PPC_UDBG_16550 | ||
9 | select PPC_NATIVE | ||
10 | default n | ||
11 | |||
12 | config PREP_RESIDUAL | ||
13 | bool "Support for PReP Residual Data" | ||
14 | depends on PPC_PREP | ||
15 | help | ||
16 | Some PReP systems have residual data passed to the kernel by the | ||
17 | firmware. This allows detection of memory size, devices present and | ||
18 | other useful pieces of information. Sometimes this information is | ||
19 | not present or incorrect, in which case it could lead to the machine | ||
20 | behaving incorrectly. If this happens, either disable PREP_RESIDUAL | ||
21 | or pass the 'noresidual' option to the kernel. | ||
22 | |||
23 | If you are running a PReP system, say Y here, otherwise say N. | ||
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index 5d66e5585f97..9b86a01af631 100644 --- a/drivers/pnp/pnpbios/core.c +++ b/drivers/pnp/pnpbios/core.c | |||
@@ -513,10 +513,6 @@ static int __init pnpbios_init(void) | |||
513 | { | 513 | { |
514 | int ret; | 514 | int ret; |
515 | 515 | ||
516 | #if defined(CONFIG_PPC) | ||
517 | if (check_legacy_ioport(PNPBIOS_BASE)) | ||
518 | return -ENODEV; | ||
519 | #endif | ||
520 | if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) || | 516 | if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) || |
521 | paravirt_enabled()) { | 517 | paravirt_enabled()) { |
522 | printk(KERN_INFO "PnPBIOS: Disabled\n"); | 518 | printk(KERN_INFO "PnPBIOS: Disabled\n"); |
@@ -570,10 +566,7 @@ fs_initcall(pnpbios_init); | |||
570 | static int __init pnpbios_thread_init(void) | 566 | static int __init pnpbios_thread_init(void) |
571 | { | 567 | { |
572 | struct task_struct *task; | 568 | struct task_struct *task; |
573 | #if defined(CONFIG_PPC) | 569 | |
574 | if (check_legacy_ioport(PNPBIOS_BASE)) | ||
575 | return 0; | ||
576 | #endif | ||
577 | if (pnpbios_disabled) | 570 | if (pnpbios_disabled) |
578 | return 0; | 571 | return 0; |
579 | 572 | ||
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c index c3dbbe6e3acf..97db3ba8f237 100644 --- a/drivers/video/cirrusfb.c +++ b/drivers/video/cirrusfb.c | |||
@@ -53,12 +53,6 @@ | |||
53 | #ifdef CONFIG_AMIGA | 53 | #ifdef CONFIG_AMIGA |
54 | #include <asm/amigahw.h> | 54 | #include <asm/amigahw.h> |
55 | #endif | 55 | #endif |
56 | #ifdef CONFIG_PPC_PREP | ||
57 | #include <asm/machdep.h> | ||
58 | #define isPReP machine_is(prep) | ||
59 | #else | ||
60 | #define isPReP 0 | ||
61 | #endif | ||
62 | 56 | ||
63 | #include <video/vga.h> | 57 | #include <video/vga.h> |
64 | #include <video/cirrus.h> | 58 | #include <video/cirrus.h> |
@@ -557,30 +551,18 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var, | |||
557 | break; | 551 | break; |
558 | 552 | ||
559 | case 16: | 553 | case 16: |
560 | if (isPReP) { | 554 | var->red.offset = 11; |
561 | var->red.offset = 2; | 555 | var->green.offset = 5; |
562 | var->green.offset = -3; | 556 | var->blue.offset = 0; |
563 | var->blue.offset = 8; | ||
564 | } else { | ||
565 | var->red.offset = 11; | ||
566 | var->green.offset = 5; | ||
567 | var->blue.offset = 0; | ||
568 | } | ||
569 | var->red.length = 5; | 557 | var->red.length = 5; |
570 | var->green.length = 6; | 558 | var->green.length = 6; |
571 | var->blue.length = 5; | 559 | var->blue.length = 5; |
572 | break; | 560 | break; |
573 | 561 | ||
574 | case 24: | 562 | case 24: |
575 | if (isPReP) { | 563 | var->red.offset = 16; |
576 | var->red.offset = 0; | 564 | var->green.offset = 8; |
577 | var->green.offset = 8; | 565 | var->blue.offset = 0; |
578 | var->blue.offset = 16; | ||
579 | } else { | ||
580 | var->red.offset = 16; | ||
581 | var->green.offset = 8; | ||
582 | var->blue.offset = 0; | ||
583 | } | ||
584 | var->red.length = 8; | 566 | var->red.length = 8; |
585 | var->green.length = 8; | 567 | var->green.length = 8; |
586 | var->blue.length = 8; | 568 | var->blue.length = 8; |
@@ -1874,17 +1856,6 @@ static void cirrusfb_imageblit(struct fb_info *info, | |||
1874 | } | 1856 | } |
1875 | } | 1857 | } |
1876 | 1858 | ||
1877 | #ifdef CONFIG_PPC_PREP | ||
1878 | #define PREP_VIDEO_BASE ((volatile unsigned long) 0xC0000000) | ||
1879 | #define PREP_IO_BASE ((volatile unsigned char *) 0x80000000) | ||
1880 | static void get_prep_addrs(unsigned long *display, unsigned long *registers) | ||
1881 | { | ||
1882 | *display = PREP_VIDEO_BASE; | ||
1883 | *registers = (unsigned long) PREP_IO_BASE; | ||
1884 | } | ||
1885 | |||
1886 | #endif /* CONFIG_PPC_PREP */ | ||
1887 | |||
1888 | #ifdef CONFIG_PCI | 1859 | #ifdef CONFIG_PCI |
1889 | static int release_io_ports; | 1860 | static int release_io_ports; |
1890 | 1861 | ||
@@ -2139,21 +2110,12 @@ static int cirrusfb_pci_register(struct pci_dev *pdev, | |||
2139 | dev_dbg(info->device, " base address 1 is 0x%Lx\n", | 2110 | dev_dbg(info->device, " base address 1 is 0x%Lx\n", |
2140 | (unsigned long long)pdev->resource[1].start); | 2111 | (unsigned long long)pdev->resource[1].start); |
2141 | 2112 | ||
2142 | if (isPReP) { | 2113 | dev_dbg(info->device, |
2143 | pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, 0x00000000); | 2114 | "Attempt to get PCI info for Cirrus Graphics Card\n"); |
2144 | #ifdef CONFIG_PPC_PREP | 2115 | get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start); |
2145 | get_prep_addrs(&board_addr, &info->fix.mmio_start); | 2116 | /* FIXME: this forces VGA. alternatives? */ |
2146 | #endif | 2117 | cinfo->regbase = NULL; |
2147 | /* PReP dies if we ioremap the IO registers, but it works w/out... */ | 2118 | cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000); |
2148 | cinfo->regbase = (char __iomem *) info->fix.mmio_start; | ||
2149 | } else { | ||
2150 | dev_dbg(info->device, | ||
2151 | "Attempt to get PCI info for Cirrus Graphics Card\n"); | ||
2152 | get_pci_addrs(pdev, &board_addr, &info->fix.mmio_start); | ||
2153 | /* FIXME: this forces VGA. alternatives? */ | ||
2154 | cinfo->regbase = NULL; | ||
2155 | cinfo->laguna_mmio = ioremap(info->fix.mmio_start, 0x1000); | ||
2156 | } | ||
2157 | 2119 | ||
2158 | dev_dbg(info->device, "Board address: 0x%lx, register address: 0x%lx\n", | 2120 | dev_dbg(info->device, "Board address: 0x%lx, register address: 0x%lx\n", |
2159 | board_addr, info->fix.mmio_start); | 2121 | board_addr, info->fix.mmio_start); |