Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1444001 > unrolled thread

outdated documentation for lp5523 LED driver?

Started byPavel Machek <pavel@ucw.cz>
First post2016-07-15 09:40 +0200
Last post2016-07-15 11:30 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  outdated documentation for lp5523 LED driver? Pavel Machek <pavel@ucw.cz> - 2016-07-15 09:40 +0200
    Re: outdated documentation for lp5523 LED driver? Pali Rohár <pali.rohar@gmail.com> - 2016-07-15 09:50 +0200
      Re: outdated documentation for lp5523 LED driver? Pavel Machek <pavel@ucw.cz> - 2016-07-15 11:00 +0200
        Re: outdated documentation for lp5523 LED driver? Pali Rohár <pali.rohar@gmail.com> - 2016-07-15 11:10 +0200
          Re: outdated documentation for lp5523 LED driver? Pavel Machek <pavel@ucw.cz> - 2016-07-15 11:30 +0200

#1444001 — outdated documentation for lp5523 LED driver?

FromPavel Machek <pavel@ucw.cz>
Date2016-07-15 09:40 +0200
Subjectoutdated documentation for lp5523 LED driver?
Message-ID<rV5T4-43Z-15@gated-at.bofh.it>
Hi!

Documentation says that load/leds are only visible in the load mode,
but that does not seem to be true (kernel 4.4.0 on N900).

# 1) Legacy interface - enginex_mode, enginex_load and enginex_leds
#  Control interface for the engines:
#    x is 1 .. 3
#      enginex_mode : disabled, load, run
#      enginex_load : microcode load (visible only in load mode)
#      enginex_leds : led mux control (visible only in load mode)

pavel@n900:/sys/class/leds/lp5523:r/device$ ls -al engine*
-rw-r--r-- 1 root root 4096 Jul  6 22:47 engine1_leds
--w------- 1 root root 4096 Jul  6 22:47 engine1_load
-rw-r--r-- 1 root root 4096 Jul  6 23:41 engine1_mode
-rw-r--r-- 1 root root 4096 Jul  6 22:47 engine2_leds
--w------- 1 root root 4096 Jul  6 22:47 engine2_load
-rw-r--r-- 1 root root 4096 Jul  6 23:41 engine2_mode
-rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_leds
--w------- 1 root root 4096 Jul  6 22:47 engine3_load
-rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_mode
pavel@n900:/sys/class/leds/lp5523:r/device$ grep . engine*mode
engine1_mode:run
engine2_mode:load
engine3_mode:run
pavel@n900:/sys/class/leds/lp5523:r/device$

I got both the legacy and the firmware interface to work... but the
firmware interface only seems to work once for me.

How new and old interface are expected to interact with each other is
not clear to me.

What should be done there?

Best regards,
									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [next] | [standalone]


#1444012

FromPali Rohár <pali.rohar@gmail.com>
Date2016-07-15 09:50 +0200
Message-ID<rV62K-47o-7@gated-at.bofh.it>
In reply to#1444001
On Friday 15 July 2016 09:32:14 Pavel Machek wrote:
> Hi!
> 
> Documentation says that load/leds are only visible in the load mode,
> but that does not seem to be true (kernel 4.4.0 on N900).
> 
> # 1) Legacy interface - enginex_mode, enginex_load and enginex_leds
> #  Control interface for the engines:
> #    x is 1 .. 3
> #      enginex_mode : disabled, load, run
> #      enginex_load : microcode load (visible only in load mode)
> #      enginex_leds : led mux control (visible only in load mode)
> 
> pavel@n900:/sys/class/leds/lp5523:r/device$ ls -al engine*
> -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine1_leds
> --w------- 1 root root 4096 Jul  6 22:47 engine1_load
> -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine1_mode
> -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine2_leds
> --w------- 1 root root 4096 Jul  6 22:47 engine2_load
> -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine2_mode
> -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_leds
> --w------- 1 root root 4096 Jul  6 22:47 engine3_load
> -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_mode
> pavel@n900:/sys/class/leds/lp5523:r/device$ grep . engine*mode
> engine1_mode:run
> engine2_mode:load
> engine3_mode:run
> pavel@n900:/sys/class/leds/lp5523:r/device$

On 2.6.28 kernel is present only legacy interface and for this version
is above documentation correct. When engine is in "run" or "disabled",
then sysfs nodes _load and _leds are invisible.

So I suspect that bug is in current kernel code and documentation is
correct... So I would propose to fix kernel code to reflect
documentation...

> I got both the legacy and the firmware interface to work... but the
> firmware interface only seems to work once for me.
> 
> How new and old interface are expected to interact with each other is
> not clear to me.

In my opinion both interfaces could be used. They provide same states
load/run but via different sysfs files.

> What should be done there?
> 
> Best regards,
> 									Pavel
> 

-- 
Pali Rohár
pali.rohar@gmail.com

[toc] | [prev] | [next] | [standalone]


#1444078

FromPavel Machek <pavel@ucw.cz>
Date2016-07-15 11:00 +0200
Message-ID<rV78t-4JM-15@gated-at.bofh.it>
In reply to#1444012
On Fri 2016-07-15 09:40:52, Pali Rohár wrote:
> On Friday 15 July 2016 09:32:14 Pavel Machek wrote:
> > Hi!
> > 
> > Documentation says that load/leds are only visible in the load mode,
> > but that does not seem to be true (kernel 4.4.0 on N900).
> > 
> > # 1) Legacy interface - enginex_mode, enginex_load and enginex_leds
> > #  Control interface for the engines:
> > #    x is 1 .. 3
> > #      enginex_mode : disabled, load, run
> > #      enginex_load : microcode load (visible only in load mode)
> > #      enginex_leds : led mux control (visible only in load mode)
> > 
> > pavel@n900:/sys/class/leds/lp5523:r/device$ ls -al engine*
> > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine1_leds
> > --w------- 1 root root 4096 Jul  6 22:47 engine1_load
> > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine1_mode
> > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine2_leds
> > --w------- 1 root root 4096 Jul  6 22:47 engine2_load
> > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine2_mode
> > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_leds
> > --w------- 1 root root 4096 Jul  6 22:47 engine3_load
> > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_mode
> > pavel@n900:/sys/class/leds/lp5523:r/device$ grep . engine*mode
> > engine1_mode:run
> > engine2_mode:load
> > engine3_mode:run
> > pavel@n900:/sys/class/leds/lp5523:r/device$
> 
> On 2.6.28 kernel is present only legacy interface and for this version
> is above documentation correct. When engine is in "run" or "disabled",
> then sysfs nodes _load and _leds are invisible.

Well, I don't think 2.6.28 is suitable kernel to compare
against... and I don't think hiding sysfs attributes makes any sense.

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [next] | [standalone]


#1444091

FromPali Rohár <pali.rohar@gmail.com>
Date2016-07-15 11:10 +0200
Message-ID<rV7ia-52g-57@gated-at.bofh.it>
In reply to#1444078
On Friday 15 July 2016 10:54:25 Pavel Machek wrote:
> On Fri 2016-07-15 09:40:52, Pali Rohár wrote:
> > On Friday 15 July 2016 09:32:14 Pavel Machek wrote:
> > > Hi!
> > > 
> > > Documentation says that load/leds are only visible in the load mode,
> > > but that does not seem to be true (kernel 4.4.0 on N900).
> > > 
> > > # 1) Legacy interface - enginex_mode, enginex_load and enginex_leds
> > > #  Control interface for the engines:
> > > #    x is 1 .. 3
> > > #      enginex_mode : disabled, load, run
> > > #      enginex_load : microcode load (visible only in load mode)
> > > #      enginex_leds : led mux control (visible only in load mode)
> > > 
> > > pavel@n900:/sys/class/leds/lp5523:r/device$ ls -al engine*
> > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine1_leds
> > > --w------- 1 root root 4096 Jul  6 22:47 engine1_load
> > > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine1_mode
> > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine2_leds
> > > --w------- 1 root root 4096 Jul  6 22:47 engine2_load
> > > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine2_mode
> > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_leds
> > > --w------- 1 root root 4096 Jul  6 22:47 engine3_load
> > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_mode
> > > pavel@n900:/sys/class/leds/lp5523:r/device$ grep . engine*mode
> > > engine1_mode:run
> > > engine2_mode:load
> > > engine3_mode:run
> > > pavel@n900:/sys/class/leds/lp5523:r/device$
> > 
> > On 2.6.28 kernel is present only legacy interface and for this version
> > is above documentation correct. When engine is in "run" or "disabled",
> > then sysfs nodes _load and _leds are invisible.
> 
> Well, I don't think 2.6.28 is suitable kernel to compare
> against... and I don't think hiding sysfs attributes makes any sense.

It is legacy interface which was used in older kernels (like 2.6.28) and
is there to not break existing applications... So comparing with kernel
when that interface was not legacy is correct way to check...

-- 
Pali Rohár
pali.rohar@gmail.com

[toc] | [prev] | [next] | [standalone]


#1444112

FromPavel Machek <pavel@ucw.cz>
Date2016-07-15 11:30 +0200
Message-ID<rV7Bw-58N-7@gated-at.bofh.it>
In reply to#1444091
On Fri 2016-07-15 11:01:10, Pali Rohár wrote:
> On Friday 15 July 2016 10:54:25 Pavel Machek wrote:
> > On Fri 2016-07-15 09:40:52, Pali Rohár wrote:
> > > On Friday 15 July 2016 09:32:14 Pavel Machek wrote:
> > > > Hi!
> > > > 
> > > > Documentation says that load/leds are only visible in the load mode,
> > > > but that does not seem to be true (kernel 4.4.0 on N900).
> > > > 
> > > > # 1) Legacy interface - enginex_mode, enginex_load and enginex_leds
> > > > #  Control interface for the engines:
> > > > #    x is 1 .. 3
> > > > #      enginex_mode : disabled, load, run
> > > > #      enginex_load : microcode load (visible only in load mode)
> > > > #      enginex_leds : led mux control (visible only in load mode)
> > > > 
> > > > pavel@n900:/sys/class/leds/lp5523:r/device$ ls -al engine*
> > > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine1_leds
> > > > --w------- 1 root root 4096 Jul  6 22:47 engine1_load
> > > > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine1_mode
> > > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine2_leds
> > > > --w------- 1 root root 4096 Jul  6 22:47 engine2_load
> > > > -rw-r--r-- 1 root root 4096 Jul  6 23:41 engine2_mode
> > > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_leds
> > > > --w------- 1 root root 4096 Jul  6 22:47 engine3_load
> > > > -rw-r--r-- 1 root root 4096 Jul  6 22:47 engine3_mode
> > > > pavel@n900:/sys/class/leds/lp5523:r/device$ grep . engine*mode
> > > > engine1_mode:run
> > > > engine2_mode:load
> > > > engine3_mode:run
> > > > pavel@n900:/sys/class/leds/lp5523:r/device$
> > > 
> > > On 2.6.28 kernel is present only legacy interface and for this version
> > > is above documentation correct. When engine is in "run" or "disabled",
> > > then sysfs nodes _load and _leds are invisible.
> > 
> > Well, I don't think 2.6.28 is suitable kernel to compare
> > against... and I don't think hiding sysfs attributes makes any sense.
> 
> It is legacy interface which was used in older kernels (like 2.6.28) and
> is there to not break existing applications... So comparing with kernel
> when that interface was not legacy is correct way to check...

Well, not breaking legacy applications is only goal after reasonable
interface is merged to mainline.

Can you test if they actually care about the change or not? I suspect
they don't.

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web