Lines Matching refs:info
66 static void vibra_enable(struct vibra_info *info) in vibra_enable() argument
80 info->enabled = true; in vibra_enable()
83 static void vibra_disable(struct vibra_info *info) in vibra_disable() argument
96 info->enabled = false; in vibra_disable()
101 struct vibra_info *info = container_of(work, in vibra_play_work() local
107 dir = info->direction; in vibra_play_work()
108 pwm = info->speed; in vibra_play_work()
112 if (pwm && (!info->coexist || !(reg & TWL4030_VIBRA_SEL))) { in vibra_play_work()
114 if (!info->enabled) in vibra_play_work()
115 vibra_enable(info); in vibra_play_work()
129 if (info->enabled) in vibra_play_work()
130 vibra_disable(info); in vibra_play_work()
139 struct vibra_info *info = input_get_drvdata(input); in vibra_play() local
141 info->speed = effect->u.rumble.strong_magnitude >> 8; in vibra_play()
142 if (!info->speed) in vibra_play()
143 info->speed = effect->u.rumble.weak_magnitude >> 9; in vibra_play()
144 info->direction = effect->direction < EFFECT_DIR_180_DEG ? 0 : 1; in vibra_play()
145 schedule_work(&info->play_work); in vibra_play()
151 struct vibra_info *info = input_get_drvdata(input); in twl4030_vibra_close() local
153 cancel_work_sync(&info->play_work); in twl4030_vibra_close()
155 if (info->enabled) in twl4030_vibra_close()
156 vibra_disable(info); in twl4030_vibra_close()
163 struct vibra_info *info = platform_get_drvdata(pdev); in twl4030_vibra_suspend() local
165 if (info->enabled) in twl4030_vibra_suspend()
166 vibra_disable(info); in twl4030_vibra_suspend()
199 struct vibra_info *info; in twl4030_vibra_probe() local
207 info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); in twl4030_vibra_probe()
208 if (!info) in twl4030_vibra_probe()
211 info->dev = &pdev->dev; in twl4030_vibra_probe()
212 info->coexist = twl4030_vibra_check_coexist(pdata, twl4030_core_node); in twl4030_vibra_probe()
213 INIT_WORK(&info->play_work, vibra_play_work); in twl4030_vibra_probe()
215 info->input_dev = devm_input_allocate_device(&pdev->dev); in twl4030_vibra_probe()
216 if (info->input_dev == NULL) { in twl4030_vibra_probe()
221 input_set_drvdata(info->input_dev, info); in twl4030_vibra_probe()
223 info->input_dev->name = "twl4030:vibrator"; in twl4030_vibra_probe()
224 info->input_dev->id.version = 1; in twl4030_vibra_probe()
225 info->input_dev->dev.parent = pdev->dev.parent; in twl4030_vibra_probe()
226 info->input_dev->close = twl4030_vibra_close; in twl4030_vibra_probe()
227 __set_bit(FF_RUMBLE, info->input_dev->ffbit); in twl4030_vibra_probe()
229 ret = input_ff_create_memless(info->input_dev, NULL, vibra_play); in twl4030_vibra_probe()
235 ret = input_register_device(info->input_dev); in twl4030_vibra_probe()
243 platform_set_drvdata(pdev, info); in twl4030_vibra_probe()
247 input_ff_destroy(info->input_dev); in twl4030_vibra_probe()