diff options
| author | David Brownell <dbrownell@users.sourceforge.net> | 2009-04-02 19:56:58 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-02 22:04:50 -0400 |
| commit | 14dd1ff0f9e75dd4ae2f1ff8e48becb76d14f4ab (patch) | |
| tree | a9e208f0c35c8e24ed0edb8a1bc5ca9a4dc9b585 /include/linux/spi | |
| parent | 7274ec8bd71e99018642f474528ea7de4bb3ae25 (diff) | |
memory_accessor: implement the new memory_accessor interfaces for SPI EEPROMs
- Define new setup() hook to export the accessor
- Implement accessor methods
Moves some error checking out of the sysfs interface code into the layer
below it, which is now shared by both sysfs and memory access code.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/spi')
| -rw-r--r-- | include/linux/spi/eeprom.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h index 1085212c446e..306e7b1c69ed 100644 --- a/include/linux/spi/eeprom.h +++ b/include/linux/spi/eeprom.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef __LINUX_SPI_EEPROM_H | 1 | #ifndef __LINUX_SPI_EEPROM_H |
| 2 | #define __LINUX_SPI_EEPROM_H | 2 | #define __LINUX_SPI_EEPROM_H |
| 3 | 3 | ||
| 4 | #include <linux/memory.h> | ||
| 5 | |||
| 4 | /* | 6 | /* |
| 5 | * Put one of these structures in platform_data for SPI EEPROMS handled | 7 | * Put one of these structures in platform_data for SPI EEPROMS handled |
| 6 | * by the "at25" driver. On SPI, most EEPROMS understand the same core | 8 | * by the "at25" driver. On SPI, most EEPROMS understand the same core |
| @@ -17,6 +19,10 @@ struct spi_eeprom { | |||
| 17 | #define EE_ADDR2 0x0002 /* 16 bit addrs */ | 19 | #define EE_ADDR2 0x0002 /* 16 bit addrs */ |
| 18 | #define EE_ADDR3 0x0004 /* 24 bit addrs */ | 20 | #define EE_ADDR3 0x0004 /* 24 bit addrs */ |
| 19 | #define EE_READONLY 0x0008 /* disallow writes */ | 21 | #define EE_READONLY 0x0008 /* disallow writes */ |
| 22 | |||
| 23 | /* for exporting this chip's data to other kernel code */ | ||
| 24 | void (*setup)(struct memory_accessor *mem, void *context); | ||
| 25 | void *context; | ||
| 20 | }; | 26 | }; |
| 21 | 27 | ||
| 22 | #endif /* __LINUX_SPI_EEPROM_H */ | 28 | #endif /* __LINUX_SPI_EEPROM_H */ |
