Re: [PATCH v8 05/12] media: Entity use count

Hans Verkuil
2011-02-04T13:19:51Z

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,
>
>

--
Hans Verkuil - video4linux developer - sponsored by Cisco