Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp486496ybl; Wed, 29 Jan 2020 04:18:58 -0800 (PST) X-Google-Smtp-Source: APXvYqzUTtT3LD5BeLb2y7FrrzOPbkA7X9WxVkrjSRmpLFDQYUFqVROY9Yy5JSzEWs74cG8MT4Dz X-Received: by 2002:a05:6808:3b2:: with SMTP id n18mr5880681oie.146.1580300338585; Wed, 29 Jan 2020 04:18:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580300338; cv=none; d=google.com; s=arc-20160816; b=J66TMgY9a/cptZQZhH9D0WPKDu0BdLxn72eJLC6Kg779Q5gurDR5VrFB0vS5vpraz4 y+8IsEqP8rS1D3rMVhH0AMeqleMjPFDAanFDemeOmqsOFzOJyqF9xgWfXVQnbrt1TViE bjLNsWVTfcNBysbvzQlmlqf3tJox5RkdbDBusAcDeIxmhhN0uMA0ov71cGZViB8wtjUq aDHZy3NdqhBvx3gXk7qBYrfr0GZlqrY8hBurX6WlE0JMcaLvSz4VFImfp9XL3399Z6Ak INOOQWWuuKE1rI6Hn2hH8ntHB5lig/XqZzZ6TJs7mTiOMHTgW5X2JI88COSATeBi+kl8 dCaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=/YFpt8rI3ZfR2cuwU3jiDh8pvdZ+OHhItLbNwGP4PsU=; b=PiWlZ7goKhT76E24qYke/6IfgvfGao//bZxK3HG7DyBiaBIhLBVwaIvUTlGJMGZuJU KXybydhLqYWcXpAjew1BPZ+ZkkGcy0/Qt5meBTl4dHiewDPCvuV90B0B28QjktOl1/kw gbued8lPuYhYevGvLGjJhBz0wMZX3GahDbl2Wn0TVdQSz9S1J/DqUySfEmaMYD4Ej8FK udlug99UW0n4ahHerKg9GA5PksjiChReP1RAV57PHrEVVvIs0HwjHGUfKQGr6YGe8lhq FmCgCqyI7b3galavtgDX7KLhj73cif3v+gGr9BpQMuUd609uPMjxyLUOs5GQOeIfyjkc jj5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=SBNYfsif; 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=NONE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g6si1008719otk.171.2020.01.29.04.18.46; Wed, 29 Jan 2020 04:18:58 -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=@synopsys.com header.s=mail header.b=SBNYfsif; 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=NONE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726723AbgA2MRq (ORCPT + 99 others); Wed, 29 Jan 2020 07:17:46 -0500 Received: from smtprelay-out1.synopsys.com ([149.117.87.133]:40888 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726692AbgA2MRo (ORCPT ); Wed, 29 Jan 2020 07:17:44 -0500 Received: from mailhost.synopsys.com (mdc-mailhost1.synopsys.com [10.225.0.209]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id C46BFC0674; Wed, 29 Jan 2020 12:17:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1580300263; bh=49HIPV7UVjMJfo0JxqqaYUaFztMT5Pl+eqcCydvEj0Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:In-Reply-To: References:From; b=SBNYfsifylf4NnfN7WW0MFE5N2L/oSdmZKli6WZy9wOnKkVUWl2XbTUrTKlAIJa6z QVF7HKy3fCA/CwwpmnghDQIPp4qxchTg41QuUDkMBW/r9rvkDUxk0CqLN2ieDH+P7U h8WcnyegVOHj1znReqHVXmZTn49jnXqwoK0S+l4iqajQ3hJ2MiCMiVGc8cYlVVXLpX 37Yo2JdhPbSsmUb0B/wHN2En5fQDy31E7EQfiqDaXGd+R4VOwNxbxTXCRzEJy0rGrd qxlUIa1vp4AVn30dVB/ZhvTzLannfDVMdE/MaF1QJcj1pgiHoQYbRxFu+GSJeoPMsA UbbOolXR171ag== Received: from de02.synopsys.com (germany.internal.synopsys.com [10.225.17.21]) by mailhost.synopsys.com (Postfix) with ESMTP id 73A56A0064; Wed, 29 Jan 2020 12:17:38 +0000 (UTC) Received: from de02dwia024.internal.synopsys.com (de02dwia024.internal.synopsys.com [10.225.19.81]) by de02.synopsys.com (Postfix) with ESMTP id 5C5803F03D; Wed, 29 Jan 2020 13:17:38 +0100 (CET) From: Vitor Soares To: linux-kernel@vger.kernel.org, linux-i3c@lists.infradead.org Cc: Joao.Pinto@synopsys.com, Jose.Abreu@synopsys.com, bbrezillon@kernel.org, gregkh@linuxfoundation.org, wsa@the-dreams.de, arnd@arndb.de, broonie@kernel.org, Vitor Soares Subject: [RFC v2 3/4] i3c: master: add i3c_for_each_dev helper Date: Wed, 29 Jan 2020 13:17:34 +0100 Message-Id: <868e5b37fd817b65e6953ed7279f5063e5fc06c5.1580299067.git.vitor.soares@synopsys.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Introduce i3c_for_each_dev(), an i3c device iterator for use by i3cdev. Signed-off-by: Vitor Soares --- drivers/i3c/internals.h | 1 + drivers/i3c/master.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/i3c/internals.h b/drivers/i3c/internals.h index bc062e8..a6deedf 100644 --- a/drivers/i3c/internals.h +++ b/drivers/i3c/internals.h @@ -24,4 +24,5 @@ int i3c_dev_enable_ibi_locked(struct i3c_dev_desc *dev); int i3c_dev_request_ibi_locked(struct i3c_dev_desc *dev, const struct i3c_ibi_setup *req); void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev); +int i3c_for_each_dev(void *data, int (*fn)(struct device *, void *)); #endif /* I3C_INTERNAL_H */ diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 21c4372..8e22da2 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -2640,6 +2640,18 @@ void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev) dev->ibi = NULL; } +int i3c_for_each_dev(void *data, int (*fn)(struct device *, void *)) +{ + int res; + + mutex_lock(&i3c_core_lock); + res = bus_for_each_dev(&i3c_bus_type, NULL, data, fn); + mutex_unlock(&i3c_core_lock); + + return res; +} +EXPORT_SYMBOL_GPL(i3c_for_each_dev); + static int __init i3c_init(void) { return bus_register(&i3c_bus_type); -- 2.7.4