📄 powermanagement.example.c
字号:
/** @file example.c * * @author marco corvi <marco_corvi@geocities.com> * @date apr. 2003 * * \brief first example of power managenemt aware driver * */#include <linux/input.h> /* input_dev */#include <linux/module.h>/* #include <linux/modversions.h> */#include <linux/init.h>#include <linux/pm.h>MODULE_LICENSE( "GPL" );static struct pm_dev * example_pm;static int example_data;static int example_callback ( struct pm_dev * dev, pm_request_t rqst, void * data){ int driver = *(int *)(dev->data); printk(KERN_ALERT "Example callback: data %d rqst %d\n", driver, rqst ); // take any necessary action return 0;}static int __init example_init( void ){ // allocate and initialize driver data example_data = 123; example_pm = pm_register( PM_SYS_DEV, 0, example_callback ); if ( example_pm ) { example_pm->data = (void *) &example_data ; // private driver data printk(KERN_ALERT "Example registered with PM\n"); } else { printk(KERN_ALERT "Example could not registered with PM\n"); } return 0;}static void __init example_exit(){ if ( example_pm ) pm_unregister( example_pm ); // deallocate driver data}module_init( example_init );module_exit( example_exit );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -