Lines Matching defs:spi_controller
470 struct spi_controller { struct
471 struct device dev;
473 struct list_head list;
481 s16 bus_num;
486 u16 num_chipselect;
491 u16 dma_alignment;
494 u32 mode_bits;
497 u32 buswidth_override_bits;
500 u32 bits_per_word_mask;
505 u32 min_speed_hz;
506 u32 max_speed_hz;
509 u16 flags;
519 bool devm_allocated;
522 bool slave;
528 size_t (*max_transfer_size)(struct spi_device *spi);
529 size_t (*max_message_size)(struct spi_device *spi);
532 struct mutex io_mutex;
535 struct mutex add_lock;
538 spinlock_t bus_lock_spinlock;
539 struct mutex bus_lock_mutex;
542 bool bus_lock_flag;
550 int (*setup)(struct spi_device *spi);
560 int (*set_cs_timing)(struct spi_device *spi);
584 /* called on release() to free memory provided by spi_controller */ argument
594 bool (*can_dma)(struct spi_controller *ctlr, argument
597 struct device *dma_map_dev;
624 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); argument
625 int (*transfer_one_message)(struct spi_controller *ctlr, argument
627 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); argument
628 int (*prepare_message)(struct spi_controller *ctlr, argument
630 int (*unprepare_message)(struct spi_controller *ctlr, argument
632 int (*slave_abort)(struct spi_controller *ctlr); argument
639 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, argument
641 void (*handle_err)(struct spi_controller *ctlr, argument
645 const struct spi_controller_mem_ops *mem_ops; argument
665 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); argument
677 static inline void *spi_controller_get_devdata(struct spi_controller *ctlr) in spi_controller_get_devdata() argument