Lines Matching refs:cbaf
104 struct cbaf { struct
132 static int cbaf_check(struct cbaf *cbaf) in cbaf_check() argument
135 struct device *dev = &cbaf->usb_iface->dev; in cbaf_check()
143 cbaf->usb_dev, usb_rcvctrlpipe(cbaf->usb_dev, 0), in cbaf_check()
146 0, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_check()
147 cbaf->buffer, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); in cbaf_check()
154 assoc_info = cbaf->buffer; in cbaf_check()
174 itr = cbaf->buffer + sizeof(*assoc_info); in cbaf_check()
175 top = cbaf->buffer + assoc_size; in cbaf_check()
247 static int cbaf_send_host_info(struct cbaf *cbaf) in cbaf_send_host_info() argument
253 hi = cbaf->buffer; in cbaf_send_host_info()
256 hi->CHID = cbaf->chid; in cbaf_send_host_info()
258 strlcpy(hi->HostFriendlyName, cbaf->host_name, CBA_NAME_LEN); in cbaf_send_host_info()
259 name_len = strlen(cbaf->host_name); in cbaf_send_host_info()
263 return usb_control_msg(cbaf->usb_dev, in cbaf_send_host_info()
264 usb_sndctrlpipe(cbaf->usb_dev, 0), in cbaf_send_host_info()
268 cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_send_host_info()
279 static int cbaf_cdid_get(struct cbaf *cbaf) in cbaf_cdid_get() argument
282 struct device *dev = &cbaf->usb_iface->dev; in cbaf_cdid_get()
286 di = cbaf->buffer; in cbaf_cdid_get()
288 cbaf->usb_dev, usb_rcvctrlpipe(cbaf->usb_dev, 0), in cbaf_cdid_get()
291 0x0200, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_cdid_get()
292 di, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); in cbaf_cdid_get()
306 strlcpy(cbaf->device_name, di->DeviceFriendlyName, CBA_NAME_LEN); in cbaf_cdid_get()
307 cbaf->cdid = di->CDID; in cbaf_cdid_get()
308 cbaf->device_band_groups = le16_to_cpu(di->BandGroups); in cbaf_cdid_get()
318 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_chid_show() local
321 ckhdid_printf(pr_chid, sizeof(pr_chid), &cbaf->chid); in cbaf_wusb_chid_show()
331 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_chid_store() local
338 &cbaf->chid.data[0] , &cbaf->chid.data[1], in cbaf_wusb_chid_store()
339 &cbaf->chid.data[2] , &cbaf->chid.data[3], in cbaf_wusb_chid_store()
340 &cbaf->chid.data[4] , &cbaf->chid.data[5], in cbaf_wusb_chid_store()
341 &cbaf->chid.data[6] , &cbaf->chid.data[7], in cbaf_wusb_chid_store()
342 &cbaf->chid.data[8] , &cbaf->chid.data[9], in cbaf_wusb_chid_store()
343 &cbaf->chid.data[10], &cbaf->chid.data[11], in cbaf_wusb_chid_store()
344 &cbaf->chid.data[12], &cbaf->chid.data[13], in cbaf_wusb_chid_store()
345 &cbaf->chid.data[14], &cbaf->chid.data[15]); in cbaf_wusb_chid_store()
350 result = cbaf_send_host_info(cbaf); in cbaf_wusb_chid_store()
353 result = cbaf_cdid_get(cbaf); in cbaf_wusb_chid_store()
365 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_name_show() local
367 return scnprintf(buf, PAGE_SIZE, "%s\n", cbaf->host_name); in cbaf_wusb_host_name_show()
376 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_name_store() local
378 result = sscanf(buf, "%63s", cbaf->host_name); in cbaf_wusb_host_name_store()
392 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_band_groups_show() local
394 return scnprintf(buf, PAGE_SIZE, "0x%04x\n", cbaf->host_band_groups); in cbaf_wusb_host_band_groups_show()
403 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_band_groups_store() local
410 cbaf->host_band_groups = band_groups; in cbaf_wusb_host_band_groups_store()
431 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_cdid_show() local
434 ckhdid_printf(pr_cdid, sizeof(pr_cdid), &cbaf->cdid); in cbaf_wusb_cdid_show()
444 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_cdid_store() local
463 cbaf->cdid = cdid; in cbaf_wusb_cdid_store()
474 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_device_band_groups_show() local
476 return scnprintf(buf, PAGE_SIZE, "0x%04x\n", cbaf->device_band_groups); in cbaf_wusb_device_band_groups_show()
488 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_device_name_show() local
490 return scnprintf(buf, PAGE_SIZE, "%s\n", cbaf->device_name); in cbaf_wusb_device_name_show()
515 static int cbaf_cc_upload(struct cbaf *cbaf) in cbaf_cc_upload() argument
518 struct device *dev = &cbaf->usb_iface->dev; in cbaf_cc_upload()
522 ccd = cbaf->buffer; in cbaf_cc_upload()
524 ccd->CHID = cbaf->chid; in cbaf_cc_upload()
525 ccd->CDID = cbaf->cdid; in cbaf_cc_upload()
526 ccd->CK = cbaf->ck; in cbaf_cc_upload()
527 ccd->BandGroups = cpu_to_le16(cbaf->host_band_groups); in cbaf_cc_upload()
534 dev_dbg(dev, " Bandgroups 0x%04x\n", cbaf->host_band_groups); in cbaf_cc_upload()
537 cbaf->usb_dev, usb_sndctrlpipe(cbaf->usb_dev, 0), in cbaf_cc_upload()
540 0x0201, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_cc_upload()
552 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_ck_store() local
559 &cbaf->ck.data[0] , &cbaf->ck.data[1], in cbaf_wusb_ck_store()
560 &cbaf->ck.data[2] , &cbaf->ck.data[3], in cbaf_wusb_ck_store()
561 &cbaf->ck.data[4] , &cbaf->ck.data[5], in cbaf_wusb_ck_store()
562 &cbaf->ck.data[6] , &cbaf->ck.data[7], in cbaf_wusb_ck_store()
563 &cbaf->ck.data[8] , &cbaf->ck.data[9], in cbaf_wusb_ck_store()
564 &cbaf->ck.data[10], &cbaf->ck.data[11], in cbaf_wusb_ck_store()
565 &cbaf->ck.data[12], &cbaf->ck.data[13], in cbaf_wusb_ck_store()
566 &cbaf->ck.data[14], &cbaf->ck.data[15]); in cbaf_wusb_ck_store()
570 result = cbaf_cc_upload(cbaf); in cbaf_wusb_ck_store()
597 struct cbaf *cbaf; in cbaf_probe() local
601 cbaf = kzalloc(sizeof(*cbaf), GFP_KERNEL); in cbaf_probe()
602 if (cbaf == NULL) in cbaf_probe()
604 cbaf->buffer = kmalloc(512, GFP_KERNEL); in cbaf_probe()
605 if (cbaf->buffer == NULL) in cbaf_probe()
608 cbaf->buffer_size = 512; in cbaf_probe()
609 cbaf->usb_dev = usb_get_dev(interface_to_usbdev(iface)); in cbaf_probe()
610 cbaf->usb_iface = usb_get_intf(iface); in cbaf_probe()
611 result = cbaf_check(cbaf); in cbaf_probe()
623 usb_set_intfdata(iface, cbaf); in cbaf_probe()
629 usb_put_dev(cbaf->usb_dev); in cbaf_probe()
630 kfree(cbaf->buffer); in cbaf_probe()
632 kfree(cbaf); in cbaf_probe()
639 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_disconnect() local
644 usb_put_dev(cbaf->usb_dev); in cbaf_disconnect()
645 kfree(cbaf->buffer); in cbaf_disconnect()
647 kzfree(cbaf); in cbaf_disconnect()