Hi Daniel,
On Fri, Jun 28, 2013 at 01:19:58PM -0400, Daniel Drake wrote:
> +static int olpc_apsp_open(struct serio *port)
> +{
> + struct olpc_apsp *priv = port->port_data;
> + unsigned int tmp;
> +
> + if (priv->open_count++ == 0) {
> + /* Enable interrupt 0 by clearing its bit */
> + tmp = readl(priv->base + PJ_INTERRUPT_MASK);
> + writel(tmp & ~INT_0, priv->base + PJ_INTERRUPT_MASK);
> + }
> +
> + return 0;
> +}
> +
> +static void olpc_apsp_close(struct serio *port)
> +{
> + struct olpc_apsp *priv = port->port_data;
> + unsigned int tmp;
> +
> + if (--priv->open_count == 0) {
Both need locking. It looks like you need the song and dance similar to
what i8042 has to do with it's multiplexed ports. Or ps2mult.c...
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html