Re: 2.6.23-rc6-mm1

Kamalesh Babulal
2007-09-18T12:41:39Z

Benjamin Herrenschmidt wrote:
> On Tue, 2007-09-18 at 10:34 +0100, Andy Whitcroft wrote:
>
>> On Tue, Sep 18, 2007 at 02:43:48PM +0530, Kamalesh Babulal wrote:
>>
>>> Andrew Morton wrote:
>>>
>>>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc6/2.6.23-rc6-mm1/
>>>>
>>>> 2.6.23-rc6-mm1 is a 29MB diff against 2.6.23-rc6.
>>>>
>>>>
>>>>
>>> <snip>
>>>
>>> Hi Andrew,
>>>
>>> The 2.6.23-rc6-mm1build fails at
>>>
>>> CC drivers/pci/hotplug/rpadlpar_core.o
>>> CC drivers/pci/hotplug/rpadlpar_sysfs.o
>>> drivers/pci/hotplug/rpadlpar_sysfs.c:132: error: unknown field `name'
>>> specified in initializer
>>> drivers/pci/hotplug/rpadlpar_sysfs.c: In function `dlpar_sysfs_init':
>>> drivers/pci/hotplug/rpadlpar_sysfs.c:142: error: structure has no member
>>> named `name'
>>> make[3]: *** [drivers/pci/hotplug/rpadlpar_sysfs.o] Error 1
>>> make[2]: *** [drivers/pci/hotplug] Error 2
>>> make[1]: *** [drivers/pci] Error 2
>>> make: *** [drivers] Error 2
>>>
>> This seems to be occuring across a number of the powerpc systems we test
>> with. That driver is a power dynamic lpar IO partitioning driver.
>>
>> Relevant Cc: added.
>>
>
> That's because somebody is breaking sysfs/kobject interfaces without
> fixing all users :-) (Fair enough... it's just that we need to make sure
> whoever takes care of that driver nowadays is aware of the breakage).
>
> Ben.
>
Hi Andrew,

Using the kobject_set_name function to set the kobject k_name.

Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
---
--- linux-2.6.23-rc6/drivers/pci/hotplug/rpadlpar_sysfs.c
2007-09-18 14:56:05.000000000 +0530
+++ linux-2.6.23-rc6/drivers/pci/hotplug/~rpadlpar_sysfs.c
2007-09-18 16:51:55.000000000 +0530
@@ -129,17 +129,17 @@ struct kobj_type ktype_dlpar_io = {
};

struct kset dlpar_io_kset = {
- .kobj = {.name = DLPAR_KOBJ_NAME,
- .ktype = &ktype_dlpar_io,
- .parent = &pci_hotplug_slots_subsys.kobj},
+ .kobj = {.ktype = &ktype_dlpar_io,
+ .parent = &pci_hotplug_slots_subsys.kobj},
.ktype = &ktype_dlpar_io,
};

int dlpar_sysfs_init(void)
{
+ kobject_set_name(&dlpar_io_kset.kobj, DLPAR_KOBJ_NAME);
if (kset_register(&dlpar_io_kset)) {
printk(KERN_ERR "rpadlpar_io: cannot register kset for
%s\n",
- dlpar_io_kset.kobj.name);
+ dlpar_io_kset.kobj.k_name);
return -EINVAL;
}

--
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.