Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+1 −37
Original line number Diff line number Diff line
@@ -21,37 +21,6 @@
#if !defined(_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
 */
@@ -68,9 +37,9 @@ struct ps3_vuart_port_driver {
	/* 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);
void ps3_vuart_port_driver_unregister(struct ps3_vuart_port_driver *drv);

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,
@@ -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);
}

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
+35 −0
Original line number Diff line number Diff line
@@ -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