Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756537Ab1BCQ4M (ORCPT ); Thu, 3 Feb 2011 11:56:12 -0500 Received: from mail-iw0-f174.google.com ([209.85.214.174]:40799 "EHLO mail-iw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756517Ab1BCQ4L (ORCPT ); Thu, 3 Feb 2011 11:56:11 -0500 Date: Thu, 3 Feb 2011 09:56:07 -0700 From: Grant Likely To: Bernhard Walle Cc: dbrownell@users.sourceforge.net, spi-devel-general@lists.sourceforge.net, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, arnd@arndb.de Subject: Re: [PATCH] spi: spidev: Add 32 bit compat ioctl() Message-ID: <20110203165607.GB6180@angua.secretlab.ca> References: <1296722238-4308-1-git-send-email-walle@corscience.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1296722238-4308-1-git-send-email-walle@corscience.de> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2013 Lines: 64 On Thu, Feb 03, 2011 at 09:37:18AM +0100, Bernhard Walle wrote: > Add the compat_ioctl for operations on /dev/spi* so that 32 bit > userspace applications can access SPI. As far as I can see all data > structure are already prepared for that, so no additional conversion has > to be done. > > My use case is MIPS with N32 userspace ABI and toolchain, and that was > also the platform where I tested it successfully (Cavium Octeon). > > Signed-off-by: Bernhard Walle Applied, thanks. g. > --- > drivers/spi/spidev.c | 12 ++++++++++++ > 1 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c > index 4e6245e..833e238 100644 > --- a/drivers/spi/spidev.c > +++ b/drivers/spi/spidev.c > @@ -30,6 +30,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -471,6 +472,16 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > return retval; > } > > +#ifdef CONFIG_COMPAT > +static long > +spidev_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) > +{ > + return spidev_ioctl(filp, cmd, (unsigned long)compat_ptr(arg)); > +} > +#else > +#define spidev_compat_ioctl NULL > +#endif /* CONFIG_COMPAT */ > + > static int spidev_open(struct inode *inode, struct file *filp) > { > struct spidev_data *spidev; > @@ -543,6 +554,7 @@ static const struct file_operations spidev_fops = { > .write = spidev_write, > .read = spidev_read, > .unlocked_ioctl = spidev_ioctl, > + .compat_ioctl = spidev_compat_ioctl, > .open = spidev_open, > .release = spidev_release, > .llseek = no_llseek, > -- > 1.7.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/