From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753114AbdECMDd (ORCPT ); Wed, 3 May 2017 08:03:33 -0400 Received: from mga11.intel.com ([192.55.52.93]:9480 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751623AbdECMDR (ORCPT ); Wed, 3 May 2017 08:03:17 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,283,1491289200"; d="scan'208";a="1143091081" Date: Wed, 3 May 2017 19:58:31 +0800 From: Wu Hao To: Alan Tull Cc: Moritz Fischer , linux-kernel@vger.kernel.org, linux-fpga@vger.kernel.org Subject: Re: [PATCH v2 02/16] fpga: bridge: support getting bridge from device Message-ID: <20170503115831.GA30448@hao-dev> References: <1492697401-11211-1-git-send-email-atull@kernel.org> <1492697401-11211-3-git-send-email-atull@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1492697401-11211-3-git-send-email-atull@kernel.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 20, 2017 at 09:09:47AM -0500, Alan Tull wrote: > Add two functions for getting the FPGA bridge from the device > rather than device tree node. This is to enable writing code > that will support using FPGA bridges without device tree. > Rename one old function to make it clear that it is device > tree-ish. This leaves us with 3 functions for getting a bridge: > > * fpga_bridge_get > Get the bridge given the device. > > * fpga_bridges_get_to_list > Given the device, get the bridge and add it to a list. > > * of_fpga_bridges_get_to_list > Renamed from priviously existing fpga_bridges_get_to_list. > Given the device node, get the bridge and add it to a list. > Hi Alan Thanks a lot for providing this patch set for non device tree support. :) Actually I am reworking the Intel FPGA device drivers based on this patch set, and I find some problems with the existing APIs including fpga bridge and manager. My idea is to create all fpga bridges/regions/manager under the same platform device (FME), it allows FME driver to establish the relationship for the bridges/regions/managers it creates in an easy way. But I found current fpga class API doesn't support this very well. e.g fpga_bridge_get/get_to_list only accept parent device as the input parameter, but it doesn't work if we have multiple bridges (and regions/manager) under the same platform device. fpga_mgr has similar issue, but fpga_region APIs work better, as they accept fpga_region as parameter not the shared parent device. Do you think if having multiple fpga-* under one parent device is in the right direction? If yes, shall we provide some more APIs which accept fpga_bridge (and same for fpga-mgr) as parameter instead of the parent device just like fpga-region? Thanks Hao