On 1/9/20 4:36 PM, Masahiro Yamada wrote: > On Thu, Jan 9, 2020 at 10:20 PM Marek Vasut <ma...@denx.de> wrote: >> >> On 1/9/20 1:02 PM, Masahiro Yamada wrote: >>> The "nand_x" and "ecc" clocks are currently optional. Make the core >>> clock optional in the same way. This will allow platforms with no clock >>> driver support to use this driver. >>> >>> Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com> >>> --- >>> >>> drivers/mtd/nand/raw/denali_dt.c | 10 ++++++---- >>> 1 file changed, 6 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/mtd/nand/raw/denali_dt.c >>> b/drivers/mtd/nand/raw/denali_dt.c >>> index 0ce81324b90e..b1e14982c443 100644 >>> --- a/drivers/mtd/nand/raw/denali_dt.c >>> +++ b/drivers/mtd/nand/raw/denali_dt.c >>> @@ -91,7 +91,7 @@ static int denali_dt_probe(struct udevice *dev) >>> if (ret) >>> ret = clk_get_by_index(dev, 0, &clk); >>> if (ret) >>> - return ret; >>> + clk.dev = NULL; >>> >>> ret = clk_get_by_name(dev, "nand_x", &clk_x); >>> if (ret) >>> @@ -101,9 +101,11 @@ static int denali_dt_probe(struct udevice *dev) >>> if (ret) >>> clk_ecc.dev = NULL; >>> >>> - ret = clk_enable(&clk); >>> - if (ret) >>> - return ret; >>> + if (clk.dev) { >>> + ret = clk_enable(&clk); >>> + if (ret) >>> + return ret; >>> + } >>> >>> if (clk_x.dev) { >>> ret = clk_enable(&clk_x); >>> >> >> Why do we need any of the clock code if the clock aren't available ? It >> just takes space for no reason. > > Are you sure? > > The compiler optimizes the unreachable code out. > > > My compiler is this: > > $ aarch64-linux-gnu-gcc --version > aarch64-linux-gnu-gcc (Linaro GCC 7.4-2019.02) 7.4.1 20181213 > [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] > Copyright (C) 2017 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > > > > I compiled the denali_dt.c with CONFIG_CLK disabled > and here is the disassembly. > > My patch and yours produce exactly the same code.
Ha, there's indeed no increase. I tested this patch and it works too. Thanks I sent this again as part of the reworked series with a T-B.