Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Wolfgang, On Wed, Sep 10, 2008 at 7:32 AM, Wolfgang Denk [EMAIL PROTECTED] wrote: Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: Including asm/string.h seems bogus to me as this is already done in linux/string.h which is included just two lines above. Please check. I've rechecked, but removing this include results in an implicit declaration of function 'strncpy' on line 401 of /include/image.h But this makes no sense to me. That's the relevant code from include/linux/string.h: 18 /* 19 * Include machine specific inline routines 20 */ 21 #include asm/string.h 22 23 #ifndef __HAVE_ARCH_STRCPY 24 extern char * strcpy(char *,const char *); 25 #endif 26 #ifndef __HAVE_ARCH_STRNCPY 27 extern char * strncpy(char *,const char *, __kernel_size_t); 28 #endif You include linux/string.h, which in turn unconditionally includes asm/string.h, so including asm/string.h another time in makes no sense to me. Can you please dig a bit deeper what's happening there? gcc -E might help... OK, I've found the source of the confusion... The warning occurs when compiling /examples/82559_eeprom.c (which is only built for i386 architectures). This file #defines _PPC_STRING_H_ and _LINUX_STRING_H_. It is the #define _LINUX_STRING_H_ which prevents the entire /include/linux/string.h from being processed, and hence the necessity to include /include/asm/string.h I don't know why _PPC_STRING_H_ is #defined - The only attachment to _PPC_STRING_H_ is the OXC board (PPC platform) which uses eepro100_eeprom.c which, according to lines 130-135 of /examples/Makefile is '# Utility for resetting i82559 EEPROM', BUT, eepro100_eeprom.c is not built for i386 and 82559_eeprom.c is not built for PPC So I guess it gets more confusing, not less Back to /examples/82559_eeprom.c - If I remove #define _LINUX_STRING_H_ from 82559_eeprom.c and the extra /include/asm/string.h from /include/image.h, Make all succeeds with only an ld warning (cannot find entry symbol 82559_eeprom; defaulting to 0004) Should I re-pull (rebase? - sorry, not up with all the lingo yet) the master git repository, check the patch (with above changes) applies cleanly and resubmit (after checking my email client) or does this all warrant a closer inspection? Also remember that I have had to disable SATA and PCI for the sc520_cdp as mentioned previously and my primary interest is not in the sc520_cdp (I don't own one, so I can't test this build) but rather another sc520 based product I am trying to port linux to. Regards, Graeme ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Jean-Christophe PLAGNIOL-VILLARD, In message [EMAIL PROTECTED] you wrote: I've work on this in the past and send patch for fix all x86 Could you take a look on it Please always provide a link to such messages - which exact patch are you talking about? Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] Can you imagine how life could be improved if we could do away with jealousy, greed, hate ... It can also be improved by eliminating love, tenderness, sentiment -- the other side of the coin -- Dr. Roger Corby and Kirk, What are Little Girls Made Of?, stardate 2712.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: Attempt to bring i386 / sc520 inline with master To make some progress, I manually fixed the wrapped lines (you owe me a beer for that) and applied most of your patch. I omitted this part though: diff --git a/include/image.h b/include/image.h index 9be806e..e095a32 100644 --- a/include/image.h +++ b/include/image.h @@ -40,7 +40,7 @@ #include lmb.h #include linux/string.h #include asm/u-boot.h - +#include asm/string.h #else Including asm/string.h seems bogus to me as this is already done in linux/string.h which is included just two lines above. Please check. Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] panic: kernel trap (ignored) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
On Tue, Sep 9, 2008 at 7:49 PM, Wolfgang Denk [EMAIL PROTECTED] wrote: Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: Attempt to bring i386 / sc520 inline with master To make some progress, I manually fixed the wrapped lines (you owe me a beer for that) and applied most of your patch. Agreed I omitted this part though: diff --git a/include/image.h b/include/image.h index 9be806e..e095a32 100644 --- a/include/image.h +++ b/include/image.h @@ -40,7 +40,7 @@ #include lmb.h #include linux/string.h #include asm/u-boot.h - +#include asm/string.h #else Including asm/string.h seems bogus to me as this is already done in linux/string.h which is included just two lines above. Please check. I've rechecked, but removing this include results in an implicit declaration of function 'strncpy' on line 401 of /include/image.h Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] panic: kernel trap (ignored) ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: @@ -40,7 +40,7 @@ #include lmb.h #include linux/string.h #include asm/u-boot.h - +#include asm/string.h #else Including asm/string.h seems bogus to me as this is already done in linux/string.h which is included just two lines above. Please check. I've rechecked, but removing this include results in an implicit declaration of function 'strncpy' on line 401 of /include/image.h But this makes no sense to me. That's the relevant code from include/linux/string.h: 18 /* 19 * Include machine specific inline routines 20 */ 21 #include asm/string.h 22 23 #ifndef __HAVE_ARCH_STRCPY 24 extern char * strcpy(char *,const char *); 25 #endif 26 #ifndef __HAVE_ARCH_STRNCPY 27 extern char * strncpy(char *,const char *, __kernel_size_t); 28 #endif You include linux/string.h, which in turn unconditionally includes asm/string.h, so including asm/string.h another time in makes no sense to me. Can you please dig a bit deeper what's happening there? gcc -E might help... Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] Life is a game. Money is how we keep score. - Ted Turner ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Graeme Russ wrote: Third time lucky maybe - ditched Evolution (can't adjust line wrap width) for Thunderbird. I don't have git-send-email installed - will investigate Read the kernel Documentation/email-clients.txt: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/email-clients.txt;h=2ebb94d6ed8e547d5cb84cdc6feeba126388baf3;hb=HEAD Evolution and Tbird reportedly can work if you jump the right hoops. Maybe. It's the clicky-gooey curse.[1] See also my previous diatribe about letting our tools rule us. http://lists.denx.de/pipermail/u-boot/2008-September/040195.html Curmudgeonly yours, gvb [1] The Hitchhiker's Guide to the Galaxy, in a moment of reasoned lucidity which is almost unique among its current tally of five million, nine hundred and seventy-three thousand, five hundred and nine pages, says of the Sirius Cybernetics Corporation products that it is very easy to be blinded to the essential uselessness of them by the sense of achievement you get from getting them to work at all. In other words, - and this is the rock-solid principle on which the whole of the Corporation's Galaxywide success is founded - their fundamental design flaws are completely hidden by their superficial design flaws. - The Hitchhiker's Guide to the Galaxy / Douglas Adams (1952 - 2001). 1st American ed. New York : Harmony Books, 1980, c1979 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp) - Last gasp attempt
Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: OK, Thunderbird is not wrapping my email to gmail and gmail is not stripping white spaces when I forward This should not be that hard :( I agree. But something is messing with your formatting. diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c index f21c730..bfb473e 100644 --- a/board/sc520_cdp/sc520_cdp.c +++ b/board/sc520_cdp/sc520_cdp.c @@ -114,7 +114,7 @@ static void irq_init(void) } ^^^ Corrupted. Leading ' ' missin - here like in all other lines. - +#ifdef CONFIG_PCI /* PCI stuff */ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) { @@ -129,7 +129,7 @@ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) ^^^ and wrapped lines again, too. Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] There are certain things men must do to remain men. -- Kirk, The Ultimate Computer, stardate 4929.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: Attempt to bring i386 / sc520 inline with master NOTE: Previous patches have been rejected by the mailing list due to non-ASCII characters in the copyright headers. I have deleted the offending characters - I hope patch does not complain You patch will not apply if you just try and omit such characters. Also, your patch is severely corrupted. It seems you copy pasted it and lost a lot of the original white spaces then. Signed-off-by: Graeme Russ [EMAIL PROTECTED] diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c index f21c730..20284e4 100644 --- a/board/sc520_cdp/sc520_cdp.c +++ b/board/sc520_cdp/sc520_cdp.c @@ -1,7 +1,7 @@ /* * * (C) Copyright 2002 - * Daniel Engstrm, Omicron Ceti AB [EMAIL PROTECTED]. + * Daniel Engstrm, Omicron Ceti AB [EMAIL PROTECTED]. Does not apply. The original line is * Daniel Engström, Omicron Ceti AB [EMAIL PROTECTED]. Note there is a character (o-umlaut) between the 'r' and the 'm' in Engström. * Serial EEPROM opcodes, including start bit diff --git a/examples/82559_eeprom.c b/examples/82559_eeprom.c index 1a121d4..d99af26 100644 --- a/examples/82559_eeprom.c +++ b/examples/82559_eeprom.c @@ -51,13 +51,17 @@ static inline unsigned short swap16(unsigned short x) } -static inline void *memcpy(void *dst, const void *src, unsigned int len) +void * memcpy(void * dest,const void *src,size_t count) { - void * ret = dst; - while (len-- 0) *((char *)dst)++ = *((char *)src)++; - return ret; + char *tmp = (char *) dest, *s = (char *) src; + + while (count--) + *tmp++ = *s++; + + return dest; } Indentation incorrect. /* The EEPROM commands include the alway-set leading bit. */ #define EE_WRITE_CMD (5) #define EE_READ_CMD (6) @@ -156,7 +160,7 @@ static int reset_eeprom(unsigned long ioaddr, unsigned char *hwaddr) int size_test; int i; - printf(Resetting i82559 EEPROM @ 0x%08x ... , ioaddr); + printf(Resetting i82559 EEPROM @ 0x%08lx ... , ioaddr); Indentation incorrect. size_test = do_eeprom_cmd(ioaddr, (EE_READ_CMD 8) 16, 27); eeprom_addr_size = (size_test 0xffe) == 0xffe ? 8 : 6; @@ -305,7 +309,7 @@ write_config_word(int bus, int dev, int func, int reg, u16 data) int main (int argc, char *argv[]) { unsigned char *eth_addr; - char buf[6]; + uchar buf[6]; int instance; Indentation incorrect. app_startup(argv); diff --git a/include/asm-i386/byteorder.h b/include/asm-i386/byteorder.h index a9c69d5..7dfeb8b 100644 --- a/include/asm-i386/byteorder.h +++ b/include/asm-i386/byteorder.h @@ -6,7 +6,7 @@ #ifdef __GNUC__ -static __inline__ __const__ __u32 ___arch__swab32(__u32 x) +static __inline__ __u32 ___arch__swab32(__u32 x) { #ifdef CONFIG_X86_BSWAP __asm__(bswap %0 : =r (x) : 0 (x)); @@ -20,7 +20,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x) return x; } -static __inline__ __const__ __u16 ___arch__swab16(__u16 x) +static __inline__ __u16 ___arch__swab16(__u16 x) { __asm__(xchgb %b0,%h0 /* swap bytes */ \ : =q (x) \ Ditto. and so on an on. Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] I must follow the people. Am I not their leader? - Benjamin Disraeli ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Third time lucky maybe - ditched Evolution (can't adjust line wrap width) for Thunderbird. I don't have git-send-email installed - will investigate Attempt to bring i386 / sc520 inline with master Signed-off-by: Graeme Russ graeme.russ at gmail.com http://lists.denx.de/mailman/listinfo/u-boot diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c index f21c730..bfb473e 100644 --- a/board/sc520_cdp/sc520_cdp.c +++ b/board/sc520_cdp/sc520_cdp.c @@ -114,7 +114,7 @@ static void irq_init(void) } - +#ifdef CONFIG_PCI /* PCI stuff */ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) { @@ -129,7 +129,7 @@ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) }; static int next_irq_index=0; -char tmp_pin; +uchar tmp_pin; int pin; pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, tmp_pin); @@ -193,7 +193,7 @@ void pci_init_board(void) { pci_sc520_init(sc520_cdp_hose); } - +#endif static void silence_uart(int port) { @@ -563,12 +563,12 @@ void spi_eeprom_probe(int x) { } -int spi_eeprom_read(int x, int offset, char *buffer, int len) +int spi_eeprom_read(int x, int offset, uchar *buffer, int len) { return 0; } -int spi_eeprom_write(int x, int offset, char *buffer, int len) +int spi_eeprom_write(int x, int offset, uchar *buffer, int len) { return 0; } diff --git a/drivers/mtd/mw_eeprom.c b/drivers/mtd/mw_eeprom.c index f32ced4..f7791b5 100644 --- a/drivers/mtd/mw_eeprom.c +++ b/drivers/mtd/mw_eeprom.c @@ -1,7 +1,7 @@ /* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */ #include common.h -#include ssi.h +#include asm/ic/ssi.h /* * Serial EEPROM opcodes, including start bit diff --git a/examples/82559_eeprom.c b/examples/82559_eeprom.c index 1a121d4..d99af26 100644 --- a/examples/82559_eeprom.c +++ b/examples/82559_eeprom.c @@ -51,13 +51,17 @@ static inline unsigned short swap16(unsigned short x) } -static inline void *memcpy(void *dst, const void *src, unsigned int len) +void * memcpy(void * dest,const void *src,size_t count) { -void * ret = dst; -while (len-- 0) *((char *)dst)++ = *((char *)src)++; -return ret; +char *tmp = (char *) dest, *s = (char *) src; + +while (count--) +*tmp++ = *s++; + +return dest; } + /* The EEPROM commands include the alway-set leading bit. */ #define EE_WRITE_CMD(5) #define EE_READ_CMD(6) @@ -156,7 +160,7 @@ static int reset_eeprom(unsigned long ioaddr, unsigned char *hwaddr) int size_test; int i; -printf(Resetting i82559 EEPROM @ 0x%08x ... , ioaddr); +printf(Resetting i82559 EEPROM @ 0x%08lx ... , ioaddr); size_test = do_eeprom_cmd(ioaddr, (EE_READ_CMD 8) 16, 27); eeprom_addr_size = (size_test 0xffe) == 0xffe ? 8 : 6; @@ -305,7 +309,7 @@ write_config_word(int bus, int dev, int func, int reg, u16 data) int main (int argc, char *argv[]) { unsigned char *eth_addr; -char buf[6]; +uchar buf[6]; int instance; app_startup(argv); diff --git a/include/asm-i386/byteorder.h b/include/asm-i386/byteorder.h index a9c69d5..7dfeb8b 100644 --- a/include/asm-i386/byteorder.h +++ b/include/asm-i386/byteorder.h @@ -6,7 +6,7 @@ #ifdef __GNUC__ -static __inline__ __const__ __u32 ___arch__swab32(__u32 x) +static __inline__ __u32 ___arch__swab32(__u32 x) { #ifdef CONFIG_X86_BSWAP __asm__(bswap %0 : =r (x) : 0 (x)); @@ -20,7 +20,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x) return x; } -static __inline__ __const__ __u16 ___arch__swab16(__u16 x) +static __inline__ __u16 ___arch__swab16(__u16 x) { __asm__(xchgb %b0,%h0/* swap bytes*/ \ : =q (x) \ diff --git a/include/asm-i386/global_data.h b/include/asm-i386/global_data.h index 5dfb595..f31bac6 100644 --- a/include/asm-i386/global_data.h +++ b/include/asm-i386/global_data.h @@ -58,8 +58,8 @@ typedefstruct { #defineGD_FLG_POSTSTOP0x00010/* POST seqeunce aborted */ #defineGD_FLG_LOGINIT0x00020/* Log Buffer has been initialized*/ -extern gd_t *global_data; +extern gd_t *gd; -#define DECLARE_GLOBAL_DATA_PTR gd_t *gd = global_data +#define DECLARE_GLOBAL_DATA_PTR #endif /* __ASM_GBL_DATA_H */ diff --git a/include/asm-i386/ic/ssi.h b/include/asm-i386/ic/ssi.h new file mode 100644 index 000..bd48eab --- /dev/null +++ b/include/asm-i386/ic/ssi.h @@ -0,0 +1,34 @@ +/* + * (C) Copyright 2008 + * Graeme Russ [EMAIL PROTECTED]. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
Dear Graeme Russ, In message [EMAIL PROTECTED] you wrote: Third time lucky maybe - ditched Evolution (can't adjust line wrap width) for Thunderbird. I don't have git-send-email installed - will investigate This has nothing to do with luck - an this mailing list is not a good place to try out your mailer. +#ifdef CONFIG_PCI /* PCI stuff */ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) ^ Line wrapped again. diff --git a/drivers/mtd/mw_eeprom.c b/drivers/mtd/mw_eeprom.c index f32ced4..f7791b5 100644 --- a/drivers/mtd/mw_eeprom.c +++ b/drivers/mtd/mw_eeprom.c @@ -1,7 +1,7 @@ /* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */ etc. Please fix this before you post here again. Best regards, Wolfgang Denk -- 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: [EMAIL PROTECTED] [Doctors and Bartenders], We both get the same two kinds of customers -- the living and the dying. -- Dr. Boyce, The Menagerie (The Cage), stardate unknown ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] Update i386 code (sc520_cdp)
OK, last try then I'm completely giving up :( Attempt to bring i386 / sc520 inline with master Signed-off-by: Graeme Russ [EMAIL PROTECTED] diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c index f21c730..bfb473e 100644 --- a/board/sc520_cdp/sc520_cdp.c +++ b/board/sc520_cdp/sc520_cdp.c @@ -114,7 +114,7 @@ static void irq_init(void) } - +#ifdef CONFIG_PCI /* PCI stuff */ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) { @@ -129,7 +129,7 @@ static void pci_sc520_cdp_fixup_irq(struct pci_controller *hose, pci_dev_t dev) }; static int next_irq_index=0; -char tmp_pin; +uchar tmp_pin; int pin; pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_PIN, tmp_pin); @@ -193,7 +193,7 @@ void pci_init_board(void) { pci_sc520_init(sc520_cdp_hose); } - +#endif static void silence_uart(int port) { @@ -563,12 +563,12 @@ void spi_eeprom_probe(int x) { } -int spi_eeprom_read(int x, int offset, char *buffer, int len) +int spi_eeprom_read(int x, int offset, uchar *buffer, int len) { return 0; } -int spi_eeprom_write(int x, int offset, char *buffer, int len) +int spi_eeprom_write(int x, int offset, uchar *buffer, int len) { return 0; } diff --git a/drivers/mtd/mw_eeprom.c b/drivers/mtd/mw_eeprom.c index f32ced4..f7791b5 100644 --- a/drivers/mtd/mw_eeprom.c +++ b/drivers/mtd/mw_eeprom.c @@ -1,7 +1,7 @@ /* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */ #include common.h -#include ssi.h +#include asm/ic/ssi.h /* * Serial EEPROM opcodes, including start bit diff --git a/examples/82559_eeprom.c b/examples/82559_eeprom.c index 1a121d4..d99af26 100644 --- a/examples/82559_eeprom.c +++ b/examples/82559_eeprom.c @@ -51,13 +51,17 @@ static inline unsigned short swap16(unsigned short x) } -static inline void *memcpy(void *dst, const void *src, unsigned int len) +void * memcpy(void * dest,const void *src,size_t count) { -void * ret = dst; -while (len-- 0) *((char *)dst)++ = *((char *)src)++; -return ret; +char *tmp = (char *) dest, *s = (char *) src; + +while (count--) +*tmp++ = *s++; + +return dest; } + /* The EEPROM commands include the alway-set leading bit. */ #define EE_WRITE_CMD(5) #define EE_READ_CMD(6) @@ -156,7 +160,7 @@ static int reset_eeprom(unsigned long ioaddr, unsigned char *hwaddr) int size_test; int i; -printf(Resetting i82559 EEPROM @ 0x%08x ... , ioaddr); +printf(Resetting i82559 EEPROM @ 0x%08lx ... , ioaddr); size_test = do_eeprom_cmd(ioaddr, (EE_READ_CMD 8) 16, 27); eeprom_addr_size = (size_test 0xffe) == 0xffe ? 8 : 6; @@ -305,7 +309,7 @@ write_config_word(int bus, int dev, int func, int reg, u16 data) int main (int argc, char *argv[]) { unsigned char *eth_addr; -char buf[6]; +uchar buf[6]; int instance; app_startup(argv); diff --git a/include/asm-i386/byteorder.h b/include/asm-i386/byteorder.h index a9c69d5..7dfeb8b 100644 --- a/include/asm-i386/byteorder.h +++ b/include/asm-i386/byteorder.h @@ -6,7 +6,7 @@ #ifdef __GNUC__ -static __inline__ __const__ __u32 ___arch__swab32(__u32 x) +static __inline__ __u32 ___arch__swab32(__u32 x) { #ifdef CONFIG_X86_BSWAP __asm__(bswap %0 : =r (x) : 0 (x)); @@ -20,7 +20,7 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 x) return x; } -static __inline__ __const__ __u16 ___arch__swab16(__u16 x) +static __inline__ __u16 ___arch__swab16(__u16 x) { __asm__(xchgb %b0,%h0/* swap bytes*/ \ : =q (x) \ diff --git a/include/asm-i386/global_data.h b/include/asm-i386/global_data.h index 5dfb595..f31bac6 100644 --- a/include/asm-i386/global_data.h +++ b/include/asm-i386/global_data.h @@ -58,8 +58,8 @@ typedefstruct { #defineGD_FLG_POSTSTOP0x00010/* POST seqeunce aborted */ #defineGD_FLG_LOGINIT0x00020/* Log Buffer has been initialized*/ -extern gd_t *global_data; +extern gd_t *gd; -#define DECLARE_GLOBAL_DATA_PTR gd_t *gd = global_data +#define DECLARE_GLOBAL_DATA_PTR #endif /* __ASM_GBL_DATA_H */ diff --git a/include/asm-i386/ic/ssi.h b/include/asm-i386/ic/ssi.h new file mode 100644 index 000..bd48eab --- /dev/null +++ b/include/asm-i386/ic/ssi.h @@ -0,0 +1,34 @@ +/* + * (C) Copyright 2008 + * Graeme Russ [EMAIL PROTECTED]. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU