Re: [PATCH 1/2] request_firmware without a device

From: Marcel Holtmann
Date: Thu May 25 2006 - 06:24:30 EST


Hi Greg,

> > The patch allows calling request_firmware without a 'struct device'.
> > It appears we just need a name here from 'struct device'. I changed it
> > to use a kobject as Patrick suggested.
> > Next patch will use the new API to request firmware (microcode) for a CPU.
>
> But a cpu does have a struct device. Why not just use that?
>
> > +fw_setup_class_device_id(struct class_device *class_dev, struct kobject *kobj)
> > {
> > /* XXX warning we should watch out for name collisions */
> > - strlcpy(class_dev->class_id, dev->bus_id, BUS_ID_SIZE);
> > + strlcpy(class_dev->class_id, kobj->k_name, BUS_ID_SIZE);
>
> There's a function for this, kobject_name(), please never touch k_name
> directly.
>
> > +EXPORT_SYMBOL(request_firmware_kobj);
>
> Ick, if you really want to do this, just fix up all callers of
> request_firmware(), there aren't that many of them.
>
> But I don't recommend it anyway.

I also disagree with this change at all. The callers of request_firmware
should not fiddle around with kobject's to make this work. All of them
have their struct device and they should use it.

So I would propose that we fix the caller and the not request_firmware
code. However one option would be calling it with NULL as device
argument and it registers itself a dummy device for the operation.

Regards

Marcel


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/