* [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
@ 2016-11-16 6:26 yanjiang.jin
2016-11-16 10:08 ` Borislav Petkov
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: yanjiang.jin @ 2016-11-16 6:26 UTC (permalink / raw)
To: morbidrsa, bp, mchehab, york.sun, scottwood
Cc: linux-edac, linux-kernel, jinyanjing, yanjiang.jin
From: Yanjiang Jin <yanjiang.jin@windriver.com>
Tested on a T4240QDS board.
If we execute the below steps without this patch:
1. modprobe mpc85xx_edac [The first insmod, everything is well.]
2. modprobe -r mpc85xx_edac
3. modprobe mpc85xx_edac [insmod again, error happens.]
We would get the below error:
BUG: recent printk recursion!
Oops: Kernel access of bad area, sig: 11 [#48]
PREEMPT SMP NR_CPUS=24 CoreNet Generic
Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
task: c0000005cdc40d40 task.stack: c0000005c8814000
NIP: c0000000005c5b60 LR: c0000000005c895c CTR: c0000000005c8940
REGS: c0000005c8816e20 TRAP: 0300 Tainted: G D C (4.8.3-rt2-WR9.0.0.0_preempt-rt)
MSR: 0000000080029000 <CE,EE,ME> CR: 28222828 XER: 20000000
DEAR: 80000000005392d8 ESR: 0000000000000100 SOFTE: 0
GPR00: c0000000005c8844 c0000005c88170a0 c0000000011db400 c000000001220496
GPR04: c000000001220838 c000000001220838 04ffffff000affff 80000000005392d8
GPR08: c0000000005cb400 c0000000005c8940 fffffffffffffffe 80000000004c9108
GPR12: c000000000bdad80 c00000003fff7300 000000000000fff1 c000000000d1c7f0
GPR16: 0000000000000001 000000000000003f c0000005c8817c20 c000000000bed4e0
GPR20: 0000000000000000 c0000000011fdaa0 0000000000000002 80000000004ccafe
GPR24: c0000005c8817390 0000000000000025 c000000001220458 0000000000000020
GPR28: 00000000000003e0 c000000001220838 80000000004ccafe c000000001220496
NIP [c0000000005c5b60] .string+0x20/0xa0
LR [c0000000005c895c] .vsnprintf+0x1ac/0x490
Call Trace:
[c0000005c88170a0] [c0000000005c8844] .vsnprintf+0x94/0x490 (unreliable)
[c0000005c8817170] [c0000000005c8c58] .vscnprintf+0x18/0x70
[c0000005c88171f0] [c0000000000d5920] .vprintk_emit+0x120/0x600
[c0000005c88172c0] [c000000000bdae44] .printk+0xc4/0xe0
[c0000005c8817340] [80000000004c6f5c] .edac_pci_add_device+0x2fc/0x350 [edac_core]
[c0000005c88173e0] [8000000000759d64] .mpc85xx_pci_err_probe+0x344/0x550 [mpc85xx_edac]
[c0000005c88174c0] [c0000000006952b4] .platform_drv_probe+0x84/0x120
[c0000005c8817550] [c000000000692294] .driver_probe_device+0x2f4/0x3d0
[c0000005c88175f0] [c00000000069248c] .__driver_attach+0x11c/0x120
[c0000005c8817680] [c00000000068f034] .bus_for_each_dev+0x94/0x100
[c0000005c8817720] [c000000000691624] .driver_attach+0x34/0x50
[c0000005c88177a0] [c000000000690e88] .bus_add_driver+0x1b8/0x310
[c0000005c8817840] [c000000000693404] .driver_register+0x94/0x170
[c0000005c88178c0] [c0000000006954b0] .__platform_register_drivers+0xa0/0x150
[c0000005c8817980] [800000000075b51c] .mpc85xx_mc_init+0x60/0xd0 [mpc85xx_edac]
[c0000005c8817a00] [c000000000001a68] .do_one_initcall+0x68/0x1e0
[c0000005c8817ae0] [c000000000bdb2e8] .do_init_module+0x88/0x24c
[c0000005c8817b80] [c00000000011961c] .load_module+0x1e3c/0x2840
[c0000005c8817d20] [c00000000011a320] .SyS_finit_module+0x100/0x130
[c0000005c8817e30] [c000000000000698] system_call+0x38/0xe8
Instruction dump:
4ba71abd 60000000 7ffff214 4bffff20 2ba50fff 7ca72b78 7cca0734 7c852378
40dd0030 2faa0000 394affff 41de0014 <89070000> 38e70001 2fa80000 40fe002c
---[ end trace 0000000000000031 ]---
Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
---
drivers/edac/mpc85xx_edac.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
index ff05675..c626021 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -300,6 +300,22 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
return res;
}
+static int mpc85xx_pci_err_remove(struct platform_device *op)
+{
+ struct edac_pci_ctl_info *pci = dev_get_drvdata(&op->dev);
+ struct mpc85xx_pci_pdata *pdata = pci->pvt_info;
+
+ edac_dbg(0, "\n");
+
+ out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR, orig_pci_err_cap_dr);
+ out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN, orig_pci_err_en);
+
+ edac_pci_del_device(&op->dev);
+ edac_pci_free_ctl_info(pci);
+
+ return 0;
+}
+
static const struct platform_device_id mpc85xx_pci_err_match[] = {
{
.name = "mpc85xx-pci-edac"
@@ -309,6 +325,7 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
static struct platform_driver mpc85xx_pci_err_driver = {
.probe = mpc85xx_pci_err_probe,
+ .remove = mpc85xx_pci_err_remove,
.id_table = mpc85xx_pci_err_match,
.driver = {
.name = "mpc85xx_pci_err",
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
2016-11-16 6:26 [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver yanjiang.jin
@ 2016-11-16 10:08 ` Borislav Petkov
2016-11-16 16:55 ` york sun
2016-11-17 10:00 ` Johannes Thumshirn
2 siblings, 0 replies; 6+ messages in thread
From: Borislav Petkov @ 2016-11-16 10:08 UTC (permalink / raw)
To: yanjiang.jin
Cc: morbidrsa, mchehab, york.sun, scottwood, linux-edac,
linux-kernel, jinyanjing
On Wed, Nov 16, 2016 at 02:26:14PM +0800, yanjiang.jin@windriver.com wrote:
> From: Yanjiang Jin <yanjiang.jin@windriver.com>
>
> Tested on a T4240QDS board.
>
> If we execute the below steps without this patch:
>
> 1. modprobe mpc85xx_edac [The first insmod, everything is well.]
> 2. modprobe -r mpc85xx_edac
> 3. modprobe mpc85xx_edac [insmod again, error happens.]
>
> We would get the below error:
Looks ok to me, I'd let the people who are more knowledgeable of
mpc85xx_edac chime in here...
> BUG: recent printk recursion!
> Oops: Kernel access of bad area, sig: 11 [#48]
> PREEMPT SMP NR_CPUS=24 CoreNet Generic
> Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
> CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
> task: c0000005cdc40d40 task.stack: c0000005c8814000
> NIP: c0000000005c5b60 LR: c0000000005c895c CTR: c0000000005c8940
> REGS: c0000005c8816e20 TRAP: 0300 Tainted: G D C (4.8.3-rt2-WR9.0.0.0_preempt-rt)
> MSR: 0000000080029000 <CE,EE,ME> CR: 28222828 XER: 20000000
> DEAR: 80000000005392d8 ESR: 0000000000000100 SOFTE: 0
> GPR00: c0000000005c8844 c0000005c88170a0 c0000000011db400 c000000001220496
> GPR04: c000000001220838 c000000001220838 04ffffff000affff 80000000005392d8
> GPR08: c0000000005cb400 c0000000005c8940 fffffffffffffffe 80000000004c9108
> GPR12: c000000000bdad80 c00000003fff7300 000000000000fff1 c000000000d1c7f0
> GPR16: 0000000000000001 000000000000003f c0000005c8817c20 c000000000bed4e0
> GPR20: 0000000000000000 c0000000011fdaa0 0000000000000002 80000000004ccafe
> GPR24: c0000005c8817390 0000000000000025 c000000001220458 0000000000000020
> GPR28: 00000000000003e0 c000000001220838 80000000004ccafe c000000001220496
> NIP [c0000000005c5b60] .string+0x20/0xa0
> LR [c0000000005c895c] .vsnprintf+0x1ac/0x490
> Call Trace:
> [c0000005c88170a0] [c0000000005c8844] .vsnprintf+0x94/0x490 (unreliable)
> [c0000005c8817170] [c0000000005c8c58] .vscnprintf+0x18/0x70
> [c0000005c88171f0] [c0000000000d5920] .vprintk_emit+0x120/0x600
> [c0000005c88172c0] [c000000000bdae44] .printk+0xc4/0xe0
> [c0000005c8817340] [80000000004c6f5c] .edac_pci_add_device+0x2fc/0x350 [edac_core]
> [c0000005c88173e0] [8000000000759d64] .mpc85xx_pci_err_probe+0x344/0x550 [mpc85xx_edac]
> [c0000005c88174c0] [c0000000006952b4] .platform_drv_probe+0x84/0x120
> [c0000005c8817550] [c000000000692294] .driver_probe_device+0x2f4/0x3d0
> [c0000005c88175f0] [c00000000069248c] .__driver_attach+0x11c/0x120
> [c0000005c8817680] [c00000000068f034] .bus_for_each_dev+0x94/0x100
> [c0000005c8817720] [c000000000691624] .driver_attach+0x34/0x50
> [c0000005c88177a0] [c000000000690e88] .bus_add_driver+0x1b8/0x310
> [c0000005c8817840] [c000000000693404] .driver_register+0x94/0x170
> [c0000005c88178c0] [c0000000006954b0] .__platform_register_drivers+0xa0/0x150
> [c0000005c8817980] [800000000075b51c] .mpc85xx_mc_init+0x60/0xd0 [mpc85xx_edac]
> [c0000005c8817a00] [c000000000001a68] .do_one_initcall+0x68/0x1e0
> [c0000005c8817ae0] [c000000000bdb2e8] .do_init_module+0x88/0x24c
> [c0000005c8817b80] [c00000000011961c] .load_module+0x1e3c/0x2840
> [c0000005c8817d20] [c00000000011a320] .SyS_finit_module+0x100/0x130
> [c0000005c8817e30] [c000000000000698] system_call+0x38/0xe8
> Instruction dump:
> 4ba71abd 60000000 7ffff214 4bffff20 2ba50fff 7ca72b78 7cca0734 7c852378
> 40dd0030 2faa0000 394affff 41de0014 <89070000> 38e70001 2fa80000 40fe002c
> ---[ end trace 0000000000000031 ]---
... but please send a v2 without all those hex addresses and offsets as
they're completely meaningless outside of your kernel. I.e., something like:
Call Trace:
.vsnprintf
.vscnprintf
.vprintk_emit
.printk
...
is much more readable. The registers above are not really useful too.
I think you should leave only the gist of the oops so that it is
recognizable by others.
Thanks.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
2016-11-16 6:26 [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver yanjiang.jin
2016-11-16 10:08 ` Borislav Petkov
@ 2016-11-16 16:55 ` york sun
2016-11-17 10:00 ` Johannes Thumshirn
2 siblings, 0 replies; 6+ messages in thread
From: york sun @ 2016-11-16 16:55 UTC (permalink / raw)
To: yanjiang.jin, morbidrsa, bp, mchehab, scottwood
Cc: linux-edac, linux-kernel, jinyanjing
On 11/15/2016 10:26 PM, yanjiang.jin@windriver.com wrote:
> From: Yanjiang Jin <yanjiang.jin@windriver.com>
>
> Tested on a T4240QDS board.
>
> If we execute the below steps without this patch:
>
> 1. modprobe mpc85xx_edac [The first insmod, everything is well.]
> 2. modprobe -r mpc85xx_edac
> 3. modprobe mpc85xx_edac [insmod again, error happens.]
>
Glad you take care of it. I worked on the memory part and noticed this
issue, but it seems not get much attention when I brought it up.
York
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
2016-11-16 6:26 [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver yanjiang.jin
2016-11-16 10:08 ` Borislav Petkov
2016-11-16 16:55 ` york sun
@ 2016-11-17 10:00 ` Johannes Thumshirn
2 siblings, 0 replies; 6+ messages in thread
From: Johannes Thumshirn @ 2016-11-17 10:00 UTC (permalink / raw)
To: yanjiang.jin
Cc: morbidrsa, bp, mchehab, york.sun, scottwood, linux-edac,
linux-kernel, jinyanjing
On Wed, Nov 16, 2016 at 02:26:14PM +0800, yanjiang.jin@windriver.com wrote:
> From: Yanjiang Jin <yanjiang.jin@windriver.com>
>
> Tested on a T4240QDS board.
>
> If we execute the below steps without this patch:
>
> 1. modprobe mpc85xx_edac [The first insmod, everything is well.]
> 2. modprobe -r mpc85xx_edac
> 3. modprobe mpc85xx_edac [insmod again, error happens.]
>
> We would get the below error:
>
> BUG: recent printk recursion!
> Oops: Kernel access of bad area, sig: 11 [#48]
> PREEMPT SMP NR_CPUS=24 CoreNet Generic
> Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
> CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
> task: c0000005cdc40d40 task.stack: c0000005c8814000
> NIP: c0000000005c5b60 LR: c0000000005c895c CTR: c0000000005c8940
> REGS: c0000005c8816e20 TRAP: 0300 Tainted: G D C (4.8.3-rt2-WR9.0.0.0_preempt-rt)
> MSR: 0000000080029000 <CE,EE,ME> CR: 28222828 XER: 20000000
> DEAR: 80000000005392d8 ESR: 0000000000000100 SOFTE: 0
> GPR00: c0000000005c8844 c0000005c88170a0 c0000000011db400 c000000001220496
> GPR04: c000000001220838 c000000001220838 04ffffff000affff 80000000005392d8
> GPR08: c0000000005cb400 c0000000005c8940 fffffffffffffffe 80000000004c9108
> GPR12: c000000000bdad80 c00000003fff7300 000000000000fff1 c000000000d1c7f0
> GPR16: 0000000000000001 000000000000003f c0000005c8817c20 c000000000bed4e0
> GPR20: 0000000000000000 c0000000011fdaa0 0000000000000002 80000000004ccafe
> GPR24: c0000005c8817390 0000000000000025 c000000001220458 0000000000000020
> GPR28: 00000000000003e0 c000000001220838 80000000004ccafe c000000001220496
> NIP [c0000000005c5b60] .string+0x20/0xa0
> LR [c0000000005c895c] .vsnprintf+0x1ac/0x490
> Call Trace:
> [c0000005c88170a0] [c0000000005c8844] .vsnprintf+0x94/0x490 (unreliable)
> [c0000005c8817170] [c0000000005c8c58] .vscnprintf+0x18/0x70
> [c0000005c88171f0] [c0000000000d5920] .vprintk_emit+0x120/0x600
> [c0000005c88172c0] [c000000000bdae44] .printk+0xc4/0xe0
> [c0000005c8817340] [80000000004c6f5c] .edac_pci_add_device+0x2fc/0x350 [edac_core]
> [c0000005c88173e0] [8000000000759d64] .mpc85xx_pci_err_probe+0x344/0x550 [mpc85xx_edac]
> [c0000005c88174c0] [c0000000006952b4] .platform_drv_probe+0x84/0x120
> [c0000005c8817550] [c000000000692294] .driver_probe_device+0x2f4/0x3d0
> [c0000005c88175f0] [c00000000069248c] .__driver_attach+0x11c/0x120
> [c0000005c8817680] [c00000000068f034] .bus_for_each_dev+0x94/0x100
> [c0000005c8817720] [c000000000691624] .driver_attach+0x34/0x50
> [c0000005c88177a0] [c000000000690e88] .bus_add_driver+0x1b8/0x310
> [c0000005c8817840] [c000000000693404] .driver_register+0x94/0x170
> [c0000005c88178c0] [c0000000006954b0] .__platform_register_drivers+0xa0/0x150
> [c0000005c8817980] [800000000075b51c] .mpc85xx_mc_init+0x60/0xd0 [mpc85xx_edac]
> [c0000005c8817a00] [c000000000001a68] .do_one_initcall+0x68/0x1e0
> [c0000005c8817ae0] [c000000000bdb2e8] .do_init_module+0x88/0x24c
> [c0000005c8817b80] [c00000000011961c] .load_module+0x1e3c/0x2840
> [c0000005c8817d20] [c00000000011a320] .SyS_finit_module+0x100/0x130
> [c0000005c8817e30] [c000000000000698] system_call+0x38/0xe8
> Instruction dump:
> 4ba71abd 60000000 7ffff214 4bffff20 2ba50fff 7ca72b78 7cca0734 7c852378
> 40dd0030 2faa0000 394affff 41de0014 <89070000> 38e70001 2fa80000 40fe002c
> ---[ end trace 0000000000000031 ]---
>
> Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
> ---
Looks good,
Acked-by: Johannes Thumshirn <jthumshirn@suse.de>
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
2016-11-17 2:56 ` [PATCH] " yanjiang.jin
@ 2016-11-17 10:22 ` Borislav Petkov
0 siblings, 0 replies; 6+ messages in thread
From: Borislav Petkov @ 2016-11-17 10:22 UTC (permalink / raw)
To: yanjiang.jin
Cc: morbidrsa, mchehab, york.sun, linux-edac, linux-kernel, jinyanjing
On Thu, Nov 17, 2016 at 10:56:20AM +0800, yanjiang.jin@windriver.com wrote:
> From: Yanjiang Jin <yanjiang.jin@windriver.com>
>
> Tested on a T4240QDS board.
>
> If we execute the below steps without this patch:
>
> 1. modprobe mpc85xx_edac [The first insmod, everything is well.]
> 2. modprobe -r mpc85xx_edac
> 3. modprobe mpc85xx_edac [insmod again, error happens.]
>
> We would get the error messages as below:
>
> BUG: recent printk recursion!
> Oops: Kernel access of bad area, sig: 11 [#48]
> Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
> CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
>
> .vsnprintf
> .vscnprintf
> .vprintk_emit
> .printk
> .edac_pci_add_device
> .mpc85xx_pci_err_probe
> .platform_drv_probe
> .driver_probe_device
> .__driver_attach
> .bus_for_each_dev
> .driver_attach
> .bus_add_driver
> .driver_register
> .__platform_register_drivers
> .mpc85xx_mc_init
> .do_one_initcall
> .do_init_module
> .load_module
> .SyS_finit_module
> system_call
>
> Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
> ---
> drivers/edac/mpc85xx_edac.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
Applied, thanks.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver
2016-11-17 2:56 [V2 PATCH] " yanjiang.jin
@ 2016-11-17 2:56 ` yanjiang.jin
2016-11-17 10:22 ` Borislav Petkov
0 siblings, 1 reply; 6+ messages in thread
From: yanjiang.jin @ 2016-11-17 2:56 UTC (permalink / raw)
To: morbidrsa, bp, mchehab, york.sun
Cc: linux-edac, linux-kernel, jinyanjing, yanjiang.jin
From: Yanjiang Jin <yanjiang.jin@windriver.com>
Tested on a T4240QDS board.
If we execute the below steps without this patch:
1. modprobe mpc85xx_edac [The first insmod, everything is well.]
2. modprobe -r mpc85xx_edac
3. modprobe mpc85xx_edac [insmod again, error happens.]
We would get the error messages as below:
BUG: recent printk recursion!
Oops: Kernel access of bad area, sig: 11 [#48]
Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
.vsnprintf
.vscnprintf
.vprintk_emit
.printk
.edac_pci_add_device
.mpc85xx_pci_err_probe
.platform_drv_probe
.driver_probe_device
.__driver_attach
.bus_for_each_dev
.driver_attach
.bus_add_driver
.driver_register
.__platform_register_drivers
.mpc85xx_mc_init
.do_one_initcall
.do_init_module
.load_module
.SyS_finit_module
system_call
Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
---
drivers/edac/mpc85xx_edac.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
index ff05675..c626021 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -300,6 +300,22 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
return res;
}
+static int mpc85xx_pci_err_remove(struct platform_device *op)
+{
+ struct edac_pci_ctl_info *pci = dev_get_drvdata(&op->dev);
+ struct mpc85xx_pci_pdata *pdata = pci->pvt_info;
+
+ edac_dbg(0, "\n");
+
+ out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_ADDR, orig_pci_err_cap_dr);
+ out_be32(pdata->pci_vbase + MPC85XX_PCI_ERR_EN, orig_pci_err_en);
+
+ edac_pci_del_device(&op->dev);
+ edac_pci_free_ctl_info(pci);
+
+ return 0;
+}
+
static const struct platform_device_id mpc85xx_pci_err_match[] = {
{
.name = "mpc85xx-pci-edac"
@@ -309,6 +325,7 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
static struct platform_driver mpc85xx_pci_err_driver = {
.probe = mpc85xx_pci_err_probe,
+ .remove = mpc85xx_pci_err_remove,
.id_table = mpc85xx_pci_err_match,
.driver = {
.name = "mpc85xx_pci_err",
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-11-17 10:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-16 6:26 [PATCH] edac: mpc85xx: implement "remove" for mpc85xx_pci_err_driver yanjiang.jin
2016-11-16 10:08 ` Borislav Petkov
2016-11-16 16:55 ` york sun
2016-11-17 10:00 ` Johannes Thumshirn
2016-11-17 2:56 [V2 PATCH] " yanjiang.jin
2016-11-17 2:56 ` [PATCH] " yanjiang.jin
2016-11-17 10:22 ` Borislav Petkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).