Hi Chris, > > --- /dev/null > > +++ b/Documentation/ABI/testing/sysfs-devices-mmc > > @@ -0,0 +1,19 @@ > > +What: > /sys/devices/.../mmc_host/mmcX/mmcX:XXXX/enhanced_area_offset > > +Date: January 2011 > > +Contact: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> > > +Description: > > + Enhanced area is a new feature defined in eMMC4.4 standard.eMMC4.4 > or > > + later card can support such feature. This kind of area can help to > > + improve the card performance. If the feature is enabled, this attribute > > + will indicate the start address of enhanced data area. If not, this > > + attribute will be -EINVAL. Unit Byte. Format decimal. > > + > > +What: /sys/devices/.../mmc_host/mmcX/mmcX:XXXX/enhanced_area_size > > +Date: January 2011 > > +Contact: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> > > +Description: > > + Enhanced area is a new feature defined in eMMC4.4 standard. eMMC4.4 > or > > + later card can support such feature. This kind of area can help to > > + improve the card performance. If the feature is enabled, this attribute > > + will indicate the size of enhanced data area. If not, this attribute > > + will be -EINVAL. Unit KByte. Format decimal. > > This is still wrapped at > 80 columns. Sorry for that. I have set the textwidth=80 for vim, not understand why this is still wrapped at >80 columns... I know checkpatch.pl can help us to find the style problem, and is there some other script which can help find the style problem of Document or how can I avoid such errors? Chris, thank you for your kind patience to help me find these stupid errors again... > > diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h > > index 8ce0827..736697f 100644 > > --- a/include/linux/mmc/card.h > > +++ b/include/linux/mmc/card.h > > @@ -54,6 +54,9 @@ struct mmc_ext_csd { > > unsigned int sec_trim_mult; /* Secure trim multiplier */ > > unsigned int sec_erase_mult; /* Secure erase multiplier */ > > unsigned int trim_timeout; /* In milliseconds */ > > + bool enhanced_area_en; /* enhanced area en */ > > + loff_t enhanced_area_offset; /* enhanced area addr */ > > + size_t enhanced_area_size; /* enhanced area size */ > > Now enhanced_area_en is aligned correctly, but the other two aren't. > > This adds a warning: > > drivers/mmc/core/mmc.c: In function âmmc_enhanced_area_size_showâ: > drivers/mmc/core/mmc.c:383:261: warning: format â%dâ expects type âintâ, > but argument 3 has type âsize_tâ > > If you really want size_t, you should use %zu for it -- see > Documentation/printk-formats.txt. (Declaring it as unsigned int would > work fine too.) > > Oh, and let's mention the units of _offset and _size in the comment in > card.h. Chris, you mean the type of _offset and _size? I think the 64bits number for _offset is enough, also the 32bits number for _size since the units of _size is Kbytes. Any suggestions on that? > > > }; > > > > struct sd_scr { > > diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h > > index 612301f..264ba54 100644 > > --- a/include/linux/mmc/mmc.h > > +++ b/include/linux/mmc/mmc.h > > @@ -253,6 +253,8 @@ struct _mmc_csd { > > * EXT_CSD fields > > */ > > > > +#define EXT_CSD_PARTITION_ATTRIBUTE 156 /* R/W */ > > +#define EXT_CSD_PARTITION_SUPPORT 160 /* RO */ > > #define EXT_CSD_ERASE_GROUP_DEF 175 /* R/W */ > > #define EXT_CSD_ERASED_MEM_CONT 181 /* RO */ > > #define EXT_CSD_BUS_WIDTH 183 /* R/W */ > > @@ -262,6 +264,7 @@ struct _mmc_csd { > > #define EXT_CSD_CARD_TYPE 196 /* RO */ > > #define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ > > #define EXT_CSD_S_A_TIMEOUT 217 /* RO */ > > +#define EXT_CSD_HC_WP_GRP_SIZE 221 /* RO */ > > #define EXT_CSD_ERASE_TIMEOUT_MULT 223 /* RO */ > > #define EXT_CSD_HC_ERASE_GRP_SIZE 224 /* RO */ > > #define EXT_CSD_SEC_TRIM_MULT 229 /* RO */ > > Thanks, > > -- > Chris Ball <cjb@xxxxxxxxxx> <http://printf.net/> > One Laptop Per Child ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þiþ)íèjg¬±¨¶Ýjÿ¾«þG«é¸¢·¦j:+v¨wèm¶ÿþø®w¥þ࣢·hâÿÙ