On Wed, Apr 01, 2015 at 05:15:15PM +0100, Emil Velikov wrote:
> Used locally in bof.c.
> 
> Cc: Jerome Glisse <jglisse at redhat.com>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>

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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to