Hi Morimoto-san,
On Dec 14, 2016, Kuninori Morimoto wrote:
> I don't think using global variable is a good idea.
> For example, how about add reg_width_8bit into mstp_clock_group, and
> cpg_mstp_read/write requests it, or something like that ?
If I make a separate CLK_OF_DECLARE like this:
static void __init cpg_mstp_clocks_init8(struct device_node *np) {
reg_width_8bit = true;
cpg_mstp_clocks_init(np);
}
CLK_OF_DECLARE(cpg_mstp_clks8, "renesas,r7s72100-mstp-clocks",
cpg_mstp_clocks_init8);
The only way I can pass the 8-bit/32-bit choice into cpg_mstp_clocks_init()
is using a global variable.
Unless, I change the API to cpg_mstp_clocks_init(np, reg_width_8bit)
But, that means adding another function:
CLK_OF_DECLARE(cpg_mstp_clks32, "renesas,cpg-mstp-clocks",
cpg_mstp_clocks_init32);
CLK_OF_DECLARE(cpg_mstp_clks8, "renesas,r7s72100-mstp-clocks",
cpg_mstp_clocks_init8);
static void __init cpg_mstp_clocks_init32(struct device_node *np)
{
cpg_mstp_clocks_init(np, false);
}
static void __init cpg_mstp_clocks_init8(struct device_node *np)
{
cpg_mstp_clocks_init(np, true);
}
A global variable is much easier, but if no one likes it, I can change to
mstp_clock_group.reg_width_8bit instead.
Chris