From: Daniel Lezcano daniel.lezcano@free.fr
That has the benefit to simplify the code.
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- powerdebug.c | 65 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 31 deletions(-)
diff --git a/powerdebug.c b/powerdebug.c index 6cf3a1b..555beea 100644 --- a/powerdebug.c +++ b/powerdebug.c @@ -31,6 +31,17 @@
extern void sigwinch_handler(int);
+#define REGULATOR_OPTION 0x01 +#define SENSOR_OPTION 0x02 +#define CLOCK_OPTION 0x04 +#define GPIO_OPTION 0x08 + +#define VERBOSE_OPTION 0x10 +#define DUMP_OPTION 0x20 + +#define DEFAULT_OPTION (REGULATOR_OPTION | SENSOR_OPTION | \ + CLOCK_OPTION | GPIO_OPTION) + void usage(void) { printf("Usage: powerdebug [OPTIONS]\n"); @@ -86,12 +97,7 @@ static struct option long_options[] = { };
struct powerdebug_options { - bool verbose; - bool regulators; - bool sensors; - bool clocks; - bool gpios; - bool dump; + int flags; unsigned int ticktime; int selectedwindow; char *clkname; @@ -115,39 +121,38 @@ int getoptions(int argc, char *argv[], struct powerdebug_options *options)
switch (c) { case 'r': - options->regulators = true; + options->flags |= REGULATOR_OPTION; options->selectedwindow = REGULATOR; break; case 's': - options->sensors = true; + options->flags |= SENSOR_OPTION; options->selectedwindow = SENSOR; break; case 'c': - options->clocks = true; + options->flags |= CLOCK_OPTION; options->selectedwindow = CLOCK; break; case 'g': - options->gpios = true; + options->flags |= GPIO_OPTION; options->selectedwindow = GPIO; break; + case 'd': + options->flags |= DUMP_OPTION; + break; + case 'v': + options->flags |= VERBOSE_OPTION; + break; case 'p': options->clkname = strdup(optarg); if (!options->clkname) { fprintf(stderr, "failed to allocate memory"); return -1; } - options->dump = true; /* Assume -dc in case of -p */ - options->clocks = true; + options->flags |= (DUMP_OPTION | CLOCK_OPTION); break; case 't': options->ticktime = atoi(optarg); break; - case 'd': - options->dump = true; - break; - case 'v': - options->verbose = true; - break; case 'V': version(); break; @@ -160,10 +165,8 @@ int getoptions(int argc, char *argv[], struct powerdebug_options *options) }
/* No system specified to be dump, let's default to all */ - if (!options->regulators && !options->clocks && - !options->sensors && !options->gpios) - options->regulators = options->clocks = - options->sensors = options->gpios = true; + if (!(options->flags & DEFAULT_OPTION)) + options->flags |= DEFAULT_OPTION;
if (options->selectedwindow == -1) options->selectedwindow = CLOCK; @@ -173,16 +176,16 @@ int getoptions(int argc, char *argv[], struct powerdebug_options *options)
static int powerdebug_dump(struct powerdebug_options *options) { - if (options->regulators) + if (options->flags & REGULATOR_OPTION) regulator_dump();
- if (options->clocks) + if (options->flags & CLOCK_OPTION) clock_dump(options->clkname);
- if (options->sensors) + if (options->flags & SENSOR_OPTION) sensor_dump();
- if (options->gpios) + if (options->flags & GPIO_OPTION) gpio_dump();
return 0; @@ -248,25 +251,25 @@ int main(int argc, char **argv)
if (regulator_init()) { printf("failed to initialize regulator\n"); - options->regulators = false; + options->flags &= ~REGULATOR_OPTION; }
if (clock_init()) { printf("failed to initialize clock details (check debugfs)\n"); - options->clocks = false; + options->flags &= ~CLOCK_OPTION; }
if (sensor_init()) { printf("failed to initialize sensors\n"); - options->sensors = false; + options->flags &= SENSOR_OPTION; }
if (gpio_init()) { printf("failed to initialize gpios\n"); - options->gpios = false; + options->flags &= GPIO_OPTION; }
- ret = options->dump ? powerdebug_dump(options) : + ret = options->flags & DUMP_OPTION ? powerdebug_dump(options) : powerdebug_display(options);
return ret < 0;
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- display.c | 7 ++----- gpio.c | 11 ++++++----- 2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/display.c b/display.c index 0000ee9..1114366 100644 --- a/display.c +++ b/display.c @@ -198,13 +198,13 @@ static int display_prev_panel(void)
static int display_next_line(void) { - int maxx, maxy; + int maxy; int cursor = windata[current_win].cursor; int nrdata = windata[current_win].nrdata; int scrolling = windata[current_win].scrolling; struct rowdata *rowdata = windata[current_win].rowdata;
- getmaxyx(stdscr, maxy, maxx); + maxy = getmaxy(stdscr);
if (cursor >= nrdata) return cursor; @@ -320,9 +320,6 @@ struct find_data *display_find_init(void) const size_t len = 64; regex_t *reg; char *search4; - int maxx, maxy; - - getmaxyx(stdscr, maxy, maxx);
reg = malloc(sizeof(*reg)); if (!reg) diff --git a/gpio.c b/gpio.c index 3c02b8e..7b5bbb2 100644 --- a/gpio.c +++ b/gpio.c @@ -325,12 +325,13 @@ void export_free_gpios(void) FILE *fgpio, *fgpio_export; int i, gpio_max = 0; char *line = NULL; - ssize_t read, len = 0; + ssize_t read; + size_t len = 0;
fgpio = fopen("/sys/kernel/debug/gpio", "r"); if (!fgpio) { printf("failed to read debugfs gpio file\n"); - goto out; + return; }
fgpio_export = fopen("/sys/class/gpio/export", "w"); @@ -342,7 +343,7 @@ void export_free_gpios(void) /* export the gpios */ while ((read = getline(&line, &len, fgpio)) != -1) { if (strstr(line, "GPIOs")) - sscanf(line, "%*[^-]-%d%*", &gpio_max); + sscanf(line, "%*[^-]-%d", &gpio_max); }
printf("log: total gpios = %d\n", gpio_max); @@ -355,10 +356,10 @@ void export_free_gpios(void) }
free(line); -out: + if (fgpio) fclose(fgpio); - +out: if (fgpio_export) fclose(fgpio_export);
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- powerdebug.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/powerdebug.c b/powerdebug.c index 555beea..bc8fc92 100644 --- a/powerdebug.c +++ b/powerdebug.c @@ -208,13 +208,12 @@ static struct powerdebug_options *powerdebug_init(void) { struct powerdebug_options *options;
+ signal(SIGWINCH, sigwinch_handler); + options = malloc(sizeof(*options)); if (!options) return NULL;
- memset(options, 0, sizeof(*options)); - signal(SIGWINCH, sigwinch_handler); - return options; }
@@ -249,22 +248,22 @@ int main(int argc, char **argv) return 1; }
- if (regulator_init()) { + if ((options->flags & REGULATOR_OPTION) && regulator_init()) { printf("failed to initialize regulator\n"); options->flags &= ~REGULATOR_OPTION; }
- if (clock_init()) { + if ((options->flags & CLOCK_OPTION) && clock_init()) { printf("failed to initialize clock details (check debugfs)\n"); options->flags &= ~CLOCK_OPTION; }
- if (sensor_init()) { + if ((options->flags & SENSOR_OPTION) && sensor_init()) { printf("failed to initialize sensors\n"); options->flags &= SENSOR_OPTION; }
- if (gpio_init()) { + if ((options->flags & GPIO_OPTION) && gpio_init()) { printf("failed to initialize gpios\n"); options->flags &= GPIO_OPTION; }
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- LICENSE | 567 ++++++++++++++++++++++++++++++++++++----------------------- clocks.c | 28 +-- clocks.h | 28 +-- display.c | 28 +-- display.h | 28 +-- gpio.c | 28 +-- gpio.h | 28 +-- mainloop.c | 26 +-- mainloop.h | 26 +-- powerdebug.c | 28 +-- powerdebug.h | 28 +-- regulator.c | 32 ++-- regulator.h | 28 +-- sensor.c | 28 +-- sensor.h | 28 +-- tree.c | 26 +-- tree.h | 26 +-- utils.c | 28 +-- utils.h | 28 +-- 19 files changed, 649 insertions(+), 418 deletions(-)
diff --git a/LICENSE b/LICENSE index be6f09f..6f50a71 100644 --- a/LICENSE +++ b/LICENSE @@ -1,221 +1,348 @@ -Copyright (C) 2010 Linaro Ltd. - -License: EPL-1.0 - Eclipse Public License - v 1.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE - PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - - 1. DEFINITIONS - - "Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation - distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are - distributed by that particular Contributor. A Contribution 'originates' - from a Contributor if it was added to the Program by such Contributor itself - or anyone acting on such Contributor's behalf. Contributions do not include - additions to the Program which: (i) are separate modules of software - distributed in conjunction with the Program under their own license - agreement, and (ii) are not derivative works of the Program. - - "Contributor" means any person or entity that distributes the Program. - - "Licensed Patents " mean patent claims licensable by a Contributor which are - necessarily infringed by the use or sale of its Contribution alone or when - combined with the Program. - - "Program" means the Contributions distributed in accordance with this - Agreement. - - "Recipient" means anyone who receives the Program under this Agreement, - including all Contributors. - - 2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free copyright license to - reproduce, prepare derivative works of, publicly display, publicly perform, - distribute and sublicense the Contribution of such Contributor, if any, - and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants - Recipient a non-exclusive, worldwide, royalty-free patent license under - Licensed Patents to make, use, sell, offer to sell, import and otherwise - transfer the Contribution of such Contributor, if any, in source code and - object code form. This patent license shall apply to the combination of - the Contribution and the Program if, at the time the Contribution is added - by the Contributor, such addition of the Contribution causes such - combination to be covered by the Licensed Patents. The patent license shall - not apply to any other combinations which include the Contribution. No - hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses - to its Contributions set forth herein, no assurances are provided by any - Contributor that the Program does not infringe the patent or other - intellectual property rights of any other entity. Each Contributor disclaims - any liability to Recipient for claims brought by any other entity based on - infringement of intellectual property rights or otherwise. As a condition to - exercising the rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual property rights - needed, if any. For example, if a third party patent license is required to - allow Recipient to distribute the Program, it is Recipient's responsibility - to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient - copyright rights in its Contribution, if any, to grant the copyright license - set forth in this Agreement. - - 3. REQUIREMENTS - - A Contributor may choose to distribute the Program in object code form under - its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and - conditions, express and implied, including warranties or conditions of title - and non-infringement, and implied warranties or conditions of merchantability - and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for - damages, including direct, indirect, special, incidental and consequential - damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered - by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such - Contributor, and informs licensees how to obtain it in a reasonable manner on - or through a medium customarily used for software exchange. - - When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - - Contributors may not remove or alter any copyright notices contained within - the Program. - - Each Contributor must identify itself as the originator of its Contribution, - if any, in a manner that reasonably allows subsequent Recipients to identify - the originator of the Contribution. - - 4. COMMERCIAL DISTRIBUTION - - Commercial distributors of software may accept certain responsibilities with - respect to end users, business partners and the like. While this license is - intended to facilitate the commercial use of the Program, the Contributor who - includes the Program in a commercial product offering should do so in a -manner - which does not create potential liability for other Contributors. Therefore, - if a Contributor includes the Program in a commercial product offering, such - Contributor ("Commercial Contributor") hereby agrees to defend and indemnify - every other Contributor ("Indemnified Contributor") against any losses, - damages and costs (collectively "Losses") arising from claims, lawsuits and - other legal actions brought by a third party against the Indemnified - Contributor to the extent caused by the acts or omissions of such Commercial - Contributor in connection with its distribution of the Program in a -commercial - product offering. The obligations in this section do not apply to any claims - or Losses relating to any actual or alleged intellectual property - infringement. In order to qualify, an Indemnified Contributor must: - a) promptly notify the Commercial Contributor in writing of such claim, and - b) allow the Commercial Contributor to control, and cooperate with the - Commercial Contributor in, the defense and any related settlement - negotiations. The Indemnified Contributor may participate in any such claim - at its own expense. - - For example, a Contributor might include the Program in a commercial product - offering, Product X. That Contributor is then a Commercial Contributor. If - that Commercial Contributor then makes performance claims, or offers - warranties related to Product X, those performance claims and warranties are - such Commercial Contributor's responsibility alone. Under this section, the - Commercial Contributor would have to defend claims against the other - Contributors related to those performance claims and warranties, and if a - court requires any other Contributor to pay any damages as a result, the - Commercial Contributor must pay those damages. - - 5. NO WARRANTY - - EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON - AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER - EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR - CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the - appropriateness of using and distributing the Program and assumes all - risks associated with its exercise of rights under this Agreement , - including but not limited to the risks and costs of program errors, - compliance with applicable laws, damage to or loss of data, programs or - equipment, and unavailability or interruption of operations. - - 6. DISCLAIMER OF LIABILITY - - EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY - CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION - LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE - EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. - - 7. GENERAL - - If any provision of this Agreement is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of the - remainder of the terms of this Agreement, and without further action by - the parties hereto, such provision shall be reformed to the minimum extent - necessary to make such provision valid and enforceable. - - If Recipient institutes patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Program itself - (excluding combinations of the Program with other software or hardware) - infringes such Recipient's patent(s), then such Recipient's rights granted - under Section 2(b) shall terminate as of the date such litigation is filed. - - All Recipient's rights under this Agreement shall terminate if it fails to - comply with any of the material terms or conditions of this Agreement and - does not cure such failure in a reasonable period of time after becoming - aware of such noncompliance. If all Recipient's rights under this Agreement - terminate, Recipient agrees to cease use and distribution of the Program as - soon as reasonably practicable. However, Recipient's obligations under this - Agreement and any licenses granted by Recipient relating to the Program - shall continue and survive. - - Everyone is permitted to copy and distribute copies of this Agreement, but - in order to avoid inconsistency the Agreement is copyrighted and may only - be modified in the following manner. The Agreement Steward reserves the - right to publish new versions (including revisions) of this Agreement from - time to time. No one other than the Agreement Steward has the right to - modify this Agreement. The Eclipse Foundation is the initial Agreement - Steward. The Eclipse Foundation may assign the responsibility to serve as - the Agreement Steward to a suitable separate entity. Each new version of - the Agreement will be given a distinguishing version number. The Program - (including Contributions) may always be distributed subject to the version - of the Agreement under which it was received. In addition, after a new - version of the Agreement is published, Contributor may elect to distribute - the Program (including its Contributions) under the new version. Except as - expressly stated in Sections 2(a) and 2(b) above, Recipient receives no - rights or licenses to the intellectual property of any Contributor under - this Agreement, whether expressly, by implication, estoppel or otherwise. - All rights in the Program not expressly granted under this Agreement are - reserved. - - This Agreement is governed by the laws of the State of New York and the - intellectual property laws of the United States of America. No party to - this Agreement will bring a legal action under this Agreement more than - one year after the cause of action arose. Each party waives its rights to - a jury trial in any resulting litigation. +--- A note on GPL versions
+BusyBox is distributed under version 2 of the General Public License (included +in its entirety, below). Version 2 is the only version of this license which +this version of BusyBox (or modified versions derived from this one) may be +distributed under. + +------------------------------------------------------------------------ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/clocks.c b/clocks.c index b069547..4e34e0c 100644 --- a/clocks.c +++ b/clocks.c @@ -1,21 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - Rewrote code and API + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - *******************************************************************************/ + */
#ifndef _GNU_SOURCE #define _GNU_SOURCE diff --git a/clocks.h b/clocks.h index aa94b3b..b205a28 100644 --- a/clocks.h +++ b/clocks.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
extern int clock_init(void); extern int clock_dump(char *clk); diff --git a/display.c b/display.c index 1114366..8aafc32 100644 --- a/display.c +++ b/display.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#include <stdio.h> #include <string.h> diff --git a/display.h b/display.h index e3a1529..8882918 100644 --- a/display.h +++ b/display.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
enum { CLOCK, REGULATOR, SENSOR, GPIO };
diff --git a/gpio.c b/gpio.c index 7b5bbb2..8fd3e5c 100644 --- a/gpio.c +++ b/gpio.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) + * + * Copyright (C) 2016, Linaro Limited. * - * This file is part of PowerDebug. + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Contributors: - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#ifndef _GNU_SOURCE #define _GNU_SOURCE diff --git a/gpio.h b/gpio.h index 38f035f..9f51386 100644 --- a/gpio.h +++ b/gpio.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
extern int gpio_init(void); extern int gpio_dump(void); diff --git a/mainloop.c b/mainloop.c index 02dda98..56129aa 100644 --- a/mainloop.c +++ b/mainloop.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Author: - * Daniel Lezcano daniel.lezcano@linaro.org + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - *******************************************************************************/ + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#include <stdlib.h> #include <errno.h> diff --git a/mainloop.h b/mainloop.h index cf03bbb..d4942ab 100644 --- a/mainloop.h +++ b/mainloop.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Author: - * Daniel Lezcano daniel.lezcano@linaro.org + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - *******************************************************************************/ + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
typedef int (*mainloop_callback_t)(int fd, void *data);
diff --git a/powerdebug.c b/powerdebug.c index bc8fc92..d4ce1f6 100644 --- a/powerdebug.c +++ b/powerdebug.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) + * + * Copyright (C) 2016, Linaro Limited. * - * This file is part of PowerDebug. + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#include <getopt.h> #include <stdbool.h> diff --git a/powerdebug.h b/powerdebug.h index 936dcf6..3603018 100644 --- a/powerdebug.h +++ b/powerdebug.h @@ -1,16 +1,22 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#define VERSION "0.7.3" diff --git a/regulator.c b/regulator.c index 0e1c2c6..dc29769 100644 --- a/regulator.c +++ b/regulator.c @@ -1,19 +1,25 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Powerdebug : power debugging tool * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Author: + * Daniel Lezcano daniel.lezcano@linaro.org * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - rewrote code and API based on the tree - *******************************************************************************/ + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */
#include "regulator.h"
diff --git a/regulator.h b/regulator.h index 8b3ec06..b4b4f78 100644 --- a/regulator.h +++ b/regulator.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
extern int regulator_init(void); extern int regulator_dump(void); diff --git a/sensor.c b/sensor.c index b8c0452..b4e6ba1 100644 --- a/sensor.c +++ b/sensor.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#define _GNU_SOURCE #include <stdio.h> diff --git a/sensor.h b/sensor.h index 0a069ce..d731fe0 100644 --- a/sensor.h +++ b/sensor.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Amit Arora amit.arora@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
extern int sensor_dump(void); extern int sensor_init(void); diff --git a/tree.c b/tree.c index 686e846..2728a2d 100644 --- a/tree.c +++ b/tree.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) + * + * Copyright (C) 2016, Linaro Limited. * - * This file is part of PowerDebug. + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Author: - * Daniel Lezcano daniel.lezcano@linaro.org + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - *******************************************************************************/ + */
#define _GNU_SOURCE #include <stdio.h> diff --git a/tree.h b/tree.h index 5c1c697..ef26216 100644 --- a/tree.h +++ b/tree.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2010, Linaro Limited. +/* + * Power debug tool (powerdebug) + * + * Copyright (C) 2016, Linaro Limited. * - * This file is part of PowerDebug. + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Author: - * Daniel Lezcano daniel.lezcano@linaro.org + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - *******************************************************************************/ + */
/* * Structure describing a node of the clock tree diff --git a/utils.c b/utils.c index 4d4b780..5976f74 100644 --- a/utils.c +++ b/utils.c @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2011, Linaro Limited. +/* + * Power debug tool (powerdebug) + * + * Copyright (C) 2016, Linaro Limited. * - * This file is part of PowerDebug. + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * Contributors: - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */
#define _GNU_SOURCE #include <stdio.h> diff --git a/utils.h b/utils.h index 73159b9..bd3f9bb 100644 --- a/utils.h +++ b/utils.h @@ -1,17 +1,23 @@ -/******************************************************************************* - * Copyright (C) 2011, Linaro Limited. +/* + * Power debug tool (powerdebug) * - * This file is part of PowerDebug. + * Copyright (C) 2016, Linaro Limited. * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * Contributors: - * Daniel Lezcano daniel.lezcano@linaro.org (IBM Corporation) - * - initial API and implementation - *******************************************************************************/ + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ #ifndef __UTILS_H #define __UTILS_H
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- clocks.c | 1 - clocks.h | 23 ----------------------- display.c | 1 - gpio.h | 23 ----------------------- powerdebug.c | 11 ----------- powerdebug.h | 19 +++++++++++++++++++ regulator.c | 3 --- regulator.h | 23 ----------------------- sensor.c | 1 - sensor.h | 23 ----------------------- 10 files changed, 19 insertions(+), 109 deletions(-) delete mode 100644 clocks.h delete mode 100644 gpio.h delete mode 100644 regulator.h delete mode 100644 sensor.h
diff --git a/clocks.c b/clocks.c index 4e34e0c..c751ec1 100644 --- a/clocks.c +++ b/clocks.c @@ -34,7 +34,6 @@
#include "powerdebug.h" #include "display.h" -#include "clocks.h" #include "tree.h" #include "utils.h"
diff --git a/clocks.h b/clocks.h deleted file mode 100644 index b205a28..0000000 --- a/clocks.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Power debug tool (powerdebug) - * - * Copyright (C) 2016, Linaro Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -extern int clock_init(void); -extern int clock_dump(char *clk); diff --git a/display.c b/display.c index 8aafc32..ed010b3 100644 --- a/display.c +++ b/display.c @@ -28,7 +28,6 @@ #include <regex.h> #include "powerdebug.h" #include "mainloop.h" -#include "regulator.h" #include "display.h"
enum { PT_COLOR_DEFAULT = 1, diff --git a/gpio.h b/gpio.h deleted file mode 100644 index 9f51386..0000000 --- a/gpio.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Power debug tool (powerdebug) - * - * Copyright (C) 2016, Linaro Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -extern int gpio_init(void); -extern int gpio_dump(void); diff --git a/powerdebug.c b/powerdebug.c index d4ce1f6..0f5c98a 100644 --- a/powerdebug.c +++ b/powerdebug.c @@ -27,11 +27,7 @@ #include <errno.h> #include <ncurses.h> #include <signal.h> -#include "regulator.h" #include "display.h" -#include "clocks.h" -#include "sensor.h" -#include "gpio.h" #include "mainloop.h" #include "powerdebug.h"
@@ -102,13 +98,6 @@ static struct option long_options[] = { { 0, 0, 0, 0 } };
-struct powerdebug_options { - int flags; - unsigned int ticktime; - int selectedwindow; - char *clkname; -}; - int getoptions(int argc, char *argv[], struct powerdebug_options *options) { int c; diff --git a/powerdebug.h b/powerdebug.h index 3603018..33463a0 100644 --- a/powerdebug.h +++ b/powerdebug.h @@ -20,3 +20,22 @@ */
#define VERSION "0.7.3" + +struct powerdebug_options { + int flags; + unsigned int ticktime; + int selectedwindow; + char *clkname; +}; + +extern int clock_init(void); +extern int clock_dump(char *clk); + +extern int regulator_init(void); +extern int regulator_dump(void); + +extern int gpio_init(void); +extern int gpio_dump(void); + +extern int sensor_dump(void); +extern int sensor_init(void); diff --git a/regulator.c b/regulator.c index dc29769..b38ddab 100644 --- a/regulator.c +++ b/regulator.c @@ -20,9 +20,6 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ - -#include "regulator.h" - #define SYSFS_REGULATOR "/sys/class/regulator" #define VALUE_MAX 16
diff --git a/regulator.h b/regulator.h deleted file mode 100644 index b4b4f78..0000000 --- a/regulator.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Power debug tool (powerdebug) - * - * Copyright (C) 2016, Linaro Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -extern int regulator_init(void); -extern int regulator_dump(void); diff --git a/sensor.c b/sensor.c index b4e6ba1..008b662 100644 --- a/sensor.c +++ b/sensor.c @@ -31,7 +31,6 @@
#include "powerdebug.h" #include "display.h" -#include "sensor.h" #include "tree.h" #include "utils.h"
diff --git a/sensor.h b/sensor.h deleted file mode 100644 index d731fe0..0000000 --- a/sensor.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Power debug tool (powerdebug) - * - * Copyright (C) 2016, Linaro Limited. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -extern int sensor_dump(void); -extern int sensor_init(void);
Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org --- clocks.c | 5 ++++- gpio.c | 5 ++++- powerdebug.c | 19 ++++--------------- powerdebug.h | 20 ++++++++++++++++---- regulator.c | 5 ++++- sensor.c | 5 ++++- 6 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/clocks.c b/clocks.c index c751ec1..b57de3d 100644 --- a/clocks.c +++ b/clocks.c @@ -447,10 +447,13 @@ static struct display_ops clock_ops = { /* * Initialize the clock framework */ -int clock_init(void) +int clock_init(struct powerdebug_options *options) { char clk_dir_path[MAX+1][PATH_MAX];
+ if (!(options->flags & CLOCK_OPTION)) + return 0; + if (locate_debugfs(clk_dir_path[CCF]) || locate_debugfs(clk_dir_path[OCF])) return -1;
diff --git a/gpio.c b/gpio.c index 8fd3e5c..36dedd1 100644 --- a/gpio.c +++ b/gpio.c @@ -375,10 +375,13 @@ out: /* * Initialize the gpio framework */ -int gpio_init(void) +int gpio_init(struct powerdebug_options *options) { int ret = 0;
+ if (!(options->flags & GPIO_OPTION)) + return 0; + ret = display_register(GPIO, &gpio_ops); if (ret) printf("error: gpio display register failed"); diff --git a/powerdebug.c b/powerdebug.c index 0f5c98a..b626b05 100644 --- a/powerdebug.c +++ b/powerdebug.c @@ -33,17 +33,6 @@
extern void sigwinch_handler(int);
-#define REGULATOR_OPTION 0x01 -#define SENSOR_OPTION 0x02 -#define CLOCK_OPTION 0x04 -#define GPIO_OPTION 0x08 - -#define VERBOSE_OPTION 0x10 -#define DUMP_OPTION 0x20 - -#define DEFAULT_OPTION (REGULATOR_OPTION | SENSOR_OPTION | \ - CLOCK_OPTION | GPIO_OPTION) - void usage(void) { printf("Usage: powerdebug [OPTIONS]\n"); @@ -243,22 +232,22 @@ int main(int argc, char **argv) return 1; }
- if ((options->flags & REGULATOR_OPTION) && regulator_init()) { + if (regulator_init(options)) { printf("failed to initialize regulator\n"); options->flags &= ~REGULATOR_OPTION; }
- if ((options->flags & CLOCK_OPTION) && clock_init()) { + if (clock_init(options)) { printf("failed to initialize clock details (check debugfs)\n"); options->flags &= ~CLOCK_OPTION; }
- if ((options->flags & SENSOR_OPTION) && sensor_init()) { + if (sensor_init(options)) { printf("failed to initialize sensors\n"); options->flags &= SENSOR_OPTION; }
- if ((options->flags & GPIO_OPTION) && gpio_init()) { + if (gpio_init(options)) { printf("failed to initialize gpios\n"); options->flags &= GPIO_OPTION; } diff --git a/powerdebug.h b/powerdebug.h index 33463a0..2df0a27 100644 --- a/powerdebug.h +++ b/powerdebug.h @@ -21,6 +21,17 @@
#define VERSION "0.7.3"
+#define REGULATOR_OPTION 0x01 +#define SENSOR_OPTION 0x02 +#define CLOCK_OPTION 0x04 +#define GPIO_OPTION 0x08 + +#define VERBOSE_OPTION 0x10 +#define DUMP_OPTION 0x20 + +#define DEFAULT_OPTION (REGULATOR_OPTION | SENSOR_OPTION | \ + CLOCK_OPTION | GPIO_OPTION) + struct powerdebug_options { int flags; unsigned int ticktime; @@ -28,14 +39,15 @@ struct powerdebug_options { char *clkname; };
-extern int clock_init(void); +extern int clock_init(struct powerdebug_options *options); extern int clock_dump(char *clk);
-extern int regulator_init(void); +extern int regulator_init(struct powerdebug_options *options); extern int regulator_dump(void);
-extern int gpio_init(void); +extern int gpio_init(struct powerdebug_options *options); extern int gpio_dump(void);
+extern int sensor_init(struct powerdebug_options *options); extern int sensor_dump(void); -extern int sensor_init(void); + diff --git a/regulator.c b/regulator.c index b38ddab..549a744 100644 --- a/regulator.c +++ b/regulator.c @@ -265,10 +265,13 @@ static struct display_ops regulator_ops = { .display = regulator_display, };
-int regulator_init(void) +int regulator_init(struct powerdebug_options *options) { int ret = 0;
+ if (!(options->flags & REGULATOR_OPTION)) + return 0; + ret = display_register(REGULATOR, ®ulator_ops); if (ret) printf("error: regulator display register failed"); diff --git a/sensor.c b/sensor.c index 008b662..3b37bc6 100644 --- a/sensor.c +++ b/sensor.c @@ -295,10 +295,13 @@ static struct display_ops sensor_ops = { .display = sensor_display, };
-int sensor_init(void) +int sensor_init(struct powerdebug_options *options) { int ret = 0;
+ if (!(options->flags & SENSOR_OPTION)) + return 0; + ret = display_register(SENSOR, &sensor_ops); if (ret) printf("error: sensor display register failed");
On Fri, Feb 19, 2016 at 02:32:40PM +0000, Daniel Lezcano wrote:
From: Daniel Lezcano daniel.lezcano@free.fr
Did you mean to have these patches authored by your @free.fr address, but sent from Linaro?
Subject: Re: [PATCH 1/6] Change options to flag approach.
You might want to put something in to state what repo the patches are intended for. This helps with a list like linaro-dev which gets email regarding multiple topics.
I've typically seen things like:
[project-name][PATCH 1/6] Description here [PATCH 1/6][project] Description here
It's also probably a good idea with a patch series to write a coverletter explaining the purpose of the series. Although that probably depends a little on what project the patch is going to.
Thanks, David
On 02/22/2016 04:19 PM, David Brown wrote:
On Fri, Feb 19, 2016 at 02:32:40PM +0000, Daniel Lezcano wrote:
From: Daniel Lezcano daniel.lezcano@free.fr
Did you mean to have these patches authored by your @free.fr address, but sent from Linaro?
Yes, it is just one of them.
Subject: Re: [PATCH 1/6] Change options to flag approach.
You might want to put something in to state what repo the patches are intended for. This helps with a list like linaro-dev which gets email regarding multiple topics.
I've typically seen things like:
[project-name][PATCH 1/6] Description here [PATCH 1/6][project] Description here
Ah, yes. I should have added the project name, my bad.
It's also probably a good idea with a patch series to write a coverletter explaining the purpose of the series. Although that probably depends a little on what project the patch is going to.
Thanks for the heads up.
-- Daniel
Hi Daniel,
On 22 February 2016 at 07:19, David Brown david.brown@linaro.org wrote:
On Fri, Feb 19, 2016 at 02:32:40PM +0000, Daniel Lezcano wrote:
From: Daniel Lezcano daniel.lezcano@free.fr
Did you mean to have these patches authored by your @free.fr address, but sent from Linaro?
Subject: Re: [PATCH 1/6] Change options to flag approach.
You might want to put something in to state what repo the patches are intended for. This helps with a list like linaro-dev which gets email regarding multiple topics.
I've typically seen things like:
[project-name][PATCH 1/6] Description here [PATCH 1/6][project] Description here
It's also probably a good idea with a patch series to write a coverletter explaining the purpose of the series. Although that probably depends a little on what project the patch is going to.
+1. I agree with David's comments where I'd expect the subject to say something like [PATCH POWERDEBUG 1/6] and cover letter is helpful.
I tried applying this particular patch, but I got an error. Are you using a different git tree for powerdebug? The one I'm using is on git.linaro.org/power/powerdebug.git.