Hi Dmitry,
On Sat, Jan 25, 2014 at 11:01:54AM -0800, Raghu Gandham wrote:
quoted
The standard IO regions are already reserved by the platform code on
most MIPS devices(malta, cobalt, sni). The Commit
197a1e96c8be5b6005145af3a4c0e45e2d651444
("Input: i8042-io - fix up region handling on MIPS") introduced a bug
on these MIPS platforms causing i8042 driver to fail when trying to reserve
IO ports.
quoted
Prior to the above mentioned commit request_region is skipped on MIPS
but release_region is called.
This patch reverts commit 197a1e96c8be5b6005145af3a4c0e45e2d651444
and
quoted
also avoids calling release_region for MIPS.
The problem is that IO regions are reserved on _most_, but not _all_ devices.
MIPS should figure out what they want to do with i8042 registers and be
consistent on all devices.
Please examine the attached patch which went upstream in April of 2004. Since then
it had been a convention not to call request_region routine in i8042 for MIPS. The
attached patch had a glitch that it guarded request_region in i8042-io.h but skipped
guarding release_region in i8042-io.h. I believe that the issue Aaro saw was due to this
glitch. Below is the error quoted in Aaro's commit message.
[ 2.112000] Trying to free nonexistent resource <0000000000000060-000000000000006f>
My patch reinstates the convention followed on MIPS devices along with fixing Aaro's issue.
Thanks,
Raghu