Lines Matching refs:cbaf
90 struct cbaf { struct
118 static int cbaf_check(struct cbaf *cbaf) in cbaf_check() argument
121 struct device *dev = &cbaf->usb_iface->dev; in cbaf_check()
129 cbaf->usb_dev, usb_rcvctrlpipe(cbaf->usb_dev, 0), in cbaf_check()
132 0, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_check()
133 cbaf->buffer, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); in cbaf_check()
140 assoc_info = cbaf->buffer; in cbaf_check()
160 itr = cbaf->buffer + sizeof(*assoc_info); in cbaf_check()
161 top = cbaf->buffer + assoc_size; in cbaf_check()
233 static int cbaf_send_host_info(struct cbaf *cbaf) in cbaf_send_host_info() argument
239 hi = cbaf->buffer; in cbaf_send_host_info()
242 hi->CHID = cbaf->chid; in cbaf_send_host_info()
244 strlcpy(hi->HostFriendlyName, cbaf->host_name, CBA_NAME_LEN); in cbaf_send_host_info()
245 name_len = strlen(cbaf->host_name); in cbaf_send_host_info()
249 return usb_control_msg(cbaf->usb_dev, in cbaf_send_host_info()
250 usb_sndctrlpipe(cbaf->usb_dev, 0), in cbaf_send_host_info()
254 cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_send_host_info()
265 static int cbaf_cdid_get(struct cbaf *cbaf) in cbaf_cdid_get() argument
268 struct device *dev = &cbaf->usb_iface->dev; in cbaf_cdid_get()
272 di = cbaf->buffer; in cbaf_cdid_get()
274 cbaf->usb_dev, usb_rcvctrlpipe(cbaf->usb_dev, 0), in cbaf_cdid_get()
277 0x0200, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_cdid_get()
278 di, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT); in cbaf_cdid_get()
292 strlcpy(cbaf->device_name, di->DeviceFriendlyName, CBA_NAME_LEN); in cbaf_cdid_get()
293 cbaf->cdid = di->CDID; in cbaf_cdid_get()
294 cbaf->device_band_groups = le16_to_cpu(di->BandGroups); in cbaf_cdid_get()
304 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_chid_show() local
307 ckhdid_printf(pr_chid, sizeof(pr_chid), &cbaf->chid); in cbaf_wusb_chid_show()
317 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_chid_store() local
324 &cbaf->chid.data[0] , &cbaf->chid.data[1], in cbaf_wusb_chid_store()
325 &cbaf->chid.data[2] , &cbaf->chid.data[3], in cbaf_wusb_chid_store()
326 &cbaf->chid.data[4] , &cbaf->chid.data[5], in cbaf_wusb_chid_store()
327 &cbaf->chid.data[6] , &cbaf->chid.data[7], in cbaf_wusb_chid_store()
328 &cbaf->chid.data[8] , &cbaf->chid.data[9], in cbaf_wusb_chid_store()
329 &cbaf->chid.data[10], &cbaf->chid.data[11], in cbaf_wusb_chid_store()
330 &cbaf->chid.data[12], &cbaf->chid.data[13], in cbaf_wusb_chid_store()
331 &cbaf->chid.data[14], &cbaf->chid.data[15]); in cbaf_wusb_chid_store()
336 result = cbaf_send_host_info(cbaf); in cbaf_wusb_chid_store()
339 result = cbaf_cdid_get(cbaf); in cbaf_wusb_chid_store()
351 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_name_show() local
353 return scnprintf(buf, PAGE_SIZE, "%s\n", cbaf->host_name); in cbaf_wusb_host_name_show()
362 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_name_store() local
364 result = sscanf(buf, "%63s", cbaf->host_name); in cbaf_wusb_host_name_store()
378 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_band_groups_show() local
380 return scnprintf(buf, PAGE_SIZE, "0x%04x\n", cbaf->host_band_groups); in cbaf_wusb_host_band_groups_show()
389 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_host_band_groups_store() local
396 cbaf->host_band_groups = band_groups; in cbaf_wusb_host_band_groups_store()
417 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_cdid_show() local
420 ckhdid_printf(pr_cdid, sizeof(pr_cdid), &cbaf->cdid); in cbaf_wusb_cdid_show()
430 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_cdid_store() local
449 cbaf->cdid = cdid; in cbaf_wusb_cdid_store()
460 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_device_band_groups_show() local
462 return scnprintf(buf, PAGE_SIZE, "0x%04x\n", cbaf->device_band_groups); in cbaf_wusb_device_band_groups_show()
474 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_device_name_show() local
476 return scnprintf(buf, PAGE_SIZE, "%s\n", cbaf->device_name); in cbaf_wusb_device_name_show()
501 static int cbaf_cc_upload(struct cbaf *cbaf) in cbaf_cc_upload() argument
504 struct device *dev = &cbaf->usb_iface->dev; in cbaf_cc_upload()
508 ccd = cbaf->buffer; in cbaf_cc_upload()
510 ccd->CHID = cbaf->chid; in cbaf_cc_upload()
511 ccd->CDID = cbaf->cdid; in cbaf_cc_upload()
512 ccd->CK = cbaf->ck; in cbaf_cc_upload()
513 ccd->BandGroups = cpu_to_le16(cbaf->host_band_groups); in cbaf_cc_upload()
520 dev_dbg(dev, " Bandgroups 0x%04x\n", cbaf->host_band_groups); in cbaf_cc_upload()
523 cbaf->usb_dev, usb_sndctrlpipe(cbaf->usb_dev, 0), in cbaf_cc_upload()
526 0x0201, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, in cbaf_cc_upload()
538 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_wusb_ck_store() local
545 &cbaf->ck.data[0] , &cbaf->ck.data[1], in cbaf_wusb_ck_store()
546 &cbaf->ck.data[2] , &cbaf->ck.data[3], in cbaf_wusb_ck_store()
547 &cbaf->ck.data[4] , &cbaf->ck.data[5], in cbaf_wusb_ck_store()
548 &cbaf->ck.data[6] , &cbaf->ck.data[7], in cbaf_wusb_ck_store()
549 &cbaf->ck.data[8] , &cbaf->ck.data[9], in cbaf_wusb_ck_store()
550 &cbaf->ck.data[10], &cbaf->ck.data[11], in cbaf_wusb_ck_store()
551 &cbaf->ck.data[12], &cbaf->ck.data[13], in cbaf_wusb_ck_store()
552 &cbaf->ck.data[14], &cbaf->ck.data[15]); in cbaf_wusb_ck_store()
556 result = cbaf_cc_upload(cbaf); in cbaf_wusb_ck_store()
583 struct cbaf *cbaf; in cbaf_probe() local
587 cbaf = kzalloc(sizeof(*cbaf), GFP_KERNEL); in cbaf_probe()
588 if (cbaf == NULL) in cbaf_probe()
590 cbaf->buffer = kmalloc(512, GFP_KERNEL); in cbaf_probe()
591 if (cbaf->buffer == NULL) in cbaf_probe()
594 cbaf->buffer_size = 512; in cbaf_probe()
595 cbaf->usb_dev = usb_get_dev(interface_to_usbdev(iface)); in cbaf_probe()
596 cbaf->usb_iface = usb_get_intf(iface); in cbaf_probe()
597 result = cbaf_check(cbaf); in cbaf_probe()
608 usb_set_intfdata(iface, cbaf); in cbaf_probe()
614 usb_put_dev(cbaf->usb_dev); in cbaf_probe()
615 kfree(cbaf->buffer); in cbaf_probe()
617 kfree(cbaf); in cbaf_probe()
624 struct cbaf *cbaf = usb_get_intfdata(iface); in cbaf_disconnect() local
629 usb_put_dev(cbaf->usb_dev); in cbaf_disconnect()
630 kfree(cbaf->buffer); in cbaf_disconnect()
632 kzfree(cbaf); in cbaf_disconnect()