Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752151AbdLDWZd (ORCPT ); Mon, 4 Dec 2017 17:25:33 -0500 Received: from mail-ot0-f172.google.com ([74.125.82.172]:35511 "EHLO mail-ot0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751156AbdLDWZa (ORCPT ); Mon, 4 Dec 2017 17:25:30 -0500 X-Google-Smtp-Source: AGs4zMYZtTzwDdZetAe5pJSRtYWgzam2ErDQX+D76Dvb7ZSBKdTMPfGuPSeSpdfdSqsN2TwtZZnMOA== Date: Mon, 4 Dec 2017 16:25:28 -0600 From: Rob Herring To: Sinan Kaya Cc: "open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM" , Timur Tabi , "devicetree@vger.kernel.org" , linux-arm-msm , "linux-arm-kernel@lists.infradead.org" , Frank Rowand , open list Subject: Re: [PATCH V5 4/7] OF: properties: Implement get_match_data() callback Message-ID: <20171204222528.wf6xpozisxu5udx5@rob-hp-laptop> References: <1512188864-773-1-git-send-email-okaya@codeaurora.org> <1512188864-773-5-git-send-email-okaya@codeaurora.org> <590f0536-b73d-ee32-a284-32e564af2f57@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <590f0536-b73d-ee32-a284-32e564af2f57@codeaurora.org> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1554 Lines: 54 On Mon, Dec 04, 2017 at 01:05:51PM -0500, Sinan Kaya wrote: > On 12/4/2017 11:23 AM, Rob Herring wrote: > > On Fri, Dec 1, 2017 at 10:27 PM, Sinan Kaya wrote: > >> Now that we have a get_match_data() callback as part of the firmware node, > >> implement the OF specific piece for it. > >> > >> Signed-off-by: Sinan Kaya > >> --- > >> drivers/of/property.c | 17 +++++++++++++++++ > >> 1 file changed, 17 insertions(+) > >> > .. > > >> > >> +void *of_fwnode_get_match_data(const struct fwnode_handle *fwnode, > >> + const struct device_driver *drv) > >> +{ > >> + const struct device_node *node = to_of_node(fwnode); > >> + const struct of_device_id *match; > >> + > >> + if (!node) > >> + return NULL; > > > > of_match_node checks this. > > I see a check for the matches argument but not for the node argument. > Am I missing something? Ah yes, you are right. > > > > >> + > >> + match = of_match_node(drv->of_match_table, node); > >> + if (!match) > >> + return NULL; > >> + > >> + return (void *)match->data; > > > > Don't need a cast here. > > I can fix this. > > > > > of_device_get_match_data() already does most of this, but getting a > > device ptr from fwnode_handle may not be possible? > > I couldn't figure out how to do that. Do you have a suggestion? > I have been looking for examples with no luck. Change the property API to pass struct device instead. That's maybe not worth it. Rob