linux/drivers/gpu/drm/radeon
Sergey Senozhatsky e4158f1b10 radeon_pm: fix oops in hwmon_attributes_visible() and radeon_hwmon_show_temp_thresh()
Since commit ec39f64bba ("drm/radeon/dpm: Convert to use
devm_hwmon_register_with_groups") radeon_hwmon_init() is using
hwmon_device_register_with_groups(), which sets `rdev' as a device
private driver_data, while hwmon_attributes_visible() and
radeon_hwmon_show_temp_thresh() are still waiting for `drm_device'.

Fix them by using dev_get_drvdata(), in order to avoid this oops:

  BUG: unable to handle kernel paging request at 0000000000001e28
  IP: [<ffffffffa02ae8b4>] hwmon_attributes_visible+0x18/0x3d [radeon]
  PGD 15057e067 PUD 151a8e067 PMD 0
  Oops: 0000 [#1] PREEMPT SMP
  Call Trace:
    internal_create_group+0x114/0x1d9
    sysfs_create_group+0xe/0x10
    sysfs_create_groups+0x22/0x5f
    device_add+0x34f/0x501
    device_register+0x15/0x18
    hwmon_device_register_with_groups+0xb5/0xed
    radeon_hwmon_init+0x56/0x7c [radeon]
    radeon_pm_init+0x134/0x7e5 [radeon]
    radeon_modeset_init+0x75f/0x8ed [radeon]
    radeon_driver_load_kms+0xc6/0x187 [radeon]
    drm_dev_register+0xf9/0x1b4 [drm]
    drm_get_pci_dev+0x98/0x129 [drm]
    radeon_pci_probe+0xa3/0xac [radeon]
    pci_device_probe+0x6e/0xcf
    driver_probe_device+0x98/0x1c4
    __driver_attach+0x5c/0x7e
    bus_for_each_dev+0x7b/0x85
    driver_attach+0x19/0x1b
    bus_add_driver+0x104/0x1ce
    driver_register+0x89/0xc5
    __pci_register_driver+0x58/0x5b
    drm_pci_init+0x86/0xea [drm]
    radeon_init+0x97/0x1000 [radeon]
    do_one_initcall+0x7f/0x117
    load_module+0x1583/0x1bb4
    SyS_init_module+0xa0/0xaf

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Alexander Deucher <Alexander.Deucher@amd.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-12-15 12:16:00 -08:00
..
reg_srcs drm/radeon: fix VGT_GS_INSTANCE_CNT register 2013-12-02 17:50:56 -05:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/atom: initialize more atom interpretor elements to 0 2013-07-30 17:24:12 -04:00
atom.h
atombios_crtc.c drm/radeon: modesetting updates for hawaii 2013-11-08 12:33:46 -05:00
atombios_dp.c drm/radeon/dp: use drm_dp_enhanced_frame_cap() 2013-10-09 18:17:10 +10:00
atombios_encoders.c Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
atombios_i2c.c drm/radeon/atom: fix bus probes when hw_i2c is set (v2) 2013-12-04 19:56:46 -05:00
atombios.h drm/radeon: atombios.h updates for hawaii 2013-11-08 12:33:45 -05:00
avivod.h
btc_dpm.c drm/radeon/dpm/btc: off by one in btc_set_mc_special_registers() 2013-10-09 17:13:47 -04:00
btc_dpm.h drm/radeon/dpm: fetch the max clk from voltage dep tables helper 2013-09-23 10:29:51 -04:00
btcd.h drm/radeon/kms: add dpm support for btc (v3) 2013-06-27 19:15:44 -04:00
cayman_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon: add hawaii dpm support 2013-11-08 12:33:44 -05:00
ci_dpm.h drm/radeon/dpm: track uvd gated state for ci 2013-08-30 16:31:06 -04:00
ci_smc.c drm/radeon: add hawaii dpm support 2013-11-08 12:33:44 -05:00
cik_blit_shaders.c drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_blit_shaders.h drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_reg.h drm/radeon: add indirect accessors for dift registers on CIK 2013-08-30 16:30:09 -04:00
cik_sdma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
cik.c drm/radeon/cik: Add macrotile mode array query 2013-11-18 09:19:36 -05:00
cikd.h drm/radeon: update rb setup for hawaii 2013-11-08 12:33:42 -05:00
clearstate_cayman.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_ci.h drm/radeon: implement clock and power gating for CIK (v3) 2013-08-30 16:30:08 -04:00
clearstate_defs.h drm/radeon: properly set up the RLC on ON/LN/TN (v3) 2013-06-27 10:49:18 -04:00
clearstate_evergreen.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_si.h drm/radeon: add clearstate init for verde power gating 2013-06-27 19:16:31 -04:00
cypress_dpm.c drm/radeon: cypress_dpm: Fix unused variable warning when CONFIG_ACPI=n 2013-11-15 15:29:31 -05:00
cypress_dpm.h drm/radeon/dpm: add pre/post_set_power_state callback (BTC) 2013-06-27 19:16:19 -04:00
dce6_afmt.c drm/radeon: fix null pointer dereference in dce6+ audio code 2013-12-04 19:56:45 -05:00
evergreen_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
evergreen_blit_shaders.h
evergreen_cs.c
evergreen_dma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
evergreen_hdmi.c Revert "drm/radeon/audio: don't set speaker allocation on DCE4+" 2013-11-08 13:07:51 -05:00
evergreen_reg.h drm/radeon: add accessors of pif_phy indirect register space 2013-06-27 19:16:26 -04:00
evergreen_smc.h drm/radeon/kms: add dpm support for evergreen (v4) 2013-06-27 19:15:22 -04:00
evergreen.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-11-15 14:19:54 +09:00
evergreend.h Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
Kconfig
kv_dpm.c drm/radeon: disable bapm on KB 2013-10-23 16:25:18 -04:00
kv_dpm.h drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
kv_smc.c drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
Makefile drm/radeon: add audio support for DCE6/8 GPUs (v12) 2013-08-30 16:30:45 -04:00
mkregtable.c radeon: remove redundant __list_for_each definition from mkregtable.c 2013-07-03 16:07:43 -07:00
ni_dma.c drm/radeon: drop CP page table updates & cleanup v2 2013-11-01 15:25:52 -04:00
ni_dpm.c drm/radeon/dpm: simplify state adjust logic for NI 2013-12-02 17:50:46 -05:00
ni_dpm.h drm/radeon/dpm: implement vblank_too_short callback for si 2013-07-08 17:41:11 -04:00
ni_reg.h
ni.c Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
nid.h drm/radeon: add fault decode function for cayman/TN (v2) 2013-07-14 10:11:28 -04:00
nislands_smc.h drm/radeon/kms: add dpm support for cayman (v5) 2013-06-27 19:16:10 -04:00
ObjectID.h drm/radeon: upstream ObjectID.h updates (v2) 2013-06-26 16:11:34 -04:00
ppsmc.h drm/radeon/dpm: handle bapm on trinity 2013-09-11 11:44:37 -04:00
pptable.h drm/radeon: switch to pptable.h 2013-08-30 16:30:11 -04:00
r100_track.h
r100.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
r100d.h
r200.c
r300_cmdbuf.c drm/radeon: check incoming cliprects pointer 2013-05-13 15:23:34 +10:00
r300_reg.h
r300.c Docs: Comment: Fixed egregious typos 2013-08-20 12:44:51 +02:00
r300d.h
r420.c drm/radeon: add spinlocks for indirect register accesss 2013-09-11 11:44:29 -04:00
r420d.h
r500_reg.h
r520.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r520d.h
r600_audio.c drm/radeon: add audio support for DCE6/8 GPUs (v12) 2013-08-30 16:30:45 -04:00
r600_blit_shaders.c
r600_blit_shaders.h drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_blit.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_cp.c drm/radeon: s/drm_order/order_base_2/ 2013-07-23 20:14:24 +10:00
r600_cs.c drm/radeon: Return -ENOENT when a mode object can't be found 2013-11-06 13:25:20 +10:00
r600_dma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
r600_dpm.c drm/radeon: fix missed variable sized access 2013-09-23 10:29:50 -04:00
r600_dpm.h drm/radeon/dpm: add helper to fetch the vrefresh of the current mode 2013-08-30 16:30:27 -04:00
r600_hdmi.c drm/radeon: program DCE2 audio dto just like DCE3 2013-12-02 16:40:42 -05:00
r600_reg.h drm/radeon: add indirect accessors for UVD CTX registers 2013-06-27 19:16:30 -04:00
r600.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
r600d.h Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
radeon_acpi.c ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro 2013-11-14 23:17:21 +01:00
radeon_acpi.h
radeon_agp.c
radeon_asic.c drm/radeon: hook up backlight functions for CI and KV family. 2013-11-19 15:57:29 -05:00
radeon_asic.h drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
radeon_atombios.c drm/radeon: fix typo in fetching mpll params 2013-12-02 16:40:41 -05:00
radeon_atpx_handler.c More ACPI and power management updates for 3.13-rc1 2013-11-20 13:25:04 -08:00
radeon_benchmark.c
radeon_bios.c More ACPI and power management updates for 3.13-rc1 2013-11-20 13:25:04 -08:00
radeon_clocks.c
radeon_combios.c drm/radeon: fix combios tables on older cards 2013-07-22 15:57:14 -04:00
radeon_connectors.c drm/radeon: fix mismerge of drm-next with 3.12 2013-11-08 13:03:47 -05:00
radeon_cp.c drm/radeon: s/drm_order/order_base_2/ 2013-07-23 20:14:24 +10:00
radeon_cs.c drm/radeon: add radeon_vm_bo_update trace point 2013-12-02 16:40:44 -05:00
radeon_cursor.c drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_device.c drm/radeon: use a single doorbell for cik kms compute 2013-11-15 15:56:22 -05:00
radeon_display.c drm/radeon: Push get_scanout_position() timestamping into kms driver. 2013-11-06 11:53:42 +10:00
radeon_drv.c drm/radeon/cik: Add macrotile mode array query 2013-11-18 09:19:36 -05:00
radeon_drv.h drm/radeon: fix VGT_GS_INSTANCE_CNT register 2013-12-02 17:50:56 -05:00
radeon_encoders.c
radeon_family.h drm/radeon: add Hawaii chip family 2013-11-08 12:33:39 -05:00
radeon_fb.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
radeon_fence.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
radeon_gart.c drm/radeon: add radeon_vm_bo_update trace point 2013-12-02 16:40:44 -05:00
radeon_gem.c drm: kill ->gem_init_object() and friends 2013-10-09 14:38:02 +10:00
radeon_i2c.c
radeon_ioc32.c drm/radeon: add runtime PM support (v2) 2013-11-01 12:43:14 -04:00
radeon_irq_kms.c drm/radeon: add runtime PM support (v2) 2013-11-01 12:43:14 -04:00
radeon_irq.c
radeon_kms.c drm/radeon/cik: Add macrotile mode array query 2013-11-18 09:19:36 -05:00
radeon_legacy_crtc.c radeon: workaround pinning failure on low ram gpu 2013-11-15 15:29:33 -05:00
radeon_legacy_encoders.c drm/sysfs: sort out minor and connector device object lifetimes. 2013-10-22 09:37:40 +01:00
radeon_legacy_tv.c
radeon_mem.c
radeon_mode.h drm/radeon: Push get_scanout_position() timestamping into kms driver. 2013-11-06 11:53:42 +10:00
radeon_object.c drm/radeon: remove stale gem->driver_private access 2013-08-19 09:34:47 +10:00
radeon_object.h drm/ttm: convert to unified vma offset manager 2013-07-25 20:47:07 +10:00
radeon_pm.c radeon_pm: fix oops in hwmon_attributes_visible() and radeon_hwmon_show_temp_thresh() 2013-12-15 12:16:00 -08:00
radeon_prime.c drm/radeon: remove stale gem->driver_private access 2013-08-19 09:34:47 +10:00
radeon_reg.h drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_ring.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
radeon_sa.c drm/radeon: allow selection of alignment in the sub-allocator 2013-07-14 10:11:31 -04:00
radeon_semaphore.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
radeon_state.c
radeon_test.c drm/radeon: forever loop on error in radeon_do_test_moves() 2013-10-09 17:13:47 -04:00
radeon_trace_points.c
radeon_trace.h drm/radeon: add radeon_vm_bo_update trace point 2013-12-02 16:40:44 -05:00
radeon_ttm.c drm: verify vma access in TTM+GEM drivers 2013-08-27 11:54:58 +10:00
radeon_ucode.h drm/radeon: update firmware loading for hawaii 2013-11-08 12:33:43 -05:00
radeon_uvd.c drm/radeon/cik: add hawaii UVD support 2013-11-08 12:33:43 -05:00
radeon.h drm/radeon: add radeon_vm_bo_update trace point 2013-12-02 16:40:44 -05:00
rs100d.h
rs400.c drm/radeon: add spinlocks for indirect register accesss 2013-09-11 11:44:29 -04:00
rs400d.h
rs600.c drm/radeon: add a connector property for dither 2013-11-01 12:43:13 -04:00
rs600d.h
rs690.c drm/radeon: fix-up some float to fixed conversion thinkos 2013-11-08 12:33:38 -05:00
rs690d.h
rs780_dpm.c drm/radeon/dpm/rs780: fix force_performance state for same sclks 2013-09-15 20:27:51 -04:00
rs780_dpm.h drm/radeon/kms: add dpm support for rs780/rs880 2013-06-27 10:49:25 -04:00
rs780d.h drm/radeon/dpm: add debugfs support for RS780/RS880 (v3) 2013-07-17 16:47:52 -04:00
rv6xx_dpm.c drm/radeon/dpm: cleanup a type issue with rv6xx_clocks_per_unit() 2013-11-01 12:43:16 -04:00
rv6xx_dpm.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv6xxd.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: fix-up some float to fixed conversion thinkos 2013-11-08 12:33:38 -05:00
rv515d.h
rv730_dpm.c drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv730d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv740_dpm.c drm/radeon/dpm/rv7xx: restructure code 2013-06-27 19:16:12 -04:00
rv740d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv770_dma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
rv770_dpm.c drm/radeon/dpm: rework auto performance level enable 2013-09-15 20:27:52 -04:00
rv770_dpm.h drm/radeon/dpm: fix spread spectrum setup (v2) 2013-08-07 17:37:10 -04:00
rv770_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770_smc.h drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770.c drm/radeon: fix init ordering for r600+ 2013-08-30 16:31:15 -04:00
rv770d.h drm/radeon: Fix hmdi typo 2013-09-15 20:27:51 -04:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
si_dpm.c Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
si_dpm.h drm/radeon/kms: add dpm support for SI (v7) 2013-06-27 19:40:05 -04:00
si_reg.h
si_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
si.c drm/radeon: fixup bad vram size on SI 2013-12-04 19:56:44 -05:00
sid.h Merge tag 'drm-intel-fixes-2013-11-07' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-11-08 16:34:39 +10:00
sislands_smc.h drm/radeon/kms: add dpm support for SI (v7) 2013-06-27 19:40:05 -04:00
smu7_discrete.h drm/radeon: add dpm support for CI dGPUs (v2) 2013-08-30 16:30:29 -04:00
smu7_fusion.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
smu7.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
sumo_dpm.c drm/radeon/dpm: rework auto performance level enable 2013-09-15 20:27:52 -04:00
sumo_dpm.h drm/radeon/sumo add helper to go from vid7 to vid2 2013-08-30 16:30:10 -04:00
sumo_smc.c drm/radeon/dpm: remove local sumo_get_xclk() 2013-06-27 19:16:22 -04:00
sumod.h drm/radeon: add dpm UVD handling for sumo asics 2013-06-27 19:15:48 -04:00
trinity_dpm.c drm/radeon: adjust TN dpm parameters for stability (v2) 2013-11-15 15:57:30 -05:00
trinity_dpm.h drm/radeon/dpm: add bapm callback for trinity 2013-09-11 11:44:39 -04:00
trinity_smc.c drm/radeon/dpm: handle bapm on trinity 2013-09-11 11:44:37 -04:00
trinityd.h drm/radeon: add dpm UVD handling for TN asics (v2) 2013-06-27 19:15:48 -04:00
uvd_v1_0.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v2_2.c drm/radeon: separate UVD code v3 2013-08-30 16:30:42 -04:00
uvd_v3_1.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v4_2.c drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume 2013-08-30 16:31:12 -04:00