Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]

Diff markup

Differences between /linux/include/linux/mmc/card.h (Version 2.6.11.8) and /linux/include/linux/mmc/card.h (Version 2.6.31.13)


  1 /*                                                  1 /*
  2  *  linux/include/linux/mmc/card.h                  2  *  linux/include/linux/mmc/card.h
  3  *                                                  3  *
  4  * This program is free software; you can redi      4  * This program is free software; you can redistribute it and/or modify
  5  * it under the terms of the GNU General Publi      5  * it under the terms of the GNU General Public License version 2 as
  6  * published by the Free Software Foundation.       6  * published by the Free Software Foundation.
  7  *                                                  7  *
  8  *  Card driver specific definitions.               8  *  Card driver specific definitions.
  9  */                                                 9  */
 10 #ifndef LINUX_MMC_CARD_H                           10 #ifndef LINUX_MMC_CARD_H
 11 #define LINUX_MMC_CARD_H                           11 #define LINUX_MMC_CARD_H
 12                                                    12 
 13 #include <linux/mmc/mmc.h>                     !!  13 #include <linux/mmc/core.h>
 14                                                    14 
 15 struct mmc_cid {                                   15 struct mmc_cid {
 16         unsigned int            manfid;            16         unsigned int            manfid;
 17         char                    prod_name[8];      17         char                    prod_name[8];
 18         unsigned int            serial;            18         unsigned int            serial;
 19         unsigned short          oemid;             19         unsigned short          oemid;
 20         unsigned short          year;              20         unsigned short          year;
 21         unsigned char           hwrev;             21         unsigned char           hwrev;
 22         unsigned char           fwrev;             22         unsigned char           fwrev;
 23         unsigned char           month;             23         unsigned char           month;
 24 };                                                 24 };
 25                                                    25 
 26 struct mmc_csd {                                   26 struct mmc_csd {
 27         unsigned char           mmca_vsn;          27         unsigned char           mmca_vsn;
 28         unsigned short          cmdclass;          28         unsigned short          cmdclass;
 29         unsigned short          tacc_clks;         29         unsigned short          tacc_clks;
 30         unsigned int            tacc_ns;           30         unsigned int            tacc_ns;
                                                   >>  31         unsigned int            r2w_factor;
 31         unsigned int            max_dtr;           32         unsigned int            max_dtr;
 32         unsigned int            read_blkbits;      33         unsigned int            read_blkbits;
                                                   >>  34         unsigned int            write_blkbits;
 33         unsigned int            capacity;          35         unsigned int            capacity;
                                                   >>  36         unsigned int            read_partial:1,
                                                   >>  37                                 read_misalign:1,
                                                   >>  38                                 write_partial:1,
                                                   >>  39                                 write_misalign:1;
                                                   >>  40 };
                                                   >>  41 
                                                   >>  42 struct mmc_ext_csd {
                                                   >>  43         unsigned int            hs_max_dtr;
                                                   >>  44         unsigned int            sectors;
                                                   >>  45 };
                                                   >>  46 
                                                   >>  47 struct sd_scr {
                                                   >>  48         unsigned char           sda_vsn;
                                                   >>  49         unsigned char           bus_widths;
                                                   >>  50 #define SD_SCR_BUS_WIDTH_1      (1<<0)
                                                   >>  51 #define SD_SCR_BUS_WIDTH_4      (1<<2)
                                                   >>  52 };
                                                   >>  53 
                                                   >>  54 struct sd_switch_caps {
                                                   >>  55         unsigned int            hs_max_dtr;
                                                   >>  56 };
                                                   >>  57 
                                                   >>  58 struct sdio_cccr {
                                                   >>  59         unsigned int            sdio_vsn;
                                                   >>  60         unsigned int            sd_vsn;
                                                   >>  61         unsigned int            multi_block:1,
                                                   >>  62                                 low_speed:1,
                                                   >>  63                                 wide_bus:1,
                                                   >>  64                                 high_power:1,
                                                   >>  65                                 high_speed:1;
                                                   >>  66 };
                                                   >>  67 
                                                   >>  68 struct sdio_cis {
                                                   >>  69         unsigned short          vendor;
                                                   >>  70         unsigned short          device;
                                                   >>  71         unsigned short          blksize;
                                                   >>  72         unsigned int            max_dtr;
 34 };                                                 73 };
 35                                                    74 
 36 struct mmc_host;                                   75 struct mmc_host;
                                                   >>  76 struct sdio_func;
                                                   >>  77 struct sdio_func_tuple;
                                                   >>  78 
                                                   >>  79 #define SDIO_MAX_FUNCS          7
 37                                                    80 
 38 /*                                                 81 /*
 39  * MMC device                                      82  * MMC device
 40  */                                                83  */
 41 struct mmc_card {                                  84 struct mmc_card {
 42         struct list_head        node;          << 
 43         struct mmc_host         *host;             85         struct mmc_host         *host;          /* the host this device belongs to */
 44         struct device           dev;               86         struct device           dev;            /* the device */
 45         unsigned int            rca;               87         unsigned int            rca;            /* relative card address of device */
                                                   >>  88         unsigned int            type;           /* card type */
                                                   >>  89 #define MMC_TYPE_MMC            0               /* MMC card */
                                                   >>  90 #define MMC_TYPE_SD             1               /* SD card */
                                                   >>  91 #define MMC_TYPE_SDIO           2               /* SDIO card */
 46         unsigned int            state;             92         unsigned int            state;          /* (our) card state */
 47 #define MMC_STATE_PRESENT       (1<<0)             93 #define MMC_STATE_PRESENT       (1<<0)          /* present in sysfs */
 48 #define MMC_STATE_DEAD          (1<<1)         !!  94 #define MMC_STATE_READONLY      (1<<1)          /* card is read-only */
 49 #define MMC_STATE_BAD           (1<<2)         !!  95 #define MMC_STATE_HIGHSPEED     (1<<2)          /* card is in high speed mode */
                                                   >>  96 #define MMC_STATE_BLOCKADDR     (1<<3)          /* card uses block-addressing */
                                                   >>  97 
 50         u32                     raw_cid[4];        98         u32                     raw_cid[4];     /* raw card CID */
 51         u32                     raw_csd[4];        99         u32                     raw_csd[4];     /* raw card CSD */
                                                   >> 100         u32                     raw_scr[2];     /* raw card SCR */
 52         struct mmc_cid          cid;              101         struct mmc_cid          cid;            /* card identification */
 53         struct mmc_csd          csd;              102         struct mmc_csd          csd;            /* card specific */
                                                   >> 103         struct mmc_ext_csd      ext_csd;        /* mmc v4 extended card specific */
                                                   >> 104         struct sd_scr           scr;            /* extra SD information */
                                                   >> 105         struct sd_switch_caps   sw_caps;        /* switch (CMD6) caps */
                                                   >> 106 
                                                   >> 107         unsigned int            sdio_funcs;     /* number of SDIO functions */
                                                   >> 108         struct sdio_cccr        cccr;           /* common card info */
                                                   >> 109         struct sdio_cis         cis;            /* common tuple info */
                                                   >> 110         struct sdio_func        *sdio_func[SDIO_MAX_FUNCS]; /* SDIO functions (devices) */
                                                   >> 111         unsigned                num_info;       /* number of info strings */
                                                   >> 112         const char              **info;         /* info strings */
                                                   >> 113         struct sdio_func_tuple  *tuples;        /* unknown common tuples */
                                                   >> 114 
                                                   >> 115         struct dentry           *debugfs_root;
 54 };                                                116 };
 55                                                   117 
                                                   >> 118 #define mmc_card_mmc(c)         ((c)->type == MMC_TYPE_MMC)
                                                   >> 119 #define mmc_card_sd(c)          ((c)->type == MMC_TYPE_SD)
                                                   >> 120 #define mmc_card_sdio(c)        ((c)->type == MMC_TYPE_SDIO)
                                                   >> 121 
 56 #define mmc_card_present(c)     ((c)->state &     122 #define mmc_card_present(c)     ((c)->state & MMC_STATE_PRESENT)
 57 #define mmc_card_dead(c)        ((c)->state &  !! 123 #define mmc_card_readonly(c)    ((c)->state & MMC_STATE_READONLY)
 58 #define mmc_card_bad(c)         ((c)->state &  !! 124 #define mmc_card_highspeed(c)   ((c)->state & MMC_STATE_HIGHSPEED)
                                                   >> 125 #define mmc_card_blockaddr(c)   ((c)->state & MMC_STATE_BLOCKADDR)
 59                                                   126 
 60 #define mmc_card_set_present(c) ((c)->state |=    127 #define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
 61 #define mmc_card_set_dead(c)    ((c)->state |= !! 128 #define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
 62 #define mmc_card_set_bad(c)     ((c)->state |= !! 129 #define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED)
                                                   >> 130 #define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)
 63                                                   131 
 64 #define mmc_card_name(c)        ((c)->cid.prod    132 #define mmc_card_name(c)        ((c)->cid.prod_name)
 65 #define mmc_card_id(c)          ((c)->dev.bus_ !! 133 #define mmc_card_id(c)          (dev_name(&(c)->dev))
 66                                                   134 
 67 #define mmc_list_to_card(l)     container_of(l    135 #define mmc_list_to_card(l)     container_of(l, struct mmc_card, node)
 68 #define mmc_get_drvdata(c)      dev_get_drvdat    136 #define mmc_get_drvdata(c)      dev_get_drvdata(&(c)->dev)
 69 #define mmc_set_drvdata(c,d)    dev_set_drvdat    137 #define mmc_set_drvdata(c,d)    dev_set_drvdata(&(c)->dev, d)
 70                                                   138 
 71 /*                                                139 /*
 72  * MMC device driver (e.g., Flash card, I/O ca    140  * MMC device driver (e.g., Flash card, I/O card...)
 73  */                                               141  */
 74 struct mmc_driver {                               142 struct mmc_driver {
 75         struct device_driver drv;                 143         struct device_driver drv;
 76         int (*probe)(struct mmc_card *);          144         int (*probe)(struct mmc_card *);
 77         void (*remove)(struct mmc_card *);        145         void (*remove)(struct mmc_card *);
 78         int (*suspend)(struct mmc_card *, u32) !! 146         int (*suspend)(struct mmc_card *, pm_message_t);
 79         int (*resume)(struct mmc_card *);         147         int (*resume)(struct mmc_card *);
 80 };                                                148 };
 81                                                   149 
 82 extern int mmc_register_driver(struct mmc_driv    150 extern int mmc_register_driver(struct mmc_driver *);
 83 extern void mmc_unregister_driver(struct mmc_d    151 extern void mmc_unregister_driver(struct mmc_driver *);
 84                                                   152 
 85 static inline int mmc_card_claim_host(struct m << 
 86 {                                              << 
 87         return __mmc_claim_host(card->host, ca << 
 88 }                                              << 
 89                                                << 
 90 #define mmc_card_release_host(c)        mmc_re << 
 91                                                << 
 92 #endif                                            153 #endif
 93                                                   154 
  This page was automatically generated by the LXR engine.