1a77b127ae (OMAP : SPI : use devm_* functions) converted the SPI
device controller state to use devm_kzalloc(). Unfortunately, this
is used against an unbound struct device, which results in the
following when the device is bound to its driver:
------------[ cut here ]------------
WARNING: at /home/rmk/git/linux-rmk/drivers/base/dd.c:257 driver_probe_device+0x78/0x21c()
Modules linked in:
Backtrace:
[<
c0017d0c>] (dump_backtrace+0x0/0x10c) from [<
c033e208>] (dump_stack+0x18/0x1c) r7:
00000000 r6:
c01ff28c r5:
c040050c r4:
00000101
[<
c033e1f0>] (dump_stack+0x0/0x1c) from [<
c00337ec>] (warn_slowpath_common+0x58/0x70)
[<
c0033794>] (warn_slowpath_common+0x0/0x70) from [<
c0033828>] (warn_slowpath_null+0x24/0x2c)
[<
c0033804>] (warn_slowpath_null+0x0/0x2c) from [<
c01ff28c>] (driver_probe_device+0x78/0x21c)
[<
c01ff214>] (driver_probe_device+0x0/0x21c) from [<
c01ff49c>] (__driver_attach+0x6c/0x90)
[<
c01ff430>] (__driver_attach+0x0/0x90) from [<
c01fda70>] (bus_for_each_dev+0x58/0x98)
[<
c01fda18>] (bus_for_each_dev+0x0/0x98) from [<
c01ff0f4>] (driver_attach+0x20/0x28)
[<
c01ff0d4>] (driver_attach+0x0/0x28) from [<
c01fe2f4>] (bus_add_driver+0xb4/0x230)
[<
c01fe240>] (bus_add_driver+0x0/0x230) from [<
c01ffb24>] (driver_register+0xac/0x138)
[<
c01ffa78>] (driver_register+0x0/0x138) from [<
c0215d4c>] (spi_register_driver+0x4c/0x60)
[<
c0215d00>] (spi_register_driver+0x0/0x60) from [<
c045414c>] (ks8851_init+0x14/0x1c)
[<
c0454138>] (ks8851_init+0x0/0x1c) from [<
c0008770>] (do_one_initcall+0x9c/0x164)
[<
c00086d4>] (do_one_initcall+0x0/0x164) from [<
c0436410>] (kernel_init+0x128/0x210)
[<
c04362e8>] (kernel_init+0x0/0x210) from [<
c0038754>] (do_exit+0x0/0x72c)
---[ end trace
4dcda79f5e89dd84 ]---
ks8851 spi1.0: message enable is 0
ks8851 spi1.0: eth0: revision 0, MAC 08:00:28:01:4d:c6, IRQ 194, has EEPROM
Fix this by partially reverting the original commit.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>