On Tue, 10 Jul 2007 06:33:26 -0400 (EDT)
"Robert P. J. Day" <[EMAIL PROTECTED]> 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
> ========================================================================
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to