Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1730316 > unrolled thread

Re: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2

Started byKeerthy <j-keerthy@ti.com>
First post2017-09-11 14:20 +0200
Last post2017-09-19 20:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device  with OPP v2 Keerthy <j-keerthy@ti.com> - 2017-09-11 14:20 +0200
    Re: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device  with OPP v2 Dave Gerlach <d-gerlach@ti.com> - 2017-09-11 16:20 +0200
      Re: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device  with OPP v2 Viresh Kumar <viresh.kumar@linaro.org> - 2017-09-19 20:50 +0200

#1730316 — Re: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2

FromKeerthy <j-keerthy@ti.com>
Date2017-09-11 14:20 +0200
SubjectRe: [1/2] cpufreq: dt-platdev: Automatically create cpufreq device with OPP v2
Message-ID<uovR0-38y-9@gated-at.bofh.it>

On Tuesday 29 August 2017 03:41 PM, Viresh Kumar wrote:
> On 21-08-17, 15:17, Simon Horman wrote:
>> Sorry, I seem to have accidently sent this email as Virish rather than
>> myself. I will try again.
> 
> No issues. I see that Rafael has already applied my patches, you can send
> additional patches over that to make sure everything is clear.

Viresh,

I see below warning with this patch on am57xx-beagle

[    3.545247] WARNING: CPU: 1 PID: 1 at fs/sysfs/dir.c:31
sysfs_warn_dup+0x58/0x78
[    3.553099] sysfs: cannot create duplicate filename
'/devices/platform/cpufreq-dt'
[    3.561126] Modules linked in:
[    3.564402] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W
4.13.0-next-20170911-12690-ga31cc45-dirty #7
[    3.575071] Hardware name: Generic DRA74X (Flattened Device Tree)
[    3.581484] [<c0110a88>] (unwind_backtrace) from [<c010cae4>]
(show_stack+0x10/0x14)
[    3.589620] [<c010cae4>] (show_stack) from [<c0828184>]
(dump_stack+0xac/0xe0)
[    3.597209] [<c0828184>] (dump_stack) from [<c01374d0>]
(__warn+0xd8/0x104)
[    3.604532] [<c01374d0>] (__warn) from [<c0137530>]
(warn_slowpath_fmt+0x34/0x44)
[    3.612390] [<c0137530>] (warn_slowpath_fmt) from [<c0345b30>]
(sysfs_warn_dup+0x58/0x78)
[    3.620988] [<c0345b30>] (sysfs_warn_dup) from [<c0345c18>]
(sysfs_create_dir_ns+0x80/0x98)
[    3.629773] [<c0345c18>] (sysfs_create_dir_ns) from [<c082c974>]
(kobject_add_internal+0x9c/0x2d4)
[    3.639177] [<c082c974>] (kobject_add_internal) from [<c082cbf8>]
(kobject_add+0x4c/0x9c)
[    3.647764] [<c082cbf8>] (kobject_add) from [<c05805a8>]
(device_add+0xcc/0x57c)
[    3.655542] [<c05805a8>] (device_add) from [<c0584d38>]
(platform_device_add+0x100/0x220)
[    3.664138] [<c0584d38>] (platform_device_add) from [<c058576c>]
(platform_device_register_full+0xf4/0x118)
[    3.674378] [<c058576c>] (platform_device_register_full) from
[<c0670514>] (ti_cpufreq_init+0x150/0x22c)
[    3.684326] [<c0670514>] (ti_cpufreq_init) from [<c0101df4>]
(do_one_initcall+0x3c/0x170)
[    3.692916] [<c0101df4>] (do_one_initcall) from [<c0c00eb4>]
(kernel_init_freeable+0x1fc/0x2c4)
[    3.702049] [<c0c00eb4>] (kernel_init_freeable) from [<c083c0cc>]
(kernel_init+0x8/0x110)
[    3.710639] [<c083c0cc>] (kernel_init) from [<c0107d78>]
(ret_from_fork+0x14/0x3c)
[    3.718680] ---[ end trace 33482508cbb50156 ]---
[    3.720850] ata1: SATA link down (SStatus 0 SControl 300)
[    3.729278] ------------[ cut here ]------------
[    3.734147] WARNING: CPU: 1 PID: 1 at lib/kobject.c:240
kobject_add_internal+0x254/0x2d4
[    3.742709] kobject_add_internal failed for cpufreq-dt with -EEXIST,
don't try to register things with the same name in the same directory.
[    3.755900] Modules linked in:
[    3.759239] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W
4.13.0-next-20170911-12690-ga31cc45-dirty #7
[    3.769907] Hardware name: Generic DRA74X (Flattened Device Tree)
[    3.776321] [<c0110a88>] (unwind_backtrace) from [<c010cae4>]
(show_stack+0x10/0x14)
[    3.784454] [<c010cae4>] (show_stack) from [<c0828184>]
(dump_stack+0xac/0xe0)
[    3.792043] [<c0828184>] (dump_stack) from [<c01374d0>]
(__warn+0xd8/0x104)
[    3.799364] [<c01374d0>] (__warn) from [<c0137530>]
(warn_slowpath_fmt+0x34/0x44)
[    3.807227] [<c0137530>] (warn_slowpath_fmt) from [<c082cb2c>]
(kobject_add_internal+0x254/0x2d4)
[    3.816552] [<c082cb2c>] (kobject_add_internal) from [<c082cbf8>]
(kobject_add+0x4c/0x9c)
[    3.825139] [<c082cbf8>] (kobject_add) from [<c05805a8>]
(device_add+0xcc/0x57c)
[    3.832913] [<c05805a8>] (device_add) from [<c0584d38>]
(platform_device_add+0x100/0x220)
[    3.841504] [<c0584d38>] (platform_device_add) from [<c058576c>]
(platform_device_register_full+0xf4/0x118)
[    3.851729] [<c058576c>] (platform_device_register_full) from
[<c0670514>] (ti_cpufreq_init+0x150/0x22c)
[    3.861686] [<c0670514>] (ti_cpufreq_init) from [<c0101df4>]
(do_one_initcall+0x3c/0x170)
[    3.870273] [<c0101df4>] (do_one_initcall) from [<c0c00eb4>]
(kernel_init_freeable+0x1fc/0x2c4)
[    3.879412] [<c0c00eb4>] (kernel_init_freeable) from [<c083c0cc>]
(kernel_init+0x8/0x110)
[    3.888002] [<c083c0cc>] (kernel_init) from [<c0107d78>]
(ret_from_fork+0x14/0x3c)
[    3.896035] ---[ end trace 33482508cbb50157 ]---

I believe in two places platform_device_register_* calls are made with
the same name 'cpufreq-dt'

First place is: cpufreq_dt_platdev_init and the other i believe is
ti_cpufreq_init.

Dave,

Should the ti-cpufreq driver also be calling
platform_device_register_simple?

Regards,
Keerthy

> 

[toc] | [next] | [standalone]


#1730369

FromDave Gerlach <d-gerlach@ti.com>
Date2017-09-11 16:20 +0200
Message-ID<uoxJ7-4qn-1@gated-at.bofh.it>
In reply to#1730316
Hi,
On 09/11/2017 07:13 AM, Keerthy wrote:
> 
> 
> On Tuesday 29 August 2017 03:41 PM, Viresh Kumar wrote:
>> On 21-08-17, 15:17, Simon Horman wrote:
>>> Sorry, I seem to have accidently sent this email as Virish rather than
>>> myself. I will try again.
>>
>> No issues. I see that Rafael has already applied my patches, you can send
>> additional patches over that to make sure everything is clear.
> 
> Viresh,
> 
> I see below warning with this patch on am57xx-beagle
> 
> [    3.545247] WARNING: CPU: 1 PID: 1 at fs/sysfs/dir.c:31
> sysfs_warn_dup+0x58/0x78
> [    3.553099] sysfs: cannot create duplicate filename
> '/devices/platform/cpufreq-dt'
> [    3.561126] Modules linked in:
> [    3.564402] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W
> 4.13.0-next-20170911-12690-ga31cc45-dirty #7
> [    3.575071] Hardware name: Generic DRA74X (Flattened Device Tree)
> [    3.581484] [<c0110a88>] (unwind_backtrace) from [<c010cae4>]
> (show_stack+0x10/0x14)
> [    3.589620] [<c010cae4>] (show_stack) from [<c0828184>]
> (dump_stack+0xac/0xe0)
> [    3.597209] [<c0828184>] (dump_stack) from [<c01374d0>]
> (__warn+0xd8/0x104)
> [    3.604532] [<c01374d0>] (__warn) from [<c0137530>]
> (warn_slowpath_fmt+0x34/0x44)
> [    3.612390] [<c0137530>] (warn_slowpath_fmt) from [<c0345b30>]
> (sysfs_warn_dup+0x58/0x78)
> [    3.620988] [<c0345b30>] (sysfs_warn_dup) from [<c0345c18>]
> (sysfs_create_dir_ns+0x80/0x98)
> [    3.629773] [<c0345c18>] (sysfs_create_dir_ns) from [<c082c974>]
> (kobject_add_internal+0x9c/0x2d4)
> [    3.639177] [<c082c974>] (kobject_add_internal) from [<c082cbf8>]
> (kobject_add+0x4c/0x9c)
> [    3.647764] [<c082cbf8>] (kobject_add) from [<c05805a8>]
> (device_add+0xcc/0x57c)
> [    3.655542] [<c05805a8>] (device_add) from [<c0584d38>]
> (platform_device_add+0x100/0x220)
> [    3.664138] [<c0584d38>] (platform_device_add) from [<c058576c>]
> (platform_device_register_full+0xf4/0x118)
> [    3.674378] [<c058576c>] (platform_device_register_full) from
> [<c0670514>] (ti_cpufreq_init+0x150/0x22c)
> [    3.684326] [<c0670514>] (ti_cpufreq_init) from [<c0101df4>]
> (do_one_initcall+0x3c/0x170)
> [    3.692916] [<c0101df4>] (do_one_initcall) from [<c0c00eb4>]
> (kernel_init_freeable+0x1fc/0x2c4)
> [    3.702049] [<c0c00eb4>] (kernel_init_freeable) from [<c083c0cc>]
> (kernel_init+0x8/0x110)
> [    3.710639] [<c083c0cc>] (kernel_init) from [<c0107d78>]
> (ret_from_fork+0x14/0x3c)
> [    3.718680] ---[ end trace 33482508cbb50156 ]---
> [    3.720850] ata1: SATA link down (SStatus 0 SControl 300)
> [    3.729278] ------------[ cut here ]------------
> [    3.734147] WARNING: CPU: 1 PID: 1 at lib/kobject.c:240
> kobject_add_internal+0x254/0x2d4
> [    3.742709] kobject_add_internal failed for cpufreq-dt with -EEXIST,
> don't try to register things with the same name in the same directory.
> [    3.755900] Modules linked in:
> [    3.759239] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W
> 4.13.0-next-20170911-12690-ga31cc45-dirty #7
> [    3.769907] Hardware name: Generic DRA74X (Flattened Device Tree)
> [    3.776321] [<c0110a88>] (unwind_backtrace) from [<c010cae4>]
> (show_stack+0x10/0x14)
> [    3.784454] [<c010cae4>] (show_stack) from [<c0828184>]
> (dump_stack+0xac/0xe0)
> [    3.792043] [<c0828184>] (dump_stack) from [<c01374d0>]
> (__warn+0xd8/0x104)
> [    3.799364] [<c01374d0>] (__warn) from [<c0137530>]
> (warn_slowpath_fmt+0x34/0x44)
> [    3.807227] [<c0137530>] (warn_slowpath_fmt) from [<c082cb2c>]
> (kobject_add_internal+0x254/0x2d4)
> [    3.816552] [<c082cb2c>] (kobject_add_internal) from [<c082cbf8>]
> (kobject_add+0x4c/0x9c)
> [    3.825139] [<c082cbf8>] (kobject_add) from [<c05805a8>]
> (device_add+0xcc/0x57c)
> [    3.832913] [<c05805a8>] (device_add) from [<c0584d38>]
> (platform_device_add+0x100/0x220)
> [    3.841504] [<c0584d38>] (platform_device_add) from [<c058576c>]
> (platform_device_register_full+0xf4/0x118)
> [    3.851729] [<c058576c>] (platform_device_register_full) from
> [<c0670514>] (ti_cpufreq_init+0x150/0x22c)
> [    3.861686] [<c0670514>] (ti_cpufreq_init) from [<c0101df4>]
> (do_one_initcall+0x3c/0x170)
> [    3.870273] [<c0101df4>] (do_one_initcall) from [<c0c00eb4>]
> (kernel_init_freeable+0x1fc/0x2c4)
> [    3.879412] [<c0c00eb4>] (kernel_init_freeable) from [<c083c0cc>]
> (kernel_init+0x8/0x110)
> [    3.888002] [<c083c0cc>] (kernel_init) from [<c0107d78>]
> (ret_from_fork+0x14/0x3c)
> [    3.896035] ---[ end trace 33482508cbb50157 ]---
> 
> I believe in two places platform_device_register_* calls are made with
> the same name 'cpufreq-dt'
> 
> First place is: cpufreq_dt_platdev_init and the other i believe is
> ti_cpufreq_init.
> 
> Dave,
> 
> Should the ti-cpufreq driver also be calling
> platform_device_register_simple?

Yes, ti-cpufreq registers the cpufreq-dt platdev in order to ensure the
ti-cpufreq driver probes first and provides the necessary opp-supported-hw for
cpufreq-dt. This applies to am335x, am437x, dra7xx, and am57xx. I suppose these
platforms will need to be added to the 'blacklist' to prevent the cpufreq-dt
platdev from being created automatically, unless there is a better way to handle
this dependency...

Regards,
Dave

> 
> Regards,
> Keerthy
> 
>>

[toc] | [prev] | [next] | [standalone]


#1735163

FromViresh Kumar <viresh.kumar@linaro.org>
Date2017-09-19 20:50 +0200
Message-ID<urvKO-xs-29@gated-at.bofh.it>
In reply to#1730369
On 11-09-17, 09:18, Dave Gerlach wrote:
> Yes, ti-cpufreq registers the cpufreq-dt platdev in order to ensure the
> ti-cpufreq driver probes first and provides the necessary opp-supported-hw for
> cpufreq-dt. This applies to am335x, am437x, dra7xx, and am57xx. I suppose these
> platforms will need to be added to the 'blacklist' to prevent the cpufreq-dt
> platdev from being created automatically, unless there is a better way to handle
> this dependency...

Right. Patches are already on the list to fix all platforms that had such
issues.

-- 
viresh

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web