|
@@ -89,19 +89,21 @@ static struct backlight_ops nv50_bl_ops = {
|
|
|
|
|
|
static int nouveau_nv40_backlight_init(struct drm_device *dev)
|
|
static int nouveau_nv40_backlight_init(struct drm_device *dev)
|
|
{
|
|
{
|
|
|
|
+ struct backlight_properties props;
|
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
|
struct backlight_device *bd;
|
|
struct backlight_device *bd;
|
|
|
|
|
|
if (!(nv_rd32(dev, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
|
|
if (!(nv_rd32(dev, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ memset(&props, 0, sizeof(struct backlight_properties));
|
|
|
|
+ props.max_brightness = 31;
|
|
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
|
|
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
|
|
- &nv40_bl_ops);
|
|
|
|
|
|
+ &nv40_bl_ops, &props);
|
|
if (IS_ERR(bd))
|
|
if (IS_ERR(bd))
|
|
return PTR_ERR(bd);
|
|
return PTR_ERR(bd);
|
|
|
|
|
|
dev_priv->backlight = bd;
|
|
dev_priv->backlight = bd;
|
|
- bd->props.max_brightness = 31;
|
|
|
|
bd->props.brightness = nv40_get_intensity(bd);
|
|
bd->props.brightness = nv40_get_intensity(bd);
|
|
backlight_update_status(bd);
|
|
backlight_update_status(bd);
|
|
|
|
|
|
@@ -110,19 +112,21 @@ static int nouveau_nv40_backlight_init(struct drm_device *dev)
|
|
|
|
|
|
static int nouveau_nv50_backlight_init(struct drm_device *dev)
|
|
static int nouveau_nv50_backlight_init(struct drm_device *dev)
|
|
{
|
|
{
|
|
|
|
+ struct backlight_properties props;
|
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
|
struct backlight_device *bd;
|
|
struct backlight_device *bd;
|
|
|
|
|
|
if (!nv_rd32(dev, NV50_PDISPLAY_SOR_BACKLIGHT))
|
|
if (!nv_rd32(dev, NV50_PDISPLAY_SOR_BACKLIGHT))
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ memset(&props, 0, sizeof(struct backlight_properties));
|
|
|
|
+ props.max_brightness = 1025;
|
|
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
|
|
bd = backlight_device_register("nv_backlight", &dev->pdev->dev, dev,
|
|
- &nv50_bl_ops);
|
|
|
|
|
|
+ &nv50_bl_ops, &props);
|
|
if (IS_ERR(bd))
|
|
if (IS_ERR(bd))
|
|
return PTR_ERR(bd);
|
|
return PTR_ERR(bd);
|
|
|
|
|
|
dev_priv->backlight = bd;
|
|
dev_priv->backlight = bd;
|
|
- bd->props.max_brightness = 1025;
|
|
|
|
bd->props.brightness = nv50_get_intensity(bd);
|
|
bd->props.brightness = nv50_get_intensity(bd);
|
|
backlight_update_status(bd);
|
|
backlight_update_status(bd);
|
|
return 0;
|
|
return 0;
|