lkml.org 
[lkml]   [2020]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 05/19] platform/x86: intel_mid_powerbtn: Convert to use new SCU IPC API
    Date
    This converts the power button driver to use the new SCU IPC API where
    the SCU IPC instance is passed to the functions.

    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    ---
    drivers/platform/x86/intel_mid_powerbtn.c | 15 +++++++++++----
    1 file changed, 11 insertions(+), 4 deletions(-)

    diff --git a/drivers/platform/x86/intel_mid_powerbtn.c b/drivers/platform/x86/intel_mid_powerbtn.c
    index 6f436836fe50..1fdcdef1d89f 100644
    --- a/drivers/platform/x86/intel_mid_powerbtn.c
    +++ b/drivers/platform/x86/intel_mid_powerbtn.c
    @@ -46,6 +46,7 @@ struct mid_pb_ddata {
    unsigned short mirqlvl1_addr;
    unsigned short pbstat_addr;
    u8 pbstat_mask;
    + struct intel_scu_ipc_dev *scu;
    int (*setup)(struct mid_pb_ddata *ddata);
    };

    @@ -55,7 +56,8 @@ static int mid_pbstat(struct mid_pb_ddata *ddata, int *value)
    int ret;
    u8 pbstat;

    - ret = intel_scu_ipc_ioread8(ddata->pbstat_addr, &pbstat);
    + ret = intel_scu_ipc_dev_ioread8(ddata->scu, ddata->pbstat_addr,
    + &pbstat);
    if (ret)
    return ret;

    @@ -67,14 +69,15 @@ static int mid_pbstat(struct mid_pb_ddata *ddata, int *value)

    static int mid_irq_ack(struct mid_pb_ddata *ddata)
    {
    - return intel_scu_ipc_update_register(ddata->mirqlvl1_addr, 0, MSIC_PWRBTNM);
    + return intel_scu_ipc_dev_update(ddata->scu, ddata->mirqlvl1_addr, 0,
    + MSIC_PWRBTNM);
    }

    static int mrfld_setup(struct mid_pb_ddata *ddata)
    {
    /* Unmask the PBIRQ and MPBIRQ on Tangier */
    - intel_scu_ipc_update_register(BCOVE_PBIRQ, 0, MSIC_PWRBTNM);
    - intel_scu_ipc_update_register(BCOVE_PBIRQMASK, 0, MSIC_PWRBTNM);
    + intel_scu_ipc_dev_update(ddata->scu, BCOVE_PBIRQ, 0, MSIC_PWRBTNM);
    + intel_scu_ipc_dev_update(ddata->scu, BCOVE_PBIRQMASK, 0, MSIC_PWRBTNM);

    return 0;
    }
    @@ -161,6 +164,10 @@ static int mid_pb_probe(struct platform_device *pdev)
    return error;
    }

    + ddata->scu = devm_intel_scu_ipc_dev_get(&pdev->dev);
    + if (!ddata->scu)
    + return -EPROBE_DEFER;
    +
    error = devm_request_threaded_irq(&pdev->dev, irq, NULL, mid_pb_isr,
    IRQF_ONESHOT, DRIVER_NAME, ddata);
    if (error) {
    --
    2.25.0
    \
     
     \ /
      Last update: 2020-02-17 14:17    [W:4.459 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site