From: Andreas Kemnade <andreas@kemnade.info>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
linux-omap@vger.kernel.org, linux-clk@vger.kernel.org,
Paul Walmsley <paul@pwsan.com>, Tony Lindgren <tony@atomide.com>
Subject: Re: clk mess on omap4460 with mpu clock
Date: Wed, 25 Sep 2024 10:57:22 +0200 [thread overview]
Message-ID: <20240925105722.7921af47@akair> (raw)
In-Reply-To: <ZvLuMJxv8a0h9gpq@shell.armlinux.org.uk>
Am Tue, 24 Sep 2024 17:52:00 +0100
schrieb "Russell King (Oracle)" <linux@armlinux.org.uk>:
> On Mon, Sep 23, 2024 at 02:04:47PM +0200, Andreas Kemnade wrote:
> > The main question what bothers me is whether we have
> > some real problems behind it. The warning message is just an
> > indicator of something odd which was already odd before the message
> > was introduced.
>
> Indeed.
>
> > I have seen something working with some u-boot and some other not,
> > so things might not get properly initialized...
> >
> > So the way forward is to check whether that registration is really
> > needed at:
> > https://elixir.bootlin.com/linux/v6.11/source/drivers/bus/ti-sysc.c#L2380
> > If yes, then
> > a) increade the size of the name in the clk subsystem or
> > b) workaround like
> > https://elixir.bootlin.com/linux/v6.11/source/drivers/bus/ti-sysc.c#L353
> >
>
> Or we make the arrays larger - at the moment, the struct is a nice
> round 64 bytes in 32-bit systems - 6 pointers (24 bytes) plus 24 plus
> 16 = 64. For 64-bit systems, this is 88 bytes.
>
of course that is a nice size, but since the devid string is not
directly visible, so chances are high, that an innocent looking
commit might mess it up.
> An alternative approach may be this (untested, not even compile
> tested):
>
so this looks like my favourite approach.
> diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
> index 2f83fb97c6fb..222f0ccf9fc0 100644
> --- a/drivers/clk/clkdev.c
> +++ b/drivers/clk/clkdev.c
> @@ -149,8 +149,7 @@ void clkdev_add_table(struct clk_lookup *cl,
> size_t num)
> struct clk_lookup_alloc {
> struct clk_lookup cl;
> - char dev_id[MAX_DEV_ID];
> - char con_id[MAX_CON_ID];
> + char strings[0];
> };
>
> static struct clk_lookup * __ref
> @@ -158,60 +157,36 @@ vclkdev_alloc(struct clk_hw *hw, const char
> *con_id, const char *dev_fmt, va_list ap)
> {
> struct clk_lookup_alloc *cla;
> - struct va_format vaf;
> - const char *failure;
> va_list ap_copy;
> - size_t max_size;
> - ssize_t res;
> + size_t size;
> + char *strp;
>
> - cla = kzalloc(sizeof(*cla), GFP_KERNEL);
> + size = sizeof(*cla);
> + if (con_id)
> + size += 1 + strlen(con_id);
> + if (dev_fmt) {
> + va_copy(ap_copy, ap);
> + size += 1 + vsprintf(NULL, dev_fmt, ap_copy);
size += 1 + vsnprintf(NULL, 0, dev_fmt, ap_copy);
works for me.
> + va_end(ap_copy);
> + }
> +
or setting size to some big enough value here...
without that, even earlycon is silent.
Regards,
Andreas
next prev parent reply other threads:[~2024-09-25 8:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 21:41 clk mess on omap4460 with mpu clock Andreas Kemnade
2024-09-02 13:53 ` Geert Uytterhoeven
2024-09-03 12:33 ` Andreas Kemnade
2024-09-03 12:36 ` Geert Uytterhoeven
2024-09-03 13:09 ` H. Nikolaus Schaller
2024-09-03 14:00 ` [Letux-kernel] " H. Nikolaus Schaller
2024-09-04 7:23 ` H. Nikolaus Schaller
2024-09-03 17:22 ` Andreas Kemnade
2024-09-03 18:10 ` Russell King (Oracle)
2024-09-23 12:04 ` Andreas Kemnade
2024-09-24 16:52 ` Russell King (Oracle)
2024-09-25 8:57 ` Andreas Kemnade [this message]
2024-09-24 16:53 ` Russell King (Oracle)
2024-09-25 8:06 ` Andreas Kemnade
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240925105722.7921af47@akair \
--to=andreas@kemnade.info \
--cc=geert@linux-m68k.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=paul@pwsan.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.