Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp421292pxu; Fri, 23 Oct 2020 04:35:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxiDEjRDCH31Zrrdkw/Fo9aDBdyHmTZNv4nq/eDqelH3XsEd4Bcjm/lxsLlP1+h2OXrOpCG X-Received: by 2002:a17:906:660f:: with SMTP id b15mr1558506ejp.333.1603452939566; Fri, 23 Oct 2020 04:35:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603452939; cv=none; d=google.com; s=arc-20160816; b=Iz6wJzQ4QByq8UZ+N/Sgsc9z3BAdHAG5QhF+0Lq78GrA8CjBqBTYEPTIPaqmnWXnrR 9swpBdqbSrpWH80EjpLDpJI+P8EyEwI6ATEvb1Ej7xkGzaxKAjOoR4RQOMTgL6x6ttcZ YdxuKIJoS/7nYjkYA9ZxPXyrCzRptXViYHfDmPnXpLk9DSydwootWQj0RRcKNcWojmMN /r7pdOW6idR0tuoGJPE8XzKejVzGB4FTrJq/fIxfW1l8i+bMkpBsjAtrDjJ1Kp8OD7l2 97M5qD50QCROZVENo4i+cluU/oixwGU+0CFkg4ZPEbB3XsVld1UDwPB0x3/vHWPuR+UY DnwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=T0VdoWDsGFBqS1cHKeIaxxJgjsDd0o2SWow1odagivQ=; b=lVF6Zz7Wo6PmooxpXVDK9ca64YaXmK7vxdY9l6s6gjF2wELMO68zt9tLCT/1/n+J4N kNLpB85Jq+il9FGdGzuGY1BuL+B3MHsht/y0pkK9LrS6V8XKpbvDl1zpGdTt/f8J1H7w N943pUUCXFR/MUIUyrlIPzUE8EyYhY4yMSSNz6n1PZRBVaAVheJlM/ytCOD8SbFMceAE T+vkskhqr+0FefKjAxebwUQvtcG6RFHkvQDE91pREA3m+tf9oKMk8lDzPQJSfwNIkQ7e IUbXuPllYmXo1wOlBQXhJXOQ9DRKGWCgLHSxG0bgn+5VRxx30HMVHFMMvT3tA9uYxGsk hNTQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=HfukXPPC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y11si709626ejd.682.2020.10.23.04.35.17; Fri, 23 Oct 2020 04:35:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=HfukXPPC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S463019AbgJWLeZ (ORCPT + 99 others); Fri, 23 Oct 2020 07:34:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:42148 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S462985AbgJWLeY (ORCPT ); Fri, 23 Oct 2020 07:34:24 -0400 Received: from [192.168.0.50] (89-70-52-201.dynamic.chello.pl [89.70.52.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AF78720EDD; Fri, 23 Oct 2020 11:34:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603452864; bh=yitxDveLp7gb378cd6M1GqApDS4EOwZaZ6lGFlzXqqI=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=HfukXPPCI8BYXcw33DKfMyyUWbj+lWHR4Aumc1/9R1kRiVOwYZdTlUrXATexQc8ZY gKfgamMkM5dsYQDHncbbbHExJ8+jB+0HzYJhIz+8WGs5zgoE7nMxKe1YnY9j+iTdXY Fp4mCGMV/U7Ndd6acxj9fTwBv+ZQt5L4TmnMRBdg= Subject: Re: [PATCH 1/2] soc: samsung: exynos-pmu: instantiate clkout driver as MFD To: Krzysztof Kozlowski , Tomasz Figa , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Sylwester Nawrocki , Chanwoo Choi , Michael Turquette , Stephen Boyd , Kukjin Kim , linux-samsung-soc@vger.kernel.org, Marek Szyprowski References: <20201001165646.32279-1-krzk@kernel.org> <20201001165646.32279-2-krzk@kernel.org> From: Sylwester Nawrocki Message-ID: <32d3faaf-1631-3ebe-6d73-fe565c39639d@kernel.org> Date: Fri, 23 Oct 2020 13:34:19 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20201001165646.32279-2-krzk@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 10/1/20 18:56, Krzysztof Kozlowski wrote: > The Exynos clock output (clkout) driver uses same register address space > (Power Management Unit address space) as Exynos PMU driver and same set > of compatibles. It was modeled as clock provider instantiated with > CLK_OF_DECLARE_DRIVE(). > > This however brings ordering problems and lack of probe deferral, > therefore clkout driver should be converted to a regular module and > instantiated as a child of PMU driver to be able to use existing > compatibles and address space. It might have been cleaner to have the CLKOUT device as a PMU subnode in DT, then device instantiation would be already covered by devm_of_platform_populate(). But it gets a bit complicated to make such a change in a backward compatible way. I have tested both patches on Trats2, where CLKOUT provides master clock for the audio codec. Reviewed-by: Sylwester Nawrocki Tested-by: Sylwester Nawrocki > @@ -128,6 +134,11 @@ static int exynos_pmu_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, pmu_context); > > + ret = devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, exynos_pmu_devs, > + ARRAY_SIZE(exynos_pmu_devs), NULL, 0, NULL); > + if (ret) > + return ret; > + > if (devm_of_platform_populate(dev)) > dev_err(dev, "Error populating children, reboot and poweroff might not work properly\n");