|
@@ -22,7 +22,6 @@
|
|
|
* Authors: Alex Deucher
|
|
|
*/
|
|
|
#include <linux/firmware.h>
|
|
|
-#include <linux/platform_device.h>
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/module.h>
|
|
|
#include "drmP.h"
|
|
@@ -742,7 +741,6 @@ static int ci_mc_load_microcode(struct radeon_device *rdev)
|
|
|
*/
|
|
|
static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
{
|
|
|
- struct platform_device *pdev;
|
|
|
const char *chip_name;
|
|
|
size_t pfp_req_size, me_req_size, ce_req_size,
|
|
|
mec_req_size, rlc_req_size, mc_req_size,
|
|
@@ -752,13 +750,6 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
|
|
|
DRM_DEBUG("\n");
|
|
|
|
|
|
- pdev = platform_device_register_simple("radeon_cp", 0, NULL, 0);
|
|
|
- err = IS_ERR(pdev);
|
|
|
- if (err) {
|
|
|
- printk(KERN_ERR "radeon_cp: Failed to register firmware\n");
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
switch (rdev->family) {
|
|
|
case CHIP_BONAIRE:
|
|
|
chip_name = "BONAIRE";
|
|
@@ -794,7 +785,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
DRM_INFO("Loading %s Microcode\n", chip_name);
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->pfp_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->pfp_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->pfp_fw->size != pfp_req_size) {
|
|
@@ -806,7 +797,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->me_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->me_fw->size != me_req_size) {
|
|
@@ -817,7 +808,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_ce.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->ce_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->ce_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->ce_fw->size != ce_req_size) {
|
|
@@ -828,7 +819,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_mec.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->mec_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->mec_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->mec_fw->size != mec_req_size) {
|
|
@@ -839,7 +830,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->rlc_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->rlc_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->rlc_fw->size != rlc_req_size) {
|
|
@@ -850,7 +841,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_sdma.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->sdma_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->sdma_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->sdma_fw->size != sdma_req_size) {
|
|
@@ -863,7 +854,7 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
/* No MC ucode on APUs */
|
|
|
if (!(rdev->flags & RADEON_IS_IGP)) {
|
|
|
snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name);
|
|
|
- err = request_firmware(&rdev->mc_fw, fw_name, &pdev->dev);
|
|
|
+ err = request_firmware(&rdev->mc_fw, fw_name, rdev->dev);
|
|
|
if (err)
|
|
|
goto out;
|
|
|
if (rdev->mc_fw->size != mc_req_size) {
|
|
@@ -875,8 +866,6 @@ static int cik_init_microcode(struct radeon_device *rdev)
|
|
|
}
|
|
|
|
|
|
out:
|
|
|
- platform_device_unregister(pdev);
|
|
|
-
|
|
|
if (err) {
|
|
|
if (err != -EINVAL)
|
|
|
printk(KERN_ERR
|