From patchwork Mon Aug 19 13:01:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 171619 Delivered-To: patch@linaro.org Received: by 2002:a92:d204:0:0:0:0:0 with SMTP id y4csp2947165ily; Mon, 19 Aug 2019 06:02:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqze9GLcfv8q0G1CJ3g1PM8+iNDOk4IdqOw2LIBmSUTq2mmioCw/Pz0z5+GaTNUbTGmtwFht X-Received: by 2002:aa7:9799:: with SMTP id o25mr23995811pfp.74.1566219728839; Mon, 19 Aug 2019 06:02:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566219728; cv=none; d=google.com; s=arc-20160816; b=QfUoVgFhAPqwslbSfST5iCMHDONzhehp80f+9qjmOkBTHmSyMJSuE0W2ELw4QPqgDD IKElAr/OuL1wtEzt7cvcabvY3gGHALJ6TIwYiKxCuwNvP1huhiZFf5ABFZW6lH+KYv1f SP2IAy6kIxJjUnh/znbR9KomyoMJUW8XtBC4uy1q8f8giHVZKS3JhJiJn6AA58i9YmS8 UIasKzFm0/8w+UW5mJC4TRXJj4adWDRa8r8+tAnNbFhp7iJVVuikxs/y3u6T0j7rhR3E /7hK9XJvttzFMiDLOZEx1WFIyMty09//rH7B7F5wQbCA2y0PVEx+1WP1bT9oeLhAhEjg 4FVw== 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=XRbouP7sxkpOJOZhTAjh/aisw0I13wJrIZUnZx+fzCWaI20zwWvx/wc0pKV14ynqab hheWyPLlBLlWFET0nG6ZjhgmxF5/l6c+m/QUt1sPfQfAvcYhTKiCzdFQhNWJfzo6RKcu zsckEVDUs3PZYGlUPikhvv0/3vPHdKsraNscRr/NtgIoF+tGsaa8z6r12iNyAizfhW9q RR1yQFVxmn2iV8HE08y/nofm7hXvoVdxAHqsrpZFzqxwGVv/wSyxFrTdGOCZhbcc5SCU MBoYu6rzBA/eB7eb6bUPA8ytvXqmX7M+zMUXddZ5iPJuLWTJHYf60YOjWWlRB3RNdphI +cpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dySa7ATx; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 68si9692854pgb.104.2019.08.19.06.02.08; Mon, 19 Aug 2019 06:02:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-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=dySa7ATx; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 S1727670AbfHSNCH (ORCPT + 8 others); Mon, 19 Aug 2019 09:02:07 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:47017 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727308AbfHSNCG (ORCPT ); Mon, 19 Aug 2019 09:02:06 -0400 Received: by mail-pl1-f195.google.com with SMTP id c2so936626plz.13 for ; Mon, 19 Aug 2019 06:02:06 -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=dySa7ATxoTasTk05EATgNFRHNdWVLW6HZbVnRpJiMJgFbp1vdwTgL8L915UDlkqLUL RJx55z77meqhw4zi2L6edCi5tvTlDU/1T37Pma4SawsNezG5zR4aH0jCw8QO0h/1Gyb9 AZHdkiYXBxRxul1+lONCQw8sYFvcb+e8eq6uUVdCb0msdXlx+biD8xMQ/5R7n8vwHtDg rB2yI0MM3m17q/uhCjS5dVl8O5ZZh98AhElapo4Cu0+QfLx7hWyFZZW9exoMrAuTeRhF s+r7uH0cvYdxdwtcYgsX1+WneDulTI4mDOWCJ5QiK+zTubLeaiB7AHun6Ogpbk0DYW53 +xTA== 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=TYecMZvqoitHqlBZB8ZnEbEqpdl4dq6B4HGf4fDS+owy1bs1BxfoexvT7t7mcwiF2j wB/Mf766skEHF5G+w3PVFKKBi9cDQOkI+oJxXiGKhcc7/tCAC7hbuUvvgq1AfHQsJGmB qH2wuoAQm68TFgWVtDHUrsX+KNARdoketsdN/CeMizGaqA9p5pIvrx5AAH2Ka8zKVUKc iykxEx6nd4nsnRQbACxtNhHBXT4yYTwLtEX2Hq8FJZLeaxaSvtcKKEvnWrKTiUs1SdAD RD3/gB661ZxU2+ViloM6TIIKv+W2bu3R43SnSwSjEuoSkzKh+AuEq3I/9APYv2Xq664I cm8Q== X-Gm-Message-State: APjAAAXRmT0/9smG2XuvsKBREXL2h9u13AQwaMxjAsVAyZf6a1jTDPuL gIgaIrvH+ahMQxPPOr/f5ADC X-Received: by 2002:a17:902:860b:: with SMTP id f11mr2458432plo.48.1566219726008; Mon, 19 Aug 2019 06:02:06 -0700 (PDT) Received: from localhost.localdomain ([103.59.133.81]) by smtp.googlemail.com with ESMTPSA id l123sm20626464pfl.9.2019.08.19.06.02.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Aug 2019 06:02:05 -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 v3 2/8] clk: Warn if clk_init_data is not zero initialized Date: Mon, 19 Aug 2019 18:31:37 +0530 Message-Id: <20190819130143.18778-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190819130143.18778-1-manivannan.sadhasivam@linaro.org> References: <20190819130143.18778-1-manivannan.sadhasivam@linaro.org> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@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(+) -- 2.17.1 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.