From mboxrd@z Thu Jan 1 00:00:00 1970 From: ranshalit@gmail.com (Ran Shalit) Date: Sun, 14 Sep 2014 22:21:52 +0300 Subject: Any char device example for runtime PM ? In-Reply-To: References: Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Sun, Sep 14, 2014 at 7:45 PM, Peter Teoh wrote: > > > On Sat, Sep 13, 2014 at 3:50 PM, Ran Shalit wrote: >> >> On Sat, Sep 13, 2014 at 4:14 AM, Peter Teoh >> wrote: >> > please elaborate your requirements. char dev is for I/O to hardware. >> > but >> > runtime PM is for hibernating machine. what is the connection u trying >> > to >> > achieve? >> > >> > On Mon, Sep 8, 2014 at 1:22 PM, Ran Shalit wrote: >> >> >> >> Hello, >> >> >> >> Is there any character device example using runtime PM available ? >> >> It is most helpful, >> >> >> Hi, >> >> Some of the drivers I'm using are char devices, while I only saw >> platform device registration for runtime PM, so my question stem from >> this. >> >> As to the system requirement I have, it is as following: >> 1. make everything as automatic as possible , so that there won't be >> any need to add any userspace application for the matter. >> 2. wakeup from all relevant wakeup sources >> 3. should not use sysfs (it should be disabled from kernel) >> 4. platform is OMAP3530. >> >> Now, As I understand this far, I have the following options ( >> requirement 3 above I will ignore, don't know how to handle it yet, >> and assume for meanwhile that I have sysfs) : >> 1. use suspend scheme (no runtime PM) >> 1.a. create some kernel periodic thread who check cpu load and will >> decide >> to disable system only if its below some minimum threshold (which >> should indicate no activity) >> 1.b. initialize all HW interrupts (gpio, uart, etc) as wakeup sources >> with this scheme only this thread is responsible for the suspend, >> and there is no use of the runtime PM, right ? >> >> 2. use runtime PM scheme : >> With this scheme I don't understand how some device will wake the >> system , or doesn't it need to ? If a driver wakes up maybe it need >> to deliver some info to system ? >> > > as a general comment, your requirement for PM sounds weird. > > a. normally, the linux kernel has its own PM protocol....and it governs > which devices to saves states, and restore it later.....there is a hierarchy > of calls to be made. and it is a complex daisy chain from devices to > higher logical level. but yours never seem to mention or plan to integrate > to this infrastructure? > > b. hardware PM (sorry, i am a software guy...may be wrong) for > microcontroller/CPU normally means different states resulting in different > external PINs being disable, and for the least powered state only one or two > pins are available to wake up the CP/microcontroller. but when u mentioned > so many pins are potential wake up source......then it is not powered down > at all. > > i am being vague and brief, not to waste time, as this is a big topic, > sorry. > > > > -- > Regards, > Peter Teoh Hi Peter, Thanks very much for the time, Your answer makes a lot of sense actually. I gave you the requirement I got AS-IS, and some of the difficulties I have, partly stem from the things you meantion in your answer. After this delving and research into this hugh issue of PM, I will defenitely return with feedback about these requirements. I would like to use your knowledge if I may. Is it possible to use scheme b only, i.e. configure it all in low level (HW registers) and not to use any linux mechanism ? Thanks, Ran