Re: [PATCH v2] mmc: sunxi: remove output of virtual base address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 19, 2018 at 04:10:50PM +0100, Andre Przywara wrote:
> Hi,
> 
> On 19/07/18 15:46, Maxime Ripard wrote:
> > On Thu, Jul 19, 2018 at 02:35:54PM +0100, Andre Przywara wrote:
> >> Recent Linux versions refuse to print actual virtual kernel addresses,
> >> to not give a hint about the location of the kernel in a randomized virtual
> >> address space. This affects the output of the sunxi MMC controller
> >> driver, which now produces the rather uninformative line:
> >>
> >> [    1.482660] sunxi-mmc 1c0f000.mmc: base:0x(____ptrval____) irq:8
> >>
> >> Since the virtual base address is not really interesting in the first
> >> place, let's just drop this value. The same applies to Linux' notion of
> >> the interrupt number, which is independent from the GIC SPI number.
> >> We have the physical address as part of the DT node name, which is way
> >> more useful for debugging purposes.
> >> To keep a success message in the driver, we print some information that
> >> is not too obvious and that we learned while probing the device:
> >> the maximum request size and whether it uses the new timing mode.
> >> So the output turns into:
> >> sunxi-mmc 1c0f000.mmc: max request size: 16384 KB, uses new timings mode
> >> sunxi-mmc 1c11000.mmc: max request size: 2048 KB
> >>
> >> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
> >> ---
> >> Changelog v1 ... v2:
> >> - dropped output of Linux interrupt number
> >> - added max request size and timings mode output
> >>
> >>  drivers/mmc/host/sunxi-mmc.c | 5 ++++-
> >>  1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
> >> index 8e7f3e35ee3d..fbbc09d82338 100644
> >> --- a/drivers/mmc/host/sunxi-mmc.c
> >> +++ b/drivers/mmc/host/sunxi-mmc.c
> >> @@ -1407,7 +1407,10 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
> >>  	if (ret)
> >>  		goto error_free_dma;
> >>  
> >> -	dev_info(&pdev->dev, "base:0x%p irq:%u\n", host->reg_base, host->irq);
> >> +	dev_info(&pdev->dev, "max request size: %u KB%s\n",
> >> +		 mmc->max_req_size >> 10,
> >> +		 host->use_new_timings ? ", uses new timings mode" : "");
> > 
> > I really don't know how to feel about this one.
> > 
> > This isn't more useful to the regular user wanting to see if the
> > driver is probed, which is what this message should be about. 
> > 
> > And this one isn't clearer or more obvious than the previous one
> > (which was already pretty bad). I really think having some message
> > that basically says "MMC controller initialized" or something along
> > those lines would work better.
> 
> I see your point, and am happy to change that.
> On the other hand there might be people that complain about chatty
> drivers, and printing a line just to says "Success!!!!!" is a bit BSP
> kernel like ;-).

Well, we're currently printing copyright notices, so I guess we're
worse than the BSPs :)

> That dmesg line could as well be used to print something useful, and
> transport the "success" message along with that.  So basically I
> scanned the probe function for some information that would justify
> an output (something non-obvious or information probed), to avoid
> dropping this at all (as you initially said yesterday).
> MMC_CAP_1_8V_DDR was another candidate, btw.
> 
> > However, I can also see value in having this printed, for developers,
> > but maybe as dev_dbg?
> 
> I think it's useful to have this in non-debug kernels as well, because
> this is what people tend to use. And this would allow developers to much
> easier debug user problems, for instance when they create board DTs:
> When this line doesn't appear, there might be a regulator missing, for
> instance. If it's there, the MMC driver is happy and we have one less
> thing to worry about.
> 
> So why not combine the benefit of the success message and the
> information for developers, if we have that one line of output anyway?
> I think we have way more chattier drivers and way more cryptic messages
> in the dmesg, so a single line with some technical details does not
> hurt, especially if we have that already.
> 
> But I don't have a strong opinion on that, so leave it up for Ulf and
> you to decide: keep this patch (or print some other info); replace the
> output with a success message or drop the line at all.

How about both then?

Something like "initialized with %d request size and new timings\n" ?

It makes it obvious enough for someone that doesn't really has an
idea, while outputting the proper informations you wanted.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux