linux_dsm_epyc7002/drivers/i2c/busses
Sachin Kamat 3cd0c2dfb4 i2c: exynos5: Remove incorrect clk_disable_unprepare
clk_disable_unprepare in remove causes an imbalance and hence gives
the below crash on module remove. While at it also remove some
duplicate code from probe.

/ $ rmmod i2c-exynos5
[    6.996374] ------------[ cut here ]------------
[    6.999523] WARNING: CPU: 2 PID: 1137 at drivers/clk/clk.c:842 clk_disable+0x18/0x24()
[    7.007403] Modules linked in: i2c_exynos5(-)
[    7.011747] CPU: 2 PID: 1137 Comm: rmmod Not tainted 3.12.0-next-20131105-00083-g16f4799-dirty #21
[    7.020696] [<c0014e0c>] (unwind_backtrace+0x0/0xf4) from [<c0011784>] (show_stack+0x10/0x14)
[    7.029190] [<c0011784>] (show_stack+0x10/0x14) from [<c037acd4>] (dump_stack+0x7c/0xb0)
[    7.037255] [<c037acd4>] (dump_stack+0x7c/0xb0) from [<c001e0ac>] (warn_slowpath_common+0x6c/0x88)
[    7.046190] [<c001e0ac>] (warn_slowpath_common+0x6c/0x88) from [<c001e164>] (warn_slowpath_null+0x1c/0x24)
[    7.055818] [<c001e164>] (warn_slowpath_null+0x1c/0x24) from [<c02dcde4>] (clk_disable+0x18/0x24)
[    7.064670] [<c02dcde4>] (clk_disable+0x18/0x24) from [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5])
[    7.074736] [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5]) from [<c02274a8>] (__device_release_driver+0x58/0xb0)
[    7.085836] [<c02274a8>] (__device_release_driver+0x58/0xb0) from [<c0227b88>] (driver_detach+0xac/0xb0)
[    7.095291] [<c0227b88>] (driver_detach+0xac/0xb0) from [<c02271c0>] (bus_remove_driver+0x4c/0xa0)
[    7.104227] [<c02271c0>] (bus_remove_driver+0x4c/0xa0) from [<c00725dc>] (SyS_delete_module+0x124/0x194)
[    7.113682] [<c00725dc>] (SyS_delete_module+0x124/0x194) from [<c000e2e0>] (ret_fast_syscall+0x0/0x30)
[    7.122957] ---[ end trace 23bb6e4e0bf52196 ]---

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2013-11-14 18:18:15 +01:00
..
i2c-acorn.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
i2c-ali15x3.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-ali1535.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-ali1563.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-amd756-s4882.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-amd756.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-amd8111.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-at91.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-au1550.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-bcm2835.c i2c: add bcm2835 driver 2013-02-12 11:33:59 +01:00
i2c-bfin-twi.c i2c: bfin-twi: Remove casting the return value which is a void pointer 2013-09-30 06:02:33 +02:00
i2c-cbus-gpio.c i2c: use dev_get_platdata() 2013-08-19 19:46:30 +02:00
i2c-cpm.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-davinci.c i2c: remove redundant of_match_ptr 2013-10-03 22:00:41 +02:00
i2c-designware-core.c i2c: designware: 10-bit addressing mode enabling if I2C_DYNAMIC_TAR_UPDATE is set 2013-09-27 18:12:31 +02:00
i2c-designware-core.h i2c: designware: make HCNT/LCNT values configurable 2013-08-28 11:11:10 +02:00
i2c-designware-pcidrv.c i2c: designware-pci: drop superfluous {get|put}_device 2013-04-19 20:22:10 +02:00
i2c-designware-platdrv.c i2c: designware: get SDA hold time, HCNT and LCNT configuration from ACPI 2013-08-28 11:11:17 +02:00
i2c-diolan-u2c.c i2c: diolan-u2c: Fix master_xfer return code 2012-08-18 12:27:27 +02:00
i2c-eg20t.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-elektor.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-exynos5.c i2c: exynos5: Remove incorrect clk_disable_unprepare 2013-11-14 18:18:15 +01:00
i2c-gpio.c i2c: Include linux/of.h header 2013-10-30 16:46:30 +01:00
i2c-highlander.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-hydra.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-i801.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-ibm_iic.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-ibm_iic.h i2c-ibm_iic: Whitespace cleanup 2008-01-27 18:14:45 +01:00
i2c-imx.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-iop3xx.c i2c: iop3xxx: fix build failure after waitqueue changes 2013-07-01 07:48:58 +02:00
i2c-iop3xx.h i2c-iop3xx: add iomem annotation 2011-01-04 00:53:37 +00:00
i2c-isch.c i2c: isch: Add module parameter for backbone clock rate if divider is unset 2013-02-11 15:53:49 +01:00
i2c-ismt.c i2c: ismt: initialize DMA buffer 2013-09-28 16:32:12 +02:00
i2c-kempld.c i2c: Fix Kontron PLD prescaler calculation 2013-08-05 10:31:18 +02:00
i2c-mpc.c i2c: mpc: cleanup clock API use 2013-08-28 10:48:44 +02:00
i2c-mv64xxx.c i2c: remove redundant of_match_ptr 2013-10-03 22:00:41 +02:00
i2c-mxs.c i2c: mxs: Fix PIO mode on i.MX23 2013-10-06 15:56:27 +02:00
i2c-nforce2-s4985.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-nforce2.c i2c: nforce2: fix coding style issues 2013-01-28 05:26:42 +01:00
i2c-nomadik.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-nuc900.c i2c: use dev_get_platdata() 2013-08-19 19:46:30 +02:00
i2c-ocores.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-octeon.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-omap.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-parport-light.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-parport.c i2c-parport: i2c_parport_irq can be static 2012-10-05 22:23:53 +02:00
i2c-parport.h i2c-parport: Various cleanups 2011-05-24 20:58:49 +02:00
i2c-pasemi.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-pca-isa.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-pca-platform.c i2c: use dev_get_platdata() 2013-08-19 19:46:30 +02:00
i2c-piix4.c i2c: piix4: Add support for secondary SMBus on AMD SB800 and AMD FCH chipsets 2013-08-15 15:17:31 +02:00
i2c-pmcmsp.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-pnx.c i2c: Include linux/of.h header 2013-10-30 16:46:30 +01:00
i2c-powermac.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-puv3.c i2c: puv3: add CONFIG_PM_SLEEP to suspend function 2013-08-15 12:26:31 +02:00
i2c-pxa-pci.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-pxa.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-rcar.c i2c: rcar: fixup rcar type naming 2013-11-01 14:10:00 +01:00
i2c-s3c2410.c i2c: Include linux/of.h header 2013-10-30 16:46:30 +01:00
i2c-s6000.c i2c: use dev_get_platdata() 2013-08-19 19:46:30 +02:00
i2c-s6000.h i2c: Change mail address of Oskar Schirmer 2012-05-17 15:15:56 +02:00
i2c-scmi.c i2c: scmi: remove some bogus NULL checks 2013-11-01 14:09:53 +01:00
i2c-sh7760.c i2c: use dev_get_platdata() 2013-08-19 19:46:30 +02:00
i2c-sh_mobile.c i2c: sh_mobile: Convert to clk_prepare/unprepare 2013-10-31 12:45:44 +01:00
i2c-sibyte.c i2c/mips: Fix error return codes from Sibyte i2c bus driver 2010-07-10 09:42:47 +02:00
i2c-simtec.c i2c/busses: Use module_platform_driver() 2012-01-12 20:32:04 +01:00
i2c-sirf.c i2c: sirf: retry 3 times as sometimes we get random noack and timeout 2013-08-28 11:46:03 +02:00
i2c-sis96x.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-sis630.c i2c: sis630: checkpatch cleanup 2013-02-11 15:59:40 +01:00
i2c-sis5595.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-st.c i2c: i2c-st: Add ST I2C controller 2013-11-14 18:17:57 +01:00
i2c-stu300.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-taos-evm.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
i2c-tegra.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-tiny-usb.c i2c: tiny-usb: do not use stack as URB transfer_buffer 2013-08-19 19:46:38 +02:00
i2c-versatile.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-via.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-viapro.c i2c: remove __dev* attributes from subsystem 2012-12-22 20:13:45 +01:00
i2c-viperboard.c i2c: Ignore return value of i2c_del_adapter() 2013-04-02 07:06:03 +02:00
i2c-wmt.c i2c: move OF helpers into the core 2013-08-23 10:22:20 +02:00
i2c-xiic.c i2c: Include linux/of.h header 2013-10-30 16:46:30 +01:00
i2c-xlr.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-02-26 09:41:53 -08:00
Kconfig i2c: i2c-st: Add ST I2C controller 2013-11-14 18:17:57 +01:00
Makefile i2c: i2c-st: Add ST I2C controller 2013-11-14 18:17:57 +01:00
scx200_acb.c i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls 2013-02-22 00:25:50 +01:00
scx200_i2c.c i2c/scx200_*: Replace printks with pr_<level>s 2012-10-05 22:23:52 +02:00