Re: [PATCH] mmc: dw_mmc: Add the function call for board-specificinitialization.

From: Jaehoon Chung
Date: Thu Jun 30 2011 - 04:20:57 EST


Hi James

James Hogan wrote:
> On 30 June 2011 07:33, Jaehoon Chung <jh80.chung@xxxxxxxxxxx> wrote:
>> Hi Mr.Jeon
>>
>> This patch is the compiler error.
>>
>> didn't find host->card_work..
>>
>> do you want this
>> queue_work(dw_mci_card_workqueue, &slot->host->card_work); ?
>
> I think the patch is based on mmc-next, which has the following commit:
> 35ba9d8 mmc: dw_mmc: convert card tasklet to workqueue

I also tested this patch based on mmc-next.
But my mean is that there is not host structure in dw_mci_detect_interrupt().

drivers/mmc/host/dw_mmc.c: In function 'dw_mci_detect_interrupt':
drivers/mmc/host/dw_mmc.c:1592: error: 'host' undeclared (first use in this function)
drivers/mmc/host/dw_mmc.c:1592: error: (Each undeclared identifier is reported only once
drivers/mmc/host/dw_mmc.c:1592: error: for each function it appears in.)
drivers/mmc/host/dw_mmc.c:1590: warning: unused variable 'slot'
make[3]: *** [drivers/mmc/host/dw_mmc.o] Error 1
make[2]: *** [drivers/mmc/host] Error 2

Did you really compile fine?

Regards,
Jaehoon Chung

>
> Cheers
> James
>
>>
>> Regards,
>> Jaehoon Chung
>>
>>
>> Seungwon Jeon wrote:
>>> Need to call init() function of dw_mci_board.
>>> It seems to be omitted to call this function.
>>>
>>> Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx>
>>> ---
>>> drivers/mmc/host/dw_mmc.c | 11 +++++++++++
>>> 1 files changed, 11 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>> index a524416..073c420 100644
>>> --- a/drivers/mmc/host/dw_mmc.c
>>> +++ b/drivers/mmc/host/dw_mmc.c
>>> @@ -1585,6 +1585,15 @@ static void dw_mci_work_routine_card(struct work_struct *work)
>>> }
>>> }
>>>
>>> +static irqreturn_t dw_mci_detect_interrupt(int irq, void *dev_id)
>>> +{
>>> + struct dw_mci_slot *slot = dev_id;
>>> +
>>> + queue_work(dw_mci_card_workqueue, &host->card_work);
>>> +
>>> + return IRQ_HANDLED;
>>> +}
>>> +
>>> static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
>>> {
>>> struct mmc_host *mmc;
>>> @@ -1657,6 +1666,8 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
>>> } else
>>> regulator_enable(host->vmmc);
>>>
>>> + host->pdata->init(id, dw_mci_detect_interrupt, host);
>>> +
>>> if (dw_mci_get_cd(mmc))
>>> set_bit(DW_MMC_CARD_PRESENT, &slot->flags);
>>> else
>>> --
>>> 1.7.0.4
>>>
>>> --
>>> 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
>>>
>> --
>> 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
>>
>
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/