| 233 | } |
| 234 | |
| 235 | static void |
| 236 | devclass_sysctl_init(devclass_t dc) |
| 237 | { |
| 238 | if (dc->sysctl_tree != NULL) |
| 239 | return; |
| 240 | sysctl_ctx_init(&dc->sysctl_ctx); |
| 241 | dc->sysctl_tree = SYSCTL_ADD_NODE(&dc->sysctl_ctx, |
| 242 | SYSCTL_STATIC_CHILDREN(_dev), OID_AUTO, dc->name, |
| 243 | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, ""); |
| 244 | SYSCTL_ADD_PROC(&dc->sysctl_ctx, SYSCTL_CHILDREN(dc->sysctl_tree), |
| 245 | OID_AUTO, "%parent", |
| 246 | CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, |
| 247 | dc, DEVCLASS_SYSCTL_PARENT, devclass_sysctl_handler, "A", |
| 248 | "parent class"); |
| 249 | } |
| 250 | |
| 251 | enum { |
| 252 | DEVICE_SYSCTL_DESC, |
no test coverage detected