Lines Matching defs:spi_controller
487 struct spi_controller { struct
488 struct device dev;
490 struct list_head list;
498 s16 bus_num;
503 u16 num_chipselect;
508 u16 dma_alignment;
511 u32 mode_bits;
514 u32 buswidth_override_bits;
517 u32 bits_per_word_mask;
522 u32 min_speed_hz;
523 u32 max_speed_hz;
526 u16 flags;
536 bool devm_allocated;
539 bool slave;
545 size_t (*max_transfer_size)(struct spi_device *spi);
546 size_t (*max_message_size)(struct spi_device *spi);
549 struct mutex io_mutex;
552 struct mutex add_lock;
555 spinlock_t bus_lock_spinlock;
556 struct mutex bus_lock_mutex;
559 bool bus_lock_flag;
567 int (*setup)(struct spi_device *spi);
577 int (*set_cs_timing)(struct spi_device *spi);
601 /* Called on release() to free memory provided by spi_controller */ argument
611 bool (*can_dma)(struct spi_controller *ctlr, argument
614 struct device *dma_map_dev;
615 struct device *cur_rx_dma_dev;
616 struct device *cur_tx_dma_dev;
644 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); argument
645 int (*transfer_one_message)(struct spi_controller *ctlr, argument
647 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); argument
648 int (*prepare_message)(struct spi_controller *ctlr, argument
650 int (*unprepare_message)(struct spi_controller *ctlr, argument
652 int (*slave_abort)(struct spi_controller *ctlr); argument
659 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, argument
661 void (*handle_err)(struct spi_controller *ctlr, argument
665 const struct spi_controller_mem_ops *mem_ops; argument
666 const struct spi_controller_mem_caps *mem_caps; argument
685 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); argument
701 static inline void *spi_controller_get_devdata(struct spi_controller *ctlr) in spi_controller_get_devdata() argument