aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tifm.h
diff options
context:
space:
mode:
authorAlex Dubov <oakad@yahoo.com>2007-04-12 02:59:14 -0400
committerPierre Ossman <drzeus@drzeus.cx>2007-05-01 07:04:13 -0400
commite23f2b8a1a52c00f0150659eb0bfde3a73976ffe (patch)
treecd12f24c3b414e01929c323d23dd86e8bc5384f0 /include/linux/tifm.h
parent8dc4a61eca31dd45a9d45f9bc9c67d959f0f6cbd (diff)
tifm: simplify bus match and uevent handlers
Remove code duplicating the kernel functionality and clean up data structures involved in driver matching. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/linux/tifm.h')
-rw-r--r--include/linux/tifm.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/linux/tifm.h b/include/linux/tifm.h
index ee1056396b95..57b2653494cf 100644
--- a/include/linux/tifm.h
+++ b/include/linux/tifm.h
@@ -74,13 +74,19 @@ enum {
74#define TIFM_DMA_TX 0x00008000 /* Meaning of this constant is unverified */ 74#define TIFM_DMA_TX 0x00008000 /* Meaning of this constant is unverified */
75#define TIFM_DMA_EN 0x00000001 /* Meaning of this constant is unverified */ 75#define TIFM_DMA_EN 0x00000001 /* Meaning of this constant is unverified */
76 76
77typedef enum {FM_NULL = 0, FM_XD = 0x01, FM_MS = 0x02, FM_SD = 0x03} tifm_media_id; 77#define TIFM_TYPE_XD 1
78#define TIFM_TYPE_MS 2
79#define TIFM_TYPE_SD 3
80
81struct tifm_device_id {
82 unsigned char type;
83};
78 84
79struct tifm_driver; 85struct tifm_driver;
80struct tifm_dev { 86struct tifm_dev {
81 char __iomem *addr; 87 char __iomem *addr;
82 spinlock_t lock; 88 spinlock_t lock;
83 tifm_media_id media_id; 89 unsigned char type;
84 unsigned int socket_id; 90 unsigned int socket_id;
85 91
86 void (*card_event)(struct tifm_dev *sock); 92 void (*card_event)(struct tifm_dev *sock);
@@ -90,7 +96,7 @@ struct tifm_dev {
90}; 96};
91 97
92struct tifm_driver { 98struct tifm_driver {
93 tifm_media_id *id_table; 99 struct tifm_device_id *id_table;
94 int (*probe)(struct tifm_dev *dev); 100 int (*probe)(struct tifm_dev *dev);
95 void (*remove)(struct tifm_dev *dev); 101 void (*remove)(struct tifm_dev *dev);
96 int (*suspend)(struct tifm_dev *dev, 102 int (*suspend)(struct tifm_dev *dev,
@@ -141,8 +147,4 @@ static inline void tifm_set_drvdata(struct tifm_dev *dev, void *data)
141 dev_set_drvdata(&dev->dev, data); 147 dev_set_drvdata(&dev->dev, data);
142} 148}
143 149
144struct tifm_device_id {
145 tifm_media_id media_id;
146};
147
148#endif 150#endif