sbdev              20 drivers/slimbus/core.c 					       const struct slim_device *sbdev)
sbdev              23 drivers/slimbus/core.c 		if (id->manf_id == sbdev->e_addr.manf_id &&
sbdev              24 drivers/slimbus/core.c 		    id->prod_code == sbdev->e_addr.prod_code &&
sbdev              25 drivers/slimbus/core.c 		    id->dev_index == sbdev->e_addr.dev_index &&
sbdev              26 drivers/slimbus/core.c 		    id->instance == sbdev->e_addr.instance)
sbdev              35 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev              42 drivers/slimbus/core.c 	return !!slim_match(sbdrv->id_table, sbdev);
sbdev              45 drivers/slimbus/core.c static void slim_device_update_status(struct slim_device *sbdev,
sbdev              50 drivers/slimbus/core.c 	if (sbdev->status == status)
sbdev              53 drivers/slimbus/core.c 	sbdev->status = status;
sbdev              54 drivers/slimbus/core.c 	if (!sbdev->dev.driver)
sbdev              57 drivers/slimbus/core.c 	sbdrv = to_slim_driver(sbdev->dev.driver);
sbdev              59 drivers/slimbus/core.c 		sbdrv->device_status(sbdev, sbdev->status);
sbdev              64 drivers/slimbus/core.c 	struct slim_device	*sbdev = to_slim_device(dev);
sbdev              68 drivers/slimbus/core.c 	ret = sbdrv->probe(sbdev);
sbdev              73 drivers/slimbus/core.c 	ret = slim_get_logical_addr(sbdev);
sbdev              75 drivers/slimbus/core.c 		slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_UP);
sbdev              77 drivers/slimbus/core.c 		dev_err(&sbdev->dev, "Failed to get logical address\n");
sbdev              86 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev              92 drivers/slimbus/core.c 			sbdrv->remove(sbdev);
sbdev             100 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev             102 drivers/slimbus/core.c 	return add_uevent_var(env, "MODALIAS=slim:%s", dev_name(&sbdev->dev));
sbdev             149 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev             151 drivers/slimbus/core.c 	kfree(sbdev);
sbdev             155 drivers/slimbus/core.c 			   struct slim_device *sbdev,
sbdev             158 drivers/slimbus/core.c 	sbdev->dev.bus = &slimbus_bus;
sbdev             159 drivers/slimbus/core.c 	sbdev->dev.parent = ctrl->dev;
sbdev             160 drivers/slimbus/core.c 	sbdev->dev.release = slim_dev_release;
sbdev             161 drivers/slimbus/core.c 	sbdev->dev.driver = NULL;
sbdev             162 drivers/slimbus/core.c 	sbdev->ctrl = ctrl;
sbdev             163 drivers/slimbus/core.c 	INIT_LIST_HEAD(&sbdev->stream_list);
sbdev             164 drivers/slimbus/core.c 	spin_lock_init(&sbdev->stream_list_lock);
sbdev             167 drivers/slimbus/core.c 		sbdev->dev.of_node = of_node_get(node);
sbdev             169 drivers/slimbus/core.c 	dev_set_name(&sbdev->dev, "%x:%x:%x:%x",
sbdev             170 drivers/slimbus/core.c 				  sbdev->e_addr.manf_id,
sbdev             171 drivers/slimbus/core.c 				  sbdev->e_addr.prod_code,
sbdev             172 drivers/slimbus/core.c 				  sbdev->e_addr.dev_index,
sbdev             173 drivers/slimbus/core.c 				  sbdev->e_addr.instance);
sbdev             175 drivers/slimbus/core.c 	return device_register(&sbdev->dev);
sbdev             182 drivers/slimbus/core.c 	struct slim_device *sbdev;
sbdev             185 drivers/slimbus/core.c 	sbdev = kzalloc(sizeof(*sbdev), GFP_KERNEL);
sbdev             186 drivers/slimbus/core.c 	if (!sbdev)
sbdev             189 drivers/slimbus/core.c 	sbdev->e_addr = *eaddr;
sbdev             190 drivers/slimbus/core.c 	ret = slim_add_device(ctrl, sbdev, node);
sbdev             192 drivers/slimbus/core.c 		put_device(&sbdev->dev);
sbdev             196 drivers/slimbus/core.c 	return sbdev;
sbdev             208 drivers/slimbus/core.c 		struct slim_device *sbdev;
sbdev             237 drivers/slimbus/core.c 		sbdev = slim_alloc_device(ctrl, &e_addr, node);
sbdev             238 drivers/slimbus/core.c 		if (!sbdev)
sbdev             284 drivers/slimbus/core.c static void slim_remove_device(struct slim_device *sbdev)
sbdev             286 drivers/slimbus/core.c 	device_unregister(&sbdev->dev);
sbdev             318 drivers/slimbus/core.c void slim_report_absent(struct slim_device *sbdev)
sbdev             320 drivers/slimbus/core.c 	struct slim_controller *ctrl = sbdev->ctrl;
sbdev             327 drivers/slimbus/core.c 	sbdev->is_laddr_valid = false;
sbdev             330 drivers/slimbus/core.c 	ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr);
sbdev             331 drivers/slimbus/core.c 	slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_DOWN);
sbdev             346 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev             348 drivers/slimbus/core.c 	return slim_eaddr_equal(&sbdev->e_addr, e_addr);
sbdev             354 drivers/slimbus/core.c 	struct slim_device *sbdev;
sbdev             359 drivers/slimbus/core.c 		sbdev = to_slim_device(dev);
sbdev             360 drivers/slimbus/core.c 		return sbdev;
sbdev             378 drivers/slimbus/core.c 	struct slim_device *sbdev;
sbdev             380 drivers/slimbus/core.c 	sbdev = find_slim_device(ctrl, e_addr);
sbdev             381 drivers/slimbus/core.c 	if (!sbdev) {
sbdev             382 drivers/slimbus/core.c 		sbdev = slim_alloc_device(ctrl, e_addr, NULL);
sbdev             383 drivers/slimbus/core.c 		if (!sbdev)
sbdev             387 drivers/slimbus/core.c 	return sbdev;
sbdev             394 drivers/slimbus/core.c 	struct slim_device *sbdev = to_slim_device(dev);
sbdev             396 drivers/slimbus/core.c 	return (sbdev->dev.of_node == np);
sbdev             402 drivers/slimbus/core.c 	struct slim_device *sbdev;
sbdev             407 drivers/slimbus/core.c 		sbdev = to_slim_device(dev);
sbdev             408 drivers/slimbus/core.c 		return sbdev;
sbdev             430 drivers/slimbus/core.c static int slim_device_alloc_laddr(struct slim_device *sbdev,
sbdev             433 drivers/slimbus/core.c 	struct slim_controller *ctrl = sbdev->ctrl;
sbdev             439 drivers/slimbus/core.c 		ret = ctrl->get_laddr(ctrl, &sbdev->e_addr, &laddr);
sbdev             455 drivers/slimbus/core.c 		ret = ctrl->set_laddr(ctrl, &sbdev->e_addr, laddr);
sbdev             462 drivers/slimbus/core.c 	sbdev->laddr = laddr;
sbdev             463 drivers/slimbus/core.c 	sbdev->is_laddr_valid = true;
sbdev             466 drivers/slimbus/core.c 	slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_UP);
sbdev             469 drivers/slimbus/core.c 		laddr, sbdev->e_addr.manf_id, sbdev->e_addr.prod_code,
sbdev             470 drivers/slimbus/core.c 		sbdev->e_addr.dev_index, sbdev->e_addr.instance);
sbdev             495 drivers/slimbus/core.c 	struct slim_device *sbdev;
sbdev             506 drivers/slimbus/core.c 	sbdev = slim_get_device(ctrl, e_addr);
sbdev             507 drivers/slimbus/core.c 	if (IS_ERR(sbdev))
sbdev             510 drivers/slimbus/core.c 	if (sbdev->is_laddr_valid) {
sbdev             511 drivers/slimbus/core.c 		*laddr = sbdev->laddr;
sbdev             515 drivers/slimbus/core.c 	ret = slim_device_alloc_laddr(sbdev, true);
sbdev             532 drivers/slimbus/core.c int slim_get_logical_addr(struct slim_device *sbdev)
sbdev             534 drivers/slimbus/core.c 	if (!sbdev->is_laddr_valid)
sbdev             535 drivers/slimbus/core.c 		return slim_device_alloc_laddr(sbdev, false);
sbdev             232 drivers/slimbus/messaging.c int slim_xfer_msg(struct slim_device *sbdev, struct slim_val_inf *msg,
sbdev             235 drivers/slimbus/messaging.c 	DEFINE_SLIM_LDEST_TXN(txn_stack, mc, 6, sbdev->laddr, msg);
sbdev             237 drivers/slimbus/messaging.c 	struct slim_controller *ctrl = sbdev->ctrl;
sbdev            1136 drivers/slimbus/qcom-ngd-ctrl.c 	struct slim_device *sbdev;
sbdev            1140 drivers/slimbus/qcom-ngd-ctrl.c 		sbdev = of_slim_get_device(&ctrl->ctrl, node);
sbdev            1141 drivers/slimbus/qcom-ngd-ctrl.c 		if (!sbdev)
sbdev            1144 drivers/slimbus/qcom-ngd-ctrl.c 		if (slim_get_logical_addr(sbdev))
sbdev             427 drivers/slimbus/slimbus.h void slim_report_absent(struct slim_device *sbdev);
sbdev             179 include/linux/slimbus.h int slim_get_logical_addr(struct slim_device *sbdev);
sbdev             194 include/linux/slimbus.h int slim_xfer_msg(struct slim_device *sbdev, struct slim_val_inf *msg,