USB: UHCI: Allow dynamic assignment of bus specific functions
This patch is part of a series that extend the UHCI HCD to support non-PCI controllers. This patch changes calls to uhci_reset_hc, uhci_check_and_reset_hc, configure_hc, resume_detect_interrupts_are_broken and global_suspend_mode_is_broken so that they are made through pointers in the uhci hcd struct. This will allow these functions to be replaced with bus/arch specific functions. Signed-off-by: Jan Andersson <jan@gaisler.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
此提交包含在:
@@ -433,6 +433,16 @@ struct uhci_hcd {
|
||||
|
||||
int total_load; /* Sum of array values */
|
||||
short load[MAX_PHASE]; /* Periodic allocations */
|
||||
|
||||
/* Reset host controller */
|
||||
void (*reset_hc) (struct uhci_hcd *uhci);
|
||||
int (*check_and_reset_hc) (struct uhci_hcd *uhci);
|
||||
/* configure_hc should perform arch specific settings, if needed */
|
||||
void (*configure_hc) (struct uhci_hcd *uhci);
|
||||
/* Check for broken resume detect interrupts */
|
||||
int (*resume_detect_interrupts_are_broken) (struct uhci_hcd *uhci);
|
||||
/* Check for broken global suspend */
|
||||
int (*global_suspend_mode_is_broken) (struct uhci_hcd *uhci);
|
||||
};
|
||||
|
||||
/* Convert between a usb_hcd pointer and the corresponding uhci_hcd */
|
||||
|
新增問題並參考
封鎖使用者