summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/nvhost_acm.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2011-12-13 15:51:54 +0200
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-21 12:06:23 +0530
commit6b8f0a7f661a54b776eec538b9cb0a7a2947f2b8 (patch)
tree3320d9043738bca98e088ec6f2b1381e669f8b43 /drivers/video/tegra/host/nvhost_acm.c
parentb1d1c5875e46760a0123cc5b3b85a3cb7528ee79 (diff)
video: tegra: host: Register all clients as devices
Register all host1x client modules as devices to kernel, and a matching driver for each of them. Change-Id: Id3ab2adc860fabfcc1595e0a5dbaeb07575e19e8 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/69996 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ken Adams <kadams@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/host/nvhost_acm.c')
-rw-r--r--drivers/video/tegra/host/nvhost_acm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c
index 3d63dd62e2fa..c3b4085df738 100644
--- a/drivers/video/tegra/host/nvhost_acm.c
+++ b/drivers/video/tegra/host/nvhost_acm.c
@@ -348,6 +348,7 @@ void nvhost_module_preinit(const char *name,
const struct nvhost_moduledesc *desc)
{
int i = 0;
+
/* initialize clocks to known state */
while (desc->clocks[i].name && i < NVHOST_MODULE_MAX_CLOCKS) {
char devname[MAX_DEVID_LENGTH];
@@ -380,6 +381,14 @@ int nvhost_module_init(struct nvhost_module *mod, const char *name,
struct device *dev)
{
int i = 0;
+ int err;
+
+ /* register to kernel */
+ mod->drv.driver.name = name;
+ mod->drv.driver.owner = THIS_MODULE;
+ err = nvhost_driver_register(&mod->drv);
+ if (err)
+ return err;
nvhost_module_preinit(name, desc);
mod->name = name;
@@ -488,6 +497,8 @@ void nvhost_module_deinit(struct device *dev, struct nvhost_module *mod)
{
int i;
+ nvhost_driver_unregister(&mod->drv);
+
if (mod->desc->deinit)
mod->desc->deinit(dev, mod);