lkml.org 
[lkml]   [2015]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] drivers: of/base: move of_init to driver_init


On 14/05/15 10:28, Sudeep Holla wrote:
> Commit 5590f3196b29 ("drivers/core/of: Add symlink to device-tree from
> devices with an OF node") adds the symlink `of_node` for each device
> pointing to it's device tree node while creating/initialising it.
>
> However the devicetree sysfs is created and setup in of_init which is
> executed at core_initcall level. For all the devices created before
> of_init, the following error is thrown:
> "Error -2(-ENOENT) creating of_node link"
>
> Like many other components in driver model, initialize the sysfs support
> for OF/devicetree from driver_init so that it's ready before any devices
> are created.
>
> Fixes: 5590f3196b29 ("drivers/core/of: Add symlink to device-tree from
> devices with an OF node")
> Suggested-by: Rob Herring <robh+dt@kernel.org>
> Cc: Grant Likely <grant.likely@linaro.org>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> drivers/base/init.c | 2 ++
> drivers/of/base.c | 8 +++-----
> include/linux/of.h | 6 ++++++
> 3 files changed, 11 insertions(+), 5 deletions(-)
>

Looks like we still have conflict even though the one I pointed was in
bootwrapper. Kbuilder reported the following build error:

drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c:45:1: error:
conflicting types for 'of_init'
of_init(struct nvkm_bios *bios, const char *name)
^
In file included from arch/powerpc/include/asm/prom.h:23:0,
from arch/powerpc/include/asm/pci.h:20,
from include/linux/pci.h:1460,
from drivers/gpu/drm/nouveau/include/nvif/os.h:7,
from drivers/gpu/drm/nouveau/include/nvkm/core/os.h:3,
from drivers/gpu/drm/nouveau/include/nvkm/core/object.h:3,
from drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h:3,
from drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h:3,
from drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h:3,
from drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c:23:
include/linux/of.h:124:6: note: previous declaration of 'of_init' was here
void of_init(void);
^
Sorry I couldn't catch this with any ppc defconfigs. Please ignore this
version, will repost updated one soon renaming to of_core_init
as initially discussed.

Regards,
Sudeep


\
 
 \ /
  Last update: 2015-05-14 16:21    [W:0.172 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site