Lines Matching defs:spi_controller
547 struct spi_controller { struct
548 struct device dev;
550 struct list_head list;
559 s16 bus_num;
565 u16 num_chipselect;
570 u16 dma_alignment;
573 u32 mode_bits;
576 u32 buswidth_override_bits;
579 u32 bits_per_word_mask;
584 u32 min_speed_hz;
585 u32 max_speed_hz;
588 u16 flags;
603 bool devm_allocated;
605 union {
616 size_t (*max_transfer_size)(struct spi_device *spi);
617 size_t (*max_message_size)(struct spi_device *spi);
620 struct mutex io_mutex;
623 struct mutex add_lock;
626 spinlock_t bus_lock_spinlock;
627 struct mutex bus_lock_mutex;
630 bool bus_lock_flag;
639 int (*setup)(struct spi_device *spi);
649 int (*set_cs_timing)(struct spi_device *spi);
674 /* Called on release() to free memory provided by spi_controller */ argument
684 bool (*can_dma)(struct spi_controller *ctlr, argument
687 struct device *dma_map_dev;
688 struct device *cur_rx_dma_dev;
689 struct device *cur_tx_dma_dev;
719 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); argument
720 int (*transfer_one_message)(struct spi_controller *ctlr, argument
722 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); argument
723 int (*prepare_message)(struct spi_controller *ctlr, argument
725 int (*unprepare_message)(struct spi_controller *ctlr, argument
727 int (*target_abort)(struct spi_controller *ctlr); argument
734 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, argument
736 void (*handle_err)(struct spi_controller *ctlr, argument
740 const struct spi_controller_mem_ops *mem_ops; argument
741 const struct spi_controller_mem_caps *mem_caps; argument
760 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); argument
777 static inline void *spi_controller_get_devdata(struct spi_controller *ctlr) in spi_controller_get_devdata() argument