Lines Matching refs:spmi_controller

75 	struct spmi_controller	*controller;
111 static int spmi_read_cmd(struct spmi_controller *ctrl, in spmi_read_cmd()
114 struct spmi_controller_dev *spmi_controller = dev_get_drvdata(&ctrl->dev); in spmi_read_cmd() local
115 u32 chnl_ofst = SPMI_CHANNEL_OFFSET * spmi_controller->channel; in spmi_read_cmd()
150 spin_lock_irqsave(&spmi_controller->lock, flags); in spmi_read_cmd()
152 writel(cmd, spmi_controller->base + chnl_ofst + SPMI_APB_SPMI_CMD_BASE_ADDR); in spmi_read_cmd()
154 rc = spmi_controller_wait_for_done(&ctrl->dev, spmi_controller, in spmi_read_cmd()
155 spmi_controller->base, slave_id, slave_addr); in spmi_read_cmd()
160 data = readl(spmi_controller->base + chnl_ofst + in spmi_read_cmd()
175 spin_unlock_irqrestore(&spmi_controller->lock, flags); in spmi_read_cmd()
187 static int spmi_write_cmd(struct spmi_controller *ctrl, in spmi_write_cmd()
190 struct spmi_controller_dev *spmi_controller = dev_get_drvdata(&ctrl->dev); in spmi_write_cmd() local
191 u32 chnl_ofst = SPMI_CHANNEL_OFFSET * spmi_controller->channel; in spmi_write_cmd()
227 spin_lock_irqsave(&spmi_controller->lock, flags); in spmi_write_cmd()
240 spmi_controller->base + chnl_ofst + in spmi_write_cmd()
246 writel(cmd, spmi_controller->base + chnl_ofst + SPMI_APB_SPMI_CMD_BASE_ADDR); in spmi_write_cmd()
248 rc = spmi_controller_wait_for_done(&ctrl->dev, spmi_controller, in spmi_write_cmd()
249 spmi_controller->base, slave_id, in spmi_write_cmd()
251 spin_unlock_irqrestore(&spmi_controller->lock, flags); in spmi_write_cmd()
265 struct spmi_controller_dev *spmi_controller; in spmi_controller_probe() local
266 struct spmi_controller *ctrl; in spmi_controller_probe()
270 ctrl = spmi_controller_alloc(&pdev->dev, sizeof(*spmi_controller)); in spmi_controller_probe()
275 spmi_controller = spmi_controller_get_drvdata(ctrl); in spmi_controller_probe()
276 spmi_controller->controller = ctrl; in spmi_controller_probe()
285 spmi_controller->base = devm_ioremap(&pdev->dev, iores->start, in spmi_controller_probe()
287 if (!spmi_controller->base) { in spmi_controller_probe()
294 &spmi_controller->channel); in spmi_controller_probe()
301 platform_set_drvdata(pdev, spmi_controller); in spmi_controller_probe()
302 dev_set_drvdata(&ctrl->dev, spmi_controller); in spmi_controller_probe()
304 spin_lock_init(&spmi_controller->lock); in spmi_controller_probe()
306 ctrl->nr = spmi_controller->channel; in spmi_controller_probe()
329 struct spmi_controller *ctrl = platform_get_drvdata(pdev); in spmi_del_controller()