From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8C19DC433FE for ; Fri, 1 Apr 2022 01:10:24 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8EDD584230; Fri, 1 Apr 2022 03:10:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1648775421; bh=Lmu8LBldcnJF9IzXWgMcHSrNetedSokSo9G5zDjNLuE=; h=From:To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=nXHHOzN8rS/T0UK3VUfpmj6iPNvOSimi4BnPh35ZR242Kc5EMLIOu/Y8LahTvWyLZ b0F06Ryea8p1udbo7dMpugXBH5WGafnCXK+rfGiqm9XqwsWLgRe5OSUkpJDNabXPIz UDYoMDbmhldxGTiM2Lz0mQjPuOpBCFal42marohCXVofx5b5YQIfmZ5n3eLUIyQQF6 d24fjVAyBsz1kOQWq+uR4QWfQ7PrXX0x9DGb3fDbiTjNP0Y6p8bPphMPeA6iWBAgX9 0FzaRipiEE0OrhsCeANv/P6v/BZ5fZHvgZpBNayknrvWQZLS9Fl/oTpHFtdAQYSrNA uupzOMyHhwcEg== Received: from tr.lan (ip-89-176-112-137.net.upcbroadband.cz [89.176.112.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id B356B84292; Fri, 1 Apr 2022 03:10:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1648775415; bh=Lmu8LBldcnJF9IzXWgMcHSrNetedSokSo9G5zDjNLuE=; h=From:To:Cc:Subject:Date:From; b=wsGrZztFnXMEb3fcGtvTh8qsDoob1XLQnJBbxrfMXD7adGBgj9w5fGp3lFrzeDBKO NC4nUJ5AMkRCSa5S6Gf9JBQrMGlipyHrnQw8ZLx9MjENHGY7SfCb+c+ZWErEELjLf1 lBxjwcz5S9ou2GV8eXOTf/Ag/xayGRrgSrmskoJITCJbNIDCqy3irKXvaPHcSlJqW1 C2FDlrqaeKCeetFmyBDVdpvlpKiUvMM8CizTyUoEZ5AJAMsrKig2i8LOSxw2dd+aE+ GQl/RwjNc8dj2dYm9EXNOARZvMUmAry9HgZ6mXWiHOfex3WAnUC/x/+40E+zz1GxpJ XHRMUI4K59DXA== From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , Patrick Delaunay , Simon Glass Subject: [PATCH] power_domain: Add power_domain_get_by_name() Date: Fri, 1 Apr 2022 03:10:02 +0200 Message-Id: <20220401011002.701397-1-marex@denx.de> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Implement power_domain_get_by_name() convenience function which parses DT property 'power-domain-names' and looks up power domain by matching name. Signed-off-by: Marek Vasut Cc: Patrick Delaunay Cc: Simon Glass --- drivers/power/domain/power-domain-uclass.c | 14 ++++++++++++++ include/power-domain.h | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c index 0c5823ceddf..74c33d4e2e0 100644 --- a/drivers/power/domain/power-domain-uclass.c +++ b/drivers/power/domain/power-domain-uclass.c @@ -80,6 +80,20 @@ int power_domain_get_by_index(struct udevice *dev, return 0; } +int power_domain_get_by_name(struct udevice *dev, + struct power_domain *power_domain, const char *name) +{ + int index; + + index = dev_read_stringlist_search(dev, "power-domain-names", name); + if (index < 0) { + debug("fdt_stringlist_search() failed: %d\n", index); + return index; + } + + return power_domain_get_by_index(dev, power_domain, index); +} + int power_domain_get(struct udevice *dev, struct power_domain *power_domain) { return power_domain_get_by_index(dev, power_domain, 0); diff --git a/include/power-domain.h b/include/power-domain.h index 113276b5119..2ff6c77cd76 100644 --- a/include/power-domain.h +++ b/include/power-domain.h @@ -107,6 +107,27 @@ int power_domain_get_by_index(struct udevice *dev, } #endif +/** + * power_domain_get_by_name - Get the named power domain for a device. + * + * @dev: The client device. + * @power_domain: A pointer to a power domain struct to initialize. + * @name: Power domain name to be powered on. + * + * Return: 0 if OK, or a negative error code. + */ +#if CONFIG_IS_ENABLED(POWER_DOMAIN) +int power_domain_get_by_name(struct udevice *dev, + struct power_domain *power_domain, const char *name); +#else +static inline +int power_domain_get_by_name(struct udevice *dev, + struct power_domain *power_domain, const char *name) +{ + return -ENOSYS; +} +#endif + /** * power_domain_free - Free a previously requested power domain. * -- 2.35.1