Hi Yan,
> That's a really good idea. The thing that bothered me the most is
> that some memory locations were pointers and some were unsigned long
> (for the PEEK/POKE stuff). So, being more familiar with pointers, I
> tried to convert everything to pointers.
>
> Maybe I need to remember the goal.... To simplify the code and make
> it maintainable, not to make everything a pointer....
And sometimes you have to use the 'when in Rome' method;
write your code (platform-specific hacks included) to look
like other similar code. Hence the suggestion to use a name
that looks similar to the 'standard' kernel function used
for that same purpose ... except that a hack was required ;)
> Heck, I think I'll rewrite the PEEK/POKE stuff to use a ((void
> *)memloc, uint16_t offset, uintXX_t value). That would make things
> much cleaner.
You could, but then when you decide to use your code on say
a TS-7800 or whatever the next generation FPGA board is,
perhaps they get the bus interface 'right' and the fpga_out_le32()
functions can be the standard out_le32().
So rather than introducing another API function, use the
standard one. You may not agree with it, but in the long
run, once the code works, you don't really care that you
thought of a better idea for one piece of code. If your
driver was accepted into some kernel distro, there's a good
chance the next guy will just patch it to look more
kernel-like.
Cheers,
Dave
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|