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

Subsystems: multimedia card (mmc), secure digital (sd) and sdio subsystem, synopsys designware mmc/sd/sdio driver, the rest

STALE5584d

6 messages, 3 authors, 2011-07-01 · open the first message on its own page

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

From: Seungwon Jeon <hidden>
Date: 2011-06-30 03:28:38

Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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

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

From: Jaehoon Chung <jh80.chung@samsung.com>
Date: 2011-06-30 06:33:40

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); ?


Regards,
Jaehoon Chung


Seungwon Jeon wrote:
quoted hunk
Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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

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

From: James Hogan <hidden>
Date: 2011-06-30 08:11:47

On 30 June 2011 07:33, Jaehoon Chung [off-list ref] 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:
quoted
Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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

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

From: Jaehoon Chung <jh80.chung@samsung.com>
Date: 2011-06-30 08:20:52

Hi James

James Hogan wrote:
On 30 June 2011 07:33, Jaehoon Chung [off-list ref] wrote:
quoted
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
quoted
Regards,
Jaehoon Chung


Seungwon Jeon wrote:
quoted
Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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

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

From: James Hogan <hidden>
Date: 2011-06-30 08:43:10

Hi,

On 30 June 2011 09:20, Jaehoon Chung [off-list ref] wrote:
Hi James

James Hogan wrote:
quoted
On 30 June 2011 07:33, Jaehoon Chung [off-list ref] wrote:
quoted
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
quoted
Cheers
James
quoted
Regards,
Jaehoon Chung


Seungwon Jeon wrote:
quoted
Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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

RE: [PATCH] mmc: dw_mmc: Add the function call for board-specific initialization.

From: 전승원 <hidden>
Date: 2011-07-01 02:28:08

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 [off-list ref] wrote:
quoted
Hi James

James Hogan wrote:
quoted
On 30 June 2011 07:33, Jaehoon Chung [off-list ref] wrote:
quoted
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().
quoted
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)
quoted
drivers/mmc/host/dw_mmc.c:1592: error: (Each undeclared identifier is
reported only once
quoted
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
quoted
Did you really compile fine?

Regards,
Jaehoon Chung
quoted
Cheers
James
quoted
Regards,
Jaehoon Chung


Seungwon Jeon wrote:
quoted
Need to call init() function of dw_mci_board.
It seems to be omitted to call this function.

Signed-off-by: Seungwon Jeon <redacted>
---
 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)
quoted
quoted
quoted
quoted
      }
 }

+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)
quoted
quoted
quoted
quoted
 {
      struct mmc_host *mmc;
@@ -1657,6 +1666,8 @@ static int __init dw_mci_init_slot(struct
dw_mci *host, unsigned int id)
quoted
quoted
quoted
quoted
      } 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
quoted
quoted
quoted
quoted
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
quoted
quoted
quoted
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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help