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-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html