Lines Matching refs:wm
101 static void wm97xx_acc_pen_up(struct wm97xx *wm)
109 static void wm97xx_acc_pen_up(struct wm97xx *wm)
120 static int wm97xx_acc_pen_down(struct wm97xx *wm)
150 dev_dbg(wm->dev, "Raw coordinates: x=%x, y=%x, p=%x\n",
161 input_report_abs(wm->input_dev, ABS_X, x & 0xfff);
162 input_report_abs(wm->input_dev, ABS_Y, y & 0xfff);
163 input_report_abs(wm->input_dev, ABS_PRESSURE, p & 0xfff);
164 input_report_key(wm->input_dev, BTN_TOUCH, (p != 0));
165 input_sync(wm->input_dev);
172 static int wm97xx_acc_startup(struct wm97xx *wm)
177 if (wm->ac97 == NULL)
182 if (wm->id != cinfo[idx].id)
188 wm->acc_rate = cinfo[sp_idx].code;
189 wm->acc_slot = ac97_touch_slot;
190 dev_info(wm->dev,
200 wm->variant = WM97xx_WM1613;
215 wm->pen_irq = gpio_to_irq(irq);
216 irq_set_irq_type(wm->pen_irq, IRQ_TYPE_EDGE_BOTH);
222 switch (wm->id) {
228 wm97xx_config_gpio(wm, WM97XX_GPIO_13, WM97XX_GPIO_IN,
232 wm97xx_config_gpio(wm, WM97XX_GPIO_2, WM97XX_GPIO_OUT,
238 dev_err(wm->dev,
249 static void wm97xx_acc_shutdown(struct wm97xx *wm)
255 wm->pen_irq = 0;
259 static void wm97xx_irq_enable(struct wm97xx *wm, int enable)
262 enable_irq(wm->pen_irq);
264 disable_irq_nosync(wm->pen_irq);
279 struct wm97xx *wm = platform_get_drvdata(pdev);
281 return wm97xx_register_mach_ops(wm, &mainstone_mach_ops);
286 struct wm97xx *wm = platform_get_drvdata(pdev);
288 wm97xx_unregister_mach_ops(wm);