| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | #ifndef _ASM_GENERIC_BITOPS_FIND_H_
 | 
					
						
							|  |  |  | #define _ASM_GENERIC_BITOPS_FIND_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-26 16:26:09 -07:00
										 |  |  | #ifndef find_next_bit
 | 
					
						
							| 
									
										
										
										
											2010-09-29 18:08:51 +09:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * find_next_bit - find the next set bit in a memory region | 
					
						
							|  |  |  |  * @addr: The address to base the search on | 
					
						
							|  |  |  |  * @offset: The bitnumber to start searching at | 
					
						
							|  |  |  |  * @size: The bitmap size in bits | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | extern unsigned long find_next_bit(const unsigned long *addr, unsigned long | 
					
						
							|  |  |  | 		size, unsigned long offset); | 
					
						
							| 
									
										
										
										
											2011-05-26 16:26:09 -07:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-26 16:26:09 -07:00
										 |  |  | #ifndef find_next_zero_bit
 | 
					
						
							| 
									
										
										
										
											2010-09-29 18:08:51 +09:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * find_next_zero_bit - find the next cleared bit in a memory region | 
					
						
							|  |  |  |  * @addr: The address to base the search on | 
					
						
							|  |  |  |  * @offset: The bitnumber to start searching at | 
					
						
							|  |  |  |  * @size: The bitmap size in bits | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned | 
					
						
							|  |  |  | 		long size, unsigned long offset); | 
					
						
							| 
									
										
										
										
											2011-05-26 16:26:09 -07:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-29 18:08:50 +09:00
										 |  |  | #ifdef CONFIG_GENERIC_FIND_FIRST_BIT
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * find_first_bit - find the first set bit in a memory region | 
					
						
							|  |  |  |  * @addr: The address to start the search at | 
					
						
							|  |  |  |  * @size: The maximum size to search | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Returns the bit number of the first set bit. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | extern unsigned long find_first_bit(const unsigned long *addr, | 
					
						
							|  |  |  | 				    unsigned long size); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * find_first_zero_bit - find the first cleared bit in a memory region | 
					
						
							|  |  |  |  * @addr: The address to start the search at | 
					
						
							|  |  |  |  * @size: The maximum size to search | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Returns the bit number of the first cleared bit. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | extern unsigned long find_first_zero_bit(const unsigned long *addr, | 
					
						
							|  |  |  | 					 unsigned long size); | 
					
						
							|  |  |  | #else /* CONFIG_GENERIC_FIND_FIRST_BIT */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | #define find_first_bit(addr, size) find_next_bit((addr), (size), 0)
 | 
					
						
							|  |  |  | #define find_first_zero_bit(addr, size) find_next_zero_bit((addr), (size), 0)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-29 18:08:50 +09:00
										 |  |  | #endif /* CONFIG_GENERIC_FIND_FIRST_BIT */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-26 01:39:11 -08:00
										 |  |  | #endif /*_ASM_GENERIC_BITOPS_FIND_H_ */
 |