[U-Boot] [PATCH 3/3] smc91111: switch to MULTI_NET api
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Aug 12 22:36:59 CEST 2009
On 21:12 Wed 12 Aug , Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
>
> In message <1250023747-20224-3-git-send-email-plagnioj at jcrosoft.com> you wrote:
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ...
> > #ifdef CONFIG_SMC_USE_32_BIT
> > -#define USE_32_BIT 1
> > +#define is_use_32bit(x) (x->use_32bit)
>
> Does switching from a compile time check to a run time check not cause
> an avoidable growth of the memory footprint?
>
> How much bigger is the new code?
none for the non 32 bit support it will only impact you if you do enable the
32bits support but the impact depend on the arch you use I've seen different
impact on arm and sh
but on the board I've test less than 300 bytes for dual support
with dual support
... configured to boot from Nand Flash
Configuring for nhk8815 board...
text data bss dec hex filename
189330 8132 24984 222446 364ee u-boot
with 32bit only
... configured to boot from Nand Flash
Configuring for nhk8815 board...
text data bss dec hex filename
189082 8132 24984 222198 363f6 u-boot
with non 32bit
... configured to boot from Nand Flash
Configuring for nhk8815 board...
text data bss dec hex filename
189050 8132 24984 222166 363d6 u-boot
>
> > -#undef USE_32_BIT
> > +#define is_use_32bit(x) (0)
> > #endif
>
>
> ...
> > -static inline word SMC_inw(dword offset)
> > +static inline word SMC_io_inw(struct smc91111_device *smc, dword offset)
> > {
> > word v;
> > - v = *((volatile word*)(SMC_BASE_ADDRESS+offset));
> > + v = *((volatile word*)(smc->regs+offset));
> > barrier(); *(volatile u32*)(0xc0000000);
> > return v;
> > }
> >
> > -static inline void SMC_outw(word value, dword offset)
> > +static inline void SMC_io_outw(struct smc91111_device *smc, word value,
> > + dword offset)
> > {
> > - *((volatile word*)(SMC_BASE_ADDRESS+offset)) = value;
> > + *((volatile word*)(smc->regs+offset)) = value;
> > barrier(); *(volatile u32*)(0xc0000000);
> > }
>
> Please use proper I/O accessor functions here.
this will be for an other patch I do not want to mix Net multi api update and I/O cleanup
>
> > -static int smc_close()
> > +static void smc_halt(struct eth_device *netdev)
> > {
> > + struct smc91111_device *smc = to_smc91111(netdev);
> > PRINTK2("%s: smc_close\n", SMC_DEV_NAME);
>
> You should also adapt the debug messages to the changed function
> names.
>
> > +#ifdef CONFIG_SMC_USE_32_BIT
> > +#define USE_32BIT 1
> > +#else
> > +#define USE_32BIT 0
> > +#endif
>
> Above you get rid of the USE_32BIT stuff; here you re-introduce it.
> Why?
yes it's different here it's to declare that you want to activate the 32bit for the default
driver init
> > include/configs/ADNPESC1.h | 1 +
> > include/configs/DK1C20.h | 1 +
> > include/configs/DK1S10.h | 1 +
> > include/configs/EP1C20.h | 1 +
> > include/configs/EP1S10.h | 1 +
> > include/configs/EP1S40.h | 1 +
> > include/configs/MigoR.h | 1 +
> > include/configs/PK1C20.h | 1 +
> > include/configs/bf533-ezkit.h | 1 +
> > include/configs/bf533-stamp.h | 1 +
> > include/configs/bf538f-ezkit.h | 1 +
> > include/configs/bf561-ezkit.h | 1 +
> > include/configs/blackstamp.h | 1 +
> > include/configs/cerf250.h | 1 +
> > include/configs/cm-bf533.h | 1 +
> > include/configs/cm-bf561.h | 1 +
> > include/configs/cradle.h | 1 +
> > include/configs/delta.h | 1 +
> > include/configs/dnp1110.h | 1 +
> > include/configs/gr_cpci_ax2000.h | 1 +
> > include/configs/gr_ep2s60.h | 1 +
> > include/configs/innokom.h | 1 +
> > include/configs/integratorcp.h | 1 +
> > include/configs/logodl.h | 1 +
> > include/configs/lpd7a400-10.h | 1 +
> > include/configs/lpd7a404-10.h | 1 +
> > include/configs/ms7722se.h | 1 +
> > include/configs/netstar.h | 1 +
> > include/configs/nhk8815.h | 1 +
> > include/configs/pxa255_idp.h | 1 +
> > include/configs/versatile.h | 1 +
> > include/configs/voiceblue.h | 1 +
> > include/configs/xaeniax.h | 1 +
> > include/configs/xm250.h | 1 +
> > include/configs/xsengine.h | 1 +
> > include/configs/zylonite.h | 1 +
>
> This is a pretty long list of boards which is affected. How many of
> these have actuaaly been tested with this patch, and which ones, and
> to what extent?
none will be impact as the share the same init and I've not modify any config
just active the multi support
and the code is tested on custom boards (4 differents) + nhk8815
and compile on arm & sh
Best Regards,
J.
More information about the U-Boot
mailing list