Re: [PATCH] drivers: of/base: move of_init to driver_init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






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@xxxxxxxxxx>
Cc: Grant Likely <grant.likely@xxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Pawel Moll <pawel.moll@xxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
  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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux