Lines Matching defs:spi_controller
472 struct spi_controller { struct
473 struct device dev;
475 struct list_head list;
483 s16 bus_num;
488 u16 num_chipselect;
493 u16 dma_alignment;
496 u32 mode_bits;
499 u32 buswidth_override_bits;
502 u32 bits_per_word_mask;
507 u32 min_speed_hz;
508 u32 max_speed_hz;
511 u16 flags;
521 bool slave;
527 size_t (*max_transfer_size)(struct spi_device *spi);
528 size_t (*max_message_size)(struct spi_device *spi);
531 struct mutex io_mutex;
534 spinlock_t bus_lock_spinlock;
535 struct mutex bus_lock_mutex;
538 bool bus_lock_flag;
546 int (*setup)(struct spi_device *spi);
556 int (*set_cs_timing)(struct spi_device *spi, struct spi_delay *setup,
581 /* called on release() to free memory provided by spi_controller */ argument
591 bool (*can_dma)(struct spi_controller *ctlr, argument
620 int (*prepare_transfer_hardware)(struct spi_controller *ctlr); argument
621 int (*transfer_one_message)(struct spi_controller *ctlr, argument
623 int (*unprepare_transfer_hardware)(struct spi_controller *ctlr); argument
624 int (*prepare_message)(struct spi_controller *ctlr, argument
626 int (*unprepare_message)(struct spi_controller *ctlr, argument
628 int (*slave_abort)(struct spi_controller *ctlr); argument
635 int (*transfer_one)(struct spi_controller *ctlr, struct spi_device *spi, argument
637 void (*handle_err)(struct spi_controller *ctlr, argument
641 const struct spi_controller_mem_ops *mem_ops; argument
644 struct spi_delay cs_setup;
645 struct spi_delay cs_hold;
646 struct spi_delay cs_inactive;
649 int *cs_gpios;
673 int (*fw_translate_cs)(struct spi_controller *ctlr, unsigned cs); argument
688 static inline void *spi_controller_get_devdata(struct spi_controller *ctlr) in spi_controller_get_devdata() argument