
Simple USB data transfer

send_cmd() continued:
        retval = usb_control_msg(gdev->udev,
                                 usb_sndctrlpipe(gdev->udev, 0),
                                 0x09,    /* bRequest = SET_REPORT */
                                 0x21,    /* bRequestType = 00100001 */
                                 0x0200,  /* or is it 0x0002? */
                                 0x0000,  /* interface 0 */
                                 pkt, sizeof(*pkt), 10000);
        if (retval == sizeof(*pkt))
                retval = 0;
        kfree(pkt);
        return retval;
}

static void init_dev(struct gotemp *gdev)
{
        /* First send an init message */
        send_cmd(gdev, CMD_ID_INIT);

        /* Start sending measurements */
        send_cmd(gdev, CMD_ID_START_MEASUREMENTS);
}

