summaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/ps3.h
diff options
context:
space:
mode:
authorGeoff Levand <geoffrey.levand@am.sony.com>2007-01-31 00:20:30 +0100
committerPaul Mackerras <paulus@samba.org>2007-02-07 04:03:20 +0100
commit97ec1675999eae96975a30facbedc2e6c0c832bc (patch)
tree3e464f69cdab789168e33d34843e63d6f23e075e /include/asm-powerpc/ps3.h
parent[POWERPC] PS3: Move system bus to platform directory (diff)
downloadlinux-97ec1675999eae96975a30facbedc2e6c0c832bc.tar.xz
linux-97ec1675999eae96975a30facbedc2e6c0c832bc.zip
[POWERPC] PS3: Move vuart declarations to ps3.h
Move the structures and routines needed for PS3 vuart port device registration to asm-powerpc/ps3.h. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/ps3.h')
-rw-r--r--include/asm-powerpc/ps3.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/asm-powerpc/ps3.h b/include/asm-powerpc/ps3.h
index 873aab042c70..4f5a1e01fdac 100644
--- a/include/asm-powerpc/ps3.h
+++ b/include/asm-powerpc/ps3.h
@@ -353,4 +353,39 @@ static inline void *ps3_system_bus_get_driver_data(
extern struct bus_type ps3_system_bus_type;
+/* vuart routines */
+
+struct ps3_vuart_stats {
+ unsigned long bytes_written;
+ unsigned long bytes_read;
+ unsigned long tx_interrupts;
+ unsigned long rx_interrupts;
+ unsigned long disconnect_interrupts;
+};
+
+/**
+ * struct ps3_vuart_port_device - a device on a vuart port
+ */
+
+struct ps3_vuart_port_device {
+ enum ps3_match_id match_id;
+ struct device core;
+
+ /* private driver variables */
+ unsigned int port_number;
+ u64 interrupt_mask;
+ struct {
+ spinlock_t lock;
+ struct list_head head;
+ } tx_list;
+ struct {
+ unsigned long bytes_held;
+ spinlock_t lock;
+ struct list_head head;
+ } rx_list;
+ struct ps3_vuart_stats stats;
+};
+
+int ps3_vuart_port_device_register(struct ps3_vuart_port_device *dev);
+
#endif