⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 powermanagement.example.c

📁 LINUX内核编程的一些程序例子
💻 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 + -