summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2016-07-13 21:42:22 -0400
committerSeshendra Gadagottu <sgadagottu@nvidia.com>2016-07-25 20:09:42 -0400
commite2b965e555255be64a7687bd21e0f4ae1a17fe55 (patch)
tree87dcb83f9f51872b507339778e99556264ff2455 /drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
parent244dfe5637861daabc3fb1df94f301ae557917ac (diff)
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 <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/1181068 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Adeel Raza <araza@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c27
1 files changed, 14 insertions, 13 deletions
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)
775 775
776 if (g->host1x_dev && (dev->parent != &g->host1x_dev->dev)) { 776 if (g->host1x_dev && (dev->parent != &g->host1x_dev->dev)) {
777 sysfs_remove_link(&g->host1x_dev->dev.kobj, dev_name(dev)); 777 sysfs_remove_link(&g->host1x_dev->dev.kobj, dev_name(dev));
778 if (strcmp(dev_name(dev), "gpu.0")) { 778 }
779 struct kobject *kobj = &dev->kobj; 779
780 struct device *parent = container_of((kobj->parent), 780 if (strcmp(dev_name(dev), "gpu.0")) {
781 struct device, kobj); 781 struct kobject *kobj = &dev->kobj;
782 sysfs_remove_link(&parent->kobj, "gpu.0"); 782 struct device *parent = container_of((kobj->parent),
783 } 783 struct device, kobj);
784 sysfs_remove_link(&parent->kobj, "gpu.0");
784 } 785 }
785} 786}
786 787
@@ -816,14 +817,14 @@ void gk20a_create_sysfs(struct device *dev)
816 error |= sysfs_create_link(&g->host1x_dev->dev.kobj, 817 error |= sysfs_create_link(&g->host1x_dev->dev.kobj,
817 &dev->kobj, 818 &dev->kobj,
818 dev_name(dev)); 819 dev_name(dev));
819 if (strcmp(dev_name(dev), "gpu.0")) { 820 }
820 struct kobject *kobj = &dev->kobj;
821 struct device *parent = container_of((kobj->parent),
822 struct device, kobj);
823 error |= sysfs_create_link(&parent->kobj,
824 &dev->kobj, "gpu.0");
825 }
826 821
822 if (strcmp(dev_name(dev), "gpu.0")) {
823 struct kobject *kobj = &dev->kobj;
824 struct device *parent = container_of((kobj->parent),
825 struct device, kobj);
826 error |= sysfs_create_link(&parent->kobj,
827 &dev->kobj, "gpu.0");
827 } 828 }
828 829
829 if (error) 830 if (error)