Lines Matching refs:arc_ps2

49 static void arc_ps2_check_rx(struct arc_ps2_data *arc_ps2,  in arc_ps2_check_rx()  argument
64 arc_ps2->total_int++; in arc_ps2_check_rx()
66 arc_ps2->frame_error++; in arc_ps2_check_rx()
69 arc_ps2->buf_overflow++; in arc_ps2_check_rx()
81 struct arc_ps2_data *arc_ps2 = dev; in arc_ps2_interrupt() local
85 arc_ps2_check_rx(arc_ps2, &arc_ps2->port[i]); in arc_ps2_interrupt()
128 static void __iomem *arc_ps2_calc_addr(struct arc_ps2_data *arc_ps2, in arc_ps2_calc_addr() argument
133 addr = arc_ps2->addr + 4 + 4 * index; in arc_ps2_calc_addr()
140 static void arc_ps2_inhibit_ports(struct arc_ps2_data *arc_ps2) in arc_ps2_inhibit_ports() argument
147 addr = arc_ps2_calc_addr(arc_ps2, i, true); in arc_ps2_inhibit_ports()
155 struct arc_ps2_data *arc_ps2, in arc_ps2_create_port() argument
158 struct arc_ps2_port *port = &arc_ps2->port[index]; in arc_ps2_create_port()
175 port->data_addr = arc_ps2_calc_addr(arc_ps2, index, false); in arc_ps2_create_port()
176 port->status_addr = arc_ps2_calc_addr(arc_ps2, index, true); in arc_ps2_create_port()
187 struct arc_ps2_data *arc_ps2; in arc_ps2_probe() local
198 arc_ps2 = devm_kzalloc(&pdev->dev, sizeof(struct arc_ps2_data), in arc_ps2_probe()
200 if (!arc_ps2) { in arc_ps2_probe()
206 arc_ps2->addr = devm_ioremap_resource(&pdev->dev, res); in arc_ps2_probe()
207 if (IS_ERR(arc_ps2->addr)) in arc_ps2_probe()
208 return PTR_ERR(arc_ps2->addr); in arc_ps2_probe()
211 irq, arc_ps2->addr, ARC_PS2_PORTS); in arc_ps2_probe()
213 id = ioread32(arc_ps2->addr); in arc_ps2_probe()
219 arc_ps2_inhibit_ports(arc_ps2); in arc_ps2_probe()
222 0, "arc_ps2", arc_ps2); in arc_ps2_probe()
229 error = arc_ps2_create_port(pdev, arc_ps2, i); in arc_ps2_probe()
232 serio_unregister_port(arc_ps2->port[i].io); in arc_ps2_probe()
237 platform_set_drvdata(pdev, arc_ps2); in arc_ps2_probe()
244 struct arc_ps2_data *arc_ps2 = platform_get_drvdata(pdev); in arc_ps2_remove() local
248 serio_unregister_port(arc_ps2->port[i].io); in arc_ps2_remove()
250 dev_dbg(&pdev->dev, "interrupt count = %i\n", arc_ps2->total_int); in arc_ps2_remove()
251 dev_dbg(&pdev->dev, "frame error count = %i\n", arc_ps2->frame_error); in arc_ps2_remove()
253 arc_ps2->buf_overflow); in arc_ps2_remove()