Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752210AbdLDSF4 (ORCPT ); Mon, 4 Dec 2017 13:05:56 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:39256 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751200AbdLDSFy (ORCPT ); Mon, 4 Dec 2017 13:05:54 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 55B9F60240 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=okaya@codeaurora.org Subject: Re: [PATCH V5 4/7] OF: properties: Implement get_match_data() callback To: Rob Herring 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 References: <1512188864-773-1-git-send-email-okaya@codeaurora.org> <1512188864-773-5-git-send-email-okaya@codeaurora.org> From: Sinan Kaya Message-ID: <590f0536-b73d-ee32-a284-32e564af2f57@codeaurora.org> Date: Mon, 4 Dec 2017 13:05:51 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1514 Lines: 55 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? > >> + >> + 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. > > Rob > -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.