Skip to content

Commit a9ed2f0

Browse files
qlyjsldalexdeucher
authored andcommitted
drm/radeon: change drm_dev_alloc to devm_drm_dev_alloc
"drm_dev_alloc" is deprecated, in order to use the newer "devm_drm_dev_alloc", the "drm_device" is stored inside "radeon_device", by changing "rdev_to_drm(rdev)" other functions still gain access to the member "drm_device". Also, "devm_drm_dev_alloc" is now allocating "radeon_device", allocation inside "radeon_driver_load_kms" has to be removed. In "radeon_device_init", it originally assigned "rdev->dev" etc. However it is already done right after "devm_drm_dev_alloc" as you can see down below. It is better remove them. Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Tested-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Wu Hoi Pok <wuhoipok@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent fb1b5e1 commit a9ed2f0

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

drivers/gpu/drm/radeon/radeon.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2297,7 +2297,7 @@ typedef void (*radeon_wreg_t)(struct radeon_device*, uint32_t, uint32_t);
22972297

22982298
struct radeon_device {
22992299
struct device *dev;
2300-
struct drm_device *ddev;
2300+
struct drm_device ddev;
23012301
struct pci_dev *pdev;
23022302
#ifdef __alpha__
23032303
struct pci_controller *hose;
@@ -2478,7 +2478,7 @@ void cik_mm_wdoorbell(struct radeon_device *rdev, u32 index, u32 v);
24782478

24792479
static inline struct drm_device *rdev_to_drm(struct radeon_device *rdev)
24802480
{
2481-
return rdev->ddev;
2481+
return &rdev->ddev;
24822482
}
24832483

24842484
/*

drivers/gpu/drm/radeon/radeon_device.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,9 +1285,6 @@ int radeon_device_init(struct radeon_device *rdev,
12851285
bool runtime = false;
12861286

12871287
rdev->shutdown = false;
1288-
rdev->dev = &pdev->dev;
1289-
rdev->ddev = ddev;
1290-
rdev->pdev = pdev;
12911288
rdev->flags = flags;
12921289
rdev->family = flags & RADEON_FAMILY_MASK;
12931290
rdev->is_atom_bios = false;

drivers/gpu/drm/radeon/radeon_drv.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ static int radeon_pci_probe(struct pci_dev *pdev,
260260
{
261261
unsigned long flags = 0;
262262
struct drm_device *ddev;
263+
struct radeon_device *rdev;
263264
int ret;
264265

265266
if (!ent)
@@ -300,9 +301,14 @@ static int radeon_pci_probe(struct pci_dev *pdev,
300301
if (ret)
301302
return ret;
302303

303-
ddev = drm_dev_alloc(&kms_driver, &pdev->dev);
304-
if (IS_ERR(ddev))
305-
return PTR_ERR(ddev);
304+
rdev = devm_drm_dev_alloc(&pdev->dev, &kms_driver, typeof(*rdev), ddev);
305+
if (IS_ERR(rdev))
306+
return PTR_ERR(rdev);
307+
308+
rdev->dev = &pdev->dev;
309+
rdev->pdev = pdev;
310+
ddev = rdev_to_drm(rdev);
311+
ddev->dev_private = rdev;
306312

307313
ret = pci_enable_device(pdev);
308314
if (ret)

drivers/gpu/drm/radeon/radeon_kms.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,9 @@ void radeon_driver_unload_kms(struct drm_device *dev)
104104
int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags)
105105
{
106106
struct pci_dev *pdev = to_pci_dev(dev->dev);
107-
struct radeon_device *rdev;
107+
struct radeon_device *rdev = dev->dev_private;
108108
int r, acpi_status;
109109

110-
rdev = kzalloc(sizeof(struct radeon_device), GFP_KERNEL);
111-
if (rdev == NULL) {
112-
return -ENOMEM;
113-
}
114-
dev->dev_private = (void *)rdev;
115-
116110
#ifdef __alpha__
117111
rdev->hose = pdev->sysdata;
118112
#endif

0 commit comments

Comments
 (0)