From: Hans de Goede <hdegoede@redhat.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [linux-sunxi] Re: [PATCH 4/4] simplefb: add clock handling code
Date: Thu, 02 Oct 2014 13:14:33 +0000 [thread overview]
Message-ID: <542D4FB9.6090805@redhat.com> (raw)
In-Reply-To: <CAKON4OwOFVFZjxN-SJpDJLcyCpNOT4_mjjr9OpgGXmTYvZwT+A@mail.gmail.com>
Hi,
On 10/02/2014 02:56 PM, jonsmirl@gmail.com wrote:
> On Thu, Oct 2, 2014 at 8:39 AM, Hans de Goede <hdegoede@redhat.com> wrote:
>> Hi,
>>
>> On 10/02/2014 02:22 PM, jonsmirl@gmail.com wrote:
>>> On Thu, Oct 2, 2014 at 2:42 AM, Hans de Goede <hdegoede@redhat.com> wrote:
>>>> Hi,
>>>>
>>>> On 10/01/2014 08:12 PM, Stephen Warren wrote:
>>>>> On 10/01/2014 11:54 AM, jonsmirl@gmail.com wrote:
>>>>>> On Wed, Oct 1, 2014 at 1:26 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>>>>> ...
>>>>>>> We've been over all this again and again and again.
>>>>>>>
>>>>>>> AAAARRRRRGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!
>>>>>>>
>>>>>>> All solutions provided sofar are both tons more complicated, then the
>>>>>>> simple solution of simply having the simplefb dt node declare which
>>>>>>> clocks it needs. And to make things worse all of them sofar have
>>>>>>> unresolved issues (due to their complexity mostly).
>>>>>>>
>>>>>>> With the clocks in the simplefb node, then all a real driver has to do,
>>>>>>> is claim those same clocks before unregistering the simplefb driver,
>>>>>>> and everything will just work.
>>>>>>>
>>>>>>> Yet we've been discussing this for months, all because of some
>>>>>>> vague worries from Thierry, and *only* from Thierry that this will
>>>>>>> make simplefb less generic / not abstract enough, while a simple
>>>>>>> generic clocks property is about as generic as things come.
>>>>>
>>>>> Note: I haven't been following this thread, and really don't have the time to get involved, but I did want to point out one thing:
>>>>>
>>>>> As I think I mentioned very early on in this thread, one of the big concerns when simplefb was merged was that it would slowly grow and become a monster. As such, a condition of merging it was that it would not grow features like resource management at all. That means no clock/regulator/... support. It's intended as a simple stop-gap between early platform bringup and whenever a real driver exists for the HW. If you need resource management, write a HW-specific driver. The list archives presumably have a record of the discussion, but I don't know the links off the top of my head. If nobody
>>>>> other than Thierry is objecting, presumably the people who originally objected simply haven't noticed this patch/thread. I suppose it's possible they changed their mind.
>>>>>
>>>>> BTW, there's no reason that the simplefb code couldn't be refactored out into a support library that's used by both the simplefb we currently have and any new HW-specific driver. It's just that the simplefb binding and driver shouldn't grow.
>>>>
>>>> The whole reason why we want to use simplefb is not just to get things
>>>> running until HW specific driver is in place, but also to have early console
>>>> output (to help debugging boot problems on devices without a serial console),
>>>> in a world where most video drivers are build as loadable modules, so we
>>>> won't have video output until quite late into the boot process.
>>>
>>> You need both.
>>>
>>> 1) temporary early boot console -- this is nothing but an address in
>>> RAM and the x/y layout. The character set from framebuffer is built
>>> into the kernel. The parallel to this is early-printk and how it uses
>>> the UARTs without interrupts. This console vaporizes late in the boot
>>> process -- the same thing happens with the early printk UART driver.
>>> EARLYPRINTK on the command line enables this.
>>>
>>> 2) a device specific driver -- this sits on initrd and it loaded as
>>> soon as possible. The same thing happens with the real UART driver for
>>> the console. CONSOLE= on the command line causes the transition. There
>>> is an API in the kernel to do this transition, I believe it is called
>>> set_console() but it's been a while.
>>
>> Eventually we need both, yes. But 1) should stay working until 2) loads,
>> not until some phase of the bootup is completed, but simply until 2) loads.
>
> No, that is where you get into trouble. The device specific driver has
> to go onto initrd where it can be loaded as early in the boot process
> as possible.
This is an argument in the "you cannot do that" / "your use case is not valid"
category, IOW this is not a technical argument. You say I cannot do that I
say I can, deadlock.
I've already explained that we not only can do that (we already have working
code proving that), but also that this is something which we absolutely need:
>> One example why this is necessary is e.g. to debug things where the problem
>> is that the right module is not included in the initrd.
If we ever want ARM support to stop being about cute embedded non-sense hacks,
we must be able to have users get some meaningful output in failure cases like
this without needing to first solder a serial console to some test pads.
Regards,
Hans
next prev parent reply other threads:[~2014-10-02 13:14 UTC|newest]
Thread overview: 269+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-13 7:17 simplefb: add clock handling Luc Verhaegen
2014-08-13 7:17 ` [PATCH 1/4] simplefb: formalize pseudo palette handling Luc Verhaegen
2014-08-13 7:25 ` David Herrmann
2014-08-13 8:46 ` Geert Uytterhoeven
2014-08-13 8:50 ` David Herrmann
2014-08-13 16:45 ` Stephen Warren
2014-08-13 7:17 ` [PATCH 2/4] simplefb: add goto error path to probe Luc Verhaegen
2014-08-13 7:27 ` David Herrmann
2014-08-14 10:29 ` Luc Verhaegen
2014-08-14 10:33 ` David Herrmann
2014-08-14 10:42 ` Luc Verhaegen
2014-08-13 7:17 ` [PATCH 3/4] simplefb: disable dt node upon remove Luc Verhaegen
2014-08-13 8:40 ` Grant Likely
2014-08-13 8:49 ` David Herrmann
2014-08-13 9:23 ` Grant Likely
2014-08-13 9:32 ` David Herrmann
2014-08-13 9:45 ` Luc Verhaegen
2014-08-13 10:19 ` [linux-sunxi] " Luc Verhaegen
2014-08-13 12:54 ` jonsmirl
2014-08-13 19:14 ` Grant Likely
2014-08-13 19:25 ` Luc Verhaegen
2014-08-13 19:58 ` Stephen Warren
2014-08-13 20:01 ` Luc Verhaegen
2014-08-13 20:00 ` Grant Likely
2014-08-13 20:19 ` Luc Verhaegen
2014-08-13 20:41 ` [linux-sunxi] " jonsmirl
2014-08-14 10:15 ` Grant Likely
2014-08-14 12:07 ` jonsmirl
2014-08-15 0:45 ` Henrik Nordström
2014-08-15 1:27 ` jonsmirl
2014-08-15 6:43 ` Maxime Ripard
2014-08-15 12:34 ` jonsmirl
2014-08-13 16:44 ` Stephen Warren
2014-08-13 17:26 ` [linux-sunxi] " jonsmirl
2014-08-13 17:34 ` Stephen Warren
2014-08-13 17:44 ` jonsmirl
2014-08-13 7:17 ` [PATCH 4/4] simplefb: add clock handling code Luc Verhaegen
2014-08-13 16:38 ` Stephen Warren
2014-08-13 16:47 ` Luc Verhaegen
2014-08-13 17:01 ` Maxime Ripard
2014-08-14 9:37 ` [linux-sunxi] " Hans de Goede
2014-08-14 10:31 ` [linux-sunxi] " Koen Kooi
2014-08-14 10:57 ` Luc Verhaegen
2014-08-14 11:18 ` Hans de Goede
2014-08-14 11:18 ` Hans de Goede
2014-08-25 12:12 ` Thierry Reding
2014-08-25 12:44 ` Maxime Ripard
2014-08-25 13:39 ` Thierry Reding
2014-08-25 13:47 ` [linux-sunxi] " Hans de Goede
2014-08-25 14:16 ` Thierry Reding
2014-08-25 14:23 ` jonsmirl
2014-08-25 14:27 ` Hans de Goede
2014-08-25 15:12 ` Thierry Reding
2014-08-25 15:18 ` Luc Verhaegen
2014-08-26 8:40 ` Thierry Reding
2014-08-26 13:22 ` Maxime Ripard
2014-08-26 13:43 ` Thierry Reding
2014-08-25 15:49 ` jonsmirl
2014-08-26 9:02 ` Hans de Goede
2014-08-25 15:01 ` Thierry Reding
2014-08-25 14:23 ` Hans de Goede
2014-08-25 14:53 ` Thierry Reding
2014-08-25 15:07 ` Maxime Ripard
2014-08-26 8:26 ` Thierry Reding
2014-08-26 9:00 ` Mark Brown
2014-08-26 9:18 ` Thierry Reding
2014-08-26 10:06 ` Mark Brown
2014-08-26 10:55 ` Thierry Reding
2014-08-26 11:33 ` Mark Brown
2014-08-26 18:40 ` Henrik Nordström
2014-08-27 7:40 ` Mark Brown
2014-08-27 8:22 ` Maxime Ripard
2014-08-27 8:37 ` Geert Uytterhoeven
2014-08-27 8:55 ` Maxime Ripard
2014-08-27 9:05 ` Geert Uytterhoeven
2014-08-27 10:32 ` Maxime Ripard
2014-08-27 10:07 ` Thierry Reding
2014-08-27 10:26 ` Henrik Nordström
2014-08-27 12:45 ` Julian Calaby
2014-08-27 13:24 ` Maxime Ripard
2014-08-25 15:08 ` jonsmirl
2014-08-25 14:58 ` Maxime Ripard
2014-08-25 15:05 ` Thierry Reding
2014-08-25 15:09 ` Luc Verhaegen
2014-08-26 7:52 ` Thierry Reding
2014-08-26 12:02 ` Luc Verhaegen
2014-08-26 12:21 ` Thierry Reding
2014-08-26 12:33 ` Luc Verhaegen
2014-08-26 14:41 ` Thierry Reding
2014-08-25 15:22 ` Maxime Ripard
2014-08-26 8:04 ` Thierry Reding
2014-08-26 8:45 ` Michal Suchanek
2014-08-26 13:53 ` Maxime Ripard
2014-08-26 14:35 ` Thierry Reding
2014-08-26 19:59 ` Hans de Goede
2014-08-27 9:31 ` Thierry Reding
2014-08-27 10:35 ` Hans de Goede
2014-08-27 12:44 ` jonsmirl
2014-08-27 12:50 ` Hans de Goede
2014-08-27 12:56 ` jonsmirl
2014-08-27 13:05 ` Thierry Reding
2014-08-27 12:56 ` Thierry Reding
2014-08-27 13:44 ` Hans de Goede
2014-08-27 14:16 ` Thierry Reding
2014-08-28 12:15 ` Hans de Goede
2014-08-28 13:22 ` jonsmirl
2014-08-28 14:20 ` Geert Uytterhoeven
2014-08-28 14:33 ` jonsmirl
2014-08-28 14:37 ` Geert Uytterhoeven
2014-08-28 15:11 ` jonsmirl
2014-08-28 16:25 ` Michal Suchanek
2014-08-28 16:34 ` jonsmirl
2014-08-28 16:50 ` Luc Verhaegen
2014-08-28 20:31 ` Michal Suchanek
2014-08-29 7:16 ` Thierry Reding
2014-08-29 7:01 ` Thierry Reding
2014-08-29 7:23 ` Hans de Goede
2014-08-29 8:12 ` Thierry Reding
2014-08-29 14:12 ` Maxime Ripard
2014-08-29 14:38 ` Thierry Reding
2014-08-29 15:25 ` Michal Suchanek
2014-09-02 9:25 ` Maxime Ripard
2014-09-27 23:56 ` Mike Turquette
2014-09-29 8:06 ` Thierry Reding
2014-09-29 8:27 ` Geert Uytterhoeven
2014-09-29 8:54 ` Thierry Reding
2014-09-29 9:10 ` Geert Uytterhoeven
2014-09-29 9:29 ` Thierry Reding
2014-09-29 9:44 ` Michal Suchanek
2014-09-29 10:40 ` Thierry Reding
2014-09-29 9:23 ` Maxime Ripard
2014-09-29 10:18 ` Thierry Reding
2014-09-29 10:35 ` Geert Uytterhoeven
2014-09-29 10:44 ` Thierry Reding
2014-09-29 11:32 ` Geert Uytterhoeven
2014-09-29 14:00 ` Thierry Reding
2014-09-29 11:34 ` Maxime Ripard
2014-09-29 13:54 ` Thierry Reding
2014-09-29 15:57 ` Maxime Ripard
2014-09-30 4:59 ` Thierry Reding
2014-09-30 7:46 ` Maxime Ripard
2014-09-30 11:43 ` Hans de Goede
2014-09-30 11:46 ` Thierry Reding
2014-09-30 21:37 ` Mike Turquette
2014-10-01 7:30 ` Thierry Reding
2014-10-01 18:17 ` Mike Turquette
2014-10-02 8:12 ` Thierry Reding
2014-09-29 11:00 ` Julian Calaby
2014-09-29 13:21 ` Thierry Reding
2014-09-29 14:46 ` Julian Calaby
2014-09-29 15:19 ` Thierry Reding
2014-09-29 15:42 ` Michal Suchanek
2014-09-30 0:10 ` Julian Calaby
2014-09-29 11:46 ` Maxime Ripard
2014-09-29 13:47 ` Thierry Reding
2014-09-29 15:04 ` Michal Suchanek
2014-09-29 15:49 ` Thierry Reding
2014-09-29 16:39 ` Michal Suchanek
2014-09-29 15:55 ` Mark Brown
2014-09-30 5:09 ` Thierry Reding
2014-09-30 17:39 ` Mark Brown
2014-10-01 7:41 ` Thierry Reding
2014-10-01 11:10 ` Javier Martinez Canillas
2014-10-01 12:32 ` Mark Brown
2014-10-01 12:48 ` Thierry Reding
2014-10-01 17:05 ` Mark Brown
2014-10-01 17:26 ` Hans de Goede
2014-10-01 17:54 ` jonsmirl
2014-10-01 18:12 ` Stephen Warren
2014-10-01 18:16 ` Luc Verhaegen
2014-10-02 6:42 ` Hans de Goede
2014-10-02 12:22 ` jonsmirl
2014-10-02 12:39 ` Hans de Goede
2014-10-02 12:56 ` jonsmirl
2014-10-02 13:14 ` Hans de Goede [this message]
2014-10-02 13:27 ` jonsmirl
2014-10-02 13:33 ` Hans de Goede
2014-10-02 13:40 ` jonsmirl
2014-10-02 14:08 ` Hans de Goede
2014-10-02 14:16 ` jonsmirl
2014-10-02 14:21 ` Hans de Goede
2014-10-02 14:41 ` jonsmirl
2014-10-02 14:50 ` Hans de Goede
2014-10-02 15:14 ` jonsmirl
2014-10-02 15:30 ` jonsmirl
2014-10-02 15:38 ` Hans de Goede
2014-10-02 15:36 ` Michal Suchanek
2014-10-02 23:31 ` Julian Calaby
2014-10-03 7:56 ` Hans de Goede
2014-11-11 16:15 ` Grant Likely
2014-10-02 14:18 ` Maxime Ripard
2014-10-02 14:23 ` Hans de Goede
2014-10-02 14:17 ` Michal Suchanek
2014-10-02 13:59 ` Michal Suchanek
2014-10-02 13:23 ` Michal Suchanek
2014-10-02 13:34 ` jonsmirl
2014-10-02 13:40 ` Hans de Goede
2014-10-02 13:44 ` jonsmirl
2014-10-02 13:46 ` Geert Uytterhoeven
2014-10-02 13:49 ` jonsmirl
2014-10-02 19:15 ` Geert Uytterhoeven
2014-10-02 15:49 ` Stephen Warren
2014-10-03 11:16 ` Hans de Goede
2014-10-03 11:45 ` Tomi Valkeinen
2014-10-03 11:53 ` Hans de Goede
2014-10-01 11:31 ` Mark Brown
2014-09-29 16:28 ` Maxime Ripard
2014-09-29 16:58 ` Luc Verhaegen
2014-09-29 22:02 ` Luc Verhaegen
2014-09-30 5:39 ` Thierry Reding
2014-09-30 8:03 ` Maxime Ripard
2014-09-30 11:02 ` Thierry Reding
2014-09-30 12:41 ` Mark Brown
2014-09-30 12:50 ` jonsmirl
2014-09-30 5:21 ` Thierry Reding
2014-09-30 7:52 ` Maxime Ripard
2014-09-30 8:54 ` Thierry Reding
2014-09-30 9:38 ` Michal Suchanek
2014-09-30 11:31 ` Thierry Reding
2014-09-30 14:12 ` Michal Suchanek
2014-09-30 12:29 ` Maxime Ripard
2014-09-29 16:11 ` Mark Brown
2014-09-30 6:03 ` Thierry Reding
2014-09-30 18:00 ` Mark Brown
2014-10-01 8:14 ` Thierry Reding
2014-10-01 12:20 ` Mark Brown
2014-10-01 12:48 ` Thierry Reding
2014-10-01 13:01 ` jonsmirl
2014-10-01 13:17 ` Michal Suchanek
2014-10-01 13:40 ` jonsmirl
2014-10-01 17:17 ` Mark Brown
2014-10-01 18:43 ` Geert Uytterhoeven
2014-10-02 8:30 ` Thierry Reding
2014-10-02 8:27 ` Thierry Reding
2014-10-01 8:17 ` Thierry Reding
2014-09-29 17:51 ` jonsmirl
2014-09-29 18:06 ` Michal Suchanek
2014-08-27 13:56 ` Maxime Ripard
2014-08-27 14:30 ` Thierry Reding
2014-08-27 13:43 ` Maxime Ripard
2014-08-26 21:02 ` Maxime Ripard
2014-08-27 6:54 ` Thierry Reding
2014-08-27 8:00 ` Hans de Goede
2014-08-27 9:37 ` Thierry Reding
2014-08-27 8:45 ` Maxime Ripard
2014-08-27 9:52 ` Thierry Reding
2014-08-27 15:42 ` Maxime Ripard
2014-08-27 20:57 ` Michal Suchanek
2014-08-28 10:08 ` Thierry Reding
2014-08-29 5:13 ` Michal Suchanek
2014-08-29 6:19 ` Thierry Reding
2014-08-29 6:48 ` Michal Suchanek
2014-08-29 7:08 ` Thierry Reding
2014-08-28 10:11 ` Thierry Reding
2014-08-28 10:32 ` Michal Suchanek
2014-08-28 20:46 ` Maxime Ripard
2014-08-29 6:29 ` Thierry Reding
2014-08-29 13:57 ` Maxime Ripard
2014-08-29 14:31 ` Thierry Reding
2014-08-27 8:17 ` Henrik Nordström
2014-08-25 15:25 ` Andreas Färber
2014-08-26 13:19 ` Maxime Ripard
2014-08-13 7:54 ` simplefb: add clock handling David Herrmann
2014-08-13 8:11 ` Luc Verhaegen
2014-08-13 8:21 ` [linux-sunxi] " Koen Kooi
2014-08-13 8:36 ` Hans de Goede
2014-08-13 10:16 ` Koen Kooi
2014-08-13 10:24 ` David Herrmann
2014-08-13 11:36 ` Hans de Goede
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=542D4FB9.6090805@redhat.com \
--to=hdegoede@redhat.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).