mmc: core: Use mmc_card_* macro and add a new for the sd_combo type
authorSeunghui Lee <sh043.lee@samsung.com>
Wed, 13 Jul 2022 03:36:34 +0000 (12:36 +0900)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 13 Jul 2022 10:44:41 +0000 (12:44 +0200)
Add mmc_card_sd_combo() macro for sd combo type card and use the mmc_card_*
macro to simplify code instead of comparing card->type.

Signed-off-by: Seunghui Lee <sh043.lee@samsung.com>
Link: https://lore.kernel.org/r/20220713033635.28432-2-sh043.lee@samsung.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c
drivers/mmc/core/bus.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c
include/linux/mmc/card.h

index f4a1281..9c642b3 100644 (file)
@@ -2988,7 +2988,7 @@ static int mmc_blk_probe(struct mmc_card *card)
         * Don't enable runtime PM for SD-combo cards here. Leave that
         * decision to be taken during the SDIO init sequence instead.
         */
-       if (card->type != MMC_TYPE_SD_COMBO) {
+       if (!mmc_card_sd_combo(card)) {
                pm_runtime_set_active(&card->dev);
                pm_runtime_enable(&card->dev);
        }
@@ -3015,7 +3015,7 @@ static void mmc_blk_remove(struct mmc_card *card)
                mmc_blk_part_switch(card, md->part_type);
                mmc_release_host(card->host);
        }
-       if (card->type != MMC_TYPE_SD_COMBO)
+       if (!mmc_card_sd_combo(card))
                pm_runtime_disable(&card->dev);
        pm_runtime_put_noidle(&card->dev);
        mmc_blk_remove_req(md);
index 58a60af..d8762fa 100644 (file)
@@ -85,7 +85,7 @@ mmc_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
                        return retval;
        }
 
-       if (card->type == MMC_TYPE_SDIO || card->type == MMC_TYPE_SD_COMBO) {
+       if (mmc_card_sdio(card) || mmc_card_sd_combo(card)) {
                retval = add_uevent_var(env, "SDIO_ID=%04X:%04X",
                                        card->cis.vendor, card->cis.device);
                if (retval)
@@ -107,7 +107,7 @@ mmc_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
         * SDIO (non-combo) cards are not handled by mmc_block driver and do not
         * have accessible CID register which used by mmc_card_name() function.
         */
-       if (card->type == MMC_TYPE_SDIO)
+       if (mmc_card_sdio(card))
                return 0;
 
        retval = add_uevent_var(env, "MMC_NAME=%s", mmc_card_name(card));
index d202383..cee4c0b 100644 (file)
@@ -793,7 +793,7 @@ static umode_t sd_std_is_visible(struct kobject *kobj, struct attribute *attr,
             attr == &dev_attr_info2.attr ||
             attr == &dev_attr_info3.attr ||
             attr == &dev_attr_info4.attr
-           ) && card->type != MMC_TYPE_SD_COMBO)
+           ) &&!mmc_card_sd_combo(card))
                return 0;
 
        return attr->mode;
index 25799ac..b589df1 100644 (file)
@@ -335,7 +335,7 @@ static int sdio_disable_4bit_bus(struct mmc_card *card)
 {
        int err;
 
-       if (card->type == MMC_TYPE_SDIO)
+       if (mmc_card_sdio(card))
                goto out;
 
        if (!(card->host->caps & MMC_CAP_4_BIT_DATA))
@@ -360,7 +360,7 @@ static int sdio_enable_4bit_bus(struct mmc_card *card)
        err = sdio_enable_wide(card);
        if (err <= 0)
                return err;
-       if (card->type == MMC_TYPE_SDIO)
+       if (mmc_card_sdio(card))
                goto out;
 
        if (card->scr.bus_widths & SD_SCR_BUS_WIDTH_4) {
@@ -415,7 +415,7 @@ static int sdio_enable_hs(struct mmc_card *card)
        int ret;
 
        ret = mmc_sdio_switch_hs(card, true);
-       if (ret <= 0 || card->type == MMC_TYPE_SDIO)
+       if (ret <= 0 || mmc_card_sdio(card))
                return ret;
 
        ret = mmc_sd_switch_hs(card);
@@ -441,7 +441,7 @@ static unsigned mmc_sdio_get_max_clock(struct mmc_card *card)
                max_dtr = card->cis.max_dtr;
        }
 
-       if (card->type == MMC_TYPE_SD_COMBO)
+       if (mmc_card_sd_combo(card))
                max_dtr = min(max_dtr, mmc_sd_get_max_clock(card));
 
        return max_dtr;
@@ -689,7 +689,7 @@ try_again:
            mmc_sd_get_cid(host, ocr & rocr, card->raw_cid, NULL) == 0) {
                card->type = MMC_TYPE_SD_COMBO;
 
-               if (oldcard && (oldcard->type != MMC_TYPE_SD_COMBO ||
+               if (oldcard && (!mmc_card_sd_combo(oldcard) ||
                    memcmp(card->raw_cid, oldcard->raw_cid, sizeof(card->raw_cid)) != 0)) {
                        err = -ENOENT;
                        goto mismatch;
@@ -697,7 +697,7 @@ try_again:
        } else {
                card->type = MMC_TYPE_SDIO;
 
-               if (oldcard && oldcard->type != MMC_TYPE_SDIO) {
+               if (oldcard && !mmc_card_sdio(oldcard)) {
                        err = -ENOENT;
                        goto mismatch;
                }
@@ -754,7 +754,7 @@ try_again:
        /*
         * Read CSD, before selecting the card
         */
-       if (!oldcard && card->type == MMC_TYPE_SD_COMBO) {
+       if (!oldcard && mmc_card_sd_combo(card)) {
                err = mmc_sd_get_csd(card);
                if (err)
                        goto remove;
@@ -827,7 +827,7 @@ try_again:
 
        mmc_fixup_device(card, sdio_fixup_methods);
 
-       if (card->type == MMC_TYPE_SD_COMBO) {
+       if (mmc_card_sd_combo(card)) {
                err = mmc_sd_setup_card(host, card, oldcard != NULL);
                /* handle as SDIO-only card if memory init failed */
                if (err) {
index 37f9758..156a7b6 100644 (file)
@@ -348,5 +348,6 @@ bool mmc_card_is_blockaddr(struct mmc_card *card);
 #define mmc_card_mmc(c)                ((c)->type == MMC_TYPE_MMC)
 #define mmc_card_sd(c)         ((c)->type == MMC_TYPE_SD)
 #define mmc_card_sdio(c)       ((c)->type == MMC_TYPE_SDIO)
+#define mmc_card_sd_combo(c)   ((c)->type == MMC_TYPE_SD_COMBO)
 
 #endif /* LINUX_MMC_CARD_H */