Message ID | 20190207091338.55705-4-hverkuil-cisco@xs4all.nl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | sparse/smatch fixes | expand |
Hi Hans, On 07/02/2019 10:13, Hans Overkill wrote: > drivers/media/usb/uvc/uvc_video.c: drivers/media/usb/uvc/uvc_video.c:1893 uvc_video_start_transfer() warn: argument 2 to %u specifier is cast from pointer > > Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> This look fine to me. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > --- > drivers/media/usb/uvc/uvcvideo.h | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > index 9b41b14ce076..c7c1baa90dea 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -620,8 +620,10 @@ struct uvc_streaming { > (uvc_urb) < &(uvc_streaming)->uvc_urb[UVC_URBS]; \ > ++(uvc_urb)) > > -#define uvc_urb_index(uvc_urb) \ > - (unsigned int)((uvc_urb) - (&(uvc_urb)->stream->uvc_urb[0])) > +static inline u32 uvc_urb_index(const struct uvc_urb *uvc_urb) > +{ > + return uvc_urb - &uvc_urb->stream->uvc_urb[0]; > +}> > struct uvc_device_info { > u32 quirks; >
Hello, On Thu, Feb 07, 2019 at 03:57:26PM +0100, Kieran Bingham wrote: > On 07/02/2019 10:13, Hans Overkill wrote: > > drivers/media/usb/uvc/uvc_video.c: drivers/media/usb/uvc/uvc_video.c:1893 uvc_video_start_transfer() warn: argument 2 to %u specifier is cast from pointer > > > > Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> > > This look fine to me. > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Even though I believe we should fix tooling instead of code to handle these issues, the patch for uvcvideo doesn't adversely affect the code, so Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Should I take this in my tree ? > > --- > > drivers/media/usb/uvc/uvcvideo.h | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > > index 9b41b14ce076..c7c1baa90dea 100644 > > --- a/drivers/media/usb/uvc/uvcvideo.h > > +++ b/drivers/media/usb/uvc/uvcvideo.h > > @@ -620,8 +620,10 @@ struct uvc_streaming { > > (uvc_urb) < &(uvc_streaming)->uvc_urb[UVC_URBS]; \ > > ++(uvc_urb)) > > > > -#define uvc_urb_index(uvc_urb) \ > > - (unsigned int)((uvc_urb) - (&(uvc_urb)->stream->uvc_urb[0])) > > +static inline u32 uvc_urb_index(const struct uvc_urb *uvc_urb) > > +{ > > + return uvc_urb - &uvc_urb->stream->uvc_urb[0]; > > +} > > > > struct uvc_device_info { > > u32 quirks; > >
On 2/7/19 4:41 PM, Laurent Pinchart wrote: > Hello, > > On Thu, Feb 07, 2019 at 03:57:26PM +0100, Kieran Bingham wrote: >> On 07/02/2019 10:13, Hans Overkill wrote: >>> drivers/media/usb/uvc/uvc_video.c: drivers/media/usb/uvc/uvc_video.c:1893 uvc_video_start_transfer() warn: argument 2 to %u specifier is cast from pointer >>> >>> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> >> >> This look fine to me. >> >> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Even though I believe we should fix tooling instead of code to handle > these issues, the patch for uvcvideo doesn't adversely affect the code, > so > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Should I take this in my tree ? Yes, go ahead. Regards, Hans > >>> --- >>> drivers/media/usb/uvc/uvcvideo.h | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h >>> index 9b41b14ce076..c7c1baa90dea 100644 >>> --- a/drivers/media/usb/uvc/uvcvideo.h >>> +++ b/drivers/media/usb/uvc/uvcvideo.h >>> @@ -620,8 +620,10 @@ struct uvc_streaming { >>> (uvc_urb) < &(uvc_streaming)->uvc_urb[UVC_URBS]; \ >>> ++(uvc_urb)) >>> >>> -#define uvc_urb_index(uvc_urb) \ >>> - (unsigned int)((uvc_urb) - (&(uvc_urb)->stream->uvc_urb[0])) >>> +static inline u32 uvc_urb_index(const struct uvc_urb *uvc_urb) >>> +{ >>> + return uvc_urb - &uvc_urb->stream->uvc_urb[0]; >>> +} >>> >>> struct uvc_device_info { >>> u32 quirks; >>> >
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h index 9b41b14ce076..c7c1baa90dea 100644 --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h @@ -620,8 +620,10 @@ struct uvc_streaming { (uvc_urb) < &(uvc_streaming)->uvc_urb[UVC_URBS]; \ ++(uvc_urb)) -#define uvc_urb_index(uvc_urb) \ - (unsigned int)((uvc_urb) - (&(uvc_urb)->stream->uvc_urb[0])) +static inline u32 uvc_urb_index(const struct uvc_urb *uvc_urb) +{ + return uvc_urb - &uvc_urb->stream->uvc_urb[0]; +} struct uvc_device_info { u32 quirks;
drivers/media/usb/uvc/uvc_video.c: drivers/media/usb/uvc/uvc_video.c:1893 uvc_video_start_transfer() warn: argument 2 to %u specifier is cast from pointer Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> --- drivers/media/usb/uvc/uvcvideo.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)