Received: by 10.223.185.116 with SMTP id b49csp1030114wrg; Wed, 21 Feb 2018 10:51:56 -0800 (PST) X-Google-Smtp-Source: AH8x225SWFGqJvwmd3XXaBH2Do83RbJZ8MSezWSOocqFNviCF5EUTCpqiJpgI0ONN4YAAaV4KSJu X-Received: by 10.98.77.66 with SMTP id a63mr2086556pfb.112.1519239116655; Wed, 21 Feb 2018 10:51:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519239116; cv=none; d=google.com; s=arc-20160816; b=SgYlEhq21xIxORMSXXRbDHSoQOe0dUvGU67qOZpRuwa2IuraDxzW+VvObf+BtRpu4Y XC47utpIg7yNOyAm8JZnK7Txw0smg3MCp8h8dN/DSw5MJLbQl1WQZGcNz+Os74yTybt7 NX0dNivIjjWauUEPutZdGmTv26hVGUGBKRTdUffk7afKxnuq4Xrw9i3lrrBftfQ5TRiW Polm1hoHM5MK4SJ1cjIyKifnVuE90kw4WXRdg6OuLEsv5Un5I0EUyrFLDLEt9JP/2op8 VZ+gOAALBs0LpZXF21fW6RIFclMoK3oqrTCbIAB69ix+1UtQrlzUlMbAfILTp6Jn4J8S K38g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=2/iVweobUdzifwSrZPOv8d0zHGRxdzlqJzcXVZ8H7p0=; b=dVBWhLRtvbIEv9Z5KnJyuItCpNqTWEP6uNykLPIL+mhADNB0IBIK6+U/EZMXlC3vcE IrcdnIZwd67dsLb53ILVbc0lV0cCy0o7oINw6NrtONAzllQ0vLhqC/MVCdeu8QUDzH/p xiVRfJMFH73JTQtPUdkiwSVQTglZIIncpS8KV+p6cAugdZM4cMLh7WyX2C5wwxZpKfNt /C6ljIQ00n71Lh+AAaFVe++Y8MjUp+e6A3cwmWogWIiD7BcSu94xAG7RHuEqi3rwLcnI M4g9J2G23Nxb2YlQRg2piC0X/IIBBM/ttBYHHWOxft0wZOody61ycYdC9ofrejxrOaWn QFyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=oxk9jS0W; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v2si11196582pgf.530.2018.02.21.10.51.42; Wed, 21 Feb 2018 10:51:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=oxk9jS0W; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937581AbeBUO1Q (ORCPT + 99 others); Wed, 21 Feb 2018 09:27:16 -0500 Received: from mail-qk0-f194.google.com ([209.85.220.194]:33086 "EHLO mail-qk0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934654AbeBUO1N (ORCPT ); Wed, 21 Feb 2018 09:27:13 -0500 Received: by mail-qk0-f194.google.com with SMTP id f25so2145885qkm.0; Wed, 21 Feb 2018 06:27:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2/iVweobUdzifwSrZPOv8d0zHGRxdzlqJzcXVZ8H7p0=; b=oxk9jS0WFMZ3ZRsw0+M2f5vBfHSWfUFyddX1ouBBFMFZOSxZL9iK7kX+ohYtHTxUQm pi07jxpEMac4c3XULKjwaEOzZLPvIKKi2ftcGQcWs+sFILH8b4D0LsEnUGzc1KXgsj4n UMfXULiogWVbI8SV3Gf+yNYUgriG9TU5B9v/F6k/d0upyqjUPAMzdRdSSWpmD6twMBln UODtZOFIOFbiDNQQgdK/5UReYRPtV6y6s8v9XJQKewLsR4iJ8BEOfZ8ZkZZfl3quH+d/ KddPtMsg3ZkpaNRBXrStlgJaofKWKVd79hLgDL+cc8hW01ttyejCrVsWCJx1eMjWhHdR n5nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=2/iVweobUdzifwSrZPOv8d0zHGRxdzlqJzcXVZ8H7p0=; b=gUdcLVoT4MyDwNwM3/oCjnZySLtywXqJx3L3GQlh+Bd1N2kuleIh7Dqjx9LwH8yz8c lMjZa0V3HrQPsiFyWq1BZ3Z4j+dSYOuqjTeNauAQ705hBlX517phEqcMgFPmb+GYZUHf 9apHg6ItSUSik9hy+2hdE8+jfZjUz6gZ2ELTs22wHWwAXEWfGDgLh6zXs0XJ1J7dMRbs oKuIJCV3kQL23y4W/tzYS5QRDkfM4TcOKlxCr03QXFkVGojONpRVkXzCyK1DkA3gkyp0 y5KGyPLeXdOC/qW/Kz3X6ZNLS2NWEbESges77UdGYWGuYGPmq9BSyfmfWiMPF6oDcvzB aUjg== X-Gm-Message-State: APf1xPC0klGKxx+sBoIdhv7KMB1kW7EnW7OIW2cJqbSqbLiNiAWk02LY rHv92k8TKkCvtWVMbfaIevjtvYbamXM8btA34JI= X-Received: by 10.55.16.196 with SMTP id 65mr5533585qkq.110.1519223232143; Wed, 21 Feb 2018 06:27:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.195.80 with HTTP; Wed, 21 Feb 2018 06:27:11 -0800 (PST) In-Reply-To: <20180221085541.14556-6-a.hajda@samsung.com> References: <20180221085541.14556-1-a.hajda@samsung.com> <20180221085541.14556-6-a.hajda@samsung.com> From: Andy Shevchenko Date: Wed, 21 Feb 2018 16:27:11 +0200 Message-ID: Subject: Re: [PATCH v4 5/6] extcon: add possibility to get extcon device by OF node To: Andrzej Hajda Cc: "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Bartlomiej Zolnierkiewicz , Marek Szyprowski , dri-devel@lists.freedesktop.org, Inki Dae , Rob Herring , Mark Rutland , Krzysztof Kozlowski , Chanwoo Choi , Archit Taneja , Laurent Pinchart , Linux Kernel Mailing List , linux-arm Mailing List , linux-samsung-soc@vger.kernel.org, USB Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 21, 2018 at 10:55 AM, Andrzej Hajda wrote: > Since extcon property is not allowed in DT, extcon subsystem requires > another way to get extcon device. Lets try the simplest approach - get > edev by of_node. > +/* > + * extcon_get_edev_by_of_node - Get the extcon device from devicetree. > + * @node : OF node identyfying edev > + * > + * Return the pointer of extcon device if success or ERR_PTR(err) if fail. > + */ > +struct extcon_dev *extcon_get_edev_by_of_node(struct device_node *node) First of all, the all other similar cases use "_by_node" in the name. Second, it's not _get_, it's _find_. > +{ > + struct extcon_dev *edev; > + > + mutex_lock(&extcon_dev_list_lock); > + list_for_each_entry(edev, &extcon_dev_list, entry) > + if (edev->dev.parent && edev->dev.parent->of_node == node) > + goto out; > + edev = ERR_PTR(-EPROBE_DEFER); > +out: > + mutex_unlock(&extcon_dev_list_lock); > + > + return edev; Can't it be done using bus_find_device()? > +} See good example in i2c-core-of.c of_find_i2c_adapter_by_node() of_get_i2c_adapter_by_node() -- With Best Regards, Andy Shevchenko