On Tue, 5 Jul 2022 at 03:25, Seunghui Lee <sh043.lee@xxxxxxxxxxx> wrote: > > add mmc_card_sd_combo() macro for sd combo type card and > use mmc_card_* macro to simplify instead of comparing card->type > > Signed-off-by: Seunghui Lee <sh043.lee@xxxxxxxxxxx> Nice cleanup! I minor thing though, see below. > --- > drivers/mmc/core/block.c | 4 ++-- > drivers/mmc/core/bus.c | 4 ++-- > drivers/mmc/core/sd.c | 2 +- > drivers/mmc/core/sdio.c | 16 ++++++++-------- > drivers/mmc/host/mxcmmc.c | 2 +- Please split this patch into two. One for the core and one for the mxcmmc driver. Otherwise this looks good to me! Kind regards Uffe > include/linux/mmc/card.h | 1 + > 6 files changed, 15 insertions(+), 14 deletions(-) > > diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c > index bda6c67ce93f..4d7ae8fc2901 100644 > --- a/drivers/mmc/core/block.c > +++ b/drivers/mmc/core/block.c > @@ -2987,7 +2987,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); > } > @@ -3014,7 +3014,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); > diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c > index 58a60afa650b..d8762fa3d5cd 100644 > --- a/drivers/mmc/core/bus.c > +++ b/drivers/mmc/core/bus.c > @@ -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)); > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c > index c5f1df6ce4c0..f0186bdf2025 100644 > --- a/drivers/mmc/core/sd.c > +++ b/drivers/mmc/core/sd.c > @@ -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; > diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c > index 25799accf8a0..b589df1c35e0 100644 > --- a/drivers/mmc/core/sdio.c > +++ b/drivers/mmc/core/sdio.c > @@ -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 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, > 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 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, > } 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 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, > /* > * 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 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, > > 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) { > diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c > index 613f13306433..2cf0413407ea 100644 > --- a/drivers/mmc/host/mxcmmc.c > +++ b/drivers/mmc/host/mxcmmc.c > @@ -923,7 +923,7 @@ static void mxcmci_init_card(struct mmc_host *host, struct mmc_card *card) > * One way to prevent this is to only allow 1-bit transfers. > */ > > - if (is_imx31_mmc(mxcmci) && card->type == MMC_TYPE_SDIO) > + if (is_imx31_mmc(mxcmci) && mmc_card_sdio(card)) > host->caps &= ~MMC_CAP_4_BIT_DATA; > else > host->caps |= MMC_CAP_4_BIT_DATA; > diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h > index 37f975875102..156a7b673a28 100644 > --- a/include/linux/mmc/card.h > +++ b/include/linux/mmc/card.h > @@ -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 */ > -- > 2.29.0 >