Lines Matching refs:dev
131 struct device *dev; member
151 static unsigned at91_twi_read(struct at91_twi_dev *dev, unsigned reg) in at91_twi_read() argument
153 return readl_relaxed(dev->base + reg); in at91_twi_read()
156 static void at91_twi_write(struct at91_twi_dev *dev, unsigned reg, unsigned val) in at91_twi_write() argument
158 writel_relaxed(val, dev->base + reg); in at91_twi_write()
161 static void at91_disable_twi_interrupts(struct at91_twi_dev *dev) in at91_disable_twi_interrupts() argument
163 at91_twi_write(dev, AT91_TWI_IDR, AT91_TWI_INT_MASK); in at91_disable_twi_interrupts()
166 static void at91_twi_irq_save(struct at91_twi_dev *dev) in at91_twi_irq_save() argument
168 dev->imr = at91_twi_read(dev, AT91_TWI_IMR) & AT91_TWI_INT_MASK; in at91_twi_irq_save()
169 at91_disable_twi_interrupts(dev); in at91_twi_irq_save()
172 static void at91_twi_irq_restore(struct at91_twi_dev *dev) in at91_twi_irq_restore() argument
174 at91_twi_write(dev, AT91_TWI_IER, dev->imr); in at91_twi_irq_restore()
177 static void at91_init_twi_bus(struct at91_twi_dev *dev) in at91_init_twi_bus() argument
179 at91_disable_twi_interrupts(dev); in at91_init_twi_bus()
180 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_SWRST); in at91_init_twi_bus()
182 if (dev->fifo_size) in at91_init_twi_bus()
183 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_FIFOEN); in at91_init_twi_bus()
184 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_MSEN); in at91_init_twi_bus()
185 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_SVDIS); in at91_init_twi_bus()
186 at91_twi_write(dev, AT91_TWI_CWGR, dev->twi_cwgr_reg); in at91_init_twi_bus()
193 static void at91_calc_twi_clock(struct at91_twi_dev *dev, int twi_clk) in at91_calc_twi_clock() argument
196 struct at91_twi_pdata *pdata = dev->pdata; in at91_calc_twi_clock()
201 div = max(0, (int)DIV_ROUND_UP(clk_get_rate(dev->clk), in at91_calc_twi_clock()
207 dev_warn(dev->dev, "%d exceeds ckdiv max value which is %d.\n", in at91_calc_twi_clock()
214 of_property_read_u32(dev->dev->of_node, "i2c-sda-hold-time-ns", in at91_calc_twi_clock()
223 * (clk_get_rate(dev->clk) / 1000), 1000000); in at91_calc_twi_clock()
228 dev_warn(dev->dev, in at91_calc_twi_clock()
235 dev->twi_cwgr_reg = (ckdiv << 16) | (cdiv << 8) | cdiv in at91_calc_twi_clock()
238 dev_dbg(dev->dev, "cdiv %d ckdiv %d hold %d (%d ns)\n", in at91_calc_twi_clock()
242 static void at91_twi_dma_cleanup(struct at91_twi_dev *dev) in at91_twi_dma_cleanup() argument
244 struct at91_twi_dma *dma = &dev->dma; in at91_twi_dma_cleanup()
246 at91_twi_irq_save(dev); in at91_twi_dma_cleanup()
256 dma_unmap_single(dev->dev, sg_dma_address(&dma->sg[0]), in at91_twi_dma_cleanup()
257 dev->buf_len, dma->direction); in at91_twi_dma_cleanup()
261 at91_twi_irq_restore(dev); in at91_twi_dma_cleanup()
264 static void at91_twi_write_next_byte(struct at91_twi_dev *dev) in at91_twi_write_next_byte() argument
266 if (!dev->buf_len) in at91_twi_write_next_byte()
270 writeb_relaxed(*dev->buf, dev->base + AT91_TWI_THR); in at91_twi_write_next_byte()
273 if (--dev->buf_len == 0) in at91_twi_write_next_byte()
274 if (!dev->use_alt_cmd) in at91_twi_write_next_byte()
275 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_STOP); in at91_twi_write_next_byte()
277 dev_dbg(dev->dev, "wrote 0x%x, to go %zu\n", *dev->buf, dev->buf_len); in at91_twi_write_next_byte()
279 ++dev->buf; in at91_twi_write_next_byte()
284 struct at91_twi_dev *dev = (struct at91_twi_dev *)data; in at91_twi_write_data_dma_callback() local
286 dma_unmap_single(dev->dev, sg_dma_address(&dev->dma.sg[0]), in at91_twi_write_data_dma_callback()
287 dev->buf_len, DMA_TO_DEVICE); in at91_twi_write_data_dma_callback()
296 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_TXCOMP); in at91_twi_write_data_dma_callback()
297 if (!dev->use_alt_cmd) in at91_twi_write_data_dma_callback()
298 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_STOP); in at91_twi_write_data_dma_callback()
301 static void at91_twi_write_data_dma(struct at91_twi_dev *dev) in at91_twi_write_data_dma() argument
305 struct at91_twi_dma *dma = &dev->dma; in at91_twi_write_data_dma()
309 if (!dev->buf_len) in at91_twi_write_data_dma()
314 at91_twi_irq_save(dev); in at91_twi_write_data_dma()
315 dma_addr = dma_map_single(dev->dev, dev->buf, dev->buf_len, in at91_twi_write_data_dma()
317 if (dma_mapping_error(dev->dev, dma_addr)) { in at91_twi_write_data_dma()
318 dev_err(dev->dev, "dma map failed\n"); in at91_twi_write_data_dma()
322 at91_twi_irq_restore(dev); in at91_twi_write_data_dma()
324 if (dev->fifo_size) { in at91_twi_write_data_dma()
331 part1_len = dev->buf_len & ~0x3; in at91_twi_write_data_dma()
338 part2_len = dev->buf_len & 0x3; in at91_twi_write_data_dma()
349 fifo_mr = at91_twi_read(dev, AT91_TWI_FMR); in at91_twi_write_data_dma()
352 at91_twi_write(dev, AT91_TWI_FMR, fifo_mr); in at91_twi_write_data_dma()
354 sg_dma_len(&dma->sg[0]) = dev->buf_len; in at91_twi_write_data_dma()
362 dev_err(dev->dev, "dma prep slave sg failed\n"); in at91_twi_write_data_dma()
367 txdesc->callback_param = dev; in at91_twi_write_data_dma()
376 at91_twi_dma_cleanup(dev); in at91_twi_write_data_dma()
379 static void at91_twi_read_next_byte(struct at91_twi_dev *dev) in at91_twi_read_next_byte() argument
385 if (!dev->buf_len) { in at91_twi_read_next_byte()
386 at91_twi_read(dev, AT91_TWI_RHR); in at91_twi_read_next_byte()
391 *dev->buf = readb_relaxed(dev->base + AT91_TWI_RHR); in at91_twi_read_next_byte()
392 --dev->buf_len; in at91_twi_read_next_byte()
395 if (dev->recv_len_abort) in at91_twi_read_next_byte()
399 if (unlikely(dev->msg->flags & I2C_M_RECV_LEN)) { in at91_twi_read_next_byte()
401 if (*dev->buf <= I2C_SMBUS_BLOCK_MAX && *dev->buf > 0) { in at91_twi_read_next_byte()
402 dev->msg->flags &= ~I2C_M_RECV_LEN; in at91_twi_read_next_byte()
403 dev->buf_len += *dev->buf; in at91_twi_read_next_byte()
404 dev->msg->len = dev->buf_len + 1; in at91_twi_read_next_byte()
405 dev_dbg(dev->dev, "received block length %zu\n", in at91_twi_read_next_byte()
406 dev->buf_len); in at91_twi_read_next_byte()
409 dev->recv_len_abort = true; in at91_twi_read_next_byte()
410 dev->buf_len = 1; in at91_twi_read_next_byte()
415 if (!dev->use_alt_cmd && dev->buf_len == 1) in at91_twi_read_next_byte()
416 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_STOP); in at91_twi_read_next_byte()
418 dev_dbg(dev->dev, "read 0x%x, to go %zu\n", *dev->buf, dev->buf_len); in at91_twi_read_next_byte()
420 ++dev->buf; in at91_twi_read_next_byte()
425 struct at91_twi_dev *dev = (struct at91_twi_dev *)data; in at91_twi_read_data_dma_callback() local
428 dma_unmap_single(dev->dev, sg_dma_address(&dev->dma.sg[0]), in at91_twi_read_data_dma_callback()
429 dev->buf_len, DMA_FROM_DEVICE); in at91_twi_read_data_dma_callback()
431 if (!dev->use_alt_cmd) { in at91_twi_read_data_dma_callback()
433 dev->buf += dev->buf_len - 2; in at91_twi_read_data_dma_callback()
434 dev->buf_len = 2; in at91_twi_read_data_dma_callback()
437 at91_twi_write(dev, AT91_TWI_IER, ier); in at91_twi_read_data_dma_callback()
440 static void at91_twi_read_data_dma(struct at91_twi_dev *dev) in at91_twi_read_data_dma() argument
444 struct at91_twi_dma *dma = &dev->dma; in at91_twi_read_data_dma()
448 buf_len = (dev->use_alt_cmd) ? dev->buf_len : dev->buf_len - 2; in at91_twi_read_data_dma()
452 at91_twi_irq_save(dev); in at91_twi_read_data_dma()
453 dma_addr = dma_map_single(dev->dev, dev->buf, buf_len, DMA_FROM_DEVICE); in at91_twi_read_data_dma()
454 if (dma_mapping_error(dev->dev, dma_addr)) { in at91_twi_read_data_dma()
455 dev_err(dev->dev, "dma map failed\n"); in at91_twi_read_data_dma()
459 at91_twi_irq_restore(dev); in at91_twi_read_data_dma()
461 if (dev->fifo_size && IS_ALIGNED(buf_len, 4)) { in at91_twi_read_data_dma()
468 fifo_mr = at91_twi_read(dev, AT91_TWI_FMR); in at91_twi_read_data_dma()
471 at91_twi_write(dev, AT91_TWI_FMR, fifo_mr); in at91_twi_read_data_dma()
480 dev_err(dev->dev, "dma prep slave sg failed\n"); in at91_twi_read_data_dma()
485 rxdesc->callback_param = dev; in at91_twi_read_data_dma()
494 at91_twi_dma_cleanup(dev); in at91_twi_read_data_dma()
499 struct at91_twi_dev *dev = dev_id; in atmel_twi_interrupt() local
500 const unsigned status = at91_twi_read(dev, AT91_TWI_SR); in atmel_twi_interrupt()
501 const unsigned irqstatus = status & at91_twi_read(dev, AT91_TWI_IMR); in atmel_twi_interrupt()
528 at91_twi_read_next_byte(dev); in atmel_twi_interrupt()
529 } while (at91_twi_read(dev, AT91_TWI_SR) & AT91_TWI_RXRDY); in atmel_twi_interrupt()
571 at91_disable_twi_interrupts(dev); in atmel_twi_interrupt()
572 complete(&dev->cmd_complete); in atmel_twi_interrupt()
574 at91_twi_write_next_byte(dev); in atmel_twi_interrupt()
578 dev->transfer_status |= status; in atmel_twi_interrupt()
583 static int at91_do_twi_transfer(struct at91_twi_dev *dev) in at91_do_twi_transfer() argument
587 bool has_unre_flag = dev->pdata->has_unre_flag; in at91_do_twi_transfer()
588 bool has_alt_cmd = dev->pdata->has_alt_cmd; in at91_do_twi_transfer()
633 dev_dbg(dev->dev, "transfer: %s %zu bytes.\n", in at91_do_twi_transfer()
634 (dev->msg->flags & I2C_M_RD) ? "read" : "write", dev->buf_len); in at91_do_twi_transfer()
636 reinit_completion(&dev->cmd_complete); in at91_do_twi_transfer()
637 dev->transfer_status = 0; in at91_do_twi_transfer()
640 at91_twi_read(dev, AT91_TWI_SR); in at91_do_twi_transfer()
642 if (dev->fifo_size) { in at91_do_twi_transfer()
643 unsigned fifo_mr = at91_twi_read(dev, AT91_TWI_FMR); in at91_do_twi_transfer()
650 at91_twi_write(dev, AT91_TWI_FMR, fifo_mr); in at91_do_twi_transfer()
653 at91_twi_write(dev, AT91_TWI_CR, in at91_do_twi_transfer()
657 if (!dev->buf_len) { in at91_do_twi_transfer()
658 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_QUICK); in at91_do_twi_transfer()
659 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_TXCOMP); in at91_do_twi_transfer()
660 } else if (dev->msg->flags & I2C_M_RD) { in at91_do_twi_transfer()
664 if (!dev->use_alt_cmd && dev->buf_len <= 1 && in at91_do_twi_transfer()
665 !(dev->msg->flags & I2C_M_RECV_LEN)) in at91_do_twi_transfer()
667 at91_twi_write(dev, AT91_TWI_CR, start_flags); in at91_do_twi_transfer()
677 if (dev->use_dma && (dev->buf_len > AT91_I2C_DMA_THRESHOLD)) { in at91_do_twi_transfer()
678 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_NACK); in at91_do_twi_transfer()
679 at91_twi_read_data_dma(dev); in at91_do_twi_transfer()
681 at91_twi_write(dev, AT91_TWI_IER, in at91_do_twi_transfer()
687 if (dev->use_dma && (dev->buf_len > AT91_I2C_DMA_THRESHOLD)) { in at91_do_twi_transfer()
688 at91_twi_write(dev, AT91_TWI_IER, AT91_TWI_NACK); in at91_do_twi_transfer()
689 at91_twi_write_data_dma(dev); in at91_do_twi_transfer()
691 at91_twi_write_next_byte(dev); in at91_do_twi_transfer()
692 at91_twi_write(dev, AT91_TWI_IER, in at91_do_twi_transfer()
699 time_left = wait_for_completion_timeout(&dev->cmd_complete, in at91_do_twi_transfer()
700 dev->adapter.timeout); in at91_do_twi_transfer()
702 dev->transfer_status |= at91_twi_read(dev, AT91_TWI_SR); in at91_do_twi_transfer()
703 dev_err(dev->dev, "controller timed out\n"); in at91_do_twi_transfer()
704 at91_init_twi_bus(dev); in at91_do_twi_transfer()
708 if (dev->transfer_status & AT91_TWI_NACK) { in at91_do_twi_transfer()
709 dev_dbg(dev->dev, "received nack\n"); in at91_do_twi_transfer()
713 if (dev->transfer_status & AT91_TWI_OVRE) { in at91_do_twi_transfer()
714 dev_err(dev->dev, "overrun while reading\n"); in at91_do_twi_transfer()
718 if (has_unre_flag && dev->transfer_status & AT91_TWI_UNRE) { in at91_do_twi_transfer()
719 dev_err(dev->dev, "underrun while writing\n"); in at91_do_twi_transfer()
723 if ((has_alt_cmd || dev->fifo_size) && in at91_do_twi_transfer()
724 (dev->transfer_status & AT91_TWI_LOCK)) { in at91_do_twi_transfer()
725 dev_err(dev->dev, "tx locked\n"); in at91_do_twi_transfer()
729 if (dev->recv_len_abort) { in at91_do_twi_transfer()
730 dev_err(dev->dev, "invalid smbus block length recvd\n"); in at91_do_twi_transfer()
735 dev_dbg(dev->dev, "transfer complete\n"); in at91_do_twi_transfer()
741 at91_twi_dma_cleanup(dev); in at91_do_twi_transfer()
743 if ((has_alt_cmd || dev->fifo_size) && in at91_do_twi_transfer()
744 (dev->transfer_status & AT91_TWI_LOCK)) { in at91_do_twi_transfer()
745 dev_dbg(dev->dev, "unlock tx\n"); in at91_do_twi_transfer()
746 at91_twi_write(dev, AT91_TWI_CR, in at91_do_twi_transfer()
754 struct at91_twi_dev *dev = i2c_get_adapdata(adap); in at91_twi_xfer() local
760 dev_dbg(&adap->dev, "at91_xfer: processing %d messages:\n", num); in at91_twi_xfer()
762 ret = pm_runtime_get_sync(dev->dev); in at91_twi_xfer()
778 at91_twi_write(dev, AT91_TWI_IADR, internal_address); in at91_twi_xfer()
781 dev->use_alt_cmd = false; in at91_twi_xfer()
783 if (dev->pdata->has_alt_cmd) { in at91_twi_xfer()
786 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_ACMEN); in at91_twi_xfer()
787 at91_twi_write(dev, AT91_TWI_ACR, in at91_twi_xfer()
790 dev->use_alt_cmd = true; in at91_twi_xfer()
792 at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_ACMDIS); in at91_twi_xfer()
796 at91_twi_write(dev, AT91_TWI_MMR, in at91_twi_xfer()
799 ((!dev->use_alt_cmd && is_read) ? AT91_TWI_MREAD : 0)); in at91_twi_xfer()
801 dev->buf_len = m_start->len; in at91_twi_xfer()
802 dev->buf = m_start->buf; in at91_twi_xfer()
803 dev->msg = m_start; in at91_twi_xfer()
804 dev->recv_len_abort = false; in at91_twi_xfer()
806 ret = at91_do_twi_transfer(dev); in at91_twi_xfer()
810 pm_runtime_mark_last_busy(dev->dev); in at91_twi_xfer()
811 pm_runtime_put_autosuspend(dev->dev); in at91_twi_xfer()
954 static int at91_twi_configure_dma(struct at91_twi_dev *dev, u32 phy_addr) in at91_twi_configure_dma() argument
958 struct at91_twi_dma *dma = &dev->dma; in at91_twi_configure_dma()
976 if (dev->fifo_size) in at91_twi_configure_dma()
988 dma->chan_tx = dma_request_slave_channel_reason(dev->dev, "tx"); in at91_twi_configure_dma()
995 dma->chan_rx = dma_request_slave_channel_reason(dev->dev, "rx"); in at91_twi_configure_dma()
1004 dev_err(dev->dev, "failed to configure tx channel\n"); in at91_twi_configure_dma()
1011 dev_err(dev->dev, "failed to configure rx channel\n"); in at91_twi_configure_dma()
1019 dev->use_dma = true; in at91_twi_configure_dma()
1021 dev_info(dev->dev, "using %s (tx) and %s (rx) for DMA transfers\n", in at91_twi_configure_dma()
1028 dev_info(dev->dev, "can't get DMA channel, continue without DMA support\n"); in at91_twi_configure_dma()
1039 if (pdev->dev.of_node) { in at91_twi_get_driver_data()
1041 match = of_match_node(atmel_twi_dt_ids, pdev->dev.of_node); in at91_twi_get_driver_data()
1051 struct at91_twi_dev *dev; in at91_twi_probe() local
1057 dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL); in at91_twi_probe()
1058 if (!dev) in at91_twi_probe()
1060 init_completion(&dev->cmd_complete); in at91_twi_probe()
1061 dev->dev = &pdev->dev; in at91_twi_probe()
1068 dev->pdata = at91_twi_get_driver_data(pdev); in at91_twi_probe()
1069 if (!dev->pdata) in at91_twi_probe()
1072 dev->base = devm_ioremap_resource(&pdev->dev, mem); in at91_twi_probe()
1073 if (IS_ERR(dev->base)) in at91_twi_probe()
1074 return PTR_ERR(dev->base); in at91_twi_probe()
1076 dev->irq = platform_get_irq(pdev, 0); in at91_twi_probe()
1077 if (dev->irq < 0) in at91_twi_probe()
1078 return dev->irq; in at91_twi_probe()
1080 rc = devm_request_irq(&pdev->dev, dev->irq, atmel_twi_interrupt, 0, in at91_twi_probe()
1081 dev_name(dev->dev), dev); in at91_twi_probe()
1083 dev_err(dev->dev, "Cannot get irq %d: %d\n", dev->irq, rc); in at91_twi_probe()
1087 platform_set_drvdata(pdev, dev); in at91_twi_probe()
1089 dev->clk = devm_clk_get(dev->dev, NULL); in at91_twi_probe()
1090 if (IS_ERR(dev->clk)) { in at91_twi_probe()
1091 dev_err(dev->dev, "no clock defined\n"); in at91_twi_probe()
1094 rc = clk_prepare_enable(dev->clk); in at91_twi_probe()
1098 if (dev->dev->of_node) { in at91_twi_probe()
1099 rc = at91_twi_configure_dma(dev, phy_addr); in at91_twi_probe()
1101 clk_disable_unprepare(dev->clk); in at91_twi_probe()
1106 if (!of_property_read_u32(pdev->dev.of_node, "atmel,fifo-size", in at91_twi_probe()
1107 &dev->fifo_size)) { in at91_twi_probe()
1108 dev_info(dev->dev, "Using FIFO (%u data)\n", dev->fifo_size); in at91_twi_probe()
1111 rc = of_property_read_u32(dev->dev->of_node, "clock-frequency", in at91_twi_probe()
1116 at91_calc_twi_clock(dev, bus_clk_rate); in at91_twi_probe()
1117 at91_init_twi_bus(dev); in at91_twi_probe()
1119 snprintf(dev->adapter.name, sizeof(dev->adapter.name), "AT91"); in at91_twi_probe()
1120 i2c_set_adapdata(&dev->adapter, dev); in at91_twi_probe()
1121 dev->adapter.owner = THIS_MODULE; in at91_twi_probe()
1122 dev->adapter.class = I2C_CLASS_DEPRECATED; in at91_twi_probe()
1123 dev->adapter.algo = &at91_twi_algorithm; in at91_twi_probe()
1124 dev->adapter.quirks = &at91_twi_quirks; in at91_twi_probe()
1125 dev->adapter.dev.parent = dev->dev; in at91_twi_probe()
1126 dev->adapter.nr = pdev->id; in at91_twi_probe()
1127 dev->adapter.timeout = AT91_I2C_TIMEOUT; in at91_twi_probe()
1128 dev->adapter.dev.of_node = pdev->dev.of_node; in at91_twi_probe()
1130 pm_runtime_set_autosuspend_delay(dev->dev, AUTOSUSPEND_TIMEOUT); in at91_twi_probe()
1131 pm_runtime_use_autosuspend(dev->dev); in at91_twi_probe()
1132 pm_runtime_set_active(dev->dev); in at91_twi_probe()
1133 pm_runtime_enable(dev->dev); in at91_twi_probe()
1135 rc = i2c_add_numbered_adapter(&dev->adapter); in at91_twi_probe()
1137 clk_disable_unprepare(dev->clk); in at91_twi_probe()
1139 pm_runtime_disable(dev->dev); in at91_twi_probe()
1140 pm_runtime_set_suspended(dev->dev); in at91_twi_probe()
1145 dev_info(dev->dev, "AT91 i2c bus driver (hw version: %#x).\n", in at91_twi_probe()
1146 at91_twi_read(dev, AT91_TWI_VER)); in at91_twi_probe()
1152 struct at91_twi_dev *dev = platform_get_drvdata(pdev); in at91_twi_remove() local
1154 i2c_del_adapter(&dev->adapter); in at91_twi_remove()
1155 clk_disable_unprepare(dev->clk); in at91_twi_remove()
1157 pm_runtime_disable(dev->dev); in at91_twi_remove()
1158 pm_runtime_set_suspended(dev->dev); in at91_twi_remove()
1165 static int at91_twi_runtime_suspend(struct device *dev) in at91_twi_runtime_suspend() argument
1167 struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); in at91_twi_runtime_suspend()
1171 pinctrl_pm_select_sleep_state(dev); in at91_twi_runtime_suspend()
1176 static int at91_twi_runtime_resume(struct device *dev) in at91_twi_runtime_resume() argument
1178 struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); in at91_twi_runtime_resume()
1180 pinctrl_pm_select_default_state(dev); in at91_twi_runtime_resume()
1185 static int at91_twi_suspend_noirq(struct device *dev) in at91_twi_suspend_noirq() argument
1187 if (!pm_runtime_status_suspended(dev)) in at91_twi_suspend_noirq()
1188 at91_twi_runtime_suspend(dev); in at91_twi_suspend_noirq()
1193 static int at91_twi_resume_noirq(struct device *dev) in at91_twi_resume_noirq() argument
1195 struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); in at91_twi_resume_noirq()
1198 if (!pm_runtime_status_suspended(dev)) { in at91_twi_resume_noirq()
1199 ret = at91_twi_runtime_resume(dev); in at91_twi_resume_noirq()
1204 pm_runtime_mark_last_busy(dev); in at91_twi_resume_noirq()
1205 pm_request_autosuspend(dev); in at91_twi_resume_noirq()