From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4097C43142 for ; Thu, 2 Aug 2018 12:07:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4D781214F1 for ; Thu, 2 Aug 2018 12:07:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linaro.org header.i=@linaro.org header.b="JW78NAGB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4D781214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732334AbeHBN6H (ORCPT ); Thu, 2 Aug 2018 09:58:07 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:39755 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732034AbeHBN6G (ORCPT ); Thu, 2 Aug 2018 09:58:06 -0400 Received: by mail-wr1-f66.google.com with SMTP id h10-v6so1868104wre.6 for ; Thu, 02 Aug 2018 05:07:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=yss0Zz2fzrVJofZsuoXI5VZkNt66v27NddaHX0xwxSY=; b=JW78NAGBMbig5hyIxo2DvywfHIjElo2cS35eTz8u4/zsrPD6CaZVbhLlh908tcUOvY DYvFe/tNUNsPf1l0PnSz908sFuwEZB2oK+E8kkYL6wwTnQSNi3WsW2W8nXMVcAUW02cR aCcb/U0UXuMUo4APdquzMNdBBcybS4Lie2MQY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yss0Zz2fzrVJofZsuoXI5VZkNt66v27NddaHX0xwxSY=; b=ufJDAMtRGT5eAt0hVcR2hkfFzfnDMw3kxaOF9bhal2qi4rBMbId58NnTecFEqlJ+fL KwzzMmR/GGMRk5qQW6XI+xMqkntRjd5Pvr/yKxrYUjWZ7GgekGBfBBeX0kW777J2TaKP 1Tx4bCEp1TeC0xvt/iW/sDpBdfuWc3NI9iEHEzwszV4YF46rddSH1hqtU2oaLgVKEtHM gvCfHjlJPrQHzx2hYvC9spCilpIki208guhxihMgF4yW4/2A8tcI7T3n77D2/Fv+fiLn eFVqtAwW7mwDgDlo5WSwQSDWgkPWGRcRpwoOMwXIHep6QLbyv9PDA/vTkhl4sls6mEJh ewzw== X-Gm-Message-State: AOUpUlF7Ys8hoC7516qKcuvS/b25BtIx6oCy2/MZWQ9o8n+g6PJOCqvZ omN/Jv7yCBfAnQQl2T5x8dxIEA== X-Google-Smtp-Source: AAOMgpem5Ht5IXM87RZbX7qhjNSKhAETNQo706oWFVmRyogC0hjxCXDMY6yjAoGag/j60Ycrl63tUw== X-Received: by 2002:adf:e491:: with SMTP id i17-v6mr1839497wrm.145.1533211632123; Thu, 02 Aug 2018 05:07:12 -0700 (PDT) Received: from [10.44.66.8] ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id y203-v6sm2355753wmd.1.2018.08.02.05.07.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Aug 2018 05:07:11 -0700 (PDT) Subject: Re: [PATCH v7 8/8] interconnect: Allow endpoints translation via DT To: skannan@codeaurora.org Cc: linux-pm@vger.kernel.org, gregkh@linuxfoundation.org, rjw@rjwysocki.net, robh+dt@kernel.org, mturquette@baylibre.com, khilman@baylibre.com, vincent.guittot@linaro.org, bjorn.andersson@linaro.org, amit.kucheria@linaro.org, seansw@qti.qualcomm.com, daidavid1@codeaurora.org, evgreen@chromium.org, mark.rutland@arm.com, lorenzo.pieralisi@arm.com, abailon@baylibre.com, arnd@arndb.de, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org References: <20180731161340.13000-1-georgi.djakov@linaro.org> <20180731161340.13000-9-georgi.djakov@linaro.org> <804925d5927ccb6927b16f7e9a4aa05c@codeaurora.org> From: Georgi Djakov Openpgp: preference=signencrypt Autocrypt: addr=georgi.djakov@linaro.org; prefer-encrypt=mutual; keydata= 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 KEmKjLDvB0pePJkdTw== Message-ID: <3a7bb27a-0609-133b-08e9-8864f1ccc4bc@linaro.org> Date: Thu, 2 Aug 2018 15:07:10 +0300 MIME-Version: 1.0 In-Reply-To: <804925d5927ccb6927b16f7e9a4aa05c@codeaurora.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Saravana, On 08/02/2018 01:57 AM, skannan@codeaurora.org wrote: > On 2018-07-31 09:13, Georgi Djakov wrote: >> Currently we support only platform data for specifying the interconnect >> endpoints. As now the endpoints are hard-coded into the consumer driver >> this may lead to complications when a single driver is used by multiple >> SoCs, which may have different interconnect topology. >> To avoid cluttering the consumer drivers, introduce a translation >> function >> to help us get the board specific interconnect data from device-tree. >> >> Signed-off-by: Georgi Djakov >> --- >>  drivers/interconnect/core.c  | 62 ++++++++++++++++++++++++++++++++++++ >>  include/linux/interconnect.h |  7 ++++ >>  2 files changed, 69 insertions(+) >> >> diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c >> index 9fef180cf77e..d1b6adff0a3d 100644 >> --- a/drivers/interconnect/core.c >> +++ b/drivers/interconnect/core.c [..] >> --- a/include/linux/interconnect.h >> +++ b/include/linux/interconnect.h >> @@ -17,6 +17,7 @@ struct device; >> >>  struct icc_path *icc_get(struct device *dev, const int src_id, >>               const int dst_id); >> +struct icc_path *of_icc_get(struct device *dev, const char *name); >>  void icc_put(struct icc_path *path); >>  int icc_set(struct icc_path *path, u32 avg_bw, u32 peak_bw); >> >> @@ -28,6 +29,12 @@ static inline struct icc_path *icc_get(struct >> device *dev, const int src_id, >>      return NULL; >>  } >> >> +static inline struct icc_path *of_icc_get(struct device *dev, >> +                      const char *name) >> +{ >> +    return NULL; >> +} >> + > > Might want to return PTR(-ENODEV) or some error code so that client > doesn't have to do NULL check AND an error check? > > -Saravana NULL is returned when CONFIG_INTERCONNECT=n. Configuration of interconnects by consumer drivers could be optional and that's why null is returned instead of an error. The consumer drivers decide how to proceed in this case and if there is a hard requirement for interconnect support, then i would suggest to express it as a dependency in Kconfig. Thanks, Georgi