Ý
âwaikeungbt¼ New õ ÐÅÏ¢»¯ ¿ª·¢¼¼Êõ ÏîÄ¿¹ÜÀí IBMÈí¼þ¼¼Êõ ΢Èí×¨Çø ÒÆ¶¯¿ª·¢
¡¡¡¡MSMµÄmahimahiƽ̨ÖÐVibratorʵÏÖÊÇ»ùÓÚTimed OutputÇý¶¯³ÌÐò¿ò¼ÜµÄÇý¶¯³ÌÐò£¬Òò´Ë²»ÐèÒªÔÙʵÏÖÓ²¼þ³éÏó²ã¡£
¡¡¡¡VibratorµÄÇý¶¯³ÌÐòÔÚÄں˵Äarch/arm/mach-msm/Ŀ¼ÖеÄmsm_vibrator.cÎļþÖÐʵÏÖ¡£
¡¡¡¡msm_vibrator.cÖеĺËÐÄʵÏÖÊÇset_pmic_vibrator()º¯Êý£¬ÆäʵÏÖÄÚÈÝÈçÏÂËùʾ£º
¡¡¡¡set_pmic_vibrator()º¯Êýͨ¹ýMSMϵͳµÄÔ¶³Ì¹ý³Ìµ÷ÓÃ(RPC)ʵÏÖÁ˾ßÌåµÄ¹¦ÄÜ£¬µ÷ÓõÄÖ¸ÁîÓÉHTC_PROCEDURE_SET_VIB_ON_OFFÖ¸¶¨¡£
¡¡¡¡Õâ¸öÇý¶¯³ÌÐòµÄ³õʼ»¯¹ý³ÌÈçÏÂËùʾ£º
¡¡¡¡vibrator_workΪwork_structÀàÐÍ£¬ÔÚ¶ÓÁеÄÖ´Ðк¯Êýupdate_vibratorÖУ¬µ÷ÓÃset_pmic_vibrator()º¯Êý¡£
¡¡¡¡pmic_vibratorÊÇÒ»¸ötimed_output_devÀàÐ͵ÄÉ豸¡£Æäenableº¯ÊýÖ¸ÕëµÄʵÏÖvibrator_enable¸ù¾ÝÊäÈëµÄÊýÖµ¿ªÊ¼¶¨Ê±Æ÷£¬²¢Í¨¹ýÏòµ÷¶È¶ÓÁнøÐÐÊä³ö²Ù×÷¡£get_timeº¯ÊýÖ¸ÕëµÄʵÏÖvibrator_get_timeÔòÖ»ÊÇ´Ó¶¨Ê±Æ÷ÖлñȡʣÓàʱ¼ä¡£
¡¡¡¡ÕâÀïÖ®ËùÒÔʹÓö¨Ê±Æ÷¼Ó¶ÓÁеķ½Ê½£¬ÊÇÒòΪenableµÄµ÷Óý«ÐγÉÒ»¸ö³ÖÐøÊ±¼äµÄЧ¹û£¬µ«Êǵ÷Óñ¾Éí²»ÒË×èÈû£¬Òò´ËʵÏÖ¾ÍÈÃvibrator_enableº¯ÊýÍ˳öºó£¬Í¨¹ý¶¨Ê±Æ÷ʵÏÖЧ¹û¡£