{
pr_debug("%s enter\n", __func__);
+ if (!flag) {
+ do_gettimeofday(&aw8695->current_time);
+ aw8695->interval_us = (aw8695->current_time.tv_sec - aw8695->pre_enter_time.tv_sec) * 1000000
+ + (aw8695->current_time.tv_usec - aw8695->pre_enter_time.tv_usec);
+ if (aw8695->interval_us < 2000) {
+ pr_info("aw8695->interval_us t=%ld\n", aw8695->interval_us);
+ mdelay(2);
+ }
+ }
if(flag == true) {
aw8695_i2c_write_bits(aw8695, AW8695_REG_GO,
AW8695_BIT_GO_MASK, AW8695_BIT_GO_ENABLE);
+ do_gettimeofday(&aw8695->pre_enter_time);
} else {
aw8695_i2c_write_bits(aw8695, AW8695_REG_GO,
AW8695_BIT_GO_MASK, AW8695_BIT_GO_DISABLE);
struct work_struct vibrator_work;
struct work_struct rtp_work;
struct delayed_work ram_work;
+ struct timeval current_time;
+ struct timeval pre_enter_time;
#ifdef TIMED_OUTPUT
struct timed_output_dev to_dev;
#else
struct trig trig[AW8695_TRIG_NUM];
struct haptic_audio haptic_audio;
+ unsigned int interval_us;
};
struct aw8695_container{