MPC5xxx: fix some compiler warnings in USB code
PATCH 1/1 MPC5xxx: fix some compiler warnings in USB code
Fix the following warnings:
- usb.c:xx: warning: function declaration isn't a prototype
- usb_ohci.c:xxx: warning: passing argument 1 of '__fswab32' makes integer from pointer wihtout a cast
---
Some remarks:
The patch fixes the compiler warnings, but I'm not sure, if the original code is correct. It seems, that in function periodic_unlink() the pointer ed_p is little/big endian swapped and not the content, the pointer is pointing to. Not sure if this was intended. Maybe some USB expert (Markus?) could take a look at this?
cpu/mpc5xxx/usb.c | 6 +++--- drivers/usb_ohci.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-)
cpu/mpc5xxx/usb.c +3 -3
@@ -27,7 +27,7 @@#include <mpc5xxx.h> -int usb_cpu_init () +int usb_cpu_init (void ) {/* Set the USB Clock */ *(vu_long *)MPC5XXX_CDM_48_FDC =CONFIG_USB_CLOCK ;
@@ -41,12 +41,12 @@ int usb_cpu_init()return 0 ; } -int usb_cpu_stop () +int usb_cpu_stop (void ) {return 0 ; } -int usb_cpu_init_fail () +int usb_cpu_init_fail (void ) {return 0 ; }
drivers/usb_ohci.c +3 -3
@@ -669,7 +669,7 @@ static int ep_link (ohci_t *ohci, ed_t *edi) ed_p = &(((ed_t *)ed_p)->hwNextED)) inter =ep_rev (6 , ((ed_t *)ed_p)->int_interval); ed->hwNextED = *ed_p; - *ed_p =m32_swap (ed); + *ed_p =m32_swap ((unsigned long )ed); }break ; }
@@ -687,11 +687,11 @@ 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 *)m32_swap (ed_p)) == ed) { +if (((struct ed *)m32_swap ((unsigned long )ed_p)) == ed) { *ed_p = ed->hwNextED;break ; } - ed_p = & (((struct ed *)m32_swap (ed_p))->hwNextED); + ed_p = & (((struct ed *)m32_swap ((unsigned long )ed_p))->hwNextED); } } }
PATCH 1/1 MPC5xxx: fix some compiler warnings in USB code
Hi Martin,
Quoted 6 lines · Martin Krause
Fix the following warnings:
- usb.c:xx: warning: function declaration isn't a prototype
- usb_ohci.c:xxx: warning: passing argument 1 of '__fswab32' makes integer from pointer wihtout a castSigned-off-by Martin Krause <[email protected]>
Thanks, will be added to Custodian repo.
Quoted 7 lines
Some remarks:
The patch fixes the compiler warnings, but I'm not sure, if the original code is correct. It seems, that in function
periodic_unlink()the pointered_pis little/big endian swapped and not the content, the pointer is pointing to. Not sure if this was intended. Maybe some USB expert (Markus?) could take a look at this?
Hmm, not sure. I'll try to take a look, but it'll take a while. Are you experiencing a problem you suspect is caused by this?
Best regards
Markus Klotzbuecher
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
PATCH 1/1 MPC5xxx: fix some compiler warnings in USB code
Hi Markus,
Markus Klotzb?cher wrote on Thursday, August 23, 2007 6:26 PM:
Quoted 8 lines
Quoted 5 lines
The patch fixes the compiler warnings, but I'm not sure, if the original code is correct. It seems, that in function
periodic_unlink()the pointered_pis little/big endian swapped and not the content, the pointer is pointing to. Not sure if this was intended. Maybe some USB expert (Markus?) could take a look at this?Hmm, not sure. I'll try to take a look, but it'll take a while. Are you experiencing a problem you suspect is caused by this?
No, no problems. I only found it strange to byte-swap a pointer and then compare it to another (unswapped) pointer. But maybe this is all OK for pointes included in USB data structures (because of little/big endian conversion).
Best Regards,
Martin Krause
Wolfgang Denk
AppliedPATCH 1/1 MPC5xxx: fix some compiler warnings in USB code
In reply to Martin KrauseQuoted 6 lines · In message <[email protected]> you wrote:
Fix the following warnings:
- usb.c:xx: warning: function declaration isn't a prototype
- usb_ohci.c:xxx: warning: passing argument 1 of '__fswab32' makes integer from pointer wihtout a castSigned-off-by Martin Krause <[email protected]>
Applied, thanks.
Quoted 7 lines
Some remarks:
The patch fixes the compiler warnings, but I'm not sure, if the original code is correct. It seems, that in function
periodic_unlink()the pointered_pis little/big endian swapped and not the content, the pointer is pointing to. Not sure if this was intended. Maybe some USB expert (Markus?) could take a look at this?
Markus, I accepted this patch to get rid of the warnings for the 2.3.0-rc1 version. Could you please check the code again it if needs to be changed as Martin suggests?
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Gods don't like people not doing much work. People who aren't busy all the time might start to _think_. - Terry Pratchett, _Small Gods_