lkml.org 
[lkml]   [2021]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 3/3] i2c: riic: Use platform_get_irq() to get the interrupt
    Date
    platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static
    allocation of IRQ resources in DT core code, this causes an issue
    when using hierarchical interrupt domains using "interrupts" property
    in the node as this bypasses the hierarchical setup and messes up the
    irq chaining.

    In preparation for removal of static setup of IRQ resource from DT core
    code use platform_get_irq().

    Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    ---
    v1->v2
    * Dropped IRQ0 check
    ---
    drivers/i2c/busses/i2c-riic.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
    index 78b84445ee6a..8dfd27dc6149 100644
    --- a/drivers/i2c/busses/i2c-riic.c
    +++ b/drivers/i2c/busses/i2c-riic.c
    @@ -433,12 +433,12 @@ static int riic_i2c_probe(struct platform_device *pdev)
    }

    for (i = 0; i < ARRAY_SIZE(riic_irqs); i++) {
    - res = platform_get_resource(pdev, IORESOURCE_IRQ, riic_irqs[i].res_num);
    - if (!res)
    - return -ENODEV;
    + ret = platform_get_irq(pdev, riic_irqs[i].res_num);
    + if (ret < 0)
    + return ret;

    - ret = devm_request_irq(&pdev->dev, res->start, riic_irqs[i].isr,
    - 0, riic_irqs[i].name, riic);
    + ret = devm_request_irq(&pdev->dev, ret, riic_irqs[i].isr,
    + 0, riic_irqs[i].name, riic);
    if (ret) {
    dev_err(&pdev->dev, "failed to request irq %s\n", riic_irqs[i].name);
    return ret;
    --
    2.17.1
    \
     
     \ /
      Last update: 2021-12-21 18:54    [W:5.949 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site