scsi: core: raid_class: Remove raid_component_add()

The raid_component_add() function was added to the kernel tree via patch
"[SCSI] embryonic RAID class" (2005). Remove this function since it never
has had any callers in the Linux kernel. And also raid_component_release()
is only used in raid_component_add(), so it is also removed.

Signed-off-by: Zhu Wang <wangzhu9@huawei.com>
Link: https://lore.kernel.org/r/20230822015254.184270-1-wangzhu9@huawei.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Fixes: 04b5b5cb0136 ("scsi: core: Fix possible memory leak if device_add() fails")
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by Zhu Wang and committed by Martin K. Petersen 60c5fd2e c422fbd5

Changed files
-52
drivers
include
linux
-48
drivers/scsi/raid_class.c
··· 209 209 raid_attr_ro_fn(resync); 210 210 raid_attr_ro_state_fn(state); 211 211 212 - static void raid_component_release(struct device *dev) 213 - { 214 - struct raid_component *rc = 215 - container_of(dev, struct raid_component, dev); 216 - dev_printk(KERN_ERR, rc->dev.parent, "COMPONENT RELEASE\n"); 217 - put_device(rc->dev.parent); 218 - kfree(rc); 219 - } 220 - 221 - int raid_component_add(struct raid_template *r,struct device *raid_dev, 222 - struct device *component_dev) 223 - { 224 - struct device *cdev = 225 - attribute_container_find_class_device(&r->raid_attrs.ac, 226 - raid_dev); 227 - struct raid_component *rc; 228 - struct raid_data *rd = dev_get_drvdata(cdev); 229 - int err; 230 - 231 - rc = kzalloc(sizeof(*rc), GFP_KERNEL); 232 - if (!rc) 233 - return -ENOMEM; 234 - 235 - INIT_LIST_HEAD(&rc->node); 236 - device_initialize(&rc->dev); 237 - rc->dev.release = raid_component_release; 238 - rc->dev.parent = get_device(component_dev); 239 - rc->num = rd->component_count++; 240 - 241 - dev_set_name(&rc->dev, "component-%d", rc->num); 242 - list_add_tail(&rc->node, &rd->component_list); 243 - rc->dev.class = &raid_class.class; 244 - err = device_add(&rc->dev); 245 - if (err) 246 - goto err_out; 247 - 248 - return 0; 249 - 250 - err_out: 251 - put_device(&rc->dev); 252 - list_del(&rc->node); 253 - rd->component_count--; 254 - put_device(component_dev); 255 - kfree(rc); 256 - return err; 257 - } 258 - EXPORT_SYMBOL(raid_component_add); 259 - 260 212 struct raid_template * 261 213 raid_class_attach(struct raid_function_template *ft) 262 214 {
-4
include/linux/raid_class.h
··· 77 77 78 78 struct raid_template *raid_class_attach(struct raid_function_template *); 79 79 void raid_class_release(struct raid_template *); 80 - 81 - int __must_check raid_component_add(struct raid_template *, struct device *, 82 - struct device *); 83 -