[Meego-kernel] [PATCH] i2c-intel-mid: Do not use a name which including slash character when calling request_irq()

Major_Lee at wistron.com Major_Lee at wistron.com
Mon Nov 29 00:27:00 PST 2010


There is a warning message as the following.
In __xlate_proc_name(), slash character is used for subdirectory.
Do not use a name which including slash character when calling
request_irq().
Original idea is from i2c-pca-platform.c.

[    4.502961] WARNING: at fs/proc/generic.c:323
__xlate_proc_name+0xbc/0xd0()
[    4.514756] name 'MRST/Medfield I2C at ff12a000'
[    4.522561] Modules linked in:
[    4.527657] Pid: 1, comm: swapper Not tainted 2.6.37-rc2 #1
[    4.537177] Call Trace:
[    4.541320]  [<c012e1b8>] ? warn_slowpath_common+0x78/0xb0
[    4.550621]  [<c01dbfdc>] ? __xlate_proc_name+0xbc/0xd0
[    4.559471]  [<c01dbfdc>] ? __xlate_proc_name+0xbc/0xd0
[    4.568324]  [<c012e283>] ? warn_slowpath_fmt+0x33/0x40
[    4.577179]  [<c01dbfdc>] ? __xlate_proc_name+0xbc/0xd0
[    4.586034]  [<c01dc536>] ? __proc_create+0x66/0x110
[    4.594443]  [<c01dce22>] ? proc_mkdir_mode+0x22/0x50
[    4.603000]  [<c0161d19>] ? register_handler_proc+0xe9/0x110
[    4.612601]  [<c015f764>] ? __setup_irq+0x194/0x2d0
[    4.620867]  [<c023234d>] ? vsnprintf+0xbd/0x420
[    4.628682]  [<c02df220>] ? intel_mid_i2c_isr+0x0/0x250
[    4.637532]  [<c015f960>] ? request_threaded_irq+0xc0/0x120
[    4.646980]  [<c0372935>] ? intel_mid_i2c_probe+0x287/0x30f
[    4.656421]  [<c024386b>] ? local_pci_probe+0xb/0x10
[    4.664840]  [<c0243aa1>] ? pci_device_probe+0x61/0x80
[    4.673537]  [<c0293da5>] ? driver_probe_device+0x65/0x170
[    4.682845]  [<c0243980>] ? pci_match_device+0xa0/0xc0
[    4.691538]  [<c0293f29>] ? __driver_attach+0x79/0x80
[    4.700095]  [<c0293eb0>] ? __driver_attach+0x0/0x80
[    4.708505]  [<c0293692>] ? bus_for_each_dev+0x52/0x80
[    4.717213]  [<c0293c46>] ? driver_attach+0x16/0x20
[    4.725474]  [<c0293eb0>] ? __driver_attach+0x0/0x80
[    4.733886]  [<c0293097>] ? bus_add_driver+0x177/0x230
[    4.742599]  [<c02439e0>] ? pci_device_remove+0x0/0x40
[    4.751300]  [<c02941b3>] ? driver_register+0x63/0x120
[    4.760006]  [<c0243ccd>] ? __pci_register_driver+0x3d/0xb0
[    4.769455]  [<c0101042>] ? do_one_initcall+0x32/0x160
[    4.778159]  [<c0475844>] ? intel_mid_i2c_init+0x0/0x11
[    4.787013]  [<c0455364>] ? kernel_init+0x110/0x1aa
[    4.795274]  [<c0455254>] ? kernel_init+0x0/0x1aa
[    4.803241]  [<c01030f6>] ? kernel_thread_helper+0x6/0x10

Signed-off-by: Major Lee <major_lee at wistron.com>
---
 i2c-intel-mid.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff -uprN a/drivers/i2c/busses/i2c-intel-mid.c
b/drivers/i2c/busses/i2c-intel-mid.c
--- a/drivers/i2c/busses/i2c-intel-mid.c	2010-11-26
18:10:06.000000000 +0800
+++ b/drivers/i2c/busses/i2c-intel-mid.c	2010-11-29
15:06:23.878151000 +0800
@@ -1034,8 +1034,6 @@ static int __devinit intel_mid_i2c_probe
 	}
 
 	/* Initialize struct members */
-	snprintf(mrst->adap.name, sizeof(mrst->adap.name),
-		"MRST/Medfield I2C at %lx", start);
 	mrst->adap.owner = THIS_MODULE;
 	mrst->adap.algo = &intel_mid_i2c_algorithm;
 	mrst->adap.dev.parent = &dev->dev;
@@ -1050,10 +1048,15 @@ static int __devinit intel_mid_i2c_probe
 	i2c_set_adapdata(&mrst->adap, mrst);
 
 	mrst->adap.nr = busnum = id->driver_data;
-	if (dev->device <= 0x0804)
+	if (dev->device <= 0x0804) {
 		mrst->platform = MOORESTOWN;
-	else
+		snprintf(mrst->adap.name, sizeof(mrst->adap.name),
+			"Moorestown I2C at %lx", start);
+	} else {
 		mrst->platform = MEDFIELD;
+		snprintf(mrst->adap.name, sizeof(mrst->adap.name),
+			"Medfield I2C at %lx", start);
+	}
 
 	dev_dbg(&dev->dev, "I2C%d\n", busnum);
 
---


More information about the MeeGo-kernel mailing list