Lines Matching refs:wm
138 struct wm97xx *wm; member
151 struct wm97xx *wm = atmel_wm97xx->wm; in atmel_wm97xx_channel_b_interrupt() local
156 dev_dbg(&wm->touch_dev->dev, "AC97C overrun\n"); in atmel_wm97xx_channel_b_interrupt()
176 input_report_abs(wm->input_dev, ABS_X, atmel_wm97xx->x); in atmel_wm97xx_channel_b_interrupt()
177 input_report_abs(wm->input_dev, ABS_Y, atmel_wm97xx->y); in atmel_wm97xx_channel_b_interrupt()
178 input_report_key(wm->input_dev, BTN_TOUCH, pen_down); in atmel_wm97xx_channel_b_interrupt()
179 input_sync(wm->input_dev); in atmel_wm97xx_channel_b_interrupt()
181 input_report_abs(wm->input_dev, ABS_X, atmel_wm97xx->x); in atmel_wm97xx_channel_b_interrupt()
182 input_report_abs(wm->input_dev, ABS_Y, atmel_wm97xx->y); in atmel_wm97xx_channel_b_interrupt()
183 input_report_abs(wm->input_dev, ABS_PRESSURE, value); in atmel_wm97xx_channel_b_interrupt()
184 input_report_key(wm->input_dev, BTN_TOUCH, value); in atmel_wm97xx_channel_b_interrupt()
185 input_sync(wm->input_dev); in atmel_wm97xx_channel_b_interrupt()
194 static void atmel_wm97xx_acc_pen_up(struct wm97xx *wm) in atmel_wm97xx_acc_pen_up() argument
196 struct atmel_wm97xx *atmel_wm97xx = platform_get_drvdata(wm->touch_dev); in atmel_wm97xx_acc_pen_up()
197 struct input_dev *input_dev = wm->input_dev; in atmel_wm97xx_acc_pen_up()
216 static int atmel_wm97xx_acc_startup(struct wm97xx *wm) in atmel_wm97xx_acc_startup() argument
218 struct atmel_wm97xx *atmel_wm97xx = platform_get_drvdata(wm->touch_dev); in atmel_wm97xx_acc_startup()
221 if (wm->ac97 == NULL) in atmel_wm97xx_acc_startup()
225 if (wm->id != cinfo[idx].id) in atmel_wm97xx_acc_startup()
234 wm->acc_rate = cinfo[sp_idx].code; in atmel_wm97xx_acc_startup()
235 wm->acc_slot = ac97_touch_slot; in atmel_wm97xx_acc_startup()
236 dev_info(&wm->touch_dev->dev, "atmel accelerated touchscreen driver, " in atmel_wm97xx_acc_startup()
242 wm->pen_irq = atmel_wm97xx->gpio_irq; in atmel_wm97xx_acc_startup()
244 switch (wm->id) { in atmel_wm97xx_acc_startup()
251 wm97xx_config_gpio(wm, WM97XX_GPIO_13, WM97XX_GPIO_IN, in atmel_wm97xx_acc_startup()
255 wm97xx_config_gpio(wm, WM97XX_GPIO_3, WM97XX_GPIO_OUT, in atmel_wm97xx_acc_startup()
264 reg &= ~AC97C_CH_MASK(wm->acc_slot); in atmel_wm97xx_acc_startup()
265 reg |= AC97C_CH_ASSIGN(wm->acc_slot, B); in atmel_wm97xx_acc_startup()
285 dev_err(&wm->touch_dev->dev, "pen down irq not " in atmel_wm97xx_acc_startup()
295 static void atmel_wm97xx_acc_shutdown(struct wm97xx *wm) in atmel_wm97xx_acc_shutdown() argument
299 platform_get_drvdata(wm->touch_dev); in atmel_wm97xx_acc_shutdown()
302 switch (wm->id & 0xffff) { in atmel_wm97xx_acc_shutdown()
308 ica &= ~AC97C_CH_MASK(wm->acc_slot); in atmel_wm97xx_acc_shutdown()
312 wm->pen_irq = 0; in atmel_wm97xx_acc_shutdown()
315 dev_err(&wm->touch_dev->dev, "unknown codec\n"); in atmel_wm97xx_acc_shutdown()
321 static void atmel_wm97xx_irq_enable(struct wm97xx *wm, int enable) in atmel_wm97xx_irq_enable() argument
337 struct wm97xx *wm = platform_get_drvdata(pdev); in atmel_wm97xx_probe() local
347 atmel_wm97xx->wm = wm; in atmel_wm97xx_probe()
354 (unsigned long)wm); in atmel_wm97xx_probe()
366 ret = wm97xx_register_mach_ops(wm, &atmel_mach_ops); in atmel_wm97xx_probe()
382 struct wm97xx *wm = atmel_wm97xx->wm; in atmel_wm97xx_remove() local
387 wm97xx_unregister_mach_ops(wm); in atmel_wm97xx_remove()
410 struct wm97xx *wm = atmel_wm97xx->wm; in atmel_wm97xx_resume() local
412 if (wm->input_dev->users) { in atmel_wm97xx_resume()