Skip to contentSkip to conversation

MPC5xxx: fix some compiler warnings in USB code

PATCH New Martin Krause 3 participants 4 messages Aug 21, 2007 – Aug 29, 2007

lore
Share & tools
lore
#0 lore raw

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
index ce709fc..ed467ab 100644
@@ -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
index f0a37b2..14984a5 100644
@@ -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);
 		}
 	}
 }
#1 lore raw

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 cast

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 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?

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

#2 lore raw

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 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?

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

#3 lore raw

PATCH 1/1 MPC5xxx: fix some compiler warnings in USB code

In reply to Martin Krause
Quoted 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 cast

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 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?

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_