smaster 290 arch/x86/platform/uv/tlb_uv.c struct bau_control *smaster = bcp->socket_master; smaster 319 arch/x86/platform/uv/tlb_uv.c sp = &smaster->socket_acknowledge_count[mdp->msg_slot]; smaster 347 arch/x86/platform/uv/tlb_uv.c static int pnode_to_first_cpu(int pnode, struct bau_control *smaster) smaster 353 arch/x86/platform/uv/tlb_uv.c hpp = &smaster->thp[cpu]; smaster 426 arch/x86/platform/uv/tlb_uv.c struct bau_control *smaster = bcp->socket_master; smaster 439 arch/x86/platform/uv/tlb_uv.c cpu = pnode_to_first_cpu(apnode, smaster); smaster 1995 arch/x86/platform/uv/tlb_uv.c static void make_per_cpu_thp(struct bau_control *smaster) smaster 2000 arch/x86/platform/uv/tlb_uv.c smaster->thp = kzalloc_node(hpsz, GFP_KERNEL, smaster->osnode); smaster 2002 arch/x86/platform/uv/tlb_uv.c smaster->thp[cpu].pnode = uv_cpu_hub_info(cpu)->pnode; smaster 2003 arch/x86/platform/uv/tlb_uv.c smaster->thp[cpu].uvhub = uv_cpu_hub_info(cpu)->numa_blade_id; smaster 2093 arch/x86/platform/uv/tlb_uv.c struct bau_control *smaster = NULL; smaster 2106 arch/x86/platform/uv/tlb_uv.c if (scan_sock(sdp, bdp, &smaster, &hmaster)) smaster 2108 arch/x86/platform/uv/tlb_uv.c make_per_cpu_thp(smaster); smaster 28 drivers/siox/siox-bus-gpio.c static int siox_gpio_pushpull(struct siox_master *smaster, smaster 32 drivers/siox/siox-bus-gpio.c struct siox_gpio_ddata *ddata = siox_master_get_devdata(smaster); smaster 92 drivers/siox/siox-bus-gpio.c struct siox_master *smaster; smaster 94 drivers/siox/siox-bus-gpio.c smaster = siox_master_alloc(&pdev->dev, sizeof(*ddata)); smaster 95 drivers/siox/siox-bus-gpio.c if (!smaster) { smaster 100 drivers/siox/siox-bus-gpio.c platform_set_drvdata(pdev, smaster); smaster 101 drivers/siox/siox-bus-gpio.c ddata = siox_master_get_devdata(smaster); smaster 131 drivers/siox/siox-bus-gpio.c smaster->pushpull = siox_gpio_pushpull; smaster 133 drivers/siox/siox-bus-gpio.c smaster->busno = 0; smaster 135 drivers/siox/siox-bus-gpio.c ret = siox_master_register(smaster); smaster 139 drivers/siox/siox-bus-gpio.c siox_master_put(smaster); smaster 41 drivers/siox/siox-core.c static void siox_master_lock(struct siox_master *smaster) smaster 43 drivers/siox/siox-core.c mutex_lock(&smaster->lock); smaster 46 drivers/siox/siox-core.c static void siox_master_unlock(struct siox_master *smaster) smaster 48 drivers/siox/siox-core.c mutex_unlock(&smaster->lock); smaster 128 drivers/siox/siox-core.c static void siox_poll(struct siox_master *smaster) smaster 131 drivers/siox/siox-core.c size_t i = smaster->setbuf_len; smaster 135 drivers/siox/siox-core.c smaster->last_poll = jiffies; smaster 147 drivers/siox/siox-core.c if (++smaster->status > 0x0d) smaster 148 drivers/siox/siox-core.c smaster->status = 0; smaster 150 drivers/siox/siox-core.c memset(smaster->buf, 0, smaster->setbuf_len); smaster 153 drivers/siox/siox-core.c list_for_each_entry(sdevice, &smaster->devices, node) { smaster 156 drivers/siox/siox-core.c sdevice->status_written = smaster->status; smaster 170 drivers/siox/siox-core.c &smaster->buf[i + 1]); smaster 178 drivers/siox/siox-core.c smaster->buf[i] = sdevice->status_written; smaster 180 drivers/siox/siox-core.c trace_siox_set_data(smaster, sdevice, devno, i); smaster 185 drivers/siox/siox-core.c smaster->pushpull(smaster, smaster->setbuf_len, smaster->buf, smaster 186 drivers/siox/siox-core.c smaster->getbuf_len, smaster 187 drivers/siox/siox-core.c smaster->buf + smaster->setbuf_len); smaster 193 drivers/siox/siox-core.c i = smaster->setbuf_len; smaster 194 drivers/siox/siox-core.c list_for_each_entry(sdevice, &smaster->devices, node) { smaster 197 drivers/siox/siox-core.c u8 status = smaster->buf[i + sdevice->outbytes - 1]; smaster 267 drivers/siox/siox-core.c trace_siox_get_data(smaster, sdevice, devno, status_clean, i); smaster 271 drivers/siox/siox-core.c sdriver->get_data(sdevice, &smaster->buf[i]); smaster 280 drivers/siox/siox-core.c struct siox_master *smaster = data; smaster 283 drivers/siox/siox-core.c get_device(&smaster->dev); smaster 287 drivers/siox/siox-core.c put_device(&smaster->dev); smaster 291 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 293 drivers/siox/siox-core.c if (smaster->active) { smaster 295 drivers/siox/siox-core.c smaster->last_poll + smaster->poll_interval; smaster 297 drivers/siox/siox-core.c siox_poll(smaster); smaster 299 drivers/siox/siox-core.c timeout = smaster->poll_interval - smaster 300 drivers/siox/siox-core.c (jiffies - smaster->last_poll); smaster 313 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 327 drivers/siox/siox-core.c static int __siox_start(struct siox_master *smaster) smaster 329 drivers/siox/siox-core.c if (!(smaster->setbuf_len + smaster->getbuf_len)) smaster 332 drivers/siox/siox-core.c if (!smaster->buf) smaster 335 drivers/siox/siox-core.c if (smaster->active) smaster 338 drivers/siox/siox-core.c smaster->active = 1; smaster 339 drivers/siox/siox-core.c wake_up_process(smaster->poll_thread); smaster 344 drivers/siox/siox-core.c static int siox_start(struct siox_master *smaster) smaster 348 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 349 drivers/siox/siox-core.c ret = __siox_start(smaster); smaster 350 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 355 drivers/siox/siox-core.c static int __siox_stop(struct siox_master *smaster) smaster 357 drivers/siox/siox-core.c if (smaster->active) { smaster 360 drivers/siox/siox-core.c smaster->active = 0; smaster 362 drivers/siox/siox-core.c list_for_each_entry(sdevice, &smaster->devices, node) { smaster 373 drivers/siox/siox-core.c static int siox_stop(struct siox_master *smaster) smaster 377 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 378 drivers/siox/siox-core.c ret = __siox_stop(smaster); smaster 379 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 420 drivers/siox/siox-core.c siox_master_lock(sdev->smaster); smaster 424 drivers/siox/siox-core.c siox_master_unlock(sdev->smaster); smaster 437 drivers/siox/siox-core.c siox_master_lock(sdev->smaster); smaster 441 drivers/siox/siox-core.c siox_master_unlock(sdev->smaster); smaster 454 drivers/siox/siox-core.c siox_master_lock(sdev->smaster); smaster 458 drivers/siox/siox-core.c siox_master_unlock(sdev->smaster); smaster 471 drivers/siox/siox-core.c siox_master_lock(sdev->smaster); smaster 475 drivers/siox/siox-core.c siox_master_unlock(sdev->smaster); smaster 553 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 555 drivers/siox/siox-core.c return sprintf(buf, "%d\n", smaster->active); smaster 562 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 571 drivers/siox/siox-core.c ret = siox_start(smaster); smaster 573 drivers/siox/siox-core.c ret = siox_stop(smaster); smaster 583 drivers/siox/siox-core.c static struct siox_device *siox_device_add(struct siox_master *smaster, smaster 591 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 605 drivers/siox/siox-core.c siox_device_add(smaster, "siox-12x8", inbytes, outbytes, statustype); smaster 612 drivers/siox/siox-core.c static void siox_device_remove(struct siox_master *smaster); smaster 618 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 621 drivers/siox/siox-core.c siox_device_remove(smaster); smaster 631 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 633 drivers/siox/siox-core.c return sprintf(buf, "%lld\n", jiffies_to_nsecs(smaster->poll_interval)); smaster 640 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 648 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 650 drivers/siox/siox-core.c smaster->poll_interval = nsecs_to_jiffies(val); smaster 652 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 670 drivers/siox/siox-core.c struct siox_master *smaster = to_siox_master(dev); smaster 672 drivers/siox/siox-core.c kfree(smaster); smaster 683 drivers/siox/siox-core.c struct siox_master *smaster; smaster 688 drivers/siox/siox-core.c smaster = kzalloc(sizeof(*smaster) + size, GFP_KERNEL); smaster 689 drivers/siox/siox-core.c if (!smaster) smaster 692 drivers/siox/siox-core.c device_initialize(&smaster->dev); smaster 694 drivers/siox/siox-core.c smaster->busno = -1; smaster 695 drivers/siox/siox-core.c smaster->dev.bus = &siox_bus_type; smaster 696 drivers/siox/siox-core.c smaster->dev.type = &siox_master_type; smaster 697 drivers/siox/siox-core.c smaster->dev.parent = dev; smaster 698 drivers/siox/siox-core.c smaster->poll_interval = DIV_ROUND_UP(HZ, 40); smaster 700 drivers/siox/siox-core.c dev_set_drvdata(&smaster->dev, &smaster[1]); smaster 702 drivers/siox/siox-core.c return smaster; smaster 706 drivers/siox/siox-core.c int siox_master_register(struct siox_master *smaster) smaster 713 drivers/siox/siox-core.c if (!smaster->pushpull) smaster 716 drivers/siox/siox-core.c dev_set_name(&smaster->dev, "siox-%d", smaster->busno); smaster 718 drivers/siox/siox-core.c mutex_init(&smaster->lock); smaster 719 drivers/siox/siox-core.c INIT_LIST_HEAD(&smaster->devices); smaster 721 drivers/siox/siox-core.c smaster->last_poll = jiffies; smaster 722 drivers/siox/siox-core.c smaster->poll_thread = kthread_run(siox_poll_thread, smaster, smaster 723 drivers/siox/siox-core.c "siox-%d", smaster->busno); smaster 724 drivers/siox/siox-core.c if (IS_ERR(smaster->poll_thread)) { smaster 725 drivers/siox/siox-core.c smaster->active = 0; smaster 726 drivers/siox/siox-core.c return PTR_ERR(smaster->poll_thread); smaster 729 drivers/siox/siox-core.c ret = device_add(&smaster->dev); smaster 731 drivers/siox/siox-core.c kthread_stop(smaster->poll_thread); smaster 737 drivers/siox/siox-core.c void siox_master_unregister(struct siox_master *smaster) smaster 740 drivers/siox/siox-core.c device_del(&smaster->dev); smaster 742 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 744 drivers/siox/siox-core.c __siox_stop(smaster); smaster 746 drivers/siox/siox-core.c while (smaster->num_devices) { smaster 749 drivers/siox/siox-core.c sdevice = container_of(smaster->devices.prev, smaster 752 drivers/siox/siox-core.c smaster->num_devices--; smaster 754 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 758 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 761 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 763 drivers/siox/siox-core.c put_device(&smaster->dev); smaster 767 drivers/siox/siox-core.c static struct siox_device *siox_device_add(struct siox_master *smaster, smaster 784 drivers/siox/siox-core.c sdevice->smaster = smaster; smaster 785 drivers/siox/siox-core.c sdevice->dev.parent = &smaster->dev; smaster 789 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 792 drivers/siox/siox-core.c smaster->busno, smaster->num_devices); smaster 794 drivers/siox/siox-core.c buf_len = smaster->setbuf_len + inbytes + smaster 795 drivers/siox/siox-core.c smaster->getbuf_len + outbytes; smaster 796 drivers/siox/siox-core.c if (smaster->buf_len < buf_len) { smaster 797 drivers/siox/siox-core.c u8 *buf = krealloc(smaster->buf, buf_len, GFP_KERNEL); smaster 800 drivers/siox/siox-core.c dev_err(&smaster->dev, smaster 806 drivers/siox/siox-core.c smaster->buf_len = buf_len; smaster 807 drivers/siox/siox-core.c smaster->buf = buf; smaster 812 drivers/siox/siox-core.c dev_err(&smaster->dev, "failed to register device: %d\n", ret); smaster 817 drivers/siox/siox-core.c smaster->num_devices++; smaster 818 drivers/siox/siox-core.c list_add_tail(&sdevice->node, &smaster->devices); smaster 820 drivers/siox/siox-core.c smaster->setbuf_len += sdevice->inbytes; smaster 821 drivers/siox/siox-core.c smaster->getbuf_len += sdevice->outbytes; smaster 832 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 840 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 847 drivers/siox/siox-core.c static void siox_device_remove(struct siox_master *smaster) smaster 851 drivers/siox/siox-core.c siox_master_lock(smaster); smaster 853 drivers/siox/siox-core.c if (!smaster->num_devices) { smaster 854 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 858 drivers/siox/siox-core.c sdevice = container_of(smaster->devices.prev, struct siox_device, node); smaster 860 drivers/siox/siox-core.c smaster->num_devices--; smaster 862 drivers/siox/siox-core.c smaster->setbuf_len -= sdevice->inbytes; smaster 863 drivers/siox/siox-core.c smaster->getbuf_len -= sdevice->outbytes; smaster 865 drivers/siox/siox-core.c if (!smaster->num_devices) smaster 866 drivers/siox/siox-core.c __siox_stop(smaster); smaster 868 drivers/siox/siox-core.c siox_master_unlock(smaster); smaster 13 drivers/siox/siox.h int (*pushpull)(struct siox_master *smaster, smaster 37 drivers/siox/siox.h static inline void *siox_master_get_devdata(struct siox_master *smaster) smaster 39 drivers/siox/siox.h return dev_get_drvdata(&smaster->dev); smaster 43 drivers/siox/siox.h static inline void siox_master_put(struct siox_master *smaster) smaster 45 drivers/siox/siox.h put_device(&smaster->dev); smaster 48 drivers/siox/siox.h int siox_master_register(struct siox_master *smaster); smaster 49 drivers/siox/siox.h void siox_master_unregister(struct siox_master *smaster); smaster 11 include/linux/siox.h struct siox_master *smaster; smaster 10 include/trace/events/siox.h TP_PROTO(const struct siox_master *smaster, smaster 13 include/trace/events/siox.h TP_ARGS(smaster, sdevice, devno, bufoffset), smaster 21 include/trace/events/siox.h __entry->busno = smaster->busno; smaster 25 include/trace/events/siox.h smaster->buf + bufoffset, sdevice->inbytes); smaster 35 include/trace/events/siox.h TP_PROTO(const struct siox_master *smaster, smaster 39 include/trace/events/siox.h TP_ARGS(smaster, sdevice, devno, status_clean, bufoffset), smaster 48 include/trace/events/siox.h __entry->busno = smaster->busno; smaster 53 include/trace/events/siox.h smaster->buf + bufoffset, sdevice->outbytes);