Commit 97ec1675 authored by Geoff Levand's avatar Geoff Levand Committed by Paul Mackerras

[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: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Acked-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 2a08ea69
...@@ -21,37 +21,6 @@ ...@@ -21,37 +21,6 @@
#if !defined(_PS3_VUART_H) #if !defined(_PS3_VUART_H)
#define _PS3_VUART_H #define _PS3_VUART_H
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;
unsigned long 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;
};
/** /**
* struct ps3_vuart_port_driver - a driver for a device on a vuart port * struct ps3_vuart_port_driver - a driver for a device on a vuart port
*/ */
...@@ -68,9 +37,9 @@ struct ps3_vuart_port_driver { ...@@ -68,9 +37,9 @@ struct ps3_vuart_port_driver {
/* int (*resume)(struct ps3_vuart_port_device *); */ /* int (*resume)(struct ps3_vuart_port_device *); */
}; };
int ps3_vuart_port_device_register(struct ps3_vuart_port_device *dev);
int ps3_vuart_port_driver_register(struct ps3_vuart_port_driver *drv); int ps3_vuart_port_driver_register(struct ps3_vuart_port_driver *drv);
void ps3_vuart_port_driver_unregister(struct ps3_vuart_port_driver *drv); void ps3_vuart_port_driver_unregister(struct ps3_vuart_port_driver *drv);
int ps3_vuart_write(struct ps3_vuart_port_device *dev, int ps3_vuart_write(struct ps3_vuart_port_device *dev,
const void* buf, unsigned int bytes); const void* buf, unsigned int bytes);
int ps3_vuart_read(struct ps3_vuart_port_device *dev, void* buf, int 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,9 +55,4 @@ static inline struct ps3_vuart_port_device *to_ps3_vuart_port_device(
return container_of(_dev, struct ps3_vuart_port_device, core); return container_of(_dev, struct ps3_vuart_port_device, core);
} }
int ps3_vuart_write(struct ps3_vuart_port_device *dev, const void* buf,
unsigned int bytes);
int ps3_vuart_read(struct ps3_vuart_port_device *dev, void* buf,
unsigned int bytes);
#endif #endif
...@@ -353,4 +353,39 @@ static inline void *ps3_system_bus_get_driver_data( ...@@ -353,4 +353,39 @@ static inline void *ps3_system_bus_get_driver_data(
extern struct bus_type ps3_system_bus_type; 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 #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment