void lcd_blank(int blank) { if (blank) { lcd_set_brightness(0); lcdisblank = 1; } else { lcdisblank = 0; lcd_set_brightness(lcd_get_brightness()); } }
void lcd_set_backlight(int on) { if (!on) { lcd_set_brightness(0); lcdislit = 0; } else { lcdislit = 1; lcd_set_brightness(lcd_get_brightness()); } }
void lcd_power(int why, void *v) { switch (why) { case PWR_SUSPEND: case PWR_STANDBY: lcd_set_brightness(0); pxa2x0_lcd_power(why, v); break; case PWR_RESUME: pxa2x0_lcd_power(why, v); lcd_set_brightness(lcd_get_brightness()); break; } }
int lcd_activate(struct device *self, int act) { struct pxa2x0_lcd_softc *sc = (struct pxa2x0_lcd_softc *)self; switch (act) { case DVACT_SUSPEND: lcd_set_brightness(0); pxa2x0_lcd_suspend(sc); break; case DVACT_RESUME: pxa2x0_lcd_resume(sc); lcd_set_brightness(lcd_get_brightness()); break; } return 0; }
int lcd_activate(struct device *self, int act) { struct pxa2x0_lcd_softc *sc = (struct pxa2x0_lcd_softc *)self; int ret = 0; switch (act) { case DVACT_SUSPEND: lcd_set_brightness(0); pxa2x0_lcd_suspend(sc); break; case DVACT_RESUME: pxa2x0_lcd_resume(sc); lcd_set_brightness(lcd_get_brightness()); break; default: ret = config_activate_children(self, act); break; } return (ret); }
int lcd_param(struct pxa2x0_lcd_softc *sc, u_long cmd, struct wsdisplay_param *dp) { int res = EINVAL; switch (dp->param) { case WSDISPLAYIO_PARAM_BACKLIGHT: if (cmd == WSDISPLAYIO_GETPARAM) { dp->min = 0; dp->max = 1; dp->curval = lcd_get_backlight(); res = 0; } else if (cmd == WSDISPLAYIO_SETPARAM) { lcd_set_backlight(dp->curval); res = 0; } break; case WSDISPLAYIO_PARAM_CONTRAST: /* unsupported */ res = ENOTTY; break; case WSDISPLAYIO_PARAM_BRIGHTNESS: if (cmd == WSDISPLAYIO_GETPARAM) { dp->min = 1; dp->max = lcd_max_brightness(); dp->curval = lcd_get_brightness(); res = 0; } else if (cmd == WSDISPLAYIO_SETPARAM) { lcd_set_brightness(dp->curval); res = 0; } break; } return res; }
void lcd_burner(void *v, u_int on, u_int flags) { lcd_set_brightness(on ? lcd_get_brightness() : 0); }