Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp4567143ybe; Mon, 16 Sep 2019 14:35:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqzZ9rI//XNW3Jhxn8BuHgC6+2iUYHyTszTv9t4PA4MYIVpULiU90idD43w1Qd5uASk1wjcX X-Received: by 2002:a05:6402:3066:: with SMTP id bs6mr1416834edb.127.1568669739128; Mon, 16 Sep 2019 14:35:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568669739; cv=none; d=google.com; s=arc-20160816; b=t4uwQqXRd5UvDI1i/lUXDYMIvOeYQK1cqWUddCY091+udiPd8L5xCJHTICvkB1mxjo y70laZwV48ksrJpIx+2gfrE3gDPBTfjWQKKKLmjbRH/JVweN3MyJpuEuzkGnQmhQELzv RXebEn3otYNxVv6sPLY9vDnSGMHV9Zrb6UI4JJ0xx9kxUatp1vdGwJyVDHEi+2baZYWK ZWal8T8kOCNxd/X9FlgDB8nSQLnkINyEmHuPVcK6BIbjDGSSzA9OXF1KonlaufBKhmSj 9LdcDgjfWbtM0Zw0nihf2K1T3C8Rl0lcmDRpAoPrmiIHABoSeo9FcFNGr2rVsgjtqWUM hPcA== 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:message-id:date :subject:cc:to:from:dkim-signature; bh=a/DBFL5pnFxmW7r8pfJ654oUFkPKTYmOJJb8EXbuSt0=; b=pay6V8Se6TITZgC5jT/1diWIoIlsCJZdQ97Hmk2A7HSfjgCJ2dmUp74tm5imHB9kdh 5nY5MO2N3kE6jNXsd16nMGVuy9uSFrhS544R8TWtvZ6/Zj91U7pQYIj5iyNw9fITMu7L iAh8a7MC54TED3uw9VHf40souyJTXeL67szRgUfJvKQ8c8UJG7quERp18bOmk9saAW1g lOKHbHMBjCFC8Q8b9Mw61vLTEcAHMSPfUaZ5QdX3e7ZVqrRdSVKZue29btMMQzb3XcWU QX6vtVFAyonbZ1nGIoEQmr8B08V8w6wxxJEinZ8ApyIKRyz9pkTqX8hWa+TkGZrnIpcr Bwzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sYJTtMza; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q30si235457eda.5.2019.09.16.14.35.15; Mon, 16 Sep 2019 14:35:39 -0700 (PDT) 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=@linaro.org header.s=google header.b=sYJTtMza; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389714AbfIPQPN (ORCPT + 99 others); Mon, 16 Sep 2019 12:15:13 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:39135 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389779AbfIPQPM (ORCPT ); Mon, 16 Sep 2019 12:15:12 -0400 Received: by mail-pl1-f193.google.com with SMTP id bd8so101055plb.6 for ; Mon, 16 Sep 2019 09:15:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=a/DBFL5pnFxmW7r8pfJ654oUFkPKTYmOJJb8EXbuSt0=; b=sYJTtMzaFQwnHrfE0d9bJhN5rJL+SO2sue5FpfF9LXaYmhdpitHfR1Mc6XMxU1Oth+ JQAA2gJlVkMivG0TmPvinQOqimNim8N/21fhacTw0RdNDLtxPidi7L9R2U43pM6SLVaQ ua24bR6jkaW/OpEH84OUVaTt5s3KO3zFAZPV1earH/37b07DVZ/iKbah7H78F9ruW6dn BckDQs5uhXLjdbUq/WfcMG7QausOcDfiKMi/tFmNhYQCx/ddbG/CDzBXCEc2cH0dGrc5 KFx+mQF1bn5iJK9R3+e439dl8iIWf/BRAUXaj7JeJ9DvsUXa1qV0jRfO6F4Q3IyBRncZ dtLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=a/DBFL5pnFxmW7r8pfJ654oUFkPKTYmOJJb8EXbuSt0=; b=GHic4jLZW3cKE5eSqID0HYRSKyjcb9FSedD55fHPny2OVPWRaVFGeD+5VitZtPrMkB kqxQ8olVCM4Ui3CuhFJrh8mIfnTvDyHQGptUPg3AWjzoVRAhvU2sb79hBpS/FKrlJoqP F1BuWhsvnnQ6Q8qjqO7F55fzwmWsK9FVzHaUxfTHXF5VtJ8RFG4eopV4aVfbKpEQJ+dW OTCa9XcefK9nWUdkYm29SmSqWHjNkPGsXpNPVKmljArQO9tYjIMxFIWI83jnx/Xtnbfc TysVaujdiCKDVTfPDRbNGz6sPBL5sQGf/iT49fflMS5O/kueFdEJydG7SdDFS9+91uis AWjQ== X-Gm-Message-State: APjAAAU69beZ8lw15h9AHJXgqmniG4dZh2grgovCbHWmk01dv2NtuMLr 1udogfmPMsiMqFz9XwaKbq/j X-Received: by 2002:a17:902:7296:: with SMTP id d22mr607247pll.41.1568650510819; Mon, 16 Sep 2019 09:15:10 -0700 (PDT) Received: from localhost.localdomain ([2409:4072:90b:91ce:94c2:ef93:5bd:cfe8]) by smtp.gmail.com with ESMTPSA id h66sm614134pjb.0.2019.09.16.09.15.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Sep 2019 09:15:10 -0700 (PDT) From: Manivannan Sadhasivam To: sboyd@kernel.org, mturquette@baylibre.com, robh+dt@kernel.org Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, haitao.suo@bitmain.com, darren.tsao@bitmain.com, fisher.cheng@bitmain.com, alec.lin@bitmain.com, Manivannan Sadhasivam Subject: [PATCH v5 2/8] clk: Warn if clk_init_data is not zero initialized Date: Mon, 16 Sep 2019 21:44:41 +0530 Message-Id: <20190916161447.32715-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190916161447.32715-1-manivannan.sadhasivam@linaro.org> References: <20190916161447.32715-1-manivannan.sadhasivam@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The new implementation for determining parent map uses multiple ways to pass parent info. The order in which it gets processed depends on the first available member. Hence, it is necessary to zero init the clk_init_data struct so that the expected member gets processed correctly. So, add a warning if multiple clk_init_data members are available during clk registration. Signed-off-by: Manivannan Sadhasivam --- drivers/clk/clk.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index c0990703ce54..7d6d6984c979 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3497,6 +3497,14 @@ static int clk_core_populate_parent_map(struct clk_core *core) if (!num_parents) return 0; + /* + * Check for non-zero initialized clk_init_data struct. This is + * required because, we only require one of the (parent_names/ + * parent_data/parent_hws) to be set at a time. Otherwise, the + * current code would use first available member. + */ + WARN_ON((parent_names && parent_data) || (parent_names && parent_hws)); + /* * Avoid unnecessary string look-ups of clk_core's possible parents by * having a cache of names/clk_hw pointers to clk_core pointers. -- 2.17.1