aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2008-09-23 10:47:01 -0400
committerKumar Gala <galak@kernel.crashing.org>2008-10-13 12:09:59 -0400
commit43c9f434922ff834a6589709714f83a78c399bc1 (patch)
tree287a2c076338c265337739097ea03f441051519f /arch
parent9bd54d185ab6c73f0cbd97b9f048394a3462193b (diff)
powerpc: remove support for bootmem-allocated memory for the DIU driver
Early versions of the Freescale DIU framebuffer driver depended on a bootmem allocation of memory for the video buffer. The need for this feature was removed in commit 6b51d51a, so now we can remove the platform-specific code that allocated that memory. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/86xx/mpc8610_hpcd.c1
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c38
-rw-r--r--arch/powerpc/sysdev/fsl_soc.h8
3 files changed, 1 insertions, 46 deletions
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
index 5eedb710896e..e8d54ac5292c 100644
--- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
+++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
@@ -238,7 +238,6 @@ static void __init mpc86xx_hpcd_setup_arch(void)
238 } 238 }
239#endif 239#endif
240#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) 240#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
241 preallocate_diu_videomemory();
242 diu_ops.get_pixel_format = mpc8610hpcd_get_pixel_format; 241 diu_ops.get_pixel_format = mpc8610hpcd_get_pixel_format;
243 diu_ops.set_gamma_table = mpc8610hpcd_set_gamma_table; 242 diu_ops.set_gamma_table = mpc8610hpcd_set_gamma_table;
244 diu_ops.set_monitor_port = mpc8610hpcd_set_monitor_port; 243 diu_ops.set_monitor_port = mpc8610hpcd_set_monitor_port;
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index eeb07007c753..01b884b25696 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -720,42 +720,6 @@ void fsl_rstcr_restart(char *cmd)
720#endif 720#endif
721 721
722#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) 722#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
723struct platform_diu_data_ops diu_ops = { 723struct platform_diu_data_ops diu_ops;
724 .diu_size = 1280 * 1024 * 4, /* default one 1280x1024 buffer */
725};
726EXPORT_SYMBOL(diu_ops); 724EXPORT_SYMBOL(diu_ops);
727
728int __init preallocate_diu_videomemory(void)
729{
730 pr_debug("diu_size=%lu\n", diu_ops.diu_size);
731
732 diu_ops.diu_mem = __alloc_bootmem(diu_ops.diu_size, 8, 0);
733 if (!diu_ops.diu_mem) {
734 printk(KERN_ERR "fsl-diu: cannot allocate %lu bytes\n",
735 diu_ops.diu_size);
736 return -ENOMEM;
737 }
738
739 pr_debug("diu_mem=%p\n", diu_ops.diu_mem);
740
741 rh_init(&diu_ops.diu_rh_info, 4096, ARRAY_SIZE(diu_ops.diu_rh_block),
742 diu_ops.diu_rh_block);
743 return rh_attach_region(&diu_ops.diu_rh_info,
744 (unsigned long) diu_ops.diu_mem,
745 diu_ops.diu_size);
746}
747
748static int __init early_parse_diufb(char *p)
749{
750 if (!p)
751 return 1;
752
753 diu_ops.diu_size = _ALIGN_UP(memparse(p, &p), 8);
754
755 pr_debug("diu_size=%lu\n", diu_ops.diu_size);
756
757 return 0;
758}
759early_param("diufb", early_parse_diufb);
760
761#endif 725#endif
diff --git a/arch/powerpc/sysdev/fsl_soc.h b/arch/powerpc/sysdev/fsl_soc.h
index 024299887352..60f7f227327c 100644
--- a/arch/powerpc/sysdev/fsl_soc.h
+++ b/arch/powerpc/sysdev/fsl_soc.h
@@ -20,14 +20,7 @@ extern int fsl_spi_init(struct spi_board_info *board_infos,
20extern void fsl_rstcr_restart(char *cmd); 20extern void fsl_rstcr_restart(char *cmd);
21 21
22#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE) 22#if defined(CONFIG_FB_FSL_DIU) || defined(CONFIG_FB_FSL_DIU_MODULE)
23#include <linux/bootmem.h>
24#include <asm/rheap.h>
25struct platform_diu_data_ops { 23struct platform_diu_data_ops {
26 rh_block_t diu_rh_block[16];
27 rh_info_t diu_rh_info;
28 unsigned long diu_size;
29 void *diu_mem;
30
31 unsigned int (*get_pixel_format) (unsigned int bits_per_pixel, 24 unsigned int (*get_pixel_format) (unsigned int bits_per_pixel,
32 int monitor_port); 25 int monitor_port);
33 void (*set_gamma_table) (int monitor_port, char *gamma_table_base); 26 void (*set_gamma_table) (int monitor_port, char *gamma_table_base);
@@ -38,7 +31,6 @@ struct platform_diu_data_ops {
38}; 31};
39 32
40extern struct platform_diu_data_ops diu_ops; 33extern struct platform_diu_data_ops diu_ops;
41int __init preallocate_diu_videomemory(void);
42#endif 34#endif
43 35
44#endif 36#endif