aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeoff Levand <geoffrey.levand@am.sony.com>2007-01-30 18:20:30 -0500
committerPaul Mackerras <paulus@samba.org>2007-02-06 22:03:20 -0500
commit97ec1675999eae96975a30facbedc2e6c0c832bc (patch)
tree3e464f69cdab789168e33d34843e63d6f23e075e
parent2a08ea69a3e448a5cc94e5da9eccc40cf13f9532 (diff)
[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>
-rw-r--r--drivers/ps3/vuart.h38
-rw-r--r--include/asm-powerpc/ps3.h35
2 files changed, 36 insertions, 37 deletions
diff --git a/drivers/ps3/vuart.h b/drivers/ps3/vuart.h
index 28fd89f0c8aa..11c421cf7a03 100644
--- a/drivers/ps3/vuart.h
+++ b/drivers/ps3/vuart.h
@@ -21,37 +21,6 @@
21#if !defined(_PS3_VUART_H) 21#if !defined(_PS3_VUART_H)
22#define _PS3_VUART_H 22#define _PS3_VUART_H
23 23
24struct ps3_vuart_stats {
25 unsigned long bytes_written;
26 unsigned long bytes_read;
27 unsigned long tx_interrupts;
28 unsigned long rx_interrupts;
29 unsigned long disconnect_interrupts;
30};
31
32/**
33 * struct ps3_vuart_port_device - a device on a vuart port
34 */
35
36struct ps3_vuart_port_device {
37 enum ps3_match_id match_id;
38 struct device core;
39
40 /* private driver variables */
41 unsigned int port_number;
42 unsigned long interrupt_mask;
43 struct {
44 spinlock_t lock;
45 struct list_head head;
46 } tx_list;
47 struct {
48 unsigned long bytes_held;
49 spinlock_t lock;
50 struct list_head head;
51 } rx_list;
52 struct ps3_vuart_stats stats;
53};
54
55/** 24/**
56 * struct ps3_vuart_port_driver - a driver for a device on a vuart port 25 * struct ps3_vuart_port_driver - a driver for a device on a vuart port
57 */ 26 */
@@ -68,9 +37,9 @@ struct ps3_vuart_port_driver {
68 /* int (*resume)(struct ps3_vuart_port_device *); */ 37 /* int (*resume)(struct ps3_vuart_port_device *); */
69}; 38};
70 39
71int ps3_vuart_port_device_register(struct ps3_vuart_port_device *dev);
72int ps3_vuart_port_driver_register(struct ps3_vuart_port_driver *drv); 40int ps3_vuart_port_driver_register(struct ps3_vuart_port_driver *drv);
73void ps3_vuart_port_driver_unregister(struct ps3_vuart_port_driver *drv); 41void ps3_vuart_port_driver_unregister(struct ps3_vuart_port_driver *drv);
42
74int ps3_vuart_write(struct ps3_vuart_port_device *dev, 43int ps3_vuart_write(struct ps3_vuart_port_device *dev,
75 const void* buf, unsigned int bytes); 44 const void* buf, unsigned int bytes);
76int ps3_vuart_read(struct ps3_vuart_port_device *dev, void* buf, 45int ps3_vuart_read(struct ps3_vuart_port_device *dev, void* buf,
@@ -86,9 +55,4 @@ static inline struct ps3_vuart_port_device *to_ps3_vuart_port_device(
86 return container_of(_dev, struct ps3_vuart_port_device, core); 55 return container_of(_dev, struct ps3_vuart_port_device, core);
87} 56}
88 57
89int ps3_vuart_write(struct ps3_vuart_port_device *dev, const void* buf,
90 unsigned int bytes);
91int ps3_vuart_read(struct ps3_vuart_port_device *dev, void* buf,
92 unsigned int bytes);
93
94#endif 58#endif
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(
353 353
354extern struct bus_type ps3_system_bus_type; 354extern struct bus_type ps3_system_bus_type;
355 355
356/* vuart routines */
357
358struct ps3_vuart_stats {
359 unsigned long bytes_written;
360 unsigned long bytes_read;
361 unsigned long tx_interrupts;
362 unsigned long rx_interrupts;
363 unsigned long disconnect_interrupts;
364};
365
366/**
367 * struct ps3_vuart_port_device - a device on a vuart port
368 */
369
370struct ps3_vuart_port_device {
371 enum ps3_match_id match_id;
372 struct device core;
373
374 /* private driver variables */
375 unsigned int port_number;
376 u64 interrupt_mask;
377 struct {
378 spinlock_t lock;
379 struct list_head head;
380 } tx_list;
381 struct {
382 unsigned long bytes_held;
383 spinlock_t lock;
384 struct list_head head;
385 } rx_list;
386 struct ps3_vuart_stats stats;
387};
388
389int ps3_vuart_port_device_register(struct ps3_vuart_port_device *dev);
390
356#endif 391#endif