Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2681571ybl; Mon, 19 Aug 2019 06:03:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqz8kTaWkYsLiIDJ1eVHZI/T+ymNo7FxP6aETul2AQF7vx0RObTiBrqOnwHNsOWAvu0QETg/ X-Received: by 2002:a17:90b:8c1:: with SMTP id ds1mr20919949pjb.114.1566219829008; Mon, 19 Aug 2019 06:03:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566219829; cv=none; d=google.com; s=arc-20160816; b=kZ8hOnbJgO/hxLQckI4wePRgTsuupS8h+uItlcQs7HPI1Goicvu2E962lpdR1xOHyI sqN+Ch01L1Lz/iovdAXD7+ONngYECudNcay582jHJSyoUcqN/C6BjLtlceaofxOnS8kI gHPco7bdy6Tn/3MmoeJcb0GtJ5whWs/8jxtQUn0d4iu56Z+/tYM8OmOf6Pm0Z07nR41S CKL5xsbdXjnwlCrVVjgg4QMv6yci+hEkJ2mnknzT+4G/3OLheMrD5jsPPd2XGEjGASCx f+yPLQuOUcqs9p9g/FeifxX9p0IkWFifPV6VLvUV6DlL7h05SxIIlpgQQVaKsGYjn/ZU mI3w== 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=DTrlkLg6ziYyvTQZdW80D0Dpgzg2I0MwpVwQdmyigxn6hZK7oX2PSi2n+LaCbrksU9 kbUAyImx5BTz+lZzgSXDwyHFMSrAkEIGLgnF5nNOQRGETlkAQl+T47/CH+KpA7Oun/8b OId4VA1cfkWS2ztGZtTwmRLhpucBYUbISagdLoq6Bzn1IXrbqwwNRjcwES/Jn/P6f92G ZwY61H1jS4Z05Jx1BaCLkXa0L3diK4+KAvSpqTJEymNdfjfBleHt7ikHx7+S6FmNfZKF kJIaPon29lX+B+TzB0wNSu3D4zklEHp1AxMfNU5MPFBvH5tUc4xhjeZ2AiWbBk/ouDSG rvjg== 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 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 y4si9792596plk.123.2019.08.19.06.03.31; Mon, 19 Aug 2019 06:03:48 -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=dySa7ATx; 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 S1727679AbfHSNCI (ORCPT + 99 others); Mon, 19 Aug 2019 09:02:08 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:37269 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727669AbfHSNCG (ORCPT ); Mon, 19 Aug 2019 09:02:06 -0400 Received: by mail-pl1-f195.google.com with SMTP id bj8so948932plb.4 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=fklMfVR+WcrYIJviKSS10b0lIsl05FgGpO29O+kTa3RYVAZ+CXTCLqBMSwfzaITNeZ I5nEBKF4wqkYb0XDwgwW9Qy3PP+EXr5z/sNs8kR6IP0l6+s3WzYR95kXu0bCAGKZyxA5 j5ZKi+bHh17RNQLhCST+qHD+b42LwPwovUbeNMrDFfRbJgmdPX3MFbatEYHHr/WLMxEi HwBwoQ9LZo7RkVt+PijroAuj6JiCmCle1ATUtUexpguIrO+E5cajZoY5bP46dnw4bxAM aXMHz+qqrThVGrqPKS74nf/zWqe3ZgCZyoNGL12ab8kCys1AKoHT5ysmgfxDWRyp5GsD S0fQ== X-Gm-Message-State: APjAAAXUbEIn8YhzOUlmFMUrXV6MaW4fmI/hDANKkZLPIF/5F5j7gn/Y iMj3anH7vcTaUjm1B12U4vAg 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: 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