> -----Original Message----- > From: Seunghui Lee <sh043.lee@xxxxxxxxxxx> > Sent: Tuesday, July 5, 2022 10:57 AM > To: ulf.hansson@xxxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; axboe@xxxxxxxxx; Avri.Altman@xxxxxxx; > shawn.lin@xxxxxxxxxxxxxx; adrian.hunter@xxxxxxxxx > Cc: grant.jung@xxxxxxxxxxx; jt77.jang@xxxxxxxxxxx; > dh0421.hwang@xxxxxxxxxxx; junwoo80.lee@xxxxxxxxxxx; jangsub.yi@xxxxxxxxxxx; > cw9316.lee@xxxxxxxxxxx; sh8267.baek@xxxxxxxxxxx; wkon.kim@xxxxxxxxxxx; > seunghwan.hyun@xxxxxxxxxxx; Seunghui Lee <sh043.lee@xxxxxxxxxxx> > Subject: [PATCH] mmc: use mmc_card_* macro and add it for sd_combo > > 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> > --- > 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 +- > 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 Please give me any opinion or suggestion about this commit. It reduces the length of the line and looks simple. When it comes to refactoring, I've tried to add sd_combo macro as well.