Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 373574
b: refs/heads/master
c: aa16bea
h: refs/heads/master
v: v3
  • Loading branch information
Alexey Kardashevskiy authored and Joerg Roedel committed Apr 24, 2013
1 parent 9fe18ed commit f3231e1
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 61e015ac5b4d46c2054a78d9bc82c840274929a0
refs/heads/master: aa16bea929aed6ea854b55d2be8306a9fb40e694
29 changes: 29 additions & 0 deletions trunk/drivers/iommu/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,35 @@ struct iommu_group *iommu_group_alloc(void)
}
EXPORT_SYMBOL_GPL(iommu_group_alloc);

struct iommu_group *iommu_group_get_by_id(int id)
{
struct kobject *group_kobj;
struct iommu_group *group;
const char *name;

if (!iommu_group_kset)
return NULL;

name = kasprintf(GFP_KERNEL, "%d", id);
if (!name)
return NULL;

group_kobj = kset_find_obj(iommu_group_kset, name);
kfree(name);

if (!group_kobj)
return NULL;

group = container_of(group_kobj, struct iommu_group, kobj);
BUG_ON(group->id != id);

kobject_get(group->devices_kobj);
kobject_put(&group->kobj);

return group;
}
EXPORT_SYMBOL_GPL(iommu_group_get_by_id);

/**
* iommu_group_get_iommudata - retrieve iommu_data registered for a group
* @group: the group
Expand Down
1 change: 1 addition & 0 deletions trunk/include/linux/iommu.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ struct iommu_ops {
extern int bus_set_iommu(struct bus_type *bus, struct iommu_ops *ops);
extern bool iommu_present(struct bus_type *bus);
extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus);
extern struct iommu_group *iommu_group_get_by_id(int id);
extern void iommu_domain_free(struct iommu_domain *domain);
extern int iommu_attach_device(struct iommu_domain *domain,
struct device *dev);
Expand Down

0 comments on commit f3231e1

Please sign in to comment.