[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <153270970080.48062.18399022907046343950@swboyd.mtv.corp.google.com>
Date: Fri, 27 Jul 2018 09:41:40 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Jerome Brunet <jbrunet@...libre.com>,
Neil Armstrong <narmstrong@...libre.com>,
Yixun Lan <yixun.lan@...ogic.com>
Cc: Rob Herring <robh@...nel.org>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
Kevin Hilman <khilman@...libre.com>,
Michael Turquette <mturquette@...libre.com>,
yixun.lan@...ogic.com, linux-kernel@...r.kernel.org,
Boris Brezillon <boris.brezillon@...tlin.com>,
Liang Yang <liang.yang@...ogic.com>,
Qiufang Dai <qiufang.dai@...ogic.com>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Carlo Caione <carlo@...one.org>,
linux-amlogic@...ts.infradead.org, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, Jian Hu <jian.hu@...ogic.com>
Subject: Re: [PATCH v3 2/2] clk: meson: add sub MMC clock controller driver
Quoting Yixun Lan (2018-07-27 07:52:23)
> HI Stephen:
>
> On 07/26/2018 11:20 PM, Stephen Boyd wrote:
> > Quoting Yixun Lan (2018-07-12 14:12:44)
> >> diff --git a/drivers/clk/meson/mmc-clkc.c b/drivers/clk/meson/mmc-clkc.c
> >> new file mode 100644
> >> index 000000000000..36c4c7cd69a6
> >> --- /dev/null
> >> +++ b/drivers/clk/meson/mmc-clkc.c
> >> @@ -0,0 +1,367 @@
> >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> >> +/*
> >> + * Amlogic Meson MMC Sub Clock Controller Driver
> >> + *
> >> + * Copyright (c) 2017 Baylibre SAS.
> >> + * Author: Jerome Brunet <jbrunet@...libre.com>
> >> + *
> >> + * Copyright (c) 2018 Amlogic, inc.
> >> + * Author: Yixun Lan <yixun.lan@...ogic.com>
> >> + */
> >> +
> >> +#include <linux/clk.h>
> >
> > Is this include used?
> >
> this is needed by clk_get_rate()
> see drivers/clk/meson/mmc-clkc.c:204
Hmm ok. That's unfortunate.
>
> >
> >> + init.num_parents = 1;
> >> +
> >> + clk = mmc_clkc_register_clk(dev, map, &init, suffix, data);
> >> + if (IS_ERR(clk))
> >> + dev_err(dev, "Core %s clock registration failed\n", suffix);
> >> +
> >> + kfree(parent);
> >> + return clk;
> >> +}
> >> +
> >> +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 *mux, *div, *core, *rx, *tx;
> >> +
> >> + data = (struct mmc_clkc_data *)of_device_get_match_data(dev);
> >
> > This cast is unnecessary. Pleas remove.
> >
> Ok, I will try to fix in next version
>
>
> this was trying to silence the ’const‘ cast warning [1]
> I could make a 'const struct mmc_clkc_data *data' declare, but need to
> fix further cast warning issue..
>
>
> [1] drivers/clk/meson/mmc-clkc.c: In function ‘mmc_clkc_probe’:
> drivers/clk/meson/mmc-clkc.c:302:7: warning: assignment discards ‘const’
> qualifier from pointer target type [-Wdiscarded-qualifiers]
> data = of_device_get_match_data(dev);
> ^
Yes. Casting away const is a bad idea.
Powered by blists - more mailing lists