Messages in this thread | | | Date | Thu, 21 Aug 2014 15:54:00 +0100 | From | Sudeep Holla <> | Subject | Re: [PATCH v3 03/11] drivers: base: add new class "cpu" to group cpu devices |
| |
On 21/08/14 13:37, David Herrmann wrote: > Hi > > On Thu, Aug 21, 2014 at 2:30 PM, Sudeep Holla <sudeep.holla@arm.com> 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
| |