Commit 9e6b99bd authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Paul Mackerras

[POWERPC] PS3: Frame buffer system-bus rework

Convert the ps3fb device from a platform device to a PS3 system bus device.
Fix the remove and shutdown methods to support kexec and to make ps3fb a
loadable module.
Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 13a5e30c
...@@ -107,7 +107,7 @@ static void ps3_panic(char *str) ...@@ -107,7 +107,7 @@ static void ps3_panic(char *str)
while(1); while(1);
} }
#ifdef CONFIG_FB_PS3 #if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE)
static void prealloc(struct ps3_prealloc *p) static void prealloc(struct ps3_prealloc *p)
{ {
if (!p->size) if (!p->size)
...@@ -125,10 +125,11 @@ static void prealloc(struct ps3_prealloc *p) ...@@ -125,10 +125,11 @@ static void prealloc(struct ps3_prealloc *p)
} }
struct ps3_prealloc ps3fb_videomemory = { struct ps3_prealloc ps3fb_videomemory = {
.name = "ps3fb videomemory", .name = "ps3fb videomemory",
.size = CONFIG_FB_PS3_DEFAULT_SIZE_M*1024*1024, .size = CONFIG_FB_PS3_DEFAULT_SIZE_M*1024*1024,
.align = 1024*1024 /* the GPU requires 1 MiB alignment */ .align = 1024*1024 /* the GPU requires 1 MiB alignment */
}; };
EXPORT_SYMBOL_GPL(ps3fb_videomemory);
#define prealloc_ps3fb_videomemory() prealloc(&ps3fb_videomemory) #define prealloc_ps3fb_videomemory() prealloc(&ps3fb_videomemory)
static int __init early_parse_ps3fb(char *p) static int __init early_parse_ps3fb(char *p)
......
...@@ -1790,8 +1790,8 @@ config FB_IBM_GXT4500 ...@@ -1790,8 +1790,8 @@ config FB_IBM_GXT4500
adaptor, found on some IBM System P (pSeries) machines. adaptor, found on some IBM System P (pSeries) machines.
config FB_PS3 config FB_PS3
bool "PS3 GPU framebuffer driver" tristate "PS3 GPU framebuffer driver"
depends on (FB = y) && PS3_PS3AV depends on FB && PS3_PS3AV
select FB_SYS_FILLRECT select FB_SYS_FILLRECT
select FB_SYS_COPYAREA select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT select FB_SYS_IMAGEBLIT
......
This diff is collapsed.
...@@ -41,16 +41,4 @@ struct ps3fb_ioctl_res { ...@@ -41,16 +41,4 @@ struct ps3fb_ioctl_res {
__u32 num_frames; /* num of frame buffers */ __u32 num_frames; /* num of frame buffers */
}; };
#ifdef __KERNEL__
#ifdef CONFIG_FB_PS3
extern void ps3fb_flip_ctl(int on);
extern void ps3fb_cleanup(void);
#else
static inline void ps3fb_flip_ctl(int on) {}
static inline void ps3fb_cleanup(void) {}
#endif
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_PS3FB_H_ */ #endif /* _ASM_POWERPC_PS3FB_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment