| /linux/drivers/firmware/ |
| H A D | ti_sci.c | 242 struct ti_sci_xfer *xfer; in ti_sci_rx_callback() local 256 xfer = &minfo->xfer_block[xfer_id]; in ti_sci_rx_callback() 265 if (mbox_msg->len < xfer->rx_len) { in ti_sci_rx_callback() 267 mbox_msg->len, xfer->rx_len); in ti_sci_rx_callback() 274 memcpy(xfer->xfer_buf, mbox_msg->buf, xfer->rx_len); in ti_sci_rx_callback() 275 complete(&xfer->done); in ti_sci_rx_callback() 301 struct ti_sci_xfer *xfer; in ti_sci_get_one_xfer() local 341 xfer = &minfo->xfer_block[xfer_id]; in ti_sci_get_one_xfer() 343 hdr = (struct ti_sci_msg_hdr *)xfer->tx_message.buf; in ti_sci_get_one_xfer() 344 xfer->tx_message.len = tx_message_size; in ti_sci_get_one_xfer() [all …]
|
| /linux/drivers/firmware/arm_scmi/ |
| H A D | msg.c | 33 static size_t msg_command_size(struct scmi_xfer *xfer) in msg_command_size() argument 35 return sizeof(struct scmi_msg_payld) + xfer->tx.len; in msg_command_size() 45 static size_t msg_response_size(struct scmi_xfer *xfer) in msg_response_size() argument 47 return sizeof(struct scmi_msg_payld) + sizeof(__le32) + xfer->rx.len; in msg_response_size() 56 static void msg_tx_prepare(struct scmi_msg_payld *msg, struct scmi_xfer *xfer) in msg_tx_prepare() argument 58 msg->msg_header = cpu_to_le32(pack_scmi_header(&xfer->hdr)); in msg_tx_prepare() 59 if (xfer->tx.buf) in msg_tx_prepare() 60 memcpy(msg->msg_payload, xfer->tx.buf, xfer->tx.len); in msg_tx_prepare() 83 size_t len, struct scmi_xfer *xfer) in msg_fetch_response() argument 87 xfer->hdr.status = le32_to_cpu(msg->msg_payload[0]); in msg_fetch_response() [all …]
|
| H A D | driver.c | 520 struct scmi_xfer *xfer) in scmi_xfer_token_set() argument 532 next_token = (xfer->transfer_id & (MSG_TOKEN_MAX - 1)); in scmi_xfer_token_set() 558 xfer->hdr.seq = (u16)xfer_id; in scmi_xfer_token_set() 570 struct scmi_xfer *xfer) in scmi_xfer_token_clear() argument 572 clear_bit(xfer->hdr.seq, minfo->xfer_alloc_table); in scmi_xfer_token_clear() 588 scmi_xfer_inflight_register_unlocked(struct scmi_xfer *xfer, in scmi_xfer_inflight_register_unlocked() argument 595 set_bit(xfer->hdr.seq, minfo->xfer_alloc_table); in scmi_xfer_inflight_register_unlocked() 596 hash_add(minfo->pending_xfers, &xfer->node, xfer->hdr.seq); in scmi_xfer_inflight_register_unlocked() 599 xfer->pending = true; in scmi_xfer_inflight_register_unlocked() 616 static int scmi_xfer_inflight_register(struct scmi_xfer *xfer, in scmi_xfer_inflight_register() argument [all …]
|
| H A D | raw_mode.c | 206 struct scmi_xfer *xfer; member 336 scmi_xfer_raw_waiter_get(struct scmi_raw_mode_info *raw, struct scmi_xfer *xfer, in scmi_xfer_raw_waiter_get() argument 349 xfer->async_done = &rw->async_response; in scmi_xfer_raw_waiter_get() 353 rw->xfer = xfer; in scmi_xfer_raw_waiter_get() 363 if (rw->xfer) { in scmi_xfer_raw_waiter_put() 364 rw->xfer->async_done = NULL; in scmi_xfer_raw_waiter_put() 365 rw->xfer = NULL; in scmi_xfer_raw_waiter_put() 379 trace_scmi_xfer_response_wait(rw->xfer->transfer_id, rw->xfer->hdr.id, in scmi_xfer_raw_waiter_enqueue() 380 rw->xfer->hdr.protocol_id, in scmi_xfer_raw_waiter_enqueue() 381 rw->xfer->hdr.seq, in scmi_xfer_raw_waiter_enqueue() [all …]
|
| H A D | shmem.c | 89 struct scmi_xfer *xfer, in shmem_tx_prepare() argument 123 iowrite32(xfer->hdr.poll_completion ? 0 : SCMI_SHMEM_FLAG_INTR_ENABLED, in shmem_tx_prepare() 125 iowrite32(sizeof(shmem->msg_header) + xfer->tx.len, &shmem->length); in shmem_tx_prepare() 126 iowrite32(pack_scmi_header(&xfer->hdr), &shmem->msg_header); in shmem_tx_prepare() 127 if (xfer->tx.buf) in shmem_tx_prepare() 128 copy_toio(shmem->msg_payload, xfer->tx.buf, xfer->tx.len); in shmem_tx_prepare() 137 struct scmi_xfer *xfer, in shmem_fetch_response() argument 142 xfer->hdr.status = ioread32(shmem->msg_payload); in shmem_fetch_response() 144 xfer->rx.len = min_t(size_t, xfer->rx.len, len > 8 ? len - 8 : 0); in shmem_fetch_response() 147 copy_fromio(xfer->rx.buf, shmem->msg_payload + 4, xfer->rx.len); in shmem_fetch_response() [all …]
|
| /linux/drivers/dma/dw-edma/ |
| H A D | dw-edma-core.c | 351 dw_edma_device_transfer(struct dw_edma_transfer *xfer) in dw_edma_device_transfer() argument 353 struct dw_edma_chan *chan = dchan2dw_edma_chan(xfer->dchan); in dw_edma_device_transfer() 354 enum dma_transfer_direction dir = xfer->direction; in dw_edma_device_transfer() 403 if (xfer->type == EDMA_XFER_CYCLIC) { in dw_edma_device_transfer() 404 if (!xfer->xfer.cyclic.len || !xfer->xfer.cyclic.cnt) in dw_edma_device_transfer() 406 } else if (xfer->type == EDMA_XFER_SCATTER_GATHER) { in dw_edma_device_transfer() 407 if (xfer->xfer.sg.len < 1) in dw_edma_device_transfer() 409 } else if (xfer->type == EDMA_XFER_INTERLEAVED) { in dw_edma_device_transfer() 410 if (!xfer->xfer.il->numf || xfer->xfer.il->frame_size < 1) in dw_edma_device_transfer() 412 if (!xfer->xfer.il->src_inc || !xfer->xfer.il->dst_inc) in dw_edma_device_transfer() [all …]
|
| /linux/include/trace/events/ |
| H A D | spi.h | 174 #define spi_valid_txbuf(msg, xfer) \ argument 175 (xfer->tx_buf && xfer->tx_buf != msg->spi->controller->dummy_tx) 176 #define spi_valid_rxbuf(msg, xfer) \ argument 177 (xfer->rx_buf && xfer->rx_buf != msg->spi->controller->dummy_rx) 181 TP_PROTO(struct spi_message *msg, struct spi_transfer *xfer), 183 TP_ARGS(msg, xfer), 188 __field( struct spi_transfer *, xfer ) 191 spi_valid_rxbuf(msg, xfer) ? 192 (xfer->len < 64 ? xfer->len : 64) : 0) 194 spi_valid_txbuf(msg, xfer) ? [all …]
|
| /linux/drivers/iio/imu/ |
| H A D | adis_buffer.c | 36 adis->xfer = kcalloc(2, sizeof(*adis->xfer), GFP_KERNEL); in adis_update_scan_mode_burst() 37 if (!adis->xfer) in adis_update_scan_mode_burst() 42 kfree(adis->xfer); in adis_update_scan_mode_burst() 43 adis->xfer = NULL; in adis_update_scan_mode_burst() 51 adis->xfer[0].tx_buf = tx; in adis_update_scan_mode_burst() 52 adis->xfer[0].len = 2; in adis_update_scan_mode_burst() 54 adis->xfer[0].speed_hz = adis->data->burst_max_speed_hz; in adis_update_scan_mode_burst() 55 adis->xfer[1].rx_buf = adis->buffer; in adis_update_scan_mode_burst() 56 adis->xfer[1].len = burst_length; in adis_update_scan_mode_burst() 58 adis->xfer[1].speed_hz = adis->data->burst_max_speed_hz; in adis_update_scan_mode_burst() [all …]
|
| /linux/drivers/net/ethernet/micrel/ |
| H A D | ks8851_spi.c | 118 struct spi_transfer *xfer = &kss->spi_xfer1; in ks8851_wrreg16_spi() local 126 xfer->tx_buf = txb; in ks8851_wrreg16_spi() 127 xfer->rx_buf = NULL; in ks8851_wrreg16_spi() 128 xfer->len = 4; in ks8851_wrreg16_spi() 149 struct spi_transfer *xfer; in ks8851_rdreg() local 159 xfer = kss->spi_xfer2; in ks8851_rdreg() 161 xfer->tx_buf = txb; in ks8851_rdreg() 162 xfer->rx_buf = NULL; in ks8851_rdreg() 163 xfer->len = 2; in ks8851_rdreg() 165 xfer++; in ks8851_rdreg() [all …]
|
| /linux/drivers/i2c/busses/ |
| H A D | i2c-rtl9300.c | 203 static int rtl9300_i2c_prepare_xfer(struct rtl9300_i2c *i2c, struct rtl9300_i2c_xfer *xfer) in rtl9300_i2c_prepare_xfer() argument 207 if (xfer->data_len < 1 || xfer->data_len > 16) in rtl9300_i2c_prepare_xfer() 210 ret = regmap_field_write(i2c->fields[F_DEV_ADDR], xfer->dev_addr); in rtl9300_i2c_prepare_xfer() 214 ret = rtl9300_i2c_reg_addr_set(i2c, xfer->reg_addr, xfer->reg_addr_len); in rtl9300_i2c_prepare_xfer() 218 ret = regmap_field_write(i2c->fields[F_RWOP], xfer->write); in rtl9300_i2c_prepare_xfer() 222 ret = regmap_field_write(i2c->fields[F_DATA_WIDTH], (xfer->data_len - 1) & 0xf); in rtl9300_i2c_prepare_xfer() 226 if (xfer->write) { in rtl9300_i2c_prepare_xfer() 227 switch (xfer->type) { in rtl9300_i2c_prepare_xfer() 229 ret = rtl9300_i2c_writel(i2c, *xfer->data); in rtl9300_i2c_prepare_xfer() 232 ret = rtl9300_i2c_writel(i2c, get_unaligned((const u16 *)xfer->data)); in rtl9300_i2c_prepare_xfer() [all …]
|
| H A D | i2c-cgbc.c | 179 static unsigned int cgbc_i2c_xfer_to_cmd(struct cgbc_i2c_transfer xfer, u8 *cmd) in cgbc_i2c_xfer_to_cmd() argument 183 cmd[i++] = CGBC_I2C_CMD_START | xfer.bus_id; in cgbc_i2c_xfer_to_cmd() 185 cmd[i] = (xfer.start) ? CGBC_I2C_START : 0x00; in cgbc_i2c_xfer_to_cmd() 186 if (xfer.stop) in cgbc_i2c_xfer_to_cmd() 188 cmd[i++] |= (xfer.start) ? xfer.write + 1 : xfer.write; in cgbc_i2c_xfer_to_cmd() 190 cmd[i++] = (xfer.last_ack) ? (xfer.read | CGBC_I2C_LAST_ACK) : xfer.read; in cgbc_i2c_xfer_to_cmd() 192 if (xfer.start) in cgbc_i2c_xfer_to_cmd() 193 cmd[i++] = xfer.addr; in cgbc_i2c_xfer_to_cmd() 195 if (xfer.write > 0) in cgbc_i2c_xfer_to_cmd() 196 memcpy(&cmd[i], &xfer.data, xfer.write); in cgbc_i2c_xfer_to_cmd() [all …]
|
| /linux/drivers/staging/greybus/ |
| H A D | spilib.c | 151 static struct spi_transfer *get_next_xfer(struct spi_transfer *xfer, in get_next_xfer() argument 154 if (xfer == list_last_entry(&msg->transfers, struct spi_transfer, in get_next_xfer() 158 return list_next_entry(xfer, transfer_list); in get_next_xfer() 167 struct spi_transfer *xfer; in gb_spi_operation_create() local 178 xfer = spi->first_xfer; in gb_spi_operation_create() 184 spi->last_xfer = xfer; in gb_spi_operation_create() 186 if (!xfer->tx_buf && !xfer->rx_buf) { in gb_spi_operation_create() 188 "bufferless transfer, length %u\n", xfer->len); in gb_spi_operation_create() 196 if (xfer->tx_buf) { in gb_spi_operation_create() 197 len = xfer->len - spi->tx_xfer_offset; in gb_spi_operation_create() [all …]
|
| /linux/drivers/firmware/samsung/ |
| H A D | exynos-acpm-dvfs.c | 23 static void acpm_dvfs_set_xfer(struct acpm_xfer *xfer, u32 *cmd, size_t cmdlen, in acpm_dvfs_set_xfer() argument 26 xfer->acpm_chan_id = acpm_chan_id; in acpm_dvfs_set_xfer() 27 xfer->txd = cmd; in acpm_dvfs_set_xfer() 28 xfer->txlen = cmdlen; in acpm_dvfs_set_xfer() 31 xfer->rxd = cmd; in acpm_dvfs_set_xfer() 32 xfer->rxlen = cmdlen; in acpm_dvfs_set_xfer() 49 struct acpm_xfer xfer = {0}; in acpm_dvfs_set_rate() local 53 acpm_dvfs_set_xfer(&xfer, cmd, sizeof(cmd), acpm_chan_id, false); in acpm_dvfs_set_rate() 55 return acpm_do_xfer(handle, &xfer); in acpm_dvfs_set_rate() 68 struct acpm_xfer xfer; in acpm_dvfs_get_rate() local [all …]
|
| /linux/drivers/spi/ |
| H A D | spi.c | 315 struct spi_transfer *xfer, in spi_statistics_add_transfer_stats() argument 318 int l2len = min(fls(xfer->len), SPI_STATISTICS_HISTO_SIZE) - 1; in spi_statistics_add_transfer_stats() 331 u64_stats_add(&stats->bytes, xfer->len); in spi_statistics_add_transfer_stats() 332 if (spi_valid_txbuf(msg, xfer)) in spi_statistics_add_transfer_stats() 333 u64_stats_add(&stats->bytes_tx, xfer->len); in spi_statistics_add_transfer_stats() 334 if (spi_valid_rxbuf(msg, xfer)) in spi_statistics_add_transfer_stats() 335 u64_stats_add(&stats->bytes_rx, xfer->len); in spi_statistics_add_transfer_stats() 1225 struct spi_transfer *xfer; in __spi_map_msg() local 1246 list_for_each_entry(xfer, &msg->transfers, transfer_list) { in __spi_map_msg() 1250 if (!ctlr->can_dma(ctlr, msg->spi, xfer)) in __spi_map_msg() [all …]
|
| H A D | spi-slave-mt27xx.c | 164 struct spi_transfer *xfer) in mtk_spi_slave_fifo_transfer() argument 172 if (xfer->rx_buf) in mtk_spi_slave_fifo_transfer() 174 if (xfer->tx_buf) in mtk_spi_slave_fifo_transfer() 178 cnt = xfer->len / 4; in mtk_spi_slave_fifo_transfer() 179 if (xfer->tx_buf) in mtk_spi_slave_fifo_transfer() 181 xfer->tx_buf, cnt); in mtk_spi_slave_fifo_transfer() 183 remainder = xfer->len % 4; in mtk_spi_slave_fifo_transfer() 184 if (xfer->tx_buf && remainder > 0) { in mtk_spi_slave_fifo_transfer() 186 memcpy(®_val, xfer->tx_buf + cnt * 4, remainder); in mtk_spi_slave_fifo_transfer() 201 struct spi_transfer *xfer) in mtk_spi_slave_dma_transfer() argument [all …]
|
| H A D | spi-rockchip.c | 198 struct spi_transfer *xfer; /* Store xfer temporarily */ member 384 struct spi_transfer *xfer) in rockchip_spi_prepare_irq() argument 386 rs->tx = xfer->tx_buf; in rockchip_spi_prepare_irq() 387 rs->rx = xfer->rx_buf; in rockchip_spi_prepare_irq() 388 rs->tx_left = rs->tx ? xfer->len / rs->n_bytes : 0; in rockchip_spi_prepare_irq() 389 rs->rx_left = xfer->len / rs->n_bytes; in rockchip_spi_prepare_irq() 453 struct spi_controller *ctlr, struct spi_transfer *xfer) in rockchip_spi_prepare_dma() argument 459 rs->tx = xfer->tx_buf; in rockchip_spi_prepare_dma() 460 rs->rx = xfer->rx_buf; in rockchip_spi_prepare_dma() 463 if (xfer->rx_buf) { in rockchip_spi_prepare_dma() [all …]
|
| H A D | spi-rspi.c | 244 struct spi_device *spi, struct spi_transfer *xfer); 681 const struct spi_transfer *xfer) in __rspi_can_dma() argument 683 return xfer->len > rspi->ops->fifo_size; in __rspi_can_dma() 687 struct spi_transfer *xfer) in rspi_can_dma() argument 691 return __rspi_can_dma(rspi, xfer); in rspi_can_dma() 695 struct spi_transfer *xfer) in rspi_dma_check_then_transfer() argument 697 if (!rspi->ctlr->can_dma || !__rspi_can_dma(rspi, xfer)) in rspi_dma_check_then_transfer() 701 return rspi_dma_transfer(rspi, &xfer->tx_sg, in rspi_dma_check_then_transfer() 702 xfer->rx_buf ? &xfer->rx_sg : NULL); in rspi_dma_check_then_transfer() 706 struct spi_transfer *xfer) in rspi_common_transfer() argument [all …]
|
| /linux/drivers/input/touchscreen/ |
| H A D | ad7877.c | 147 struct spi_transfer xfer[6]; member 177 struct spi_transfer xfer[AD7877_NR_SENSE + 2]; member 212 req->xfer[0].tx_buf = &req->command; in ad7877_read() 213 req->xfer[0].len = 2; in ad7877_read() 214 req->xfer[0].cs_change = 1; in ad7877_read() 216 req->xfer[1].rx_buf = &req->sample; in ad7877_read() 217 req->xfer[1].len = 2; in ad7877_read() 219 spi_message_add_tail(&req->xfer[0], &req->msg); in ad7877_read() 220 spi_message_add_tail(&req->xfer[1], &req->msg); in ad7877_read() 242 req->xfer[0].tx_buf = &req->command; in ad7877_write() [all …]
|
| H A D | cyttsp_spi.c | 40 struct spi_transfer xfer[2]; in cyttsp_spi_xfer() local 62 memset(xfer, 0, sizeof(xfer)); in cyttsp_spi_xfer() 69 xfer[0].tx_buf = wr_buf; in cyttsp_spi_xfer() 70 xfer[0].rx_buf = rd_buf; in cyttsp_spi_xfer() 73 xfer[0].len = length + CY_SPI_CMD_BYTES; in cyttsp_spi_xfer() 74 spi_message_add_tail(&xfer[0], &msg); in cyttsp_spi_xfer() 78 xfer[0].len = CY_SPI_CMD_BYTES; in cyttsp_spi_xfer() 79 spi_message_add_tail(&xfer[0], &msg); in cyttsp_spi_xfer() 81 xfer[1].rx_buf = buf; in cyttsp_spi_xfer() 82 xfer[1].len = length; in cyttsp_spi_xfer() [all …]
|
| /linux/drivers/i3c/master/ |
| H A D | renesas-i3c.c | 341 struct renesas_i3c_xfer *xfer; in renesas_i3c_alloc_xfer() local 343 xfer = kzalloc(struct_size(xfer, cmds, ncmds), GFP_KERNEL); in renesas_i3c_alloc_xfer() 344 if (!xfer) in renesas_i3c_alloc_xfer() 347 INIT_LIST_HEAD(&xfer->node); in renesas_i3c_alloc_xfer() 348 xfer->ncmds = ncmds; in renesas_i3c_alloc_xfer() 349 xfer->ret = -ETIMEDOUT; in renesas_i3c_alloc_xfer() 351 return xfer; in renesas_i3c_alloc_xfer() 356 struct renesas_i3c_xfer *xfer = i3c->xferqueue.cur; in renesas_i3c_start_xfer_locked() local 360 if (!xfer) in renesas_i3c_start_xfer_locked() 363 cmd = xfer->cmds; in renesas_i3c_start_xfer_locked() [all …]
|
| H A D | adi-i3c-master.c | 188 struct adi_i3c_xfer *xfer; in adi_i3c_master_alloc_xfer() local 190 xfer = kzalloc(struct_size(xfer, cmds, ncmds), GFP_KERNEL); in adi_i3c_master_alloc_xfer() 191 if (!xfer) in adi_i3c_master_alloc_xfer() 194 INIT_LIST_HEAD(&xfer->node); in adi_i3c_master_alloc_xfer() 195 xfer->ncmds = ncmds; in adi_i3c_master_alloc_xfer() 196 xfer->ret = -ETIMEDOUT; in adi_i3c_master_alloc_xfer() 198 return xfer; in adi_i3c_master_alloc_xfer() 203 struct adi_i3c_xfer *xfer = master->xferqueue.cur; in adi_i3c_master_start_xfer_locked() local 206 if (!xfer) in adi_i3c_master_start_xfer_locked() 209 for (i = 0; i < xfer->ncmds; i++) { in adi_i3c_master_start_xfer_locked() [all …]
|
| H A D | dw-i3c-master.c | 363 struct dw_i3c_xfer *xfer; in dw_i3c_master_alloc_xfer() local 365 xfer = kzalloc(struct_size(xfer, cmds, ncmds), GFP_KERNEL); in dw_i3c_master_alloc_xfer() 366 if (!xfer) in dw_i3c_master_alloc_xfer() 369 INIT_LIST_HEAD(&xfer->node); in dw_i3c_master_alloc_xfer() 370 xfer->ncmds = ncmds; in dw_i3c_master_alloc_xfer() 371 xfer->ret = -ETIMEDOUT; in dw_i3c_master_alloc_xfer() 373 return xfer; in dw_i3c_master_alloc_xfer() 376 static void dw_i3c_master_free_xfer(struct dw_i3c_xfer *xfer) in dw_i3c_master_free_xfer() argument 378 kfree(xfer); in dw_i3c_master_free_xfer() 383 struct dw_i3c_xfer *xfer = master->xferqueue.cur; in dw_i3c_master_start_xfer_locked() local [all …]
|
| /linux/drivers/i3c/master/mipi-i3c-hci/ |
| H A D | core.c | 188 struct hci_xfer *xfer; in i3c_hci_send_ccc_cmd() local 198 xfer = hci_alloc_xfer(nxfers); in i3c_hci_send_ccc_cmd() 199 if (!xfer) in i3c_hci_send_ccc_cmd() 203 xfer->data = NULL; in i3c_hci_send_ccc_cmd() 204 xfer->data_len = 0; in i3c_hci_send_ccc_cmd() 205 xfer->rnw = false; in i3c_hci_send_ccc_cmd() 206 hci->cmd->prep_ccc(hci, xfer, I3C_BROADCAST_ADDR, in i3c_hci_send_ccc_cmd() 208 xfer++; in i3c_hci_send_ccc_cmd() 212 xfer[i].data = ccc->dests[i].payload.data; in i3c_hci_send_ccc_cmd() 213 xfer[i].data_len = ccc->dests[i].payload.len; in i3c_hci_send_ccc_cmd() [all …]
|
| /linux/drivers/net/ethernet/asix/ |
| H A D | ax88796c_spi.c | 48 struct spi_transfer *xfer = ax_spi->spi_rx_xfer; in axspi_read_rxq() local 53 xfer->tx_buf = ax_spi->cmd_buf; in axspi_read_rxq() 54 xfer->rx_buf = NULL; in axspi_read_rxq() 55 xfer->len = ax_spi->comp ? 2 : 5; in axspi_read_rxq() 56 xfer->bits_per_word = 8; in axspi_read_rxq() 57 spi_message_add_tail(xfer, &ax_spi->rx_msg); in axspi_read_rxq() 59 xfer++; in axspi_read_rxq() 60 xfer->rx_buf = data; in axspi_read_rxq() 61 xfer->tx_buf = NULL; in axspi_read_rxq() 62 xfer->len = len; in axspi_read_rxq() [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | rl6347a.c | 62 struct i2c_msg xfer[2]; in rl6347a_hw_read() local 83 xfer[0].addr = client->addr; in rl6347a_hw_read() 84 xfer[0].flags = 0; in rl6347a_hw_read() 85 xfer[0].len = 4; in rl6347a_hw_read() 86 xfer[0].buf = (u8 *)&be_reg; in rl6347a_hw_read() 89 xfer[1].addr = client->addr; in rl6347a_hw_read() 90 xfer[1].flags = I2C_M_RD; in rl6347a_hw_read() 91 xfer[1].len = 4; in rl6347a_hw_read() 92 xfer[1].buf = (u8 *)&buf; in rl6347a_hw_read() 94 ret = i2c_transfer(client->adapter, xfer, 2); in rl6347a_hw_read()
|