• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/net/irda/

Lines Matching refs:attrib

102 	/* Locking notes : the attrib spinlock has lower precendence
104 * while holding any attrib spinlock (risk of deadlock). Jean II */
120 * Function irias_delete_attrib (attrib)
125 static void __irias_delete_attrib(struct ias_attrib *attrib)
127 IRDA_ASSERT(attrib != NULL, return;);
128 IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
130 kfree(attrib->name);
132 irias_delete_value(attrib->value);
133 attrib->magic = ~IAS_ATTRIB_MAGIC;
135 kfree(attrib);
186 int irias_delete_attrib(struct ias_object *obj, struct ias_attrib *attrib,
193 IRDA_ASSERT(attrib != NULL, return -1;);
196 node = hashbin_remove_this(obj->attribs, (irda_queue_t *) attrib);
253 struct ias_attrib *attrib;
259 attrib = hashbin_lock_find(obj->attribs, 0, name);
260 if (attrib == NULL)
263 /* Unsafe (locking), attrib might change */
264 return attrib;
268 * Function irias_add_attribute (obj, attrib)
273 static void irias_add_attrib(struct ias_object *obj, struct ias_attrib *attrib,
279 IRDA_ASSERT(attrib != NULL, return;);
280 IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
282 /* Set if attrib is owned by kernel or user space */
283 attrib->value->owner = owner;
285 hashbin_insert(obj->attribs, (irda_queue_t *) attrib, 0, attrib->name);
298 struct ias_attrib *attrib;
313 attrib = hashbin_find(obj->attribs, 0, attrib_name);
314 if (attrib == NULL) {
321 if ( attrib->value->type != new_value->type) {
329 irias_delete_value(attrib->value);
332 attrib->value = new_value;
349 struct ias_attrib *attrib;
355 attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC);
356 if (attrib == NULL) {
362 attrib->magic = IAS_ATTRIB_MAGIC;
363 attrib->name = strndup(name, IAS_MAX_ATTRIBNAME);
366 attrib->value = irias_new_integer_value(value);
367 if (!attrib->name || !attrib->value) {
370 if (attrib->value)
371 irias_delete_value(attrib->value);
372 kfree(attrib->name);
373 kfree(attrib);
377 irias_add_attrib(obj, attrib, owner);
391 struct ias_attrib *attrib;
399 attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC);
400 if (attrib == NULL) {
406 attrib->magic = IAS_ATTRIB_MAGIC;
407 attrib->name = strndup(name, IAS_MAX_ATTRIBNAME);
409 attrib->value = irias_new_octseq_value( octets, len);
410 if (!attrib->name || !attrib->value) {
413 if (attrib->value)
414 irias_delete_value(attrib->value);
415 kfree(attrib->name);
416 kfree(attrib);
420 irias_add_attrib(obj, attrib, owner);
433 struct ias_attrib *attrib;
441 attrib = kzalloc(sizeof( struct ias_attrib), GFP_ATOMIC);
442 if (attrib == NULL) {
448 attrib->magic = IAS_ATTRIB_MAGIC;
449 attrib->name = strndup(name, IAS_MAX_ATTRIBNAME);
451 attrib->value = irias_new_string_value(value);
452 if (!attrib->name || !attrib->value) {
455 if (attrib->value)
456 irias_delete_value(attrib->value);
457 kfree(attrib->name);
458 kfree(attrib);
462 irias_add_attrib(obj, attrib, owner);