diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-03-28 07:15:54 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-03-28 07:15:54 -0500 |
commit | e8222502ee6157e2713da9e0792c21f4ad458d50 (patch) | |
tree | 0f970fb99912c257a7e5254f863a53f79d22ab14 /drivers/video | |
parent | 056cb48a2fb6fb31debf665695a9f97b45cfb8ec (diff) |
[PATCH] powerpc: Kill _machine and hard-coded platform numbers
This removes statically assigned platform numbers and reworks the
powerpc platform probe code to use a better mechanism. With this,
board support files can simply declare a new machine type with a
macro, and implement a probe() function that uses the flattened
device-tree to detect if they apply for a given machine.
We now have a machine_is() macro that replaces the comparisons of
_machine with the various PLATFORM_* constants. This commit also
changes various drivers to use the new macro instead of looking at
_machine.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/aty/aty128fb.c | 7 | ||||
-rw-r--r-- | drivers/video/aty/atyfb_base.c | 7 | ||||
-rw-r--r-- | drivers/video/aty/radeon_pm.c | 4 | ||||
-rw-r--r-- | drivers/video/cirrusfb.c | 4 | ||||
-rw-r--r-- | drivers/video/matrox/matroxfb_base.c | 3 | ||||
-rw-r--r-- | drivers/video/nvidia/nvidia.c | 5 | ||||
-rw-r--r-- | drivers/video/radeonfb.c | 2 | ||||
-rw-r--r-- | drivers/video/riva/fbdev.c | 9 |
8 files changed, 23 insertions, 18 deletions
diff --git a/drivers/video/aty/aty128fb.c b/drivers/video/aty/aty128fb.c index 620c9a934e0e..f07be22e119d 100644 --- a/drivers/video/aty/aty128fb.c +++ b/drivers/video/aty/aty128fb.c | |||
@@ -67,6 +67,7 @@ | |||
67 | #include <asm/io.h> | 67 | #include <asm/io.h> |
68 | 68 | ||
69 | #ifdef CONFIG_PPC_PMAC | 69 | #ifdef CONFIG_PPC_PMAC |
70 | #include <asm/machdep.h> | ||
70 | #include <asm/pmac_feature.h> | 71 | #include <asm/pmac_feature.h> |
71 | #include <asm/prom.h> | 72 | #include <asm/prom.h> |
72 | #include <asm/pci-bridge.h> | 73 | #include <asm/pci-bridge.h> |
@@ -1748,7 +1749,7 @@ static int __init aty128_init(struct pci_dev *pdev, const struct pci_device_id * | |||
1748 | 1749 | ||
1749 | var = default_var; | 1750 | var = default_var; |
1750 | #ifdef CONFIG_PPC_PMAC | 1751 | #ifdef CONFIG_PPC_PMAC |
1751 | if (_machine == _MACH_Pmac) { | 1752 | if (machine_is(powermac)) { |
1752 | /* Indicate sleep capability */ | 1753 | /* Indicate sleep capability */ |
1753 | if (par->chip_gen == rage_M3) { | 1754 | if (par->chip_gen == rage_M3) { |
1754 | pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1); | 1755 | pmac_call_feature(PMAC_FTR_DEVICE_CAN_WAKE, NULL, 0, 1); |
@@ -2011,7 +2012,7 @@ static int aty128fb_blank(int blank, struct fb_info *fb) | |||
2011 | return 0; | 2012 | return 0; |
2012 | 2013 | ||
2013 | #ifdef CONFIG_PMAC_BACKLIGHT | 2014 | #ifdef CONFIG_PMAC_BACKLIGHT |
2014 | if ((_machine == _MACH_Pmac) && blank) | 2015 | if (machine_is(powermac) && blank) |
2015 | set_backlight_enable(0); | 2016 | set_backlight_enable(0); |
2016 | #endif /* CONFIG_PMAC_BACKLIGHT */ | 2017 | #endif /* CONFIG_PMAC_BACKLIGHT */ |
2017 | 2018 | ||
@@ -2029,7 +2030,7 @@ static int aty128fb_blank(int blank, struct fb_info *fb) | |||
2029 | aty128_set_lcd_enable(par, par->lcd_on && !blank); | 2030 | aty128_set_lcd_enable(par, par->lcd_on && !blank); |
2030 | } | 2031 | } |
2031 | #ifdef CONFIG_PMAC_BACKLIGHT | 2032 | #ifdef CONFIG_PMAC_BACKLIGHT |
2032 | if ((_machine == _MACH_Pmac) && !blank) | 2033 | if (machine_is(powermac) && !blank) |
2033 | set_backlight_enable(1); | 2034 | set_backlight_enable(1); |
2034 | #endif /* CONFIG_PMAC_BACKLIGHT */ | 2035 | #endif /* CONFIG_PMAC_BACKLIGHT */ |
2035 | return 0; | 2036 | return 0; |
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c index 485be386a8ff..1b1f24e2bfbe 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c | |||
@@ -75,6 +75,7 @@ | |||
75 | #include "ati_ids.h" | 75 | #include "ati_ids.h" |
76 | 76 | ||
77 | #ifdef __powerpc__ | 77 | #ifdef __powerpc__ |
78 | #include <asm/machdep.h> | ||
78 | #include <asm/prom.h> | 79 | #include <asm/prom.h> |
79 | #include "../macmodes.h" | 80 | #include "../macmodes.h" |
80 | #endif | 81 | #endif |
@@ -2516,7 +2517,7 @@ static int __init aty_init(struct fb_info *info, const char *name) | |||
2516 | 2517 | ||
2517 | memset(&var, 0, sizeof(var)); | 2518 | memset(&var, 0, sizeof(var)); |
2518 | #ifdef CONFIG_PPC | 2519 | #ifdef CONFIG_PPC |
2519 | if (_machine == _MACH_Pmac) { | 2520 | if (machine_is(powermac)) { |
2520 | /* | 2521 | /* |
2521 | * FIXME: The NVRAM stuff should be put in a Mac-specific file, as it | 2522 | * FIXME: The NVRAM stuff should be put in a Mac-specific file, as it |
2522 | * applies to all Mac video cards | 2523 | * applies to all Mac video cards |
@@ -2671,7 +2672,7 @@ static int atyfb_blank(int blank, struct fb_info *info) | |||
2671 | return 0; | 2672 | return 0; |
2672 | 2673 | ||
2673 | #ifdef CONFIG_PMAC_BACKLIGHT | 2674 | #ifdef CONFIG_PMAC_BACKLIGHT |
2674 | if ((_machine == _MACH_Pmac) && blank > FB_BLANK_NORMAL) | 2675 | if (machine_is(powermac) && blank > FB_BLANK_NORMAL) |
2675 | set_backlight_enable(0); | 2676 | set_backlight_enable(0); |
2676 | #elif defined(CONFIG_FB_ATY_GENERIC_LCD) | 2677 | #elif defined(CONFIG_FB_ATY_GENERIC_LCD) |
2677 | if (par->lcd_table && blank > FB_BLANK_NORMAL && | 2678 | if (par->lcd_table && blank > FB_BLANK_NORMAL && |
@@ -2703,7 +2704,7 @@ static int atyfb_blank(int blank, struct fb_info *info) | |||
2703 | aty_st_le32(CRTC_GEN_CNTL, gen_cntl, par); | 2704 | aty_st_le32(CRTC_GEN_CNTL, gen_cntl, par); |
2704 | 2705 | ||
2705 | #ifdef CONFIG_PMAC_BACKLIGHT | 2706 | #ifdef CONFIG_PMAC_BACKLIGHT |
2706 | if ((_machine == _MACH_Pmac) && blank <= FB_BLANK_NORMAL) | 2707 | if (machine_is(powermac) && blank <= FB_BLANK_NORMAL) |
2707 | set_backlight_enable(1); | 2708 | set_backlight_enable(1); |
2708 | #elif defined(CONFIG_FB_ATY_GENERIC_LCD) | 2709 | #elif defined(CONFIG_FB_ATY_GENERIC_LCD) |
2709 | if (par->lcd_table && blank <= FB_BLANK_NORMAL && | 2710 | if (par->lcd_table && blank <= FB_BLANK_NORMAL && |
diff --git a/drivers/video/aty/radeon_pm.c b/drivers/video/aty/radeon_pm.c index 5886a2f1323e..c7091761cef4 100644 --- a/drivers/video/aty/radeon_pm.c +++ b/drivers/video/aty/radeon_pm.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/agp_backend.h> | 20 | #include <linux/agp_backend.h> |
21 | 21 | ||
22 | #ifdef CONFIG_PPC_PMAC | 22 | #ifdef CONFIG_PPC_PMAC |
23 | #include <asm/processor.h> | 23 | #include <asm/machdep.h> |
24 | #include <asm/prom.h> | 24 | #include <asm/prom.h> |
25 | #include <asm/pmac_feature.h> | 25 | #include <asm/pmac_feature.h> |
26 | #endif | 26 | #endif |
@@ -2745,7 +2745,7 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk) | |||
2745 | rinfo->pm_mode |= radeon_pm_off; | 2745 | rinfo->pm_mode |= radeon_pm_off; |
2746 | } | 2746 | } |
2747 | #if defined(CONFIG_PPC_PMAC) | 2747 | #if defined(CONFIG_PPC_PMAC) |
2748 | if (_machine == _MACH_Pmac && rinfo->of_node) { | 2748 | if (machine_is(powermac) && rinfo->of_node) { |
2749 | if (rinfo->is_mobility && rinfo->pm_reg && | 2749 | if (rinfo->is_mobility && rinfo->pm_reg && |
2750 | rinfo->family <= CHIP_FAMILY_RV250) | 2750 | rinfo->family <= CHIP_FAMILY_RV250) |
2751 | rinfo->pm_mode |= radeon_pm_d2; | 2751 | rinfo->pm_mode |= radeon_pm_d2; |
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c index 66d6f2f0a219..1103010af54a 100644 --- a/drivers/video/cirrusfb.c +++ b/drivers/video/cirrusfb.c | |||
@@ -60,8 +60,8 @@ | |||
60 | #include <asm/amigahw.h> | 60 | #include <asm/amigahw.h> |
61 | #endif | 61 | #endif |
62 | #ifdef CONFIG_PPC_PREP | 62 | #ifdef CONFIG_PPC_PREP |
63 | #include <asm/processor.h> | 63 | #include <asm/machdep.h> |
64 | #define isPReP (_machine == _MACH_prep) | 64 | #define isPReP (machine_is(prep)) |
65 | #else | 65 | #else |
66 | #define isPReP 0 | 66 | #define isPReP 0 |
67 | #endif | 67 | #endif |
diff --git a/drivers/video/matrox/matroxfb_base.c b/drivers/video/matrox/matroxfb_base.c index 951c9974a1d3..23c1827b2d0b 100644 --- a/drivers/video/matrox/matroxfb_base.c +++ b/drivers/video/matrox/matroxfb_base.c | |||
@@ -115,6 +115,7 @@ | |||
115 | #include <asm/uaccess.h> | 115 | #include <asm/uaccess.h> |
116 | 116 | ||
117 | #ifdef CONFIG_PPC_PMAC | 117 | #ifdef CONFIG_PPC_PMAC |
118 | #include <asm/machdep.h> | ||
118 | unsigned char nvram_read_byte(int); | 119 | unsigned char nvram_read_byte(int); |
119 | static int default_vmode = VMODE_NVRAM; | 120 | static int default_vmode = VMODE_NVRAM; |
120 | static int default_cmode = CMODE_NVRAM; | 121 | static int default_cmode = CMODE_NVRAM; |
@@ -1833,7 +1834,7 @@ static int initMatrox2(WPMINFO struct board* b){ | |||
1833 | /* FIXME: Where to move this?! */ | 1834 | /* FIXME: Where to move this?! */ |
1834 | #if defined(CONFIG_PPC_PMAC) | 1835 | #if defined(CONFIG_PPC_PMAC) |
1835 | #ifndef MODULE | 1836 | #ifndef MODULE |
1836 | if (_machine == _MACH_Pmac) { | 1837 | if (machine_is(powermac)) { |
1837 | struct fb_var_screeninfo var; | 1838 | struct fb_var_screeninfo var; |
1838 | if (default_vmode <= 0 || default_vmode > VMODE_MAX) | 1839 | if (default_vmode <= 0 || default_vmode > VMODE_MAX) |
1839 | default_vmode = VMODE_640_480_60; | 1840 | default_vmode = VMODE_640_480_60; |
diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c index a7c4e5e8ead6..7258b3245316 100644 --- a/drivers/video/nvidia/nvidia.c +++ b/drivers/video/nvidia/nvidia.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <asm/pci-bridge.h> | 29 | #include <asm/pci-bridge.h> |
30 | #endif | 30 | #endif |
31 | #ifdef CONFIG_PMAC_BACKLIGHT | 31 | #ifdef CONFIG_PMAC_BACKLIGHT |
32 | #include <asm/machdep.h> | ||
32 | #include <asm/backlight.h> | 33 | #include <asm/backlight.h> |
33 | #endif | 34 | #endif |
34 | 35 | ||
@@ -1353,7 +1354,7 @@ static int nvidiafb_blank(int blank, struct fb_info *info) | |||
1353 | NVWriteCrtc(par, 0x1a, vesa); | 1354 | NVWriteCrtc(par, 0x1a, vesa); |
1354 | 1355 | ||
1355 | #ifdef CONFIG_PMAC_BACKLIGHT | 1356 | #ifdef CONFIG_PMAC_BACKLIGHT |
1356 | if (par->FlatPanel && _machine == _MACH_Pmac) { | 1357 | if (par->FlatPanel && machine_is(powermac)) { |
1357 | set_backlight_enable(!blank); | 1358 | set_backlight_enable(!blank); |
1358 | } | 1359 | } |
1359 | #endif | 1360 | #endif |
@@ -1688,7 +1689,7 @@ static int __devinit nvidiafb_probe(struct pci_dev *pd, | |||
1688 | info->fix.id, | 1689 | info->fix.id, |
1689 | par->FbMapSize / (1024 * 1024), info->fix.smem_start); | 1690 | par->FbMapSize / (1024 * 1024), info->fix.smem_start); |
1690 | #ifdef CONFIG_PMAC_BACKLIGHT | 1691 | #ifdef CONFIG_PMAC_BACKLIGHT |
1691 | if (par->FlatPanel && _machine == _MACH_Pmac) | 1692 | if (par->FlatPanel && machine_is(powermac)) |
1692 | register_backlight_controller(&nvidia_backlight_controller, | 1693 | register_backlight_controller(&nvidia_backlight_controller, |
1693 | par, "mnca"); | 1694 | par, "mnca"); |
1694 | #endif | 1695 | #endif |
diff --git a/drivers/video/radeonfb.c b/drivers/video/radeonfb.c index db9fb9074dbc..04820fab964c 100644 --- a/drivers/video/radeonfb.c +++ b/drivers/video/radeonfb.c | |||
@@ -1596,7 +1596,7 @@ static int radeonfb_blank (int blank, struct fb_info *info) | |||
1596 | return 0; | 1596 | return 0; |
1597 | 1597 | ||
1598 | #ifdef CONFIG_PMAC_BACKLIGHT | 1598 | #ifdef CONFIG_PMAC_BACKLIGHT |
1599 | if (rinfo->dviDisp_type == MT_LCD && _machine == _MACH_Pmac) { | 1599 | if (rinfo->dviDisp_type == MT_LCD && machine_is(powermac)) { |
1600 | set_backlight_enable(!blank); | 1600 | set_backlight_enable(!blank); |
1601 | return 0; | 1601 | return 0; |
1602 | } | 1602 | } |
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c index 6c19ab6afb01..b7bd6bb2c77c 100644 --- a/drivers/video/riva/fbdev.c +++ b/drivers/video/riva/fbdev.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include <asm/pci-bridge.h> | 49 | #include <asm/pci-bridge.h> |
50 | #endif | 50 | #endif |
51 | #ifdef CONFIG_PMAC_BACKLIGHT | 51 | #ifdef CONFIG_PMAC_BACKLIGHT |
52 | #include <asm/machdep.h> | ||
52 | #include <asm/backlight.h> | 53 | #include <asm/backlight.h> |
53 | #endif | 54 | #endif |
54 | 55 | ||
@@ -1247,7 +1248,7 @@ static int rivafb_blank(int blank, struct fb_info *info) | |||
1247 | CRTCout(par, 0x1a, vesa); | 1248 | CRTCout(par, 0x1a, vesa); |
1248 | 1249 | ||
1249 | #ifdef CONFIG_PMAC_BACKLIGHT | 1250 | #ifdef CONFIG_PMAC_BACKLIGHT |
1250 | if ( par->FlatPanel && _machine == _MACH_Pmac) { | 1251 | if ( par->FlatPanel && machine_is(powermac)) { |
1251 | set_backlight_enable(!blank); | 1252 | set_backlight_enable(!blank); |
1252 | } | 1253 | } |
1253 | #endif | 1254 | #endif |
@@ -2037,9 +2038,9 @@ static int __devinit rivafb_probe(struct pci_dev *pd, | |||
2037 | info->fix.smem_len / (1024 * 1024), | 2038 | info->fix.smem_len / (1024 * 1024), |
2038 | info->fix.smem_start); | 2039 | info->fix.smem_start); |
2039 | #ifdef CONFIG_PMAC_BACKLIGHT | 2040 | #ifdef CONFIG_PMAC_BACKLIGHT |
2040 | if (default_par->FlatPanel && _machine == _MACH_Pmac) | 2041 | if (default_par->FlatPanel && machine_is(powermac)) |
2041 | register_backlight_controller(&riva_backlight_controller, | 2042 | register_backlight_controller(&riva_backlight_controller, |
2042 | default_par, "mnca"); | 2043 | default_par, "mnca"); |
2043 | #endif | 2044 | #endif |
2044 | NVTRACE_LEAVE(); | 2045 | NVTRACE_LEAVE(); |
2045 | return 0; | 2046 | return 0; |