Skip to content

Commit

Permalink
MIPS: Move definition of __BITFIELD_FIELD to sharable header.
Browse files Browse the repository at this point in the history
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed May 21, 2014
1 parent 60b5f90 commit 64a17a0
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 18 deletions.
1 change: 1 addition & 0 deletions arch/mips/include/uapi/asm/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ include include/uapi/asm-generic/Kbuild.asm
generic-y += auxvec.h
generic-y += ipcbuf.h

header-y += bitfield.h
header-y += bitsperlong.h
header-y += break.h
header-y += byteorder.h
Expand Down
29 changes: 29 additions & 0 deletions arch/mips/include/uapi/asm/bitfield.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2014 by Ralf Baechle <ralf@linux-mips.org>
*/
#ifndef __UAPI_ASM_BITFIELD_H
#define __UAPI_ASM_BITFIELD_H

/*
* * Damn ... bitfields depend from byteorder :-(
* */
#ifdef __MIPSEB__
#define __BITFIELD_FIELD(field, more) \
field; \
more

#elif defined(__MIPSEL__)

#define __BITFIELD_FIELD(field, more) \
more \
field;

#else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
#endif

#endif /* __UAPI_ASM_BITFIELD_H */
20 changes: 2 additions & 18 deletions arch/mips/include/uapi/asm/inst.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
#ifndef _UAPI_ASM_INST_H
#define _UAPI_ASM_INST_H

#include <asm/bitfield.h>

/*
* Major opcodes; before MIPS IV cop1x was called cop3.
*/
Expand Down Expand Up @@ -480,24 +482,6 @@ enum MIPS6e_i8_func {
*/
#define MM_NOP16 0x0c00

/*
* Damn ... bitfields depend from byteorder :-(
*/
#ifdef __MIPSEB__
#define __BITFIELD_FIELD(field, more) \
field; \
more

#elif defined(__MIPSEL__)

#define __BITFIELD_FIELD(field, more) \
more \
field;

#else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
#endif

struct j_format {
__BITFIELD_FIELD(unsigned int opcode : 6, /* Jump format */
__BITFIELD_FIELD(unsigned int target : 26,
Expand Down

0 comments on commit 64a17a0

Please sign in to comment.