diff options
author | Timur Tabi <timur@freescale.com> | 2008-09-23 10:47:01 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-10-13 12:09:59 -0400 |
commit | 43c9f434922ff834a6589709714f83a78c399bc1 (patch) | |
tree | 287a2c076338c265337739097ea03f441051519f /arch/powerpc/sysdev | |
parent | 9bd54d185ab6c73f0cbd97b9f048394a3462193b (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/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 38 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.h | 8 |
2 files changed, 1 insertions, 45 deletions
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) |
723 | struct platform_diu_data_ops diu_ops = { | 723 | struct platform_diu_data_ops diu_ops; |
724 | .diu_size = 1280 * 1024 * 4, /* default one 1280x1024 buffer */ | ||
725 | }; | ||
726 | EXPORT_SYMBOL(diu_ops); | 724 | EXPORT_SYMBOL(diu_ops); |
727 | |||
728 | int __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 | |||
748 | static 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 | } | ||
759 | early_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, | |||
20 | extern void fsl_rstcr_restart(char *cmd); | 20 | extern 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> | ||
25 | struct platform_diu_data_ops { | 23 | struct 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 | ||
40 | extern struct platform_diu_data_ops diu_ops; | 33 | extern struct platform_diu_data_ops diu_ops; |
41 | int __init preallocate_diu_videomemory(void); | ||
42 | #endif | 34 | #endif |
43 | 35 | ||
44 | #endif | 36 | #endif |