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,