root/drivers/gpu/drm/gma500/backlight.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. do_gma_backlight_set
  2. gma_backlight_enable
  3. gma_backlight_disable
  4. gma_backlight_set
  5. gma_backlight_init
  6. gma_backlight_exit

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * GMA500 Backlight Interface
   4  *
   5  * Copyright (c) 2009-2011, Intel Corporation.
   6  *
   7  * Authors: Eric Knopp
   8  */
   9 
  10 #include "psb_drv.h"
  11 #include "psb_intel_reg.h"
  12 #include "psb_intel_drv.h"
  13 #include "intel_bios.h"
  14 #include "power.h"
  15 
  16 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  17 static void do_gma_backlight_set(struct drm_device *dev)
  18 {
  19         struct drm_psb_private *dev_priv = dev->dev_private;
  20         backlight_update_status(dev_priv->backlight_device);
  21 }
  22 #endif
  23 
  24 void gma_backlight_enable(struct drm_device *dev)
  25 {
  26 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  27         struct drm_psb_private *dev_priv = dev->dev_private;
  28         dev_priv->backlight_enabled = true;
  29         if (dev_priv->backlight_device) {
  30                 dev_priv->backlight_device->props.brightness = dev_priv->backlight_level;
  31                 do_gma_backlight_set(dev);
  32         }
  33 #endif  
  34 }
  35 
  36 void gma_backlight_disable(struct drm_device *dev)
  37 {
  38 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  39         struct drm_psb_private *dev_priv = dev->dev_private;
  40         dev_priv->backlight_enabled = false;
  41         if (dev_priv->backlight_device) {
  42                 dev_priv->backlight_device->props.brightness = 0;
  43                 do_gma_backlight_set(dev);
  44         }
  45 #endif  
  46 }
  47 
  48 void gma_backlight_set(struct drm_device *dev, int v)
  49 {
  50 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  51         struct drm_psb_private *dev_priv = dev->dev_private;
  52         dev_priv->backlight_level = v;
  53         if (dev_priv->backlight_device && dev_priv->backlight_enabled) {
  54                 dev_priv->backlight_device->props.brightness = v;
  55                 do_gma_backlight_set(dev);
  56         }
  57 #endif  
  58 }
  59 
  60 int gma_backlight_init(struct drm_device *dev)
  61 {
  62 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  63         struct drm_psb_private *dev_priv = dev->dev_private;
  64         dev_priv->backlight_enabled = true;
  65         return dev_priv->ops->backlight_init(dev);
  66 #else
  67         return 0;
  68 #endif
  69 }
  70 
  71 void gma_backlight_exit(struct drm_device *dev)
  72 {
  73 #ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
  74         struct drm_psb_private *dev_priv = dev->dev_private;
  75         if (dev_priv->backlight_device) {
  76                 dev_priv->backlight_device->props.brightness = 0;
  77                 backlight_update_status(dev_priv->backlight_device);
  78                 backlight_device_unregister(dev_priv->backlight_device);
  79         }
  80 #endif
  81 }

/* [<][>][^][v][top][bottom][index][help] */