Building driver for Silicon Labs CP2200 Ethernet chip
Chris Johns
chrisj at rtems.org
Wed Apr 30 10:06:43 UTC 2008
Arnout Vandecappelle wrote:
> Chris Johns wrote:
>> Many thanks for this driver. I have a couple of questions, one of
>> which is more generic than specific to this driver.
>>
>> When does a user need to use CP220X_DO_SHUTDOWN ? I cannot see any
>> documentation about this define.
> Oops, indeed I forgot to document that.
>
> The board I was using had a hardware bug, due to which it was unable to
> issue a reset of the CP2200 chip. Therefore, once the chip was shut
> down it was impossible to start it again. I therefore had to remove the
> shutdown from the driver.
>
> Probably a better option would be to record this in the driver
> configuration, so it can be set from the BSP or from the application...
> However, I discovered this problem only at the last minute, so I didn't
> implement it that way.
>
> Actually, perhaps it's best to simply remove the #ifdefs: on any
> working board, they shouldn't be needed and shutdown should always be
> used. Of course, I never tested that code...
>
Is the shutdown needed ?
Can the device be reinitialised with the driver if it needs to be ?
If do I would leave the the defines and add a comment at the top to
>> I see the driver has printf and being based on the cs8900 I am the
>> source of this. Should we have these driver use printf or should they
>> use printk now it exists ?
>
> I'm not sure what exactly the difference is between printf and printk,
> except that printk can be called from interrupt context. Since none of
> the prints are from interrupt context, and since with printk my terminal
> tended to drop newlines, I went for printf... I'm sure these are not
> good reasons :-)
>
I used printf because printk did not exist then. The reason is to support a
tiny RTEMS for small memory targets. On targets that support printf the printk
call should map to stdout.
Regards
Chris
More information about the users
mailing list