Re: Display class

From: Randy Dunlap
Date: Wed Dec 06 2006 - 13:14:43 EST


On Wed, 6 Dec 2006 15:10:44 +0000 (GMT) James Simmons wrote:

>
> > > of Mr. Yu for acpi. Also this class could in time replace the lcd class
> > > located in the backlight directory since a lcd is a type of display.
> > > The final hope is that the purpose auxdisplay could fall under this
> > > catergory.
> > >
> > > P.S
> > > I know the edid parsing would have to be pulled out of the fbdev layer.
>
> That patch was rought draft for feedback. I applied your comments. This
> patch actually works. It includes my backlight fix as well.

Glad to hear it. I had to make the following changes
in order for it to build.
However, I still have build errors for aty.

---
From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

Replace CONFIG_FB_BACKLIGHT with CONFIG_BACKLIGHT_CLASS_DEVICE
in include/linux/fb.h and drivers/video/fbsysfs.c
to match Kconfig changes.

Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
---
drivers/video/fbsysfs.c | 8 ++++----
include/linux/fb.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)

--- linux-2.6.19-git7.orig/include/linux/fb.h
+++ linux-2.6.19-git7/include/linux/fb.h
@@ -367,7 +367,7 @@ struct fb_cursor {
struct fb_image image; /* Cursor image */
};

-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
/* Settings for the generic backlight code */
#define FB_BACKLIGHT_LEVELS 128
#define FB_BACKLIGHT_MAX 0xFF
@@ -759,7 +759,7 @@ struct fb_info {
struct list_head modelist; /* mode list */
struct fb_videomode *mode; /* current mode */

-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
/* Lock ordering:
* bl_mutex (protects bl_dev and bl_curve)
* bl_dev->sem (backlight class)
--- linux-2.6.19-git7.orig/drivers/video/fbsysfs.c
+++ linux-2.6.19-git7/drivers/video/fbsysfs.c
@@ -58,7 +58,7 @@ struct fb_info *framebuffer_alloc(size_t

info->device = dev;

-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
mutex_init(&info->bl_mutex);
#endif

@@ -411,7 +411,7 @@ static ssize_t show_fbstate(struct devic
return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->state);
}

-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
static ssize_t store_bl_curve(struct device *device,
struct device_attribute *attr,
const char *buf, size_t count)
@@ -500,7 +500,7 @@ static struct device_attribute device_at
__ATTR(stride, S_IRUGO, show_stride, NULL),
__ATTR(rotate, S_IRUGO|S_IWUSR, show_rotate, store_rotate),
__ATTR(state, S_IRUGO|S_IWUSR, show_fbstate, store_fbstate),
-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
__ATTR(bl_curve, S_IRUGO|S_IWUSR, show_bl_curve, store_bl_curve),
#endif
};
@@ -541,7 +541,7 @@ void fb_cleanup_device(struct fb_info *f
}
}

-#ifdef CONFIG_FB_BACKLIGHT
+#ifdef CONFIG_BACKLIGHT_CLASS_DEVICE
/* This function generates a linear backlight curve
*
* 0: off
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/