Lines Matching refs:ctrl

163 	int (*non_data_cmd)(struct spmi_controller *ctrl, u8 opc, u8 sid);
209 static int pmic_arb_wait_for_done(struct spmi_controller *ctrl, in pmic_arb_wait_for_done() argument
212 struct spmi_pmic_arb_dev *dev = spmi_controller_get_drvdata(ctrl); in pmic_arb_wait_for_done()
222 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
229 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
236 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
247 dev_err(&ctrl->dev, in pmic_arb_wait_for_done()
254 pmic_arb_non_data_cmd_v1(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_non_data_cmd_v1() argument
256 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_non_data_cmd_v1()
266 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->wr_base, sid, 0); in pmic_arb_non_data_cmd_v1()
273 pmic_arb_non_data_cmd_v2(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_non_data_cmd_v2() argument
279 static int pmic_arb_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid) in pmic_arb_cmd() argument
281 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_cmd()
283 dev_dbg(&ctrl->dev, "cmd op:0x%x sid:%d\n", opc, sid); in pmic_arb_cmd()
289 return pmic_arb->ver_ops->non_data_cmd(ctrl, opc, sid); in pmic_arb_cmd()
292 static int pmic_arb_read_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid, in pmic_arb_read_cmd() argument
295 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_read_cmd()
303 dev_err(&ctrl->dev, in pmic_arb_read_cmd()
323 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->rd_base, sid, addr); in pmic_arb_read_cmd()
339 static int pmic_arb_write_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid, in pmic_arb_write_cmd() argument
342 struct spmi_pmic_arb_dev *pmic_arb = spmi_controller_get_drvdata(ctrl); in pmic_arb_write_cmd()
350 dev_err(&ctrl->dev, in pmic_arb_write_cmd()
380 rc = pmic_arb_wait_for_done(ctrl, pmic_arb->wr_base, sid, addr); in pmic_arb_write_cmd()
796 struct spmi_controller *ctrl; in spmi_pmic_arb_probe() local
803 ctrl = spmi_controller_alloc(&pdev->dev, sizeof(*pa)); in spmi_pmic_arb_probe()
804 if (!ctrl) in spmi_pmic_arb_probe()
807 pa = spmi_controller_get_drvdata(ctrl); in spmi_pmic_arb_probe()
808 pa->spmic = ctrl; in spmi_pmic_arb_probe()
811 core = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
820 dev_info(&ctrl->dev, "PMIC Arb Version-%d (0x%x)\n", (is_v1 ? 1 : 2), in spmi_pmic_arb_probe()
836 pa->rd_base = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
844 pa->wr_base = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
850 pa->ppid_to_chan = devm_kzalloc(&ctrl->dev, in spmi_pmic_arb_probe()
871 pa->intr = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
878 pa->cnfg = devm_ioremap_resource(&ctrl->dev, res); in spmi_pmic_arb_probe()
927 platform_set_drvdata(pdev, ctrl); in spmi_pmic_arb_probe()
930 ctrl->cmd = pmic_arb_cmd; in spmi_pmic_arb_probe()
931 ctrl->read_cmd = pmic_arb_read_cmd; in spmi_pmic_arb_probe()
932 ctrl->write_cmd = pmic_arb_write_cmd; in spmi_pmic_arb_probe()
945 err = spmi_controller_add(ctrl); in spmi_pmic_arb_probe()
955 spmi_controller_put(ctrl); in spmi_pmic_arb_probe()
961 struct spmi_controller *ctrl = platform_get_drvdata(pdev); in spmi_pmic_arb_remove() local
962 struct spmi_pmic_arb_dev *pa = spmi_controller_get_drvdata(ctrl); in spmi_pmic_arb_remove()
963 spmi_controller_remove(ctrl); in spmi_pmic_arb_remove()
966 spmi_controller_put(ctrl); in spmi_pmic_arb_remove()