On Wed, Apr 01, 2015 at 05:15:15PM +0100, Emil Velikov wrote: > Used locally in bof.c. > > Cc: Jerome Glisse <jglisse@xxxxxxxxxx> > Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx> NAK I use all this in tools to debug lockup. Best course of action is to exclude bof.h from being distributed. My tools static link and i just point them to libdrm git tree. Cheers, Jérôme > --- > radeon/bof.c | 96 ++++++++++++++++++++++++++++++------------------------------ > radeon/bof.h | 3 -- > 2 files changed, 48 insertions(+), 51 deletions(-) > > diff --git a/radeon/bof.c b/radeon/bof.c > index 6f3760a..20901a0 100644 > --- a/radeon/bof.c > +++ b/radeon/bof.c > @@ -45,6 +45,54 @@ static int bof_entry_grow(bof_t *bof) > return 0; > } > > +static void bof_incref(bof_t *bof) > +{ > + bof->refcount++; > +} > + > +void bof_decref(bof_t *bof) > +{ > + unsigned i; > + > + if (bof == NULL) > + return; > + if (--bof->refcount > 0) > + return; > + for (i = 0; i < bof->array_size; i++) { > + bof_decref(bof->array[i]); > + bof->array[i] = NULL; > + } > + bof->array_size = 0; > + if (bof->file) { > + fclose(bof->file); > + bof->file = NULL; > + } > + free(bof->array); > + free(bof->value); > + free(bof); > +} > + > +/* > + * string > + */ > +static bof_t *bof_string(const char *value) > +{ > + bof_t *string = bof_object(); > + > + if (string == NULL) > + return NULL; > + string->type = BOF_TYPE_STRING; > + string->size = strlen(value) + 1; > + string->value = calloc(1, string->size); > + if (string->value == NULL) { > + bof_decref(string); > + return NULL; > + } > + strcpy(string->value, value); > + string->size += 12; > + return string; > +} > + > /* > * object > */ > @@ -160,27 +208,6 @@ void *bof_blob_value(bof_t *bof) > } > > /* > - * string > - */ > -bof_t *bof_string(const char *value) > -{ > - bof_t *string = bof_object(); > - > - if (string == NULL) > - return NULL; > - string->type = BOF_TYPE_STRING; > - string->size = strlen(value) + 1; > - string->value = calloc(1, string->size); > - if (string->value == NULL) { > - bof_decref(string); > - return NULL; > - } > - strcpy(string->value, value); > - string->size += 12; > - return string; > -} > - > -/* > * int32 > */ > bof_t *bof_int32(int32_t value) > @@ -316,33 +343,6 @@ out_err: > return -EINVAL; > } > > -void bof_incref(bof_t *bof) > -{ > - bof->refcount++; > -} > - > -void bof_decref(bof_t *bof) > -{ > - unsigned i; > - > - if (bof == NULL) > - return; > - if (--bof->refcount > 0) > - return; > - for (i = 0; i < bof->array_size; i++) { > - bof_decref(bof->array[i]); > - bof->array[i] = NULL; > - } > - bof->array_size = 0; > - if (bof->file) { > - fclose(bof->file); > - bof->file = NULL; > - } > - free(bof->array); > - free(bof->value); > - free(bof); > -} > - > static int bof_file_write(bof_t *bof, FILE *file) > { > unsigned i; > diff --git a/radeon/bof.h b/radeon/bof.h > index 8e952c1..4dae923 100644 > --- a/radeon/bof.h > +++ b/radeon/bof.h > @@ -63,14 +63,11 @@ extern unsigned bof_array_size(bof_t *bof); > extern bof_t *bof_blob(unsigned size, void *value); > extern unsigned bof_blob_size(bof_t *bof); > extern void *bof_blob_value(bof_t *bof); > -/* string */ > -extern bof_t *bof_string(const char *value); > /* int32 */ > extern bof_t *bof_int32(int32_t value); > extern int32_t bof_int32_value(bof_t *bof); > /* common functions */ > extern void bof_decref(bof_t *bof); > -extern void bof_incref(bof_t *bof); > extern int bof_dump_file(bof_t *bof, const char *filename); > > static inline int bof_is_object(bof_t *bof){return (bof->type == BOF_TYPE_OBJECT);} > -- > 2.3.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel