lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Wed, 14 May 2014 08:44:14 +0200
From:	Andreas Werner <wernerandy@....de>
To:	Guenter Roeck <linux@...ck-us.net>
Cc:	linux-kernel@...r.kernel.org, khali@...ux-fr.org,
	andreas.werner@....de
Subject: Re: Question: hwmon: Adding addtitional sysfs entries

On Sat, May 10, 2014 at 08:32:40AM -0700, Guenter Roeck wrote:
> On 05/10/2014 09:02 AM, Andreas Werner wrote:
> >On Sat, May 10, 2014 at 05:32:13AM -0700, Guenter Roeck wrote:
> >>On 05/10/2014 06:22 AM, Andreas Werner wrote:
> >>>Hi,
> >>>i am currently working on an implemenation of my Board Management Controller (BMC).
> >>>
> >>>This Controller is a MCR assembled on almost all of our Compact PCI or Compact PCI Serial
> >>>Cards as well as on some other CPU Boards.
> >>>
> >>>The BMC includes LED´s, Watchdog, Voltage Monitoring and some other features.
> >>>I have already implemented an MFD driver, LED and Watchdog driver.
> >>>
> >>>Currently i am working on the hwmon implemenation. This includes for the first step the
> >>>voltage monitoring.
> >>>
> >>>The BMC has some other feature which are not supported by any of the subsystem.
> >>>  - Errorcounter (Board status)
> >>>  - Power Failure status
> >>>  - Operating ours
> >>
> >>Guess you mean hours here.
> >
> >Yes sorry my mistake.
> >
> >>
> >>>  - Do software reset, do cold reset
> >>>  - Set power modes
> >>>  - Backplate Geographical Address
> >>>
> >>>These are all informations related to the Board where the BMC is assembled to.
> >>>I think all those features could be part of the hwmon implementation.
> >>>
> >>Why ?
> >
> >As all of the settings are CPU board related i thought it will be an good idea
> >to put as much settings as possible to a group to one subsystem.
> >This would be easier for the User Application.
> >
> Bad argument, even for the users. A user would not normally expect to find
> the above information in unrelated subsystems such as hwmon. Keep in mind that
> the Linux kernel is supposed to be useful for more than the application developers
> in your company, and think about it - assume you would have to implement an
> application which runs on more than one hardware, and attributes like the above
> would be spread throughout the system. It would be all but impossible to write
> generic applications, so you would want to avoid adding anything non-standard
> as much as you can. And if you have to implement something non-standard, at least
> implement it where people at least have a chance to find it.
>
Ok, you are right :-)
 
> >>
> >>>Is it possible to add "custom" sysfs entries in my hwmon driver to support all these features?
> >>>Does lm-sensor ingore those custom features or is it a problem for lm-sensors?
> >>>
> >>>What is the normal way to add those features?
> >>>
> >>
> >>The hwmon subsystem isn't really the correct location for this functionality.
> >>Power management should be done with a regulator driver (possibly power).
> >>The other attributes and functionality would better fit into the mfd core
> >>driver.
> >>
> >
> >MFD Core sounds good. That is also perfect for the User App.
> >
> >>You might want to tie the reset functions into the system reset functionality.
> >
> >I do not understand this. Is there another subsystem or something like that
> >were I can put the Reset stuff to?
> >
> Assuming you are talking about system reset, there is a function named machine_restart()
> to accomplish that. This is architecture and, in many cases, machine specific functionality.
> For example, many arm architectures have a different means to reset the system, and there
> is a separate function pointer named arm_pm_restart to tie into that functionality.
> 
> Many restart functions are implemented in the drivers/power/reset directory, which may be
> a good location for yours.
> 
Just for explanation and to avoid missunderstanding. The reset functionality of the BMC
is to send a I2C command from the Host to the BMC, and the BMC does the reset or power down.

There is also a functionality where you can send a command the Controller and he will press
the "power button" which cause an ACPI event to shutdown the PC if configured.

Thanks for the /drivers/power informations there is really nice code in there where I can
pick up some stuff to implement functions like that.

> >
> >I guess the hwmon subsys is the right place for the voltage monitoring (3,3V, 5V etc) isn´t it?
> >
> Yes, that is what it is for.

Thanks, works fine. Nice integration in lm_sensors thats what I love in Linux :-)
> 
> Guenter
> 
Regards
Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ