[PATCH 3/7] video stm/mx2x: simplify memory allocation
Sascha Hauer
s.hauer at pengutronix.de
Sat Jan 15 10:10:47 EST 2011
On Sat, Jan 15, 2011 at 04:00:26PM +0100, Juergen Beisert wrote:
> Sascha Hauer wrote:
> > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> > drivers/video/stm.c | 26 ++------------------------
> > 1 files changed, 2 insertions(+), 24 deletions(-)
> >
> > diff --git a/drivers/video/stm.c b/drivers/video/stm.c
> > index f0abe4c..d2add41 100644
> > --- a/drivers/video/stm.c
> > +++ b/drivers/video/stm.c
> > @@ -209,24 +209,6 @@ static inline unsigned calc_line_length(unsigned ppl,
> > unsigned bpp) return (ppl * bpp) >> 3;
> > }
> >
> > -static int stmfb_memory_mmgt(struct fb_info *fb_info, unsigned size)
> > -{
> > - struct imxfb_info *fbi = fb_info->priv;
> > -
> > - if (fbi->memory_size != 0) {
> > - free(fb_info->screen_base);
> > - fb_info->screen_base = NULL;
> > - fbi->memory_size = 0;
> > - }
> > -
> > - if (fbi->memory_size == 0) {
> > - fb_info->screen_base = xzalloc(size);
> > - fbi->memory_size = size;
> > - }
> > -
> > - return 0;
> > -}
> > -
> > static void stmfb_enable_controller(struct fb_info *fb_info)
> > {
> > struct imxfb_info *fbi = fb_info->priv;
> > @@ -308,7 +290,6 @@ static int stmfb_activate_var(struct fb_info *fb_info)
> > struct imx_fb_videomode *pdata = fbi->pdata;
> > struct fb_videomode *mode = fb_info->mode;
> > uint32_t reg;
> > - int ret;
> > unsigned size;
> >
> > /*
> > @@ -317,11 +298,8 @@ static int stmfb_activate_var(struct fb_info *fb_info)
> > size = calc_line_length(mode->xres, fb_info->bits_per_pixel) *
> > mode->yres;
> >
> > - ret = stmfb_memory_mmgt(fb_info, size);
> > - if (ret != 0) {
> > - dev_err(fbi->hw_dev, "Cannot allocate framebuffer memory\n");
> > - return ret;
> > - }
> > + fb_info->screen_base = xrealloc(fb_info->screen_base, size);
> > + fbi->memory_size = size;
> >
> > /** @todo ensure HCLK is active at this point of time! */
>
> Maybe we should change here from the x-functions to an allocation routine that
> returns NULL when there is not enough memory. When you define the malloc area
> to small and setup an SXGA resolution with 16 bit colour depth, barebox
> should IMHO bark with a useful error message than rebooting...
Agreed.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list