Lines Matching defs:lldev
130 struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev);
132 if (!IS_ERR(lldev->ext_clk))
133 clk_prepare_enable(lldev->ext_clk);
165 struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev);
167 gpiod_set_value_cansleep(lldev->enable_gpio, 0);
169 clk_disable_unprepare(lldev->ext_clk);
486 static int send_command_from_firmware(struct ll_device *lldev,
495 bt_dev_warn(lldev->hu.hdev,
500 bt_dev_dbg(lldev->hu.hdev, "command type %d", cmd->prefix);
502 skb = __hci_cmd_sync(lldev->hu.hdev, cmd->opcode, cmd->plen,
505 bt_dev_err(lldev->hu.hdev, "send command failed");
517 static int download_firmware(struct ll_device *lldev)
526 version = read_local_version(lldev->hu.hdev);
540 err = request_firmware(&fw, bts_scr_name, &lldev->serdev->dev);
542 bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s",
555 bt_dev_dbg(lldev->hu.hdev, " action size %d, type %d ",
563 bt_dev_dbg(lldev->hu.hdev, "S");
565 err = send_command_from_firmware(lldev, cmd);
571 bt_dev_dbg(lldev->hu.hdev, "W");
574 bt_dev_info(lldev->hu.hdev, "sleep command in scr");
611 struct ll_device *lldev;
618 lldev = serdev_device_get_drvdata(serdev);
626 gpiod_set_value_cansleep(lldev->enable_gpio, 0);
628 gpiod_set_value_cansleep(lldev->enable_gpio, 1);
636 err = download_firmware(lldev);
648 if (!bacmp(&lldev->bdaddr, BDADDR_NONE)) {
653 } else if (bacmp(&lldev->bdaddr, BDADDR_ANY)) {
654 err = ll_set_bdaddr(hu->hdev, &lldev->bdaddr);
688 struct ll_device *lldev;
692 lldev = devm_kzalloc(&serdev->dev, sizeof(struct ll_device), GFP_KERNEL);
693 if (!lldev)
695 hu = &lldev->hu;
697 serdev_device_set_drvdata(serdev, lldev);
698 lldev->serdev = hu->serdev = serdev;
700 lldev->enable_gpio = devm_gpiod_get_optional(&serdev->dev,
703 if (IS_ERR(lldev->enable_gpio))
704 return PTR_ERR(lldev->enable_gpio);
706 lldev->ext_clk = devm_clk_get(&serdev->dev, "ext_clock");
707 if (IS_ERR(lldev->ext_clk) && PTR_ERR(lldev->ext_clk) != -ENOENT)
708 return PTR_ERR(lldev->ext_clk);
733 bacpy(&lldev->bdaddr, BDADDR_NONE);
755 baswap(&lldev->bdaddr, bdaddr);
764 struct ll_device *lldev = serdev_device_get_drvdata(serdev);
766 hci_uart_unregister_device(&lldev->hu);