Thread (49 messages) read the whole thread 49 messages, 7 authors, 2012-05-19

Re: [PATCH v2 1/4] mfd: add LM3533 lighting-power core driver

From: Johan Hovold <hidden>
Date: 2012-05-03 15:00:46
Also in: linux-iio, lkml

On Thu, May 03, 2012 at 12:38:02PM +0100, Mark Brown wrote:
On Thu, May 03, 2012 at 01:28:03PM +0200, Johan Hovold wrote:
quoted
On Thu, May 03, 2012 at 11:38:48AM +0100, Mark Brown wrote:
quoted
quoted
I'd expect you can drop these log messages, if there's stuff like this
missing we should add it to regmap.  At the minute the regmap logging is
via trace points rather than debug logs as you can leave them enabled
all the time.
quoted
If such debugging is added to regmap we still need a way to enable them
per driver (or rather regmap) to not clutter the logs.
This is one of the reasons why we currently use tracepoints (they just
don't have this issue as they're trivial to filter), though
adding some sort of infrastructure for it ought not to be too difficult
even if it's just at the regmap level.
So a /sys/kernel/debug/regmap/<device>/io_printk attribute (with a
better name) to enable debug printks in io paths
(regmap*{read,write,update} outside of mutex) in regmap.c would be
acceptable?
quoted
These three dev_dbg statements are extremely useful during debugging /
development especially in combination with the other dynamic printks in
these drivers.
quoted
I'd actually prefer just keeping them for now.
OTOH the whole point in having stuff like this is to factor out repeated
code like this so if the infrastructure isn't working we should fix
that.
Ok, I'll drop them if you will consider a regmap patch to enable debug
printks to trace reg/val/mask.
quoted
quoted
Might also be worth moving some of the sysfs stuff to live with the
relevant drivers.
quoted
Which attributes do you have in mind?
Pretty much all of those on the MFD.
quoted
The boost_freq and boost_ovp affect both backlight devices (i.e. cannot
be set separately) and as such belong in the parent driver IMO.
quoted
Same with the output_hvled{1..2}, output_lvled{1..5} attributes. The
chip has four logical LEDs ("control banks") but five low-voltage output
sinks. The five output_lvled attributes determine the mapping and as
such belong in the parent driver. The two logical backlight devices can
likewise be used to control either or both high-voltage outputs and
belong in the parent driver for the same reasons.
Actually, the other question I had but forgot to ask (or I think punted
on for your response) was why these are in sysfs at all - things like
which things are connected to the backlight are going to be a property
of the board design so should be defined by the machine not tweaked from
userspace.
I agree with you and the reason is the same as for the max_current
attribute (discussed in the other thread) -- it was an explicit request
from the end customer.

I could replace the boost attributes with a platform_data entry where it
really belongs.

Regarding the output configuration, the chip defaults are probably what
will be used in most cases (i.e. one-one map of logical backlights/leds
and hvled/lvled outputs except for the last led which controls two
outputs). The plan was to add this to the platform data later.

There is a use case (beyond testing/integration) for keeping the (lvled)
outputs configurable from userspace, in that it provides a way to
synchronise LED activity such as blinking. So I still want to keep those,
at least for the lvleds.

Thanks,
Johan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help