コード例 #1
0
void input_event(struct input_dev *dev,
		 unsigned int type, unsigned int code, int value)
{
	unsigned long flags;

	if (is_event_supported(type, dev->evbit, EV_MAX)) {

		spin_lock_irqsave(&dev->event_lock, flags);
		input_handle_event(dev, type, code, value);
		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}
コード例 #2
0
void input_event(struct input_dev *dev,
		 unsigned int type, unsigned int code, int value)
{
	unsigned long flags;

	if (is_event_supported(type, dev->evbit, EV_MAX)) {

		spin_lock_irqsave(&dev->event_lock, flags);
		add_input_randomness(type, code, value);
#ifdef	CONFIG_FAKE_PM
		if(code == 116)
			input_handle_event(dev, type, code, value);
		else if(if_in_suspend == 0)
		{
#endif
			input_handle_event(dev, type, code, value);
#ifdef	CONFIG_FAKE_PM
		}
#endif
		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}
コード例 #3
0
ファイル: input.c プロジェクト: cilynx/dd-wrt
/**
 * input_inject_event() - send input event from input handler
 * @handle: input handle to send event through
 * @type: type of the event
 * @code: event code
 * @value: value of the event
 *
 * Similar to input_event() but will ignore event if device is
 * "grabbed" and handle injecting event is not the one that owns
 * the device.
 */
void input_inject_event(struct input_handle *handle,
			unsigned int type, unsigned int code, int value)
{
	struct input_dev *dev = handle->dev;
	struct input_handle *grab;
	unsigned long flags;

	if (is_event_supported(type, dev->evbit, EV_MAX)) {
		spin_lock_irqsave(&dev->event_lock, flags);

		grab = rcu_dereference(dev->grab);
		if (!grab || grab == handle)
			input_handle_event(dev, type, code, value);

		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}
コード例 #4
0
void input_event(struct input_dev *dev,
		 unsigned int type, unsigned int code, int value)
{
	unsigned long flags;

	if (is_event_supported(type, dev->evbit, EV_MAX)) {

//henry+mouse speed setting
if(type==EV_REL && (code==REL_X || code==REL_Y)){
 //printk("Henry>>add speed!\n");
	value=(int) ( (value * m_speed) / 4);
}
		spin_lock_irqsave(&dev->event_lock, flags);
		add_input_randomness(type, code, value);
		input_handle_event(dev, type, code, value);
		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}
コード例 #5
0
ファイル: input.c プロジェクト: LinuxBozo/Defuse-Kernel
void input_event(struct input_dev *dev,
		 unsigned int type, unsigned int code, int value)
{
	unsigned long flags;
/*
 *  Forced upload mode key string (tkhwang)
 */
     
#ifdef CONFIG_KERNEL_DEBUG_SEC
    static bool first=0, second=0, third = 0;
    
#if defined (CONFIG_KEYPAD_S3C)

    if(strcmp(dev->name,"s3c-keypad")==0)
    {
        if(value)
        {
            if(code==KERNEL_SEC_FORCED_UPLOAD_1ST_KEY)
            {
                first =1;
            }
            if(first==1 && code==KERNEL_SEC_FORCED_UPLOAD_2ND_KEY)
            {
                if ( (KERNEL_SEC_DEBUG_LEVEL_MID == kernel_sec_get_debug_level()) ||
                	    KERNEL_SEC_DEBUG_LEVEL_HIGH == kernel_sec_get_debug_level() )
                {
                    // Display the working callstack for the debugging.
                    dump_stack();

                    if (kernel_sec_viraddr_wdt_reset_reg)
                    {
                       kernel_sec_set_cp_upload();
                       kernel_sec_save_final_context(); // Save theh final context.
                       kernel_sec_set_upload_cause(UPLOAD_CAUSE_FORCED_UPLOAD);
                       kernel_sec_hw_reset(false);      // Reboot.
                    }
                 }                
            }                
        }
        else
        {
            if(code==KERNEL_SEC_FORCED_UPLOAD_1ST_KEY)
            {
                first = 0;
            }
        }
    }
#endif //CONFIG_KEYPAD_S3C

#if defined (CONFIG_KEYBOARD_GPIO)    
    if(strcmp(dev->name,"gpio-keys")==0)
    {
        if(value)
        {
            if(code == KEY_VOLUMEUP)
                first = true;
                
            if(code == KEY_POWER)
                second = true;

		if(code == KEY_VOLUMEDOWN)
                third = true;
                
            if(first&&second&&third)
            {
            
                if (kernel_sec_viraddr_wdt_reset_reg)
                {
                printk("[%s][line:%d]\n",__func__, __LINE__);
                      kernel_sec_set_cp_upload();
                      kernel_sec_save_final_context(); // Save theh final context.
                      kernel_sec_set_upload_cause(UPLOAD_CAUSE_FORCED_UPLOAD);
                      kernel_sec_hw_reset(false);      // Reboot.
                }
            }
        }
        else
        {
            if(code == KEY_VOLUMEUP)
                first = false;

            if(code == KEY_POWER)
                second = false;

		if(code == KEY_VOLUMEDOWN)
                third = false;
		     
        }
    }
#endif  //CONFIG_KEYBOARD_GPIO

#endif // CONFIG_KERNEL_DEBUG_SEC


	if (is_event_supported(type, dev->evbit, EV_MAX)) {

		spin_lock_irqsave(&dev->event_lock, flags);
		add_input_randomness(type, code, value);
		input_handle_event(dev, type, code, value);
		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}
コード例 #6
0
void input_event(struct input_dev *dev,
		 unsigned int type, unsigned int code, int value)
{
	unsigned long flags;

/*
 *  Forced upload mode key string (tkhwang)
 */
     
#ifdef CONFIG_KERNEL_DEBUG_SEC

    static int first=0, second=0;

    if(strcmp(dev->name,"s3c-keypad")==0)
    {
        if(value)
        {
            if(code==KERNEL_SEC_FORCED_UPLOAD_1ST_KEY)
            {
                first =1;
            }
            if(first==1 && code==KERNEL_SEC_FORCED_UPLOAD_2ND_KEY)
            {

                printk(KERN_ERR"level %d  reg %x \n",kernel_sec_get_debug_level(), kernel_sec_viraddr_wdt_reset_reg);
               			
                if ( (KERNEL_SEC_DEBUG_LEVEL_MID == kernel_sec_get_debug_level()) ||
                	    KERNEL_SEC_DEBUG_LEVEL_HIGH == kernel_sec_get_debug_level() )
                {

                printk(KERN_ERR" USER Press volume key + Power key ==> Force RAM DUMP \n");

#if 0 
                    // Display the working callstack for the debugging.
                    dump_stack();

                    if (kernel_sec_viraddr_wdt_reset_reg)
                    {
                       kernel_sec_set_cp_upload();
                       kernel_sec_save_final_context(); // Save theh final context.
                       kernel_sec_set_upload_cause(UPLOAD_CAUSE_FORCED_UPLOAD);
                       kernel_sec_hw_reset(false);      // Reboot.
                    }


#endif 
                 }                
           }
        }
        else
        {
            if(code==KERNEL_SEC_FORCED_UPLOAD_1ST_KEY)
            {
                first = 0;
            }
        }
    }
#endif // CONFIG_KERNEL_DEBUG_SEC    

	if (is_event_supported(type, dev->evbit, EV_MAX)) {

		spin_lock_irqsave(&dev->event_lock, flags);
		add_input_randomness(type, code, value);
		input_handle_event(dev, type, code, value);
		spin_unlock_irqrestore(&dev->event_lock, flags);
	}
}