Skip to contentSkip to conversation

onkey/rtc: da9055: Remove conflicting use of regmap_irq_get_virq()

PATCH Superseded Adam Thomson 2 participants 3 messages Feb 11, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover onkey/rtc: da9055: Remove conflicting use of regmap_irq_get_virq()

This patch set removes the use of regmap_irq_get_virq() in driver probes for da9055 (in particular RTC and ONKEY) which was conflicting with use of platform_get_irq_byname(). platform_get_irq_byname() already returns the VIRQ number due to MFD core translation so using regmap_irq_get_virq() on that returned value results in an incorrect IRQ being requested. The driver probes then fail because of this.

Adam Thomson (2):
onkey: da9055: Remove use of regmap_irq_get_virq()
rtc: da9055: Remove use of regmap_irq_get_virq()

 drivers/input/misc/da9055_onkey.c |    1 -
 drivers/rtc/rtc-da9055.c          |    4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)
#1 lore raw

PATCH 1/2 onkey: da9055: Remove use of regmap_irq_get_virq()

Using platform_get_irq_byname() to retrieve the IRQ number returns the VIRQ number rather than the local IRQ number for the device. Passing that value then into regmap_irq_get_virq() causes a failure because the function is expecting the local IRQ number (e.g. 0, 1, 2, 3, etc). This patch removes use of regmap_irq_get_virq() to prevent this failure from happening.

---
 drivers/input/misc/da9055_onkey.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
drivers/input/misc/da9055_onkey.c +0 -1
index 4b11ede..4765799 100644
@@ -109,7 +109,6 @@ static int da9055_onkey_probe(struct platform_device *pdev)
 
        INIT_DELAYED_WORK(&onkey->work, da9055_onkey_work);
 
-       irq = regmap_irq_get_virq(da9055->irq_data, irq);
        err = request_threaded_irq(irq, NULL, da9055_onkey_irq,
                                   IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
                                   "ONKEY", onkey);

--
1.7.0.4

Legal Disclaimer: This e-mail communication (and any attachment/s) is confidential and contains proprietary information, some or all of which may be legally privileged. It is intended solely for the use of the individual or entity to which it is addressed. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.

Please consider the environment before printing this e-mail

#2 lore raw

PATCH 2/2 rtc: da9055: Remove use of regmap_irq_get_virq()

In reply to Adam Thomson

Using platform_get_irq_byname() to retrieve the IRQ number returns the VIRQ number rather than the local IRQ number for the device. Passing that value then into regmap_irq_get_virq() causes a failure because the function is expecting the local IRQ number (e.g. 0, 1, 2, 3, etc). This patch removes use of regmap_irq_get_virq() to prevent this failure from happening

---
 drivers/rtc/rtc-da9055.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/rtc/rtc-da9055.c +3 -1
index 48cb2ac..a825491 100644
@@ -302,7 +302,9 @@ static int da9055_rtc_probe(struct platform_device *pdev)
        }
 
        alm_irq = platform_get_irq_byname(pdev, "ALM");
-       alm_irq = regmap_irq_get_virq(rtc->da9055->irq_data, alm_irq);
+       if (alm_irq < 0)
+               return alm_irq;
+
        ret = devm_request_threaded_irq(&pdev->dev, alm_irq, NULL,
                                        da9055_rtc_alm_irq,
                                        IRQF_TRIGGER_HIGH | IRQF_ONESHOT,

--
1.7.0.4

Legal Disclaimer: This e-mail communication (and any attachment/s) is confidential and contains proprietary information, some or all of which may be legally privileged. It is intended solely for the use of the individual or entity to which it is addressed. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.

Please consider the environment before printing this e-mail