Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp2823865pxb; Mon, 17 Jan 2022 06:31:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJxncnU2O+k2n62TEAC99i92CgX5tDqxGJpMshc4HWoUTY8RlwN7KXpmNDskZ+DFkjoClGBf X-Received: by 2002:a17:90b:314c:: with SMTP id ip12mr17693148pjb.118.1642429915569; Mon, 17 Jan 2022 06:31:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642429915; cv=none; d=google.com; s=arc-20160816; b=hzyr4I6577+DZ9EymxJkD2tmITI7Yr+hBfDuad7Do7JI2D3XnqpbT/yjA2TS3cJs9S qSLt/iFA/nXAaDZLKySt6mLfQkNdD9ASME2LRp+WcegCx2YMSnI0I+4YbKd5EvH9aILw QFk8obq3we0fAw8U1L8h4AxPk8pHEykLTntuzocqBjQb7a0x6hEAmC4z5/kLl6CERS0w TwgU8x6kQwIXjKmDh1RKSZ8aGwpvKFFHOTc82IJsAS3LgiuM2nYTK15xmxYddDzU86qo Wthnt8TockfI2dvKRfp4fSj/hkp6SSYZEOUOpgD6Y1RfQP2bFiG+reOnombhirKxma+t yMDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=ZXkdGmRqGTgef/m3px2hnnip4GGMXTAY04299bhXjdc=; b=TQ58IoumUEpV6FhK3BawoPA0Wngt+k1n+Q4IlmxyXy4HO2wcm1qf18fIiAHr57vedv g+c5umOuq5uzpww9lQL9wdtTqhaaqgENLexFP7sTs0WipM9zJUrJvXNj9pMY5HJ4OlOY VbiBk/6tDLqh5h8L6RB7nzb0Eu+P6KXQkUuPuKZDwrAYvclfArGaJPykcg3P5fcWwDxf 93sSIiAB8X70fR1en9SAQeETe2epqqsXd6JnjyC8XafMi1T9HCrvJHksCs9sSlpsc8V4 TqguKyURQVSGRzlUEMl/PEgisACDak7+/jCJORaYTrtRvR6cPi/VT5XqiNiKIHi0XyiO fqXg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r22si1014186pga.102.2022.01.17.06.31.40; Mon, 17 Jan 2022 06:31:55 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234681AbiAQGYe (ORCPT + 99 others); Mon, 17 Jan 2022 01:24:34 -0500 Received: from mail-sz.amlogic.com ([211.162.65.117]:60889 "EHLO mail-sz.amlogic.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234661AbiAQGYc (ORCPT ); Mon, 17 Jan 2022 01:24:32 -0500 Received: from [10.28.39.106] (10.28.39.106) by mail-sz.amlogic.com (10.28.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Mon, 17 Jan 2022 14:24:28 +0800 Message-ID: Date: Mon, 17 Jan 2022 14:24:28 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v9 4/4] clk: meson: add sub MMC clock controller driver Content-Language: en-US To: Stephen Boyd , Jerome Brunet , Kevin Hilman , Michael Turquette , Neil Armstrong , Rob Herring , CC: Martin Blumenstingl , Jianxin Pan , Victor Wan , XianWei Zhao , Kelvin Zhang , BiChao Zheng , YongHui Yu , , , References: <20220113115745.45826-1-liang.yang@amlogic.com> <20220113115745.45826-5-liang.yang@amlogic.com> <20220113213513.9819AC36AEA@smtp.kernel.org> <09ff9044-9abc-d1ad-26c1-5e6ece56d30c@amlogic.com> <20220114230130.35EAAC36AE7@smtp.kernel.org> From: Liang Yang In-Reply-To: <20220114230130.35EAAC36AE7@smtp.kernel.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.28.39.106] X-ClientProxiedBy: mail-sz.amlogic.com (10.28.11.5) To mail-sz.amlogic.com (10.28.11.5) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022/1/15 7:01, Stephen Boyd wrote: > [ EXTERNAL EMAIL ] > > Quoting Liang Yang (2022-01-13 21:14:46) >> On 2022/1/14 5:35, Stephen Boyd wrote: >>> Quoting Liang Yang (2022-01-13 03:57:45) >>>> diff --git a/drivers/clk/meson/mmc-clkc.c b/drivers/clk/meson/mmc-clkc.c >>>> new file mode 100644 >>>> index 000000000000..f53977f61390 >>>> --- /dev/null >>>> +++ b/drivers/clk/meson/mmc-clkc.c >>>> @@ -0,0 +1,300 @@ > [..] >>>> + >>>> +static int mmc_clkc_probe(struct platform_device *pdev) >>>> +{ >>>> + struct clk_hw_onecell_data *onecell_data; >>>> + struct device *dev = &pdev->dev; >>>> + struct mmc_clkc_data *data; >>>> + struct regmap *map; >>>> + struct clk_regmap *clk, *core; >>>> + struct meson_sclk_div_data *div_data; >>>> + >>>> + /*cast to drop the const in match->data*/ >>> >>> Space after *, also why do we need to cast away const? The user of this >>> pointer passes it all the way down to mmc_clkc_register_clk() which >>> could take the data as const void pointer and decide to cast away const >>> there. >> >> if use 'const' here, it will report a warning: >> drivers/clk/meson/mmc-clkc.c:224:7: error: assignment discards ‘const’ >> qualifier from pointer targe >> t type [-Werror=discarded-qualifiers] >> >> data = (const struct mmc_clkc_data *)of_device_get_match_data(dev); > > Of course. The type declaration up above needs const added to it.The parm of mmc_clkc_register_clk_with_parent(...., void *data) does not have 'const', so make the type declaration cause a further 'const' cast warning. Could i copy these infos just like below: struct mmc_clkc_data *data_clkc; ...... data = of_device_get_match_data(dev); data_clkc = devm_kmalloc(dev, sizeof(*data_clkc), GFP_KERNEL); memcpy(data_clkc, data, sizeof(*data_clkc)); ...... clk = mmc_clkc_register_clk_with_parent(...., &data_clkc->rx); > > .