PERFORCE change 128715 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Nov 5 16:57:23 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=128715
Change 128715 by hselasky at hselasky_laptop001 on 2007/11/06 00:56:38
The code is about to become styled using "indent". In that
regard some declarations must be clearified so that "indent"
can understand their meaning without the need for a complete
C-parse.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/ehci.h#17 edit
.. //depot/projects/usb/src/sys/dev/usb/if_rum.c#12 edit
.. //depot/projects/usb/src/sys/dev/usb/if_udav.c#29 edit
.. //depot/projects/usb/src/sys/dev/usb/if_ural.c#36 edit
.. //depot/projects/usb/src/sys/dev/usb/if_zyd.c#18 edit
.. //depot/projects/usb/src/sys/dev/usb/ohci.h#13 edit
.. //depot/projects/usb/src/sys/dev/usb/ubsa.c#26 edit
.. //depot/projects/usb/src/sys/dev/usb/ucycom.c#20 edit
.. //depot/projects/usb/src/sys/dev/usb/uhci.h#14 edit
.. //depot/projects/usb/src/sys/dev/usb/ukbd.c#24 edit
.. //depot/projects/usb/src/sys/dev/usb/umass.c#27 edit
.. //depot/projects/usb/src/sys/dev/usb/umct.c#20 edit
.. //depot/projects/usb/src/sys/dev/usb/umodem.c#29 edit
.. //depot/projects/usb/src/sys/dev/usb/uplcom.c#27 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#13 edit
.. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#36 edit
.. //depot/projects/usb/src/sys/sys/videokern.h#4 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/ehci.h#17 (text+ko) ====
@@ -203,7 +203,7 @@
* Isochronous Transfer Descriptor. This descriptor is used for high speed
* transfers only.
*/
-typedef struct ehci_itd {
+struct ehci_itd {
volatile uint32_t itd_next;
volatile uint32_t itd_status[8];
#define EHCI_ITD_SET_LEN(x) ((x) << 16)
@@ -237,13 +237,15 @@
struct ehci_itd *prev;
struct ehci_itd *obj_next;
struct usbd_page *page;
-} __aligned(EHCI_ITD_ALIGN) ehci_itd_t;
+} __aligned(EHCI_ITD_ALIGN);
+
+typedef struct ehci_itd ehci_itd_t;
/*
* Split Transaction Isochronous Transfer Descriptor. This descriptor is used
* for full speed transfers only.
*/
-typedef struct ehci_sitd {
+struct ehci_sitd {
volatile uint32_t sitd_next;
volatile uint32_t sitd_portaddr;
#define EHCI_SITD_SET_DIR_OUT (0 << 31)
@@ -283,10 +285,12 @@
struct ehci_sitd *prev;
struct ehci_sitd *obj_next;
struct usbd_page *page;
-} __aligned(EHCI_SITD_ALIGN) ehci_sitd_t;
+} __aligned(EHCI_SITD_ALIGN);
+
+typedef struct ehci_sitd ehci_sitd_t;
/* Queue Element Transfer Descriptor */
-typedef struct ehci_qtd {
+struct ehci_qtd {
volatile uint32_t qtd_next;
volatile uint32_t qtd_altnext;
volatile uint32_t qtd_status;
@@ -329,10 +333,21 @@
struct usbd_page *page;
uint32_t qtd_self;
uint16_t len;
-} __aligned(EHCI_QTD_ALIGN) ehci_qtd_t;
+} __aligned(EHCI_QTD_ALIGN);
+
+typedef struct ehci_qtd ehci_qtd_t;
+
+/* Queue Head Sub Structure */
+struct ehci_qh_sub {
+ volatile uint32_t qtd_next;
+ volatile uint32_t qtd_altnext;
+ volatile uint32_t qtd_status;
+ volatile uint32_t qtd_buffer[EHCI_QTD_NBUFFERS];
+ volatile uint32_t qtd_buffer_hi[EHCI_QTD_NBUFFERS];
+} __aligned(4);
/* Queue Head */
-typedef struct ehci_qh {
+struct ehci_qh {
volatile uint32_t qh_link;
volatile uint32_t qh_endp;
#define EHCI_QH_GET_ADDR(x) (((x) >> 0) & 0x7f) /* endpoint addr */
@@ -370,13 +385,7 @@
#define EHCI_QH_GET_MULT(x) (((x) >> 30) & 0x03) /* pipe multiplier */
#define EHCI_QH_SET_MULT(x) ((x) << 30)
volatile uint32_t qh_curqtd;
- struct {
- volatile uint32_t qtd_next;
- volatile uint32_t qtd_altnext;
- volatile uint32_t qtd_status;
- volatile uint32_t qtd_buffer[EHCI_QTD_NBUFFERS];
- volatile uint32_t qtd_buffer_hi[EHCI_QTD_NBUFFERS];
- } __aligned(4) qh_qtd;
+ struct ehci_qh_sub qh_qtd;
/*
* Extra information needed:
*/
@@ -385,14 +394,17 @@
struct ehci_qh *obj_next;
struct usbd_page *page;
uint32_t qh_self;
-} __aligned(EHCI_QH_ALIGN) ehci_qh_t;
+} __aligned(EHCI_QH_ALIGN);
+
+typedef struct ehci_qh ehci_qh_t;
/* Periodic Frame Span Traversal Node */
-typedef struct {
+struct ehci_fstn {
volatile uint32_t fstn_link;
volatile uint32_t fstn_back;
-} __aligned(EHCI_FSTN_ALIGN) ehci_fstn_t;
+} __aligned(EHCI_FSTN_ALIGN);
+typedef struct ehci_fstn ehci_fstn_t;
struct ehci_hw_softc {
uint32_t pframes[EHCI_FRAMELIST_COUNT]; /* start TD pointer */
==== //depot/projects/usb/src/sys/dev/usb/if_rum.c#12 (text+ko) ====
@@ -203,10 +203,12 @@
{ USB_VENDOR_SURECOM, USB_PRODUCT_SURECOM_RT2573 }
};
-static const struct {
+struct rum_def_mac {
uint32_t reg;
uint32_t val;
-} rum_def_mac[] = {
+};
+
+static const struct rum_def_mac rum_def_mac[] = {
{ RT2573_TXRX_CSR0, 0x025fb032 },
{ RT2573_TXRX_CSR1, 0x9eaa9eaf },
{ RT2573_TXRX_CSR2, 0x8a8b8c8d },
@@ -231,10 +233,12 @@
{ RT2573_CWMAX_CSR, 0x000034aa }
};
-static const struct {
+struct rum_def_bbp {
uint8_t reg;
uint8_t val;
-} rum_def_bbp[] = {
+};
+
+static const struct rum_def_bbp rum_def_bbp[] = {
{ 3, 0x80 },
{ 15, 0x30 },
{ 17, 0x20 },
==== //depot/projects/usb/src/sys/dev/usb/if_udav.c#29 (text+ko) ====
@@ -272,10 +272,12 @@
#define UDAV_CFG_CLRBIT(sc, reg, x) \
udav_cfg_csr_write1(sc, reg, udav_cfg_csr_read1(sc, reg) & ~(x))
-static const struct udav_type {
+struct udav_type {
struct usb_devno udav_dev;
uint16_t udav_flags;
-} udav_devs [] = {
+};
+
+static const struct udav_type udav_devs [] = {
/* Corega USB-TXC */
{{ USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TXC }, 0},
#if 0
==== //depot/projects/usb/src/sys/dev/usb/if_ural.c#36 (text+ko) ====
@@ -264,10 +264,12 @@
* Default values for MAC registers; values taken from
* the reference driver:
*/
-static const struct {
+struct ural_def_mac {
uint16_t reg;
uint16_t val;
-} ural_def_mac[] = {
+};
+
+static const struct ural_def_mac ural_def_mac[] = {
{ RAL_TXRX_CSR5, 0x8c8d },
{ RAL_TXRX_CSR6, 0x8b8a },
{ RAL_TXRX_CSR7, 0x8687 },
@@ -290,10 +292,12 @@
/*
* Default values for BBP registers; values taken from the reference driver.
*/
-static const struct {
+struct ural_def_bbp {
uint8_t reg;
uint8_t val;
-} ural_def_bbp[] = {
+};
+
+static const struct ural_def_bbp ural_def_bbp[] = {
{ 3, 0x02 },
{ 4, 0x19 },
{ 14, 0x1c },
@@ -375,12 +379,14 @@
* For dual-band RF, RF registers R1 and R4 also depend on channel number;
* values taken from the reference driver.
*/
-static const struct {
+struct ural_rf5222 {
uint8_t chan;
uint32_t r1;
uint32_t r2;
uint32_t r4;
-} ural_rf5222[] = {
+};
+
+static const struct ural_rf5222 ural_rf5222[] = {
{ 1, 0x08808, 0x0044d, 0x00282 },
{ 2, 0x08808, 0x0044e, 0x00282 },
{ 3, 0x08808, 0x0044f, 0x00282 },
==== //depot/projects/usb/src/sys/dev/usb/if_zyd.c#18 (text+ko) ====
@@ -130,7 +130,7 @@
static void zyd_cfg_write16_batch(struct zyd_softc *sc, const struct zyd_adpairs16 *data, uint32_t count);
static void zyd_cfg_write32_batch(struct zyd_softc *sc, const struct zyd_adpairs32 *data, uint32_t count);
static void zyd_cfg_rfwrite(struct zyd_softc *sc, uint32_t value, uint8_t bits);
-static void zyd_cfg_stateoutput(struct zyd_softc *sc) __used;
+static void zyd_cfg_stateoutput(struct zyd_softc *sc);
static void zyd_rxframeproc(struct usbd_xfer *xfer, struct mq *mq, uint16_t offset, uint16_t len);
static uint8_t zyd_cfg_uploadfirmware(struct zyd_softc *sc);
static void zyd_cfg_lock_phy(struct zyd_softc *sc);
@@ -154,7 +154,7 @@
static uint8_t zyd_regdomain_supported(uint8_t regdomain);
static void zyd_cfg_tblreader(struct zyd_softc *sc, uint8_t *values, size_t count, uint32_t e2p_addr, uint32_t guard);
static void zyd_cfg_readcaltables(struct zyd_softc *sc);
-static uint8_t zyd_reset_channel(struct zyd_softc *sc) __used;
+static uint8_t zyd_reset_channel(struct zyd_softc *sc);
static void zyd_cfg_set_encryption_type(struct zyd_softc *sc, uint32_t type);
static void zyd_cfg_switch_radio(struct zyd_softc *sc, uint8_t onoff);
static void zyd_cfg_enable_hwint(struct zyd_softc *sc);
@@ -169,7 +169,7 @@
static uint8_t zyd_plcp_signal(uint8_t rate);
static uint16_t zyd_calc_useclen(uint8_t rate, uint16_t len, uint8_t *service);
static void zyd_setup_tx_desc(struct usbd_xfer *xfer, struct mbuf *m, uint16_t rate);
-static void zyd_cfg_dump_fw_registers(struct zyd_softc *sc) __used;
+static void zyd_cfg_dump_fw_registers(struct zyd_softc *sc);
static uint8_t zyd_tx_frame(struct usbd_xfer *xfer, struct mbuf *m0, struct ieee80211_node *ni, uint8_t rate);
static void zyd_start_transfers(struct zyd_softc *sc);
static void zyd_start_cb(struct ifnet *ifp);
==== //depot/projects/usb/src/sys/dev/usb/ohci.h#13 (text+ko) ====
@@ -159,7 +159,7 @@
#define OHCI_DONE_INTRS 1
} __aligned(OHCI_HCCA_ALIGN);
-typedef struct ohci_ed {
+struct ohci_ed {
volatile uint32_t ed_flags;
#define OHCI_ED_GET_FA(s) ((s) & 0x7f)
#define OHCI_ED_ADDRMASK 0x0000007f
@@ -191,9 +191,11 @@
struct ohci_ed *obj_next;
struct usbd_page *page;
uint32_t ed_self;
-} __aligned(OHCI_ED_ALIGN) ohci_ed_t;
+} __aligned(OHCI_ED_ALIGN);
+
+typedef struct ohci_ed ohci_ed_t;
-typedef struct ohci_td {
+struct ohci_td {
volatile uint32_t td_flags;
#define OHCI_TD_R 0x00040000 /* Buffer Rounding */
#define OHCI_TD_DP_MASK 0x00180000 /* Direction / PID */
@@ -224,9 +226,11 @@
struct usbd_page *page;
uint32_t td_self;
uint16_t len;
-} __aligned(OHCI_TD_ALIGN) ohci_td_t;
+} __aligned(OHCI_TD_ALIGN);
+
+typedef struct ohci_td ohci_td_t;
-typedef struct ohci_itd {
+struct ohci_itd {
volatile uint32_t itd_flags;
#define OHCI_ITD_GET_SF(x) ((x) & 0x0000ffff)
#define OHCI_ITD_SET_SF(x) ((x) & 0xffff)
@@ -253,7 +257,9 @@
struct usbd_page *page;
uint32_t itd_self;
uint8_t frames;
-} __aligned(OHCI_ITD_ALIGN) ohci_itd_t;
+} __aligned(OHCI_ITD_ALIGN);
+
+typedef struct ohci_itd ohci_itd_t;
#define OHCI_CC_NO_ERROR 0
#define OHCI_CC_CRC 1
==== //depot/projects/usb/src/sys/dev/usb/ubsa.c#26 (text+ko) ====
@@ -259,10 +259,12 @@
.ucom_stop_write = &ubsa_stop_write,
};
-static const struct ubsa_product {
+struct ubsa_product {
uint16_t vendor;
uint16_t product;
-} ubsa_products [] = {
+};
+
+static const struct ubsa_product ubsa_products [] = {
/* AnyData ADU-E100A/H */
{ USB_VENDOR_ANYDATA, USB_PRODUCT_ANYDATA_ADU_E100X },
/* BELKIN F5U103 */
==== //depot/projects/usb/src/sys/dev/usb/ucycom.c#20 (text+ko) ====
@@ -174,11 +174,13 @@
* Supported devices
*/
-static struct ucycom_device {
+struct ucycom_device {
uint16_t vendor;
uint16_t product;
uint32_t model;
-} ucycom_devices[] = {
+};
+
+static const struct ucycom_device ucycom_devices[] = {
{ USB_VENDOR_DELORME, USB_PRODUCT_DELORME_EARTHMATE, MODEL_CY7C64013 },
{ 0, 0, 0 },
};
@@ -190,7 +192,7 @@
ucycom_probe(device_t dev)
{
struct usb_attach_arg *uaa = device_get_ivars(dev);
- struct ucycom_device *ud;
+ const struct ucycom_device *ud;
if (uaa->iface != NULL) {
return UMATCH_NONE;
@@ -211,7 +213,7 @@
{
struct usb_attach_arg *uaa = device_get_ivars(dev);
struct ucycom_softc *sc = device_get_softc(dev);
- struct ucycom_device *ud;
+ const struct ucycom_device *ud;
struct usbd_interface *iface;
void *urd_ptr = NULL;
int32_t error;
==== //depot/projects/usb/src/sys/dev/usb/uhci.h#14 (text+ko) ====
@@ -126,7 +126,7 @@
*
*/
-typedef struct uhci_td {
+struct uhci_td {
/*
* Data used by the UHCI controller.
* volatile is used in order to mantain struct members ordering.
@@ -175,7 +175,9 @@
#define UHCI_FIX_OFFSET_NONE 0xffffffff
uint32_t fix_offset;
uint16_t len;
-} __aligned(UHCI_TD_ALIGN) uhci_td_t;
+} __aligned(UHCI_TD_ALIGN);
+
+typedef struct uhci_td uhci_td_t;
#define UHCI_TD_ERROR (UHCI_TD_BITSTUFF | UHCI_TD_CRCTO | \
UHCI_TD_BABBLE | UHCI_TD_DBUFFER | UHCI_TD_STALLED)
@@ -195,7 +197,7 @@
UHCI_TD_SET_DEVADDR(dev) | \
UHCI_TD_PID_IN | UHCI_TD_SET_DT(dt))
-typedef struct uhci_qh {
+struct uhci_qh {
/*
* Data used by the UHCI controller.
*/
@@ -211,7 +213,9 @@
struct usbd_page *page;
uint32_t qh_self;
uint16_t intr_pos;
-} __aligned(UHCI_QH_ALIGN) uhci_qh_t;
+} __aligned(UHCI_QH_ALIGN);
+
+typedef struct uhci_qh uhci_qh_t;
/* Maximum number of isochronous TD's and QH's interrupt */
#define UHCI_VFRAMELIST_COUNT 128
==== //depot/projects/usb/src/sys/dev/usb/ukbd.c#24 (text+ko) ====
@@ -109,7 +109,7 @@
#define MOD_WIN_R 0x80
uint8_t reserved;
uint8_t keycode[UKBD_NKEYCODE];
-} __attribute__((__packed__));
+} __packed;
struct ukbd_softc {
keyboard_t sc_kbd;
@@ -168,9 +168,11 @@
SCAN_PREFIX_CTL | SCAN_PREFIX_SHIFT)
#define SCAN_CHAR(c) ((c) & 0x7f)
-static const struct {
+struct ukbd_mods {
uint32_t mask, key;
-} ukbd_mods[UKBD_NMOD] = {
+};
+
+static const struct ukbd_mods ukbd_mods[UKBD_NMOD] = {
{ MOD_CONTROL_L, 0xe0 },
{ MOD_CONTROL_R, 0xe4 },
{ MOD_SHIFT_L, 0xe1 },
==== //depot/projects/usb/src/sys/dev/usb/umass.c#27 (text+ko) ====
@@ -124,7 +124,7 @@
#ifdef USB_DEBUG
#define DIF(m, x) \
do { \
- if (umass_debug & (m)) { x } \
+ if (umass_debug & (m)) { x ; } \
} while (0)
#define DPRINTF(sc, m, fmt, ...) \
@@ -1864,7 +1864,7 @@
bzero(sc->sc_transfer.cmd_data + sc->sc_transfer.cmd_len,
sizeof(sc->cbw.CBWCDB) - sc->sc_transfer.cmd_len);
- DIF(UDMASS_BBB, umass_bbb_dump_cbw(sc, &sc->cbw););
+ DIF(UDMASS_BBB, umass_bbb_dump_cbw(sc, &sc->cbw));
usbd_copy_in(&(xfer->buf_data), 0, &(sc->cbw), sizeof(sc->cbw));
@@ -2019,7 +2019,7 @@
usbd_copy_out(&(xfer->buf_data), 0, &(sc->csw), xfer->actlen);
- DIF(UDMASS_BBB, umass_bbb_dump_csw(sc, &(sc->csw)););
+ DIF(UDMASS_BBB, umass_bbb_dump_csw(sc, &(sc->csw)));
residue = UGETDW(sc->csw.dCSWDataResidue);
@@ -2371,7 +2371,7 @@
DIF(UDMASS_CBI,
umass_cbi_dump_cmd(sc,
sc->sc_transfer.cmd_data,
- sc->sc_transfer.cmd_len););
+ sc->sc_transfer.cmd_len));
usbd_start_hardware(xfer);
}
@@ -2634,15 +2634,17 @@
#if (__FreeBSD_version >= 700048)
if (xpt_bus_register(sc->sc_sim, sc->sc_dev, sc->sc_unit) != CAM_SUCCESS) {
+ mtx_unlock(&(sc->sc_mtx));
+ return ENOMEM;
+ }
#else
if (xpt_bus_register(sc->sc_sim, sc->sc_unit) != CAM_SUCCESS) {
-#endif
-
#if (__FreeBSD_version >= 700037)
mtx_unlock(&(sc->sc_mtx));
#endif
return ENOMEM;
}
+#endif
#if (__FreeBSD_version >= 700037)
mtx_unlock(&(sc->sc_mtx));
@@ -2863,15 +2865,14 @@
break;
case CAM_DIR_OUT:
dir = DIR_OUT;
+ DIF(UDMASS_SCSI,
+ umass_dump_buffer(sc, ccb->csio.data_ptr,
+ ccb->csio.dxfer_len, 48));
break;
default:
dir = DIR_NONE;
}
- DIF(UDMASS_SCSI, if (dir == DIR_OUT) {
- umass_dump_buffer(sc, ccb->csio.data_ptr,
- ccb->csio.dxfer_len, 48); });
-
ccb->ccb_h.status = CAM_REQ_INPROG | CAM_SIM_QUEUED;
/* sc->sc_transform will convert the command to the command
==== //depot/projects/usb/src/sys/dev/usb/umct.c#20 (text+ko) ====
@@ -205,10 +205,12 @@
.ucom_stop_write = &umct_stop_write,
};
-static const struct umct_product {
+struct umct_product {
uint16_t vendor;
uint16_t product;
-} umct_products[] = {
+};
+
+static const struct umct_product umct_products[] = {
{ USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232 },
{ USB_VENDOR_MCT, USB_PRODUCT_MCT_SITECOM_USB232 },
{ USB_VENDOR_MCT, USB_PRODUCT_MCT_DU_H3SP_USB232 },
==== //depot/projects/usb/src/sys/dev/usb/umodem.c#29 (text+ko) ====
@@ -107,11 +107,13 @@
#define DPRINTF(...)
#endif
-static const struct umodem_product {
+struct umodem_product {
uint16_t vendor;
uint16_t product;
uint8_t interface;
-} umodem_products[] = {
+};
+
+static const struct umodem_product umodem_products[] = {
/* Kyocera AH-K3001V*/
{ USB_VENDOR_KYOCERA, USB_PRODUCT_KYOCERA_AHK3001V, 0 },
{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC5720, 0 },
==== //depot/projects/usb/src/sys/dev/usb/uplcom.c#27 (text+ko) ====
@@ -269,7 +269,7 @@
.ucom_stop_write = &uplcom_stop_write,
};
-static const struct uplcom_product {
+struct uplcom_product {
uint16_t vendor;
uint16_t product;
uint16_t release; /* the highest release value accepted,
@@ -277,7 +277,9 @@
* wins
*/
uint8_t chiptype;
-} uplcom_products [] = {
+};
+
+static const struct uplcom_product uplcom_products [] = {
/* I/O DATA USB-RSAQ */
{ USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBRSAQ, 0xFFFF, TYPE_PL2303 },
/* I/O DATA USB-RSAQ2 */
==== //depot/projects/usb/src/sys/dev/usb/usb_quirks.c#13 (text+ko) ====
@@ -51,12 +51,14 @@
#define ANY 0xffff
-static const struct usbd_quirk_entry {
+struct usbd_quirk_entry {
uint16_t idVendor;
uint16_t idProduct;
uint16_t bcdDevice;
struct usbd_quirks quirks;
-} usb_quirks[] = {
+};
+
+static const struct usbd_quirk_entry usb_quirks[] = {
{ USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4,
0x094, { UQ_SWAP_UNICODE}},
{ USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502, 0x0a2, { UQ_BAD_ADC }},
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#36 (text+ko) ====
@@ -221,7 +221,7 @@
return (USBD_NORMAL_COMPLETION);
}
-static const struct usbd_std_packet_size {
+struct usbd_std_packet_size {
struct {
uint16_t min; /* inclusive */
uint16_t max; /* inclusive */
@@ -229,7 +229,10 @@
uint16_t fixed[4];
-} usbd_std_packet_size[4][USB_SPEED_MAX] = {
+};
+
+static const struct usbd_std_packet_size
+usbd_std_packet_size[4][USB_SPEED_MAX] = {
[UE_INTERRUPT] = {
[USB_SPEED_LOW] = { .range = { 0, 8 } },
==== //depot/projects/usb/src/sys/sys/videokern.h#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/*
+/*-
* Video for Linux v2.0 kernel interface definition file
*
* Copyright (C) 1999-2007 the contributors
@@ -289,7 +289,7 @@
#ifdef CONFIG_VIDEO_ADV_DEBUG
int32_t (*vidioc_g_register)
(v4l2_file_t *file, void *fh, struct v4l2_register *reg);
- int32_t (*vidioc_s_register)'
+ int32_t (*vidioc_s_register)
(v4l2_file_t *file, void *fh, struct v4l2_register *reg);
#endif
More information about the p4-projects
mailing list