Not that big, but quirks are likely to grow in the feature and there is
no reason to keep them writable:
ffffffff822c0750 g     O .data  0000000000000160 uvideo_devs

Builds fine on amd64 but I don't have uvideo(4) attaching anywhere.
OK?


diff --git a/sys/dev/usb/uvideo.c b/sys/dev/usb/uvideo.c
index de4784beb63..f947ed56133 100644
--- a/sys/dev/usb/uvideo.c
+++ b/sys/dev/usb/uvideo.c
@@ -106,7 +106,7 @@ struct uvideo_softc {
        uint8_t                                 *sc_uplayer_fbuffer;
        void                                     (*sc_uplayer_intr)(void *);
 
-       struct uvideo_devs                      *sc_quirk;
+       const struct uvideo_devs                *sc_quirk;
        usbd_status                             (*sc_decode_stream_header)
                                                    (struct uvideo_softc *,
                                                    uint8_t *, int);
@@ -303,7 +303,7 @@ const struct video_hw_if uvideo_hw_if = {
 #define UVIDEO_FLAG_REATTACH                   0x2
 #define UVIDEO_FLAG_VENDOR_CLASS               0x4
 #define UVIDEO_FLAG_NOATTACH                   0x8
-struct uvideo_devs {
+const struct uvideo_devs {
        struct usb_devno         uv_dev;
        char                    *ucode_name;
        usbd_status              (*ucode_loader)(struct uvideo_softc *);
@@ -386,7 +386,7 @@ struct uvideo_devs {
        },
 };
 #define uvideo_lookup(v, p) \
-       ((struct uvideo_devs *)usb_lookup(uvideo_devs, v, p))
+       ((const struct uvideo_devs *)usb_lookup(uvideo_devs, v, p))
 
 int
 uvideo_open(void *addr, int flags, int *size, uint8_t *buffer,
@@ -440,7 +440,7 @@ uvideo_match(struct device *parent, void *match, void *aux)
 {
        struct usb_attach_arg *uaa = aux;
        usb_interface_descriptor_t *id;
-       struct uvideo_devs *quirk;
+       const struct uvideo_devs *quirk;
 
        if (uaa->iface == NULL)
                return (UMATCH_NONE);

Reply via email to