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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
> -----Original Message-----
> From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Kyungmin Park
> Sent: Monday, July 04, 2011 4:50 PM
> To: Seungwon Jeon
> Cc: linux-mmc@xxxxxxxxxxxxxxx; Chris Ball; Will Newton; Jaehoon Chung;
> James Hogan
> Subject: Re: mmc: dw_mmc: Add the function call for board-specific
> initialization.
> 
> Hi,
> 
> Yes it's defined and checked, but not used.
> Can you describe the reason why init call is required?
> and If required, what's the meaning?


I think some "board specific" init-routine may be needed, e.g. external IRQ for card detection.
But there is no call for this in dw_mmc.c currently.
If init function is just checked registration of definition and real call is performed outside,
we don't need to call this function explicitly.

Thank you for comment

Best regards,
Seungwon.


> Thank you,
> Kyungmin Park
> 
> On Mon, Jul 4, 2011 at 4:07 PM, Seungwon Jeon <tgih.jun@xxxxxxxxxxx> 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..688d58a 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, &slot->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


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux