Lines Matching refs:attrib

91 static void __irias_delete_attrib(struct ias_attrib *attrib)  in __irias_delete_attrib()  argument
93 IRDA_ASSERT(attrib != NULL, return;); in __irias_delete_attrib()
94 IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;); in __irias_delete_attrib()
96 kfree(attrib->name); in __irias_delete_attrib()
98 irias_delete_value(attrib->value); in __irias_delete_attrib()
99 attrib->magic = ~IAS_ATTRIB_MAGIC; in __irias_delete_attrib()
101 kfree(attrib); in __irias_delete_attrib()
152 int irias_delete_attrib(struct ias_object *obj, struct ias_attrib *attrib, in irias_delete_attrib() argument
159 IRDA_ASSERT(attrib != NULL, return -1;); in irias_delete_attrib()
162 node = hashbin_remove_this(obj->attribs, (irda_queue_t *) attrib); in irias_delete_attrib()
219 struct ias_attrib *attrib; in irias_find_attrib() local
225 attrib = hashbin_lock_find(obj->attribs, 0, name); in irias_find_attrib()
226 if (attrib == NULL) in irias_find_attrib()
230 return attrib; in irias_find_attrib()
239 static void irias_add_attrib(struct ias_object *obj, struct ias_attrib *attrib, in irias_add_attrib() argument
245 IRDA_ASSERT(attrib != NULL, return;); in irias_add_attrib()
246 IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;); in irias_add_attrib()
249 attrib->value->owner = owner; in irias_add_attrib()
251 hashbin_insert(obj->attribs, (irda_queue_t *) attrib, 0, attrib->name); in irias_add_attrib()
264 struct ias_attrib *attrib; in irias_object_change_attribute() local
279 attrib = hashbin_find(obj->attribs, 0, attrib_name); in irias_object_change_attribute()
280 if (attrib == NULL) { in irias_object_change_attribute()
287 if ( attrib->value->type != new_value->type) { in irias_object_change_attribute()
295 irias_delete_value(attrib->value); in irias_object_change_attribute()
298 attrib->value = new_value; in irias_object_change_attribute()
315 struct ias_attrib *attrib; in irias_add_integer_attrib() local
321 attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC); in irias_add_integer_attrib()
322 if (attrib == NULL) { in irias_add_integer_attrib()
328 attrib->magic = IAS_ATTRIB_MAGIC; in irias_add_integer_attrib()
329 attrib->name = kstrndup(name, IAS_MAX_ATTRIBNAME, GFP_ATOMIC); in irias_add_integer_attrib()
332 attrib->value = irias_new_integer_value(value); in irias_add_integer_attrib()
333 if (!attrib->name || !attrib->value) { in irias_add_integer_attrib()
336 if (attrib->value) in irias_add_integer_attrib()
337 irias_delete_value(attrib->value); in irias_add_integer_attrib()
338 kfree(attrib->name); in irias_add_integer_attrib()
339 kfree(attrib); in irias_add_integer_attrib()
343 irias_add_attrib(obj, attrib, owner); in irias_add_integer_attrib()
357 struct ias_attrib *attrib; in irias_add_octseq_attrib() local
365 attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC); in irias_add_octseq_attrib()
366 if (attrib == NULL) { in irias_add_octseq_attrib()
372 attrib->magic = IAS_ATTRIB_MAGIC; in irias_add_octseq_attrib()
373 attrib->name = kstrndup(name, IAS_MAX_ATTRIBNAME, GFP_ATOMIC); in irias_add_octseq_attrib()
375 attrib->value = irias_new_octseq_value( octets, len); in irias_add_octseq_attrib()
376 if (!attrib->name || !attrib->value) { in irias_add_octseq_attrib()
379 if (attrib->value) in irias_add_octseq_attrib()
380 irias_delete_value(attrib->value); in irias_add_octseq_attrib()
381 kfree(attrib->name); in irias_add_octseq_attrib()
382 kfree(attrib); in irias_add_octseq_attrib()
386 irias_add_attrib(obj, attrib, owner); in irias_add_octseq_attrib()
399 struct ias_attrib *attrib; in irias_add_string_attrib() local
407 attrib = kzalloc(sizeof( struct ias_attrib), GFP_ATOMIC); in irias_add_string_attrib()
408 if (attrib == NULL) { in irias_add_string_attrib()
414 attrib->magic = IAS_ATTRIB_MAGIC; in irias_add_string_attrib()
415 attrib->name = kstrndup(name, IAS_MAX_ATTRIBNAME, GFP_ATOMIC); in irias_add_string_attrib()
417 attrib->value = irias_new_string_value(value); in irias_add_string_attrib()
418 if (!attrib->name || !attrib->value) { in irias_add_string_attrib()
421 if (attrib->value) in irias_add_string_attrib()
422 irias_delete_value(attrib->value); in irias_add_string_attrib()
423 kfree(attrib->name); in irias_add_string_attrib()
424 kfree(attrib); in irias_add_string_attrib()
428 irias_add_attrib(obj, attrib, owner); in irias_add_string_attrib()