Lines Matching refs:ljca_spi
80 static int ljca_spi_read_write(struct ljca_spi_dev *ljca_spi, const u8 *w_data, in ljca_spi_read_write() argument
85 (struct ljca_spi_xfer_packet *)ljca_spi->obuf; in ljca_spi_read_write()
87 (struct ljca_spi_xfer_packet *)ljca_spi->ibuf; in ljca_spi_read_write()
93 ljca_spi->spi_info->id); in ljca_spi_read_write()
103 ret = ljca_transfer(ljca_spi->ljca, cmd, (u8 *)w_packet, in ljca_spi_read_write()
117 static int ljca_spi_init(struct ljca_spi_dev *ljca_spi, u8 div, u8 mode) in ljca_spi_init() argument
122 if (ljca_spi->mode == mode && ljca_spi->speed == div) in ljca_spi_init()
125 w_packet.index = ljca_spi->spi_info->id; in ljca_spi_init()
134 ret = ljca_transfer(ljca_spi->ljca, LJCA_SPI_INIT, (u8 *)&w_packet, in ljca_spi_init()
139 ljca_spi->mode = mode; in ljca_spi_init()
140 ljca_spi->speed = div; in ljca_spi_init()
145 static int ljca_spi_deinit(struct ljca_spi_dev *ljca_spi) in ljca_spi_deinit() argument
150 w_packet.index = ljca_spi->spi_info->id; in ljca_spi_deinit()
152 ret = ljca_transfer(ljca_spi->ljca, LJCA_SPI_DEINIT, (u8 *)&w_packet, in ljca_spi_deinit()
158 static inline int ljca_spi_transfer(struct ljca_spi_dev *ljca_spi, in ljca_spi_transfer() argument
179 ret = ljca_spi_read_write(ljca_spi, in ljca_spi_transfer()
198 struct ljca_spi_dev *ljca_spi = spi_controller_get_devdata(controller); in ljca_spi_transfer_one() local
203 ret = ljca_spi_init(ljca_spi, div, spi->mode); in ljca_spi_transfer_one()
205 dev_err(&ljca_spi->ljca->auxdev.dev, in ljca_spi_transfer_one()
210 ret = ljca_spi_transfer(ljca_spi, xfer->tx_buf, xfer->rx_buf, xfer->len); in ljca_spi_transfer_one()
212 dev_err(&ljca_spi->ljca->auxdev.dev, in ljca_spi_transfer_one()
223 struct ljca_spi_dev *ljca_spi; in ljca_spi_probe() local
226 controller = devm_spi_alloc_host(&auxdev->dev, sizeof(*ljca_spi)); in ljca_spi_probe()
230 ljca_spi = spi_controller_get_devdata(controller); in ljca_spi_probe()
231 ljca_spi->ljca = ljca; in ljca_spi_probe()
232 ljca_spi->spi_info = dev_get_platdata(&auxdev->dev); in ljca_spi_probe()
233 ljca_spi->controller = controller; in ljca_spi_probe()
241 device_set_node(&ljca_spi->controller->dev, dev_fwnode(&auxdev->dev)); in ljca_spi_probe()
254 struct ljca_spi_dev *ljca_spi = spi_controller_get_devdata(controller); in ljca_spi_dev_remove() local
257 ljca_spi_deinit(ljca_spi); in ljca_spi_dev_remove()