diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-05-23 23:41:30 +0300 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-05-24 01:26:38 +0300 | 
| commit | b41bb4ac6a18c7cacab53e27c11058f71866e6e0 (patch) | |
| tree | e154430891ced229c7c8c761af32d995ee2eb7ff | |
| parent | c09cb33c4a54139b00fc9a7212ef7ab05a1e07cb (diff) | |
uvc-gadget: Constify request data pointers
The request data passed from the UVC event handler to processing
functions should never be modified. Make it const through the code.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| -rw-r--r-- | uvc-gadget.c | 19 | 
1 files changed, 11 insertions, 8 deletions
| diff --git a/uvc-gadget.c b/uvc-gadget.c index b1c4eeb..560687f 100644 --- a/uvc-gadget.c +++ b/uvc-gadget.c @@ -302,7 +302,8 @@ uvc_fill_streaming_control(struct uvc_device *dev,  }  static void -uvc_events_process_standard(struct uvc_device *dev, struct usb_ctrlrequest *ctrl, +uvc_events_process_standard(struct uvc_device *dev, +			    const struct usb_ctrlrequest *ctrl,  			    struct uvc_request_data *resp)  {  	printf("standard request\n"); @@ -372,7 +373,8 @@ uvc_events_process_streaming(struct uvc_device *dev, uint8_t req, uint8_t cs,  }  static void -uvc_events_process_class(struct uvc_device *dev, struct usb_ctrlrequest *ctrl, +uvc_events_process_class(struct uvc_device *dev, +			 const struct usb_ctrlrequest *ctrl,  			 struct uvc_request_data *resp)  {  	if ((ctrl->bRequestType & USB_RECIP_MASK) != USB_RECIP_INTERFACE) @@ -393,7 +395,8 @@ uvc_events_process_class(struct uvc_device *dev, struct usb_ctrlrequest *ctrl,  }  static void -uvc_events_process_setup(struct uvc_device *dev, struct usb_ctrlrequest *ctrl, +uvc_events_process_setup(struct uvc_device *dev, +			 const struct usb_ctrlrequest *ctrl,  			 struct uvc_request_data *resp)  {  	dev->control = 0; @@ -417,10 +420,12 @@ uvc_events_process_setup(struct uvc_device *dev, struct usb_ctrlrequest *ctrl,  }  static void -uvc_events_process_data(struct uvc_device *dev, struct uvc_request_data *data) +uvc_events_process_data(struct uvc_device *dev, +			const struct uvc_request_data *data)  { +	const struct uvc_streaming_control *ctrl = +		(const struct uvc_streaming_control *)&data->data;  	struct uvc_streaming_control *target; -	struct uvc_streaming_control *ctrl;  	switch (dev->control) {  	case UVC_VS_PROBE_CONTROL: @@ -438,8 +443,6 @@ uvc_events_process_data(struct uvc_device *dev, struct uvc_request_data *data)  		return;  	} -	ctrl = (struct uvc_streaming_control *)&data->data; -  	uvc_fill_streaming_control(dev, target, ctrl->bFormatIndex,  				   ctrl->bFrameIndex, ctrl->dwFrameInterval); @@ -465,7 +468,7 @@ uvc_events_process(void *d)  {  	struct uvc_device *dev = d;  	struct v4l2_event v4l2_event; -	struct uvc_event *uvc_event = (void *)&v4l2_event.u.data; +	const struct uvc_event *uvc_event = (void *)&v4l2_event.u.data;  	struct uvc_request_data resp;  	int ret; | 
