Commit:     52840bd628707979b5bbcce3c506786d3a69dba0
Parent:     542eb75a27616bdde95c8d3764e0ab703579f8b5
Author:     Greg Kroah-Hartman <[EMAIL PROTECTED]>
AuthorDate: Mon Dec 17 23:05:35 2007 -0700
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Thu Jan 24 20:40:30 2008 -0800

    Kobject: the cris iop_fw_load.c code is broken
    This code is really really really broken.  So much so that it's almost
    impossible to fix with a simple patch, so just comment out the offending
    registration with the kobject core, and mark the driver as broken.
    The problem is that the code is trying to register a "raw" struct
    device, which is not allowed.  struct device is only for use within the
    driver model.  This is being done to try to use the firmware layer which
    wants a struct device.  To properly fix this, use something easy, like a
    platform device, which is a struct device and can be used for this kind
    of thing.
    Cc: Mikael Starvik <[EMAIL PROTECTED]>
    Cc: Kay Sievers <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
 arch/cris/arch-v32/drivers/iop_fw_load.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/cris/arch-v32/drivers/iop_fw_load.c 
index 11f9895..f4bdc1d 100644
--- a/arch/cris/arch-v32/drivers/iop_fw_load.c
+++ b/arch/cris/arch-v32/drivers/iop_fw_load.c
@@ -20,6 +20,9 @@
 #define IOP_TIMEOUT 100
+#error "This driver is broken with regard to its driver core usage."
+#error "Please contact <[EMAIL PROTECTED]> for details on how to fix it 
 static struct device iop_spu_device[2] = {
        { .bus_id =     "iop-spu0", },
        { .bus_id =     "iop-spu1", },
@@ -192,6 +195,13 @@ int iop_start_mpu(unsigned int start_addr)
 static int __init iop_fw_load_init(void)
+#if 0
+       /*
+        * static struct devices can not be added directly to sysfs by ignoring
+        * the driver model infrastructure.  To fix this properly, please use
+        * the platform_bus to register these devices to be able to properly
+        * use the firmware infrastructure.
+        */
        kobject_set_name(&iop_spu_device[0].kobj, "iop-spu0");
@@ -201,6 +211,7 @@ static int __init iop_fw_load_init(void)
        kobject_set_name(&iop_mpu_device.kobj, "iop-mpu");
        return 0;
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to