Hi Shawn, On 01/13/2017 11:59 AM, Shawn Lin wrote: > When deploying runtime PM, it's quite verbose to print the > log of ios setting. Also it's useless to print it from system > PM as it should be the same with booting time. We also have > sysfs to get all these information from ios attribute, so let's > skip this print from PM context. It seems that force_clkinit and pm_context are same value.. Why do you put "pm_context"? Best Regards, Jaehoon Chung > > Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> > --- > > Changes in v5: None > Changes in v4: None > Changes in v3: None > Changes in v2: None > > drivers/mmc/host/dw_mmc.c | 21 ++++++++++++--------- > 1 file changed, 12 insertions(+), 9 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index 3d213e7..dc58ec3 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -1153,7 +1153,8 @@ static void mci_send_cmd(struct dw_mci_slot *slot, u32 cmd, u32 arg) > cmd, arg, cmd_status); > } > > -static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) > +static void dw_mci_setup_bus(struct dw_mci_slot *slot, > + bool force_clkinit, bool pm_context) > { > struct dw_mci *host = slot->host; > unsigned int clock = slot->clock; > @@ -1182,11 +1183,13 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool force_clkinit) > if ((clock != slot->__clk_old && > !test_bit(DW_MMC_CARD_NEEDS_POLL, &slot->flags)) || > force_clkinit) { > - dev_info(&slot->mmc->class_dev, > - "Bus speed (slot %d) = %dHz (slot req %dHz, actual %dHZ div = %d)\n", > - slot->id, host->bus_hz, clock, > - div ? ((host->bus_hz / div) >> 1) : > - host->bus_hz, div); > + /* Silent the verbose log if calling from PM context */ > + if (!pm_context) > + dev_info(&slot->mmc->class_dev, > + "Bus speed (slot %d) = %dHz (slot req %dHz, actual %dHZ div = %d)\n", > + slot->id, host->bus_hz, clock, > + div ? ((host->bus_hz / div) >> 1) : > + host->bus_hz, div); > > /* > * If card is polling, display the message only > @@ -1434,12 +1437,12 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) > } > > /* Adjust clock / bus width after power is up */ > - dw_mci_setup_bus(slot, false); > + dw_mci_setup_bus(slot, false, false); > > break; > case MMC_POWER_OFF: > /* Turn clock off before power goes down */ > - dw_mci_setup_bus(slot, false); > + dw_mci_setup_bus(slot, false, false); > > if (!IS_ERR(mmc->supply.vmmc)) > mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0); > @@ -3366,7 +3369,7 @@ int dw_mci_runtime_resume(struct device *dev) > continue; > if (slot->mmc->pm_flags & MMC_PM_KEEP_POWER) { > dw_mci_set_ios(slot->mmc, &slot->mmc->ios); > - dw_mci_setup_bus(slot, true); > + dw_mci_setup_bus(slot, true, true); > } > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html