sparc64: Enhance search for VIO device in MDESC
Enhances search for VIO device in MDESC by leveraging already existing MDESC APIs. Enhances changes in earlier patch, "sparc: Machine description indices can vary", by using existing MD search functions. It also specifies a match function, thereby enabling device_find_child() to use it for the purpose of matching device nodes in MDESC. An API to find VDEV node in MDESC based on its md_node_info is also added. It is planned to be used by VIO device clients in the future. Signed-off-by: Jagannathan Raman <jag.raman@oracle.com> Reviewed-by: Liam Merwick <liam.merwick@oracle.com> Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
aa512d5ede
commit
f4d29ca7de
@@ -329,7 +329,6 @@ struct vio_dev {
|
||||
int compat_len;
|
||||
|
||||
u64 dev_no;
|
||||
u64 id;
|
||||
|
||||
unsigned long channel_id;
|
||||
|
||||
@@ -341,6 +340,9 @@ struct vio_dev {
|
||||
/* Handle to the root of "channel-devices" sub-tree in MDESC */
|
||||
u64 cdev_handle;
|
||||
|
||||
/* MD specific data used to identify the vdev in MD */
|
||||
union md_node_info md_node_info;
|
||||
|
||||
struct device dev;
|
||||
};
|
||||
|
||||
@@ -497,5 +499,6 @@ int vio_driver_init(struct vio_driver_state *vio, struct vio_dev *vdev,
|
||||
|
||||
void vio_port_up(struct vio_driver_state *vio);
|
||||
int vio_set_intr(unsigned long dev_ino, int state);
|
||||
u64 vio_vdev_node(struct mdesc_handle *hp, struct vio_dev *vdev);
|
||||
|
||||
#endif /* _SPARC64_VIO_H */
|
||||
|
Reference in New Issue
Block a user