]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drivers/video: fsl-diu-fb: remove broken reference count enabling the display
authorTimur Tabi <timur@freescale.com>
Mon, 19 Dec 2011 22:26:16 +0000 (16:26 -0600)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Tue, 3 Jan 2012 15:59:08 +0000 (15:59 +0000)
The functions enable_lcdc() and disable_lcdc() used the variable fb_enable
to keep a reference count of when the display is enabled, but the code is
broken.  The display is always disabled when disable_lcdc(), and it is
always enabled when enable_lcdc() is called, regardless of the value of
fb_enable.  Obviously, we don't need to keep a reference count, so just
remove the variable.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/fsl-diu-fb.c

index 231752ef7e1cd1b61d78f31d2cd585ca1bfd4b25..d8d461d6c90bac9a6527d6df59d8edeebb6a7f6c 100644 (file)
@@ -352,7 +352,6 @@ struct mfb_info {
  * @fsl_diu_info: fb_info objects, one per AOI
  * @dev_attr: sysfs structure
  * @irq: IRQ
- * @fb_enabled: TRUE if the DIU is enabled, FALSE if not
  * @monitor_port: the monitor port this DIU is connected to
  * @diu_reg: pointer to the DIU hardware registers
  * @reg_lock: spinlock for register access
@@ -371,7 +370,6 @@ struct fsl_diu_data {
        struct mfb_info mfb[NUM_AOIS];
        struct device_attribute dev_attr;
        unsigned int irq;
-       int fb_enabled;
        enum fsl_diu_monitor_port monitor_port;
        struct diu __iomem *diu_reg;
        spinlock_t reg_lock;
@@ -619,10 +617,7 @@ static void enable_lcdc(struct fb_info *info)
        struct fsl_diu_data *data = mfbi->parent;
        struct diu __iomem *hw = data->diu_reg;
 
-       if (!data->fb_enabled) {
-               out_be32(&hw->diu_mode, MFB_MODE1);
-               data->fb_enabled++;
-       }
+       out_be32(&hw->diu_mode, MFB_MODE1);
 }
 
 static void disable_lcdc(struct fb_info *info)
@@ -631,10 +626,7 @@ static void disable_lcdc(struct fb_info *info)
        struct fsl_diu_data *data = mfbi->parent;
        struct diu __iomem *hw = data->diu_reg;
 
-       if (data->fb_enabled) {
-               out_be32(&hw->diu_mode, 0);
-               data->fb_enabled = 0;
-       }
+       out_be32(&hw->diu_mode, 0);
 }
 
 static void adjust_aoi_size_position(struct fb_var_screeninfo *var,