diff options
Diffstat (limited to 'target/linux/layerscape/patches-4.4/7170-staging-fsl-mc-don-t-use-object-versions-to-make-bin.patch')
-rw-r--r-- | target/linux/layerscape/patches-4.4/7170-staging-fsl-mc-don-t-use-object-versions-to-make-bin.patch | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/target/linux/layerscape/patches-4.4/7170-staging-fsl-mc-don-t-use-object-versions-to-make-bin.patch b/target/linux/layerscape/patches-4.4/7170-staging-fsl-mc-don-t-use-object-versions-to-make-bin.patch deleted file mode 100644 index 2224d457e8..0000000000 --- a/target/linux/layerscape/patches-4.4/7170-staging-fsl-mc-don-t-use-object-versions-to-make-bin.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 9382e1723e4de9832407f7e65bd4812b31e5a51d Mon Sep 17 00:00:00 2001 -From: Itai Katz <itai.katz@nxp.com> -Date: Mon, 11 Apr 2016 11:55:40 -0500 -Subject: [PATCH 170/226] staging: fsl-mc: don't use object versions to make - binding decisions - -Up until now if the object version expected by a driver (in the API header -file) did not match the actual object version in the MC hardware the bus -driver refused to bind the object to the driver or printed out WARN_ON -dumps. - -This patch removes those checks, and the responsibility of object version -checking should now be done in the object drivers themselves. If the actual -version discovered is not supported, the driver's probe function should fail. -Drivers should use version checks to support new features and provide -backwards compatibility if at all possible. - -This patch also removes the checks that caused bus driver probing to fail -if the overall MC version discovered did not match the firmware version -from the API header...this was too strict. The overall MC version is -informational like a release number, and continues to be printed in the -boot log. - -Signed-off-by: Itai Katz <itai.katz@nxp.com> -(Stuart: reworded commit log) -Signed-off-by: Stuart Yoder <stuart.yoder@nxp.com> -Acked-by: German Rivera <german.rivera@nxp.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/staging/fsl-mc/bus/dprc-driver.c | 4 +-- - drivers/staging/fsl-mc/bus/mc-allocator.c | 6 ----- - drivers/staging/fsl-mc/bus/mc-bus.c | 38 +---------------------------- - 3 files changed, 2 insertions(+), 46 deletions(-) - ---- a/drivers/staging/fsl-mc/bus/dprc-driver.c -+++ b/drivers/staging/fsl-mc/bus/dprc-driver.c -@@ -780,9 +780,7 @@ static int dprc_remove(struct fsl_mc_dev - static const struct fsl_mc_device_match_id match_id_table[] = { - { - .vendor = FSL_MC_VENDOR_FREESCALE, -- .obj_type = "dprc", -- .ver_major = DPRC_VER_MAJOR, -- .ver_minor = DPRC_VER_MINOR}, -+ .obj_type = "dprc"}, - {.vendor = 0x0}, - }; - ---- a/drivers/staging/fsl-mc/bus/mc-allocator.c -+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c -@@ -709,20 +709,14 @@ static const struct fsl_mc_device_match_ - { - .vendor = FSL_MC_VENDOR_FREESCALE, - .obj_type = "dpbp", -- .ver_major = DPBP_VER_MAJOR, -- .ver_minor = DPBP_VER_MINOR - }, - { - .vendor = FSL_MC_VENDOR_FREESCALE, - .obj_type = "dpmcp", -- .ver_major = DPMCP_VER_MAJOR, -- .ver_minor = DPMCP_VER_MINOR - }, - { - .vendor = FSL_MC_VENDOR_FREESCALE, - .obj_type = "dpcon", -- .ver_major = DPCON_VER_MAJOR, -- .ver_minor = DPCON_VER_MINOR - }, - {.vendor = 0x0}, - }; ---- a/drivers/staging/fsl-mc/bus/mc-bus.c -+++ b/drivers/staging/fsl-mc/bus/mc-bus.c -@@ -40,8 +40,6 @@ static int fsl_mc_bus_match(struct devic - struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev); - struct fsl_mc_driver *mc_drv = to_fsl_mc_driver(drv); - bool found = false; -- bool major_version_mismatch = false; -- bool minor_version_mismatch = false; - - if (WARN_ON(!fsl_mc_bus_exists())) - goto out; -@@ -64,32 +62,12 @@ static int fsl_mc_bus_match(struct devic - for (id = mc_drv->match_id_table; id->vendor != 0x0; id++) { - if (id->vendor == mc_dev->obj_desc.vendor && - strcmp(id->obj_type, mc_dev->obj_desc.type) == 0) { -- if (id->ver_major == mc_dev->obj_desc.ver_major) { -- found = true; -- if (id->ver_minor != mc_dev->obj_desc.ver_minor) -- minor_version_mismatch = true; -- } else { -- major_version_mismatch = true; -- } -+ found = true; - - break; - } - } - -- if (major_version_mismatch) { -- dev_warn(dev, -- "Major version mismatch: driver version %u.%u, MC object version %u.%u\n", -- id->ver_major, id->ver_minor, -- mc_dev->obj_desc.ver_major, -- mc_dev->obj_desc.ver_minor); -- } else if (minor_version_mismatch) { -- dev_warn(dev, -- "Minor version mismatch: driver version %u.%u, MC object version %u.%u\n", -- id->ver_major, id->ver_minor, -- mc_dev->obj_desc.ver_major, -- mc_dev->obj_desc.ver_minor); -- } -- - out: - dev_dbg(dev, "%smatched\n", found ? "" : "not "); - return found; -@@ -722,20 +700,6 @@ static int fsl_mc_bus_probe(struct platf - "Freescale Management Complex Firmware version: %u.%u.%u\n", - mc_version.major, mc_version.minor, mc_version.revision); - -- if (mc_version.major < MC_VER_MAJOR) { -- dev_err(&pdev->dev, -- "ERROR: MC firmware version not supported by driver (driver version: %u.%u)\n", -- MC_VER_MAJOR, MC_VER_MINOR); -- error = -ENOTSUPP; -- goto error_cleanup_mc_io; -- } -- -- if (mc_version.major > MC_VER_MAJOR) { -- dev_warn(&pdev->dev, -- "WARNING: driver may not support newer MC firmware features (driver version: %u.%u)\n", -- MC_VER_MAJOR, MC_VER_MINOR); -- } -- - error = get_mc_addr_translation_ranges(&pdev->dev, - &mc->translation_ranges, - &mc->num_translation_ranges); |