From: Andrew Morton <akpm@linux-foundation.org>
To: "Robert P. J. Day" <rpjday@mindspring.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Make asm-generic/ioctl.h more generic using conditionals.
Date: Thu, 12 Jul 2007 16:11:46 -0700 [thread overview]
Message-ID: <20070712161146.78e078b5.akpm@linux-foundation.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0707100629070.11966@localhost.localdomain>
On Tue, 10 Jul 2007 06:33:26 -0400 (EDT)
"Robert P. J. Day" <rpjday@mindspring.com> wrote:
>
> Allow individual architectures to override a small set of macros
> before including asm-generic/ioctl.h, in order to greatly simplify a
> number of existing ioctl.h files.
>
> The overrideable macros would be:
>
> _IOC_SIZEBITS
> _IOC_DIRBITS
> _IOC_NONE
> _IOC_WRITE
> _IOC_READ
>
> ---
>
> i've submitted this once before, and it didn't seem to garner a lot
> of attention one way or the other. this patch can be applied
> standalone and shouldn't affect anything, but it would subsequently
> allow at least a few ioctl.h files to be shortened considerably.
It would be good if we could see one of these followon patches. If such an
example patch (cc'ed to the arch maintainer, please) looks OK then we can
go ahead with this base patch.
> diff --git a/include/asm-generic/ioctl.h b/include/asm-generic/ioctl.h
> index cd02729..4fb087a 100644
> --- a/include/asm-generic/ioctl.h
> +++ b/include/asm-generic/ioctl.h
> @@ -21,8 +21,19 @@
> */
> #define _IOC_NRBITS 8
> #define _IOC_TYPEBITS 8
> -#define _IOC_SIZEBITS 14
> -#define _IOC_DIRBITS 2
> +
> +/*
> + * Let any architecture override either of the following before
> + * including this file.
> + */
> +
> +#ifndef _IOC_SIZEBITS
> +# define _IOC_SIZEBITS 14
> +#endif
> +
> +#ifndef _IOC_DIRBITS
> +# define _IOC_DIRBITS 2
> +#endif
>
> #define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
> #define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
> @@ -35,11 +46,21 @@
> #define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
>
> /*
> - * Direction bits.
> + * Direction bits, which any architecture can choose to override
> + * before including this file.
> */
> -#define _IOC_NONE 0U
> -#define _IOC_WRITE 1U
> -#define _IOC_READ 2U
> +
> +#ifndef _IOC_NONE
> +# define _IOC_NONE 0U
> +#endif
> +
> +#ifndef _IOC_WRITE
> +# define _IOC_WRITE 1U
> +#endif
> +
> +#ifndef _IOC_READ
> +# define _IOC_READ 2U
> +#endif
>
> #define _IOC(dir,type,nr,size) \
> (((dir) << _IOC_DIRSHIFT) | \
>
> --
> ========================================================================
> Robert P. J. Day
> Linux Consulting, Training and Annoying Kernel Pedantry
> Waterloo, Ontario, CANADA
>
> http://fsdev.net/wiki/index.php?title=Main_Page
> ========================================================================
next prev parent reply other threads:[~2007-07-12 23:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-10 10:33 [PATCH] Make asm-generic/ioctl.h more generic using conditionals Robert P. J. Day
2007-07-12 23:11 ` Andrew Morton [this message]
2007-07-13 0:51 ` Robert P. J. Day
2007-07-13 9:56 ` Christoph Hellwig
2007-07-13 9:58 ` Robert P. J. Day
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070712161146.78e078b5.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rpjday@mindspring.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox