Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp71894pxb; Thu, 21 Jan 2021 01:19:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJwFERz54HKqvFoC+jA9btZv1YqECvWchnNA6wclVIRZb+OH9PTOvg/dgZ+xHe9TpUrohjrk X-Received: by 2002:aa7:d045:: with SMTP id n5mr10418269edo.306.1611220783148; Thu, 21 Jan 2021 01:19:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611220783; cv=none; d=google.com; s=arc-20160816; b=Jy3rORCz+NHNsdioSc4dVWobXmbZRqJAtg/Ey2U2eyWWx79UpvSh7AA+3seoTUFjUK O2lYkj6E9C7lhI/jHo4SirbgYyKuMbLOz8VGL7bHCBgc9nwFZQsn3UD5PhyU97Z+/djN KNXgGgtosPJvx7rJn9rKRItx8RjCaLITtlCJDK6tLpq91JqDYL1W84j8XDgjwgqQOXzF n01GeKgEr+w9dDw6rmO6+FG+2/d/OFtFI45ptkrQJuSPLMheky0Xkh04Nkptjm0Smubt CyRCbdrs6F+F/q5joh2rQaoFFFo5gnOcSeUK4fllrHaewod00/haP0rD/fA7FisctoXi M3Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=WLXeWIIoAu3UvtfUefXR9qcSia3PjDVI/Fbc5zrav74=; b=slVLL4hN7TEnTqbZzpgi1h6dK8on8OMDjONeWu17KxXe8Saugle8qZkeKOwn2e+PKE yiNAtlxqiRrgjIqX8qtiaMEShEDHzbw0SOKcryNvISDRu0WQjDLYcaN5VlyhOrMsi5sL M719RhHdMa9asYD+G2BXFqr7cJgujHmc+2HKzyFIKgerMVmFU3pPqP+DNJ5w/me2vatT iWzvxfufb3VyIX3lzbo6T0RpDZHGrScR09DgDErD1MamkZDZIVFrOJWhU1aj7xb8UjJJ 4Wa2Kw/URK8LXjIgYy3isQQ/0IbyJ73g7jS9dhMIuBL0kORa3LcuOJ+H8tKWn9rfSFZg 4U8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L0WyjqaH; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h12si1902925edk.467.2021.01.21.01.19.19; Thu, 21 Jan 2021 01:19:43 -0800 (PST) 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=@linaro.org header.s=google header.b=L0WyjqaH; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728128AbhAUJPw (ORCPT + 99 others); Thu, 21 Jan 2021 04:15:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728383AbhAUJLq (ORCPT ); Thu, 21 Jan 2021 04:11:46 -0500 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FED5C061796 for ; Thu, 21 Jan 2021 01:11:15 -0800 (PST) Received: by mail-ed1-x531.google.com with SMTP id dj23so1520740edb.13 for ; Thu, 21 Jan 2021 01:11:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WLXeWIIoAu3UvtfUefXR9qcSia3PjDVI/Fbc5zrav74=; b=L0WyjqaHw0/lRmseCIJJbm0McdMQpzOm/7kVIAnPv9TUdDWiA0dMSeUtNdBHKJD+3t r0JwbHmd5Z23dT9lioDVG2jgdlTOM1lnbmB4M7fNcvygWoRf8krfXnzPP0Bcz/z8YG9p FoDZz5hLYSFh1bTyeIepXRlh+VS5k0TBAaqcd4YWIaptS0i7CTeFPH8AveyFs/enFj1P OHCA72zAkf80LvVLIQqekwMPMD+DUJbmTNB00ALDKuauYkRB+TNZyk05sSSRqMcNgHrZ C2u//DcTUii2Oca69dD2DvQW8RLLX0XHRjaWUJsF6j0FEFs8BxSteQAwpCOBtdqdti64 qMCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WLXeWIIoAu3UvtfUefXR9qcSia3PjDVI/Fbc5zrav74=; b=Bq8w72eik7XoW3WfkAGMflVIcrW0r0mjWM3H/x+fOY1f2v9+SzHH1E6CDM8zqYbydK apMCyMxHaFq1VqSpCs7qLJ3QmL10JL9fi5aCtsFblPCMYqdqVswj4F98FVuCslBrl8Vn YTXQiH93nUS7bCfOgiWFzf4PrWX9xunsY7i3dl77KJROkaVW66Q2is+ovkCweVz8EBZU Nlu2A3qlilRFumYXmgYcpDJXYR9jb80+J7046TRv/zbA9qNlBC3Nt5/rGAdLYpEkpEM+ IJrJVT7+VrWZmu/wlmUzZ9AkOqys4SwEvhaykXAAaxZWSD8mZVikoU/e76VlG0sOIBN9 C7tg== X-Gm-Message-State: AOAM533ICzl5fMWhel/uDXKwZXZL9UYq6zw4b8q6hk3OHErFZM7X4aAm G8eGpA5XcsEyvr8uPOWVcVk188WXQLUlp4ZUntfM5A== X-Received: by 2002:aa7:c384:: with SMTP id k4mr10130943edq.23.1611220274094; Thu, 21 Jan 2021 01:11:14 -0800 (PST) MIME-Version: 1.0 References: <17nqrn25-rp5s-4652-o5o1-72p2oprqpq90@onlyvoer.pbz> In-Reply-To: <17nqrn25-rp5s-4652-o5o1-72p2oprqpq90@onlyvoer.pbz> From: Naresh Kamboju Date: Thu, 21 Jan 2021 14:41:02 +0530 Message-ID: Subject: Re: [PATCH] PM / clk: make PM clock layer compatible with clocks that must sleep To: Nicolas Pitre Cc: "Rafael J. Wysocki" , Greg Kroah-Hartman , Michael Turquette , Stephen Boyd , Russell King , Linux PM , linux-clk , open list , Mark Brown , Arnd Bergmann Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Nicolas, On Tue, 5 Jan 2021 at 08:48, Nicolas Pitre wrote: > > The clock API splits its interface into sleepable ant atomic contexts: > > - clk_prepare/clk_unprepare for stuff that might sleep > > - clk_enable_clk_disable for anything that may be done in atomic context > > > Signed-off-by: Nicolas Pitre > > diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c > index ced6863a16..a62fb0f9b1 100644 > --- a/drivers/base/power/clock_ops.c > +++ b/drivers/base/power/clock_ops.c > @@ -64,17 +166,20 @@ static void pm_clk_acquire(struct device *dev, struct pm_clock_entry *ce) > ce->clk = clk_get(dev, ce->con_id); > if (IS_ERR(ce->clk)) { > ce->status = PCE_STATUS_ERROR; > + return; > + } else if (clk_is_enabled_when_prepared(ce->clk)) { arm-linux-gnueabihf-ld: drivers/base/power/clock_ops.o: in function `pm_clk_acquire': drivers/base/power/clock_ops.c:170: undefined reference to `clk_is_enabled_when_prepared' Reported-by: Naresh Kamboju This build error was noticed on arm architecture on linux next 20210121 tag. Following builds failed. - arm (omap1_defconfig) with clang-10 - FAILED - arm (omap1_defconfig) with clang-11 - FAILED - arm (omap1_defconfig) with gcc-8 - FAILED - arm (omap1_defconfig) with gcc-9 - FAILED - arm (omap1_defconfig) with gcc-10 - FAILED Steps to reproduce: --------------------------- 1) # TuxMake is a command line tool and Python library that provides # portable and repeatable Linux kernel builds across a variety of # architectures, toolchains, kernel configurations, and make targets. # # TuxMake supports the concept of runtimes. # See https://docs.tuxmake.org/runtimes/, for that to work it requires # that you install podman or docker on your system. # # To install tuxmake on your system globally: # sudo pip3 install -U tuxmake # # See https://docs.tuxmake.org/ for complete documentation. tuxmake --runtime docker --target-arch arm --toolchain gcc-8 --kconfig omap1_defconfig 2) tuxbuild build --git-repo https://gitlab.com/Linaro/lkft/mirrors/next/linux-next --git-sha bc085f8fc88fc16796c9f2364e2bfb3fef305cad --target-arch arm --toolchain gcc-8 --kconfig omap1_defconfig -- Linaro LKFT https://lkft.linaro.org