Loading drivers/mmc/core/mmc.c +0 −31 Original line number Diff line number Diff line Loading @@ -177,37 +177,6 @@ static int mmc_decode_csd(struct mmc_card *card) return 0; } /* * Read extended CSD. */ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) { int err; u8 *ext_csd; if (!card || !new_ext_csd) return -EINVAL; if (!mmc_can_ext_csd(card)) return -EOPNOTSUPP; /* * As the ext_csd is so large and mostly unused, we don't store the * raw block in mmc_card. */ ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) return -ENOMEM; err = mmc_send_ext_csd(card, ext_csd); if (err) kfree(ext_csd); else *new_ext_csd = ext_csd; return err; } static void mmc_select_card_type(struct mmc_card *card) { struct mmc_host *host = card->host; Loading drivers/mmc/core/mmc_ops.c +29 −0 Original line number Diff line number Diff line Loading @@ -385,6 +385,35 @@ int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd) } EXPORT_SYMBOL_GPL(mmc_send_ext_csd); int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) { int err; u8 *ext_csd; if (!card || !new_ext_csd) return -EINVAL; if (!mmc_can_ext_csd(card)) return -EOPNOTSUPP; /* * As the ext_csd is so large and mostly unused, we don't store the * raw block in mmc_card. */ ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) return -ENOMEM; err = mmc_send_ext_csd(card, ext_csd); if (err) kfree(ext_csd); else *new_ext_csd = ext_csd; return err; } EXPORT_SYMBOL_GPL(mmc_get_ext_csd); int mmc_spi_read_ocr(struct mmc_host *host, int highcap, u32 *ocrp) { struct mmc_command cmd = {0}; Loading include/linux/mmc/core.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ extern int __mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int, bool, bool, bool); extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int); extern int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd); extern int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd); #define MMC_ERASE_ARG 0x00000000 #define MMC_SECURE_ERASE_ARG 0x80000000 Loading Loading
drivers/mmc/core/mmc.c +0 −31 Original line number Diff line number Diff line Loading @@ -177,37 +177,6 @@ static int mmc_decode_csd(struct mmc_card *card) return 0; } /* * Read extended CSD. */ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) { int err; u8 *ext_csd; if (!card || !new_ext_csd) return -EINVAL; if (!mmc_can_ext_csd(card)) return -EOPNOTSUPP; /* * As the ext_csd is so large and mostly unused, we don't store the * raw block in mmc_card. */ ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) return -ENOMEM; err = mmc_send_ext_csd(card, ext_csd); if (err) kfree(ext_csd); else *new_ext_csd = ext_csd; return err; } static void mmc_select_card_type(struct mmc_card *card) { struct mmc_host *host = card->host; Loading
drivers/mmc/core/mmc_ops.c +29 −0 Original line number Diff line number Diff line Loading @@ -385,6 +385,35 @@ int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd) } EXPORT_SYMBOL_GPL(mmc_send_ext_csd); int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) { int err; u8 *ext_csd; if (!card || !new_ext_csd) return -EINVAL; if (!mmc_can_ext_csd(card)) return -EOPNOTSUPP; /* * As the ext_csd is so large and mostly unused, we don't store the * raw block in mmc_card. */ ext_csd = kmalloc(512, GFP_KERNEL); if (!ext_csd) return -ENOMEM; err = mmc_send_ext_csd(card, ext_csd); if (err) kfree(ext_csd); else *new_ext_csd = ext_csd; return err; } EXPORT_SYMBOL_GPL(mmc_get_ext_csd); int mmc_spi_read_ocr(struct mmc_host *host, int highcap, u32 *ocrp) { struct mmc_command cmd = {0}; Loading
include/linux/mmc/core.h +1 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ extern int __mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int, bool, bool, bool); extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int); extern int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd); extern int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd); #define MMC_ERASE_ARG 0x00000000 #define MMC_SECURE_ERASE_ARG 0x80000000 Loading