Re: [PATCH v5 2/3] i2c: iproc: Add Broadcom iProc I2C Driver

From: Uwe Kleine-König
Date: Sun Jan 18 2015 - 04:48:28 EST


Hello,

On Sun, Jan 18, 2015 at 10:14:04AM +0100, Arend van Spriel wrote:
> On 01/17/15 00:42, Ray Jui wrote:
>
> [...]
>
> >+/*
> >+ * Can be expanded in the future if more interrupt status bits are utilized
> >+ */
> >+#define ISR_MASK (1<< IS_M_START_BUSY_SHIFT)
> >+
> >+static irqreturn_t bcm_iproc_i2c_isr(int irq, void *data)
> >+{
> >+ struct bcm_iproc_i2c_dev *iproc_i2c = data;
> >+ u32 status = readl(iproc_i2c->base + IS_OFFSET);
> >+
> >+ status&= ISR_MASK;
> >+
> >+ if (!status)
> >+ return IRQ_NONE;
> >+
> >+ writel(status, iproc_i2c->base + IS_OFFSET);
> >+ complete_all(&iproc_i2c->done);
>
> Looking over this code it seems to me there is always a single
> process waiting for iproc_i2c->done to complete. So using complete()
> here would suffice.
Yeah, there is always only a single thread waiting. That means both
complete and complete_all are suitable. AFAIK there is no reason to pick
one over the other in this case.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/