summaryrefslogtreecommitdiff
path: root/sysroot/usr/include/linux/mmc/card.h
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2012-04-16 19:46:18 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2012-04-16 19:46:18 +0800
commit373d8e9f24e73a7a5507f2cb668b2b50ab8f27a3 (patch)
tree704b7df8fc7ff9d59a15737e9932a0cd46a0848a /sysroot/usr/include/linux/mmc/card.h
parentb832c77812d4735e04acf368e0f2b7628fc4b242 (diff)
downloadmipsel-linux-android-4.4.3-373d8e9f24e73a7a5507f2cb668b2b50ab8f27a3.tar.gz
Adding mipsel-linux-android- cross toolchain
Copied directly from 20120416 internal built of NDK toolchain at $NDK/toolchains/toolchains/mipsel-linux-android-4.4.3/prebuilt/linux-x86 Please see $NDK/docs/DEVELOPMENT.html for how NDK toolchain is built. Verified to build correct MIPS image from source at repo init -u ssh://mipsia.review.mips.com:29418/platform/manifest.git -b wip-mips-ics-mr1 Change-Id: I5af2edb1480331962a7e18b8231c94c5588c3971
Diffstat (limited to 'sysroot/usr/include/linux/mmc/card.h')
-rw-r--r--sysroot/usr/include/linux/mmc/card.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/sysroot/usr/include/linux/mmc/card.h b/sysroot/usr/include/linux/mmc/card.h
new file mode 100644
index 0000000..94afe21
--- /dev/null
+++ b/sysroot/usr/include/linux/mmc/card.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ *** This header was automatically generated from a Linux kernel header
+ *** of the same name, to make information necessary for userspace to
+ *** call into the kernel available to libc. It contains only constants,
+ *** structures, and macros generated from the original header, and thus,
+ *** contains no copyrightable information.
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef LINUX_MMC_CARD_H
+#define LINUX_MMC_CARD_H
+
+#include <linux/mmc/mmc.h>
+
+struct mmc_cid {
+ unsigned int manfid;
+ char prod_name[8];
+ unsigned int serial;
+ unsigned short oemid;
+ unsigned short year;
+ unsigned char hwrev;
+ unsigned char fwrev;
+ unsigned char month;
+};
+
+struct mmc_csd {
+ unsigned char mmca_vsn;
+ unsigned short cmdclass;
+ unsigned short tacc_clks;
+ unsigned int tacc_ns;
+ unsigned int r2w_factor;
+ unsigned int max_dtr;
+ unsigned int read_blkbits;
+ unsigned int write_blkbits;
+ unsigned int capacity;
+ unsigned int read_partial:1,
+ read_misalign:1,
+ write_partial:1,
+ write_misalign:1;
+};
+
+struct sd_scr {
+ unsigned char sda_vsn;
+ unsigned char bus_widths;
+#define SD_SCR_BUS_WIDTH_1 (1<<0)
+#define SD_SCR_BUS_WIDTH_4 (1<<2)
+};
+
+struct mmc_host;
+
+struct mmc_card {
+ struct list_head node;
+ struct mmc_host *host;
+ struct device dev;
+ unsigned int rca;
+ unsigned int state;
+#define MMC_STATE_PRESENT (1<<0)
+#define MMC_STATE_DEAD (1<<1)
+#define MMC_STATE_BAD (1<<2)
+#define MMC_STATE_SDCARD (1<<3)
+#define MMC_STATE_READONLY (1<<4)
+ u32 raw_cid[4];
+ u32 raw_csd[4];
+ u32 raw_scr[2];
+ struct mmc_cid cid;
+ struct mmc_csd csd;
+ struct sd_scr scr;
+};
+
+#define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT)
+#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD)
+#define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD)
+#define mmc_card_sd(c) ((c)->state & MMC_STATE_SDCARD)
+#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
+
+#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
+#define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD)
+#define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD)
+#define mmc_card_set_sd(c) ((c)->state |= MMC_STATE_SDCARD)
+#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
+
+#define mmc_card_name(c) ((c)->cid.prod_name)
+#define mmc_card_id(c) ((c)->dev.bus_id)
+
+#define mmc_list_to_card(l) container_of(l, struct mmc_card, node)
+#define mmc_get_drvdata(c) dev_get_drvdata(&(c)->dev)
+#define mmc_set_drvdata(c,d) dev_set_drvdata(&(c)->dev, d)
+
+struct mmc_driver {
+ struct device_driver drv;
+ int (*probe)(struct mmc_card *);
+ void (*remove)(struct mmc_card *);
+ int (*suspend)(struct mmc_card *, pm_message_t);
+ int (*resume)(struct mmc_card *);
+};
+
+#define mmc_card_release_host(c) mmc_release_host((c)->host)
+#endif