Re: [PATCH v7 7/7] media: nuvoton: Add driver for NPCM video capture and encode engine
From: Kun-Fa Lin
Date: Wed Nov 23 2022 - 22:30:48 EST
Hi Andrzej,
Thanks for the review.
> > +#define GPLLST 0x48
> > +#define GPLLST_PLLOTDIV1 GENMASK(2, 0)
> > +#define GPLLST_PLLOTDIV2 GENMASK(5, 3)
> > +#define GPLLST_GPLLFBDV109 GENMASK(7, 6)
> > +
>
> There's a bunch of register definitions. Given you're adding a dedicated
> directory for nuvoton maybe it makes sense to factor these definitions
> out to a local header file?
Agreed. I'll move these definitions out to a local header file in the
next patch.
> > + for (i = 0; i < video->num_buffers; i++) {
> > + head = &video->list[i];
> > + list_for_each_safe(pos, nx, head) {
> > + tmp = list_entry(pos, struct rect_list, list);
>
> If we ever get here isn't pos guaranteed to be non-NULL?
> And so consequently is tmp.
>
> > + if (tmp) {
>
> Then this condition is always true?
Indeed the condition is always true, will remove the condition check.
> > + video->rect = kcalloc(*num_buffers, sizeof(*video->rect), GFP_KERNEL);
>
> In practice "small allocations never fail", but what if kcalloc fails some day?
>
> > +
> > + if (video->list) {
> > + npcm_video_free_diff_table(video);
> > + kfree(video->list);
> > + video->list = NULL;
> > + }
> > +
> > + video->list = kzalloc(sizeof(*video->list) * *num_buffers, GFP_KERNEL);
>
> Or kzalloc?
Will add error handling.
> In this function there are 3 similar error recovery paths. Can nice "goto"s
> be introduced to handle them?
Will do it for sure.
Regards,
Marvin