svn commit: r305388 - head/sys/dev/usb/serial

Dimitry Andric dim at FreeBSD.org
Sun Sep 4 16:59:37 UTC 2016


Author: dim
Date: Sun Sep  4 16:59:35 2016
New Revision: 305388
URL: https://svnweb.freebsd.org/changeset/base/305388

Log:
  With clang 3.9.0, compiling uplcom results in the following warnings:
  
  sys/dev/usb/serial/uplcom.c:543:29: error: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 192 to -64 [-Werror,-Wconstant-conversion]
          if (uplcom_pl2303_do(udev, UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 1)
              ~~~~~~~~~~~~~~~~       ^~~~~~~~~~~~~~~~~~~~~
  sys/dev/usb/usb.h:179:53: note: expanded from macro 'UT_READ_VENDOR_DEVICE'
  #define UT_READ_VENDOR_DEVICE   (UT_READ  | UT_VENDOR | UT_DEVICE)
                                   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
  
  This is because UT_READ is 0x80, so the int8_t argument is wrapped to a
  negative value.  Fix this by using uint8_t instead.
  
  Reviewed by:	imp, hselasky
  MFC after:	3 days
  Differential Revision: https://reviews.freebsd.org/D7776

Modified:
  head/sys/dev/usb/serial/uplcom.c

Modified: head/sys/dev/usb/serial/uplcom.c
==============================================================================
--- head/sys/dev/usb/serial/uplcom.c	Sun Sep  4 16:54:55 2016	(r305387)
+++ head/sys/dev/usb/serial/uplcom.c	Sun Sep  4 16:59:35 2016	(r305388)
@@ -166,7 +166,7 @@ struct uplcom_softc {
 /* prototypes */
 
 static usb_error_t uplcom_reset(struct uplcom_softc *, struct usb_device *);
-static usb_error_t uplcom_pl2303_do(struct usb_device *, int8_t, uint8_t,
+static usb_error_t uplcom_pl2303_do(struct usb_device *, uint8_t, uint8_t,
 			uint16_t, uint16_t, uint16_t);
 static int	uplcom_pl2303_init(struct usb_device *, uint8_t);
 static void	uplcom_free(struct ucom_softc *);
@@ -514,7 +514,7 @@ uplcom_reset(struct uplcom_softc *sc, st
 }
 
 static usb_error_t
-uplcom_pl2303_do(struct usb_device *udev, int8_t req_type, uint8_t request,
+uplcom_pl2303_do(struct usb_device *udev, uint8_t req_type, uint8_t request,
     uint16_t value, uint16_t index, uint16_t length)
 {
 	struct usb_device_request req;


More information about the svn-src-head mailing list