mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
gpu: nvgpu: Create sysfs symlinks
gk20a is going to be moved under platform bus, however, the sysfs interface should remain stable over the transition period. This patch adds a symlink to keep current interfaces stable. Bug 1311528 Bug 1434573 Change-Id: I951000f4b25285ff96e93eb726342d5b76cc84f1 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/396926 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
d224ca2008
commit
6107c44ecd
@@ -333,6 +333,8 @@ static DEVICE_ATTR(elpg_enable, ROOTRW, elpg_enable_read, elpg_enable_store);
|
||||
|
||||
void gk20a_remove_sysfs(struct device *dev)
|
||||
{
|
||||
struct gk20a *g = get_gk20a(to_platform_device(dev));
|
||||
|
||||
device_remove_file(dev, &dev_attr_elcg_enable);
|
||||
device_remove_file(dev, &dev_attr_blcg_enable);
|
||||
device_remove_file(dev, &dev_attr_slcg_enable);
|
||||
@@ -343,10 +345,14 @@ void gk20a_remove_sysfs(struct device *dev)
|
||||
device_remove_file(dev, &dev_attr_load);
|
||||
device_remove_file(dev, &dev_attr_railgate_delay);
|
||||
device_remove_file(dev, &dev_attr_clockgate_delay);
|
||||
|
||||
if (g->host1x_dev && (dev->parent != &g->host1x_dev->dev))
|
||||
sysfs_remove_link(&dev->kobj, dev_name(dev));
|
||||
}
|
||||
|
||||
void gk20a_create_sysfs(struct platform_device *dev)
|
||||
{
|
||||
struct gk20a *g = get_gk20a(dev);
|
||||
int error = 0;
|
||||
|
||||
error |= device_create_file(&dev->dev, &dev_attr_elcg_enable);
|
||||
@@ -360,6 +366,12 @@ void gk20a_create_sysfs(struct platform_device *dev)
|
||||
error |= device_create_file(&dev->dev, &dev_attr_railgate_delay);
|
||||
error |= device_create_file(&dev->dev, &dev_attr_clockgate_delay);
|
||||
|
||||
if (g->host1x_dev && (dev->dev.parent != &g->host1x_dev->dev))
|
||||
error |= sysfs_create_link(&g->host1x_dev->dev.kobj,
|
||||
&dev->dev.kobj,
|
||||
dev_name(&dev->dev));
|
||||
|
||||
if (error)
|
||||
dev_err(&dev->dev, "Failed to create sysfs attributes!\n");
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user