userfaultfd: prevent concurrent API initialization
[linux-2.6-microblaze.git] / include / linux / spi / altera.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Header File for Altera SPI Driver.
4  */
5 #ifndef __LINUX_SPI_ALTERA_H
6 #define __LINUX_SPI_ALTERA_H
7
8 #include <linux/interrupt.h>
9 #include <linux/regmap.h>
10 #include <linux/spi/spi.h>
11 #include <linux/types.h>
12
13 #define ALTERA_SPI_MAX_CS               32
14
15 /**
16  * struct altera_spi_platform_data - Platform data of the Altera SPI driver
17  * @mode_bits:          Mode bits of SPI master.
18  * @num_chipselect:     Number of chipselects.
19  * @bits_per_word_mask: bitmask of supported bits_per_word for transfers.
20  * @num_devices:        Number of devices that shall be added when the driver
21  *                      is probed.
22  * @devices:            The devices to add.
23  */
24 struct altera_spi_platform_data {
25         u16                             mode_bits;
26         u16                             num_chipselect;
27         u32                             bits_per_word_mask;
28         u16                             num_devices;
29         struct spi_board_info           *devices;
30 };
31
32 struct altera_spi {
33         int irq;
34         int len;
35         int count;
36         int bytes_per_word;
37         u32 imr;
38
39         /* data buffers */
40         const unsigned char *tx;
41         unsigned char *rx;
42
43         struct regmap *regmap;
44         u32 regoff;
45         struct device *dev;
46 };
47
48 extern irqreturn_t altera_spi_irq(int irq, void *dev);
49 extern void altera_spi_init_master(struct spi_master *master);
50 #endif /* __LINUX_SPI_ALTERA_H */