Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp336642pxu; Fri, 23 Oct 2020 01:55:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx3E6Y8eozAOSYLlh1DmexWVcueqy0NGH0eyuYbY9zZX0r8mOaQU7DVPEZxqCz100dz1TsG X-Received: by 2002:a05:6402:1779:: with SMTP id da25mr1168481edb.60.1603443353863; Fri, 23 Oct 2020 01:55:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603443353; cv=none; d=google.com; s=arc-20160816; b=gvquZN4OArchHoh2zs2BBGNvN84kE0mgcMuS2gKIb7EnBzfb+2VS2UvCtrU3R/mVQZ STOc9k5ncPMFJVauaVbbYRCaFIhZkIw6QLbfTHuU/JD4X1TcMkngdiR9QBBe0+orLLIP 1JcYtcY2uYlPiaYKk1TneZo5GWnLTC0aA6AMAhOmg9lvZMPxqqb6d9dk8uPDzNJqAoTN x1DXZFXfzzxm1TGmvT2BP/JfANjCriBdPJe0DMZ33N23/wvie566xahwB0IG5LXeZyfY gZ8vddBuGgzbRxdQt5qmSrL0lNCBOe0VLP/LxBlyHlxibVI6NQk0UROYZwPOGt9nz7I/ RrZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:ironport-sdr:ironport-sdr; bh=4hpjQTlgwdzE0G2+1I6oFdfM9ftacqegMFzJrk7yvBo=; b=R5eA0dtGC4C+kMrdSkcC1BAXk2Dt1smQUCSH6YKBL92wP3AFdr7KbrFFPBZNq/LWn+ YkHlWIFDhM6SMDHL1WZCJZbNtXokTba43o73yQm4qM19Gp9RQ4mjqgkO+sGaQAms++Zj UlryToqr5pNpENCMO6wd2jshPn5dHDBcl7CYs3JKhYyONX53vBf2m3vhs/vfJ6EsR8JU sPkUJZTX6M7g0sanO1uhGAnHW7RfRwW+r82FoSGr/RM3FkI2VHqKlrDrqGg0NVa2IeLi ArWgM0d/0MVVhYqkvHQv12VWQZ70ckA/ujTAkhtJOK/oCf8LzTYElJ13SIdFRklpbz1B RuHw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r22si433297ejc.124.2020.10.23.01.55.31; Fri, 23 Oct 2020 01:55:53 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S460803AbgJWIvd (ORCPT + 99 others); Fri, 23 Oct 2020 04:51:33 -0400 Received: from mga04.intel.com ([192.55.52.120]:3681 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S460748AbgJWIvc (ORCPT ); Fri, 23 Oct 2020 04:51:32 -0400 IronPort-SDR: c5CT5yZ2pIQbKok5sZvAIzp05EM3u7J6L3i/RILt/Cd4gsXzqiuLV5LyYr4B4bE0jeMRUB9Qj4 JQZTekCnA5eg== X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="165055355" X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="165055355" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2020 01:51:32 -0700 IronPort-SDR: hDUlTG/KaLUMQTN6xxE8syzzmbKqwBq4XWZTOQAyXbCi07LvZLv/0kQ8k0awOP0/dlWUzuyPHH eaB55I3DSEtg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="523436304" Received: from yilunxu-optiplex-7050.sh.intel.com ([10.239.159.141]) by fmsmga006.fm.intel.com with ESMTP; 23 Oct 2020 01:51:29 -0700 From: Xu Yilun To: jesse.brandeburg@intel.com, anthony.l.nguyen@intel.com, davem@davemloft.net, kuba@kernel.org, mdf@kernel.org, lee.jones@linaro.org Cc: linux-kernel@vger.kernel.org, linux-fpga@vger.kernel.org, netdev@vger.kernel.org, trix@redhat.com, lgoncalv@redhat.com, yilun.xu@intel.com, hao.wu@intel.com Subject: [RFC PATCH 3/6] fpga: dfl: add an API to get the base device for dfl device Date: Fri, 23 Oct 2020 16:45:42 +0800 Message-Id: <1603442745-13085-4-git-send-email-yilun.xu@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1603442745-13085-1-git-send-email-yilun.xu@intel.com> References: <1603442745-13085-1-git-send-email-yilun.xu@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds an API for dfl devices to find which physical device owns the DFL. This patch makes preparation for supporting DFL Ether Group private feature driver. It uses this information to determine which retimer device physically connects to which ether group. Signed-off-by: Xu Yilun --- drivers/fpga/dfl.c | 9 +++++++++ include/linux/dfl.h | 1 + 2 files changed, 10 insertions(+) diff --git a/drivers/fpga/dfl.c b/drivers/fpga/dfl.c index ca3c678..52d18e6 100644 --- a/drivers/fpga/dfl.c +++ b/drivers/fpga/dfl.c @@ -558,6 +558,15 @@ int dfl_dev_get_vendor_net_cfg(struct dfl_device *dfl_dev) } EXPORT_SYMBOL_GPL(dfl_dev_get_vendor_net_cfg); +struct device *dfl_dev_get_base_dev(struct dfl_device *dfl_dev) +{ + if (!dfl_dev || !dfl_dev->cdev) + return NULL; + + return dfl_dev->cdev->parent; +} +EXPORT_SYMBOL_GPL(dfl_dev_get_base_dev); + #define is_header_feature(feature) ((feature)->id == FEATURE_ID_FIU_HEADER) /** diff --git a/include/linux/dfl.h b/include/linux/dfl.h index 5ee2b1e..dd313f2 100644 --- a/include/linux/dfl.h +++ b/include/linux/dfl.h @@ -68,6 +68,7 @@ struct dfl_driver { #define to_dfl_drv(d) container_of(d, struct dfl_driver, drv) int dfl_dev_get_vendor_net_cfg(struct dfl_device *dfl_dev); +struct device *dfl_dev_get_base_dev(struct dfl_device *dfl_dev); /* * use a macro to avoid include chaining to get THIS_MODULE. -- 2.7.4