Lines Matching refs:ctrl

163 	int (*non_data_cmd)(struct spmi_controller *ctrl, u8 opc, u8 sid);
214 static int pmic_arb_wait_for_done(struct spmi_controller *ctrl, in pmic_arb_wait_for_done() argument
217 struct spmi_pmic_arb_dev *dev = spmi_controller_get_drvdata(ctrl); in pmic_arb_wait_for_done()
227 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
234 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
241 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
252 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
259 pmic_arb_non_data_cmd_v1(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_non_data_cmd_v1() argument
261 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_non_data_cmd_v1()
271 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->wr_base, sid, 0); in pmic_arb_non_data_cmd_v1()
278 pmic_arb_non_data_cmd_v2(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_non_data_cmd_v2() argument
284 static int pmic_arb_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_cmd() argument
286 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_cmd()
288 dev_dbg(&ctrl->dev, "cmd op:0x%x sid:%d\n", opc, sid); in pmic_arb_cmd()
294 return pmic_arb->ver_ops->non_data_cmd(ctrl, opc, sid); in pmic_arb_cmd()
297 static int pmic_arb_read_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid, in pmic_arb_read_cmd() argument
300 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_read_cmd()
308 dev_err(&ctrl->dev, in pmic_arb_read_cmd()
328 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->rd_base, sid, addr); in pmic_arb_read_cmd()
344 static int pmic_arb_write_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid, in pmic_arb_write_cmd() argument
347 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_write_cmd()
355 dev_err(&ctrl->dev, in pmic_arb_write_cmd()
385 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->wr_base, sid, addr); in pmic_arb_write_cmd()
784 struct spmi_controller *ctrl; in spmi_pmic_arb_probe() local
791 ctrl = spmi_controller_alloc(&pdev->dev, sizeof(*pa)); in spmi_pmic_arb_probe()
792 if (!ctrl) in spmi_pmic_arb_probe()
795 pa = spmi_controller_get_drvdata(ctrl); in spmi_pmic_arb_probe()
796 pa->spmic = ctrl; in spmi_pmic_arb_probe()
799 core = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
808 dev_info(&ctrl->dev, "PMIC Arb Version-%d (0x%x)\n", (is_v1 ? 1 : 2), in spmi_pmic_arb_probe()
824 pa->rd_base = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
832 pa->wr_base = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
838 pa->ppid_to_chan = devm_kzalloc(&ctrl->dev, in spmi_pmic_arb_probe()
859 pa->intr = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
866 pa->cnfg = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
915 platform_set_drvdata(pdev, ctrl); in spmi_pmic_arb_probe()
918 ctrl->cmd = pmic_arb_cmd; in spmi_pmic_arb_probe()
919 ctrl->read_cmd = pmic_arb_read_cmd; in spmi_pmic_arb_probe()
920 ctrl->write_cmd = pmic_arb_write_cmd; in spmi_pmic_arb_probe()
934 err = spmi_controller_add(ctrl); in spmi_pmic_arb_probe()
945 spmi_controller_put(ctrl); in spmi_pmic_arb_probe()
951 struct spmi_controller *ctrl = platform_get_drvdata(pdev); in spmi_pmic_arb_remove() local
952 struct spmi_pmic_arb_dev *pa = spmi_controller_get_drvdata(ctrl); in spmi_pmic_arb_remove()
953 spmi_controller_remove(ctrl); in spmi_pmic_arb_remove()
957 spmi_controller_put(ctrl); in spmi_pmic_arb_remove()