Commit d3595d13 authored by Alexander Shishkin's avatar Alexander Shishkin Committed by Greg Kroah-Hartman

usb: gadget: ci13xxx: move global variables inside struct ci13xxx

Make global variables that are specific for each UDC instance part of
struct ci13xxx.
Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1155a7b8
This diff is collapsed.
...@@ -94,6 +94,7 @@ struct ci13xxx_ep { ...@@ -94,6 +94,7 @@ struct ci13xxx_ep {
int wedge; int wedge;
/* global resources */ /* global resources */
struct ci13xxx *udc;
spinlock_t *lock; spinlock_t *lock;
struct device *device; struct device *device;
struct dma_pool *td_pool; struct dma_pool *td_pool;
...@@ -113,9 +114,17 @@ struct ci13xxx_udc_driver { ...@@ -113,9 +114,17 @@ struct ci13xxx_udc_driver {
void (*notify_event) (struct ci13xxx *udc, unsigned event); void (*notify_event) (struct ci13xxx *udc, unsigned event);
}; };
struct hw_bank {
unsigned lpm; /* is LPM? */
void __iomem *abs; /* bus map offset */
void __iomem *cap; /* bus map offset + CAP offset */
void __iomem *op; /* bus map offset + OP offset */
size_t size; /* bank size */
};
/* CI13XXX UDC descriptor & global resources */ /* CI13XXX UDC descriptor & global resources */
struct ci13xxx { struct ci13xxx {
spinlock_t *lock; /* ctrl register bank access */ spinlock_t lock; /* ctrl register bank access */
void __iomem *regs; /* registers address space */ void __iomem *regs; /* registers address space */
struct dma_pool *qh_pool; /* DMA pool for queue heads */ struct dma_pool *qh_pool; /* DMA pool for queue heads */
...@@ -126,11 +135,14 @@ struct ci13xxx { ...@@ -126,11 +135,14 @@ struct ci13xxx {
struct ci13xxx_ep ci13xxx_ep[ENDPT_MAX]; /* extended endpts */ struct ci13xxx_ep ci13xxx_ep[ENDPT_MAX]; /* extended endpts */
u32 ep0_dir; /* ep0 direction */ u32 ep0_dir; /* ep0 direction */
struct ci13xxx_ep *ep0out, *ep0in; struct ci13xxx_ep *ep0out, *ep0in;
unsigned hw_ep_max; /* number of hw endpoints */
u8 remote_wakeup; /* Is remote wakeup feature u8 remote_wakeup; /* Is remote wakeup feature
enabled by the host? */ enabled by the host? */
u8 suspended; /* suspended by the host */ u8 suspended; /* suspended by the host */
u8 test_mode; /* the selected test mode */ u8 test_mode; /* the selected test mode */
struct hw_bank hw_bank;
struct usb_gadget_driver *driver; /* 3rd party gadget driver */ struct usb_gadget_driver *driver; /* 3rd party gadget driver */
struct ci13xxx_udc_driver *udc_driver; /* device controller driver */ struct ci13xxx_udc_driver *udc_driver; /* device controller driver */
int vbus_active; /* is VBUS active */ int vbus_active; /* is VBUS active */
......
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