static int sensor_report_value(struct i2c_client *client) { struct sensor_private_data *sensor = (struct sensor_private_data *) i2c_get_clientdata(client); struct sensor_platform_data *pdata = sensor->pdata; int gpio_value = 0; gpio_value = gpio_get_value(pdata->irq_pin); if(gpio_value == 0) { //send power key to sleep rk_send_power_key(1); rk_send_power_key(0); } else { //rk_send_power_key(1); //rk_send_power_key(0); rk_send_wakeup_key(); // wake up the system } return 0; }
inline static void do_wakeup(struct work_struct *work) { rk_send_wakeup_key(); // wake up the system }
static inline void do_wakeup(struct work_struct *work) { /* wake up the system */ rk_send_wakeup_key(); }