Lines Matching defs:spi_controller
549 struct spi_controller { struct
550 struct device dev;
552 struct list_head list;
561 s16 bus_num;
567 u16 num_chipselect;
572 u16 dma_alignment;
575 u32 mode_bits;
578 u32 buswidth_override_bits;
581 u32 bits_per_word_mask;
586 u32 min_speed_hz;
587 u32 max_speed_hz;
590 u16 flags;
605 bool devm_allocated;
607 union {
618 size_t (*max_transfer_size)(struct spi_device *spi);
619 size_t (*max_message_size)(struct spi_device *spi);
622 struct mutex io_mutex;
625 struct mutex add_lock;
628 spinlock_t bus_lock_spinlock;
629 struct mutex bus_lock_mutex;
632 bool bus_lock_flag;
641 int (*setup)(struct spi_device *spi);
651 int (*set_cs_timing)(struct spi_device *spi);
676 /* Called on release() to free memory provided by spi_controller */ argument
686 bool (*can_dma)(struct spi_controller *ctlr, argument
689 struct device *dma_map_dev;
690 struct device *cur_rx_dma_dev;
691 struct device *cur_tx_dma_dev;
720 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); argument
721 int (*transfer_one_message)(struct spi_controller *ctlr, argument
723 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); argument
724 int (*prepare_message)(struct spi_controller *ctlr, argument
726 int (*unprepare_message)(struct spi_controller *ctlr, argument
729 int (*slave_abort)(struct spi_controller *ctlr); argument
738 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, argument
740 void (*handle_err)(struct spi_controller *ctlr, argument
744 const struct spi_controller_mem_ops *mem_ops; argument
745 const struct spi_controller_mem_caps *mem_caps; argument
764 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); argument
780 static inline void *spi_controller_get_devdata(struct spi_controller *ctlr) in spi_controller_get_devdata() argument