diff mbox

mmc: dw_mmc: Add the function call for board-specific initialization.

Message ID 1309402665-29228-1-git-send-email-tgih.jun@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Seungwon Jeon June 30, 2011, 2:57 a.m. UTC
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@samsung.com>
---
 drivers/mmc/host/dw_mmc.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

--
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

James Hogan June 30, 2011, 8:04 a.m. UTC | #1
On 30 June 2011 07:33, Jaehoon Chung <jh80.chung@samsung.com> 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

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@samsung.com>
>> ---
>>  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@vger.kernel.org
>> 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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Jaehoon Chung June 30, 2011, 8:20 a.m. UTC | #2
Hi James

James Hogan wrote:
> On 30 June 2011 07:33, Jaehoon Chung <jh80.chung@samsung.com> 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@samsung.com>
>>> ---
>>>  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@vger.kernel.org
>>> 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@vger.kernel.org
>> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
James Hogan June 30, 2011, 8:43 a.m. UTC | #3
Hi,

On 30 June 2011 09:20, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> Hi James
>
> James Hogan wrote:
>> On 30 June 2011 07:33, Jaehoon Chung <jh80.chung@samsung.com> 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

Sorry, I misunderstood. You are correct.

Cheers
James

>
> 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@samsung.com>
>>>> ---
>>>>  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@vger.kernel.org
>>>> 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@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>
>>
>>
>
>
Seungwon Jeon July 1, 2011, 2:27 a.m. UTC | #4
Hi,
Thank you for comment.

> -----Original Message-----
> From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
> owner@vger.kernel.org] On Behalf Of James Hogan
> Sent: Thursday, June 30, 2011 5:43 PM
> To: Jaehoon Chung
> Cc: Seungwon Jeon; linux-mmc@vger.kernel.org; cjb@laptop.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH] mmc: dw_mmc: Add the function call for board-specific
> initialization.
> 
> Hi,
> 
> On 30 June 2011 09:20, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> > Hi James
> >
> > James Hogan wrote:
> >> On 30 June 2011 07:33, Jaehoon Chung <jh80.chung@samsung.com> 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
> 
> Sorry, I misunderstood. You are correct.


queue_work(dw_mci_card_workqueue, &host->card_work);
'slot' is omitted. (&slot->host->card_work)

Sorry for my mistake.
I'll fix it.

Best regards,
Seungwon.


> Cheers
> James
> 
> >
> > 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@samsung.com>
> >>>> ---
> >>>>  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@vger.kernel.org
> >>>> 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@vger.kernel.org
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>>
> >>
> >>
> >>
> >
> >
> 
> 
> 
> --
> James Hogan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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