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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/