Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp855028pxt; Thu, 5 Aug 2021 13:27:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyNtvl8//e5agK4j5QhbTOhnB1wf4JItA3YT0BsM4LvP3a6OAcUb4hCO9KC7MUXe8NK3JT2 X-Received: by 2002:a5e:c803:: with SMTP id y3mr143846iol.107.1628195226796; Thu, 05 Aug 2021 13:27:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628195226; cv=none; d=google.com; s=arc-20160816; b=d0OxGw+qDYuF2kMZjsspYgLy+mXq1J/1Vrw5DcHn/Clr7GkMX64n2/JqKiC+mGGMn7 bh4UXJvB7rBgyiM23MxYSxUKpZcOZiMrhsNunGecF+fXVHIgRYLK9A60OG9+0z5MD27f XWc+tYgtfSeGiB2yKGu/QRLmin/IL10WU6o28Yt0fWMvJkei1CK4RCPIePWi0arBmPnW rSfxXAPiQyewLS/MY4Ha/f9XfY6Som5YDiUIM/c1uqGYbMIMdN7RD5+0+u/g8Fu13kIW 5nvQCRzRRZEMKHPhi//cP35FhW6fqXAEkl8C3ndtJ+IAsML5s1cail1tZnJh/8moQsvM X7Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:user-agent:from :references:in-reply-to:mime-version:dkim-signature; bh=TZQqBrv6qFFrmIcwMHn6Tt1aOzqmQe5CcX5H31Yc2D8=; b=kMKw2i9sbVV7/bdhJclZkUkXJAgreS4yGWMxAILp4Nr+aiq6kzqSG7R17+viiWAUrw Un5YsgEEfiB11i2zFLjzVIrD7mn8X+qPllRED9A32WbZvf7xBuwGQFtgr2Qe760MXQMU J7tAcXl/ibv7HoTcv+ESLJFcnjjOqwLIq/js7PYsfrn05v1BELNq9i8APiKNMW3ULAvh NNuTVCQ/vq5ongKScofJnvJY+G9+2NBxoTIZZRXOxvIZ4TKpPDl+oWdQvGl7S9WgPBAq 2/hazPxistI1nQl40xE6K+5XtEU5hb+LCvKoTB0EuDrcgwCrwMwU7LoDwX+jhZIhpUES F3wg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=jM+qFVtx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z2si1951925jal.65.2021.08.05.13.26.55; Thu, 05 Aug 2021 13:27:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=jM+qFVtx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241289AbhHESep (ORCPT + 99 others); Thu, 5 Aug 2021 14:34:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241267AbhHESek (ORCPT ); Thu, 5 Aug 2021 14:34:40 -0400 Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66BA3C0613D5 for ; Thu, 5 Aug 2021 11:34:24 -0700 (PDT) Received: by mail-oi1-x236.google.com with SMTP id a19so8608000oiw.6 for ; Thu, 05 Aug 2021 11:34:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:user-agent:date:message-id :subject:to:cc; bh=TZQqBrv6qFFrmIcwMHn6Tt1aOzqmQe5CcX5H31Yc2D8=; b=jM+qFVtxfPIwShdjDlkwiDnBtOTl3GBLcUMQkzrNJs5RMZD08KMiUYSXA6DwKlngcV FJdoM4rjwEct36UODwq4Z0sqEBOhjWI4w5GZWCqCzdl//cLAReV5sS8sKwe18gDlt37P exqVNaZ3KID+niE8g3gCNu20AhSeKoh22h7Nw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from :user-agent:date:message-id:subject:to:cc; bh=TZQqBrv6qFFrmIcwMHn6Tt1aOzqmQe5CcX5H31Yc2D8=; b=uVUaaMCpIPXU2A5zw2WiKwIMvULWkV863mVidnrOeLshBbWazK91P8ysc5iAAow7zX yPjwFjPITAKaHfZaRnzPy7jsGfn03zPcAYNmfSfubhaMio6r4K541S3zgrKE38fUaMj1 onyycQ/4JAtC8rDhCdDyDzbc+bhCo74g6CCyBvwj8e//q6sg3so2p2Ir9ZH6kMiV+XyN Qp7oWYzr5YOFOaBQMArREx1NUGnqwDSeH5sS/o9l2ih3z3tRIA5+q+m/8sQVmdc7zZ3g O0Lg+lAj+jzWvqWg7BjCWosuY/U9h5Hjahcmbt8u2AofmaP4pk0IAqlmxR2gRq4THJ1f zD3w== X-Gm-Message-State: AOAM533hMx7VrAr/2+Em4lgFB5A+Vhnt9cSRwRltTEz5xJZR/+mAcJFI 2WgoAP6HBj6Y5zIyphWCNCVTBdV226vGPlanOjhE6w== X-Received: by 2002:a05:6808:619:: with SMTP id y25mr8128779oih.166.1628188464390; Thu, 05 Aug 2021 11:34:24 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 5 Aug 2021 11:34:23 -0700 MIME-Version: 1.0 In-Reply-To: <1628161974-7182-2-git-send-email-deesin@codeaurora.org> References: <1628161974-7182-1-git-send-email-deesin@codeaurora.org> <1628161974-7182-2-git-send-email-deesin@codeaurora.org> From: Stephen Boyd User-Agent: alot/0.9.1 Date: Thu, 5 Aug 2021 11:34:23 -0700 Message-ID: Subject: Re: [PATCH V5 1/2] soc: qcom: aoss: Expose send for generic usecase To: Deepak Kumar Singh , bjorn.andersson@linaro.org, clew@codeaurora.org, sibis@codeaurora.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, Andy Gross Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Deepak Kumar Singh (2021-08-05 04:12:53) > diff --git a/drivers/soc/qcom/qcom_aoss.c b/drivers/soc/qcom/qcom_aoss.c > index 934fcc4..b84cb31 100644 > --- a/drivers/soc/qcom/qcom_aoss.c > +++ b/drivers/soc/qcom/qcom_aoss.c > @@ -515,6 +521,43 @@ static void qmp_cooling_devices_remove(struct qmp *qmp) > thermal_cooling_device_unregister(qmp->cooling_devs[i].cdev); > } > > +/** > + * qmp_get() - get a qmp handle from a device > + * @dev: client device pointer > + * > + * Return: handle to qmp device on success, ERR_PTR() on failure > + */ > +struct qmp *qmp_get(struct device *dev) > +{ > + struct platform_device *pdev; > + struct device_node *np; > + struct qmp *qmp; > + > + if (!dev || !dev->of_node) > + return ERR_PTR(-EINVAL); > + > + np = of_parse_phandle(dev->of_node, "qcom,qmp", 0); > + if (!np) > + return ERR_PTR(-ENODEV); > + > + pdev = of_find_device_by_node(np); > + of_node_put(np); > + if (!pdev) > + return ERR_PTR(-EINVAL); > + > + qmp = platform_get_drvdata(pdev); > + > + return qmp ? qmp : ERR_PTR(-EPROBE_DEFER); > +} > +EXPORT_SYMBOL(qmp_get); > + > +void qmp_put(struct qmp *qmp) > +{ > + if (!IS_ERR_OR_NULL(qmp)) > + put_device(qmp->dev); Where is the corresponding get_device() call? > +} > +EXPORT_SYMBOL(qmp_put); > + > static int qmp_probe(struct platform_device *pdev) > { > struct resource *res;