summary refs log tree commit diff
path: root/arch/sparc/include
diff options
context:
space:
mode:
authorJag Raman <jag.raman@oracle.com>2017-06-23 14:58:39 -0400
committerDavid S. Miller <davem@davemloft.net>2017-06-25 13:43:14 -0700
commitf4d29ca7defdec9c8010a20a9ce10a71462a9978 (patch)
tree83a6313d01bb3c8e0718d6f16f42a0a05780ce60 /arch/sparc/include
parentaa512d5edeab267d612c6be93eb6a2368ee7a6d6 (diff)
downloadlinux-f4d29ca7defdec9c8010a20a9ce10a71462a9978.tar.gz
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>
Diffstat (limited to 'arch/sparc/include')
-rw-r--r--arch/sparc/include/asm/vio.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sparc/include/asm/vio.h b/arch/sparc/include/asm/vio.h
index d8eb195b69e3..25ede61c0386 100644
--- a/arch/sparc/include/asm/vio.h
+++ b/arch/sparc/include/asm/vio.h
@@ -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 */