@ -682,7 +682,7 @@ static int ep_link(ohci_t *ohci, ed_t *edi)
ed - > hwNextED = 0 ;
flush_dcache_ed ( ed ) ;
if ( ohci - > ed_controltail = = NULL )
ohci_writel ( ed , & ohci - > regs - > ed_controlhead ) ;
ohci_writel ( ( uintptr_t ) ed , & ohci - > regs - > ed_controlhead ) ;
else
ohci - > ed_controltail - > hwNextED =
m32_swap ( ( unsigned long ) ed ) ;
@ -700,7 +700,7 @@ static int ep_link(ohci_t *ohci, ed_t *edi)
ed - > hwNextED = 0 ;
flush_dcache_ed ( ed ) ;
if ( ohci - > ed_bulktail = = NULL )
ohci_writel ( ed , & ohci - > regs - > ed_bulkhead ) ;
ohci_writel ( ( uintptr_t ) ed , & ohci - > regs - > ed_bulkhead ) ;
else
ohci - > ed_bulktail - > hwNextED =
m32_swap ( ( unsigned long ) ed ) ;
@ -753,7 +753,7 @@ static void periodic_unlink(struct ohci *ohci, volatile struct ed *ed,
/* ED might have been unlinked through another path */
while ( * ed_p ! = 0 ) {
if ( ( ( struct ed * )
if ( ( ( struct ed * ) ( uintptr_t )
m32_swap ( ( unsigned long ) ed_p ) ) = = ed ) {
* ed_p = ed - > hwNextED ;
aligned_ed_p = ( unsigned long ) ed_p ;
@ -762,7 +762,7 @@ static void periodic_unlink(struct ohci *ohci, volatile struct ed *ed,
aligned_ed_p + ARCH_DMA_MINALIGN ) ;
break ;
}
ed_p = & ( ( ( struct ed * )
ed_p = & ( ( ( struct ed * ) ( uintptr_t )
m32_swap ( ( unsigned long ) ed_p ) ) - > hwNextED ) ;
}
}
@ -798,7 +798,7 @@ static int ep_unlink(ohci_t *ohci, ed_t *edi)
if ( ohci - > ed_controltail = = ed ) {
ohci - > ed_controltail = ed - > ed_prev ;
} else {
( ( ed_t * ) m32_swap (
( ( ed_t * ) ( uintptr_t ) m32_swap (
* ( ( __u32 * ) & ed - > hwNextED ) ) ) - > ed_prev = ed - > ed_prev ;
}
break ;
@ -819,7 +819,7 @@ static int ep_unlink(ohci_t *ohci, ed_t *edi)
if ( ohci - > ed_bulktail = = ed ) {
ohci - > ed_bulktail = ed - > ed_prev ;
} else {
( ( ed_t * ) m32_swap (
( ( ed_t * ) ( uintptr_t ) m32_swap (
* ( ( __u32 * ) & ed - > hwNextED ) ) ) - > ed_prev = ed - > ed_prev ;
}
break ;
@ -914,12 +914,13 @@ static void td_fill(ohci_t *ohci, unsigned int info,
/* fill the old dummy TD */
td = urb_priv - > td [ index ] =
( td_t * ) ( m32_swap ( urb_priv - > ed - > hwTailP ) & ~ 0xf ) ;
( td_t * ) ( uintptr_t )
( m32_swap ( urb_priv - > ed - > hwTailP ) & ~ 0xf ) ;
td - > ed = urb_priv - > ed ;
td - > next_dl_td = NULL ;
td - > index = index ;
td - > data = ( __u32 ) data ;
td - > data = ( uintptr_t ) data ;
# ifdef OHCI_FILL_TRACE
if ( usb_pipebulk ( urb_priv - > pipe ) & & usb_pipeout ( urb_priv - > pipe ) ) {
for ( i = 0 ; i < len ; i + + )
@ -1099,7 +1100,7 @@ static void check_status(td_t *td_list)
* we reverse the reversed done - list */
static td_t * dl_reverse_done_list ( ohci_t * ohci )
{
__u32 td_list_hc ;
uintptr_t td_list_hc ;
td_t * td_rev = NULL ;
td_t * td_list = NULL ;
@ -1862,7 +1863,7 @@ static int hc_start(ohci_t *ohci)
ohci_writel ( 0 , & ohci - > regs - > ed_controlhead ) ;
ohci_writel ( 0 , & ohci - > regs - > ed_bulkhead ) ;
ohci_writel ( ( __u32 ) ohci - > hcca ,
ohci_writel ( ( uintptr_t ) ohci - > hcca ,
& ohci - > regs - > hcca ) ; /* reset clears this */
fminterval = 0x2edf ;