Hi! > > > +static int ti_lmu_bl_add_device(struct ti_lmu_bank *lmu_bank) > > > +{ > > > + switch (lmu_bank->type) { > > > + case TI_LMU_BL: > > > + return ti_lmu_bl_register_backlight(lmu_bank); > > > + case TI_LMU_LED: > > > + return ti_lmu_bl_register_led(lmu_bank); > > > + default: > > > + return -EINVAL; > > > + } > > > +} > > > > Ok, this is somehow unusual/crazy. Single driver with two > > interfaces. > > > > Do we need the LED interface for something? > > > > If yes, I believe reasonable solution would be to always provide LED > > interface, and then have "backlight-trigger" which that would provide > > backlight interface for arbitrary LED. > > Userspace expects keyboard backlight to be exposed via the LED > subsystem and display backlight via the backlight subsystem. Ok. > I considered always exposing the banks via the LED subsystem and > using a generic backlight driver. That brings its own problems, > since there is a dependency between the display and the backlight. > This is described in DT using a phandle. Getting the right backlight > device from the phandle will become very tricky with this approach. I believe we have to do this. Virtually any LED can be used as a backlight, and we don't really want to add two personalities to all the LED drivers. And it should not be too bad: LED will just have default trigger, which will say this LED corresponds to this display device. I believe someone wanted to do that for USB/ethernet activity. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Attachment:
signature.asc
Description: Digital signature