Device tree is definitely the way to go. Same for column start, window height and window width. You're right, locks have to always be documented, either inline or in a comment block above the structure. I disagree with you on that :- I find code sequences that return as soon as. Can you make a define at the beginning of the file?
Please don't modify the rectangle here. It must not modify any parameter. Their size can't change though. The mt9v driver doesn't support that, I need to fix it to provide a hopefully clean example of how to implement his. You should also not return an error when the code is invalid. Do you really need to make a copy of the requested format and work on it here? If width and height match, the other fields won't be copied back to userspace. Why don't you pass it the mt9p pointer instead of the client pointer, and have it access the rectangle, xskip and yskip members directly?
Where does the 50ms value come from? It sounds quite long to me. It's called for each open. Please see the mt9v driver. According to the datasheet, the Row Start and Column Start default values are 54 and You should use them instead of 0 and add define's for them at the beginning of the file.
The driver can be used with boards where either or both of the 1. I'm not sure how that's usually handled, if board code should define an "always-on" power supply, or if the driver shouldn't fail when no regulator is present.
In any case, this must be handled. Why do you leave core power on at the end of probe? You should only turn it on when needed. To follow up on my previous answer on this, I agree that the return value should be propagated instead of replacing it with -EIO. Well, this is done already, you need to follow Tony's linux-next branch So, just changing this patch would do Also, good practice is to base patches on maintainer's appropriate branch, so it would be easier to apply.
I understand. How is that done BTW? It doesn't declare an "always-on" regulator. You need to cache registers anyway, as the chip will be reset to default values by the core power cycling. This needs to be done to save power. Power handling is an important feature.
I don't think the driver is ready without it. Sorry, but I'd like to see power management properly implemented before the driver hits mainline. If that happens I will send my current patches to the community and someone else will have to complete the job. I've tried to do this but I don't know what is failing that there are some artifacts consisting on horizontal black lines in the image. Please, let me push this to mainline without this feature as a first step, since I'll have to spend some assigned to another project.
It would be great if you allowed me to push this as it is as an intermediate step. Just as I said, because restarting registers does not work yet. Please, double check. Software 2. Package Drawings 1. Application Notes 3. Videos 1. Reference Manuals 1. FAQ 1. Data Sheets 1. Buy Direct From. Buy from Authorized Distributors.
It appears to be old code that was not cleaned up. That makes sense. Perhaps I'm failing to understand how this is supposed to work, so let me go through the flow:. So, am I correct in my assumption that the VD interrupt fires once per frame and not after every row?
If VD fired after every row, it would explain why I get two rows instead of a full frame. It's really not clear from the specification how this is feature operates. Site Search User. Processors Processors forum. Mentions Tags More Cancel. Ask a related question What is a related question? A related question is a question created from another question.
When the related question is created, it will be automatically linked to the original question. Ask a new question Ask a new question Cancel. Tags More Cancel. Share More Cancel. Similar topics. This thread has been locked. Intellectual points.
0コメント