From e2b965e555255be64a7687bd21e0f4ae1a17fe55 Mon Sep 17 00:00:00 2001 From: seshendra Gadagottu Date: Wed, 13 Jul 2016 18:42:22 -0700 Subject: gpu: nvgpu: avoid host1x device dependency Create sysfs nodes for gpu under host1x, only when host1x device dependncy present. For all gpus create syfs nodes under generic gpu name "gpu.0" Bug 1735760 Change-Id: I4b4a984139e0c33feadd95613c2f2076bc2db33b Signed-off-by: seshendra Gadagottu Reviewed-on: http://git-master/r/1181068 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Adeel Raza --- drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c index 38d5a842..973adc7d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c @@ -775,12 +775,13 @@ void gk20a_remove_sysfs(struct device *dev) if (g->host1x_dev && (dev->parent != &g->host1x_dev->dev)) { sysfs_remove_link(&g->host1x_dev->dev.kobj, dev_name(dev)); - if (strcmp(dev_name(dev), "gpu.0")) { - struct kobject *kobj = &dev->kobj; - struct device *parent = container_of((kobj->parent), - struct device, kobj); - sysfs_remove_link(&parent->kobj, "gpu.0"); - } + } + + if (strcmp(dev_name(dev), "gpu.0")) { + struct kobject *kobj = &dev->kobj; + struct device *parent = container_of((kobj->parent), + struct device, kobj); + sysfs_remove_link(&parent->kobj, "gpu.0"); } } @@ -816,14 +817,14 @@ void gk20a_create_sysfs(struct device *dev) error |= sysfs_create_link(&g->host1x_dev->dev.kobj, &dev->kobj, dev_name(dev)); - if (strcmp(dev_name(dev), "gpu.0")) { - struct kobject *kobj = &dev->kobj; - struct device *parent = container_of((kobj->parent), - struct device, kobj); - error |= sysfs_create_link(&parent->kobj, - &dev->kobj, "gpu.0"); - } + } + if (strcmp(dev_name(dev), "gpu.0")) { + struct kobject *kobj = &dev->kobj; + struct device *parent = container_of((kobj->parent), + struct device, kobj); + error |= sysfs_create_link(&parent->kobj, + &dev->kobj, "gpu.0"); } if (error) -- cgit v1.2.2