diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform_data/spi-nuc900.h | 8 | ||||
| -rw-r--r-- | include/linux/spi/s3c24xx.h | 2 | ||||
| -rw-r--r-- | include/linux/spi/spi.h | 20 |
3 files changed, 16 insertions, 14 deletions
diff --git a/include/linux/platform_data/spi-nuc900.h b/include/linux/platform_data/spi-nuc900.h index 2c4e0c128501..4b3f46832e19 100644 --- a/include/linux/platform_data/spi-nuc900.h +++ b/include/linux/platform_data/spi-nuc900.h | |||
| @@ -1,6 +1,4 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * arch/arm/mach-w90x900/include/mach/nuc900_spi.h | ||
| 3 | * | ||
| 4 | * Copyright (c) 2009 Nuvoton technology corporation. | 2 | * Copyright (c) 2009 Nuvoton technology corporation. |
| 5 | * | 3 | * |
| 6 | * Wan ZongShun <mcuos.com@gmail.com> | 4 | * Wan ZongShun <mcuos.com@gmail.com> |
| @@ -11,8 +9,8 @@ | |||
| 11 | * | 9 | * |
| 12 | */ | 10 | */ |
| 13 | 11 | ||
| 14 | #ifndef __ASM_ARCH_SPI_H | 12 | #ifndef __SPI_NUC900_H |
| 15 | #define __ASM_ARCH_SPI_H | 13 | #define __SPI_NUC900_H |
| 16 | 14 | ||
| 17 | extern void mfp_set_groupg(struct device *dev, const char *subname); | 15 | extern void mfp_set_groupg(struct device *dev, const char *subname); |
| 18 | 16 | ||
| @@ -32,4 +30,4 @@ struct nuc900_spi_chip { | |||
| 32 | unsigned char bits_per_word; | 30 | unsigned char bits_per_word; |
| 33 | }; | 31 | }; |
| 34 | 32 | ||
| 35 | #endif /* __ASM_ARCH_SPI_H */ | 33 | #endif /* __SPI_NUC900_H */ |
diff --git a/include/linux/spi/s3c24xx.h b/include/linux/spi/s3c24xx.h index c23b923e493b..ca271c06c591 100644 --- a/include/linux/spi/s3c24xx.h +++ b/include/linux/spi/s3c24xx.h | |||
| @@ -23,4 +23,6 @@ struct s3c2410_spi_info { | |||
| 23 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); | 23 | void (*set_cs)(struct s3c2410_spi_info *spi, int cs, int pol); |
| 24 | }; | 24 | }; |
| 25 | 25 | ||
| 26 | extern int s3c24xx_set_fiq(unsigned int irq, bool on); | ||
| 27 | |||
| 26 | #endif /* __LINUX_SPI_S3C24XX_H */ | 28 | #endif /* __LINUX_SPI_S3C24XX_H */ |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 8c62ba74dd91..a1d4ca290862 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
| @@ -75,6 +75,7 @@ struct spi_device { | |||
| 75 | struct spi_master *master; | 75 | struct spi_master *master; |
| 76 | u32 max_speed_hz; | 76 | u32 max_speed_hz; |
| 77 | u8 chip_select; | 77 | u8 chip_select; |
| 78 | u8 bits_per_word; | ||
| 78 | u16 mode; | 79 | u16 mode; |
| 79 | #define SPI_CPHA 0x01 /* clock phase */ | 80 | #define SPI_CPHA 0x01 /* clock phase */ |
| 80 | #define SPI_CPOL 0x02 /* clock polarity */ | 81 | #define SPI_CPOL 0x02 /* clock polarity */ |
| @@ -92,7 +93,6 @@ struct spi_device { | |||
| 92 | #define SPI_TX_QUAD 0x200 /* transmit with 4 wires */ | 93 | #define SPI_TX_QUAD 0x200 /* transmit with 4 wires */ |
| 93 | #define SPI_RX_DUAL 0x400 /* receive with 2 wires */ | 94 | #define SPI_RX_DUAL 0x400 /* receive with 2 wires */ |
| 94 | #define SPI_RX_QUAD 0x800 /* receive with 4 wires */ | 95 | #define SPI_RX_QUAD 0x800 /* receive with 4 wires */ |
| 95 | u8 bits_per_word; | ||
| 96 | int irq; | 96 | int irq; |
| 97 | void *controller_state; | 97 | void *controller_state; |
| 98 | void *controller_data; | 98 | void *controller_data; |
| @@ -277,15 +277,17 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv) | |||
| 277 | * @unprepare_transfer_hardware: there are currently no more messages on the | 277 | * @unprepare_transfer_hardware: there are currently no more messages on the |
| 278 | * queue so the subsystem notifies the driver that it may relax the | 278 | * queue so the subsystem notifies the driver that it may relax the |
| 279 | * hardware by issuing this call | 279 | * hardware by issuing this call |
| 280 | * @set_cs: assert or deassert chip select, true to assert. May be called | 280 | * @set_cs: set the logic level of the chip select line. May be called |
| 281 | * from interrupt context. | 281 | * from interrupt context. |
| 282 | * @prepare_message: set up the controller to transfer a single message, | 282 | * @prepare_message: set up the controller to transfer a single message, |
| 283 | * for example doing DMA mapping. Called from threaded | 283 | * for example doing DMA mapping. Called from threaded |
| 284 | * context. | 284 | * context. |
| 285 | * @transfer_one: transfer a single spi_transfer. When the | 285 | * @transfer_one: transfer a single spi_transfer. |
| 286 | * driver is finished with this transfer it must call | 286 | * - return 0 if the transfer is finished, |
| 287 | * spi_finalize_current_transfer() so the subsystem can issue | 287 | * - return 1 if the transfer is still in progress. When |
| 288 | * the next transfer | 288 | * the driver is finished with this transfer it must |
| 289 | * call spi_finalize_current_transfer() so the subsystem | ||
| 290 | * can issue the next transfer | ||
| 289 | * @unprepare_message: undo any work done by prepare_message(). | 291 | * @unprepare_message: undo any work done by prepare_message(). |
| 290 | * @cs_gpios: Array of GPIOs to use as chip select lines; one per CS | 292 | * @cs_gpios: Array of GPIOs to use as chip select lines; one per CS |
| 291 | * number. Any individual value may be -ENOENT for CS lines that | 293 | * number. Any individual value may be -ENOENT for CS lines that |
| @@ -576,8 +578,8 @@ struct spi_transfer { | |||
| 576 | dma_addr_t rx_dma; | 578 | dma_addr_t rx_dma; |
| 577 | 579 | ||
| 578 | unsigned cs_change:1; | 580 | unsigned cs_change:1; |
| 579 | u8 tx_nbits; | 581 | unsigned tx_nbits:3; |
| 580 | u8 rx_nbits; | 582 | unsigned rx_nbits:3; |
| 581 | #define SPI_NBITS_SINGLE 0x01 /* 1bit transfer */ | 583 | #define SPI_NBITS_SINGLE 0x01 /* 1bit transfer */ |
| 582 | #define SPI_NBITS_DUAL 0x02 /* 2bits transfer */ | 584 | #define SPI_NBITS_DUAL 0x02 /* 2bits transfer */ |
| 583 | #define SPI_NBITS_QUAD 0x04 /* 4bits transfer */ | 585 | #define SPI_NBITS_QUAD 0x04 /* 4bits transfer */ |
| @@ -847,7 +849,7 @@ static inline ssize_t spi_w8r16(struct spi_device *spi, u8 cmd) | |||
| 847 | ssize_t status; | 849 | ssize_t status; |
| 848 | u16 result; | 850 | u16 result; |
| 849 | 851 | ||
| 850 | status = spi_write_then_read(spi, &cmd, 1, (u8 *) &result, 2); | 852 | status = spi_write_then_read(spi, &cmd, 1, &result, 2); |
| 851 | 853 | ||
| 852 | /* return negative errno or unsigned value */ | 854 | /* return negative errno or unsigned value */ |
| 853 | return (status < 0) ? status : result; | 855 | return (status < 0) ? status : result; |
