void lcd_enable(bool on) { /* Disabled until properly working */ return; if (on == lcd_on) return; if (on) { lcd_display_on(false); /* Turn on display */ lcd_update(); /* Resync display */ send_event(LCD_EVENT_ACTIVATION, NULL); } else { lcd_display_off(); /* Turn off display */ } }
/* * description: release the device module */ static void __exit klcd_exit(void) { // turn off LCD display lcd_display_off(); // remove a cdev from the system cdev_del( &klcd_cdev); // remove device device_destroy( klcd_class, dev_number ); // destroy class class_destroy( klcd_class ); // deallocate device major number unregister_chrdev_region( MAJOR(dev_number), MINOR_NUM_COUNT ); // releasse GPIO pins lcd_pin_release_All(); printk(KERN_INFO "klcd Driver Exited. \n"); }