[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFpe4_3BXFB8jxHhZknfmT2UrO6ddCcOpq2whN3ayEO6Dg@mail.gmail.com>
Date: Tue, 22 Apr 2014 13:36:11 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Seungwon Jeon <tgih.jun@...sung.com>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
Fariya Fatima <fariyaf@...il.com>,
"John W. Linville" <linville@...driver.com>,
Jaehoon Chung <jh80.chung@...sung.com>,
Chris Ball <chris@...ntf.net>,
"linux-next@...r.kernel.org" <linux-next@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux-mmc <linux-mmc@...r.kernel.org>
Subject: Re: [PATCH] linux-next: rsi: fix using of removed stuff from mmc
On 22 April 2014 12:53, Seungwon Jeon <tgih.jun@...sung.com> wrote:
> On Tue, April 22, 2014, Ulf Hansson wrote:
>> On 22 April 2014 08:57, Seungwon Jeon <tgih.jun@...sung.com> wrote:
>> > As commit 3957848(mmc: drop the speed mode of card's state) applies,
>> > this change should be followed.
>> >
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:288:20: error: 'MMC_STATE_HIGHSPEED' undeclared (first use
>> in this function)
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:299:4: error: implicit declaration of function
>> 'mmc_card_set_highspeed' [-Werror=implicit-function-declaration]
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:306:2: error: implicit declaration of function
>> 'mmc_card_highspeed' [-Werror=implicit-function-declaration]
>> >
>> > Signed-off-by: Seungwon Jeon <tgih.jun@...sung.com>
>>
>> Hi Seungwon,
>>
>> Thanks for responding quickly!
>>
>> > ---
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c | 4 +---
>> > 1 files changed, 1 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > index 2e39d38..46e7af4 100644
>> > --- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > +++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > @@ -285,7 +285,6 @@ static void rsi_reset_card(struct sdio_func *pfunction)
>> > if (err) {
>> > rsi_dbg(ERR_ZONE, "%s: CCCR speed reg read failed: %d\n",
>> > __func__, err);
>> > - card->state &= ~MMC_STATE_HIGHSPEED;
>> > } else {
>> > err = rsi_cmd52writebyte(card,
>> > SDIO_CCCR_SPEED,
>> > @@ -296,14 +295,13 @@ static void rsi_reset_card(struct sdio_func *pfunction)
>> > __func__, err);
>> > return;
>> > }
>> > - mmc_card_set_highspeed(card);
>> > host->ios.timing = MMC_TIMING_SD_HS;
>> > host->ops->set_ios(host, &host->ios);
>> > }
>> > }
>> >
>> > /* Set clock */
>> > - if (mmc_card_highspeed(card))
>> > + if (mmc_card_hs(card))
>> > clock = 50000000;
>> > else
>> > clock = card->cis.max_dtr;
>> > --
>> > 1.7.0.4
>> >
>> >
>>
>> I am not sure it's safe to carry this patch through Chris' mmc tree
>> due to merge conflicts with John's wireless tree.
>>
>> Though, since you have changed the mmc_card_highspeed() function to be
>> named to mmc_card_hs(), we need to work out the dependency.
>>
>> We have some options to handle this, I suggest the following.
>>
>> Re-spin this patch to keep using mmc_card_highspeed() and let John
>> take it through his wireless tree. Thus you also need to keep the
> It would be better if this patch can be handled in Chris's.
> Because if the rest of changes of this patch with keeping "mmc_card_highspeed" is applied,
> high-speed SDIO will be ignored in John's tree.
You are right Seungwon!
Please re-spin the patchset on the mmc core an squash the code from
this patch, into the patch "mmc: drop the speed mode of card's state".
We then need to get acks from John and Fariya.
BTW, I had a look at the rsi_reset_card() function
(drivers/net/wireless/rsi/rsi_91x_sdio.c), which handles a complete
SDIO re-initialization and I think performs "layering violations"
while doing that. I suppose it's because of lack of documentation
about the mmc/sdio core, but I really don't think an SDIO func driver
should be doing that kind of stuff by itself. There are APIs to use to
perform an SDIO reset. Two options exists:
a) Use pm_runtime_get|put in combination with a MMC_CAP_POWER_OFF_CARD
enabled host.
b) Invoke mmc_power_save|restore_host() API.
Kind regards
Ulf Hansson
>
> Thanks,
> Seungwon Jeon
>
>> name mmc_card_highspeed() function from the patches to the mmc core -
>> could you please re-spin and post new version of those patches as
>> well!?
>>
>> Kind regards
>> Ulf Hansson
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists