* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros [not found] ` <1621123.rMC9JtD3Mo@vostro.rjw.lan> @ 2014-05-06 15:24 ` Geert Uytterhoeven 2014-05-06 17:55 ` Stratos Karafotis 0 siblings, 1 reply; 7+ messages in thread From: Geert Uytterhoeven @ 2014-05-06 15:24 UTC (permalink / raw) To: Rafael J. Wysocki, Stratos Karafotis Cc: Viresh Kumar, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list Hi Stratos, On Wed, Apr 30, 2014 at 12:26 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote: > On Tuesday, April 29, 2014 07:05:17 PM Stratos Karafotis wrote: >> On 29/04/2014 07:17 πμ, Viresh Kumar wrote: >> > On 26 April 2014 01:45, Stratos Karafotis <stratosk@semaphore.gr> wrote: >> >> This patch set introduces two freq_table helper macros which >> >> can be used for iteration over cpufreq_frequency_table and >> >> makes the necessary changes to cpufreq core and drivers that >> >> use such an iteration procedure. >> >> >> >> The motivation was a usage of common procedure to iterate over >> >> cpufreq_frequency_table across all drivers and cpufreq core. >> >> >> >> This was tested on a x86_64 platform. >> >> Most files compiled successfully but unfortunately I was not >> >> able to compile sh_sir.c pasemi_cpufreq.c and ppc_cbe_cpufreq.c >> >> due to lack of cross compiler. >> >> >> >> Changelog >> >> >> >> v4 -> v5 >> >> - Fix warnings in printk format specifier for 32 bit >> >> architectures in freq_table.c, longhaul, pasemi, ppc_cbe >> > >> > Doesn't look much has changed and so it stays as is: >> > >> > Acked-by: Viresh Kumar <viresh.kumar@linaro.org> >> > >> >> Thank you very much! > > I've applied the series to my bleeding-edge branch, will move it to linux-next > after build testing later this week. This breaks if CONFIG_CPU_FREQ=n, e.g. ARM/shmobile/koelsch/ non-multiplatform: drivers/built-in.o: In function `clk_round_parent': clkdev.c:(.text+0xcf168): undefined reference to `cpufreq_next_valid' drivers/built-in.o: In function `clk_rate_table_find': clkdev.c:(.text+0xcf820): undefined reference to `cpufreq_next_valid' make[3]: *** [vmlinux] Error 1 drivers/sh/clk/core.c (pre-CCF shmobile clock core) calls cpufreq_for_each_valid_entry(): #define cpufreq_for_each_valid_entry(pos, table) \ for (pos = table; cpufreq_next_valid(&pos); pos++) but cpufreq_next_valid() in drivers/cpufreq/cpufreq.c is not compiled in. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-06 15:24 ` [PATCH v5 0/8] Introduce new cpufreq helper macros Geert Uytterhoeven @ 2014-05-06 17:55 ` Stratos Karafotis 2014-05-07 5:35 ` Viresh Kumar 0 siblings, 1 reply; 7+ messages in thread From: Stratos Karafotis @ 2014-05-06 17:55 UTC (permalink / raw) To: Geert Uytterhoeven, Rafael J. Wysocki Cc: Viresh Kumar, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list Hi all, On 06/05/2014 06:24 μμ, Geert Uytterhoeven wrote: > Hi Stratos, > > On Wed, Apr 30, 2014 at 12:26 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote: >> On Tuesday, April 29, 2014 07:05:17 PM Stratos Karafotis wrote: >>> On 29/04/2014 07:17 πμ, Viresh Kumar wrote: >>>> On 26 April 2014 01:45, Stratos Karafotis <stratosk@semaphore.gr> wrote: >>>>> This patch set introduces two freq_table helper macros which >>>>> can be used for iteration over cpufreq_frequency_table and >>>>> makes the necessary changes to cpufreq core and drivers that >>>>> use such an iteration procedure. >>>>> >>>>> The motivation was a usage of common procedure to iterate over >>>>> cpufreq_frequency_table across all drivers and cpufreq core. >>>>> >>>>> This was tested on a x86_64 platform. >>>>> Most files compiled successfully but unfortunately I was not >>>>> able to compile sh_sir.c pasemi_cpufreq.c and ppc_cbe_cpufreq.c >>>>> due to lack of cross compiler. >>>>> >>>>> Changelog >>>>> >>>>> v4 -> v5 >>>>> - Fix warnings in printk format specifier for 32 bit >>>>> architectures in freq_table.c, longhaul, pasemi, ppc_cbe >>>> >>>> Doesn't look much has changed and so it stays as is: >>>> >>>> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> >>>> >>> >>> Thank you very much! >> >> I've applied the series to my bleeding-edge branch, will move it to linux-next >> after build testing later this week. > > This breaks if CONFIG_CPU_FREQ=n, e.g. ARM/shmobile/koelsch/ > non-multiplatform: > > drivers/built-in.o: In function `clk_round_parent': > clkdev.c:(.text+0xcf168): undefined reference to `cpufreq_next_valid' > drivers/built-in.o: In function `clk_rate_table_find': > clkdev.c:(.text+0xcf820): undefined reference to `cpufreq_next_valid' > make[3]: *** [vmlinux] Error 1 > > drivers/sh/clk/core.c (pre-CCF shmobile clock core) calls > cpufreq_for_each_valid_entry(): > > #define cpufreq_for_each_valid_entry(pos, table) \ > for (pos = table; cpufreq_next_valid(&pos); pos++) > > but cpufreq_next_valid() in drivers/cpufreq/cpufreq.c is not > compiled in. My bad. I'm sorry for this. :( Rafael, A solution could be to make cpufreq_next_valid an inline function in cpufreq.h, but as Viresh mentioned this would be very inefficient because of multiple copies. So, maybe it's better to revert the 2 patches that don't depend on CONFIG_CPU_FREQ: 4229e1c61a4a ("sh: clk: Use cpufreq_for_each_valid_entry macro for iteration") and 04ae58645afa ("irda: sh_sir: Use cpufreq_for_each_valid_entry macro for iteration"). Do I need to send revert patches for the above? Thanks, Stratos ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-06 17:55 ` Stratos Karafotis @ 2014-05-07 5:35 ` Viresh Kumar 2014-05-07 12:56 ` Rafael J. Wysocki 0 siblings, 1 reply; 7+ messages in thread From: Viresh Kumar @ 2014-05-07 5:35 UTC (permalink / raw) To: Stratos Karafotis Cc: Geert Uytterhoeven, Rafael J. Wysocki, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list On 6 May 2014 23:25, Stratos Karafotis <stratosk@semaphore.gr> wrote: > My bad. I'm sorry for this. :( > > Rafael, > A solution could be to make cpufreq_next_valid an inline function in cpufreq.h, > but as Viresh mentioned this would be very inefficient because of multiple copies. That statement was true when we didn't had this problem.. > So, maybe it's better to revert the 2 patches that don't depend on CONFIG_CPU_FREQ: > > 4229e1c61a4a ("sh: clk: Use cpufreq_for_each_valid_entry macro for iteration") and > 04ae58645afa ("irda: sh_sir: Use cpufreq_for_each_valid_entry macro for iteration"). This doesn't look right. It can happen to some other drivers as well in future. So, there are two solutions I can think of: 1. move cpufreq_next_valid and rename it to __cpufreq_next_valid(). Also make it inline. Then create two versions of cpufreq_next_valid(), one inlined (only when CONFIG_CPU_FREQ=n) and other one in cpufreq.c (non- inlined).. But probably that would be called ugly by some people :) 2. Make cpufreq_next_valid() inline and forget about extra space it takes :) @Rafel: Let me know which one you like :) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-07 5:35 ` Viresh Kumar @ 2014-05-07 12:56 ` Rafael J. Wysocki 2014-05-07 13:34 ` Stratos Karafotis 0 siblings, 1 reply; 7+ messages in thread From: Rafael J. Wysocki @ 2014-05-07 12:56 UTC (permalink / raw) To: Viresh Kumar Cc: Stratos Karafotis, Geert Uytterhoeven, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list On Wednesday, May 07, 2014 10:53:16 AM Viresh Kumar wrote: > On 6 May 2014 23:25, Stratos Karafotis <stratosk@semaphore.gr> wrote: > > My bad. I'm sorry for this. :( > > > > Rafael, > > A solution could be to make cpufreq_next_valid an inline function in cpufreq.h, > > but as Viresh mentioned this would be very inefficient because of multiple copies. > > That statement was true when we didn't had this problem.. > > > So, maybe it's better to revert the 2 patches that don't depend on CONFIG_CPU_FREQ: > > > > 4229e1c61a4a ("sh: clk: Use cpufreq_for_each_valid_entry macro for iteration") and > > 04ae58645afa ("irda: sh_sir: Use cpufreq_for_each_valid_entry macro for iteration"). > > This doesn't look right. It can happen to some other drivers as well in future. > So, there are two solutions I can think of: > 1. move cpufreq_next_valid and rename it to __cpufreq_next_valid(). Also make it > inline. Then create two versions of cpufreq_next_valid(), one inlined (only when > CONFIG_CPU_FREQ=n) and other one in cpufreq.c (non- inlined).. > > But probably that would be called ugly by some people :) > > 2. Make cpufreq_next_valid() inline and forget about extra space it takes :) > > @Rafel: Let me know which one you like :) 2. -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-07 12:56 ` Rafael J. Wysocki @ 2014-05-07 13:34 ` Stratos Karafotis 2014-05-07 13:48 ` Viresh Kumar 2014-05-07 22:37 ` Rafael J. Wysocki 0 siblings, 2 replies; 7+ messages in thread From: Stratos Karafotis @ 2014-05-07 13:34 UTC (permalink / raw) To: Rafael J. Wysocki, Viresh Kumar Cc: Geert Uytterhoeven, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list Hi Rafael, On 07/05/2014 04:13 μμ, Rafael J. Wysocki wrote: > On Wednesday, May 07, 2014 10:53:16 AM Viresh Kumar wrote: >> On 6 May 2014 23:25, Stratos Karafotis <stratosk@semaphore.gr> wrote: >>> My bad. I'm sorry for this. :( >>> >>> Rafael, >>> A solution could be to make cpufreq_next_valid an inline function in cpufreq.h, >>> but as Viresh mentioned this would be very inefficient because of multiple copies. >> >> That statement was true when we didn't had this problem.. >> >>> So, maybe it's better to revert the 2 patches that don't depend on CONFIG_CPU_FREQ: >>> >>> 4229e1c61a4a ("sh: clk: Use cpufreq_for_each_valid_entry macro for iteration") and >>> 04ae58645afa ("irda: sh_sir: Use cpufreq_for_each_valid_entry macro for iteration"). >> >> This doesn't look right. It can happen to some other drivers as well in future. >> So, there are two solutions I can think of: >> 1. move cpufreq_next_valid and rename it to __cpufreq_next_valid(). Also make it >> inline. Then create two versions of cpufreq_next_valid(), one inlined (only when >> CONFIG_CPU_FREQ=n) and other one in cpufreq.c (non- inlined).. >> >> But probably that would be called ugly by some people :) >> >> 2. Make cpufreq_next_valid() inline and forget about extra space it takes :) >> >> @Rafel: Let me know which one you like :) > > 2. > > Do you want me to resend the entire patch set or only patch 1/8? Thanks, Stratos ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-07 13:34 ` Stratos Karafotis @ 2014-05-07 13:48 ` Viresh Kumar 2014-05-07 22:37 ` Rafael J. Wysocki 1 sibling, 0 replies; 7+ messages in thread From: Viresh Kumar @ 2014-05-07 13:48 UTC (permalink / raw) To: Stratos Karafotis Cc: Rafael J. Wysocki, Geert Uytterhoeven, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list On 7 May 2014 19:04, Stratos Karafotis <stratosk@semaphore.gr> wrote: > Do you want me to resend the entire patch set or only patch 1/8? Probably a new patch which would make it inline that's it. I don't think he is going to rebase his branch now.. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 0/8] Introduce new cpufreq helper macros 2014-05-07 13:34 ` Stratos Karafotis 2014-05-07 13:48 ` Viresh Kumar @ 2014-05-07 22:37 ` Rafael J. Wysocki 1 sibling, 0 replies; 7+ messages in thread From: Rafael J. Wysocki @ 2014-05-07 22:37 UTC (permalink / raw) To: Stratos Karafotis Cc: Viresh Kumar, Geert Uytterhoeven, Jesper Nilsson, Hans-Christian Egtvedt, Dirk Brandewie, linux-doc@vger.kernel.org, cpufreq@vger.kernel.org, linux-pm@vger.kernel.org, LKML, Randy Dunlap, David S. Miller, Linus Walleij, Simon Horman, Sekhar Nori, Samuel Ortiz, Linux-sh list On Wednesday, May 07, 2014 04:34:12 PM Stratos Karafotis wrote: > Hi Rafael, > > On 07/05/2014 04:13 μμ, Rafael J. Wysocki wrote: > > On Wednesday, May 07, 2014 10:53:16 AM Viresh Kumar wrote: > >> On 6 May 2014 23:25, Stratos Karafotis <stratosk@semaphore.gr> wrote: > >>> My bad. I'm sorry for this. :( > >>> > >>> Rafael, > >>> A solution could be to make cpufreq_next_valid an inline function in cpufreq.h, > >>> but as Viresh mentioned this would be very inefficient because of multiple copies. > >> > >> That statement was true when we didn't had this problem.. > >> > >>> So, maybe it's better to revert the 2 patches that don't depend on CONFIG_CPU_FREQ: > >>> > >>> 4229e1c61a4a ("sh: clk: Use cpufreq_for_each_valid_entry macro for iteration") and > >>> 04ae58645afa ("irda: sh_sir: Use cpufreq_for_each_valid_entry macro for iteration"). > >> > >> This doesn't look right. It can happen to some other drivers as well in future. > >> So, there are two solutions I can think of: > >> 1. move cpufreq_next_valid and rename it to __cpufreq_next_valid(). Also make it > >> inline. Then create two versions of cpufreq_next_valid(), one inlined (only when > >> CONFIG_CPU_FREQ=n) and other one in cpufreq.c (non- inlined).. > >> > >> But probably that would be called ugly by some people :) > >> > >> 2. Make cpufreq_next_valid() inline and forget about extra space it takes :) > >> > >> @Rafel: Let me know which one you like :) > > > > 2. > > > > > > Do you want me to resend the entire patch set or only patch 1/8? It's already on a branch that cannot be rebased. Please send me a fix on top of it. -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-05-07 22:37 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <535AC247.3070907@semaphore.gr>
[not found] ` <CAKohpok-74uK5k-adxjmEy71=vF8V7MaBwdCD1Vb2ats7FHi_A@mail.gmail.com>
[not found] ` <535FCDBD.6080500@semaphore.gr>
[not found] ` <1621123.rMC9JtD3Mo@vostro.rjw.lan>
2014-05-06 15:24 ` [PATCH v5 0/8] Introduce new cpufreq helper macros Geert Uytterhoeven
2014-05-06 17:55 ` Stratos Karafotis
2014-05-07 5:35 ` Viresh Kumar
2014-05-07 12:56 ` Rafael J. Wysocki
2014-05-07 13:34 ` Stratos Karafotis
2014-05-07 13:48 ` Viresh Kumar
2014-05-07 22:37 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox