Message ID | 155539004923.25108.12499096383277776864.stgit@noble.brown (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mtk-sd enhancement to support MT7621 | expand |
On Tue, 2019-04-16 at 14:47 +1000, NeilBrown wrote: > When using devicetree for configuration, interrupt trigger type > should be described in the dts file, not hard-coded in the C code. > > The mtk-sd silicon in the mt7621 soc uses an active-high interrupt > and so cannot be used with the current code. > > So remove the trigger and leave it to be set from devicetree. > > Signed-off-by: NeilBrown <neil@brown.name> > --- > drivers/mmc/host/mtk-sd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c > index 4492a4465c0e..14e048239143 100644 > --- a/drivers/mmc/host/mtk-sd.c > +++ b/drivers/mmc/host/mtk-sd.c > @@ -2243,7 +2243,7 @@ static int msdc_drv_probe(struct platform_device *pdev) > msdc_init_hw(host); > > ret = devm_request_irq(&pdev->dev, host->irq, msdc_irq, > - IRQF_TRIGGER_LOW | IRQF_ONESHOT, pdev->name, host); > + change it to IRQF_TRIGGER_NONE | IRQF_ONESHOT > 0, pdev->name, host); > if (ret) > goto release; > > >
On Tue, Apr 16 2019, Chaotian Jing wrote: > On Tue, 2019-04-16 at 14:47 +1000, NeilBrown wrote: >> When using devicetree for configuration, interrupt trigger type >> should be described in the dts file, not hard-coded in the C code. >> >> The mtk-sd silicon in the mt7621 soc uses an active-high interrupt >> and so cannot be used with the current code. >> >> So remove the trigger and leave it to be set from devicetree. >> >> Signed-off-by: NeilBrown <neil@brown.name> >> --- >> drivers/mmc/host/mtk-sd.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c >> index 4492a4465c0e..14e048239143 100644 >> --- a/drivers/mmc/host/mtk-sd.c >> +++ b/drivers/mmc/host/mtk-sd.c >> @@ -2243,7 +2243,7 @@ static int msdc_drv_probe(struct platform_device *pdev) >> msdc_init_hw(host); >> >> ret = devm_request_irq(&pdev->dev, host->irq, msdc_irq, >> - IRQF_TRIGGER_LOW | IRQF_ONESHOT, pdev->name, host); >> + > change it to IRQF_TRIGGER_NONE | IRQF_ONESHOT Why do we need IRQF_ONESHOT. That is for threaded interrupted handlers... msdc_irq() clears the interrupts, so ONESHOT isn't needed. ??? NeilBrown >> 0, pdev->name, host); >> if (ret) >> goto release; >> >> >>
On Wed, 2019-04-17 at 08:12 +1000, NeilBrown wrote: > On Tue, Apr 16 2019, Chaotian Jing wrote: > > > On Tue, 2019-04-16 at 14:47 +1000, NeilBrown wrote: > >> When using devicetree for configuration, interrupt trigger type > >> should be described in the dts file, not hard-coded in the C code. > >> > >> The mtk-sd silicon in the mt7621 soc uses an active-high interrupt > >> and so cannot be used with the current code. > >> > >> So remove the trigger and leave it to be set from devicetree. > >> > >> Signed-off-by: NeilBrown <neil@brown.name> > >> --- > >> drivers/mmc/host/mtk-sd.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c > >> index 4492a4465c0e..14e048239143 100644 > >> --- a/drivers/mmc/host/mtk-sd.c > >> +++ b/drivers/mmc/host/mtk-sd.c > >> @@ -2243,7 +2243,7 @@ static int msdc_drv_probe(struct platform_device *pdev) > >> msdc_init_hw(host); > >> > >> ret = devm_request_irq(&pdev->dev, host->irq, msdc_irq, > >> - IRQF_TRIGGER_LOW | IRQF_ONESHOT, pdev->name, host); > >> + > > change it to IRQF_TRIGGER_NONE | IRQF_ONESHOT > > Why do we need IRQF_ONESHOT. That is for threaded interrupted > handlers... > msdc_irq() clears the interrupts, so ONESHOT isn't needed. > > ??? > > NeilBrown > > I just want to change it to IRQF_TRIGGER_NONE, Since IRQF_TRIGGER_NONE is defined as 0, it's ok to use 0 instead of it. > >> 0, pdev->name, host); > >> if (ret) > >> goto release; > >> > >> > >>
diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c index 4492a4465c0e..14e048239143 100644 --- a/drivers/mmc/host/mtk-sd.c +++ b/drivers/mmc/host/mtk-sd.c @@ -2243,7 +2243,7 @@ static int msdc_drv_probe(struct platform_device *pdev) msdc_init_hw(host); ret = devm_request_irq(&pdev->dev, host->irq, msdc_irq, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, pdev->name, host); + 0, pdev->name, host); if (ret) goto release;
When using devicetree for configuration, interrupt trigger type should be described in the dts file, not hard-coded in the C code. The mtk-sd silicon in the mt7621 soc uses an active-high interrupt and so cannot be used with the current code. So remove the trigger and leave it to be set from devicetree. Signed-off-by: NeilBrown <neil@brown.name> --- drivers/mmc/host/mtk-sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)