18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * bitext.h: Bit string operations on the sparc, specific to architecture. 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright 2002 Pete Zaitcev <zaitcev@yahoo.com> 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef _SPARC_BITEXT_H 98c2ecf20Sopenharmony_ci#define _SPARC_BITEXT_H 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <linux/spinlock.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct bit_map { 148c2ecf20Sopenharmony_ci spinlock_t lock; 158c2ecf20Sopenharmony_ci unsigned long *map; 168c2ecf20Sopenharmony_ci int size; 178c2ecf20Sopenharmony_ci int used; 188c2ecf20Sopenharmony_ci int last_off; 198c2ecf20Sopenharmony_ci int last_size; 208c2ecf20Sopenharmony_ci int first_free; 218c2ecf20Sopenharmony_ci int num_colors; 228c2ecf20Sopenharmony_ci}; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciint bit_map_string_get(struct bit_map *t, int len, int align); 258c2ecf20Sopenharmony_civoid bit_map_clear(struct bit_map *t, int offset, int len); 268c2ecf20Sopenharmony_civoid bit_map_init(struct bit_map *t, unsigned long *map, int size); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#endif /* defined(_SPARC_BITEXT_H) */ 29