1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 ****************************************************************************
11 ****************************************************************************/
12 #ifndef LINUX_MMC_CARD_H
13 #define LINUX_MMC_CARD_H
15 #include <linux/mmc/mmc.h>
29 unsigned char mmca_vsn;
30 unsigned short cmdclass;
31 unsigned short tacc_clks;
33 unsigned int r2w_factor;
35 unsigned int read_blkbits;
36 unsigned int write_blkbits;
37 unsigned int capacity;
38 unsigned int read_partial:1,
45 unsigned char sda_vsn;
46 unsigned char bus_widths;
47 #define SD_SCR_BUS_WIDTH_1 (1<<0)
48 #define SD_SCR_BUS_WIDTH_4 (1<<2)
54 struct list_head node;
55 struct mmc_host *host;
59 #define MMC_STATE_PRESENT (1<<0)
60 #define MMC_STATE_DEAD (1<<1)
61 #define MMC_STATE_BAD (1<<2)
62 #define MMC_STATE_SDCARD (1<<3)
63 #define MMC_STATE_READONLY (1<<4)
72 #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT)
73 #define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD)
74 #define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD)
75 #define mmc_card_sd(c) ((c)->state & MMC_STATE_SDCARD)
76 #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
78 #define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
79 #define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD)
80 #define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD)
81 #define mmc_card_set_sd(c) ((c)->state |= MMC_STATE_SDCARD)
82 #define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
84 #define mmc_card_name(c) ((c)->cid.prod_name)
85 #define mmc_card_id(c) ((c)->dev.bus_id)
87 #define mmc_list_to_card(l) container_of(l, struct mmc_card, node)
88 #define mmc_get_drvdata(c) dev_get_drvdata(&(c)->dev)
89 #define mmc_set_drvdata(c,d) dev_set_drvdata(&(c)->dev, d)
92 struct device_driver drv;
93 int (*probe)(struct mmc_card *);
94 void (*remove)(struct mmc_card *);
95 int (*suspend)(struct mmc_card *, pm_message_t);
96 int (*resume)(struct mmc_card *);
99 #define mmc_card_release_host(c) mmc_release_host((c)->host)