Symbol: dpio
usr/src/uts/common/io/gpio/kgpio.c
1100
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
1141
dpio = minor->kminor_data.kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
1142
mutex_enter(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1159
if ((dpio->dpio_flags & DPIO_F_KERNEL) != 0 &&
usr/src/uts/common/io/gpio/kgpio.c
1161
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1166
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1170
if ((dpio->dpio_status & DPIO_S_EXCL) != 0) {
usr/src/uts/common/io/gpio/kgpio.c
1171
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1176
if ((dpio->dpio_status & DPIO_S_OPEN) != 0) {
usr/src/uts/common/io/gpio/kgpio.c
1177
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1180
dpio->dpio_status |= DPIO_S_EXCL;
usr/src/uts/common/io/gpio/kgpio.c
1183
dpio->dpio_status |= DPIO_S_OPEN;
usr/src/uts/common/io/gpio/kgpio.c
1184
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1394
for (dpio_t *dpio = list_head(&kgpio_g_dpios); dpio != NULL;
usr/src/uts/common/io/gpio/kgpio.c
1395
dpio = list_next(&kgpio_g_dpios, dpio)) {
usr/src/uts/common/io/gpio/kgpio.c
1396
if (dpio->dpio_kgpio == kgpio &&
usr/src/uts/common/io/gpio/kgpio.c
1397
dpio->dpio_gpio_num == kgu.kgu_id) {
usr/src/uts/common/io/gpio/kgpio.c
1634
for (dpio_t *dpio = list_head(&kgpio_g_dpios); dpio != NULL;
usr/src/uts/common/io/gpio/kgpio.c
1635
dpio = list_next(&kgpio_g_dpios, dpio)) {
usr/src/uts/common/io/gpio/kgpio.c
1636
if (dpio->dpio_kgpio == kgpio &&
usr/src/uts/common/io/gpio/kgpio.c
1637
dpio->dpio_gpio_num == create.kdc_id) {
usr/src/uts/common/io/gpio/kgpio.c
1642
if (strcmp(name, dpio->dpio_name) == 0) {
usr/src/uts/common/io/gpio/kgpio.c
1648
dpio_t *dpio = kmem_zalloc(sizeof (dpio_t), KM_NOSLEEP_LAZY);
usr/src/uts/common/io/gpio/kgpio.c
1649
if (dpio == NULL) {
usr/src/uts/common/io/gpio/kgpio.c
1654
dpio->dpio_kgpio = kgpio;
usr/src/uts/common/io/gpio/kgpio.c
1655
dpio->dpio_gpio_num = create.kdc_id;
usr/src/uts/common/io/gpio/kgpio.c
1656
dpio->dpio_caps = caps;
usr/src/uts/common/io/gpio/kgpio.c
1658
dpio->dpio_flags |= DPIO_F_KERNEL;
usr/src/uts/common/io/gpio/kgpio.c
1665
bcopy(name, dpio->dpio_name, namelen);
usr/src/uts/common/io/gpio/kgpio.c
1666
mutex_init(&dpio->dpio_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/io/gpio/kgpio.c
1668
dpio->dpio_minor.kminor_id = id_alloc_nosleep(kgpio_g_ids);
usr/src/uts/common/io/gpio/kgpio.c
1669
if (dpio->dpio_minor.kminor_id == -1) {
usr/src/uts/common/io/gpio/kgpio.c
1671
kgpio_dpio_cleanup(dpio);
usr/src/uts/common/io/gpio/kgpio.c
1674
dpio->dpio_minor.kminor_type = KGPIO_MINOR_T_DPIO;
usr/src/uts/common/io/gpio/kgpio.c
1675
dpio->dpio_minor.kminor_data.kminor_dpio = dpio;
usr/src/uts/common/io/gpio/kgpio.c
1677
if (ddi_create_minor_node(kgpio_g_dip, dpio->dpio_name, S_IFCHR,
usr/src/uts/common/io/gpio/kgpio.c
1678
(minor_t)dpio->dpio_minor.kminor_id, DDI_NT_GPIO_DPIO, 0) !=
usr/src/uts/common/io/gpio/kgpio.c
1681
kgpio_dpio_cleanup(dpio);
usr/src/uts/common/io/gpio/kgpio.c
1685
list_insert_tail(&kgpio_g_dpios, dpio);
usr/src/uts/common/io/gpio/kgpio.c
1686
avl_add(&kgpio_g_minors, &dpio->dpio_minor);
usr/src/uts/common/io/gpio/kgpio.c
1705
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
1725
for (dpio = list_head(&kgpio_g_dpios); dpio != NULL;
usr/src/uts/common/io/gpio/kgpio.c
1726
dpio = list_next(&kgpio_g_dpios, dpio)) {
usr/src/uts/common/io/gpio/kgpio.c
1727
if (dpio->dpio_kgpio == kgpio &&
usr/src/uts/common/io/gpio/kgpio.c
1728
dpio->dpio_gpio_num == destroy.kdd_id) {
usr/src/uts/common/io/gpio/kgpio.c
1733
if (dpio == NULL) {
usr/src/uts/common/io/gpio/kgpio.c
1739
if ((dpio->dpio_status & DPIO_S_OPEN) != 0) {
usr/src/uts/common/io/gpio/kgpio.c
1749
list_remove(&kgpio_g_dpios, dpio);
usr/src/uts/common/io/gpio/kgpio.c
1750
avl_remove(&kgpio_g_minors, &dpio->dpio_minor);
usr/src/uts/common/io/gpio/kgpio.c
1764
kgpio_dpio_cleanup(dpio);
usr/src/uts/common/io/gpio/kgpio.c
1776
kgpio_ioctl_dpio_info_common(const dpio_t *dpio, dpio_info_t *infop,
usr/src/uts/common/io/gpio/kgpio.c
1783
bcopy(dpio->dpio_kgpio->kgpio_mname, infop->dpi_ctrl,
usr/src/uts/common/io/gpio/kgpio.c
1784
sizeof (dpio->dpio_kgpio->kgpio_mname));
usr/src/uts/common/io/gpio/kgpio.c
1785
infop->dpi_gpio = dpio->dpio_gpio_num;
usr/src/uts/common/io/gpio/kgpio.c
1786
infop->dpi_caps = dpio->dpio_caps;
usr/src/uts/common/io/gpio/kgpio.c
1787
infop->dpi_flags = dpio->dpio_flags;
usr/src/uts/common/io/gpio/kgpio.c
1798
kgpio_ioctl_dpio_info_specific(dpio_t *dpio, intptr_t arg, int mode)
usr/src/uts/common/io/gpio/kgpio.c
1802
ASSERT(MUTEX_HELD(&dpio->dpio_mutex));
usr/src/uts/common/io/gpio/kgpio.c
1805
bcopy(dpio->dpio_name, info.dpi_dpio, sizeof (dpio->dpio_name));
usr/src/uts/common/io/gpio/kgpio.c
1806
return (kgpio_ioctl_dpio_info_common(dpio, &info, arg, mode));
usr/src/uts/common/io/gpio/kgpio.c
1810
kgpio_ioctl_dpio_time(dpio_t *dpio, intptr_t arg, int mode)
usr/src/uts/common/io/gpio/kgpio.c
1814
ASSERT(MUTEX_HELD(&dpio->dpio_mutex));
usr/src/uts/common/io/gpio/kgpio.c
1821
time.dpt_last_input_intr = dpio->dpio_last_intr;
usr/src/uts/common/io/gpio/kgpio.c
1822
time.dpt_last_write = dpio->dpio_last_write;
usr/src/uts/common/io/gpio/kgpio.c
1833
kgpio_ioctl_dpio_curout(dpio_t *dpio, intptr_t arg, int mode)
usr/src/uts/common/io/gpio/kgpio.c
1837
kgpio_t *kgpio = dpio->dpio_kgpio;
usr/src/uts/common/io/gpio/kgpio.c
1839
ASSERT(MUTEX_HELD(&dpio->dpio_mutex));
usr/src/uts/common/io/gpio/kgpio.c
1846
if ((dpio->dpio_caps & DPIO_C_WRITE) == 0) {
usr/src/uts/common/io/gpio/kgpio.c
1850
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1853
dpio->dpio_gpio_num, &curout.dps_curout);
usr/src/uts/common/io/gpio/kgpio.c
1855
mutex_enter(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1888
for (dpio_t *dpio = list_head(&kgpio_g_dpios); dpio != NULL;
usr/src/uts/common/io/gpio/kgpio.c
1889
dpio = list_next(&kgpio_g_dpios, dpio)) {
usr/src/uts/common/io/gpio/kgpio.c
1890
if (strcmp(dpio->dpio_name, info.dpi_dpio) == 0) {
usr/src/uts/common/io/gpio/kgpio.c
1891
return (kgpio_ioctl_dpio_info_common(dpio, &info, arg,
usr/src/uts/common/io/gpio/kgpio.c
1941
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
1983
dpio = minor->kminor_data.kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
1984
VERIFY3P(dpio, !=, NULL);
usr/src/uts/common/io/gpio/kgpio.c
1985
mutex_enter(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
1990
ret = kgpio_ioctl_dpio_info_specific(dpio, arg, mode);
usr/src/uts/common/io/gpio/kgpio.c
1993
ret = kgpio_ioctl_dpio_time(dpio, arg, mode);
usr/src/uts/common/io/gpio/kgpio.c
1996
ret = kgpio_ioctl_dpio_curout(dpio, arg, mode);
usr/src/uts/common/io/gpio/kgpio.c
2002
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
2027
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
2041
dpio = minor->kminor_data.kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
2042
VERIFY3P(dpio, !=, NULL);
usr/src/uts/common/io/gpio/kgpio.c
2045
if ((dpio->dpio_caps & DPIO_C_READ) == 0) {
usr/src/uts/common/io/gpio/kgpio.c
2057
kgpio = dpio->dpio_kgpio;
usr/src/uts/common/io/gpio/kgpio.c
2059
ret = kgpio->kgpio_ops->kgo_input(kgpio->kgpio_drv, dpio->dpio_gpio_num,
usr/src/uts/common/io/gpio/kgpio.c
2078
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
2092
dpio = minor->kminor_data.kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
2093
VERIFY3P(dpio, !=, NULL);
usr/src/uts/common/io/gpio/kgpio.c
2096
if ((dpio->dpio_caps & DPIO_C_WRITE) == 0) {
usr/src/uts/common/io/gpio/kgpio.c
2120
kgpio = dpio->dpio_kgpio;
usr/src/uts/common/io/gpio/kgpio.c
2123
dpio->dpio_gpio_num, output);
usr/src/uts/common/io/gpio/kgpio.c
2127
mutex_enter(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
2128
dpio->dpio_last_write = gethrtime();
usr/src/uts/common/io/gpio/kgpio.c
2129
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
2140
dpio_t *dpio;
usr/src/uts/common/io/gpio/kgpio.c
2170
dpio = minor->kminor_data.kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
2171
VERIFY3P(dpio, !=, NULL);
usr/src/uts/common/io/gpio/kgpio.c
2172
mutex_enter(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
2181
dpio->dpio_status &= ~(DPIO_S_EXCL | DPIO_S_OPEN);
usr/src/uts/common/io/gpio/kgpio.c
2182
mutex_exit(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
548
struct dpio;
usr/src/uts/common/io/gpio/kgpio.c
571
struct dpio *kminor_dpio;
usr/src/uts/common/io/gpio/kgpio.c
696
kgpio_dpio_cleanup(dpio_t *dpio)
usr/src/uts/common/io/gpio/kgpio.c
698
if (dpio->dpio_minor.kminor_id > 0) {
usr/src/uts/common/io/gpio/kgpio.c
699
id_free(kgpio_g_ids, dpio->dpio_minor.kminor_id);
usr/src/uts/common/io/gpio/kgpio.c
700
dpio->dpio_minor.kminor_id = 0;
usr/src/uts/common/io/gpio/kgpio.c
702
ddi_remove_minor_node(kgpio_g_dip, dpio->dpio_name);
usr/src/uts/common/io/gpio/kgpio.c
703
mutex_destroy(&dpio->dpio_mutex);
usr/src/uts/common/io/gpio/kgpio.c
704
kmem_free(dpio, sizeof (dpio_t));