On Tue, 2009-02-10 at 22:52 +0530, Hiremath, Vaibhav wrote: > [Hiremath, Vaibhav] Now I will be following up for OMAP3EVM backlight > driver patch initiated/posted by Sanjeev. I was just referring to the > backlight drives currently available under Linux tree, and observed > that almost all drivers have been implemented in different way. I > could not able to get one driver to which I can refer to for adding > support for OMAP3EVM backlight driver. > > Can anybody tell me the expected way of implementation for backlight driver is? > > I have some questions here, > > - If I understand correctly (and as mentioned and pointed out by > Richard in the mail-chain), platform_device should get added in > platform file where it registers the pointer to the structure "struct > generic_bl_info". > This I believe should be standard way everybody should follow, which > is not the case. > Am I missing something here? > > - The below question may sound foolish, but to is important for me to understand the framework. > > If I have simple and straight control of backlight, do I really > required to have separate backlight driver for my platform? Can I make > use of generic-bl driver? > The only difference (atleast to my platform) would be the SYSFS entry, > the entry will get created something like > /sys/class/backlight/generic-bl/ > > Is it required to make driver, Power aware and differentiate from generic driver? You should be able to make the driver power aware and still use the generic driver. The basic idea is that your platform would register a platform device and some code to control the backlight, e.g.: void omap_set_bl_intensity(int X) { /* Code to set backlight intensity to X */ } static struct generic_bl_info bl_platform_data = { .name = "omap-bl", .max_intensity = 5, .default_intensity = 2, .set_bl_intensity = omap_set_bl_intensity, }; static struct platform_device backlight_device = { .name = "generic-bl", .id = -1, .dev.platform_data = &bl_platform_data, }; and that should be all you need as the core class and generic-bl code will take care of most other things for you. The code above would go somewhere in arch/arm/mach-omap*/. If any improvements are needed to generic-bl to make it useful, please let me know (set_bl_intensity could maybe do with being passed more information). Regards, Richard -- Richard Purdie Intel Open Source Technology Centre -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html