Lines Matching refs:ctrl
289 static int pmif_arb_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid)
291 struct pmif *arb = spmi_controller_get_drvdata(ctrl);
306 dev_err(&ctrl->dev, "timeout, err = %d\n", ret);
311 static int pmif_spmi_read_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid,
314 struct pmif *arb = spmi_controller_get_drvdata(ctrl);
322 dev_err(&ctrl->dev, "exceed the max slv id\n");
327 dev_err(&ctrl->dev, "pmif supports 1..4 bytes per trans, but:%zu requested", len);
350 dev_err(&ctrl->dev, "failed to wait for SWINF_IDLE\n");
367 dev_err(&ctrl->dev, "failed to wait for SWINF_WFVLDCLR\n");
378 static int pmif_spmi_write_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid,
381 struct pmif *arb = spmi_controller_get_drvdata(ctrl);
388 dev_err(&ctrl->dev, "pmif supports 1..4 bytes per trans, but:%zu requested", len);
417 dev_err(&ctrl->dev, "failed to wait for SWINF_IDLE\n");
446 struct spmi_controller *ctrl;
450 ctrl = spmi_controller_alloc(&pdev->dev, sizeof(*arb));
451 if (!ctrl)
454 arb = spmi_controller_get_drvdata(ctrl);
490 ctrl->cmd = pmif_arb_cmd;
491 ctrl->read_cmd = pmif_spmi_read_cmd;
492 ctrl->write_cmd = pmif_spmi_write_cmd;
503 platform_set_drvdata(pdev, ctrl);
505 err = spmi_controller_add(ctrl);
516 spmi_controller_put(ctrl);
522 struct spmi_controller *ctrl = platform_get_drvdata(pdev);
523 struct pmif *arb = spmi_controller_get_drvdata(ctrl);
527 spmi_controller_remove(ctrl);
528 spmi_controller_put(ctrl);