]> git.baikalelectronics.ru Git - kernel.git/commit
gpu: host1x: Provide a proper struct bus_type
authorThierry Reding <treding@nvidia.com>
Thu, 18 Dec 2014 14:29:14 +0000 (15:29 +0100)
committerThierry Reding <treding@nvidia.com>
Tue, 27 Jan 2015 09:09:14 +0000 (10:09 +0100)
commit7f566eb722873a32ef34da9a743c159fc6d4f18a
tree79a50b0a3ed21314f1893a7c9bea685df976b6d2
parent94b30332fc233592da9f2d5a6d12673a86e63a88
gpu: host1x: Provide a proper struct bus_type

Previously the struct bus_type exported by the host1x infrastructure was
only a very basic skeleton. Turn that implementation into a more full-
fledged bus to support proper probe ordering and power management.

Note that the bus infrastructure needs to be available before any of the
drivers can be registered. This is automatically ensured if all drivers
are built as loadable modules (via symbol dependencies). If all drivers
are built-in there are no such guarantees and the link order determines
the initcall ordering. Adjust drivers/gpu/Makefile to make sure that the
host1x bus infrastructure is initialized prior to any of its users (only
drm/tegra currently).

v2: Fix building host1x and tegra-drm as modules
Reported-by: Dave Airlie <airlied@gmail.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Mark Zhang <markz@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/Makefile
drivers/gpu/drm/tegra/drm.c
drivers/gpu/host1x/bus.c
drivers/gpu/host1x/bus.h
drivers/gpu/host1x/dev.c
include/linux/host1x.h