Hi all,

I've been trying to get "xsysace" driver working properly on ARC 
architecture.
And I was able to get it built and running, but it required me to do 2 
changes - please refer to description below. Now I'd like to get this 
driver working for me righ from upstream sources and this is where my 
questions appear.

While in general I believe any device driver should be easily build and 
then used on virtually any architecture I faced 2 issues with "xsysace":

1. It uses PPC/Microblaze specific accessors "{in|out}_{le|be}16".
I sent a patch to this mailing list which replaces these custom 
accessors with common "ioread16{|be}" but a long discussion silently 
ended up with nothing (at least for proposed patch).
Patch and discussion is available here: 
https://patchwork.kernel.org/patch/2062701/

2. Inverted logic in "ace_data{in|out}_{be|le}16".
For example in "ace_dataout_le16" "out_be16" accessor is used which 
simply doesn't work for ARC. We need to have "le" accessor in "le" 
function and vice versa. Implementation of "be" ARC accessor with 
inverted logic doesn't help. Because "ace_{in|out}_{be|le}16" uses plain 
logic.

So I'm wondering what is a best way for me to proceed?

For (1) we may implement custom "{in|out}_{le|be}16" accessors, but is 
it a good way to go?
For (2) I may expect that plain change of used accessor from "le" to 
"be" will break "xsysace" on PPC/Micropblaze.

I would like to get some suggestions/proposals from all interested parties.

Regards,
Alexey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to