//[Arima Edison] add exception for charger usage++ static ssize_t enable_vibrator(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { static unsigned long keep_time_data; int rc; if (strict_strtoul(buf, 10, &keep_time_data)) return -EINVAL; hrtimer_cancel(&vibe_timer); keep_time_data = (keep_time_data > 300 ? 300 : keep_time_data); rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if(keep_time_data == 0) { rc = pmic_vib_mot_set_volt(0); } else { rc = pmic_vib_mot_set_volt(3000); mdelay( keep_time_data ); rc = pmic_vib_mot_set_volt(0); } return count; }
static void set_pmic_vibrator(int on) { if (on){ pmic_vib_mot_set_polarity(PM_VIB_MOT_POL__ACTIVE_LOW); pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__DBUS2); pmic_vib_mot_set_volt(PMIC_VIBRATOR_ON_LEV); }else{ pmic_vib_mot_set_volt(0); } }
static void set_pmic_vibrator(int on) { mutex_lock(&sh_vibrator_pmic_mutex); if (on){ pmic_vib_mot_set_polarity(PM_VIB_MOT_POL__ACTIVE_LOW); pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__DBUS2); pmic_vib_mot_set_volt(PMIC_VIBRATOR_ON_LEV); pr_debug("[shvibrator] PMIC vibrator On.\n"); }else{ pr_debug("[shvibrator] PMIC vibrator Off.\n"); pmic_vib_mot_set_volt(0); } mutex_unlock(&sh_vibrator_pmic_mutex); }
static void set_pmic_vibrator(int on) { int rc = 0; rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if (rc < 0) { printk(KERN_ERR "vib set mode rpc failed!\n"); } rc = pmic_vib_mot_set_volt(on?PMIC_VIBRATOR_LEVEL:0); if (rc < 0) { printk(KERN_ERR "vib set volt rpc failed!\n"); } }
static int debug_vib_mot_set_mode(char *buf, int size) { int mode; int cnt; cnt = sscanf(buf, "%d", &mode); if (cnt < 1) { printk(KERN_ERR "%s: sscanf failed cnt=%d" , __func__, cnt); return -EINVAL; } if (pmic_vib_mot_set_mode(mode) < 0) return -EFAULT; return size; }
static void set_pmic_vibrator(int on) { int rc; rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if (rc) { pr_err("%s: Vibrator set mode failed", __func__); return; } if (on) rc = pmic_vib_mot_set_volt(PMIC_VIBRATOR_LEVEL); else rc = pmic_vib_mot_set_volt(0); if (rc) pr_err("%s: Vibrator set voltage level failed", __func__); }
static void set_pmic_vibrator(int on) { int rc; rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if (rc) { pr_err("%s: Vibrator set mode failed", __func__); return; } if (on) rc = pmic_vib_mot_set_volt(vibrator_duration_value); else rc = pmic_vib_mot_set_volt(0); #if 0 if (rc) pr_err("%s: Vibrator set voltage level failed", __func__); #endif }
static void set_pmic_vibrator(int on) { int rc; /*++ Kevin Shiu - 20121003 Save intensity using liked list ++*/ vibrator_list *vibrator = NULL; /*-- Kevin Shiu - 20121003 Save intensity using liked list --*/ rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if (rc) { pr_err("%s: Vibrator set mode failed", __func__); return; } /*++ Kevin Shiu - 20121003 Save intensity using liked list ++*/ if(on && (vibrator_list_head.next == &vibrator_list_head)){ pr_err("%s: list_head is invalid", __func__); return; } if(on){ //get vibrator_list pointer vibrator = list_entry(vibrator_list_head.next , vibrator_list , list); rc = pmic_vib_mot_set_volt(vibrator->vibrator_level); //if ture, it means that only creates a structure. if(vibrator->list.next == vibrator->list.prev){ list_del_rcu(&vibrator_list_head); INIT_LIST_HEAD(&vibrator_list_head); }else{ list_del_rcu(&vibrator->list); } //free kfree(vibrator); }else{ rc = pmic_vib_mot_set_volt(0); } /*-- Kevin Shiu - 20121003 Save intensity using liked list --*/ if (rc) pr_err("%s: Vibrator set voltage level failed", __func__); }
static void set_pmic_vibrator(int on) { int rc; rc = pmic_vib_mot_set_mode(PM_VIB_MOT_MODE__MANUAL); if (rc) { pr_err("%s: Vibrator set mode failed", __func__); return; } /* LGE_CHANGE, * Apply changed voltage to operate vibrator * 2011-08-20, [email protected] */ if (on) /* rc = pmic_vib_mot_set_volt(PMIC_VIBRATOR_LEVEL); */ /* origin code */ rc = pmic_vib_mot_set_volt(voltage); /* LGE_CHANGE End */ else rc = pmic_vib_mot_set_volt(0); if (rc) pr_err("%s: Vibrator set voltage level failed", __func__); }