/* NOTE: Assumes wusbhc->usb_hcd has been already added by the upper layer (hwahc or whci)  */
int wusbhc_b_create(struct wusbhc *wusbhc)
/* NOTE: Assumes wusbhc->usb_hcd has been already added by the upper layer (hwahc or whci)  */
int wusbhc_b_create(struct wusbhc *wusbhc)
{
	int result = 0;
	struct device *dev = wusbhc->usb_hcd.self.controller;
	result = sysfs_create_group(wusbhc_kobj(wusbhc), &wusbhc_attr_group);
	if (result < 0) {
		dev_err(dev, "Cannot register WUSBHC attributes: %d\n", result);
		goto error_create_attr_group;
	}
	result = wusbhc_pal_register(wusbhc);
	if (result < 0)
		goto error_pal_register;
	return 0;
error_pal_register:
	sysfs_remove_group(wusbhc_kobj(wusbhc), &wusbhc_attr_group);
error_create_attr_group:
	return result;
}