Lines Matching defs:ad
64 acpi_wakedev_init(struct acpi_devnode *ad)
72 KASSERT(ad != NULL && ad->ad_wakedev == NULL);
73 KASSERT(ad->ad_devinfo->Type == ACPI_TYPE_DEVICE);
75 rv = acpi_eval_struct(ad->ad_handle, "_PRW", &buf);
132 ad->ad_wakedev = kmem_zalloc(sizeof(*ad->ad_wakedev), KM_SLEEP);
133 ad->ad_wakedev->aw_handle = hdl;
134 ad->ad_wakedev->aw_number = val;
144 ad->ad_wakedev->aw_state = elm->Integer.Value;
150 acpi_wakedev_power_add(ad, obj);
156 rv = AcpiSetupGpeForWake(ad->ad_handle, hdl, val);
166 aprint_error_dev(ad->ad_root, "failed to evaluate _PRW "
167 "for %s: %s\n", ad->ad_name, AcpiFormatException(rv));
171 acpi_wakedev_power_add(struct acpi_devnode *ad, ACPI_OBJECT *obj)
173 struct acpi_wakedev *aw = ad->ad_wakedev;
195 ad->ad_wakedev->aw_power[j] = hdl;
200 acpi_wakedev_power_set(struct acpi_devnode *ad, bool enable)
202 struct acpi_wakedev *aw = ad->ad_wakedev;
210 (void)acpi_power_res(aw->aw_power[i], ad->ad_handle, enable);
215 acpi_wakedev_add(struct acpi_devnode *ad)
221 KASSERT(ad != NULL && ad->ad_wakedev != NULL);
222 KASSERT((ad->ad_flags & ACPI_DEVICE_WAKEUP) != 0);
224 aw = ad->ad_wakedev;
227 if (acpi_match_hid(ad->ad_devinfo, acpi_wakedev_default))
234 if (ad->ad_device != NULL)
235 str = device_xname(ad->ad_device);
238 device_t dev = acpi_pcidev_find_dev(ad);
255 aprint_error_dev(ad->ad_root, "sysctl_createv"
289 struct acpi_devnode *ad;
302 SIMPLEQ_FOREACH(ad, &sc->sc_head, ad_list) {
304 if (ad->ad_wakedev == NULL)
307 if (state > ad->ad_wakedev->aw_state)
310 hdl = ad->ad_wakedev->aw_handle;
311 val = ad->ad_wakedev->aw_number;
324 acpi_wakedev_power_set(ad, true);
325 acpi_wakedev_method(ad, state);
330 acpi_wakedev_method(struct acpi_devnode *ad, int state)
332 const bool enable = ad->ad_wakedev->aw_enable;
363 rv = AcpiEvaluateObject(ad->ad_handle, "_DSW", &arg, NULL);
371 rv = acpi_eval_set_integer(ad->ad_handle, "_PSW", enable);
379 aprint_error_dev(ad->ad_root, "failed to evaluate wake "