From mboxrd@z Thu Jan 1 00:00:00 1970 From: tglx@linutronix.de (Thomas Gleixner) Date: Tue, 8 Mar 2011 16:01:00 +0100 (CET) Subject: [PATCH v9 1/1] PRUSS UIO driver support In-Reply-To: <201103081424.01476.arnd@arndb.de> References: <1299175677-17859-1-git-send-email-pratheesh@ti.com> <201103081424.01476.arnd@arndb.de> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 8 Mar 2011, Arnd Bergmann wrote: > On Tuesday 08 March 2011, Thomas Gleixner wrote: > > > > > > +static irqreturn_t pruss_handler(int irq, struct uio_info *info) { > > > + struct pruss_priv *priv = info->priv; > > > + struct uio_pruss_dev *gdev = priv->pupdev; > > > > > > Note that info is a pointer to array supporting 8 interrupts. This allows to > > > redirect to driver structure via info->priv quickly. > > > > struct uio_pruss_dev *dev = container_of(info, struct uio_pruss_dev, info); > > > > Perhaps ? > > That would require having the same number of uio_info structs as uio_pruss_dev > instances. Right now, one platform device has one uio_pruss_dev instance, which > has 8 uio_info instances, so the container_of() trick doesn't work. Duh. Yes :) tglx