Re: [alsa-devel] [PATCH v8 05/12] media: Entity use count
On Friday, February 04, 2011 13:34:02 Sakari Ailus wrote:
Hi,
And many thanks for the comments!
Hans Verkuil wrote: ...
diff --git a/include/media/media-entity.h b/include/media/media-entity.h index b82f824..114541a 100644 --- a/include/media/media-entity.h +++ b/include/media/media-entity.h @@ -81,6 +81,8 @@ struct media_entity { struct media_pad *pads; /* Pads array (num_pads elements) */ struct media_link *links; /* Links array (max_links elements)*/
- int use_count; /* Use count for the entity. */
Isn't unsigned better?
Could be. The result, though, will be slightly more difficult checking for bad use count --- which always is a driver bug.
me->use_count += change; WARN_ON(me->use_count < 0);
we must do something like this:
if (change < 0) WARN_ON(me->use_count < (unsigned)-change); me->use_count += change;
I'd perhaps also go with unsigned int; the choice for signed was made mainly since the above check and with signed int the check was more trivial.
I saw this WARN_ON as well. I think there is a good reason for that WARN_ON, but I think a comment in the header explaining why it is an int will be useful. If I trip over it, then others will as well :-)
Regards,
Hans
Regards,
Hi Hans,
On Friday 04 February 2011 14:19:19 Hans Verkuil wrote:
On Friday, February 04, 2011 13:34:02 Sakari Ailus wrote:
Hi,
And many thanks for the comments!
Hans Verkuil wrote: ...
diff --git a/include/media/media-entity.h b/include/media/media-entity.h index b82f824..114541a 100644 --- a/include/media/media-entity.h +++ b/include/media/media-entity.h @@ -81,6 +81,8 @@ struct media_entity {
struct media_pad *pads; /* Pads array (num_pads elements) */ struct media_link *links; /* Links array (max_links elements)*/
- int use_count; /* Use count for the entity. */
Isn't unsigned better?
Could be. The result, though, will be slightly more difficult checking for bad use count --- which always is a driver bug.
me->use_count += change; WARN_ON(me->use_count < 0);
we must do something like this:
if (change < 0)
WARN_ON(me->use_count < (unsigned)-change);
me->use_count += change;
I'd perhaps also go with unsigned int; the choice for signed was made mainly since the above check and with signed int the check was more trivial.
I saw this WARN_ON as well. I think there is a good reason for that WARN_ON, but I think a comment in the header explaining why it is an int will be useful. If I trip over it, then others will as well :-)
I'll add a comment. Thanks.
participants (2)
-
Hans Verkuil
-
Laurent Pinchart