Re: [PATCH v3 03/11] drivers: base: add new class "cpu" to group cpu devices

From: Sudeep Holla
Date: Thu Aug 21 2014 - 10:54:01 EST




On 21/08/14 13:37, David Herrmann wrote:
Hi

On Thu, Aug 21, 2014 at 2:30 PM, Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
On 21/08/14 12:20, David Herrmann wrote:
Why do we need a cpu-class if the same set of information is already
available on the cpu-bus? Furthermore, classes are deprecated anyway.
Everything you can do with a class can be solved with a bus. And we
already have a bus for cpus.


Sorry I wasn't aware that classes are deprecated. IIUC its class_device
struct and related APIs that are deprecated not struct class. I may be
wrong but Greg would not have suggested to use class if it was deprecated.


This was suggested[1] by GregKH. The main reason it was added is to
reuse the device attributes rather than creating the raw kobjects.

It helps to move few other cpu related subsystems using raw kobjects to
the device attribute groups.

So the only reason to add a class is to get attributes registered
properly with the device? Just set dev->groups before calling
device_add()? This works just fine on buses, too.


Do you mean to say create bus for each cpu and add cpu devices like
cache under that ? We can't reuse the cpu bus i.e cpu_subsys as we can't
add per-cpu devices with same name under /sys/bus/cpu/devices/

Also adding bus for each cpu device might be more complex than creating
cpu class.

That's the reason why I added checks to avoid creating link in the class
directory pointing to the device. It would be difficult to do
that with bus as it can't be unconditional.

Regards,
Sudeep


--
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/