Lines Matching +full:clear +full:- +full:bit
1 /* SPDX-License-Identifier: GPL-2.0+ */
5 * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
6 * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
41 * The insw/outsw/insl/outsl macros don't do byte-swapping.
43 * are arrays of bytes, and byte-swapping is not appropriate in
44 * that case. - paulus
72 while (ns--) in _insb()
79 while (ns--) in _outsb()
86 while (ns--) in _insw()
93 while (ns--) { in _outsw()
102 while (nl--) in _insl()
109 while (nl--) { in _outsl()
118 while (ns--) in _insw_ns()
125 while (ns--) { in _outsw_ns()
133 while (nl--) in _insl_ns()
140 while (nl--) { in _outsl_ns()
147 * The *_ns versions below don't do byte-swapping.
159 * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
211 /* Clear and set bits in one shot. These macros can be used to clear and
213 * also be used to set a multiple-bit bit pattern using a mask, by
214 * specifying the mask in the 'clear' parameter and the new bit pattern
218 #define clrbits(type, addr, clear) \ argument
219 out_##type((addr), in_##type(addr) & ~(clear))
224 #define clrsetbits(type, addr, clear, set) \ argument
225 out_##type((addr), (in_##type(addr) & ~(clear)) | (set))
227 #define clrbits_be32(addr, clear) clrbits(be32, addr, clear) argument
229 #define clrsetbits_be32(addr, clear, set) clrsetbits(be32, addr, clear, set) argument
231 #define clrbits_le32(addr, clear) clrbits(le32, addr, clear) argument
233 #define clrsetbits_le32(addr, clear, set) clrsetbits(le32, addr, clear, set) argument
235 #define clrbits_be16(addr, clear) clrbits(be16, addr, clear) argument
237 #define clrsetbits_be16(addr, clear, set) clrsetbits(be16, addr, clear, set) argument
239 #define clrbits_le16(addr, clear) clrbits(le16, addr, clear) argument
241 #define clrsetbits_le16(addr, clear, set) clrsetbits(le16, addr, clear, set) argument
243 #define clrbits_8(addr, clear) clrbits(8, addr, clear) argument
245 #define clrsetbits_8(addr, clear, set) clrsetbits(8, addr, clear, set) argument
255 #include <asm-generic/io.h>